From 4406e5c41682889ac9d54b21fb120be4a9f44bf6 Mon Sep 17 00:00:00 2001 From: mrmld Date: Sun, 21 Feb 2021 22:35:57 +0300 Subject: [PATCH] Added typescript type declarations & typescript support --- .eslintrc.js | 3 +- .gitignore | 3 + package.json | 5 +- src/api/index.d.ts | 2 + src/profiles/index.d.ts | 16 ++++ src/structures/agent.d.ts | 3 + src/structures/client.d.ts | 7 ++ src/structures/index.d.ts | 4 + yarn.lock | 156 ++++++++++++++++++++++++------------- 9 files changed, 143 insertions(+), 56 deletions(-) create mode 100644 src/api/index.d.ts create mode 100644 src/profiles/index.d.ts create mode 100644 src/structures/agent.d.ts create mode 100644 src/structures/client.d.ts create mode 100644 src/structures/index.d.ts diff --git a/.eslintrc.js b/.eslintrc.js index 2fbd476..8372590 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -12,5 +12,6 @@ module.exports = { sourceType: 'module' }, rules: { - } + }, + ignorePatterns: ['*.d.ts'] } diff --git a/.gitignore b/.gitignore index c54e846..d6b1119 100644 --- a/.gitignore +++ b/.gitignore @@ -117,3 +117,6 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* + +# Jetbrains IDE +.idea/ diff --git a/package.json b/package.json index 6e1831a..80ce88d 100644 --- a/package.json +++ b/package.json @@ -4,18 +4,21 @@ "main": "src/index.js", "author": "Seia-Soto ", "license": "MIT", + "types": "src/index.d.ts", "scripts": { "example": "node example", "profile": "node scripts/profile" }, "devDependencies": { + "@types/node-fetch": "^2.5.8", "babel-eslint": "^10.1.0", "eslint": "^7.19.0", "eslint-config-standard": "^16.0.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1" + "eslint-plugin-promise": "^4.3.1", + "typescript": "^4.1.5" }, "dependencies": { "debug": "^4.3.1", diff --git a/src/api/index.d.ts b/src/api/index.d.ts new file mode 100644 index 0000000..7972c5f --- /dev/null +++ b/src/api/index.d.ts @@ -0,0 +1,2 @@ +declare var content: any; +export = content; diff --git a/src/profiles/index.d.ts b/src/profiles/index.d.ts new file mode 100644 index 0000000..7a379cc --- /dev/null +++ b/src/profiles/index.d.ts @@ -0,0 +1,16 @@ +type Locale = { languages: string, locale: string, acceptLanguages: string } +type Application = { + apiRoot: string; + userAgnet: string; + userAgentStatic: string; + appVersion: string; + appBuild: string; + agoraKey: string; + pubnubRoot: string; + pubnubPubKey: string; + pubnubSubKey: string; + pubnubSDK: string; +} + +export declare const application: { a297: Application, a304: Application }; +export declare const locales: { English: Locale, Korean: Locale }; diff --git a/src/structures/agent.d.ts b/src/structures/agent.d.ts new file mode 100644 index 0000000..40223ed --- /dev/null +++ b/src/structures/agent.d.ts @@ -0,0 +1,3 @@ +import fetch from "node-fetch"; + +export default function agent(url: string, options: any, customs: any): ReturnType; diff --git a/src/structures/client.d.ts b/src/structures/client.d.ts new file mode 100644 index 0000000..8920bad --- /dev/null +++ b/src/structures/client.d.ts @@ -0,0 +1,7 @@ +type ClubhouseApiResult = ({ success: true } & T) | + { success: false, error_message: string }; + +export declare class Client { + constructor(params: { profile: any }); + [k: string]: (...params: any) => Promise>; +} diff --git a/src/structures/index.d.ts b/src/structures/index.d.ts new file mode 100644 index 0000000..21c1573 --- /dev/null +++ b/src/structures/index.d.ts @@ -0,0 +1,4 @@ +import { Client as client } from './client'; +import agent from './agent'; + +export { client, agent }; diff --git a/yarn.lock b/yarn.lock index 074f25e..aca0c79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,15 @@ __metadata: version: 4 cacheKey: 7 +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 033d3fb3bf911929c0d904282ee69d1197c8d8ae9c6492aaab09e530bca8c463b11c190185dfda79866556facb5bb4c8dc0b4b32b553d021987fcc28c8dd9c6c + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13": version: 7.12.13 resolution: "@babel/code-frame@npm:7.12.13" @@ -14,14 +23,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.13": - version: 7.12.15 - resolution: "@babel/generator@npm:7.12.15" +"@babel/generator@npm:^7.12.17": + version: 7.12.17 + resolution: "@babel/generator@npm:7.12.17" dependencies: - "@babel/types": ^7.12.13 + "@babel/types": ^7.12.17 jsesc: ^2.5.1 source-map: ^0.5.0 - checksum: 243c7c8987b9720d7cc8ecec165f69fda4159bb3ab19d3f09a4d5c6d35644d3b62293903aab0ae1f34dda61e39094bfea604d88a035e9f9ec485ffde636a734f + checksum: c49e56cad0ae307561ec3989f6dcd183f8b9d6576550eb7f2f7c80f21c779c7f8407d81dca2e7830b84259cf898379ec5fea8183b921e41e369d1a32768a6c80 languageName: node linkType: hard @@ -61,7 +70,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.12.13": +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.12.13": version: 7.12.13 resolution: "@babel/highlight@npm:7.12.13" dependencies: @@ -72,12 +81,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.12.13, @babel/parser@npm:^7.7.0": - version: 7.12.16 - resolution: "@babel/parser@npm:7.12.16" +"@babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.17, @babel/parser@npm:^7.7.0": + version: 7.12.17 + resolution: "@babel/parser@npm:7.12.17" bin: parser: ./bin/babel-parser.js - checksum: 437970f6cfbe5ffbd1bcb316c3550e5ecd0003a525bf16f3c15ceb4105a6a3db22389c84c37a6d2b266e222dc92a05c25cf268bbeb937b496d9a48b8232c273f + checksum: 33410998363b408bfe2f620249ff089da7bca3d56aae3a3a638b001ab3a44ffce44075b672f5e01fa4483fe013d6f7e672c77c29febd5f0efe8f6c3f80533ad5 languageName: node linkType: hard @@ -93,30 +102,30 @@ __metadata: linkType: hard "@babel/traverse@npm:^7.7.0": - version: 7.12.13 - resolution: "@babel/traverse@npm:7.12.13" + version: 7.12.17 + resolution: "@babel/traverse@npm:7.12.17" dependencies: "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.12.13 + "@babel/generator": ^7.12.17 "@babel/helper-function-name": ^7.12.13 "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/parser": ^7.12.13 - "@babel/types": ^7.12.13 + "@babel/parser": ^7.12.17 + "@babel/types": ^7.12.17 debug: ^4.1.0 globals: ^11.1.0 lodash: ^4.17.19 - checksum: c45a49e64772d1a16a2f71a16f5f3a0fbbb6d573b3528b9ab3e34564f49c4c452ca3606b119c55ef6b828c279fa024f7bf196dd3f8d8d8f5073a92b4c9701dcd + checksum: 7527079172e4db7b9c189fc5c69ce9e1b29f0c9d22c5a081452b9920d3b6149c51c072cfb2a80f1774a0b3a003cc442b701569972de8e533d489313164156070 languageName: node linkType: hard -"@babel/types@npm:^7.12.13, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/types@npm:7.12.13" +"@babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": + version: 7.12.17 + resolution: "@babel/types@npm:7.12.17" dependencies: "@babel/helper-validator-identifier": ^7.12.11 lodash: ^4.17.19 to-fast-properties: ^2.0.0 - checksum: b6bb1356a7f3737a03c9362df03fd08a2b0599d117169cf7e2e856551fdf01cf4d5188d6370b23315f196058b0239fd609b65ccadcfed3bb3c0b90c27575e805 + checksum: 31886bfea9c34d2d019722888d944fe5e33495826ae677ea465f0615294925a08eb4059d34b29f2808461cde85841b93ca61cdcd747fa45054a64f6b33fa2862 languageName: node linkType: hard @@ -145,6 +154,23 @@ __metadata: languageName: node linkType: hard +"@types/node-fetch@npm:^2.5.8": + version: 2.5.8 + resolution: "@types/node-fetch@npm:2.5.8" + dependencies: + "@types/node": "*" + form-data: ^3.0.0 + checksum: 608cdd6aed2c6a44a26406eb63475d4bfb8f63f78f22f747e30dd7cda309b86dc019e4427b9092011541da95d83ef03e2e6558c37d39221c0931617f32d3c4e1 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 14.14.31 + resolution: "@types/node@npm:14.14.31" + checksum: 635dc8a0898a923621e02ca179e17baa39fdfa44f0096fcc1b7046c9b32317e74a99956a7b45ca0e8069874f51f4e7873a418239a318a4b6e7936f6510ac5992 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.1": version: 5.3.1 resolution: "acorn-jsx@npm:5.3.1" @@ -176,14 +202,14 @@ __metadata: linkType: hard "ajv@npm:^7.0.2": - version: 7.1.0 - resolution: "ajv@npm:7.1.0" + version: 7.1.1 + resolution: "ajv@npm:7.1.1" dependencies: fast-deep-equal: ^3.1.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: 7cbc1177e9a2e89c56fa90b2f4ffadad2ecbf0e6f5163fcbb957878d0a5eaf390bcd23c7c39849c4b76815fe8339623e82362d0b262da84f9186a2bcea6229f7 + checksum: fe4e138529363bf1c8c429e1f3e88480918b538fe4a44660b989cea863714715af75e874aad129ccd5cbcf6647fa457e20b735bb3279a3bca08f11193bae5d19 languageName: node linkType: hard @@ -229,15 +255,15 @@ __metadata: linkType: hard "array-includes@npm:^3.1.1": - version: 3.1.2 - resolution: "array-includes@npm:3.1.2" + version: 3.1.3 + resolution: "array-includes@npm:3.1.3" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - get-intrinsic: ^1.0.1 + es-abstract: ^1.18.0-next.2 + get-intrinsic: ^1.1.1 is-string: ^1.0.5 - checksum: 219971a123679ed6e3be130ec61ebabe82421283a8a5db7427a115bb75df7db2575cc4bf101d8a523a77fcfb1cb7d047154a98c6f8ccc2d1c4c28298e5878ad0 + checksum: 0610b361162071ef8749827f3a6e171da03ac14a518d4d45a513b6c22a7c5017c55dcbea4d34d699ef006f1f148aa52e6d437e0101c93996da736d0055add173 languageName: node linkType: hard @@ -341,6 +367,7 @@ __metadata: version: 0.0.0-use.local resolution: "clubhouse-api@workspace:." dependencies: + "@types/node-fetch": ^2.5.8 babel-eslint: ^10.1.0 debug: ^4.3.1 eslint: ^7.19.0 @@ -354,6 +381,7 @@ __metadata: nanoid: ^3.1.20 node-fetch: ^2.6.1 qs: ^6.9.6 + typescript: ^4.1.5 uuid: ^8.3.2 languageName: unknown linkType: soft @@ -512,7 +540,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.18.0-next.1": +"es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2": version: 1.18.0-next.2 resolution: "es-abstract@npm:1.18.0-next.2" dependencies: @@ -676,10 +704,10 @@ __metadata: linkType: hard "eslint@npm:^7.19.0": - version: 7.19.0 - resolution: "eslint@npm:7.19.0" + version: 7.20.0 + resolution: "eslint@npm:7.20.0" dependencies: - "@babel/code-frame": ^7.0.0 + "@babel/code-frame": 7.12.11 "@eslint/eslintrc": ^0.3.0 ajv: ^6.10.0 chalk: ^4.0.0 @@ -691,7 +719,7 @@ __metadata: eslint-utils: ^2.1.0 eslint-visitor-keys: ^2.0.0 espree: ^7.3.1 - esquery: ^1.2.0 + esquery: ^1.4.0 esutils: ^2.0.2 file-entry-cache: ^6.0.0 functional-red-black-tree: ^1.0.1 @@ -718,7 +746,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 0461e8b2b53c9097995efe131f659e2df77deda1daf79d7673654e2cbdac90bd2a412758b0ee0db48d29bf58f4b4d99170a70e17df1345782f0c8fa511bb0734 + checksum: 1d56cabc7e21f43b8bb6a1934f2488b27d86b018ce2246bc9b89e52931e26b306c5883f5e4ff5c6e0228e0e8673553a460e98eacc4890f9e5984002df0292123 languageName: node linkType: hard @@ -750,7 +778,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.2.0": +"esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" dependencies: @@ -811,11 +839,11 @@ __metadata: linkType: hard "file-entry-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "file-entry-cache@npm:6.0.0" + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" dependencies: flat-cache: ^3.0.4 - checksum: aec91f60f903a61f6edd8591f574692a36e054a99f7b1e280823316fde7d487aaf9a0b59db59387c6e071c10ce0e40771f8472067ebe746fe3b7f095f0877be0 + checksum: af83a412143100405a995bb7d9a31982ebcfabe6c545dac2e787fc5580b2da74e253ef62968057fa5bbfaf0811a8b85623aeea776e16c77e3ce4c2488b0e4821 languageName: node linkType: hard @@ -846,13 +874,13 @@ __metadata: linkType: hard "form-data@npm:^3.0.0": - version: 3.0.0 - resolution: "form-data@npm:3.0.0" + version: 3.0.1 + resolution: "form-data@npm:3.0.1" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 mime-types: ^2.1.12 - checksum: 1af88217b449eda6566a0d95185f2baa403ed2a0e3b11547069f6062be66cbac7c8d7a25f0fc59560702e96526e659b5b9e5a8c6fefe00f06da44338191a9133 + checksum: 6574ff4d2d845c47ba288151a6e0573767eefdee9da358be199e0f0b66aa5c454e7d62ed5e0daef6f84167ba1e9596e064f36f206488e460ef449ef7b653cdfc languageName: node linkType: hard @@ -877,7 +905,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.1, get-intrinsic@npm:^1.0.2": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": version: 1.1.1 resolution: "get-intrinsic@npm:1.1.1" dependencies: @@ -1212,9 +1240,9 @@ __metadata: linkType: hard "lodash@npm:^4.17.19, lodash@npm:^4.17.20": - version: 4.17.20 - resolution: "lodash@npm:4.17.20" - checksum: c62101d2500c383b5f174a7e9e6fe8098149ddd6e9ccfa85f36d4789446195f5c4afd3cfba433026bcaf3da271256566b04a2bf2618e5a39f6e67f8c12030cb6 + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 4983720b9abca930a4a46f18db163d7dad8dd00dbed6db0cc7b499b33b717cce69f80928b27bbb1ff2cbd3b19d251ee90669a8b5ea466072ca81c2ebe91e7468 languageName: node linkType: hard @@ -1227,19 +1255,19 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.45.0": - version: 1.45.0 - resolution: "mime-db@npm:1.45.0" - checksum: 86701c54f748c72a5c05c16f881cdfa01db44a61e52f4cef3d872b5f3e4a3c4186c28df7a5fec31debc9bee42d5afc9b86ff8ff3d3eaf1440f07140b94a33d4a +"mime-db@npm:1.46.0": + version: 1.46.0 + resolution: "mime-db@npm:1.46.0" + checksum: 4e137ac502ca5ba6c583e552c5fa6abd0c2157592f647824ba7246b771eb42c65c2a1816fc52b27afdbb88a026127f1d5fba354f9dcde591b3b464be07c3d27e languageName: node linkType: hard "mime-types@npm:^2.1.12": - version: 2.1.28 - resolution: "mime-types@npm:2.1.28" + version: 2.1.29 + resolution: "mime-types@npm:2.1.29" dependencies: - mime-db: 1.45.0 - checksum: 89d14a1af2be7f3c9682d1af98f422addce894b9c3ed1e67acb6e59e4c910c58a3586db686d894b47708d07c2ae76de4246b66dc4a7d698b0d1bd761c309bb92 + mime-db: 1.46.0 + checksum: 744d72b2a24c64d2aacc1ead86bfc827c2c4f1bb6f3b4bf6d8684b82f5ddd0b75a5c0eff128a888c09080f9ad7979400b64a697889690fca3c42de80c8f5e187 languageName: node linkType: hard @@ -1796,6 +1824,26 @@ __metadata: languageName: node linkType: hard +typescript@^4.1.5: + version: 4.1.5 + resolution: "typescript@npm:4.1.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 29157c84426ac94ce97aac836264f303a26bd9fb30865650229e3406a36ca2e89735ef4b8878075ba1b95fa4d3ff9810057b64888700c28e20b4034a6db4da83 + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.1.5#builtin": + version: 4.1.5 + resolution: "typescript@patch:typescript@npm%3A4.1.5#builtin::version=4.1.5&hash=cc6730" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 58cc7786be0f8485c124944883b1384287532e4867ec37f1fb5cb2811dbc10f7a9decccad89097f924043285f3515bfd8223c61dbb4f88af00b2d8dc2ef73207 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1"