From ce8b0b3154a9ff40ed67101796bc4812cd0cbd44 Mon Sep 17 00:00:00 2001 From: Pavel Birukov Date: Thu, 13 Sep 2018 18:42:05 +0200 Subject: [PATCH] Add type annotations --- package-lock.json | 907 +++++++++++----------- package.json | 1 - src/infrastructure/RequestHelper.ts | 52 +- src/infrastructure/XMLHttpRequester.ts | 10 +- src/services/Commits.ts | 42 +- src/services/DeployKeys.ts | 7 +- src/services/Deployments.ts | 7 +- src/services/Environments.ts | 13 +- src/services/EpicDiscussions.ts | 3 +- src/services/EpicIssues.ts | 12 +- src/services/EpicNotes.ts | 3 +- src/services/Epics.ts | 2 +- src/services/Events.ts | 69 +- src/services/FeatureFlags.ts | 5 +- src/services/GeoNodes.ts | 19 +- src/services/GitLabCIYMLTemplates.ts | 3 +- src/services/GitignoreTemplates.ts | 3 +- src/services/GroupAccessRequests.ts | 3 +- src/services/GroupBadges.ts | 3 +- src/services/GroupCustomAttributes.ts | 3 +- src/services/GroupIssueBoards.ts | 3 +- src/services/GroupMembers.ts | 3 +- src/services/GroupMilestones.ts | 3 +- src/services/GroupProjects.ts | 7 +- src/services/GroupVariables.ts | 2 +- src/services/Groups.ts | 15 +- src/services/IssueAwardEmojis.ts | 3 +- src/services/IssueDiscussions.ts | 3 +- src/services/IssueNotes.ts | 2 +- src/services/Issues.ts | 37 +- src/services/Jobs.ts | 32 +- src/services/Keys.ts | 2 +- src/services/Labels.ts | 10 +- src/services/LicenceTemplates.ts | 3 +- src/services/Lint.ts | 2 +- src/services/MergeRequestAwardEmojis.ts | 3 +- src/services/MergeRequestDiscussions.ts | 3 +- src/services/MergeRequestNotes.ts | 3 +- src/services/MergeRequests.ts | 53 +- src/services/Namespaces.ts | 5 +- src/services/NotificationSettings.ts | 5 +- src/services/PagesDomains.ts | 9 +- src/services/PipelineScheduleVariables.ts | 3 +- src/services/PipelineSchedules.ts | 21 +- src/services/Pipelines.ts | 3 +- src/services/ProjectAccessRequests.ts | 3 +- src/services/ProjectBadges.ts | 3 +- src/services/ProjectCustomAttributes.ts | 3 +- src/services/ProjectHooks.ts | 12 +- src/services/ProjectImportExport.ts | 5 +- src/services/ProjectIssueBoards.ts | 3 +- src/services/ProjectMembers.ts | 3 +- src/services/ProjectMilestones.ts | 3 +- src/services/ProjectSnippetAwardEmojis.ts | 3 +- src/services/ProjectSnippetDiscussions.ts | 3 +- src/services/ProjectSnippetNotes.ts | 3 +- src/services/ProjectSnippets.ts | 22 +- src/services/ProjectVariables.ts | 5 +- src/services/Projects.ts | 37 +- src/services/ProtectedBranches.ts | 9 +- src/services/PushRule.ts | 3 +- src/services/Repositories.ts | 11 +- src/services/RepositoryFiles.ts | 11 +- src/services/Runners.ts | 18 +- src/services/Search.ts | 6 +- src/services/Services.ts | 16 +- src/services/SystemHooks.ts | 10 +- src/services/Tags.ts | 5 +- src/services/Todos.ts | 11 +- src/services/Triggers.ts | 11 +- src/services/UserCustomAttributes.ts | 3 +- src/services/UserEmails.ts | 8 +- src/services/UserGPGKeys.ts | 8 +- src/services/UserImpersonationTokens.ts | 21 +- src/services/Users.ts | 25 +- src/services/Wikis.ts | 11 +- src/templates/ResourceAccessRequests.ts | 8 +- src/templates/ResourceAwardEmojis.ts | 9 +- src/templates/ResourceBadges.ts | 14 +- src/templates/ResourceCustomAttributes.ts | 7 +- src/types.d.ts | 6 + 81 files changed, 986 insertions(+), 755 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7d9c4e74..0f179ff8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -302,12 +302,6 @@ "integrity": "sha1-EYHsvh2XtwNODqHjXmLobMJrQi0=", "dev": true }, - "@types/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-JK7Ecs9ETHfYSoG5ZILe30Ar9fmMT7vZTirfZQQ9OAZDB8TfPVV6aQkYPtfx2MFfB+yrSY4jCfrvMdemv/9VHw==", - "dev": true - }, "JSONStream": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz", @@ -1543,6 +1537,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "1.0.12" } @@ -1719,6 +1714,7 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.1", @@ -1731,6 +1727,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, "requires": { "is-callable": "1.1.4", "is-date-object": "1.0.1", @@ -2270,8 +2267,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -2284,7 +2281,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -2348,7 +2345,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -2363,14 +2360,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -2379,12 +2376,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -2399,7 +2396,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -2408,7 +2405,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -2417,8 +2414,8 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -2437,7 +2434,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -2451,7 +2448,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -2464,8 +2461,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -2474,7 +2471,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -2497,9 +2494,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -2508,16 +2505,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -2526,8 +2523,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -2542,8 +2539,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -2552,10 +2549,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -2574,7 +2571,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -2595,8 +2592,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -2617,10 +2614,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -2637,13 +2634,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -2652,7 +2649,7 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -2695,9 +2692,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -2706,7 +2703,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -2714,7 +2711,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -2729,13 +2726,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -2750,7 +2747,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -2768,7 +2765,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "get-caller-file": { "version": "1.0.3", @@ -3003,6 +3001,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "1.1.1" } @@ -3440,7 +3439,8 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true }, "is-descriptor": { "version": "0.1.6", @@ -3586,6 +3586,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, "requires": { "has": "1.0.3" } @@ -3614,7 +3615,8 @@ "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true }, "is-text-path": { "version": "1.0.1", @@ -5646,13 +5648,13 @@ }, "abbrev": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "agent-base": { "version": "4.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", "dev": true, "requires": { @@ -5661,7 +5663,7 @@ }, "agentkeepalive": { "version": "3.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.4.1.tgz", "integrity": "sha512-MPIwsZU9PP9kOrZpyu2042kYA8Fdt/AedQYkYXucHgF9QoD9dXVp0ypuGnHXSR0hTstBxdt85Xkh4JolYfK5wg==", "dev": true, "requires": { @@ -5670,7 +5672,7 @@ }, "ajv": { "version": "5.5.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { @@ -5682,7 +5684,7 @@ }, "ansi-align": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { @@ -5691,13 +5693,13 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { @@ -5706,31 +5708,31 @@ }, "ansicolors": { "version": "0.3.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", "dev": true }, "ansistyles": { "version": "0.1.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz", "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=", "dev": true }, "aproba": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "archy": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { @@ -5740,7 +5742,7 @@ }, "asap": { "version": "2.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, @@ -5755,19 +5757,19 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "asynckit": { "version": "0.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.7.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, @@ -5779,13 +5781,13 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, @@ -5795,7 +5797,7 @@ }, "bin-links": { "version": "1.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.2.tgz", "integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==", "dev": true, "requires": { @@ -5808,7 +5810,7 @@ }, "block-stream": { "version": "0.0.9", - "resolved": false, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { @@ -5817,13 +5819,13 @@ }, "bluebird": { "version": "3.5.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, "boxen": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { @@ -5838,7 +5840,7 @@ }, "brace-expansion": { "version": "1.1.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { @@ -5848,31 +5850,31 @@ }, "buffer-from": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", "dev": true }, "builtin-modules": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "builtins": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", "dev": true }, "byline": { "version": "5.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", "dev": true }, "byte-size": { "version": "4.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-4.0.3.tgz", "integrity": "sha512-JGC3EV2bCzJH/ENSh3afyJrH4vwxbHTuO5ljLoI5+2iJOcEpMgP8T782jH9b5qGxf2mSUIp1lfGnfKNrRHpvVg==", "dev": true }, @@ -5900,31 +5902,31 @@ }, "call-limit": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz", "integrity": "sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o=", "dev": true }, "camelcase": { "version": "4.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "capture-stack-trace": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, "caseless": { "version": "0.12.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "2.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { @@ -5935,7 +5937,7 @@ }, "chownr": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, @@ -5947,7 +5949,7 @@ }, "cidr-regex": { "version": "2.0.9", - "resolved": false, + "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-2.0.9.tgz", "integrity": "sha512-F7/fBRUU45FnvSPjXdpIrc++WRSBdCiSTlyq4ZNhLKOlHFNWgtzZ0Fd+zrqI/J1j0wmlx/f5ZQDmD2GcbrNcmw==", "dev": true, "requires": { @@ -5956,13 +5958,13 @@ }, "cli-boxes": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, "cli-columns": { "version": "3.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/cli-columns/-/cli-columns-3.1.2.tgz", "integrity": "sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4=", "dev": true, "requires": { @@ -5972,7 +5974,7 @@ }, "cli-table3": { "version": "0.5.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.0.tgz", "integrity": "sha512-c7YHpUyO1SaKaO7kYtxd5NZ8FjAmSK3LpKkuzdwn+2CwpFxBpdoQLm+OAnnCfoEl7onKhN9PKQi1lsHuAIUqGQ==", "dev": true, "requires": { @@ -5983,7 +5985,7 @@ }, "cliui": { "version": "4.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { @@ -5994,13 +5996,13 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -6011,13 +6013,13 @@ }, "clone": { "version": "1.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, "cmd-shim": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", "dev": true, "requires": { @@ -6027,19 +6029,19 @@ }, "co": { "version": "4.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "code-point-at": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "color-convert": { "version": "1.9.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { @@ -6048,20 +6050,20 @@ }, "color-name": { "version": "1.1.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "colors": { "version": "1.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true, "optional": true }, "columnify": { "version": "1.5.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "dev": true, "requires": { @@ -6071,7 +6073,7 @@ }, "combined-stream": { "version": "1.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { @@ -6080,13 +6082,13 @@ }, "concat-map": { "version": "0.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "concat-stream": { "version": "1.6.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { @@ -6098,7 +6100,7 @@ }, "config-chain": { "version": "1.1.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", "dev": true, "requires": { @@ -6108,7 +6110,7 @@ }, "configstore": { "version": "3.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { @@ -6122,13 +6124,13 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "copy-concurrently": { "version": "1.0.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { @@ -6142,7 +6144,7 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } @@ -6150,13 +6152,13 @@ }, "core-util-is": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "create-error-class": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { @@ -6165,7 +6167,7 @@ }, "cross-spawn": { "version": "5.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { @@ -6176,19 +6178,19 @@ }, "crypto-random-string": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, "cyclist": { "version": "0.2.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, "dashdash": { "version": "1.14.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { @@ -6197,7 +6199,7 @@ }, "debug": { "version": "3.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { @@ -6206,7 +6208,7 @@ "dependencies": { "ms": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } @@ -6214,31 +6216,31 @@ }, "debuglog": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "deep-extend": { "version": "0.5.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, "defaults": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { @@ -6247,31 +6249,31 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "delegates": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, "detect-indent": { "version": "5.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true }, "detect-newline": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, "dezalgo": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, "requires": { @@ -6281,7 +6283,7 @@ }, "dot-prop": { "version": "4.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { @@ -6290,19 +6292,19 @@ }, "dotenv": { "version": "5.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", "dev": true }, "duplexer3": { "version": "0.1.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, "duplexify": { "version": "3.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { @@ -6325,13 +6327,13 @@ }, "editor": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=", "dev": true }, "encoding": { "version": "0.1.12", - "resolved": false, + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { @@ -6340,7 +6342,7 @@ }, "end-of-stream": { "version": "1.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { @@ -6349,13 +6351,13 @@ }, "err-code": { "version": "1.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", "dev": true }, "errno": { "version": "0.1.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { @@ -6364,13 +6366,13 @@ }, "es6-promise": { "version": "4.2.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, "es6-promisify": { "version": "5.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -6379,13 +6381,13 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "execa": { "version": "0.7.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { @@ -6406,19 +6408,19 @@ }, "extsprintf": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, @@ -6430,13 +6432,13 @@ }, "find-npm-prefix": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz", "integrity": "sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA==", "dev": true }, "find-up": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { @@ -6445,7 +6447,7 @@ }, "flush-write-stream": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { @@ -6455,13 +6457,13 @@ }, "forever-agent": { "version": "0.6.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { @@ -6472,7 +6474,7 @@ }, "from2": { "version": "2.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { @@ -6482,7 +6484,7 @@ }, "fs-minipass": { "version": "1.2.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "requires": { @@ -6491,7 +6493,7 @@ }, "fs-vacuum": { "version": "1.2.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz", "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=", "dev": true, "requires": { @@ -6502,7 +6504,7 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { @@ -6514,7 +6516,7 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } @@ -6522,13 +6524,13 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fstream": { "version": "1.0.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { @@ -6540,7 +6542,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { @@ -6556,7 +6558,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -6569,13 +6571,13 @@ }, "genfun": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", "integrity": "sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E=", "dev": true }, "gentle-fs": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/gentle-fs/-/gentle-fs-2.0.1.tgz", "integrity": "sha512-cEng5+3fuARewXktTEGbwsktcldA+YsnUEaXZwcK/3pjSE1X9ObnTs+/8rYf8s+RnIcQm2D5x3rwpN7Zom8Bew==", "dev": true, "requires": { @@ -6591,7 +6593,7 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } @@ -6599,19 +6601,19 @@ }, "get-caller-file": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "getpass": { "version": "0.1.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { @@ -6620,7 +6622,7 @@ }, "glob": { "version": "7.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { @@ -6634,7 +6636,7 @@ }, "global-dirs": { "version": "0.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { @@ -6643,7 +6645,7 @@ }, "got": { "version": "6.7.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { @@ -6662,13 +6664,13 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "har-schema": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, @@ -6684,31 +6686,31 @@ }, "has-flag": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-unicode": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "hosted-git-info": { "version": "2.7.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, "http-cache-semantics": { "version": "3.8.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", "dev": true }, "http-proxy-agent": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "requires": { @@ -6718,7 +6720,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { @@ -6729,7 +6731,7 @@ }, "https-proxy-agent": { "version": "2.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { @@ -6739,7 +6741,7 @@ }, "humanize-ms": { "version": "1.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "dev": true, "requires": { @@ -6748,7 +6750,7 @@ }, "iconv-lite": { "version": "0.4.23", - "resolved": false, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { @@ -6757,13 +6759,13 @@ }, "iferr": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-1.0.2.tgz", "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg==", "dev": true }, "ignore-walk": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "requires": { @@ -6772,19 +6774,19 @@ }, "import-lazy": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { @@ -6794,19 +6796,19 @@ }, "inherits": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "init-package-json": { "version": "1.10.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", "dev": true, "requires": { @@ -6822,25 +6824,25 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ip": { "version": "1.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "ip-regex": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -6849,7 +6851,7 @@ }, "is-ci": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { @@ -6858,7 +6860,7 @@ }, "is-cidr": { "version": "2.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-2.0.6.tgz", "integrity": "sha512-A578p1dV22TgPXn6NCaDAPj6vJvYsBgAzUrAd28a4oldeXJjWqEUuSZOLIW3im51mazOKsoyVp8NU/OItlWacw==", "dev": true, "requires": { @@ -6867,7 +6869,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -6876,7 +6878,7 @@ }, "is-installed-globally": { "version": "0.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { @@ -6886,19 +6888,19 @@ }, "is-npm": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, "is-obj": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, "is-path-inside": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { @@ -6907,86 +6909,86 @@ }, "is-redirect": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, "is-retry-allowed": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-typedarray": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isarray": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isstream": { "version": "0.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "jsbn": { "version": "0.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "optional": true }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { "version": "0.2.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-schema-traverse": { "version": "0.3.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "jsonparse": { "version": "1.3.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, "jsprim": { "version": "1.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { @@ -6998,7 +7000,7 @@ }, "latest-version": { "version": "3.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { @@ -7007,13 +7009,13 @@ }, "lazy-property": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz", "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc=", "dev": true }, "lcid": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { @@ -7044,7 +7046,7 @@ }, "libnpmhook": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/libnpmhook/-/libnpmhook-4.0.1.tgz", "integrity": "sha512-3qqpfqvBD1712WA6iGe0stkG40WwAeoWcujA6BlC0Be1JArQbqwabnEnZ0CRcD05Tf1fPYJYdCbSfcfedEJCOg==", "dev": true, "requires": { @@ -7054,7 +7056,7 @@ "dependencies": { "npm-registry-fetch": { "version": "3.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.1.1.tgz", "integrity": "sha512-xBobENeenvjIG8PgQ1dy77AXTI25IbYhmA3DusMIfw/4EL5BaQ5e1V9trkPrqHvyjR3/T0cnH6o0Wt/IzcI5Ag==", "dev": true, "requires": { @@ -7069,7 +7071,7 @@ }, "libnpx": { "version": "10.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.2.0.tgz", "integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==", "dev": true, "requires": { @@ -7085,7 +7087,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { @@ -7095,7 +7097,7 @@ }, "lock-verify": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/lock-verify/-/lock-verify-2.0.2.tgz", "integrity": "sha512-QNVwK0EGZBS4R3YQ7F1Ox8p41Po9VGl2QG/2GsuvTbkJZYSsPeWHKMbbH6iZMCHWSMww5nrJroZYnGzI4cePuw==", "dev": true, "requires": { @@ -7105,7 +7107,7 @@ }, "lockfile": { "version": "1.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "dev": true, "requires": { @@ -7114,13 +7116,13 @@ }, "lodash._baseindexof": { "version": "3.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz", "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=", "dev": true }, "lodash._baseuniq": { "version": "4.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz", "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", "dev": true, "requires": { @@ -7130,19 +7132,19 @@ }, "lodash._bindcallback": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", "dev": true }, "lodash._cacheindexof": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz", "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=", "dev": true }, "lodash._createcache": { "version": "3.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz", "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", "dev": true, "requires": { @@ -7151,61 +7153,61 @@ }, "lodash._createset": { "version": "4.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz", "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=", "dev": true }, "lodash._getnative": { "version": "3.9.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", "dev": true }, "lodash._root": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.restparam": { "version": "3.6.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, "lodash.union": { "version": "4.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, "lodash.uniq": { "version": "4.5.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "lodash.without": { "version": "4.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=", "dev": true }, "lowercase-keys": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { @@ -7215,7 +7217,7 @@ }, "make-dir": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { @@ -7224,7 +7226,7 @@ }, "make-fetch-happen": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz", "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==", "dev": true, "requires": { @@ -7243,13 +7245,13 @@ }, "meant": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==", "dev": true }, "mem": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { @@ -7273,13 +7275,13 @@ }, "mimic-fn": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { @@ -7288,13 +7290,13 @@ }, "minimist": { "version": "0.0.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.3.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "dev": true, "requires": { @@ -7304,7 +7306,7 @@ "dependencies": { "yallist": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } @@ -7312,7 +7314,7 @@ }, "minizlib": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "requires": { @@ -7321,7 +7323,7 @@ }, "mississippi": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { @@ -7339,7 +7341,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -7348,7 +7350,7 @@ }, "move-concurrently": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { @@ -7362,19 +7364,19 @@ }, "ms": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, "mute-stream": { "version": "0.0.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "node-fetch-npm": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", "dev": true, "requires": { @@ -7385,7 +7387,7 @@ }, "node-gyp": { "version": "3.8.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { @@ -7405,7 +7407,7 @@ "dependencies": { "nopt": { "version": "3.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { @@ -7414,13 +7416,13 @@ }, "semver": { "version": "5.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true }, "tar": { "version": "2.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { @@ -7433,7 +7435,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { @@ -7443,7 +7445,7 @@ }, "normalize-package-data": { "version": "2.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { @@ -7455,7 +7457,7 @@ }, "npm-audit-report": { "version": "1.3.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-1.3.1.tgz", "integrity": "sha512-SjTF8ZP4rOu3JiFrTMi4M1CmVo2tni2sP4TzhyCMHwnMGf6XkdGLZKt9cdZ12esKf0mbQqFyU9LtY0SoeahL7g==", "dev": true, "requires": { @@ -7471,13 +7473,13 @@ }, "npm-cache-filename": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz", "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE=", "dev": true }, "npm-install-checks": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz", "integrity": "sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc=", "dev": true, "requires": { @@ -7502,13 +7504,13 @@ }, "npm-logical-tree": { "version": "1.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz", "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==", "dev": true }, "npm-package-arg": { "version": "6.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", "dev": true, "requires": { @@ -7530,7 +7532,7 @@ }, "npm-pick-manifest": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.1.0.tgz", "integrity": "sha512-q9zLP8cTr8xKPmMZN3naxp1k/NxVFsjxN6uWuO1tiw9gxg7wZWQ/b5UTfzD0ANw2q1lQxdLKTeCCksq+bPSgbQ==", "dev": true, "requires": { @@ -7540,7 +7542,7 @@ }, "npm-profile": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-3.0.2.tgz", "integrity": "sha512-rEJOFR6PbwOvvhGa2YTNOJQKNuc6RovJ6T50xPU7pS9h/zKPNCJ+VHZY2OFXyZvEi+UQYtHRTp8O/YM3tUD20A==", "dev": true, "requires": { @@ -7570,13 +7572,13 @@ "dependencies": { "retry": { "version": "0.10.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", "dev": true }, "ssri": { "version": "5.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { @@ -7587,7 +7589,7 @@ }, "npm-registry-fetch": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-1.1.0.tgz", "integrity": "sha512-XJPIBfMtgaooRtZmuA42xCeLf3tkxdIX0xqRsGWwNrcVvJ9UYFccD7Ho7QWCzvkM3i/QrkUC37Hu0a+vDBmt5g==", "dev": true, "requires": { @@ -7601,7 +7603,7 @@ "dependencies": { "cacache": { "version": "10.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { @@ -7622,7 +7624,7 @@ "dependencies": { "mississippi": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { @@ -7642,13 +7644,13 @@ }, "figgy-pudding": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-2.0.1.tgz", "integrity": "sha512-yIJPhIBi/oFdU/P+GSXjmk/rmGjuZkm7A5LTXZxNrEprXJXRK012FiI1BR1Pga+0d/d6taWWD+B5d2ozqaxHig==", "dev": true }, "make-fetch-happen": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-3.0.0.tgz", "integrity": "sha512-FmWY7gC0mL6Z4N86vE14+m719JKE4H0A+pyiOH18B025gF/C113pyfb4gHDDYP5cqnRMHOz06JGdmffC/SES+w==", "dev": true, "requires": { @@ -7667,7 +7669,7 @@ }, "pump": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { @@ -7677,13 +7679,13 @@ }, "smart-buffer": { "version": "1.1.15", - "resolved": false, + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", "dev": true }, "socks": { "version": "1.1.10", - "resolved": false, + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, "requires": { @@ -7693,7 +7695,7 @@ }, "socks-proxy-agent": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", "dev": true, "requires": { @@ -7703,7 +7705,7 @@ }, "ssri": { "version": "5.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { @@ -7714,7 +7716,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { @@ -7723,13 +7725,13 @@ }, "npm-user-validate": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz", "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE=", "dev": true }, "npmlog": { "version": "4.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { @@ -7741,7 +7743,7 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, @@ -7753,13 +7755,13 @@ }, "object-assign": { "version": "4.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "once": { "version": "1.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { @@ -7774,13 +7776,13 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { @@ -7791,13 +7793,13 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "osenv": { "version": "0.1.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { @@ -7807,13 +7809,13 @@ }, "p-finally": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { @@ -7822,7 +7824,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { @@ -7831,13 +7833,13 @@ }, "p-try": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "package-json": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { @@ -7849,7 +7851,7 @@ }, "pacote": { "version": "8.1.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/pacote/-/pacote-8.1.6.tgz", "integrity": "sha512-wTOOfpaAQNEQNtPEx92x9Y9kRWVu45v583XT8x2oEV2xRB74+xdqMZIeGW4uFvAyZdmSBtye+wKdyyLaT8pcmw==", "dev": true, "requires": { @@ -7882,7 +7884,7 @@ }, "parallel-transform": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { @@ -7893,61 +7895,61 @@ }, "path-exists": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "performance-now": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "pify": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "prepend-http": { "version": "1.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "promise-inflight": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, "promise-retry": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", "dev": true, "requires": { @@ -7957,7 +7959,7 @@ "dependencies": { "retry": { "version": "0.10.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", "dev": true } @@ -7965,7 +7967,7 @@ }, "promzard": { "version": "0.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", "dev": true, "requires": { @@ -7974,13 +7976,13 @@ }, "proto-list": { "version": "1.2.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", "dev": true }, "protoduck": { "version": "5.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.0.tgz", "integrity": "sha512-agsGWD8/RZrS4ga6v82Fxb0RHIS2RZnbsSue6A9/MBRhB/jcqOANAMNrqM9900b8duj+Gx+T/JMy5IowDoO/hQ==", "dev": true, "requires": { @@ -7989,13 +7991,13 @@ }, "prr": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, @@ -8007,7 +8009,7 @@ }, "pump": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { @@ -8017,7 +8019,7 @@ }, "pumpify": { "version": "1.5.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { @@ -8028,7 +8030,7 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { @@ -8040,25 +8042,25 @@ }, "punycode": { "version": "1.4.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "qrcode-terminal": { "version": "0.12.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", "dev": true }, "qs": { "version": "6.5.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "query-string": { "version": "6.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.1.0.tgz", "integrity": "sha512-pNB/Gr8SA8ff8KpUFM36o/WFAlthgaThka5bV19AD9PNTH20Pwq5Zxodif2YyHwrctp6SkL4GqlOot0qR/wGaw==", "dev": true, "requires": { @@ -8068,13 +8070,13 @@ }, "qw": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz", "integrity": "sha1-77/cdA+a0FQwRCassYNBLMi5ltQ=", "dev": true }, "rc": { "version": "1.2.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { @@ -8086,7 +8088,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -8094,7 +8096,7 @@ }, "read": { "version": "1.0.7", - "resolved": false, + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, "requires": { @@ -8103,7 +8105,7 @@ }, "read-cmd-shim": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", "dev": true, "requires": { @@ -8112,7 +8114,7 @@ }, "read-installed": { "version": "4.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", "dev": true, "requires": { @@ -8127,7 +8129,7 @@ }, "read-package-json": { "version": "2.0.13", - "resolved": false, + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", "dev": true, "requires": { @@ -8140,7 +8142,7 @@ }, "read-package-tree": { "version": "5.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.2.1.tgz", "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==", "dev": true, "requires": { @@ -8153,7 +8155,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -8168,7 +8170,7 @@ }, "readdir-scoped-modules": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", "dev": true, "requires": { @@ -8180,7 +8182,7 @@ }, "registry-auth-token": { "version": "3.3.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { @@ -8190,7 +8192,7 @@ }, "registry-url": { "version": "3.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { @@ -8227,31 +8229,31 @@ }, "require-directory": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "4.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "retry": { "version": "0.12.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, "rimraf": { "version": "2.6.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { @@ -8260,7 +8262,7 @@ }, "run-queue": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { @@ -8269,25 +8271,25 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { "version": "2.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "semver": { "version": "5.5.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "semver-diff": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { @@ -8296,13 +8298,13 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "sha": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz", "integrity": "sha1-YDCCL70smCOUn49y7WQR7lzyWq4=", "dev": true, "requires": { @@ -8312,7 +8314,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { @@ -8321,37 +8323,37 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slash": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "slide": { "version": "1.1.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "smart-buffer": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", "dev": true }, "socks": { "version": "2.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.0.tgz", "integrity": "sha512-uRKV9uXQ9ytMbGm2+DilS1jB7N3AC0mmusmW5TVWjNuBZjxS8+lX38fasKVY9I4opv/bY/iqTbcpFFaTwpfwRg==", "dev": true, "requires": { @@ -8361,7 +8363,7 @@ }, "socks-proxy-agent": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", "dev": true, "requires": { @@ -8371,13 +8373,13 @@ }, "sorted-object": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz", "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw=", "dev": true }, "sorted-union-stream": { "version": "2.1.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz", "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=", "dev": true, "requires": { @@ -8387,7 +8389,7 @@ "dependencies": { "from2": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz", "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=", "dev": true, "requires": { @@ -8397,13 +8399,13 @@ }, "isarray": { "version": "0.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, "readable-stream": { "version": "1.1.14", - "resolved": false, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -8415,7 +8417,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": false, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -8423,7 +8425,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { @@ -8433,13 +8435,13 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { @@ -8449,13 +8451,13 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "sshpk": { "version": "1.14.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { @@ -8472,13 +8474,13 @@ }, "ssri": { "version": "6.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.0.tgz", "integrity": "sha512-zYOGfVHPhxyzwi8MdtdNyxv3IynWCIM4jYReR48lqu0VngxgH1c+C6CmipRdJ55eVByTJV/gboFEEI7TEQI8DA==", "dev": true }, "stream-each": { "version": "1.2.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { @@ -8488,7 +8490,7 @@ }, "stream-iterate": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz", "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=", "dev": true, "requires": { @@ -8498,19 +8500,19 @@ }, "stream-shift": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, "strict-uri-encode": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", "dev": true }, "string-width": { "version": "2.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { @@ -8520,19 +8522,19 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -8543,7 +8545,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -8552,13 +8554,13 @@ }, "stringify-package": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", "dev": true }, "strip-ansi": { "version": "3.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -8567,19 +8569,19 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "strip-json-comments": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "supports-color": { "version": "5.4.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { @@ -8588,7 +8590,7 @@ }, "tar": { "version": "4.4.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz", "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==", "dev": true, "requires": { @@ -8603,7 +8605,7 @@ "dependencies": { "yallist": { "version": "3.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } @@ -8611,7 +8613,7 @@ }, "term-size": { "version": "1.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { @@ -8620,19 +8622,19 @@ }, "text-table": { "version": "0.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "through": { "version": "2.3.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "through2": { "version": "2.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { @@ -8642,13 +8644,13 @@ }, "timed-out": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, "tiny-relative-date": { "version": "1.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz", "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==", "dev": true }, @@ -8664,7 +8666,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { @@ -8673,32 +8675,32 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true }, "typedarray": { "version": "0.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "uid-number": { "version": "0.0.6", - "resolved": false, + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", "dev": true }, "umask": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", "dev": true }, "unique-filename": { "version": "1.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { @@ -8707,7 +8709,7 @@ }, "unique-slug": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { @@ -8716,7 +8718,7 @@ }, "unique-string": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { @@ -8725,19 +8727,19 @@ }, "unpipe": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "unzip-response": { "version": "2.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, "update-notifier": { "version": "2.5.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { @@ -8755,7 +8757,7 @@ }, "url-parse-lax": { "version": "1.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { @@ -8764,25 +8766,25 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "util-extend": { "version": "1.0.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", "dev": true }, "uuid": { "version": "3.3.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", - "resolved": false, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { @@ -8792,7 +8794,7 @@ }, "validate-npm-package-name": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", "dev": true, "requires": { @@ -8801,7 +8803,7 @@ }, "verror": { "version": "1.10.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { @@ -8812,7 +8814,7 @@ }, "wcwidth": { "version": "1.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "dev": true, "requires": { @@ -8821,7 +8823,7 @@ }, "which": { "version": "1.3.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { @@ -8830,13 +8832,13 @@ }, "which-module": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "wide-align": { "version": "1.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { @@ -8845,7 +8847,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -8858,7 +8860,7 @@ }, "widest-line": { "version": "2.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { @@ -8867,7 +8869,7 @@ }, "worker-farm": { "version": "1.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { @@ -8876,7 +8878,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -8886,7 +8888,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -8899,13 +8901,13 @@ }, "wrappy": { "version": "1.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "2.3.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { @@ -8916,31 +8918,31 @@ }, "xdg-basedir": { "version": "3.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, "xtend": { "version": "4.0.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, "y18n": { "version": "4.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yallist": { "version": "2.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.0.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { @@ -8960,7 +8962,7 @@ "dependencies": { "y18n": { "version": "3.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true } @@ -8968,7 +8970,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { @@ -9043,7 +9045,8 @@ "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true }, "object-visit": { "version": "1.0.1", @@ -9058,6 +9061,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, "requires": { "define-properties": "1.1.3", "es-abstract": "1.12.0" @@ -11269,6 +11273,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, "requires": { "define-properties": "1.1.3", "object.getownpropertydescriptors": "2.0.3" diff --git a/package.json b/package.json index 6e790a69..64fbe194 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,6 @@ "request-promise": "^4.2.2", "request-promise-core": "^1.1.1", "url-join": "^4.0.0", - "util.promisify": "^1.0.0", "xhr": "^2.5.0" } } diff --git a/src/infrastructure/RequestHelper.ts b/src/infrastructure/RequestHelper.ts index 386ab8de..7670b3be 100644 --- a/src/infrastructure/RequestHelper.ts +++ b/src/infrastructure/RequestHelper.ts @@ -4,8 +4,9 @@ import QS from 'qs'; import URLJoin from 'url-join'; import StreamableRequest from 'request'; import { BaseService } from '.'; +import { CommitAction } from '../services/Commits'; -interface RequestParametersInput { +export interface RequestParametersInput { url?: string; headers: import('./BaseService').default['headers']; json?: boolean; @@ -95,7 +96,7 @@ async function getPaginated( const page = response.headers['x-page']; const underMaxPageLimit = maxPages ? page < maxPages : true; let more = []; - let data; + let data: temporaryAny; // If not looking for a singular page and still under the max pages limit // AND their is a next page, paginate @@ -125,6 +126,42 @@ async function getPaginated( type RequestType = 'post' | 'get' | 'put' | 'delete'; export interface RequestOptions { + targetIssueId?: string; + targetProjectId?: string; + content?: string; + id?: string; + sourceBranch?: string; + targetBranch?: string; + /** The duration in human format. e.g: 3h30m */ + duration?: string; + domain?: string; + cron?: temporaryAny; + description?: string; + file?: { + value: Buffer; + options: { + filename: string; + contentType: 'application/octet-stream'; + }; + }; + path?: string; + namespace?: string; + visibility?: string; + code?: string; + fileName?: string; + from?: string; + to?: string; + sha?: string; + runnerId?: string; + ref?: string; + scope?: string; + url?: string; + scopes?: temporaryAny; + expiresAt?: string; + note?: string; + actions?: CommitAction[]; + commitMessage?: string; + branch?: string; body?: string | temporaryAny; title?: string; name?: string; @@ -132,6 +169,15 @@ export interface RequestOptions { access_level?: number; user_id?: UserId; position?: temporaryAny; + value?: string; + linkUrl?: string; + imageUrl?: string; + key?: string; + action?: string; + targetType?: string; + email?: string; + password?: string; + search?: string; } class RequestHelper { static async request( @@ -184,7 +230,7 @@ class RequestHelper { } } - static async handleRequestError(err) { + static async handleRequestError(err: temporaryAny) { if ( !err.response || !err.response.headers || diff --git a/src/infrastructure/XMLHttpRequester.ts b/src/infrastructure/XMLHttpRequester.ts index 84ffe4c6..4f85ccf7 100644 --- a/src/infrastructure/XMLHttpRequester.ts +++ b/src/infrastructure/XMLHttpRequester.ts @@ -1,12 +1,12 @@ import { StatusCodeError } from 'request-promise-core/errors'; -import Promisify from 'util.promisify'; +import { promisify } from 'util'; import XHR from 'xhr'; -import { wait } from './RequestHelper'; +import { wait, RequestParametersInput } from './RequestHelper'; -function promisifyFn(fn) { - const promisifiedFn = Promisify(fn); +function promisifyFn(fn: F) { + const promisifiedFn = promisify(fn); - return async function getResponse(opts) { + return async function getResponse(opts: RequestParametersInput) { const response = await promisifiedFn(opts); const sleepTime = parseInt(response.headers['retry-after'], 10); if (response.statusCode === 429 && sleepTime) { diff --git a/src/services/Commits.ts b/src/services/Commits.ts index 8f235e94..0587a4df 100644 --- a/src/services/Commits.ts +++ b/src/services/Commits.ts @@ -1,25 +1,47 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +export interface CommitAction { + /** The action to perform */ + action: 'create' | 'delete' | 'move' | 'update'; + /** Full path to the file. Ex. lib/class.rb */ + file_path: string; + /** Original full path to the file being moved.Ex.lib / class1.rb */ + previous_path?: string; + /** File content, required for all except delete. Optional for move */ + content?: string; + /** text or base64. text is default. */ + encoding?: string; + /** Last known file commit id. Will be only considered in update, move and delete actions. */ + last_commit_id?: string; +} class Commits extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits`, options); } - cherryPick(projectId: ProjectId, sha, branch) { + cherryPick(projectId: ProjectId, sha: string, branch: string) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/repository/commits/${sha}/cherry_pick`, { branch }); } - comments(projectId: ProjectId, sha) { + comments(projectId: ProjectId, sha: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits/${sha}/comments`); } - create(projectId: ProjectId, branch, message, actions = [], options) { + create( + projectId: ProjectId, + branch: string, + message: string, + actions: CommitAction[] = [], + options: RequestOptions, + ) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/repository/commits`, { @@ -30,7 +52,7 @@ class Commits extends BaseService { }); } - createComment(projectId: ProjectId, sha, note, options) { + createComment(projectId: ProjectId, sha: string, note: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/repository/commits/${sha}/comments`, { @@ -39,31 +61,31 @@ class Commits extends BaseService { }); } - diff(projectId: ProjectId, sha) { + diff(projectId: ProjectId, sha: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits/${sha}/diff`); } - editStatus(projectId: ProjectId, sha, options) { + editStatus(projectId: ProjectId, sha: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/statuses/${sha}`, options); } - references(projectId: ProjectId, sha) { + references(projectId: ProjectId, sha: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits/${sha}/refs`); } - show(projectId: ProjectId, sha, options) { + show(projectId: ProjectId, sha: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits/${sha}`, options); } - status(projectId: ProjectId, sha, options) { + status(projectId: ProjectId, sha: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/commits/${sha}/statuses`, options); diff --git a/src/services/DeployKeys.ts b/src/services/DeployKeys.ts index 94845ed6..325566be 100644 --- a/src/services/DeployKeys.ts +++ b/src/services/DeployKeys.ts @@ -1,7 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class DeployKeys extends BaseService { - add(projectId: ProjectId, options) { + add(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/deploy_keys`, options); @@ -13,13 +14,13 @@ class DeployKeys extends BaseService { return RequestHelper.get(this, `projects/${pId}/deploy_keys`); } - show(projectId: ProjectId, keyId) { + show(projectId: ProjectId, keyId: KeyId) { const [pId, kId] = [projectId, keyId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/deploy_keys/${kId}`); } - enable(projectId: ProjectId, keyId) { + enable(projectId: ProjectId, keyId: KeyId) { const [pId, kId] = [projectId, keyId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/deploy_keys/${kId}/enable`); diff --git a/src/services/Deployments.ts b/src/services/Deployments.ts index a5fd2e58..d3913c7d 100644 --- a/src/services/Deployments.ts +++ b/src/services/Deployments.ts @@ -1,13 +1,16 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type DeploymentId = string | number; class Deployments extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/deployments`, options); } - show(projectId: ProjectId, deploymentId) { + show(projectId: ProjectId, deploymentId: DeploymentId) { const [pId, dId] = [projectId, deploymentId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/deployments/${dId}`); diff --git a/src/services/Environments.ts b/src/services/Environments.ts index f58c0971..3300c3e1 100644 --- a/src/services/Environments.ts +++ b/src/services/Environments.ts @@ -1,31 +1,34 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type EnvironmentId = string | number; class Environments extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/environments`, options); } - create(projectId: ProjectId, options) { + create(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/environments`, options); } - edit(projectId: ProjectId, environmentId, options) { + edit(projectId: ProjectId, environmentId: EnvironmentId, options: RequestOptions) { const [pId, eId] = [projectId, environmentId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/environments/${eId}`, options); } - remove(projectId: ProjectId, environmentId) { + remove(projectId: ProjectId, environmentId: EnvironmentId) { const [pId, eId] = [projectId, environmentId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/environments/${eId}`); } - stop(projectId: ProjectId, environmentId) { + stop(projectId: ProjectId, environmentId: EnvironmentId) { const [pId, eId] = [projectId, environmentId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/environments/${eId}/stop`); diff --git a/src/services/EpicDiscussions.ts b/src/services/EpicDiscussions.ts index eb96930d..7b69f314 100644 --- a/src/services/EpicDiscussions.ts +++ b/src/services/EpicDiscussions.ts @@ -1,7 +1,8 @@ import { ResourceDiscussions } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class EpicDiscussions extends ResourceDiscussions { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', 'epics', options); } } diff --git a/src/services/EpicIssues.ts b/src/services/EpicIssues.ts index d663b77d..02828ff7 100644 --- a/src/services/EpicIssues.ts +++ b/src/services/EpicIssues.ts @@ -1,25 +1,29 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +export type EpicId = string | number; +export type IssueId = string | number; class EpicIssues extends BaseService { - all(groupId, epicId) { + all(groupId: GroupId, epicId: EpicId) { const [gId, eId] = [groupId, epicId].map(encodeURIComponent); return RequestHelper.get(this, `groups/${gId}/epics/${eId}/issues`); } - assign(groupId, epicId, issueId) { + assign(groupId: GroupId, epicId: EpicId, issueId: IssueId) { const [gId, eId, iId] = [groupId, epicId, issueId].map(encodeURIComponent); return RequestHelper.put(this, `groups/${gId}/epics/${eId}/issues/${iId}`); } - edit(groupId, epicId, issueId, options) { + edit(groupId: GroupId, epicId: EpicId, issueId: IssueId, options: RequestOptions) { const [gId, eId, iId] = [groupId, epicId, issueId].map(encodeURIComponent); return RequestHelper.delete(this, `groups/${gId}/epics/${eId}/issues/${iId}`, options); } - remove(groupId, epicId, issueId) { + remove(groupId: GroupId, epicId: EpicId, issueId: IssueId) { const [gId, eId, iId] = [groupId, epicId, issueId].map(encodeURIComponent); return RequestHelper.delete(this, `groups/${gId}/epics/${eId}/issues/${iId}`); diff --git a/src/services/EpicNotes.ts b/src/services/EpicNotes.ts index 5b836e74..e3151ace 100644 --- a/src/services/EpicNotes.ts +++ b/src/services/EpicNotes.ts @@ -1,7 +1,8 @@ import { ResourceNotes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class EpicNotes extends ResourceNotes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', 'epics', options); } } diff --git a/src/services/Epics.ts b/src/services/Epics.ts index 090155cd..7d5b80e9 100644 --- a/src/services/Epics.ts +++ b/src/services/Epics.ts @@ -1,8 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; import { RequestOptions } from '../infrastructure/RequestHelper'; -export type GroupId = string | number; export type EpicId = string | number; + class Epics extends BaseService { all(groupId: GroupId) { const gId = encodeURIComponent(groupId); diff --git a/src/services/Events.ts b/src/services/Events.ts index b4abf63d..2387e281 100644 --- a/src/services/Events.ts +++ b/src/services/Events.ts @@ -1,46 +1,53 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; -const ACTION_TYPES = [ - 'created', - 'updated', - 'closed', - 'reopened', - 'pushed', - 'commented', - 'merged', - 'joined', - 'left', - 'destroyed', - 'expired', -]; +const ACTION_TYPES = { + created: 'created', + updated: 'updated', + closed: 'closed', + reopened: 'reopened', + pushed: 'pushed', + commented: 'commented', + merged: 'merged', + joined: 'joined', + left: 'left', + destroyed: 'destroyed', + expired: 'expired', +}; -const TARGET_TYPES = [ - 'issue', - 'milestone', - 'merge_request', - 'note', - 'project', - 'snippet', - 'user', -]; +const TARGET_TYPES = { + issue: 'issue', + milestone: 'milestone', + merge_request: 'merge_request', + note: 'note', + project: 'project', + snippet: 'snippet', + user: 'user', +}; -function validateEventOptions(action, target) { - if (action && ACTION_TYPES.indexOf(action) === -1) { - throw new Error(`This action is not supported. Pleased use one of following options: ${ACTION_TYPES}`); +function assertEventOptions( + action: keyof typeof ACTION_TYPES, + target: keyof typeof TARGET_TYPES, +) { + if (!action || !(action in ACTION_TYPES)) { + throw new Error(`This action is not supported. Pleased use one of following options: ${Object.keys(ACTION_TYPES)}`); } - if (target && TARGET_TYPES.indexOf(target) === -1) { - throw new Error(`This target is not supported. Pleased use one of following options: ${TARGET_TYPES}`); + if (!target || !(target in TARGET_TYPES)) { + throw new Error(`This target is not supported. Pleased use one of following options: ${Object.keys(TARGET_TYPES)}`); } } - +export interface EventOptions { + action: keyof typeof ACTION_TYPES; + targetType: keyof typeof TARGET_TYPES; +} class Events extends BaseService { - all(options) { - validateEventOptions(options.action, options.targetType); + all(options: RequestOptions & EventOptions) { + assertEventOptions(options.action, options.targetType); return RequestHelper.get(this, 'events', options); } } export default Events; -export { validateEventOptions }; +export { assertEventOptions }; diff --git a/src/services/FeatureFlags.ts b/src/services/FeatureFlags.ts index 6105fd91..91a89cd9 100644 --- a/src/services/FeatureFlags.ts +++ b/src/services/FeatureFlags.ts @@ -1,11 +1,12 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class FeatureFlags extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'features', options); } - set(name, options) { + set(name: string, options: RequestOptions) { const encodedName = encodeURIComponent(name); return RequestHelper.post(this, `features/${encodedName}`, options); diff --git a/src/services/GeoNodes.ts b/src/services/GeoNodes.ts index 1ac8fd0b..3a4c87ee 100644 --- a/src/services/GeoNodes.ts +++ b/src/services/GeoNodes.ts @@ -1,45 +1,48 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +export type GeonodeId = string | number; class GeoNodes extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'geo_nodes', options); } - create(geonodeId, options) { + create(geonodeId: GeonodeId, options: RequestOptions) { const gId = encodeURIComponent(geonodeId); return RequestHelper.post(this, `geo_nodes/${gId}`, options); } - edit(geonodeId, options) { + edit(geonodeId: GeonodeId, options: RequestOptions) { const gId = encodeURIComponent(geonodeId); return RequestHelper.put(this, `geo_nodes/${gId}`, options); } - failures(options) { + failures(options: RequestOptions) { return RequestHelper.post(this, 'geo_nodes/current/failures', options); } - repair(geonodeId, options) { + repair(geonodeId: GeonodeId, options: RequestOptions) { const gId = encodeURIComponent(geonodeId); return RequestHelper.delete(this, `geo_nodes/${gId}`, options); } - show(geonodeId, options) { + show(geonodeId: GeonodeId, options: RequestOptions) { const gId = encodeURIComponent(geonodeId); return RequestHelper.get(this, `geo_nodes/${gId}`, options); } - status(geonodeId, options) { + status(geonodeId: GeonodeId, options: RequestOptions) { const gId = encodeURIComponent(geonodeId); return RequestHelper.get(this, `geo_nodes/${gId}/status`, options); } - statuses(options) { + statuses(options: RequestOptions) { return RequestHelper.get(this, 'geo_nodes/statuses', options); } } diff --git a/src/services/GitLabCIYMLTemplates.ts b/src/services/GitLabCIYMLTemplates.ts index 29629042..7ce167ea 100644 --- a/src/services/GitLabCIYMLTemplates.ts +++ b/src/services/GitLabCIYMLTemplates.ts @@ -1,7 +1,8 @@ import { ResourceTemplates } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GitLabCIYMLTemplates extends ResourceTemplates { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('gitlab_ci_ymls', options); } } diff --git a/src/services/GitignoreTemplates.ts b/src/services/GitignoreTemplates.ts index 2287f7e8..bf0e1f5a 100644 --- a/src/services/GitignoreTemplates.ts +++ b/src/services/GitignoreTemplates.ts @@ -1,7 +1,8 @@ import { ResourceTemplates } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GitignoreTemplates extends ResourceTemplates { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('gitignores', options); } } diff --git a/src/services/GroupAccessRequests.ts b/src/services/GroupAccessRequests.ts index b6a5327f..cf07d6da 100644 --- a/src/services/GroupAccessRequests.ts +++ b/src/services/GroupAccessRequests.ts @@ -1,7 +1,8 @@ import { ResourceAccessRequests } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupAccessRequests extends ResourceAccessRequests { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupBadges.ts b/src/services/GroupBadges.ts index 3ff390e9..1121eb02 100644 --- a/src/services/GroupBadges.ts +++ b/src/services/GroupBadges.ts @@ -1,7 +1,8 @@ import { ResourceBadges } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupBadges extends ResourceBadges { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupCustomAttributes.ts b/src/services/GroupCustomAttributes.ts index 6a9a05d5..2554c910 100644 --- a/src/services/GroupCustomAttributes.ts +++ b/src/services/GroupCustomAttributes.ts @@ -1,7 +1,8 @@ import { ResourceCustomAttributes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupCustomAttributes extends ResourceCustomAttributes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupIssueBoards.ts b/src/services/GroupIssueBoards.ts index 88c6cd85..2e861f7d 100644 --- a/src/services/GroupIssueBoards.ts +++ b/src/services/GroupIssueBoards.ts @@ -1,7 +1,8 @@ import { ResourceIssueBoards } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupIssueBoards extends ResourceIssueBoards { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupMembers.ts b/src/services/GroupMembers.ts index a76c0919..1e0b99ea 100644 --- a/src/services/GroupMembers.ts +++ b/src/services/GroupMembers.ts @@ -1,7 +1,8 @@ import { ResourceMembers } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupMembers extends ResourceMembers { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupMilestones.ts b/src/services/GroupMilestones.ts index b13306c1..449bf0d3 100644 --- a/src/services/GroupMilestones.ts +++ b/src/services/GroupMilestones.ts @@ -1,7 +1,8 @@ import { ResourceMilestones } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupMilestones extends ResourceMilestones { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('groups', options); } } diff --git a/src/services/GroupProjects.ts b/src/services/GroupProjects.ts index 8e5fc95e..8dcb8b41 100644 --- a/src/services/GroupProjects.ts +++ b/src/services/GroupProjects.ts @@ -1,13 +1,16 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type GroupProjectId = string | number; class GroupProjects extends BaseService { - all(groupId, options) { + all(groupId: GroupProjectId, options: RequestOptions) { const gId = encodeURIComponent(groupId); return RequestHelper.get(this, `groups/${gId}/projects`, options); } - add(groupId, projectId: ProjectId) { + add(groupId: GroupProjectId, projectId: ProjectId) { const [gId, pId] = [groupId, projectId].map(encodeURIComponent); return RequestHelper.post(this, `groups/${gId}/projects/${pId}`); diff --git a/src/services/GroupVariables.ts b/src/services/GroupVariables.ts index 5e3813a2..3285e253 100644 --- a/src/services/GroupVariables.ts +++ b/src/services/GroupVariables.ts @@ -3,7 +3,7 @@ import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class GroupVariables extends ResourceVariables { constructor(baseParams: BaseModelContructorOptions) { - super('groups', null, baseParams); + super('groups', null as temporaryAny, baseParams); } } diff --git a/src/services/Groups.ts b/src/services/Groups.ts index fa451599..83ca7575 100644 --- a/src/services/Groups.ts +++ b/src/services/Groups.ts @@ -1,33 +1,36 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type GroupId = string | number; class Groups extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'groups', options); } - create(options) { + create(options: RequestOptions) { return RequestHelper.post(this, 'groups', options); } - remove(groupId) { + remove(groupId: GroupId) { const gId = encodeURIComponent(groupId); return RequestHelper.delete(this, `groups/${gId}`); } - search(nameOrPath) { + search(nameOrPath: string) { return RequestHelper.get(this, 'groups', { search: nameOrPath, }); } - show(groupId) { + show(groupId: GroupId) { const gId = encodeURIComponent(groupId); return RequestHelper.get(this, `groups/${gId}`); } - subgroups(groupId, options) { + subgroups(groupId: GroupId, options: RequestOptions) { const gId = encodeURIComponent(groupId); return RequestHelper.get(this, `groups/${gId}/subgroups`, options); diff --git a/src/services/IssueAwardEmojis.ts b/src/services/IssueAwardEmojis.ts index 02d237bb..31120e44 100644 --- a/src/services/IssueAwardEmojis.ts +++ b/src/services/IssueAwardEmojis.ts @@ -1,7 +1,8 @@ import { ResourceAwardEmojis } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class IssueAwardEmojis extends ResourceAwardEmojis { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('issues', options); } } diff --git a/src/services/IssueDiscussions.ts b/src/services/IssueDiscussions.ts index 95f0aeb3..35a7c8e5 100644 --- a/src/services/IssueDiscussions.ts +++ b/src/services/IssueDiscussions.ts @@ -1,7 +1,8 @@ import { ResourceDiscussions } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class IssueDiscussions extends ResourceDiscussions { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'issues', options); } } diff --git a/src/services/IssueNotes.ts b/src/services/IssueNotes.ts index 6b59b040..cf1728bc 100644 --- a/src/services/IssueNotes.ts +++ b/src/services/IssueNotes.ts @@ -1,7 +1,7 @@ import { ResourceNotes } from '../templates'; class IssueNotes extends ResourceNotes { - constructor(options) { + constructor(options: temporaryAny) { super('projects', 'issues', options); } } diff --git a/src/services/Issues.ts b/src/services/Issues.ts index 110159c0..06925cec 100644 --- a/src/services/Issues.ts +++ b/src/services/Issues.ts @@ -1,7 +1,10 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { IssueId } from './EpicIssues'; +import { MergeRequestId } from './MergeRequests'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Issues extends BaseService { - addSpentTime(projectId: ProjectId, issueId, duration) { + addSpentTime(projectId: ProjectId, issueId: IssueId, duration: Duration) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${iId}/add_spent_time`, { @@ -9,7 +12,7 @@ class Issues extends BaseService { }); } - addTimeEstimate(projectId: ProjectId, issueId, duration) { + addTimeEstimate(projectId: ProjectId, issueId: IssueId, duration: Duration) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${iId}/time_estimate`, { @@ -17,25 +20,31 @@ class Issues extends BaseService { }); } - all({ projectId, ...options }) { + all({ projectId, ...options }: { projectId: ProjectId } & RequestOptions) { const url = projectId ? `projects/${encodeURIComponent(projectId)}/issues` : 'issues'; return RequestHelper.get(this, url, options); } - create(projectId: ProjectId, options) { + create(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/issues`, options); } - edit(projectId: ProjectId, issueId, options) { + edit(projectId: ProjectId, issueId: IssueId, options: RequestOptions) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/issues/${iId}`, options); } - link(projectId: ProjectId, issueIId, targetProjectId, targetIssueId, options = {}) { + link( + projectId: ProjectId, + issueIId: IssueId, + targetProjectId: ProjectId, + targetIssueId: IssueId, + options = {}, + ) { const [pId, iId] = [projectId, issueIId].map(encodeURIComponent); const [targetpId, targetIId] = [targetProjectId, targetIssueId].map(encodeURIComponent); @@ -46,49 +55,49 @@ class Issues extends BaseService { }); } - participants(projectId: ProjectId, issueId) { + participants(projectId: ProjectId, issueId: IssueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/issues/${iId}/participants`); } - remove(projectId: ProjectId, issueId) { + remove(projectId: ProjectId, issueId: IssueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/issues/${iId}`); } - resetSpentTime(projectId: ProjectId, mergerequestId) { + resetSpentTime(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${mId}/reset_spent_time`); } - resetTimeEstimate(projectId: ProjectId, mergerequestId) { + resetTimeEstimate(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${mId}/reset_time_estimate`); } - show(projectId: ProjectId, issueId) { + show(projectId: ProjectId, issueId: IssueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/issues/${iId}`); } - subscribe(projectId: ProjectId, issueId, options) { + subscribe(projectId: ProjectId, issueId: IssueId, options: RequestOptions) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${iId}/subscribe`, options); } - timeStats(projectId: ProjectId, mergerequestId) { + timeStats(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/issues/${mId}/time_stats`); } - unsubscribe(projectId: ProjectId, issueId) { + unsubscribe(projectId: ProjectId, issueId: IssueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/issues/${iId}/unsubscribe`); diff --git a/src/services/Jobs.ts b/src/services/Jobs.ts index 3eda2fe1..9980d2d5 100644 --- a/src/services/Jobs.ts +++ b/src/services/Jobs.ts @@ -1,4 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { PipelineId } from './Pipelines'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +export type JobId = string | number; class Jobs extends BaseService { all(projectId: ProjectId, options = {}) { @@ -7,7 +11,7 @@ class Jobs extends BaseService { return RequestHelper.get(this, `projects/${pId}/jobs`, options); } - cancel(projectId: ProjectId, jobId) { + cancel(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/jobs/${jId}/cancel`); @@ -15,8 +19,8 @@ class Jobs extends BaseService { downloadSingleArtifactFile( projectId: ProjectId, - jobId, - artifactPath, + jobId: JobId, + artifactPath: string, options = { stream: false }, ) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); @@ -24,15 +28,15 @@ class Jobs extends BaseService { return RequestHelper.get( this, `projects/${pId}/jobs/${jId}/artifacts/${artifactPath}`, - options, + options as temporaryAny, { stream: options.stream }, ); } downloadLatestArtifactFile( projectId: ProjectId, - ref, - name, + ref: string, + name: string, options = { stream: false }, ) { const [pId, rId, jobName] = [projectId, ref, name].map(encodeURIComponent); @@ -40,48 +44,48 @@ class Jobs extends BaseService { return RequestHelper.get( this, `projects/${pId}/jobs/artifacts/${rId}/download?job=${jobName}`, - options, + options as temporaryAny, { stream: options.stream }, ); } - downloadTraceFile(projectId: ProjectId, jobId) { + downloadTraceFile(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/jobs/${jId}/trace`); } - erase(projectId: ProjectId, jobId) { + erase(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/jobs/${jId}/erase`); } - keepArtifacts(projectId: ProjectId, jobId) { + keepArtifacts(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/jobs/${jId}/artifacts/keep`); } - play(projectId: ProjectId, jobId) { + play(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/jobs/${jId}/play`); } - retry(projectId: ProjectId, jobId) { + retry(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/jobs/${jId}/retry`); } - show(projectId: ProjectId, jobId) { + show(projectId: ProjectId, jobId: JobId) { const [pId, jId] = [projectId, jobId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/jobs/${jId}`); } - showPipelineJobs(projectId: ProjectId, pipelineId, options) { + showPipelineJobs(projectId: ProjectId, pipelineId: PipelineId, options: RequestOptions) { const [pId, ppId] = [projectId, pipelineId].map(encodeURIComponent); return RequestHelper.get( diff --git a/src/services/Keys.ts b/src/services/Keys.ts index ece15fc6..5c79390c 100644 --- a/src/services/Keys.ts +++ b/src/services/Keys.ts @@ -1,7 +1,7 @@ import { BaseService, RequestHelper } from '../infrastructure'; class Keys extends BaseService { - show(keyId) { + show(keyId: KeyId) { const kId = encodeURIComponent(keyId); return RequestHelper.get(this, `keys/${kId}`); diff --git a/src/services/Labels.ts b/src/services/Labels.ts index 7ab1fb6b..4ff56a57 100644 --- a/src/services/Labels.ts +++ b/src/services/Labels.ts @@ -1,5 +1,7 @@ import { BaseService, RequestHelper } from '../infrastructure'; +type LabelId = string | number; + class Labels extends BaseService { all(projectId: ProjectId, options = {}) { const pId = encodeURIComponent(projectId); @@ -13,25 +15,25 @@ class Labels extends BaseService { return RequestHelper.post(this, `projects/${pId}/labels`, options); } - edit(projectId: ProjectId, labelName, options = {}) { + edit(projectId: ProjectId, labelName: string, options = {}) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}/labels`, { name: labelName, ...options }); } - remove(projectId: ProjectId, labelName) { + remove(projectId: ProjectId, labelName: string) { const pId = encodeURIComponent(projectId); return RequestHelper.delete(this, `projects/${pId}/labels`, { name: labelName }); } - subscribe(projectId: ProjectId, labelId, options = {}) { + subscribe(projectId: ProjectId, labelId: LabelId, options = {}) { const [pId, lId] = [projectId, labelId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${lId}/subscribe`, options); } - unsubscribe(projectId: ProjectId, labelId) { + unsubscribe(projectId: ProjectId, labelId: LabelId) { const [pId, lId] = [projectId, labelId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/issues/${lId}/unsubscribe`); diff --git a/src/services/LicenceTemplates.ts b/src/services/LicenceTemplates.ts index 144cebf2..99921012 100644 --- a/src/services/LicenceTemplates.ts +++ b/src/services/LicenceTemplates.ts @@ -1,7 +1,8 @@ import { ResourceTemplates } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class LicenceTemplates extends ResourceTemplates { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('licences', options); } } diff --git a/src/services/Lint.ts b/src/services/Lint.ts index 98cb6885..10e2eff1 100644 --- a/src/services/Lint.ts +++ b/src/services/Lint.ts @@ -1,7 +1,7 @@ import { BaseService, RequestHelper } from '../infrastructure'; class Lint extends BaseService { - lint(content) { + lint(content: string) { return RequestHelper.post(this, 'lint', { content }); } } diff --git a/src/services/MergeRequestAwardEmojis.ts b/src/services/MergeRequestAwardEmojis.ts index 012384ed..8ed2f5f2 100644 --- a/src/services/MergeRequestAwardEmojis.ts +++ b/src/services/MergeRequestAwardEmojis.ts @@ -1,7 +1,8 @@ import { ResourceAwardEmojis } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class MergeRequestAwardEmojis extends ResourceAwardEmojis { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('merge_requests', options); } } diff --git a/src/services/MergeRequestDiscussions.ts b/src/services/MergeRequestDiscussions.ts index 9a0ce22d..8528a074 100644 --- a/src/services/MergeRequestDiscussions.ts +++ b/src/services/MergeRequestDiscussions.ts @@ -1,7 +1,8 @@ import { ResourceDiscussions } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class MergeRequestDiscussions extends ResourceDiscussions { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'merge_requests', options); } } diff --git a/src/services/MergeRequestNotes.ts b/src/services/MergeRequestNotes.ts index 81e01b9c..1913a3e5 100644 --- a/src/services/MergeRequestNotes.ts +++ b/src/services/MergeRequestNotes.ts @@ -1,7 +1,8 @@ import { ResourceNotes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class MergeRequestNotes extends ResourceNotes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'merge_requests', options); } } diff --git a/src/services/MergeRequests.ts b/src/services/MergeRequests.ts index 69ad2506..f1979834 100644 --- a/src/services/MergeRequests.ts +++ b/src/services/MergeRequests.ts @@ -1,13 +1,16 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +export type MergeRequestId = string | number; class MergeRequests extends BaseService { - accept(projectId: ProjectId, mergerequestId, options) { + accept(projectId: ProjectId, mergerequestId: MergeRequestId, options: RequestOptions) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/merge`, options); } - addSpentTime(projectId: ProjectId, mergerequestId, duration) { + addSpentTime(projectId: ProjectId, mergerequestId: MergeRequestId, duration: Duration) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${mId}/add_spent_time`, { @@ -15,7 +18,7 @@ class MergeRequests extends BaseService { }); } - addTimeEstimate(projectId: ProjectId, mergerequestId, duration) { + addTimeEstimate(projectId: ProjectId, mergerequestId: MergeRequestId, duration: Duration) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/issues/${mId}/time_estimate`, { @@ -23,13 +26,13 @@ class MergeRequests extends BaseService { }); } - approve(projectId: ProjectId, mergerequestId, { sha }) { + approve(projectId: ProjectId, mergerequestId: MergeRequestId, { sha }: { sha: string }) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`, { sha }); } - approvals(projectId: ProjectId, { mergerequestId }: { mergerequestId?: string } = {}) { + approvals(projectId: ProjectId, { mergerequestId }: { mergerequestId?: MergeRequestId } = {}) { const pId = encodeURIComponent(projectId); const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}` : ''; @@ -42,31 +45,37 @@ class MergeRequests extends BaseService { return RequestHelper.get(this, url, options); } - cancelOnPipelineSucess(projectId: ProjectId, mergerequestId) { + cancelOnPipelineSucess(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/cancel_merge_when_pipeline_succeeds`); } - changes(projectId: ProjectId, mergerequestId) { + changes(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/changes`); } - closesIssues(projectId: ProjectId, mergerequestId) { + closesIssues(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/closes_issues`); } - commits(projectId: ProjectId, mergerequestId) { + commits(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/commits`); } - create(projectId: ProjectId, sourceBranch, targetBranch, title, options) { + create( + projectId: ProjectId, + sourceBranch: string, + targetBranch: string, + title: string, + options: RequestOptions, + ) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/merge_requests`, { @@ -78,20 +87,20 @@ class MergeRequests extends BaseService { }); } - edit(projectId: ProjectId, mergerequestId, options) { + edit(projectId: ProjectId, mergerequestId: MergeRequestId, options: RequestOptions) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}`, options); } - editApprovals(projectId: ProjectId, { mergerequestId, ...options }) { + editApprovals(projectId: ProjectId, { mergerequestId, ...options }: temporaryAny) { const pId = encodeURIComponent(projectId); const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}` : ''; return RequestHelper.post(this, `projects/${pId}/${mergeRequest}approvals`, options); } - editApprovers(projectId: ProjectId, { mergerequestId, ...options }) { + editApprovers(projectId: ProjectId, { mergerequestId, ...options }: temporaryAny) { const pId = encodeURIComponent(projectId); const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}` : ''; @@ -105,55 +114,55 @@ class MergeRequests extends BaseService { return RequestHelper.get(this, `projects/${pId}/${mergeRequest}/pipelines`); } - remove(projectId: ProjectId, mergerequestId) { + remove(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}`); } - resetSpentTime(projectId: ProjectId, mergerequestId) { + resetSpentTime(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_spent_time`); } - resetTimeEstimate(projectId: ProjectId, mergerequestId) { + resetTimeEstimate(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_time_estimate`); } - show(projectId: ProjectId, mergerequestId) { + show(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}`); } - timeStats(projectId: ProjectId, mergerequestId) { + timeStats(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/time_stats`); } - version(projectId: ProjectId, mergerequestId, versionId) { + version(projectId: ProjectId, mergerequestId: MergeRequestId, versionId: string | number) { const [pId, mId, vId] = [projectId, mergerequestId, versionId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions/${vId}`); } - versions(projectId: ProjectId, mergerequestId) { + versions(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions`); } - unapprove(projectId: ProjectId, mergerequestId) { + unapprove(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`); } - unsubscribe(projectId: ProjectId, mergerequestId) { + unsubscribe(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}/unsubscribe`); diff --git a/src/services/Namespaces.ts b/src/services/Namespaces.ts index a9d264f6..1dab9985 100644 --- a/src/services/Namespaces.ts +++ b/src/services/Namespaces.ts @@ -1,11 +1,12 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Namespaces extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'namespaces', options); } - show(namespaceId) { + show(namespaceId: string | number) { const nId = encodeURIComponent(namespaceId); return RequestHelper.get(this, `namespaces/${nId}`); diff --git a/src/services/NotificationSettings.ts b/src/services/NotificationSettings.ts index 47e1780d..8bfb73d9 100644 --- a/src/services/NotificationSettings.ts +++ b/src/services/NotificationSettings.ts @@ -1,5 +1,6 @@ import { BaseService, RequestHelper } from '../infrastructure'; import { BaseModelContructorOptions } from '../infrastructure/BaseService'; +import { RequestOptions } from '../infrastructure/RequestHelper'; const LEVELS = { DISABLED: 'disabled', @@ -51,8 +52,8 @@ class NotificationSettings extends BaseService { return RequestHelper.get(this, `${url}notification_settings`); } - edit(options, { projectId, groupId }: NotificationSettingsOptions = {}) { - let url; + edit(options: RequestOptions, { projectId, groupId }: NotificationSettingsOptions = {}) { + let url = ''; if (projectId) { url += `projects/${encodeURIComponent(projectId)}/`; diff --git a/src/services/PagesDomains.ts b/src/services/PagesDomains.ts index 44e53661..90354985 100644 --- a/src/services/PagesDomains.ts +++ b/src/services/PagesDomains.ts @@ -1,4 +1,5 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; interface PagesDomainsOptions { projectId?: ProjectId; @@ -10,25 +11,25 @@ class PagesDomains extends BaseService { return RequestHelper.get(this, `${url}pages/domains`); } - create(projectId: ProjectId, domain, options) { + create(projectId: ProjectId, domain: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/pages/domains`, { domain, ...options }); } - edit(projectId: ProjectId, domain, options) { + edit(projectId: ProjectId, domain: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}/pages/domains/${domain}`, options); } - show(projectId: ProjectId, domain) { + show(projectId: ProjectId, domain: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/pages/domains/${domain}`); } - remove(projectId: ProjectId, domain) { + remove(projectId: ProjectId, domain: string) { const pId = encodeURIComponent(projectId); return RequestHelper.delete(this, `projects/${pId}/pages/domains/${domain}`); diff --git a/src/services/PipelineScheduleVariables.ts b/src/services/PipelineScheduleVariables.ts index a05f6e3b..82d6db47 100644 --- a/src/services/PipelineScheduleVariables.ts +++ b/src/services/PipelineScheduleVariables.ts @@ -1,7 +1,8 @@ import { ResourceVariables } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class PipelineScheduleVariables extends ResourceVariables { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'pipelines', options); } } diff --git a/src/services/PipelineSchedules.ts b/src/services/PipelineSchedules.ts index 2fef7973..0596d29e 100644 --- a/src/services/PipelineSchedules.ts +++ b/src/services/PipelineSchedules.ts @@ -1,13 +1,22 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type PipelineScheduleId = string | number; class PipelineSchedules extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/pipeline_schedules`, options); } - create(projectId: ProjectId, description, ref, cron, options) { + create( + projectId: ProjectId, + description: string, + ref: string, + cron: temporaryAny, + options: RequestOptions, + ) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/pipeline_schedules`, { @@ -18,25 +27,25 @@ class PipelineSchedules extends BaseService { }); } - edit(projectId: ProjectId, scheduleId, options) { + edit(projectId: ProjectId, scheduleId: PipelineScheduleId, options: RequestOptions) { const [pId, sId] = [projectId, scheduleId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/pipeline_schedules/${sId}`, options); } - remove(projectId: ProjectId, scheduleId) { + remove(projectId: ProjectId, scheduleId: PipelineScheduleId) { const [pId, sId] = [projectId, scheduleId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/pipeline_schedules/${sId}`); } - show(projectId: ProjectId, scheduleId) { + show(projectId: ProjectId, scheduleId: PipelineScheduleId) { const [pId, sId] = [projectId, scheduleId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/pipeline_schedules/${sId}`); } - takeOwnership(projectId: ProjectId, scheduleId) { + takeOwnership(projectId: ProjectId, scheduleId: PipelineScheduleId) { const [pId, sId] = [projectId, scheduleId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/pipeline_schedules/${sId}/take_ownership`); diff --git a/src/services/Pipelines.ts b/src/services/Pipelines.ts index 323772fb..256ad02a 100644 --- a/src/services/Pipelines.ts +++ b/src/services/Pipelines.ts @@ -1,4 +1,5 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; export type PipelineId = string | number; @@ -33,7 +34,7 @@ class Pipelines extends BaseService { return RequestHelper.post(this, `projects/${pId}/pipelines/${pipelineId}/cancel`); } - showJobs(projectId: ProjectId, pipelineId: PipelineId, options) { + showJobs(projectId: ProjectId, pipelineId: PipelineId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/pipelines/${pipelineId}/jobs`, options); diff --git a/src/services/ProjectAccessRequests.ts b/src/services/ProjectAccessRequests.ts index 39c686ac..868818e7 100644 --- a/src/services/ProjectAccessRequests.ts +++ b/src/services/ProjectAccessRequests.ts @@ -1,7 +1,8 @@ import { ResourceAccessRequests } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectAccessRequests extends ResourceAccessRequests { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectBadges.ts b/src/services/ProjectBadges.ts index db18dd5e..9392c23e 100644 --- a/src/services/ProjectBadges.ts +++ b/src/services/ProjectBadges.ts @@ -1,7 +1,8 @@ import { ResourceBadges } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectBadges extends ResourceBadges { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectCustomAttributes.ts b/src/services/ProjectCustomAttributes.ts index 6f3bb339..cb02775c 100644 --- a/src/services/ProjectCustomAttributes.ts +++ b/src/services/ProjectCustomAttributes.ts @@ -1,7 +1,8 @@ import { ResourceCustomAttributes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectCustomAttributes extends ResourceCustomAttributes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectHooks.ts b/src/services/ProjectHooks.ts index b7ab392d..45d96a2f 100644 --- a/src/services/ProjectHooks.ts +++ b/src/services/ProjectHooks.ts @@ -1,31 +1,33 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { HookId } from './SystemHooks'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class ProjectHooks extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/hooks`, options); } - show(projectId: ProjectId, hookId) { + show(projectId: ProjectId, hookId: HookId) { const [pId, hId] = [projectId, hookId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/hooks/${hId}`); } - add(projectId: ProjectId, url, options) { + add(projectId: ProjectId, url: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/hooks`, { url, ...options }); } - edit(projectId: ProjectId, hookId, url, options) { + edit(projectId: ProjectId, hookId: HookId, url: string, options: RequestOptions) { const [pId, hId] = [projectId, hookId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/hooks/${hId}`, { url, ...options }); } - remove(projectId: ProjectId, hookId) { + remove(projectId: ProjectId, hookId: HookId) { const [pId, hId] = [projectId, hookId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/hooks/${hId}`); diff --git a/src/services/ProjectImportExport.ts b/src/services/ProjectImportExport.ts index 1d521fe4..513f4661 100644 --- a/src/services/ProjectImportExport.ts +++ b/src/services/ProjectImportExport.ts @@ -1,4 +1,5 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class ProjectImportExport extends BaseService { download(projectId: ProjectId) { @@ -13,7 +14,7 @@ class ProjectImportExport extends BaseService { return RequestHelper.get(this, `projects/${pId}/export`); } - import(file, path, options) { + import(file: temporaryAny, path: string, options: RequestOptions) { return RequestHelper.post(this, 'projects/import', { file, path, ...options }); } @@ -23,7 +24,7 @@ class ProjectImportExport extends BaseService { return RequestHelper.get(this, `projects/${pId}/import`); } - schedule(projectId: ProjectId, options) { + schedule(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/export`, options); diff --git a/src/services/ProjectIssueBoards.ts b/src/services/ProjectIssueBoards.ts index abfd3a1f..a6699ddd 100644 --- a/src/services/ProjectIssueBoards.ts +++ b/src/services/ProjectIssueBoards.ts @@ -1,7 +1,8 @@ import { ResourceIssueBoards } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectIssueBoards extends ResourceIssueBoards { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectMembers.ts b/src/services/ProjectMembers.ts index 59c8acb5..d54644aa 100644 --- a/src/services/ProjectMembers.ts +++ b/src/services/ProjectMembers.ts @@ -1,7 +1,8 @@ import { ResourceMembers } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectMembers extends ResourceMembers { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectMilestones.ts b/src/services/ProjectMilestones.ts index 300687a3..10d78b20 100644 --- a/src/services/ProjectMilestones.ts +++ b/src/services/ProjectMilestones.ts @@ -1,7 +1,8 @@ import { ResourceMilestones } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectMilestones extends ResourceMilestones { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', options); } } diff --git a/src/services/ProjectSnippetAwardEmojis.ts b/src/services/ProjectSnippetAwardEmojis.ts index c3be063e..e697a640 100644 --- a/src/services/ProjectSnippetAwardEmojis.ts +++ b/src/services/ProjectSnippetAwardEmojis.ts @@ -1,7 +1,8 @@ import { ResourceAwardEmojis } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectSnippetAwardEmojis extends ResourceAwardEmojis { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('issues', options); } } diff --git a/src/services/ProjectSnippetDiscussions.ts b/src/services/ProjectSnippetDiscussions.ts index ac6f074b..966458cc 100644 --- a/src/services/ProjectSnippetDiscussions.ts +++ b/src/services/ProjectSnippetDiscussions.ts @@ -1,7 +1,8 @@ import { ResourceDiscussions } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectSnippetDiscussions extends ResourceDiscussions { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'snippets', options); } } diff --git a/src/services/ProjectSnippetNotes.ts b/src/services/ProjectSnippetNotes.ts index 3d2feb0d..d976f22e 100644 --- a/src/services/ProjectSnippetNotes.ts +++ b/src/services/ProjectSnippetNotes.ts @@ -1,7 +1,8 @@ import { ResourceNotes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectSnippetNotes extends ResourceNotes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('projects', 'snippets', options); } } diff --git a/src/services/ProjectSnippets.ts b/src/services/ProjectSnippets.ts index 519a7175..9c6eba5b 100644 --- a/src/services/ProjectSnippets.ts +++ b/src/services/ProjectSnippets.ts @@ -1,4 +1,5 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; const VISIBILITY_LEVELS = { PRIVATE: 'private', @@ -6,6 +7,8 @@ const VISIBILITY_LEVELS = { PUBLIC: 'public', }; +type SnippetId = string | number; +type VisibilityLevel = 'private' | 'public' | 'internal'; class ProjectSnippets extends BaseService { all(projectId: ProjectId, options = {}) { const pId = encodeURIComponent(projectId); @@ -13,13 +16,20 @@ class ProjectSnippets extends BaseService { return RequestHelper.get(this, `projects/${pId}/snippets`, options); } - content(projectId: ProjectId, snippetId) { + content(projectId: ProjectId, snippetId: SnippetId) { const [pId, sId] = [projectId, snippetId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/snippets/${sId}/raw`); } - create(projectId: ProjectId, title, fileName, code, visibility, options = {}) { + create( + projectId: ProjectId, + title: string, + fileName: string, + code: string, + visibility: VisibilityLevel, + options: RequestOptions = {}, + ) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/snippets`, { @@ -31,25 +41,25 @@ class ProjectSnippets extends BaseService { }); } - edit(projectId: ProjectId, snippetId, options) { + edit(projectId: ProjectId, snippetId: SnippetId, options: RequestOptions) { const [pId, sId] = [projectId, snippetId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/snippets/${sId}`, options); } - remove(projectId: ProjectId, snippetId) { + remove(projectId: ProjectId, snippetId: SnippetId) { const [pId, sId] = [projectId, snippetId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/snippets/${sId}`); } - show(projectId: ProjectId, snippetId) { + show(projectId: ProjectId, snippetId: SnippetId) { const [pId, sId] = [projectId, snippetId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/snippets/${sId}`); } - userAgentDetails(projectId: ProjectId, snippetId) { + userAgentDetails(projectId: ProjectId, snippetId: SnippetId) { const [pId, sId] = [projectId, snippetId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/snippets/${sId}/user_agent_detail`); diff --git a/src/services/ProjectVariables.ts b/src/services/ProjectVariables.ts index 9fae5c64..d8d1f0e0 100644 --- a/src/services/ProjectVariables.ts +++ b/src/services/ProjectVariables.ts @@ -1,8 +1,9 @@ import { ResourceVariables } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class ProjectVariables extends ResourceVariables { - constructor(options) { - super('projects', null, options); + constructor(options: BaseModelContructorOptions) { + super('projects', null as temporaryAny, options); } } diff --git a/src/services/Projects.ts b/src/services/Projects.ts index 9f2a1a45..40d4ff03 100644 --- a/src/services/Projects.ts +++ b/src/services/Projects.ts @@ -1,9 +1,12 @@ import Fs from 'fs'; import Path from 'path'; import { BaseService, RequestHelper } from '../infrastructure'; -import { validateEventOptions } from './Events'; +import { assertEventOptions } from './Events'; import { RequestOptions } from '../infrastructure/RequestHelper'; +/** TODO annotate options */ +type ProjectOptions = temporaryAny; + class Projects extends BaseService { all(options?: RequestOptions) { return RequestHelper.get(this, 'projects', options); @@ -14,34 +17,36 @@ class Projects extends BaseService { return RequestHelper.post(this, `projects/${pId}/archive`); } - - create(options) { + /** + * @see https://docs.gitlab.com/ee/api/projects.html#create-project-for-user + */ + create(options: temporaryAny) { const url = options.userId ? `projects/user/${encodeURIComponent(options.userId)}` : 'projects'; return RequestHelper.post(this, url, options); } - edit(projectId: ProjectId, options) { + edit(projectId: ProjectId, options: temporaryAny) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}`, options); } - events(projectId: ProjectId, options) { - validateEventOptions(options.action, options.targetType); + events(projectId: ProjectId, options: ProjectOptions) { + assertEventOptions(options.action, options.targetType); const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/events`, options); } - fork(projectId: ProjectId, options) { + fork(projectId: ProjectId, options: ProjectOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/fork`, options); } - forks(projectId: ProjectId, options) { + forks(projectId: ProjectId, options: ProjectOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/forks`, options); @@ -69,7 +74,7 @@ class Projects extends BaseService { return RequestHelper.get(this, 'projects', { search: projectName }); } - share(projectId: ProjectId, groupId, groupAccess, options) { + share(projectId: ProjectId, groupId: GroupId, groupAccess: GroupAccess, options: ProjectOptions) { const pId = encodeURIComponent(projectId); if (!groupId || !groupAccess) throw new Error('Missing required arguments'); @@ -77,7 +82,7 @@ class Projects extends BaseService { return RequestHelper.post(this, `projects/${pId}/share`, { groupId, groupAccess, ...options }); } - show(projectId: ProjectId, options) { + show(projectId: ProjectId, options: ProjectOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}`, options); @@ -89,15 +94,15 @@ class Projects extends BaseService { return RequestHelper.post(this, `projects/${pId}/star`); } - statuses(projectId: ProjectId, sha, state, options) { + statuses(projectId: ProjectId, sha: string, state: string, options: ProjectOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/statuses/${sha}`, { state, ...options }); } - transfer(projectId: ProjectId, namespace) { + transfer(projectId: ProjectId, namespace: string) { const pId = encodeURIComponent(projectId); - return RequestHelper.put(this, `projects/${pId}/transfer`, namespace); + return RequestHelper.put(this, `projects/${pId}/transfer`, { namespace }); } unarchive(projectId: ProjectId) { @@ -106,7 +111,7 @@ class Projects extends BaseService { return RequestHelper.post(this, `projects/${pId}/unarchive`); } - unshare(projectId: ProjectId, groupId) { + unshare(projectId: ProjectId, groupId: GroupId) { const [pId, gId] = [projectId, groupId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/share${gId}`); @@ -118,13 +123,13 @@ class Projects extends BaseService { return RequestHelper.post(this, `projects/${pId}/unstar`); } - updatePushRule(projectId: ProjectId, options) { + updatePushRule(projectId: ProjectId, options: ProjectOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}/push_rule`, options); } - upload(projectId: ProjectId, filePath, { fileName = Path.basename(filePath) } = {}) { + upload(projectId: ProjectId, filePath: string, { fileName = Path.basename(filePath) } = {}) { const pId = encodeURIComponent(projectId); const file = Fs.readFileSync(filePath); diff --git a/src/services/ProtectedBranches.ts b/src/services/ProtectedBranches.ts index 910032f9..4ee9d094 100644 --- a/src/services/ProtectedBranches.ts +++ b/src/services/ProtectedBranches.ts @@ -1,13 +1,14 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class ProtectedBranches extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/protected_branches`, options); } - protect(projectId: ProjectId, branchName, options) { + protect(projectId: ProjectId, branchName: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/protected_branches`, { @@ -16,13 +17,13 @@ class ProtectedBranches extends BaseService { }); } - show(projectId: ProjectId, branchName) { + show(projectId: ProjectId, branchName: string) { const [pId, bName] = [projectId, branchName].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/protected_branches/${bName}`); } - unprotect(projectId: ProjectId, branchName) { + unprotect(projectId: ProjectId, branchName: string) { const [pId, bName] = [projectId, branchName].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/protected_branches/${bName}`); diff --git a/src/services/PushRule.ts b/src/services/PushRule.ts index 843ee961..7ab12b76 100644 --- a/src/services/PushRule.ts +++ b/src/services/PushRule.ts @@ -1,7 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class PushRule extends BaseService { - create(projectId: ProjectId, options) { + create(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/push_rule`, options); diff --git a/src/services/Repositories.ts b/src/services/Repositories.ts index 798e1d2d..9ba8ae88 100644 --- a/src/services/Repositories.ts +++ b/src/services/Repositories.ts @@ -1,7 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Repositories extends BaseService { - compare(projectId: ProjectId, from, to) { + compare(projectId: ProjectId, from: string, to: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/compare`, { @@ -16,7 +17,7 @@ class Repositories extends BaseService { return RequestHelper.get(this, `projects/${pId}/repository/contributors`); } - showArchive(projectId: ProjectId, { sha }) { + showArchive(projectId: ProjectId, { sha }: { sha: string }) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/archive`, { @@ -24,19 +25,19 @@ class Repositories extends BaseService { }); } - showBlob(projectId: ProjectId, sha) { + showBlob(projectId: ProjectId, sha: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/blobs/${sha}`); } - showBlobRaw(projectId: ProjectId, sha) { + showBlobRaw(projectId: ProjectId, sha: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/blobs/${sha}/raw`); } - tree(projectId: ProjectId, options) { + tree(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/tree`, options); diff --git a/src/services/RepositoryFiles.ts b/src/services/RepositoryFiles.ts index a5049011..ce064067 100644 --- a/src/services/RepositoryFiles.ts +++ b/src/services/RepositoryFiles.ts @@ -1,7 +1,8 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class RepositoryFiles extends BaseService { - create(projectId: ProjectId, filePath, branch, options) { + create(projectId: ProjectId, filePath: string, branch: string, options: RequestOptions) { const [pId, path] = [projectId, filePath].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/repository/files/${path}`, { @@ -10,7 +11,7 @@ class RepositoryFiles extends BaseService { }); } - edit(projectId: ProjectId, filePath, branch, options) { + edit(projectId: ProjectId, filePath: string, branch: string, options: RequestOptions) { const [pId, path] = [projectId, filePath].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/repository/files/${path}`, { @@ -19,7 +20,7 @@ class RepositoryFiles extends BaseService { }); } - remove(projectId: ProjectId, filePath, branch, options) { + remove(projectId: ProjectId, filePath: string, branch: string, options: RequestOptions) { const [pId, path] = [projectId, filePath].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/repository/files/${path}`, { @@ -28,7 +29,7 @@ class RepositoryFiles extends BaseService { }); } - show(projectId: ProjectId, filePath, ref) { + show(projectId: ProjectId, filePath: string, ref: string) { const [pId, path] = [projectId, filePath].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/repository/files/${path}`, { @@ -36,7 +37,7 @@ class RepositoryFiles extends BaseService { }); } - showRaw(projectId: ProjectId, filePath, ref) { + showRaw(projectId: ProjectId, filePath: string, ref: string) { const [pId, path] = [projectId, filePath].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/repository/files/${path}/raw`, { ref }); diff --git a/src/services/Runners.ts b/src/services/Runners.ts index 5e335b1a..f063c09f 100644 --- a/src/services/Runners.ts +++ b/src/services/Runners.ts @@ -1,5 +1,7 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; +type RunnerId = string | number; interface RunnersOptions { projectId?: ProjectId; } @@ -10,41 +12,41 @@ class Runners extends BaseService { return RequestHelper.get(this, url, options); } - allOwned(options) { + allOwned(options: RequestOptions) { return RequestHelper.get(this, 'runners', options); } - edit(runnerId, attributes) { + edit(runnerId: RunnerId, options: RequestOptions) { const rId = encodeURIComponent(runnerId); - return RequestHelper.put(this, `runners/${rId}`, attributes); + return RequestHelper.put(this, `runners/${rId}`, options); } - enable(projectId: ProjectId, runnerId) { + enable(projectId: ProjectId, runnerId: RunnerId) { const [pId, rId] = [projectId, runnerId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/runners`, { runnerId: rId }); } - disable(projectId: ProjectId, runnerId) { + disable(projectId: ProjectId, runnerId: RunnerId) { const [pId, rId] = [projectId, runnerId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/runners/${rId}`); } - jobs(runnerId) { + jobs(runnerId: RunnerId) { const rId = encodeURIComponent(runnerId); return RequestHelper.get(this, `runners/${rId}/jobs`); } - remove(runnerId) { + remove(runnerId: RunnerId) { const rId = encodeURIComponent(runnerId); return RequestHelper.delete(this, `runners/${rId}`); } - show(runnerId) { + show(runnerId: RunnerId) { const rId = encodeURIComponent(runnerId); return RequestHelper.get(this, `runners/${rId}`); diff --git a/src/services/Search.ts b/src/services/Search.ts index 582029e3..af9985c8 100644 --- a/src/services/Search.ts +++ b/src/services/Search.ts @@ -1,11 +1,11 @@ import { BaseService, RequestHelper } from '../infrastructure'; interface SearchOptions { - projectId?: ProjectId; - groupId?: string; + projectId: ProjectId; + groupId: string | number; } class Search extends BaseService { - all(scope, search, { projectId, groupId }: SearchOptions = {}) { + all(scope: string, search: string, { projectId, groupId }: SearchOptions) { let url = ''; if (projectId) { diff --git a/src/services/Services.ts b/src/services/Services.ts index d8cb14e2..5f7aae95 100644 --- a/src/services/Services.ts +++ b/src/services/Services.ts @@ -1,19 +1,29 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; +type ServiceName = 'asana' | 'assembla' | 'bamboo' | 'bugzilla' | 'buildkite' | 'campfire' + | 'custom-issue-tracker' | 'drone-ci' | 'emails-on-push' | 'external-wiki' | 'flowdock' + | 'hangouts_chat' | 'hipchat' | 'irker' | 'jira' | 'kubernetes' | 'slack-slash-commands' + | 'slack' | 'mattermost-slash-commands' | 'packagist' | 'pipelines-email' | 'pivotaltracker' + | 'prometheus' | 'pushover' | 'redmine' | 'microsoft-teams' | 'mattermost' + | 'mattermost-slash-commands' | 'teamcity' | 'jenkins' | 'jenkins-deprecated' | 'mock-ci'; +/** + * @see https://docs.gitlab.com/ee/api/services.html + */ class Services extends BaseService { - edit(projectId: ProjectId, serviceName, options) { + edit(projectId: ProjectId, serviceName: ServiceName, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}/services/${serviceName}`, options); } - remove(projectId: ProjectId, serviceName) { + remove(projectId: ProjectId, serviceName: ServiceName) { const pId = encodeURIComponent(projectId); return RequestHelper.delete(this, `projects/${pId}/services/${serviceName}`); } - show(projectId: ProjectId, serviceName) { + show(projectId: ProjectId, serviceName: ServiceName) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/services/${serviceName}`); diff --git a/src/services/SystemHooks.ts b/src/services/SystemHooks.ts index ad501e37..65bd78a1 100644 --- a/src/services/SystemHooks.ts +++ b/src/services/SystemHooks.ts @@ -1,21 +1,23 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; +export type HookId = string | number; class SystemHooks extends BaseService { - add(url, options) { + add(url: string, options: RequestOptions) { return RequestHelper.post(this, 'hooks', { url, ...options }); } - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'hooks', options); } - edit(hookId, url, options) { + edit(hookId: HookId, url: string, options: RequestOptions) { const hId = encodeURIComponent(hookId); return RequestHelper.put(this, `hooks/${hId}`, { url, ...options }); } - remove(projectId: ProjectId, hookId) { + remove(projectId: ProjectId, hookId: HookId) { const hId = encodeURIComponent(hookId); return RequestHelper.delete(this, `hooks/${hId}`); diff --git a/src/services/Tags.ts b/src/services/Tags.ts index 29b116fa..381b4ade 100644 --- a/src/services/Tags.ts +++ b/src/services/Tags.ts @@ -1,13 +1,14 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Tags extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/repository/tags`, options); } - create(projectId: ProjectId, options) { + create(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/repository/tags`, options); diff --git a/src/services/Todos.ts b/src/services/Todos.ts index ff1299a5..4451264e 100644 --- a/src/services/Todos.ts +++ b/src/services/Todos.ts @@ -1,20 +1,23 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; +import { MergeRequestId } from './MergeRequests'; +type TodoId = string | number; interface TodosOptions { - todoId?: string; + todoId: TodoId; } class Todos extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'todos', options); } - create(projectId: ProjectId, mergerequestId) { + create(projectId: ProjectId, mergerequestId: MergeRequestId) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/todo`); } - done({ todoId }: TodosOptions = {}) { + done({ todoId }: TodosOptions) { const tId = encodeURIComponent(todoId); return RequestHelper.delete(this, `todos/${tId}/mark_as_done`); diff --git a/src/services/Triggers.ts b/src/services/Triggers.ts index 1389dde2..70b23644 100644 --- a/src/services/Triggers.ts +++ b/src/services/Triggers.ts @@ -1,7 +1,10 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; + +type TriggerId = string | number; class Triggers extends BaseService { - add(projectId: ProjectId, options) { + add(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/triggers`, options); @@ -13,19 +16,19 @@ class Triggers extends BaseService { return RequestHelper.get(this, `projects/${pId}/triggers`); } - edit(projectId: ProjectId, triggerId, options) { + edit(projectId: ProjectId, triggerId: TriggerId, options: RequestOptions) { const [pId, tId] = [projectId, triggerId].map(encodeURIComponent); return RequestHelper.put(this, `projects/${pId}/triggers/${tId}`, options); } - remove(projectId: ProjectId, triggerId) { + remove(projectId: ProjectId, triggerId: TriggerId) { const [pId, tId] = [projectId, triggerId].map(encodeURIComponent); return RequestHelper.delete(this, `projects/${pId}/triggers/${tId}`); } - show(projectId: ProjectId, triggerId) { + show(projectId: ProjectId, triggerId: TriggerId) { const [pId, tId] = [projectId, triggerId].map(encodeURIComponent); return RequestHelper.get(this, `projects/${pId}/triggers/${tId}`); diff --git a/src/services/UserCustomAttributes.ts b/src/services/UserCustomAttributes.ts index 109fb9aa..93dea4e5 100644 --- a/src/services/UserCustomAttributes.ts +++ b/src/services/UserCustomAttributes.ts @@ -1,7 +1,8 @@ import { ResourceCustomAttributes } from '../templates'; +import { BaseModelContructorOptions } from '../infrastructure/BaseService'; class UserCustomAttributes extends ResourceCustomAttributes { - constructor(options) { + constructor(options: BaseModelContructorOptions) { super('users', options); } } diff --git a/src/services/UserEmails.ts b/src/services/UserEmails.ts index 16f3309a..0193644c 100644 --- a/src/services/UserEmails.ts +++ b/src/services/UserEmails.ts @@ -1,25 +1,25 @@ import { BaseService, RequestHelper } from '../infrastructure'; -const url = userId => (userId ? `users/${encodeURIComponent(userId)}/emails` : 'user/emails'); +const url = (userId?: UserId) => (userId ? `users/${encodeURIComponent(userId)}/emails` : 'user/emails'); class UserEmails extends BaseService { all({ userId }: UserIdOptions = {}) { return RequestHelper.get(this, url(userId)); } - add(email, { userId }: UserIdOptions = {}) { + add(email: string, { userId }: UserIdOptions = {}) { return RequestHelper.post(this, url(userId), { email, }); } - show(emailId) { + show(emailId: string) { const eId = encodeURIComponent(emailId); return RequestHelper.get(this, `user/emails/${eId}`); } - remove(emailId, { userId }: UserIdOptions = {}) { + remove(emailId: string, { userId }: UserIdOptions = {}) { const eId = encodeURIComponent(emailId); return RequestHelper.delete(this, `${url(userId)}/${eId}`); diff --git a/src/services/UserGPGKeys.ts b/src/services/UserGPGKeys.ts index c3eb4544..f0b5af93 100644 --- a/src/services/UserGPGKeys.ts +++ b/src/services/UserGPGKeys.ts @@ -1,26 +1,26 @@ import { BaseService, RequestHelper } from '../infrastructure'; -const url = userId => (userId ? `users/${encodeURIComponent(userId)}/gpg_keys` : 'users/gpg_keys'); +const url = (userId?: UserId) => (userId ? `users/${encodeURIComponent(userId)}/gpg_keys` : 'users/gpg_keys'); class UserGPGKeys extends BaseService { all({ userId }: UserIdOptions = {}) { return RequestHelper.get(this, url(userId)); } - add(title, key, { userId }: UserIdOptions = {}) { + add(title: string, key: string, { userId }: UserIdOptions = {}) { return RequestHelper.post(this, url(userId), { title, key, }); } - show(keyId, { userId }: UserIdOptions = {}) { + show(keyId: string, { userId }: UserIdOptions = {}) { const kId = encodeURIComponent(keyId); return RequestHelper.get(this, `${url(userId)}/${kId}`); } - remove(keyId, { userId }: UserIdOptions = {}) { + remove(keyId: string, { userId }: UserIdOptions = {}) { const kId = encodeURIComponent(keyId); return RequestHelper.delete(this, `${url(userId)}/${kId}`); diff --git a/src/services/UserImpersonationTokens.ts b/src/services/UserImpersonationTokens.ts index d2596c65..bb6cea5d 100644 --- a/src/services/UserImpersonationTokens.ts +++ b/src/services/UserImpersonationTokens.ts @@ -1,13 +1,24 @@ import { BaseService, RequestHelper } from '../infrastructure'; +type ImpersonationTokenId = string | number; + class UserImpersonationTokens extends BaseService { - all(userId) { + all(userId: UserId) { const uId = encodeURIComponent(userId); return RequestHelper.get(this, `users/${uId}/impersonation_tokens`); } - - add(userId, name, scopes, expiresAt) { + /** + * It creates a new impersonation token. Note that only administrators can do this. + * You are only able to create impersonation tokens to impersonate the user and perform + * both API calls and Git reads and writes. The user will not see these tokens + * in their profile settings page. + * @param userId UserId + * @param name The name of the impersonation token + * @param scopes The array of scopes of the impersonation token (api, read_user) + * @param expiresAt The expiration date of the impersonation token in ISO format (YYYY-MM-DD) + */ + add(userId: UserId, name: string, scopes: temporaryAny, expiresAt: string) { const uId = encodeURIComponent(userId); return RequestHelper.post(this, `users/${uId}/impersonation_tokens`, { @@ -17,13 +28,13 @@ class UserImpersonationTokens extends BaseService { }); } - show(userId, tokenId) { + show(userId: UserId, tokenId: ImpersonationTokenId) { const [uId, tId] = [userId, tokenId].map(encodeURIComponent); return RequestHelper.get(this, `users/${uId}/impersonation_tokens/${tId}`); } - revoke(userId, tokenId) { + revoke(userId: UserId, tokenId: ImpersonationTokenId) { const [uId, tId] = [userId, tokenId].map(encodeURIComponent); return RequestHelper.delete(this, `users/${uId}/impersonation_tokens/${tId}`); diff --git a/src/services/Users.ts b/src/services/Users.ts index 3198335b..d9228295 100644 --- a/src/services/Users.ts +++ b/src/services/Users.ts @@ -1,8 +1,9 @@ import { BaseService, RequestHelper } from '../infrastructure'; -import { validateEventOptions } from './Events'; +import { assertEventOptions, EventOptions } from './Events'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Users extends BaseService { - all(options) { + all(options: RequestOptions) { return RequestHelper.get(this, 'users', options); } @@ -10,19 +11,19 @@ class Users extends BaseService { return RequestHelper.get(this, 'users/activities'); } - projects(userId) { + projects(userId: UserId) { const uId = encodeURIComponent(userId); return RequestHelper.get(this, `users/${uId}/projects`); } - block(userId) { + block(userId: UserId) { const uId = encodeURIComponent(userId); return RequestHelper.post(this, `users/${uId}/block`); } - create(options) { + create(options: RequestOptions) { return RequestHelper.post(this, 'users', options); } @@ -36,40 +37,40 @@ class Users extends BaseService { return RequestHelper.put(this, `users/${uId}`, options); } - events(userId, options) { - validateEventOptions(options.action, options.targetType); + events(userId: UserId, options: RequestOptions & EventOptions) { + assertEventOptions(options.action, options.targetType); const uId = encodeURIComponent(userId); return RequestHelper.get(this, `users/${uId}/events`, options); } - session(email, password) { + session(email: string, password: string) { return RequestHelper.post(this, 'session', { email, password, }); } - search(emailOrUsername) { + search(emailOrUsername: string) { return RequestHelper.get(this, 'users', { search: emailOrUsername, }); } - show(userId, options) { + show(userId: UserId, options: RequestOptions) { const uId = encodeURIComponent(userId); return RequestHelper.get(this, `users/${uId}`, options); } - remove(userId) { + remove(userId: UserId) { const uId = encodeURIComponent(userId); return RequestHelper.delete(this, `users/${uId}`); } - unblock(userId) { + unblock(userId: UserId) { const uId = encodeURIComponent(userId); return RequestHelper.post(this, `users/${uId}/unblock`); diff --git a/src/services/Wikis.ts b/src/services/Wikis.ts index 976a5a10..c57eeaa2 100644 --- a/src/services/Wikis.ts +++ b/src/services/Wikis.ts @@ -1,31 +1,32 @@ import { BaseService, RequestHelper } from '../infrastructure'; +import { RequestOptions } from '../infrastructure/RequestHelper'; class Wikis extends BaseService { - all(projectId: ProjectId, options) { + all(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/wikis`, options); } - create(projectId: ProjectId, options) { + create(projectId: ProjectId, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.post(this, `projects/${pId}/wikis`, options); } - edit(projectId: ProjectId, slug, options) { + edit(projectId: ProjectId, slug: string, options: RequestOptions) { const pId = encodeURIComponent(projectId); return RequestHelper.put(this, `projects/${pId}/wikis/${slug}`, options); } - show(projectId: ProjectId, slug) { + show(projectId: ProjectId, slug: string) { const pId = encodeURIComponent(projectId); return RequestHelper.get(this, `projects/${pId}/wikis/${slug}`); } - remove(projectId: ProjectId, slug) { + remove(projectId: ProjectId, slug: string) { const pId = encodeURIComponent(projectId); return RequestHelper.delete(this, `projects/${pId}/wikis/${slug}`); diff --git a/src/templates/ResourceAccessRequests.ts b/src/templates/ResourceAccessRequests.ts index 81ecf0bd..f36abd72 100644 --- a/src/templates/ResourceAccessRequests.ts +++ b/src/templates/ResourceAccessRequests.ts @@ -26,21 +26,21 @@ class ResourceAccessRequests extends BaseService { return RequestHelper.get(this, `${rId}/access_requests`); } - request(resourceId) { + request(resourceId: ResourceId) { const rId = encodeURIComponent(resourceId); return RequestHelper.post(this, `${rId}/access_requests`); } - approve(resourceId: ResourceId, userId, { accessLevel = 30 }) { + approve(resourceId: ResourceId, userId: UserId, { accessLevel = 30 }) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); return RequestHelper.post(this, `${rId}/access_requests/${uId}/approve`, { - accessLevel, + access_level: accessLevel, }); } - deny(resourceId: ResourceId, userId) { + deny(resourceId: ResourceId, userId: UserId) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); return RequestHelper.delete(this, `${rId}/access_requests/${uId}`); diff --git a/src/templates/ResourceAwardEmojis.ts b/src/templates/ResourceAwardEmojis.ts index 5a1683f5..cf653928 100644 --- a/src/templates/ResourceAwardEmojis.ts +++ b/src/templates/ResourceAwardEmojis.ts @@ -1,6 +1,7 @@ import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; import { BaseModelContructorOptions } from '../infrastructure/BaseService'; +import { RequestOptions } from '../infrastructure/RequestHelper'; function url( projectId: ProjectId, @@ -30,21 +31,21 @@ class ResourceAwardsEmojis extends BaseService { this.resourceType = resourceType; } - all(projectId: ProjectId, resourceId: ResourceId, options, noteId: NoteId) { + all(projectId: ProjectId, resourceId: ResourceId, options: RequestOptions, noteId: NoteId) { return RequestHelper.get(this, url(projectId, this.resourceType, resourceId, noteId), options); } - award(projectId: ProjectId, resourceId: ResourceId, name, noteId: NoteId) { + award(projectId: ProjectId, resourceId: ResourceId, name: string, noteId: NoteId) { return RequestHelper.post(this, url(projectId, this.resourceType, resourceId, noteId), { name, }); } - remove(projectId: ProjectId, resourceId: ResourceId, awardId, noteId: NoteId) { + remove(projectId: ProjectId, resourceId: ResourceId, awardId: string | number, noteId: NoteId) { return RequestHelper.delete(this, url(projectId, this.resourceType, resourceId, noteId)); } - show(projectId: ProjectId, resourceId: ResourceId, awardId, noteId: NoteId) { + show(projectId: ProjectId, resourceId: ResourceId, awardId: string | number, noteId: NoteId) { return RequestHelper.get(this, url(projectId, this.resourceType, resourceId, noteId)); } } diff --git a/src/templates/ResourceBadges.ts b/src/templates/ResourceBadges.ts index a65cddba..42183528 100644 --- a/src/templates/ResourceBadges.ts +++ b/src/templates/ResourceBadges.ts @@ -1,7 +1,9 @@ import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; import { BaseModelContructorOptions } from '../infrastructure/BaseService'; +import { RequestOptions } from '../infrastructure/RequestHelper'; +export type BadgeId = string | number; class ResourceBadges extends BaseService { constructor(resourceType: string, baseParams: BaseModelContructorOptions) { super(baseParams); @@ -9,37 +11,37 @@ class ResourceBadges extends BaseService { this.url = URLJoin(this.url, resourceType); } - add(resourceId: ResourceId, options) { + add(resourceId: ResourceId, options: RequestOptions) { const rId = encodeURIComponent(resourceId); return RequestHelper.post(this, `${rId}/badges`, options); } - all(resourceId: ResourceId, options) { + all(resourceId: ResourceId, options: RequestOptions) { const rId = encodeURIComponent(resourceId); return RequestHelper.get(this, `${rId}/badges`, options); } - edit(resourceId: ResourceId, badgeId, options) { + edit(resourceId: ResourceId, badgeId: BadgeId, options: RequestOptions) { const [rId, bId] = [resourceId, badgeId].map(encodeURIComponent); return RequestHelper.put(this, `${rId}/badges/${bId}`, options); } - preview(resourceId: ResourceId, linkUrl, imageUrl) { + preview(resourceId: ResourceId, linkUrl: string, imageUrl: string) { const rId = encodeURIComponent(resourceId); return RequestHelper.get(this, `${rId}/badges/render`, { linkUrl, imageUrl }); } - remove(resourceId: ResourceId, badgeId) { + remove(resourceId: ResourceId, badgeId: BadgeId) { const [rId, bId] = [resourceId, badgeId].map(encodeURIComponent); return RequestHelper.delete(this, `${rId}/badges/${bId}`); } - show(resourceId: ResourceId, badgeId) { + show(resourceId: ResourceId, badgeId: BadgeId) { const [rId, bId] = [resourceId, badgeId].map(encodeURIComponent); return RequestHelper.get(this, `${rId}/badges/${bId}`); diff --git a/src/templates/ResourceCustomAttributes.ts b/src/templates/ResourceCustomAttributes.ts index 123b569e..fff2f884 100644 --- a/src/templates/ResourceCustomAttributes.ts +++ b/src/templates/ResourceCustomAttributes.ts @@ -2,6 +2,7 @@ import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; import { BaseModelContructorOptions } from '../infrastructure/BaseService'; +export type CustomAttributeId = string | number; class ResourceCustomAttributes extends BaseService { constructor(resourceType: string, baseParams: BaseModelContructorOptions) { super(baseParams); @@ -15,7 +16,7 @@ class ResourceCustomAttributes extends BaseService { return RequestHelper.get(this, `${rId}/custom_attributes`); } - set(resourceId: ResourceId, customAttributeId, value) { + set(resourceId: ResourceId, customAttributeId: CustomAttributeId, value: string) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); return RequestHelper.put(this, `${rId}/custom_attributes/${cId}`, { @@ -23,13 +24,13 @@ class ResourceCustomAttributes extends BaseService { }); } - remove(resourceId: ResourceId, customAttributeId) { + remove(resourceId: ResourceId, customAttributeId: CustomAttributeId) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); return RequestHelper.delete(this, `${rId}/custom_attributes/${cId}`); } - show(resourceId: ResourceId, customAttributeId) { + show(resourceId: ResourceId, customAttributeId: CustomAttributeId) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); return RequestHelper.get(this, `${rId}/custom_attributes/${cId}`); diff --git a/src/types.d.ts b/src/types.d.ts index 622b5521..f343c151 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -11,6 +11,12 @@ type Resource2Id = string; // see if we can narrow the type to string liter type NoteId = string; // see if `| number` is a valid type type ProjectId = string | number; type KeyId = string; // see if `| number` is a valid type +type GroupId = string | number; + +type GroupAccess = temporaryAny; + +/** The duration in human format. e.g: 3h30m */ +type Duration = string; /** * Encodes a text string as a valid component of a Uniform Resource Identifier (URI).