From 49a3a7d7e33ad20f76556fa65381ba13d82328f5 Mon Sep 17 00:00:00 2001 From: butthx <68604099+butthx@users.noreply.github.com> Date: Mon, 10 Apr 2023 19:23:51 +0700 Subject: [PATCH] add: deno support --- package.json | 12 +- src/decode.ts | 4 +- src/encode.ts | 5 +- src/index.ts | 10 +- src/parser.ts | 7 +- src/utils.ts | 12 +- tes/index.js | 38 ++++++ tes/index.ts | 3 +- yarn.lock | 338 ++++++++++++++++++++++++++++++++------------------ 9 files changed, 285 insertions(+), 144 deletions(-) create mode 100644 tes/index.js diff --git a/package.json b/package.json index e088ac9..d85be39 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,18 @@ { "name": "@tgsnake/fileid", - "version": "2.0.2", + "version": "2.1.0", "description": "core framework for tgsnake for generating file id", "main": "./lib/index.js", "devDependencies": { "@types/node": "18.15.8", - "prettier": "2.8.7", - "ts-node": "10.9.1", - "typescript": "5.0.2" + "deno2node": "1.8.1", + "prettier": "2.8.7" }, "scripts": { "start": "node tes/index.js", - "build": "tsc", + "build": "deno2node tsconfig.json", "build:license": "node ./generator/license", - "dev": "ts-node tes/index.ts", - "prepare": "tsc", + "prepare": "deno2node tsconfig.json", "prettier": "prettier -w ." }, "homepage": "https://tgsnake.js.org", diff --git a/src/decode.ts b/src/decode.ts index 96bc707..4dfd2ab 100644 --- a/src/decode.ts +++ b/src/decode.ts @@ -17,8 +17,8 @@ import { Reader, PHOTO_TYPES, Options, -} from './'; - +} from './index.ts'; +import { Buffer } from 'node:buffer'; export class Decode implements Options { /** * The major version of bot api file id. Usually is 4. diff --git a/src/encode.ts b/src/encode.ts index 3b298cb..4b45c77 100644 --- a/src/encode.ts +++ b/src/encode.ts @@ -19,8 +19,9 @@ import { PHOTO_TYPES, DOCUMENT_TYPES, Options, -} from './'; -import type { Decode } from './decode'; +} from './index.ts'; +import { Buffer } from 'node:buffer'; +import type { Decode } from './decode.ts'; export class Encode { /** diff --git a/src/index.ts b/src/index.ts index abfb2da..c1dab86 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,8 +20,8 @@ export { Reader, PHOTO_TYPES, DOCUMENT_TYPES, - Options, -} from './utils'; -export { FileId } from './parser'; -export { Encode } from './encode'; -export { Decode } from './decode'; + type Options, +} from './utils.ts'; +export { FileId } from './parser.ts'; +export { Encode } from './encode.ts'; +export { Decode } from './decode.ts'; diff --git a/src/parser.ts b/src/parser.ts index c56000c..6f37dd1 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -7,9 +7,10 @@ * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the MIT License as published. */ -import { Decode } from './decode'; -import { Encode } from './encode'; -import { Options } from './utils'; +import { Decode } from './decode.ts'; +import { Encode } from './encode.ts'; +import { Options } from './utils.ts'; +import { Buffer } from 'node:buffer'; export namespace FileId { /** diff --git a/src/utils.ts b/src/utils.ts index 8f7bd25..662d082 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -7,6 +7,7 @@ * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the MIT License as published. */ +import { Buffer } from 'node:buffer'; export enum FileType { THUMBNAIL = 0, @@ -178,7 +179,16 @@ export function base64_url_encode(base: string | Buffer): string { : base.toString('base64url'); } export function base64_url_decode(base: string | Buffer): Buffer { - return typeof base === 'string' ? Buffer.from(base, 'base64url') : base; + return typeof base === 'string' ? Buffer.from(base64urlTobase64(base), 'base64') : base; +} +export function base64urlTobase64(text: string): string { + const pad = text.length % 4; + if (pad === 1) { + throw new Error('Invalid base64url'); + } + return (pad === 2 || pad === 3 ? text.padEnd(4 - pad, '=') : text) + .replace(/\-/g, '+') + .replace(/_/g, '/'); } export function rle_encode(base: string | Buffer): Buffer { let buffer: Buffer = typeof base === 'string' ? Buffer.from(base) : base; diff --git a/tes/index.js b/tes/index.js new file mode 100644 index 0000000..c18f7a1 --- /dev/null +++ b/tes/index.js @@ -0,0 +1,38 @@ +/** + * tgsnake - Telegram MTProto framework for nodejs. + * Copyright (C) 2022 butthx + * + * THIS FILE IS PART OF TGSNAKE + * + * tgsnake is a free software : you can redistribute it and/or modify + * it under the terms of the MIT License as published. + */ + +const { FileId } = require('../lib'); +const file = FileId.decodeFileId('AQADBQADZq8xG6uF-FQAEAIAAyGEcyoBAANi-pbYnH388wAEIAQ'); +console.log( + 'AQADBQADZq8xG6uF-FQAEAIAAyGEcyoBAANi-pbYnH388wAEIAQ', + file, + FileId.encodeFileId(file), + FileId.encodeFileId({ + version: 4, + subVersion: 32, + dcId: 5, + fileType: 1, + id: BigInt('6122790663352332134'), + accessHash: BigInt(0), + fileReference: undefined, + url: undefined, + volumeId: BigInt(0), + localId: 0, + secret: undefined, + chatId: BigInt('5007180833'), + chatAccessHash: BigInt('-865678915759834526'), + stickerSetId: undefined, + stickerSetAccessHash: undefined, + thumbnailSource: 2, + thumbnailFileType: undefined, + thumbnailSize: undefined, + fileTypeUniqueId: undefined, + }) +); diff --git a/tes/index.ts b/tes/index.ts index 1c1a11a..11d9ecd 100644 --- a/tes/index.ts +++ b/tes/index.ts @@ -8,9 +8,10 @@ * it under the terms of the MIT License as published. */ -import { FileId } from '../src'; +import { FileId } from '../src/index.ts'; const file = FileId.decodeFileId('AQADBQADZq8xG6uF-FQAEAIAAyGEcyoBAANi-pbYnH388wAEIAQ'); console.log( + 'AQADBQADZq8xG6uF-FQAEAIAAyGEcyoBAANi-pbYnH388wAEIAQ', file, FileId.encodeFileId(file), FileId.encodeFileId({ diff --git a/yarn.lock b/yarn.lock index caa16bd..288eba5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,36 +5,40 @@ __metadata: version: 6 cacheKey: 8 -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" +"@babel/runtime-corejs3@npm:^7.16.5": + version: 7.21.0 + resolution: "@babel/runtime-corejs3@npm:7.21.0" dependencies: - "@jridgewell/trace-mapping": 0.3.9 - checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa + core-js-pure: ^3.25.1 + regenerator-runtime: ^0.13.11 + checksum: a47927671672b1e1644771458f804e03802303eeffcafd55f85cb121d3d3ca33032cc2fe68e086e3de6923049343d0aa599fc3eb3ad5749e30646e2a2ef6f11d languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.0.7 - resolution: "@jridgewell/resolve-uri@npm:3.0.7" - checksum: 94f454f4cef8f0acaad85745fd3ca6cd0d62ef731cf9f952ecb89b8b2ce5e20998cd52be31311cedc5fa5b28b1708a15f3ad9df0fe1447ee4f42959b036c4b5b +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: ^1.1.9 + checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.13 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.13" - checksum: f14449096f60a5f921262322fef65ce0bbbfb778080b3b20212080bcefdeba621c43a58c27065bd536ecb4cc767b18eb9c45f15b6b98a4970139572b60603a1c +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 languageName: node linkType: hard @@ -43,88 +47,190 @@ __metadata: resolution: "@tgsnake/fileid@workspace:." dependencies: "@types/node": 18.15.8 + deno2node: 1.8.1 prettier: 2.8.7 - ts-node: 10.9.1 - typescript: 5.0.2 languageName: unknown linkType: soft -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.8 - resolution: "@tsconfig/node10@npm:1.0.8" - checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a +"@ts-morph/common@npm:~0.19.0": + version: 0.19.0 + resolution: "@ts-morph/common@npm:0.19.0" + dependencies: + fast-glob: ^3.2.12 + minimatch: ^7.4.3 + mkdirp: ^2.1.6 + path-browserify: ^1.0.1 + checksum: 6b02a63ded0ce77e2bf86e135c17a6d5126307bbb926a4085d3cc2acaf28cb732780cf8d16961e9600efcc599876f706a2c9e8d135f7668704bb04a1a6fd37ec languageName: node linkType: hard -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node12@npm:1.0.9" - checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 +"@types/node@npm:18.15.8": + version: 18.15.8 + resolution: "@types/node@npm:18.15.8" + checksum: 795695b9f5bbfaea864261d3179da530dbe8c615bd525d6afcaa0d508f0b73f252507b54c735b1d744932677e30f55161bbe9b78487a60bd6a93b2d03027d30d languageName: node linkType: hard -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.1 - resolution: "@tsconfig/node14@npm:1.0.1" - checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 languageName: node linkType: hard -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.2 - resolution: "@tsconfig/node16@npm:1.0.2" - checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 languageName: node linkType: hard -"@types/node@npm:18.15.8": - version: 18.15.8 - resolution: "@types/node@npm:18.15.8" - checksum: 795695b9f5bbfaea864261d3179da530dbe8c615bd525d6afcaa0d508f0b73f252507b54c735b1d744932677e30f55161bbe9b78487a60bd6a93b2d03027d30d +"braces@npm:^3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"code-block-writer@npm:^12.0.0": + version: 12.0.0 + resolution: "code-block-writer@npm:12.0.0" + checksum: 9f6505a4d668c9131c6f3f686359079439e66d5f50c236614d52fcfa53aeb0bc615b2c6c64ef05b5511e3b0433ccfd9f7756ad40eb3b9298af6a7d791ab1981d languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 +"core-js-pure@npm:^3.25.1": + version: 3.30.0 + resolution: "core-js-pure@npm:3.30.0" + checksum: 57573b18d8900ad0a34a0806491bb49774dfcbb6d022b61094d6afc9f6c3d833c1b6c1f5afb5e6a7caca235fa4db00b317de80bfd8ac8e2d9a4f738c4bf233ed languageName: node linkType: hard -"acorn@npm:^8.4.1": - version: 8.7.1 - resolution: "acorn@npm:8.7.1" +"deno2node@npm:1.8.1": + version: 1.8.1 + resolution: "deno2node@npm:1.8.1" + dependencies: + ts-morph: ^18.0.0 + xregexp: ^5.1.0 bin: - acorn: bin/acorn - checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 + deno2node: lib/cli.js + checksum: a30f2b32e5332c2976e23258e876cda9b2fd2d8584810c69597dfd8e65a25cbb8ade39baa8721fb0bbff4693196c38d29da4a4fde352742d86523617fcd6327c + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.12": + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.15.0 + resolution: "fastq@npm:1.15.0" + dependencies: + reusify: ^1.0.4 + checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc languageName: node linkType: hard -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 +"minimatch@npm:^7.4.3": + version: 7.4.6 + resolution: "minimatch@npm:7.4.6" + dependencies: + brace-expansion: ^2.0.1 + checksum: 1a6c8d22618df9d2a88aabeef1de5622eb7b558e9f8010be791cb6b0fa6e102d39b11c28d75b855a1e377b12edc7db8ff12a99c20353441caa6a05e78deb5da9 languageName: node linkType: hard -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff +"mkdirp@npm:^2.1.6": + version: 2.1.6 + resolution: "mkdirp@npm:2.1.6" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 8a1d09ffac585e55f41c54f445051f5bc33a7de99b952bb04c576cafdf1a67bb4bae8cb93736f7da6838771fbf75bc630430a3a59e1252047d2278690bd150ee languageName: node linkType: hard -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: c6d7fa376423fe35b95b2d67990060c3ee304fc815ff0a2dc1c6c3cfaff2bd0d572ee67e18f19d0ea3bbe32e8add2a05021132ac40509416459fffee35200699 languageName: node linkType: hard -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf languageName: node linkType: hard @@ -137,74 +243,60 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" - dependencies: - "@cspotcode/source-map-support": ^0.8.0 - "@tsconfig/node10": ^1.0.7 - "@tsconfig/node12": ^1.0.7 - "@tsconfig/node14": ^1.0.0 - "@tsconfig/node16": ^1.0.2 - acorn: ^8.4.1 - acorn-walk: ^8.1.1 - arg: ^4.1.0 - create-require: ^1.1.0 - diff: ^4.0.1 - make-error: ^1.1.1 - v8-compile-cache-lib: ^3.0.1 - yn: 3.1.1 - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 languageName: node linkType: hard -"typescript@npm:5.0.2": - version: 5.0.2 - resolution: "typescript@npm:5.0.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: bef1dcd166acfc6934b2ec4d72f93edb8961a5fab36b8dd2aaf6f4f4cd5c0210f2e0850aef4724f3b4913d5aef203a94a28ded731b370880c8bcff7e4ff91fc1 +"regenerator-runtime@npm:^0.13.11": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 languageName: node linkType: hard -"typescript@patch:typescript@5.0.2#~builtin": - version: 5.0.2 - resolution: "typescript@patch:typescript@npm%3A5.0.2#~builtin::version=5.0.2&hash=1f5320" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: bdbf3d0aac0d6cf010fbe0536753dc19f278eb4aba88140dcd25487dfe1c56ca8b33abc0dcd42078790a939b08ebc4046f3e9bb961d77d3d2c3cfa9829da4d53 +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d languageName: node linkType: hard -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"ts-morph@npm:^18.0.0": + version: 18.0.0 + resolution: "ts-morph@npm:18.0.0" + dependencies: + "@ts-morph/common": ~0.19.0 + code-block-writer: ^12.0.0 + checksum: e3d3099b9a632dfcea2ddc75f00e0d0866b4f6d27b73f9e0ff96cf64fe24ce8074098d6709873afce9edb852c2127c40ad4013f54fdf68dafe0231f1a71827c8 + languageName: node + linkType: hard + +"xregexp@npm:^5.1.0": + version: 5.1.1 + resolution: "xregexp@npm:5.1.1" + dependencies: + "@babel/runtime-corejs3": ^7.16.5 + checksum: b7fee45db0daacc68d8f747c9d3865af6b1135866c6dbd72980fc7d61138310018c397effdc0ec1f50ced71b9437ccb70c27818f4470e28e48dc59ea6e3900a0 languageName: node linkType: hard