diff --git a/package-lock.json b/package-lock.json index 8e65d07..75016f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,25 +1,25 @@ { "name": "kutt", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { "@fimbul/bifrost": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.15.0.tgz", - "integrity": "sha512-sHTwnwA9YhxcVEJkBlfKH1KLmGQGnNYPxk+09w5NnkXelYiiP8a5f351weYfxG0CUPLt1Fgkha20Y/9+jhjn/Q==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz", + "integrity": "sha512-gVTkJAOef5HtN6LPmrtt5fAUmBywwlgmObsU3FBhPoNeXPLaIl2zywXkJEtvvVLQnaFmtff3x+wIj5lHRCDE3Q==", "dev": true, "requires": { - "@fimbul/ymir": "^0.15.0", + "@fimbul/ymir": "^0.17.0", "get-caller-file": "^2.0.0", "tslib": "^1.8.1", - "tsutils": "^3.1.0" + "tsutils": "^3.5.0" }, "dependencies": { "tsutils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.4.0.tgz", - "integrity": "sha512-lJOYR+rsCnso8k7C/D1IVSgOmJS9Ds8U4P2H7CxBtTf1w227Zg2nk+Fod8AsUzu3msg8AjZVsNBJb5QgCZsBjQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.7.0.tgz", + "integrity": "sha512-n+e+3q7Jx2kfZw7tjfI9axEIWBY0sFMOlC+1K70X0SeXpO/UYSB+PN+E9tIJNqViB7oiXQdqD7dNchnvoneZew==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -28,9 +28,9 @@ } }, "@fimbul/ymir": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@fimbul/ymir/-/ymir-0.15.0.tgz", - "integrity": "sha512-Ow0TfxxQ65vIktHcZyXHeDsGKuzJ9Vt6y77R/aOrXQXLMdYHG+XdbiUWzQbtaGOmNzYVkQfINiFnIdvn5Bn24g==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@fimbul/ymir/-/ymir-0.17.0.tgz", + "integrity": "sha512-xMXM9KTXRLHLVS6dnX1JhHNEkmWHcAVCQ/4+DA1KKwC/AFnGHzu/7QfQttEPgw3xplT+ILf9e3i64jrFwB3JtA==", "dev": true, "requires": { "inversify": "^5.0.0", @@ -48,9 +48,9 @@ } }, "@types/node": { - "version": "10.12.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.6.tgz", - "integrity": "sha512-+ZWB5Ec1iki99xQFzBlivlKxSZQ+fuUKBott8StBOnLN4dWbRHlgdg1XknpW6g0tweniN5DcOqA64CJyOUPSAw==", + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", "dev": true }, "ansi-regex": { @@ -96,7 +96,7 @@ "dependencies": { "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -132,9 +132,9 @@ "dev": true }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -205,7 +205,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -254,9 +254,9 @@ "dev": true }, "get-caller-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.0.tgz", - "integrity": "sha512-cF41L/f/7nXpSwMMHMY0FIurpTPZq/eHwJdeh2+0kKYhL9eD7RqsgMujd3qdqvWdjGIHjwvd/iEMTNECl2EhzA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.1.tgz", + "integrity": "sha512-SpOZHfz845AH0wJYVuZk2jWDqFmu7Xubsx+ldIpwzy5pDUpu7OJHK7QYNSA2NPlDSKQwM1GFaAkciOWjjW92Sg==", "dev": true }, "glob": { @@ -328,9 +328,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -362,7 +362,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -379,12 +379,12 @@ "dev": true }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", + "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "semver": { @@ -401,7 +401,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -421,9 +421,9 @@ "dev": true }, "tslint": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", - "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", + "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -441,23 +441,23 @@ } }, "tslint-config-airbnb": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/tslint-config-airbnb/-/tslint-config-airbnb-5.11.0.tgz", - "integrity": "sha512-o2FhaQtxXi6FQ1v0T2n/rACNos6PhuKRmvemMpWxI+9NJn2OOlJ3+OtEmnCdoF7GPXT3Eyk+Q0q4P96flrPl3w==", + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/tslint-config-airbnb/-/tslint-config-airbnb-5.11.1.tgz", + "integrity": "sha512-hkaittm2607vVMe8eotANGN1CimD5tor7uoY3ypg2VTtEcDB/KGWYbJOz58t8LI4cWSyWtgqYQ5F0HwKxxhlkQ==", "dev": true, "requires": { - "tslint-consistent-codestyle": "^1.13.3", + "tslint-consistent-codestyle": "^1.14.1", "tslint-eslint-rules": "^5.4.0", - "tslint-microsoft-contrib": "~5.2.0" + "tslint-microsoft-contrib": "~5.2.1" } }, "tslint-consistent-codestyle": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.14.1.tgz", - "integrity": "sha512-UxGRX2fF5LpZtqYpuPFaIva+2D7ASX3pTVw41yis6Hmw7PPA3cBnFEX1jqRsnyxGrca6mHxz7xDnwCHtOjWJMQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.15.0.tgz", + "integrity": "sha512-6BNDBbZh2K0ibRXe70Mkl9gfVttxQ3t3hqV1BRDfpIcjrUoOgD946iH4SrXp+IggDgeMs3dJORjD5tqL5j4jXg==", "dev": true, "requires": { - "@fimbul/bifrost": "^0.15.0", + "@fimbul/bifrost": "^0.17.0", "tslib": "^1.7.1", "tsutils": "^2.29.0" } @@ -480,9 +480,9 @@ "dev": true }, "tsutils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.4.0.tgz", - "integrity": "sha512-lJOYR+rsCnso8k7C/D1IVSgOmJS9Ds8U4P2H7CxBtTf1w227Zg2nk+Fod8AsUzu3msg8AjZVsNBJb5QgCZsBjQ==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.7.0.tgz", + "integrity": "sha512-n+e+3q7Jx2kfZw7tjfI9axEIWBY0sFMOlC+1K70X0SeXpO/UYSB+PN+E9tIJNqViB7oiXQdqD7dNchnvoneZew==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -520,9 +520,9 @@ } }, "typescript": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", - "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", + "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", "dev": true }, "wrappy": { diff --git a/package.json b/package.json index 372667f..e0e7296 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kutt", - "version": "1.0.1", + "version": "1.0.2", "description": "Node.js client for Kutt.it url shortener", "author": "Ardalan Amini [https://github.com/ardalanamini]", "license": "MIT", @@ -19,18 +19,18 @@ ], "main": "dist/index.js", "scripts": { - "prepublishOnly": "npm run lint && npm run build", "build": "tsc", - "lint": "tslint -p tsconfig.json -c tslint.json --exclude '**/*.d.ts'" + "lint": "tslint -p tsconfig.json -c tslint.json --exclude '**/*.d.ts'", + "prepublishOnly": "npm run lint && npm run build" }, "dependencies": { "axios": "^0.18.0" }, "devDependencies": { "@types/axios": "^0.14.0", - "@types/node": "^10.12.6", - "tslint": "^5.11.0", - "tslint-config-airbnb": "^5.11.0", - "typescript": "^3.1.6" + "@types/node": "^10.12.18", + "tslint": "^5.12.0", + "tslint-config-airbnb": "^5.11.1", + "typescript": "^3.2.2" } } diff --git a/src/index.ts b/src/index.ts index ab23d25..68c533c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -84,7 +84,7 @@ class Kutt { */ public static setDomain = (domain?: string) => CONFIG.DOMAIN = domain; - protected _config = { ...CONFIG }; + protected _config = Object.assign({}, CONFIG); protected _request(method: string, path: string, callback: Kutt.Callback): void; protected _request(method: string, path: string, data?: object): Promise; @@ -95,19 +95,19 @@ class Kutt { data = undefined; } + const { API, KEY } = this._config; + const request = axios({ method, data, - baseURL: this._config.API, + baseURL: `${API}/api/url`, url: path, headers: { - "X-API-Key": this._config.KEY, + "X-API-Key": KEY, }, }); - if (!callback) { - return request.then(response => response.data); - } + if (!callback) return request.then(response => response.data); request .then(response => (callback as any)(null, response.data)) @@ -147,7 +147,7 @@ class Kutt { public list(): Promise; public list(callback: Kutt.Callback): void; public list(callback?: Kutt.Callback) { - return this._request("get", "/api/url/geturls", callback as any) as any; + return this._request("get", "/geturls", callback as any) as any; } /** @@ -156,7 +156,7 @@ class Kutt { public submit(data: Kutt.NewUrl): Promise; public submit(data: Kutt.NewUrl, callback: Kutt.Callback): void; public submit(data: Kutt.NewUrl, callback?: Kutt.Callback) { - return this._request("post", "/api/url/submit", data, callback as any) as any; + return this._request("post", "/submit", data, callback as any) as any; } /** @@ -167,7 +167,7 @@ class Kutt { public delete(id: string, callback?: Kutt.Callback) { return this._request( "post", - "/api/url/deleteurl", + "/deleteurl", { id, domain: this._config.DOMAIN, @@ -184,7 +184,7 @@ class Kutt { public stats(id: string, callback?: Kutt.Callback) { const domain = this._config.DOMAIN; - return this._request("get", `/api/url/stats?id=${id}${domain ? `&domain=${domain}` : ""}`, callback as any) as any; + return this._request("get", `/stats?id=${id}${domain ? `&domain=${domain}` : ""}`, callback as any) as any; } }