diff --git a/.gitignore b/.gitignore index 21d62ee..3598242 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /node_modules /.pnp .pnp.js +docs # production /out diff --git a/package.json b/package.json index ebd05de..151c6db 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "test": "vitest", "typecheck": "tsc --noEmit", "check": "biome check", - "check:fix": "biome check --write --unsafe" + "check:fix": "biome check --write --unsafe", + "docs": "typedoc" }, "keywords": [], "author": "", @@ -27,6 +28,9 @@ "ts-node": "^10.9.2", "tsup": "^8.4.0", "tsx": "^4.19.3", + "typedoc": "^0.28.19", + "typedoc-docusaurus-theme": "^1.4.2", + "typedoc-plugin-markdown": "^4.11.0", "typescript": "^5.7.3", "vitest": "^3.1.1" }, @@ -69,4 +73,4 @@ "unrs-resolver" ] } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4ef934..81f39f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,16 +104,25 @@ importers: version: 10.9.2(@types/node@22.13.1)(typescript@5.7.3) tsup: specifier: ^8.4.0 - version: 8.4.0(postcss@8.5.3)(tsx@4.19.3)(typescript@5.7.3) + version: 8.4.0(postcss@8.5.3)(tsx@4.19.3)(typescript@5.7.3)(yaml@2.8.3) tsx: specifier: ^4.19.3 version: 4.19.3 + typedoc: + specifier: ^0.28.19 + version: 0.28.19(typescript@5.7.3) + typedoc-docusaurus-theme: + specifier: ^1.4.2 + version: 1.4.2(typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.7.3))) + typedoc-plugin-markdown: + specifier: ^4.11.0 + version: 4.11.0(typedoc@0.28.19(typescript@5.7.3)) typescript: specifier: ^5.7.3 version: 5.7.3 vitest: specifier: ^3.1.1 - version: 3.1.1(@types/node@22.13.1)(tsx@4.19.3) + version: 3.1.1(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3) packages: @@ -330,6 +339,9 @@ packages: cpu: [x64] os: [win32] + '@gerrit0/mini-shiki@3.23.0': + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} + '@grammyjs/auto-retry@2.0.2': resolution: {integrity: sha512-b4A4p5jlYDiQtW0c0FXYe11WMkYoiW+5rvOaDMCOk1h7Pu2SDl7B7gmFF8cthWCx2+M2nWLOsBxAgbBG4kKWYg==} engines: {node: '>=12.20.0 || >=14.13.1'} @@ -596,6 +608,21 @@ packages: cpu: [x64] os: [win32] + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} + + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} + + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} + + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} @@ -647,6 +674,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} @@ -659,6 +689,9 @@ packages: '@types/ssdeep.js@0.0.2': resolution: {integrity: sha512-WSmAg2j7lIuETBTlos0erBWeL9C8nLe8rF5IydmHkhD8w64gyrbALINtXS+i0qJv6p0fEDRkNYLLC9KGderQJw==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@vitest/expect@3.1.1': resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} @@ -727,6 +760,9 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + arktype@2.1.20: resolution: {integrity: sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==} @@ -744,9 +780,17 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} + bullmq@5.59.0: resolution: {integrity: sha512-RmqUIvNKWQ5bTBnMo4ttCNqWs+IzTHfkRbPS95r8Ba2uCZQKe/xXbZbIiwx5FAMhckab03slIKKAYHto/M223Q==} @@ -897,6 +941,10 @@ packages: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -1061,6 +1109,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1080,6 +1131,9 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + luxon@3.7.2: resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} engines: {node: '>=12'} @@ -1090,10 +1144,17 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + markdown-it@14.1.1: + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -1102,6 +1163,10 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -1255,6 +1320,10 @@ packages: pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1478,11 +1547,32 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + typedoc-docusaurus-theme@1.4.2: + resolution: {integrity: sha512-i9YYDcScLD0WUiX8I+LXHX3ZVvRDlJsmRo9l/uWrFT37cHlMz4Ay0GOnWzHUBnnwAo1uzYOw9RjUXznbWozBEA==} + peerDependencies: + typedoc-plugin-markdown: '>=4.8.0' + + typedoc-plugin-markdown@4.11.0: + resolution: {integrity: sha512-2iunh2ALyfyh204OF7h2u0kuQ84xB3jFZtFyUr01nThJkLvR8oGGSSDlyt2gyO4kXhvUxDcVbO0y43+qX+wFbw==} + engines: {node: '>= 18'} + peerDependencies: + typedoc: 0.28.x + + typedoc@0.28.19: + resolution: {integrity: sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==} + engines: {node: '>= 18', pnpm: '>= 10'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x + typescript@5.7.3: resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1625,6 +1715,11 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true + yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -1754,6 +1849,14 @@ snapshots: '@esbuild/win32-x64@0.25.1': optional: true + '@gerrit0/mini-shiki@3.23.0': + dependencies: + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + '@grammyjs/auto-retry@2.0.2(grammy@1.37.0)': dependencies: debug: 4.4.0 @@ -1947,6 +2050,26 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.60.1': optional: true + '@shikijs/engine-oniguruma@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/themes@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/types@3.23.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@socket.io/component-emitter@3.1.2': {} '@socket.io/devalue-parser@0.1.0': @@ -1985,6 +2108,10 @@ snapshots: '@types/estree@1.0.8': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/node-fetch@2.6.12': dependencies: '@types/node': 22.13.1 @@ -2000,6 +2127,8 @@ snapshots: '@types/ssdeep.js@0.0.2': {} + '@types/unist@3.0.3': {} + '@vitest/expect@3.1.1': dependencies: '@vitest/spy': 3.1.1 @@ -2007,13 +2136,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.1(vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3))': + '@vitest/mocker@3.1.1(vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3))': dependencies: '@vitest/spy': 3.1.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3) + vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3) '@vitest/pretty-format@3.1.1': dependencies: @@ -2068,6 +2197,8 @@ snapshots: arg@4.1.3: {} + argparse@2.0.1: {} + arktype@2.1.20: dependencies: '@ark/schema': 0.46.0 @@ -2081,10 +2212,16 @@ snapshots: balanced-match@1.0.2: {} + balanced-match@4.0.4: {} + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.5: + dependencies: + balanced-match: 4.0.4 + bullmq@5.59.0: dependencies: cron-parser: 4.9.0 @@ -2216,6 +2353,8 @@ snapshots: engine.io-parser@5.2.3: {} + entities@4.5.0: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -2403,6 +2542,10 @@ snapshots: lines-and-columns@1.2.4: {} + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + load-tsconfig@0.2.5: {} lodash.defaults@4.2.0: {} @@ -2415,6 +2558,8 @@ snapshots: lru-cache@10.4.3: {} + lunr@2.3.9: {} + luxon@3.7.2: {} magic-string@0.30.17: @@ -2423,14 +2568,29 @@ snapshots: make-error@1.3.6: {} + markdown-it@14.1.1: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + math-intrinsics@1.1.0: {} + mdurl@2.0.0: {} + mime-db@1.52.0: {} mime-types@2.1.35: dependencies: mime-db: 1.52.0 + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.5 + minimatch@9.0.9: dependencies: brace-expansion: 2.0.2 @@ -2561,12 +2721,13 @@ snapshots: pirates@4.0.7: {} - postcss-load-config@6.0.1(postcss@8.5.3)(tsx@4.19.3): + postcss-load-config@6.0.1(postcss@8.5.3)(tsx@4.19.3)(yaml@2.8.3): dependencies: lilconfig: 3.1.3 optionalDependencies: postcss: 8.5.3 tsx: 4.19.3 + yaml: 2.8.3 postcss@8.5.3: dependencies: @@ -2581,6 +2742,8 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 + punycode.js@2.3.1: {} + punycode@2.3.1: {} quick-format-unescaped@4.0.4: {} @@ -2793,7 +2956,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.4.0(postcss@8.5.3)(tsx@4.19.3)(typescript@5.7.3): + tsup@8.4.0(postcss@8.5.3)(tsx@4.19.3)(typescript@5.7.3)(yaml@2.8.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.1) cac: 6.7.14 @@ -2803,7 +2966,7 @@ snapshots: esbuild: 0.25.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.3)(tsx@4.19.3) + postcss-load-config: 6.0.1(postcss@8.5.3)(tsx@4.19.3)(yaml@2.8.3) resolve-from: 5.0.0 rollup: 4.60.1 source-map: 0.8.0-beta.0 @@ -2827,8 +2990,27 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + typedoc-docusaurus-theme@1.4.2(typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.7.3))): + dependencies: + typedoc-plugin-markdown: 4.11.0(typedoc@0.28.19(typescript@5.7.3)) + + typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.7.3)): + dependencies: + typedoc: 0.28.19(typescript@5.7.3) + + typedoc@0.28.19(typescript@5.7.3): + dependencies: + '@gerrit0/mini-shiki': 3.23.0 + lunr: 2.3.9 + markdown-it: 14.1.1 + minimatch: 10.2.5 + typescript: 5.7.3 + yaml: 2.8.3 + typescript@5.7.3: {} + uc.micro@2.1.0: {} + undici-types@5.26.5: {} undici-types@6.20.0: {} @@ -2837,13 +3019,13 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - vite-node@3.1.1(@types/node@22.13.1)(tsx@4.19.3): + vite-node@3.1.1(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3) + vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3) transitivePeerDependencies: - '@types/node' - jiti @@ -2858,7 +3040,7 @@ snapshots: - tsx - yaml - vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3): + vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3): dependencies: esbuild: 0.25.1 fdir: 6.5.0(picomatch@4.0.4) @@ -2870,11 +3052,12 @@ snapshots: '@types/node': 22.13.1 fsevents: 2.3.3 tsx: 4.19.3 + yaml: 2.8.3 - vitest@3.1.1(@types/node@22.13.1)(tsx@4.19.3): + vitest@3.1.1(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3): dependencies: '@vitest/expect': 3.1.1 - '@vitest/mocker': 3.1.1(vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3)) + '@vitest/mocker': 3.1.1(vite@6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3)) '@vitest/pretty-format': 3.1.1 '@vitest/runner': 3.1.1 '@vitest/snapshot': 3.1.1 @@ -2890,8 +3073,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3) - vite-node: 3.1.1(@types/node@22.13.1)(tsx@4.19.3) + vite: 6.4.2(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3) + vite-node: 3.1.1(@types/node@22.13.1)(tsx@4.19.3)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.1 @@ -2955,6 +3138,8 @@ snapshots: yallist@4.0.0: {} + yaml@2.8.3: {} + yn@3.1.1: {} zod@4.1.11: {} diff --git a/src/utils/users.ts b/src/utils/users.ts index edfe1a9..ed2c260 100644 --- a/src/utils/users.ts +++ b/src/utils/users.ts @@ -22,7 +22,7 @@ export function printUsername(user: User): string { /** * Formats the context's `from` user information for logging. * @param ctx grammY Context object - * @returns formatted username and user_id of the context's `from` user, or "" if not available + * @returns formatted username and user_id of the context's `from` user, or "\" if not available */ export function printCtxFrom(ctx: C): string { if (!ctx.from) return "" diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..dd00ff0 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,16 @@ +{ + "entryPointStrategy": "expand", + "entryPoints": [ + "src" + ], + "plugin": [ + "typedoc-plugin-markdown", + "typedoc-docusaurus-theme", + ], + "fileExtension": ".mdx", + "sanitizeComments": true, + "cleanOutputDir": true, + "router": "module", + "mergeReadme": true, + "out": "./docs/telegram" +} \ No newline at end of file