valley-baileys 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +4 -0
- package/node_modules/@borewit/text-codec/LICENSE.txt +9 -0
- package/node_modules/@borewit/text-codec/README.md +87 -0
- package/node_modules/@borewit/text-codec/lib/index.d.ts +6 -0
- package/node_modules/@borewit/text-codec/lib/index.js +380 -0
- package/node_modules/@borewit/text-codec/package.json +70 -0
- package/node_modules/@cacheable/memory/LICENSE +19 -0
- package/node_modules/@cacheable/memory/README.md +340 -0
- package/node_modules/@cacheable/memory/dist/index.cjs +830 -0
- package/node_modules/@cacheable/memory/dist/index.d.cts +310 -0
- package/node_modules/@cacheable/memory/dist/index.d.ts +310 -0
- package/node_modules/@cacheable/memory/dist/index.js +807 -0
- package/node_modules/@cacheable/memory/package.json +65 -0
- package/node_modules/@cacheable/node-cache/LICENSE +19 -0
- package/node_modules/@cacheable/node-cache/README.md +352 -0
- package/node_modules/@cacheable/node-cache/dist/index.cjs +567 -0
- package/node_modules/@cacheable/node-cache/dist/index.d.cts +335 -0
- package/node_modules/@cacheable/node-cache/dist/index.d.ts +335 -0
- package/node_modules/@cacheable/node-cache/dist/index.js +540 -0
- package/node_modules/@cacheable/node-cache/package.json +69 -0
- package/node_modules/@cacheable/utils/LICENSE +19 -0
- package/node_modules/@cacheable/utils/README.md +520 -0
- package/node_modules/@cacheable/utils/dist/index.cjs +677 -0
- package/node_modules/@cacheable/utils/dist/index.d.cts +307 -0
- package/node_modules/@cacheable/utils/dist/index.d.ts +307 -0
- package/node_modules/@cacheable/utils/dist/index.js +630 -0
- package/node_modules/@cacheable/utils/package.json +56 -0
- package/node_modules/@hapi/boom/LICENSE.md +10 -0
- package/node_modules/@hapi/boom/README.md +17 -0
- package/node_modules/@hapi/boom/lib/index.d.ts +549 -0
- package/node_modules/@hapi/boom/lib/index.js +469 -0
- package/node_modules/@hapi/boom/package.json +28 -0
- package/node_modules/@hapi/hoek/LICENSE.md +12 -0
- package/node_modules/@hapi/hoek/README.md +19 -0
- package/node_modules/@hapi/hoek/lib/applyToDefaults.js +102 -0
- package/node_modules/@hapi/hoek/lib/assert.js +22 -0
- package/node_modules/@hapi/hoek/lib/bench.js +29 -0
- package/node_modules/@hapi/hoek/lib/block.js +12 -0
- package/node_modules/@hapi/hoek/lib/clone.js +176 -0
- package/node_modules/@hapi/hoek/lib/contain.js +307 -0
- package/node_modules/@hapi/hoek/lib/deepEqual.js +317 -0
- package/node_modules/@hapi/hoek/lib/error.js +26 -0
- package/node_modules/@hapi/hoek/lib/escapeHeaderAttribute.js +16 -0
- package/node_modules/@hapi/hoek/lib/escapeHtml.js +87 -0
- package/node_modules/@hapi/hoek/lib/escapeJson.js +28 -0
- package/node_modules/@hapi/hoek/lib/escapeRegex.js +11 -0
- package/node_modules/@hapi/hoek/lib/flatten.js +20 -0
- package/node_modules/@hapi/hoek/lib/ignore.js +6 -0
- package/node_modules/@hapi/hoek/lib/index.d.ts +471 -0
- package/node_modules/@hapi/hoek/lib/index.js +45 -0
- package/node_modules/@hapi/hoek/lib/intersect.js +41 -0
- package/node_modules/@hapi/hoek/lib/isPromise.js +9 -0
- package/node_modules/@hapi/hoek/lib/merge.js +78 -0
- package/node_modules/@hapi/hoek/lib/once.js +25 -0
- package/node_modules/@hapi/hoek/lib/reach.js +76 -0
- package/node_modules/@hapi/hoek/lib/reachTemplate.js +16 -0
- package/node_modules/@hapi/hoek/lib/stringify.js +14 -0
- package/node_modules/@hapi/hoek/lib/types.js +55 -0
- package/node_modules/@hapi/hoek/lib/utils.js +9 -0
- package/node_modules/@hapi/hoek/lib/wait.js +37 -0
- package/node_modules/@hapi/hoek/package.json +31 -0
- package/node_modules/@keyv/bigmap/LICENSE +21 -0
- package/node_modules/@keyv/bigmap/README.md +624 -0
- package/node_modules/@keyv/bigmap/dist/index.cjs +268 -0
- package/node_modules/@keyv/bigmap/dist/index.d.cts +157 -0
- package/node_modules/@keyv/bigmap/dist/index.d.ts +157 -0
- package/node_modules/@keyv/bigmap/dist/index.js +239 -0
- package/node_modules/@keyv/bigmap/package.json +73 -0
- package/node_modules/@keyv/serialize/LICENSE +22 -0
- package/node_modules/@keyv/serialize/README.md +15 -0
- package/node_modules/@keyv/serialize/dist/index.cjs +84 -0
- package/node_modules/@keyv/serialize/dist/index.d.cts +4 -0
- package/node_modules/@keyv/serialize/dist/index.d.ts +4 -0
- package/node_modules/@keyv/serialize/dist/index.js +58 -0
- package/node_modules/@keyv/serialize/package.json +55 -0
- package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
- package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
- package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
- package/node_modules/@pinojs/redact/LICENSE +21 -0
- package/node_modules/@pinojs/redact/README.md +350 -0
- package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
- package/node_modules/@pinojs/redact/eslint.config.js +1 -0
- package/node_modules/@pinojs/redact/index.d.ts +52 -0
- package/node_modules/@pinojs/redact/index.js +529 -0
- package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
- package/node_modules/@pinojs/redact/package.json +37 -0
- package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
- package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
- package/node_modules/@pinojs/redact/test/index.test.js +824 -0
- package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
- package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
- package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
- package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
- package/node_modules/@pinojs/redact/tsconfig.json +19 -0
- package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
- package/node_modules/@protobufjs/aspromise/README.md +13 -0
- package/node_modules/@protobufjs/aspromise/index.d.ts +13 -0
- package/node_modules/@protobufjs/aspromise/index.js +52 -0
- package/node_modules/@protobufjs/aspromise/package.json +21 -0
- package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
- package/node_modules/@protobufjs/base64/LICENSE +26 -0
- package/node_modules/@protobufjs/base64/README.md +19 -0
- package/node_modules/@protobufjs/base64/index.d.ts +32 -0
- package/node_modules/@protobufjs/base64/index.js +139 -0
- package/node_modules/@protobufjs/base64/package.json +21 -0
- package/node_modules/@protobufjs/base64/tests/index.js +46 -0
- package/node_modules/@protobufjs/codegen/LICENSE +26 -0
- package/node_modules/@protobufjs/codegen/README.md +49 -0
- package/node_modules/@protobufjs/codegen/index.d.ts +31 -0
- package/node_modules/@protobufjs/codegen/index.js +112 -0
- package/node_modules/@protobufjs/codegen/package.json +13 -0
- package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
- package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
- package/node_modules/@protobufjs/eventemitter/README.md +22 -0
- package/node_modules/@protobufjs/eventemitter/index.d.ts +45 -0
- package/node_modules/@protobufjs/eventemitter/index.js +86 -0
- package/node_modules/@protobufjs/eventemitter/package.json +21 -0
- package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
- package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/fetch/LICENSE +26 -0
- package/node_modules/@protobufjs/fetch/README.md +13 -0
- package/node_modules/@protobufjs/fetch/index.d.ts +56 -0
- package/node_modules/@protobufjs/fetch/index.js +112 -0
- package/node_modules/@protobufjs/fetch/package.json +27 -0
- package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
- package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
- package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
- package/node_modules/@protobufjs/float/LICENSE +26 -0
- package/node_modules/@protobufjs/float/README.md +102 -0
- package/node_modules/@protobufjs/float/bench/index.js +87 -0
- package/node_modules/@protobufjs/float/bench/suite.js +46 -0
- package/node_modules/@protobufjs/float/index.d.ts +83 -0
- package/node_modules/@protobufjs/float/index.js +335 -0
- package/node_modules/@protobufjs/float/package.json +26 -0
- package/node_modules/@protobufjs/float/tests/index.js +100 -0
- package/node_modules/@protobufjs/path/LICENSE +26 -0
- package/node_modules/@protobufjs/path/README.md +19 -0
- package/node_modules/@protobufjs/path/index.d.ts +22 -0
- package/node_modules/@protobufjs/path/index.js +65 -0
- package/node_modules/@protobufjs/path/package.json +21 -0
- package/node_modules/@protobufjs/path/tests/index.js +60 -0
- package/node_modules/@protobufjs/pool/.npmignore +3 -0
- package/node_modules/@protobufjs/pool/LICENSE +26 -0
- package/node_modules/@protobufjs/pool/README.md +13 -0
- package/node_modules/@protobufjs/pool/index.d.ts +32 -0
- package/node_modules/@protobufjs/pool/index.js +48 -0
- package/node_modules/@protobufjs/pool/package.json +21 -0
- package/node_modules/@protobufjs/pool/tests/index.js +33 -0
- package/node_modules/@protobufjs/utf8/LICENSE +26 -0
- package/node_modules/@protobufjs/utf8/README.md +20 -0
- package/node_modules/@protobufjs/utf8/index.d.ts +24 -0
- package/node_modules/@protobufjs/utf8/index.js +104 -0
- package/node_modules/@protobufjs/utf8/package.json +21 -0
- package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
- package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
- package/node_modules/@protobufjs/utf8/tests/index.js +74 -0
- package/node_modules/@tokenizer/inflate/LICENSE +15 -0
- package/node_modules/@tokenizer/inflate/README.md +114 -0
- package/node_modules/@tokenizer/inflate/lib/GzipHandler.d.ts +6 -0
- package/node_modules/@tokenizer/inflate/lib/GzipHandler.js +19 -0
- package/node_modules/@tokenizer/inflate/lib/ZipHandler.d.ts +26 -0
- package/node_modules/@tokenizer/inflate/lib/ZipHandler.js +233 -0
- package/node_modules/@tokenizer/inflate/lib/ZipToken.d.ts +94 -0
- package/node_modules/@tokenizer/inflate/lib/ZipToken.js +117 -0
- package/node_modules/@tokenizer/inflate/lib/index.d.ts +3 -0
- package/node_modules/@tokenizer/inflate/lib/index.js +2 -0
- package/node_modules/@tokenizer/inflate/package.json +76 -0
- package/node_modules/@tokenizer/token/README.md +19 -0
- package/node_modules/@tokenizer/token/index.d.ts +30 -0
- package/node_modules/@tokenizer/token/package.json +33 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +68 -0
- package/node_modules/@types/node/assert.d.ts +1077 -0
- package/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/node_modules/@types/node/buffer.d.ts +1760 -0
- package/node_modules/@types/node/child_process.d.ts +1362 -0
- package/node_modules/@types/node/cluster.d.ts +432 -0
- package/node_modules/@types/node/console.d.ts +93 -0
- package/node_modules/@types/node/constants.d.ts +14 -0
- package/node_modules/@types/node/crypto.d.ts +3941 -0
- package/node_modules/@types/node/dgram.d.ts +537 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +563 -0
- package/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/node_modules/@types/node/dns.d.ts +876 -0
- package/node_modules/@types/node/domain.d.ts +150 -0
- package/node_modules/@types/node/events.d.ts +1008 -0
- package/node_modules/@types/node/fs/promises.d.ts +1468 -0
- package/node_modules/@types/node/fs.d.ts +4771 -0
- package/node_modules/@types/node/globals.d.ts +150 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/node_modules/@types/node/http.d.ts +2147 -0
- package/node_modules/@types/node/http2.d.ts +2489 -0
- package/node_modules/@types/node/https.d.ts +400 -0
- package/node_modules/@types/node/index.d.ts +114 -0
- package/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/node_modules/@types/node/inspector.d.ts +264 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/@types/node/module.d.ts +726 -0
- package/node_modules/@types/node/net.d.ts +970 -0
- package/node_modules/@types/node/os.d.ts +498 -0
- package/node_modules/@types/node/package.json +155 -0
- package/node_modules/@types/node/path/posix.d.ts +8 -0
- package/node_modules/@types/node/path/win32.d.ts +8 -0
- package/node_modules/@types/node/path.d.ts +178 -0
- package/node_modules/@types/node/perf_hooks.d.ts +604 -0
- package/node_modules/@types/node/process.d.ts +2204 -0
- package/node_modules/@types/node/punycode.d.ts +89 -0
- package/node_modules/@types/node/querystring.d.ts +139 -0
- package/node_modules/@types/node/quic.d.ts +897 -0
- package/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/node_modules/@types/node/readline.d.ts +508 -0
- package/node_modules/@types/node/repl.d.ts +420 -0
- package/node_modules/@types/node/sea.d.ts +47 -0
- package/node_modules/@types/node/sqlite.d.ts +1068 -0
- package/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/node_modules/@types/node/stream/web.d.ts +300 -0
- package/node_modules/@types/node/stream.d.ts +1774 -0
- package/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/node_modules/@types/node/test.d.ts +2279 -0
- package/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/node_modules/@types/node/timers.d.ts +149 -0
- package/node_modules/@types/node/tls.d.ts +1193 -0
- package/node_modules/@types/node/trace_events.d.ts +103 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +116 -0
- package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +116 -0
- package/node_modules/@types/node/tty.d.ts +225 -0
- package/node_modules/@types/node/url.d.ts +556 -0
- package/node_modules/@types/node/util/types.d.ts +558 -0
- package/node_modules/@types/node/util.d.ts +1660 -0
- package/node_modules/@types/node/v8.d.ts +980 -0
- package/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/@types/node/wasi.d.ts +131 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +83 -0
- package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/node_modules/@types/node/worker_threads.d.ts +668 -0
- package/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/@types/node/zlib.d.ts +589 -0
- package/node_modules/@whiskeysockets/baileys/LICENSE +21 -0
- package/node_modules/@whiskeysockets/baileys/README.md +1312 -0
- package/node_modules/@whiskeysockets/baileys/WAProto/GenerateStatics.sh +3 -0
- package/node_modules/@whiskeysockets/baileys/WAProto/WAProto.proto +5479 -0
- package/node_modules/@whiskeysockets/baileys/WAProto/fix-imports.js +85 -0
- package/node_modules/@whiskeysockets/baileys/WAProto/index.d.ts +14017 -0
- package/node_modules/@whiskeysockets/baileys/WAProto/index.js +97691 -0
- package/node_modules/@whiskeysockets/baileys/engine-requirements.js +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/Defaults/index.d.ts +75 -0
- package/node_modules/@whiskeysockets/baileys/lib/Defaults/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Defaults/index.js +129 -0
- package/node_modules/@whiskeysockets/baileys/lib/Defaults/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/ciphertext-message.d.ts +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/ciphertext-message.js +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/ciphertext-message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group-session-builder.d.ts +15 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group-session-builder.js +30 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group-session-builder.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group_cipher.d.ts +17 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group_cipher.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group_cipher.js +82 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/group_cipher.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/index.d.ts +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/index.js +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/keyhelper.d.ts +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/keyhelper.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/keyhelper.js +18 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/keyhelper.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-chain-key.d.ts +14 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-chain-key.js +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-chain-key.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-distribution-message.js +63 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-message.d.ts +19 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-message.js +66 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-name.d.ts +18 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-name.js +48 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-name.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-record.d.ts +31 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-record.js +41 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-record.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-state.d.ts +39 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-state.js +84 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-key-state.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-message-key.d.ts +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-message-key.js +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/Group/sender-message-key.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/libsignal.d.ts +5 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/libsignal.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/libsignal.js +431 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/libsignal.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/lid-mapping.d.ts +23 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/lid-mapping.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/lid-mapping.js +277 -0
- package/node_modules/@whiskeysockets/baileys/lib/Signal/lid-mapping.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/index.d.ts +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/index.js +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.d.ts +16 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.js +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/types.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/websocket.d.ts +13 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/websocket.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/websocket.js +54 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/Client/websocket.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/business.d.ts +217 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/business.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/business.js +379 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/business.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/chats.d.ts +124 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/chats.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/chats.js +1193 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/chats.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/communities.d.ts +273 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/communities.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/communities.js +431 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/communities.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/groups.d.ts +161 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/groups.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/groups.js +347 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/groups.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/index.d.ts +260 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/index.js +13 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-recv.d.ts +203 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-recv.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-recv.js +1772 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-recv.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.d.ts +199 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js +1145 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/mex.d.ts +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/mex.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/mex.js +42 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/mex.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/newsletter.d.ts +170 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/newsletter.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/newsletter.js +181 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/newsletter.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/socket.d.ts +59 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/socket.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js +967 -0
- package/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Auth.d.ts +117 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Auth.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Auth.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Auth.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Bussines.d.ts +25 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Bussines.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Bussines.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Bussines.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Call.d.ts +15 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Call.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Call.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Call.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Chat.d.ts +124 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Chat.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Chat.js +8 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Chat.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Contact.d.ts +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Contact.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Contact.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Contact.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Events.d.ts +256 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Events.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Events.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Events.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/GroupMetadata.d.ts +71 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/GroupMetadata.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/GroupMetadata.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/GroupMetadata.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Label.d.ts +47 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Label.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Label.js +25 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Label.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/LabelAssociation.d.ts +30 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/LabelAssociation.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/LabelAssociation.js +7 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/LabelAssociation.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Message.d.ts +320 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Message.js +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Mex.d.ts +141 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Mex.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Mex.js +37 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Mex.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Product.d.ts +79 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Product.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Product.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Product.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Signal.d.ts +87 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Signal.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Signal.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Signal.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Socket.d.ts +136 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Socket.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Socket.js +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/Socket.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/State.d.ts +97 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/State.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/State.js +56 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/State.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/USync.d.ts +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/USync.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/USync.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/USync.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/index.d.ts +65 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/index.js +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/Types/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.d.ts +24 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js +302 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/browser-utils.d.ts +4 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/browser-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/browser-utils.js +28 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/browser-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/business.d.ts +23 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/business.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/business.js +231 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/business.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/chat-utils.d.ts +100 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/chat-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/chat-utils.js +872 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/chat-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/companion-reg-client-utils.d.ts +17 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/companion-reg-client-utils.js +35 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/companion-reg-client-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/crypto.d.ts +37 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/crypto.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/crypto.js +118 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/crypto.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/decode-wa-message.d.ts +66 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/decode-wa-message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/decode-wa-message.js +317 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/decode-wa-message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/event-buffer.d.ts +36 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/event-buffer.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/event-buffer.js +622 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/event-buffer.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/generics.d.ts +91 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/generics.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js +393 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/history.d.ts +24 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/history.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/history.js +134 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/history.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/identity-change-handler.d.ts +44 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/identity-change-handler.js +50 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/identity-change-handler.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/index.d.ts +22 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/index.js +22 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/link-preview.d.ts +21 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/link-preview.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/link-preview.js +85 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/link-preview.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/logger.d.ts +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/logger.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/logger.js +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/logger.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/lt-hash.d.ts +8 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/lt-hash.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/lt-hash.js +8 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/lt-hash.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/make-mutex.d.ts +9 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/make-mutex.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/make-mutex.js +33 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/make-mutex.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/message-retry-manager.d.ts +115 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/message-retry-manager.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/message-retry-manager.js +265 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/message-retry-manager.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.d.ts +133 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.js +788 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages.d.ts +91 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages.js +893 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/messages.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.d.ts +20 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js +201 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/offline-node-processor.d.ts +17 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/offline-node-processor.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/offline-node-processor.js +40 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/offline-node-processor.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/pre-key-manager.d.ts +28 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/pre-key-manager.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/pre-key-manager.js +106 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/pre-key-manager.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/process-message.d.ts +60 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/process-message.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/process-message.js +630 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/process-message.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/reporting-utils.d.ts +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/reporting-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/reporting-utils.js +258 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/reporting-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/signal.d.ts +47 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/signal.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/signal.js +201 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/signal.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/stanza-ack.d.ts +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/stanza-ack.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/stanza-ack.js +38 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/stanza-ack.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/sync-action-utils.d.ts +19 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/sync-action-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/sync-action-utils.js +49 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/sync-action-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/tc-token-utils.d.ts +37 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/tc-token-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/tc-token-utils.js +163 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/tc-token-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/use-multi-file-auth-state.js +121 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/use-multi-file-auth-state.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/validate-connection.d.ts +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/validate-connection.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/validate-connection.js +203 -0
- package/node_modules/@whiskeysockets/baileys/lib/Utils/validate-connection.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/constants.d.ts +28 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/constants.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/constants.js +1301 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/constants.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/decode.d.ts +7 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/decode.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/decode.js +262 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/decode.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/encode.d.ts +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/encode.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/encode.js +220 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/encode.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/generic-utils.d.ts +15 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/generic-utils.js +113 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/generic-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/index.d.ts +6 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/index.js +6 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/jid-utils.d.ts +48 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/jid-utils.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/jid-utils.js +96 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/jid-utils.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/types.d.ts +19 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/types.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/types.js +2 -0
- package/node_modules/@whiskeysockets/baileys/lib/WABinary/types.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/BinaryInfo.d.ts +9 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/BinaryInfo.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/BinaryInfo.js +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/BinaryInfo.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/constants.d.ts +40 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/constants.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/constants.js +22853 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/constants.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/encode.d.ts +3 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/encode.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/encode.js +150 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/encode.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/index.d.ts +4 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/index.js +4 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAM/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncContactProtocol.js +52 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/index.d.ts +6 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/index.js +6 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/Protocols/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncQuery.d.ts +30 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncQuery.js +98 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncQuery.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncUser.d.ts +17 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncUser.js +31 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/USyncUser.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/index.d.ts +4 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/index.js +4 -0
- package/node_modules/@whiskeysockets/baileys/lib/WAUSync/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/index.d.ts +12 -0
- package/node_modules/@whiskeysockets/baileys/lib/index.d.ts.map +1 -0
- package/node_modules/@whiskeysockets/baileys/lib/index.js +11 -0
- package/node_modules/@whiskeysockets/baileys/lib/index.js.map +1 -0
- package/node_modules/@whiskeysockets/baileys/package.json +139 -0
- package/node_modules/async-mutex/LICENSE +21 -0
- package/node_modules/async-mutex/README.md +540 -0
- package/node_modules/async-mutex/es6/Mutex.js +41 -0
- package/node_modules/async-mutex/es6/MutexInterface.js +1 -0
- package/node_modules/async-mutex/es6/Semaphore.js +153 -0
- package/node_modules/async-mutex/es6/SemaphoreInterface.js +1 -0
- package/node_modules/async-mutex/es6/errors.js +3 -0
- package/node_modules/async-mutex/es6/index.js +5 -0
- package/node_modules/async-mutex/es6/tryAcquire.js +8 -0
- package/node_modules/async-mutex/es6/withTimeout.js +124 -0
- package/node_modules/async-mutex/index.mjs +291 -0
- package/node_modules/async-mutex/lib/Mutex.d.ts +12 -0
- package/node_modules/async-mutex/lib/Mutex.js +43 -0
- package/node_modules/async-mutex/lib/MutexInterface.d.ts +17 -0
- package/node_modules/async-mutex/lib/MutexInterface.js +2 -0
- package/node_modules/async-mutex/lib/Semaphore.d.ts +22 -0
- package/node_modules/async-mutex/lib/Semaphore.js +155 -0
- package/node_modules/async-mutex/lib/SemaphoreInterface.d.ts +19 -0
- package/node_modules/async-mutex/lib/SemaphoreInterface.js +2 -0
- package/node_modules/async-mutex/lib/errors.d.ts +3 -0
- package/node_modules/async-mutex/lib/errors.js +6 -0
- package/node_modules/async-mutex/lib/index.d.ts +7 -0
- package/node_modules/async-mutex/lib/index.js +13 -0
- package/node_modules/async-mutex/lib/tryAcquire.d.ts +4 -0
- package/node_modules/async-mutex/lib/tryAcquire.js +12 -0
- package/node_modules/async-mutex/lib/withTimeout.d.ts +4 -0
- package/node_modules/async-mutex/lib/withTimeout.js +128 -0
- package/node_modules/async-mutex/package.json +88 -0
- package/node_modules/atomic-sleep/.travis.yml +11 -0
- package/node_modules/atomic-sleep/LICENSE +22 -0
- package/node_modules/atomic-sleep/index.js +38 -0
- package/node_modules/atomic-sleep/package.json +37 -0
- package/node_modules/atomic-sleep/readme.md +58 -0
- package/node_modules/atomic-sleep/test.js +47 -0
- package/node_modules/cacheable/LICENSE +19 -0
- package/node_modules/cacheable/README.md +846 -0
- package/node_modules/cacheable/dist/index.cjs +1157 -0
- package/node_modules/cacheable/dist/index.d.cts +494 -0
- package/node_modules/cacheable/dist/index.d.ts +494 -0
- package/node_modules/cacheable/dist/index.js +1141 -0
- package/node_modules/cacheable/package.json +81 -0
- package/node_modules/content-type/LICENSE +22 -0
- package/node_modules/content-type/README.md +69 -0
- package/node_modules/content-type/dist/index.d.ts +26 -0
- package/node_modules/content-type/dist/index.js +170 -0
- package/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/content-type/package.json +52 -0
- package/node_modules/curve25519-js/.prettierrc +6 -0
- package/node_modules/curve25519-js/LICENSE +19 -0
- package/node_modules/curve25519-js/README.md +111 -0
- package/node_modules/curve25519-js/lib/index.d.ts +69 -0
- package/node_modules/curve25519-js/lib/index.js +1669 -0
- package/node_modules/curve25519-js/package.json +34 -0
- package/node_modules/curve25519-js/tsconfig.json +20 -0
- package/node_modules/curve25519-js/tslint.json +10 -0
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +64 -0
- package/node_modules/debug/src/browser.js +272 -0
- package/node_modules/debug/src/common.js +292 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/eventemitter3/LICENSE +21 -0
- package/node_modules/eventemitter3/README.md +85 -0
- package/node_modules/eventemitter3/dist/eventemitter3.esm.js +355 -0
- package/node_modules/eventemitter3/dist/eventemitter3.esm.min.js +1 -0
- package/node_modules/eventemitter3/dist/eventemitter3.esm.min.js.map +1 -0
- package/node_modules/eventemitter3/dist/eventemitter3.umd.js +363 -0
- package/node_modules/eventemitter3/dist/eventemitter3.umd.min.js +1 -0
- package/node_modules/eventemitter3/dist/eventemitter3.umd.min.js.map +1 -0
- package/node_modules/eventemitter3/index.d.ts +135 -0
- package/node_modules/eventemitter3/index.js +336 -0
- package/node_modules/eventemitter3/index.mjs +4 -0
- package/node_modules/eventemitter3/package.json +62 -0
- package/node_modules/file-type/core.d.ts +253 -0
- package/node_modules/file-type/core.js +2899 -0
- package/node_modules/file-type/index.d.ts +98 -0
- package/node_modules/file-type/index.js +163 -0
- package/node_modules/file-type/license +9 -0
- package/node_modules/file-type/package.json +290 -0
- package/node_modules/file-type/readme.md +667 -0
- package/node_modules/file-type/supported.js +360 -0
- package/node_modules/file-type/util.js +60 -0
- package/node_modules/hashery/LICENSE +21 -0
- package/node_modules/hashery/README.md +1373 -0
- package/node_modules/hashery/dist/browser/index.global.js +8 -0
- package/node_modules/hashery/dist/browser/index.global.js.map +1 -0
- package/node_modules/hashery/dist/browser/index.js +3 -0
- package/node_modules/hashery/dist/browser/index.js.map +1 -0
- package/node_modules/hashery/dist/node/index.cjs +989 -0
- package/node_modules/hashery/dist/node/index.d.cts +935 -0
- package/node_modules/hashery/dist/node/index.d.ts +935 -0
- package/node_modules/hashery/dist/node/index.js +957 -0
- package/node_modules/hashery/package.json +92 -0
- package/node_modules/hookified/LICENSE +19 -0
- package/node_modules/hookified/README.md +1424 -0
- package/node_modules/hookified/dist/browser/index.global.js +693 -0
- package/node_modules/hookified/dist/browser/index.global.js.map +1 -0
- package/node_modules/hookified/dist/browser/index.js +694 -0
- package/node_modules/hookified/dist/browser/index.js.map +1 -0
- package/node_modules/hookified/dist/node/index.cjs +717 -0
- package/node_modules/hookified/dist/node/index.d.cts +543 -0
- package/node_modules/hookified/dist/node/index.d.ts +543 -0
- package/node_modules/hookified/dist/node/index.js +689 -0
- package/node_modules/hookified/package.json +92 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/keyv/LICENSE +22 -0
- package/node_modules/keyv/README.md +828 -0
- package/node_modules/keyv/dist/index.cjs +990 -0
- package/node_modules/keyv/dist/index.d.cts +378 -0
- package/node_modules/keyv/dist/index.d.ts +378 -0
- package/node_modules/keyv/dist/index.js +964 -0
- package/node_modules/keyv/package.json +88 -0
- package/node_modules/libsignal/LICENSE +621 -0
- package/node_modules/libsignal/README.md +64 -0
- package/node_modules/libsignal/index.d.ts +55 -0
- package/node_modules/libsignal/index.js +10 -0
- package/node_modules/libsignal/package.json +34 -0
- package/node_modules/libsignal/src/.eslintrc.json +31 -0
- package/node_modules/libsignal/src/WhisperTextProtocol.js +933 -0
- package/node_modules/libsignal/src/base_key_type.js +7 -0
- package/node_modules/libsignal/src/chain_type.js +6 -0
- package/node_modules/libsignal/src/crypto.d.ts +19 -0
- package/node_modules/libsignal/src/crypto.js +98 -0
- package/node_modules/libsignal/src/curve.d.ts +22 -0
- package/node_modules/libsignal/src/curve.js +142 -0
- package/node_modules/libsignal/src/errors.js +33 -0
- package/node_modules/libsignal/src/keyhelper.js +45 -0
- package/node_modules/libsignal/src/numeric_fingerprint.js +72 -0
- package/node_modules/libsignal/src/protobufs.js +10 -0
- package/node_modules/libsignal/src/protocol_address.js +40 -0
- package/node_modules/libsignal/src/queue_job.js +69 -0
- package/node_modules/libsignal/src/session_builder.js +164 -0
- package/node_modules/libsignal/src/session_cipher.js +336 -0
- package/node_modules/libsignal/src/session_record.js +316 -0
- package/node_modules/long/LICENSE +202 -0
- package/node_modules/long/README.md +286 -0
- package/node_modules/long/index.d.ts +2 -0
- package/node_modules/long/index.js +1581 -0
- package/node_modules/long/package.json +58 -0
- package/node_modules/long/types.d.ts +474 -0
- package/node_modules/long/umd/index.d.ts +3 -0
- package/node_modules/long/umd/index.js +1622 -0
- package/node_modules/long/umd/package.json +3 -0
- package/node_modules/long/umd/types.d.ts +474 -0
- package/node_modules/lru-cache/LICENSE.md +55 -0
- package/node_modules/lru-cache/README.md +469 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js +1726 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.js +1726 -0
- package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js +1726 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js +1722 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.js +1722 -0
- package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.js +1722 -0
- package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
- package/node_modules/lru-cache/package.json +154 -0
- package/node_modules/media-typer/LICENSE +22 -0
- package/node_modules/media-typer/README.md +79 -0
- package/node_modules/media-typer/dist/index.d.ts +29 -0
- package/node_modules/media-typer/dist/index.js +64 -0
- package/node_modules/media-typer/dist/index.js.map +1 -0
- package/node_modules/media-typer/package.json +48 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/music-metadata/LICENSE.txt +9 -0
- package/node_modules/music-metadata/README.md +878 -0
- package/node_modules/music-metadata/lib/ParseError.d.ts +87 -0
- package/node_modules/music-metadata/lib/ParseError.js +38 -0
- package/node_modules/music-metadata/lib/ParserFactory.d.ts +44 -0
- package/node_modules/music-metadata/lib/ParserFactory.js +141 -0
- package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/aiff/AiffLoader.js +8 -0
- package/node_modules/music-metadata/lib/aiff/AiffParser.d.ts +15 -0
- package/node_modules/music-metadata/lib/aiff/AiffParser.js +104 -0
- package/node_modules/music-metadata/lib/aiff/AiffTagMap.d.ts +4 -0
- package/node_modules/music-metadata/lib/aiff/AiffTagMap.js +15 -0
- package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +48 -0
- package/node_modules/music-metadata/lib/aiff/AiffToken.js +58 -0
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +46 -0
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +176 -0
- package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.d.ts +4 -0
- package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +83 -0
- package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +99 -0
- package/node_modules/music-metadata/lib/apev2/APEv2Token.js +116 -0
- package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +2 -0
- package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +8 -0
- package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +83 -0
- package/node_modules/music-metadata/lib/asf/AsfGuid.js +109 -0
- package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/asf/AsfLoader.js +8 -0
- package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +325 -0
- package/node_modules/music-metadata/lib/asf/AsfObject.js +347 -0
- package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +17 -0
- package/node_modules/music-metadata/lib/asf/AsfParser.js +134 -0
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +7 -0
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +92 -0
- package/node_modules/music-metadata/lib/asf/AsfUtil.d.ts +4 -0
- package/node_modules/music-metadata/lib/asf/AsfUtil.js +32 -0
- package/node_modules/music-metadata/lib/common/BasicParser.d.ts +17 -0
- package/node_modules/music-metadata/lib/common/BasicParser.js +13 -0
- package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +10 -0
- package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.js +17 -0
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +19 -0
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +50 -0
- package/node_modules/music-metadata/lib/common/FourCC.d.ts +6 -0
- package/node_modules/music-metadata/lib/common/FourCC.js +25 -0
- package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +51 -0
- package/node_modules/music-metadata/lib/common/GenericTagMapper.js +51 -0
- package/node_modules/music-metadata/lib/common/GenericTagTypes.d.ts +34 -0
- package/node_modules/music-metadata/lib/common/GenericTagTypes.js +133 -0
- package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +86 -0
- package/node_modules/music-metadata/lib/common/MetadataCollector.js +307 -0
- package/node_modules/music-metadata/lib/common/Util.d.ts +56 -0
- package/node_modules/music-metadata/lib/common/Util.js +152 -0
- package/node_modules/music-metadata/lib/core.d.ts +75 -0
- package/node_modules/music-metadata/lib/core.js +126 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +8 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.d.ts +29 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +154 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.d.ts +9 -0
- package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js +18 -0
- package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +87 -0
- package/node_modules/music-metadata/lib/dsf/DsfChunk.js +50 -0
- package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/dsf/DsfLoader.js +8 -0
- package/node_modules/music-metadata/lib/dsf/DsfParser.d.ts +24 -0
- package/node_modules/music-metadata/lib/dsf/DsfParser.js +57 -0
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +67 -0
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +218 -0
- package/node_modules/music-metadata/lib/ebml/types.d.ts +37 -0
- package/node_modules/music-metadata/lib/ebml/types.js +8 -0
- package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/flac/FlacLoader.js +8 -0
- package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +29 -0
- package/node_modules/music-metadata/lib/flac/FlacParser.js +125 -0
- package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +45 -0
- package/node_modules/music-metadata/lib/flac/FlacToken.js +63 -0
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +17 -0
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +137 -0
- package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.d.ts +4 -0
- package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.js +18 -0
- package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.d.ts +17 -0
- package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +56 -0
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +31 -0
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +73 -0
- package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +92 -0
- package/node_modules/music-metadata/lib/id3v2/FrameParser.js +470 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +9 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +46 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.d.ts +14 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +195 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +11 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +17 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +33 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +169 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +111 -0
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +146 -0
- package/node_modules/music-metadata/lib/iff/index.d.ts +33 -0
- package/node_modules/music-metadata/lib/iff/index.js +16 -0
- package/node_modules/music-metadata/lib/index.d.ts +22 -0
- package/node_modules/music-metadata/lib/index.js +53 -0
- package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +9 -0
- package/node_modules/music-metadata/lib/lrc/LyricsParser.js +45 -0
- package/node_modules/music-metadata/lib/lyrics3/Lyrics3.d.ts +3 -0
- package/node_modules/music-metadata/lib/lyrics3/Lyrics3.js +17 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaDtd.d.ts +8 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +283 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +8 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaParser.d.ts +19 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +143 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.d.ts +4 -0
- package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.js +32 -0
- package/node_modules/music-metadata/lib/matroska/types.d.ts +142 -0
- package/node_modules/music-metadata/lib/matroska/types.js +27 -0
- package/node_modules/music-metadata/lib/mp4/Atom.d.ts +16 -0
- package/node_modules/music-metadata/lib/mp4/Atom.js +65 -0
- package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +487 -0
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +576 -0
- package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +32 -0
- package/node_modules/music-metadata/lib/mp4/MP4Parser.js +647 -0
- package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +8 -0
- package/node_modules/music-metadata/lib/mp4/MP4TagMapper.js +123 -0
- package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +2 -0
- package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +8 -0
- package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.d.ts +27 -0
- package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.js +28 -0
- package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +8 -0
- package/node_modules/music-metadata/lib/mpeg/MpegParser.d.ts +62 -0
- package/node_modules/music-metadata/lib/mpeg/MpegParser.js +569 -0
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +57 -0
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +64 -0
- package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +44 -0
- package/node_modules/music-metadata/lib/mpeg/XingTag.js +65 -0
- package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +15 -0
- package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +3 -0
- package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +8 -0
- package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +4 -0
- package/node_modules/music-metadata/lib/musepack/MusepackParser.js +30 -0
- package/node_modules/music-metadata/lib/musepack/sv7/BitReader.d.ts +13 -0
- package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +46 -0
- package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -0
- package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +47 -0
- package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.d.ts +28 -0
- package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +39 -0
- package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -0
- package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +56 -0
- package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.d.ts +42 -0
- package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +82 -0
- package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/ogg/OggLoader.js +8 -0
- package/node_modules/music-metadata/lib/ogg/OggParser.d.ts +27 -0
- package/node_modules/music-metadata/lib/ogg/OggParser.js +125 -0
- package/node_modules/music-metadata/lib/ogg/OggToken.d.ts +83 -0
- package/node_modules/music-metadata/lib/ogg/OggToken.js +41 -0
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +29 -0
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +74 -0
- package/node_modules/music-metadata/lib/ogg/opus/Opus.d.ts +63 -0
- package/node_modules/music-metadata/lib/ogg/opus/Opus.js +27 -0
- package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +24 -0
- package/node_modules/music-metadata/lib/ogg/opus/OpusStream.js +56 -0
- package/node_modules/music-metadata/lib/ogg/speex/Speex.d.ts +36 -0
- package/node_modules/music-metadata/lib/ogg/speex/Speex.js +28 -0
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +20 -0
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +31 -0
- package/node_modules/music-metadata/lib/ogg/theora/Theora.d.ts +20 -0
- package/node_modules/music-metadata/lib/ogg/theora/Theora.js +20 -0
- package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +25 -0
- package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +39 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +68 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js +83 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +29 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +53 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +136 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +133 -0
- package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +16 -0
- package/node_modules/music-metadata/lib/riff/RiffChunk.js +28 -0
- package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +10 -0
- package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.js +34 -0
- package/node_modules/music-metadata/lib/type.d.ts +661 -0
- package/node_modules/music-metadata/lib/type.js +2 -0
- package/node_modules/music-metadata/lib/wav/BwfChunk.d.ts +17 -0
- package/node_modules/music-metadata/lib/wav/BwfChunk.js +26 -0
- package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +104 -0
- package/node_modules/music-metadata/lib/wav/WaveChunk.js +88 -0
- package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/wav/WaveLoader.js +8 -0
- package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +25 -0
- package/node_modules/music-metadata/lib/wav/WaveParser.js +171 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +2 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +8 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackParser.d.ts +30 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +109 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackToken.d.ts +60 -0
- package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +70 -0
- package/node_modules/music-metadata/package.json +156 -0
- package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
- package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
- package/node_modules/on-exit-leak-free/LICENSE +21 -0
- package/node_modules/on-exit-leak-free/README.md +54 -0
- package/node_modules/on-exit-leak-free/index.js +108 -0
- package/node_modules/on-exit-leak-free/package.json +37 -0
- package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
- package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
- package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
- package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
- package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
- package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
- package/node_modules/p-queue/dist/index.d.ts +263 -0
- package/node_modules/p-queue/dist/index.js +796 -0
- package/node_modules/p-queue/dist/lower-bound.d.ts +1 -0
- package/node_modules/p-queue/dist/lower-bound.js +18 -0
- package/node_modules/p-queue/dist/options.d.ts +137 -0
- package/node_modules/p-queue/dist/options.js +1 -0
- package/node_modules/p-queue/dist/priority-queue.d.ts +15 -0
- package/node_modules/p-queue/dist/priority-queue.js +94 -0
- package/node_modules/p-queue/dist/queue.d.ts +9 -0
- package/node_modules/p-queue/dist/queue.js +1 -0
- package/node_modules/p-queue/license +9 -0
- package/node_modules/p-queue/package.json +81 -0
- package/node_modules/p-queue/readme.md +1079 -0
- package/node_modules/p-timeout/index.d.ts +149 -0
- package/node_modules/p-timeout/index.js +95 -0
- package/node_modules/p-timeout/license +9 -0
- package/node_modules/p-timeout/package.json +52 -0
- package/node_modules/p-timeout/readme.md +192 -0
- package/node_modules/pino/.eslintignore +2 -0
- package/node_modules/pino/.eslintrc +8 -0
- package/node_modules/pino/.github/dependabot.yml +13 -0
- package/node_modules/pino/.github/workflows/bench.yml +61 -0
- package/node_modules/pino/.github/workflows/ci.yml +90 -0
- package/node_modules/pino/.github/workflows/lock-threads.yml +30 -0
- package/node_modules/pino/.github/workflows/publish-release.yml +43 -0
- package/node_modules/pino/.github/workflows/target-main.yml +23 -0
- package/node_modules/pino/.nojekyll +0 -0
- package/node_modules/pino/.prettierignore +1 -0
- package/node_modules/pino/.taprc.yaml +8 -0
- package/node_modules/pino/CNAME +1 -0
- package/node_modules/pino/CONTRIBUTING.md +30 -0
- package/node_modules/pino/LICENSE +21 -0
- package/node_modules/pino/README.md +177 -0
- package/node_modules/pino/SECURITY.md +68 -0
- package/node_modules/pino/benchmarks/basic.bench.js +95 -0
- package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
- package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
- package/node_modules/pino/benchmarks/child.bench.js +62 -0
- package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
- package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
- package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
- package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
- package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
- package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
- package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
- package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
- package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
- package/node_modules/pino/benchmarks/multistream.js +98 -0
- package/node_modules/pino/benchmarks/object.bench.js +82 -0
- package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
- package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
- package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
- package/node_modules/pino/bin.js +6 -0
- package/node_modules/pino/browser.js +505 -0
- package/node_modules/pino/build/sync-version.js +25 -0
- package/node_modules/pino/docs/api.md +1588 -0
- package/node_modules/pino/docs/asynchronous.md +40 -0
- package/node_modules/pino/docs/benchmarks.md +55 -0
- package/node_modules/pino/docs/browser.md +242 -0
- package/node_modules/pino/docs/bundling.md +40 -0
- package/node_modules/pino/docs/child-loggers.md +95 -0
- package/node_modules/pino/docs/diagnostics.md +16 -0
- package/node_modules/pino/docs/ecosystem.md +86 -0
- package/node_modules/pino/docs/help.md +345 -0
- package/node_modules/pino/docs/lts.md +64 -0
- package/node_modules/pino/docs/pretty.md +35 -0
- package/node_modules/pino/docs/redaction.md +135 -0
- package/node_modules/pino/docs/transports.md +1263 -0
- package/node_modules/pino/docs/web.md +309 -0
- package/node_modules/pino/docsify/sidebar.md +26 -0
- package/node_modules/pino/examples/basic.js +43 -0
- package/node_modules/pino/examples/transport.js +68 -0
- package/node_modules/pino/favicon-16x16.png +0 -0
- package/node_modules/pino/favicon-32x32.png +0 -0
- package/node_modules/pino/favicon.ico +0 -0
- package/node_modules/pino/file.js +12 -0
- package/node_modules/pino/inc-version.sh +42 -0
- package/node_modules/pino/index.html +55 -0
- package/node_modules/pino/lib/caller.js +30 -0
- package/node_modules/pino/lib/constants.js +28 -0
- package/node_modules/pino/lib/deprecations.js +8 -0
- package/node_modules/pino/lib/levels.js +241 -0
- package/node_modules/pino/lib/meta.js +3 -0
- package/node_modules/pino/lib/multistream.js +203 -0
- package/node_modules/pino/lib/proto.js +260 -0
- package/node_modules/pino/lib/redaction.js +114 -0
- package/node_modules/pino/lib/symbols.js +74 -0
- package/node_modules/pino/lib/time.js +39 -0
- package/node_modules/pino/lib/tools.js +436 -0
- package/node_modules/pino/lib/transport-stream.js +56 -0
- package/node_modules/pino/lib/transport.js +167 -0
- package/node_modules/pino/lib/worker.js +194 -0
- package/node_modules/pino/package.json +122 -0
- package/node_modules/pino/pino-banner.png +0 -0
- package/node_modules/pino/pino-logo-hire.png +0 -0
- package/node_modules/pino/pino-tree.png +0 -0
- package/node_modules/pino/pino.d.ts +904 -0
- package/node_modules/pino/pino.js +234 -0
- package/node_modules/pino/pretty-demo.png +0 -0
- package/node_modules/pino/test/basic.test.js +876 -0
- package/node_modules/pino/test/broken-pipe.test.js +57 -0
- package/node_modules/pino/test/browser-child.test.js +132 -0
- package/node_modules/pino/test/browser-disabled.test.js +87 -0
- package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
- package/node_modules/pino/test/browser-is-level-enabled.test.js +104 -0
- package/node_modules/pino/test/browser-levels.test.js +241 -0
- package/node_modules/pino/test/browser-serializers.test.js +352 -0
- package/node_modules/pino/test/browser-timestamp.test.js +88 -0
- package/node_modules/pino/test/browser-transmit.test.js +417 -0
- package/node_modules/pino/test/browser.test.js +679 -0
- package/node_modules/pino/test/complex-objects.test.js +34 -0
- package/node_modules/pino/test/crlf.test.js +32 -0
- package/node_modules/pino/test/custom-levels.test.js +253 -0
- package/node_modules/pino/test/diagnostics.test.js +107 -0
- package/node_modules/pino/test/error.test.js +398 -0
- package/node_modules/pino/test/errorKey.test.js +34 -0
- package/node_modules/pino/test/escaping.test.js +91 -0
- package/node_modules/pino/test/esm/esm.mjs +12 -0
- package/node_modules/pino/test/esm/index.test.js +34 -0
- package/node_modules/pino/test/esm/named-exports.mjs +27 -0
- package/node_modules/pino/test/exit.test.js +77 -0
- package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
- package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
- package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
- package/node_modules/pino/test/fixtures/console-transport.js +13 -0
- package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
- package/node_modules/pino/test/fixtures/default-exit.js +8 -0
- package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
- package/node_modules/pino/test/fixtures/eval/index.js +13 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
- package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
- package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
- package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
- package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
- package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
- package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
- package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
- package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
- package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
- package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
- package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
- package/node_modules/pino/test/fixtures/transport/index.js +12 -0
- package/node_modules/pino/test/fixtures/transport/package.json +5 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
- package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
- package/node_modules/pino/test/fixtures/transport-main.js +9 -0
- package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
- package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
- package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
- package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
- package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
- package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
- package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
- package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
- package/node_modules/pino/test/formatters.test.js +355 -0
- package/node_modules/pino/test/helper.d.ts +4 -0
- package/node_modules/pino/test/helper.js +128 -0
- package/node_modules/pino/test/hooks.test.js +118 -0
- package/node_modules/pino/test/http.test.js +242 -0
- package/node_modules/pino/test/internals/version.test.js +15 -0
- package/node_modules/pino/test/is-level-enabled.test.js +185 -0
- package/node_modules/pino/test/jest/basic.spec.js +10 -0
- package/node_modules/pino/test/levels.test.js +772 -0
- package/node_modules/pino/test/metadata.test.js +106 -0
- package/node_modules/pino/test/mixin-merge-strategy.test.js +55 -0
- package/node_modules/pino/test/mixin.test.js +218 -0
- package/node_modules/pino/test/multistream.test.js +723 -0
- package/node_modules/pino/test/pkg/index.js +46 -0
- package/node_modules/pino/test/pkg/pkg.config.json +16 -0
- package/node_modules/pino/test/pkg/pkg.test.js +58 -0
- package/node_modules/pino/test/redact.test.js +847 -0
- package/node_modules/pino/test/serializers.test.js +253 -0
- package/node_modules/pino/test/sinon-child-logger.test.js +75 -0
- package/node_modules/pino/test/stdout-protection.test.js +39 -0
- package/node_modules/pino/test/syncfalse.test.js +188 -0
- package/node_modules/pino/test/timestamp-nano.test.js +35 -0
- package/node_modules/pino/test/timestamp.test.js +122 -0
- package/node_modules/pino/test/transport/big.test.js +43 -0
- package/node_modules/pino/test/transport/bundlers-support.test.js +97 -0
- package/node_modules/pino/test/transport/caller.test.js +23 -0
- package/node_modules/pino/test/transport/core.test.js +643 -0
- package/node_modules/pino/test/transport/core.test.ts +236 -0
- package/node_modules/pino/test/transport/core.transpiled.test.ts +112 -0
- package/node_modules/pino/test/transport/crash.test.js +34 -0
- package/node_modules/pino/test/transport/module-link.test.js +239 -0
- package/node_modules/pino/test/transport/pipeline.test.js +135 -0
- package/node_modules/pino/test/transport/repl.test.js +14 -0
- package/node_modules/pino/test/transport/syncTrue.test.js +55 -0
- package/node_modules/pino/test/transport/syncfalse.test.js +68 -0
- package/node_modules/pino/test/transport/targets.test.js +44 -0
- package/node_modules/pino/test/transport/uses-pino-config.test.js +167 -0
- package/node_modules/pino/test/transport-stream.test.js +26 -0
- package/node_modules/pino/test/types/pino-import.test-d.cts +29 -0
- package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
- package/node_modules/pino/test/types/pino-top-export.test-d.ts +36 -0
- package/node_modules/pino/test/types/pino-transport.test-d.ts +145 -0
- package/node_modules/pino/test/types/pino-type-only.test-d.ts +66 -0
- package/node_modules/pino/test/types/pino.test-d.ts +585 -0
- package/node_modules/pino/test/types/pino.ts +90 -0
- package/node_modules/pino/tsconfig.json +14 -0
- package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
- package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +97 -0
- package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
- package/node_modules/pino-abstract-transport/LICENSE +21 -0
- package/node_modules/pino-abstract-transport/README.md +172 -0
- package/node_modules/pino-abstract-transport/index.d.ts +122 -0
- package/node_modules/pino-abstract-transport/index.js +128 -0
- package/node_modules/pino-abstract-transport/package.json +40 -0
- package/node_modules/pino-abstract-transport/test/base.test.js +445 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
- package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
- package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
- package/node_modules/pino-abstract-transport/test/worker.test.js +357 -0
- package/node_modules/pino-std-serializers/.editorconfig +13 -0
- package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
- package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
- package/node_modules/pino-std-serializers/LICENSE +7 -0
- package/node_modules/pino-std-serializers/Readme.md +182 -0
- package/node_modules/pino-std-serializers/eslint.config.js +7 -0
- package/node_modules/pino-std-serializers/index.d.ts +145 -0
- package/node_modules/pino-std-serializers/index.js +36 -0
- package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
- package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
- package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
- package/node_modules/pino-std-serializers/lib/err.js +45 -0
- package/node_modules/pino-std-serializers/lib/req.js +100 -0
- package/node_modules/pino-std-serializers/lib/res.js +47 -0
- package/node_modules/pino-std-serializers/package.json +42 -0
- package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
- package/node_modules/pino-std-serializers/test/err.test.js +200 -0
- package/node_modules/pino-std-serializers/test/req.test.js +477 -0
- package/node_modules/pino-std-serializers/test/res.test.js +120 -0
- package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
- package/node_modules/pino-std-serializers/tsconfig.json +13 -0
- package/node_modules/process-warning/.gitattributes +2 -0
- package/node_modules/process-warning/.github/dependabot.yml +13 -0
- package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
- package/node_modules/process-warning/LICENSE +21 -0
- package/node_modules/process-warning/README.md +118 -0
- package/node_modules/process-warning/benchmarks/warn.js +25 -0
- package/node_modules/process-warning/eslint.config.js +6 -0
- package/node_modules/process-warning/examples/example.js +11 -0
- package/node_modules/process-warning/index.js +124 -0
- package/node_modules/process-warning/package.json +73 -0
- package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
- package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
- package/node_modules/process-warning/test/emit-reset.test.js +40 -0
- package/node_modules/process-warning/test/emit-set.test.js +35 -0
- package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
- package/node_modules/process-warning/test/index.test.js +99 -0
- package/node_modules/process-warning/test/issue-88.test.js +38 -0
- package/node_modules/process-warning/test/jest.test.js +24 -0
- package/node_modules/process-warning/test/no-warnings.test.js +80 -0
- package/node_modules/process-warning/test/promise.js +10 -0
- package/node_modules/process-warning/types/index.d.ts +37 -0
- package/node_modules/process-warning/types/index.test-d.ts +36 -0
- package/node_modules/protobufjs/LICENSE +39 -0
- package/node_modules/protobufjs/README.md +727 -0
- package/node_modules/protobufjs/dist/light/protobuf.js +8041 -0
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -0
- package/node_modules/protobufjs/dist/light/protobuf.min.js +8 -0
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -0
- package/node_modules/protobufjs/dist/minimal/protobuf.js +2791 -0
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -0
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +8 -0
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -0
- package/node_modules/protobufjs/dist/protobuf.js +9865 -0
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -0
- package/node_modules/protobufjs/dist/protobuf.min.js +8 -0
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -0
- package/node_modules/protobufjs/ext/debug/README.md +4 -0
- package/node_modules/protobufjs/ext/debug/index.js +71 -0
- package/node_modules/protobufjs/ext/descriptor/README.md +72 -0
- package/node_modules/protobufjs/ext/descriptor/index.d.ts +195 -0
- package/node_modules/protobufjs/ext/descriptor/index.js +1186 -0
- package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
- package/node_modules/protobufjs/google/LICENSE +27 -0
- package/node_modules/protobufjs/google/README.md +1 -0
- package/node_modules/protobufjs/google/api/annotations.json +83 -0
- package/node_modules/protobufjs/google/api/annotations.proto +11 -0
- package/node_modules/protobufjs/google/api/http.json +86 -0
- package/node_modules/protobufjs/google/api/http.proto +31 -0
- package/node_modules/protobufjs/google/protobuf/api.json +118 -0
- package/node_modules/protobufjs/google/protobuf/api.proto +34 -0
- package/node_modules/protobufjs/google/protobuf/descriptor.json +1382 -0
- package/node_modules/protobufjs/google/protobuf/descriptor.proto +535 -0
- package/node_modules/protobufjs/google/protobuf/source_context.json +20 -0
- package/node_modules/protobufjs/google/protobuf/source_context.proto +7 -0
- package/node_modules/protobufjs/google/protobuf/type.json +202 -0
- package/node_modules/protobufjs/google/protobuf/type.proto +89 -0
- package/node_modules/protobufjs/index.d.ts +2832 -0
- package/node_modules/protobufjs/index.js +4 -0
- package/node_modules/protobufjs/light.d.ts +2 -0
- package/node_modules/protobufjs/light.js +4 -0
- package/node_modules/protobufjs/minimal.d.ts +2 -0
- package/node_modules/protobufjs/minimal.js +4 -0
- package/node_modules/protobufjs/package.json +119 -0
- package/node_modules/protobufjs/scripts/postinstall.js +32 -0
- package/node_modules/protobufjs/src/common.js +399 -0
- package/node_modules/protobufjs/src/converter.js +318 -0
- package/node_modules/protobufjs/src/decoder.js +135 -0
- package/node_modules/protobufjs/src/encoder.js +103 -0
- package/node_modules/protobufjs/src/enum.js +226 -0
- package/node_modules/protobufjs/src/field.js +453 -0
- package/node_modules/protobufjs/src/index-light.js +104 -0
- package/node_modules/protobufjs/src/index-minimal.js +36 -0
- package/node_modules/protobufjs/src/index.js +12 -0
- package/node_modules/protobufjs/src/mapfield.js +126 -0
- package/node_modules/protobufjs/src/message.js +143 -0
- package/node_modules/protobufjs/src/method.js +160 -0
- package/node_modules/protobufjs/src/namespace.js +558 -0
- package/node_modules/protobufjs/src/object.js +382 -0
- package/node_modules/protobufjs/src/oneof.js +222 -0
- package/node_modules/protobufjs/src/parse.js +989 -0
- package/node_modules/protobufjs/src/reader.js +426 -0
- package/node_modules/protobufjs/src/reader_buffer.js +51 -0
- package/node_modules/protobufjs/src/root.js +412 -0
- package/node_modules/protobufjs/src/roots.js +18 -0
- package/node_modules/protobufjs/src/rpc/service.js +142 -0
- package/node_modules/protobufjs/src/rpc.js +36 -0
- package/node_modules/protobufjs/src/service.js +193 -0
- package/node_modules/protobufjs/src/tokenize.js +416 -0
- package/node_modules/protobufjs/src/type.js +632 -0
- package/node_modules/protobufjs/src/types.js +196 -0
- package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
- package/node_modules/protobufjs/src/util/fs.js +11 -0
- package/node_modules/protobufjs/src/util/longbits.js +200 -0
- package/node_modules/protobufjs/src/util/minimal.js +491 -0
- package/node_modules/protobufjs/src/util/patterns.js +7 -0
- package/node_modules/protobufjs/src/util.js +230 -0
- package/node_modules/protobufjs/src/verifier.js +180 -0
- package/node_modules/protobufjs/src/wrappers.js +107 -0
- package/node_modules/protobufjs/src/writer.js +467 -0
- package/node_modules/protobufjs/src/writer_buffer.js +85 -0
- package/node_modules/protobufjs/tsconfig.json +8 -0
- package/node_modules/qified/LICENSE +19 -0
- package/node_modules/qified/README.md +677 -0
- package/node_modules/qified/dist/index.cjs +662 -0
- package/node_modules/qified/dist/index.d.cts +626 -0
- package/node_modules/qified/dist/index.d.mts +626 -0
- package/node_modules/qified/dist/index.mjs +657 -0
- package/node_modules/qified/node_modules/hookified/LICENSE +19 -0
- package/node_modules/qified/node_modules/hookified/README.md +1792 -0
- package/node_modules/qified/node_modules/hookified/dist/browser/index.global.js +951 -0
- package/node_modules/qified/node_modules/hookified/dist/browser/index.global.js.map +1 -0
- package/node_modules/qified/node_modules/hookified/dist/browser/index.js +943 -0
- package/node_modules/qified/node_modules/hookified/dist/browser/index.js.map +1 -0
- package/node_modules/qified/node_modules/hookified/dist/node/index.cjs +908 -0
- package/node_modules/qified/node_modules/hookified/dist/node/index.d.cts +771 -0
- package/node_modules/qified/node_modules/hookified/dist/node/index.d.ts +771 -0
- package/node_modules/qified/node_modules/hookified/dist/node/index.js +903 -0
- package/node_modules/qified/node_modules/hookified/package.json +94 -0
- package/node_modules/qified/package.json +50 -0
- package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
- package/node_modules/quick-format-unescaped/LICENSE +21 -0
- package/node_modules/quick-format-unescaped/benchmark.js +24 -0
- package/node_modules/quick-format-unescaped/index.js +109 -0
- package/node_modules/quick-format-unescaped/package.json +29 -0
- package/node_modules/quick-format-unescaped/readme.md +66 -0
- package/node_modules/quick-format-unescaped/test/index.js +136 -0
- package/node_modules/real-require/LICENSE.md +21 -0
- package/node_modules/real-require/README.md +51 -0
- package/node_modules/real-require/package.json +49 -0
- package/node_modules/real-require/src/index.js +14 -0
- package/node_modules/safe-stable-stringify/LICENSE +21 -0
- package/node_modules/safe-stable-stringify/esm/package.json +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
- package/node_modules/safe-stable-stringify/index.d.ts +22 -0
- package/node_modules/safe-stable-stringify/index.js +625 -0
- package/node_modules/safe-stable-stringify/package.json +65 -0
- package/node_modules/safe-stable-stringify/readme.md +179 -0
- package/node_modules/sonic-boom/.eslintignore +2 -0
- package/node_modules/sonic-boom/.taprc +3 -0
- package/node_modules/sonic-boom/LICENSE +21 -0
- package/node_modules/sonic-boom/README.md +153 -0
- package/node_modules/sonic-boom/bench.js +98 -0
- package/node_modules/sonic-boom/check.js +18 -0
- package/node_modules/sonic-boom/example.js +8 -0
- package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
- package/node_modules/sonic-boom/index.js +733 -0
- package/node_modules/sonic-boom/package.json +52 -0
- package/node_modules/sonic-boom/test/destroy.test.js +49 -0
- package/node_modules/sonic-boom/test/end.test.js +98 -0
- package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
- package/node_modules/sonic-boom/test/flush.test.js +419 -0
- package/node_modules/sonic-boom/test/fsync.test.js +63 -0
- package/node_modules/sonic-boom/test/helper.js +42 -0
- package/node_modules/sonic-boom/test/minlength.test.js +35 -0
- package/node_modules/sonic-boom/test/mode.test.js +116 -0
- package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
- package/node_modules/sonic-boom/test/reopen.test.js +239 -0
- package/node_modules/sonic-boom/test/retry.test.js +414 -0
- package/node_modules/sonic-boom/test/sync.test.js +261 -0
- package/node_modules/sonic-boom/test/write.test.js +515 -0
- package/node_modules/sonic-boom/types/index.d.ts +63 -0
- package/node_modules/sonic-boom/types/tests/test.ts +4 -0
- package/node_modules/split2/LICENSE +13 -0
- package/node_modules/split2/README.md +85 -0
- package/node_modules/split2/bench.js +27 -0
- package/node_modules/split2/index.js +141 -0
- package/node_modules/split2/package.json +39 -0
- package/node_modules/split2/test.js +409 -0
- package/node_modules/strtok3/LICENSE.txt +21 -0
- package/node_modules/strtok3/README.md +399 -0
- package/node_modules/strtok3/lib/AbstractTokenizer.d.ts +76 -0
- package/node_modules/strtok3/lib/AbstractTokenizer.js +111 -0
- package/node_modules/strtok3/lib/BlobTokenizer.d.ts +29 -0
- package/node_modules/strtok3/lib/BlobTokenizer.js +53 -0
- package/node_modules/strtok3/lib/BufferTokenizer.d.ts +29 -0
- package/node_modules/strtok3/lib/BufferTokenizer.js +52 -0
- package/node_modules/strtok3/lib/FileTokenizer.d.ts +37 -0
- package/node_modules/strtok3/lib/FileTokenizer.js +61 -0
- package/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +34 -0
- package/node_modules/strtok3/lib/ReadStreamTokenizer.js +107 -0
- package/node_modules/strtok3/lib/core.d.ts +40 -0
- package/node_modules/strtok3/lib/core.js +62 -0
- package/node_modules/strtok3/lib/index.d.ts +16 -0
- package/node_modules/strtok3/lib/index.js +22 -0
- package/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +54 -0
- package/node_modules/strtok3/lib/stream/AbstractStreamReader.js +71 -0
- package/node_modules/strtok3/lib/stream/Deferred.d.ts +6 -0
- package/node_modules/strtok3/lib/stream/Deferred.js +10 -0
- package/node_modules/strtok3/lib/stream/Errors.d.ts +10 -0
- package/node_modules/strtok3/lib/stream/Errors.js +16 -0
- package/node_modules/strtok3/lib/stream/StreamReader.d.ts +29 -0
- package/node_modules/strtok3/lib/stream/StreamReader.js +83 -0
- package/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +14 -0
- package/node_modules/strtok3/lib/stream/WebStreamByobReader.js +27 -0
- package/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +19 -0
- package/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +62 -0
- package/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +14 -0
- package/node_modules/strtok3/lib/stream/WebStreamReader.js +13 -0
- package/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +5 -0
- package/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +19 -0
- package/node_modules/strtok3/lib/stream/index.d.ts +6 -0
- package/node_modules/strtok3/lib/stream/index.js +5 -0
- package/node_modules/strtok3/lib/types.d.ts +139 -0
- package/node_modules/strtok3/lib/types.js +1 -0
- package/node_modules/strtok3/package.json +94 -0
- package/node_modules/thread-stream/.claude/settings.local.json +15 -0
- package/node_modules/thread-stream/.github/dependabot.yml +13 -0
- package/node_modules/thread-stream/.github/workflows/ci.yml +94 -0
- package/node_modules/thread-stream/.husky/pre-commit +4 -0
- package/node_modules/thread-stream/.taprc +4 -0
- package/node_modules/thread-stream/CLAUDE.md +64 -0
- package/node_modules/thread-stream/LICENSE +21 -0
- package/node_modules/thread-stream/README.md +136 -0
- package/node_modules/thread-stream/bench.js +85 -0
- package/node_modules/thread-stream/index.d.ts +92 -0
- package/node_modules/thread-stream/index.js +565 -0
- package/node_modules/thread-stream/lib/indexes.js +11 -0
- package/node_modules/thread-stream/lib/wait.js +61 -0
- package/node_modules/thread-stream/lib/worker.js +186 -0
- package/node_modules/thread-stream/package.json +57 -0
- package/node_modules/thread-stream/test/base.test.js +258 -0
- package/node_modules/thread-stream/test/bench.test.js +38 -0
- package/node_modules/thread-stream/test/bundlers.test.js +60 -0
- package/node_modules/thread-stream/test/close-on-gc.js +37 -0
- package/node_modules/thread-stream/test/commonjs-fallback.test.js +80 -0
- package/node_modules/thread-stream/test/context.test.js +21 -0
- package/node_modules/thread-stream/test/create-and-exit.js +16 -0
- package/node_modules/thread-stream/test/custom-worker.js +9 -0
- package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
- package/node_modules/thread-stream/test/emit-event.js +22 -0
- package/node_modules/thread-stream/test/end.test.js +61 -0
- package/node_modules/thread-stream/test/error.js +14 -0
- package/node_modules/thread-stream/test/esm.test.mjs +47 -0
- package/node_modules/thread-stream/test/event.test.js +23 -0
- package/node_modules/thread-stream/test/exit.js +14 -0
- package/node_modules/thread-stream/test/get-context.js +22 -0
- package/node_modules/thread-stream/test/helper.d.ts +1 -0
- package/node_modules/thread-stream/test/helper.js +35 -0
- package/node_modules/thread-stream/test/indexes.test.js +11 -0
- package/node_modules/thread-stream/test/message-without-code.js +19 -0
- package/node_modules/thread-stream/test/multibyte-chars.test.mjs +74 -0
- package/node_modules/thread-stream/test/never-drain.test.js +57 -0
- package/node_modules/thread-stream/test/on-message.js +18 -0
- package/node_modules/thread-stream/test/pkg/index.js +37 -0
- package/node_modules/thread-stream/test/pkg/pkg.config.json +15 -0
- package/node_modules/thread-stream/test/pkg/pkg.test.js +46 -0
- package/node_modules/thread-stream/test/port.js +16 -0
- package/node_modules/thread-stream/test/post-message.test.js +24 -0
- package/node_modules/thread-stream/test/string-limit-2.test.js +41 -0
- package/node_modules/thread-stream/test/string-limit.test.js +42 -0
- package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
- package/node_modules/thread-stream/test/thread-management.test.js +121 -0
- package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
- package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
- package/node_modules/thread-stream/test/to-file.js +12 -0
- package/node_modules/thread-stream/test/to-file.mjs +8 -0
- package/node_modules/thread-stream/test/to-next.js +9 -0
- package/node_modules/thread-stream/test/transpiled.test.js +30 -0
- package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
- package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
- package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
- package/node_modules/thread-stream/test/ts.test.ts +33 -0
- package/node_modules/thread-stream/test/uncaughtException.js +21 -0
- package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
- package/node_modules/thread-stream/test/watch-mode.test.js +28 -0
- package/node_modules/thread-stream/test/yarnrc.yml +7 -0
- package/node_modules/thread-stream/tsconfig.json +8 -0
- package/node_modules/token-types/LICENSE.txt +9 -0
- package/node_modules/token-types/README.md +120 -0
- package/node_modules/token-types/lib/index.d.ts +135 -0
- package/node_modules/token-types/lib/index.js +401 -0
- package/node_modules/token-types/package.json +81 -0
- package/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/node_modules/tslib/LICENSE.txt +12 -0
- package/node_modules/tslib/README.md +164 -0
- package/node_modules/tslib/SECURITY.md +41 -0
- package/node_modules/tslib/modules/index.d.ts +38 -0
- package/node_modules/tslib/modules/index.js +70 -0
- package/node_modules/tslib/modules/package.json +3 -0
- package/node_modules/tslib/package.json +47 -0
- package/node_modules/tslib/tslib.d.ts +460 -0
- package/node_modules/tslib/tslib.es6.html +1 -0
- package/node_modules/tslib/tslib.es6.js +402 -0
- package/node_modules/tslib/tslib.es6.mjs +401 -0
- package/node_modules/tslib/tslib.html +1 -0
- package/node_modules/tslib/tslib.js +484 -0
- package/node_modules/uint8array-extras/index.d.ts +331 -0
- package/node_modules/uint8array-extras/index.js +318 -0
- package/node_modules/uint8array-extras/license +9 -0
- package/node_modules/uint8array-extras/package.json +54 -0
- package/node_modules/uint8array-extras/readme.md +318 -0
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +30 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/undici-types/client.d.ts +129 -0
- package/node_modules/undici-types/connector.d.ts +36 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +30 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/node_modules/undici-types/dispatcher.d.ts +253 -0
- package/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici-types/errors.d.ts +177 -0
- package/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/undici-types/fetch.d.ts +231 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/undici-types/handlers.d.ts +14 -0
- package/node_modules/undici-types/header.d.ts +165 -0
- package/node_modules/undici-types/index.d.ts +93 -0
- package/node_modules/undici-types/interceptors.d.ts +80 -0
- package/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/undici-types/mock-client.d.ts +27 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +29 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +39 -0
- package/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/node_modules/undici-types/readable.d.ts +68 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/undici-types/round-robin-pool.d.ts +39 -0
- package/node_modules/undici-types/snapshot-agent.d.ts +113 -0
- package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/undici-types/webidl.d.ts +346 -0
- package/node_modules/undici-types/websocket.d.ts +188 -0
- package/node_modules/whatsapp-rust-bridge/README.md +19 -0
- package/node_modules/whatsapp-rust-bridge/dist/index.d.ts +2 -0
- package/node_modules/whatsapp-rust-bridge/dist/index.js +2015 -0
- package/node_modules/whatsapp-rust-bridge/package.json +45 -0
- package/node_modules/whatsapp-rust-bridge/pkg/whatsapp_rust_bridge.d.ts +446 -0
- package/node_modules/win-guid/LICENSE.txt +9 -0
- package/node_modules/win-guid/README.md +113 -0
- package/node_modules/win-guid/lib/guid.d.ts +20 -0
- package/node_modules/win-guid/lib/guid.js +107 -0
- package/node_modules/win-guid/package.json +55 -0
- package/node_modules/ws/LICENSE +20 -0
- package/node_modules/ws/README.md +548 -0
- package/node_modules/ws/browser.js +8 -0
- package/node_modules/ws/index.js +22 -0
- package/node_modules/ws/lib/buffer-util.js +131 -0
- package/node_modules/ws/lib/constants.js +19 -0
- package/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/node_modules/ws/lib/receiver.js +760 -0
- package/node_modules/ws/lib/sender.js +607 -0
- package/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/ws/lib/websocket-server.js +562 -0
- package/node_modules/ws/lib/websocket.js +1571 -0
- package/node_modules/ws/package.json +70 -0
- package/node_modules/ws/wrapper.mjs +21 -0
- package/package.json +28 -0
|
@@ -0,0 +1,1792 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# Event Emitting and Middleware Hooks
|
|
4
|
+
|
|
5
|
+
[](https://github.com/jaredwray/hookified/actions/workflows/tests.yaml)
|
|
6
|
+
[](https://github.com/jaredwray/hookified/blob/master/LICENSE)
|
|
7
|
+
[](https://codecov.io/gh/jaredwray/hookified)
|
|
8
|
+
[](https://npmjs.com/package/hookified)
|
|
9
|
+
[](https://www.jsdelivr.com/package/npm/hookified)
|
|
10
|
+
[](https://npmjs.com/package/hookified)
|
|
11
|
+
|
|
12
|
+
# Features
|
|
13
|
+
- Simple replacement for EventEmitter
|
|
14
|
+
- Async / Sync Middleware Hooks for Your Methods
|
|
15
|
+
- ESM / CJS with Types and Nodejs 20+
|
|
16
|
+
- Browser Support and Delivered via CDN
|
|
17
|
+
- Ability to throw errors in hooks
|
|
18
|
+
- Ability to pass in a logger (such as Pino) for errors
|
|
19
|
+
- Enforce consistent hook naming conventions with `enforceBeforeAfter`
|
|
20
|
+
- Deprecation warnings for hooks with `deprecatedHooks`
|
|
21
|
+
- Control deprecated hook execution with `allowDeprecated`
|
|
22
|
+
- WaterfallHook for sequential data transformation pipelines
|
|
23
|
+
- ParallelHook for concurrent fan-out execution with collected results
|
|
24
|
+
- No package dependencies and only 250KB in size
|
|
25
|
+
- Fast and Efficient with [Benchmarks](#benchmarks)
|
|
26
|
+
- Maintained on a regular basis!
|
|
27
|
+
|
|
28
|
+
# Table of Contents
|
|
29
|
+
- [Installation](#installation)
|
|
30
|
+
- [Usage](#usage)
|
|
31
|
+
- [Migrating from v1 to v2](#migrating-from-v1-to-v2)
|
|
32
|
+
- [Using it in the Browser](#using-it-in-the-browser)
|
|
33
|
+
- [Hooks](#hooks)
|
|
34
|
+
- [Standard Hook](#standard-hook)
|
|
35
|
+
- [Waterfall Hook](#waterfall-hook)
|
|
36
|
+
- [Parallel Hook](#parallel-hook)
|
|
37
|
+
- [API - Hooks](#api---hooks)
|
|
38
|
+
- [.allowDeprecated](#allowdeprecated)
|
|
39
|
+
- [.deprecatedHooks](#deprecatedhooks)
|
|
40
|
+
- [.enforceBeforeAfter](#enforcebeforeafter)
|
|
41
|
+
- [.eventLogger](#eventlogger)
|
|
42
|
+
- [.hooks](#hooks-1)
|
|
43
|
+
- [.throwOnHookError](#throwOnHookError)
|
|
44
|
+
- [.useHookClone](#usehookclone)
|
|
45
|
+
- [.addHook(event, handler)](#addhookevent-handler)
|
|
46
|
+
- [.afterHook(eventName, ...args)](#afterhookeventname-args)
|
|
47
|
+
- [.beforeHook(eventName, ...args)](#beforehookeventname-args)
|
|
48
|
+
- [.callHook(eventName, ...args)](#callhookeventname-args)
|
|
49
|
+
- [.clearHooks()](#clearhooks)
|
|
50
|
+
- [.getHook(id)](#gethookid)
|
|
51
|
+
- [.getHooks(eventName)](#gethookseventname)
|
|
52
|
+
- [.hook(eventName, ...args)](#hookeventname-args)
|
|
53
|
+
- [.hookSync(eventName, ...args)](#hooksync-eventname-args)
|
|
54
|
+
- [.onHook(hook, options?)](#onhookhook-options)
|
|
55
|
+
- [.onHooks(Array, options?)](#onhooksarray-options)
|
|
56
|
+
- [.onceHook(hook)](#oncehookhook)
|
|
57
|
+
- [.prependHook(hook, options?)](#prependhookhook-options)
|
|
58
|
+
- [.prependOnceHook(hook, options?)](#prependoncehookhook-options)
|
|
59
|
+
- [.removeEventHooks(eventName)](#removeeventhookseventname)
|
|
60
|
+
- [.removeHook(hook)](#removehookhook)
|
|
61
|
+
- [.removeHookById(id)](#removehookbyidid)
|
|
62
|
+
- [.removeHooks(Array)](#removehooksarray)
|
|
63
|
+
- [API - Events](#api---events)
|
|
64
|
+
- [.throwOnEmitError](#throwonemitterror)
|
|
65
|
+
- [.throwOnEmptyListeners](#throwonemptylisteners)
|
|
66
|
+
- [.on(eventName, handler)](#oneventname-handler)
|
|
67
|
+
- [.off(eventName, handler)](#offeventname-handler)
|
|
68
|
+
- [.emit(eventName, ...args)](#emiteventname-args)
|
|
69
|
+
- [.listeners(eventName)](#listenerseventname)
|
|
70
|
+
- [.removeAllListeners(eventName)](#removealllistenerseventname)
|
|
71
|
+
- [.setMaxListeners(maxListeners: number)](#setmaxlistenersmaxlisteners-number)
|
|
72
|
+
- [.once(eventName, handler)](#oneventname-handler-1)
|
|
73
|
+
- [.prependListener(eventName, handler)](#prependlistenereventname-handler)
|
|
74
|
+
- [.prependOnceListener(eventName, handler)](#prependoncelistenereventname-handler)
|
|
75
|
+
- [.eventNames()](#eventnames)
|
|
76
|
+
- [.listenerCount(eventName?)](#listenercounteventname)
|
|
77
|
+
- [.rawListeners(eventName?)](#rawlistenerseventname)
|
|
78
|
+
- [Logging](#logging)
|
|
79
|
+
- [Benchmarks](#benchmarks)
|
|
80
|
+
- [How to Contribute](#how-to-contribute)
|
|
81
|
+
- [License and Copyright](#license-and-copyright)
|
|
82
|
+
|
|
83
|
+
# Installation
|
|
84
|
+
```bash
|
|
85
|
+
npm install hookified --save
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
# Usage
|
|
89
|
+
This was built because we constantly wanted hooks and events extended on libraires we are building such as [Keyv](https://keyv.org) and [Cacheable](https://cacheable.org). This is a simple way to add hooks and events to your classes.
|
|
90
|
+
|
|
91
|
+
```javascript
|
|
92
|
+
import { Hookified } from 'hookified';
|
|
93
|
+
|
|
94
|
+
class MyClass extends Hookified {
|
|
95
|
+
constructor() {
|
|
96
|
+
super();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
async myMethodEmittingEvent() {
|
|
100
|
+
this.emit('message', 'Hello World');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//with hooks you can pass data in and if they are subscribed via onHook they can modify the data
|
|
104
|
+
async myMethodWithHooks(): Promise<any> {
|
|
105
|
+
let data = { some: 'data' };
|
|
106
|
+
// do something
|
|
107
|
+
await this.hook('before:myMethod2', data);
|
|
108
|
+
|
|
109
|
+
return data;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
You can even pass in multiple arguments to the hooks:
|
|
115
|
+
|
|
116
|
+
```javascript
|
|
117
|
+
import { Hookified } from 'hookified';
|
|
118
|
+
|
|
119
|
+
class MyClass extends Hookified {
|
|
120
|
+
constructor() {
|
|
121
|
+
super();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
async myMethodWithHooks(): Promise<any> {
|
|
125
|
+
let data = { some: 'data' };
|
|
126
|
+
let data2 = { some: 'data2' };
|
|
127
|
+
// do something
|
|
128
|
+
await this.hook('before:myMethod2', data, data2);
|
|
129
|
+
|
|
130
|
+
return data;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
# Using it in the Browser
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<script type="module">
|
|
139
|
+
import { Hookified } from 'https://cdn.jsdelivr.net/npm/hookified/dist/browser/index.js';
|
|
140
|
+
|
|
141
|
+
class MyClass extends Hookified {
|
|
142
|
+
constructor() {
|
|
143
|
+
super();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
async myMethodEmittingEvent() {
|
|
147
|
+
this.emit('message', 'Hello World');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
//with hooks you can pass data in and if they are subscribed via onHook they can modify the data
|
|
151
|
+
async myMethodWithHooks(): Promise<any> {
|
|
152
|
+
let data = { some: 'data' };
|
|
153
|
+
// do something
|
|
154
|
+
await this.hook('before:myMethod2', data);
|
|
155
|
+
|
|
156
|
+
return data;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
</script>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
if you are not using ESM modules, you can use the following:
|
|
163
|
+
|
|
164
|
+
```html
|
|
165
|
+
<script src="https://cdn.jsdelivr.net/npm/hookified/dist/browser/index.global.js"></script>
|
|
166
|
+
<script>
|
|
167
|
+
class MyClass extends Hookified {
|
|
168
|
+
constructor() {
|
|
169
|
+
super();
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
async myMethodEmittingEvent() {
|
|
173
|
+
this.emit('message', 'Hello World');
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
//with hooks you can pass data in and if they are subscribed via onHook they can modify the data
|
|
177
|
+
async myMethodWithHooks(): Promise<any> {
|
|
178
|
+
let data = { some: 'data' };
|
|
179
|
+
// do something
|
|
180
|
+
await this.hook('before:myMethod2', data);
|
|
181
|
+
|
|
182
|
+
return data;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
</script>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
# Hooks
|
|
189
|
+
|
|
190
|
+
## Standard Hook
|
|
191
|
+
|
|
192
|
+
The `Hook` class provides a convenient way to create hook entries. It implements the `IHook` interface.
|
|
193
|
+
|
|
194
|
+
The `IHook` interface has the following properties:
|
|
195
|
+
|
|
196
|
+
| Property | Type | Required | Description |
|
|
197
|
+
|----------|------|----------|-------------|
|
|
198
|
+
| `id` | `string` | No | Unique identifier for the hook. Auto-generated via `crypto.randomUUID()` if not provided. |
|
|
199
|
+
| `event` | `string` | Yes | The event name for the hook. |
|
|
200
|
+
| `handler` | `HookFn` | Yes | The handler function for the hook. |
|
|
201
|
+
|
|
202
|
+
When a hook is registered, it is assigned an `id` (auto-generated if not provided). The `id` can be used to look up or remove hooks via `getHook` and `removeHookById`. If you register a hook with the same `id` on the same event, it will replace the existing hook in-place (preserving its position).
|
|
203
|
+
|
|
204
|
+
**Using the `Hook` class:**
|
|
205
|
+
|
|
206
|
+
```javascript
|
|
207
|
+
import { Hook, Hookified } from 'hookified';
|
|
208
|
+
|
|
209
|
+
class MyClass extends Hookified {
|
|
210
|
+
constructor() { super(); }
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
const myClass = new MyClass();
|
|
214
|
+
|
|
215
|
+
// Without id (auto-generated)
|
|
216
|
+
const hook = new Hook('before:save', async (data) => {
|
|
217
|
+
data.validated = true;
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
// With id
|
|
221
|
+
const hook2 = new Hook('after:save', async (data) => {
|
|
222
|
+
console.log('saved');
|
|
223
|
+
}, 'my-after-save-hook');
|
|
224
|
+
|
|
225
|
+
// Register with onHook
|
|
226
|
+
myClass.onHook(hook);
|
|
227
|
+
|
|
228
|
+
// Or register multiple hooks with onHooks
|
|
229
|
+
const hooks = [
|
|
230
|
+
new Hook('before:save', async (data) => { data.validated = true; }),
|
|
231
|
+
new Hook('after:save', async (data) => { console.log('saved'); }),
|
|
232
|
+
];
|
|
233
|
+
myClass.onHooks(hooks);
|
|
234
|
+
|
|
235
|
+
// Remove hooks
|
|
236
|
+
myClass.removeHooks(hooks);
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Using plain TypeScript with the `IHook` interface:**
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
import { Hookified, type IHook } from 'hookified';
|
|
243
|
+
|
|
244
|
+
class MyClass extends Hookified {
|
|
245
|
+
constructor() { super(); }
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const myClass = new MyClass();
|
|
249
|
+
|
|
250
|
+
const hook: IHook = {
|
|
251
|
+
id: 'my-validation-hook', // optional — auto-generated if omitted
|
|
252
|
+
event: 'before:save',
|
|
253
|
+
handler: async (data) => {
|
|
254
|
+
data.validated = true;
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
const stored = myClass.onHook(hook);
|
|
259
|
+
console.log(stored?.id); // 'my-validation-hook'
|
|
260
|
+
|
|
261
|
+
// Later, remove by id
|
|
262
|
+
myClass.removeHookById('my-validation-hook');
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Waterfall Hook
|
|
266
|
+
|
|
267
|
+
The `WaterfallHook` class chains multiple hook functions sequentially in a waterfall pipeline. Each hook receives a context containing the original arguments and the accumulated results from all previous hooks. It implements the `IHook` interface, so it integrates directly with `Hookified.onHook()`.
|
|
268
|
+
|
|
269
|
+
The `WaterfallHookContext` has the following properties:
|
|
270
|
+
|
|
271
|
+
| Property | Type | Description |
|
|
272
|
+
|----------|------|-------------|
|
|
273
|
+
| `initialArgs` | `any` | The original arguments passed to the waterfall execution. |
|
|
274
|
+
| `results` | `WaterfallHookResult[]` | Array of `{ hook, result }` entries from previous hooks. Empty for the first hook. |
|
|
275
|
+
|
|
276
|
+
**Basic usage:**
|
|
277
|
+
|
|
278
|
+
```javascript
|
|
279
|
+
import { WaterfallHook } from 'hookified';
|
|
280
|
+
|
|
281
|
+
const wh = new WaterfallHook('process', ({ results, initialArgs }) => {
|
|
282
|
+
// Final handler receives all accumulated results
|
|
283
|
+
const lastResult = results[results.length - 1].result;
|
|
284
|
+
console.log('Final:', lastResult);
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
// Add transformation hooks to the pipeline
|
|
288
|
+
wh.addHook(({ initialArgs }) => {
|
|
289
|
+
return initialArgs + 1; // 5 -> 6
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
wh.addHook(({ results }) => {
|
|
293
|
+
return results[results.length - 1].result * 2; // 6 -> 12
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
// Execute the waterfall by calling handler directly
|
|
297
|
+
await wh.handler(5); // Final: 12
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Integrating with Hookified via `onHook()`:**
|
|
301
|
+
|
|
302
|
+
```javascript
|
|
303
|
+
import { Hookified, WaterfallHook } from 'hookified';
|
|
304
|
+
|
|
305
|
+
class MyClass extends Hookified {
|
|
306
|
+
constructor() { super(); }
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
const myClass = new MyClass();
|
|
310
|
+
|
|
311
|
+
const wh = new WaterfallHook('save', ({ results }) => {
|
|
312
|
+
const data = results[results.length - 1].result;
|
|
313
|
+
console.log('Saved:', data);
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
wh.addHook(({ initialArgs }) => {
|
|
317
|
+
return { ...initialArgs, validated: true };
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
wh.addHook(({ results }) => {
|
|
321
|
+
return { ...results[results.length - 1].result, timestamp: Date.now() };
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
// Register with Hookified — works because WaterfallHook implements IHook
|
|
325
|
+
myClass.onHook(wh);
|
|
326
|
+
|
|
327
|
+
// When hook() fires, the full waterfall pipeline executes
|
|
328
|
+
await myClass.hook('save', { name: 'test' });
|
|
329
|
+
// Saved: { name: 'test', validated: true, timestamp: ... }
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
**Managing hooks:**
|
|
333
|
+
|
|
334
|
+
```javascript
|
|
335
|
+
const wh = new WaterfallHook('process', ({ results }) => results);
|
|
336
|
+
|
|
337
|
+
const myHook = ({ initialArgs }) => initialArgs + 1;
|
|
338
|
+
wh.addHook(myHook);
|
|
339
|
+
|
|
340
|
+
// Remove a hook by reference
|
|
341
|
+
wh.removeHook(myHook); // returns true
|
|
342
|
+
|
|
343
|
+
// Access the hooks array
|
|
344
|
+
console.log(wh.hooks.length); // 0
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## Parallel Hook
|
|
348
|
+
|
|
349
|
+
The `ParallelHook` class fans a single invocation out to many registered hook functions concurrently via `Promise.allSettled`, then calls a final handler with the aggregated outcomes — including failures. Unlike `WaterfallHook`, hooks do not see each other's results: every hook receives the same `initialArgs` and runs in parallel. It implements the `IHook` interface, so it integrates directly with `Hookified.onHook()`, and the final handler still fires whether the hook is invoked directly or through `Hookified.hook()`.
|
|
350
|
+
|
|
351
|
+
Per-hook functions receive a `ParallelHookContext`:
|
|
352
|
+
|
|
353
|
+
| Property | Type | Description |
|
|
354
|
+
|----------|------|-------------|
|
|
355
|
+
| `initialArgs` | `any` | The original arguments passed to `handler()`. Single argument stays as-is; multiple arguments become an array. |
|
|
356
|
+
|
|
357
|
+
The final handler receives a `ParallelHookFinalContext`:
|
|
358
|
+
|
|
359
|
+
| Property | Type | Description |
|
|
360
|
+
|----------|------|-------------|
|
|
361
|
+
| `initialArgs` | `any` | Same value passed to every hook. |
|
|
362
|
+
| `results` | `Map<ParallelHookFn, ParallelHookResult>` | One entry per registered hook, keyed by the hook function reference for direct lookup. Iteration order matches registration order. |
|
|
363
|
+
|
|
364
|
+
Each `ParallelHookResult` value is a discriminated union — failures are reported, not thrown:
|
|
365
|
+
|
|
366
|
+
| Field | Type | Description |
|
|
367
|
+
|-------|------|-------------|
|
|
368
|
+
| `status` | `"fulfilled" \| "rejected"` | Discriminator. |
|
|
369
|
+
| `result` | `TResult` | Present when `status === "fulfilled"`. The value the hook returned. Defaults to `any`; tighten via the `ParallelHook<TArgs, TResult>` generic. |
|
|
370
|
+
| `reason` | `unknown` | Present when `status === "rejected"`. The error or value the hook threw. Stays `unknown` regardless of the result generic, since errors in JS aren't typed. |
|
|
371
|
+
|
|
372
|
+
**Basic usage with `Hookified`:**
|
|
373
|
+
|
|
374
|
+
```javascript
|
|
375
|
+
import { Hookified, ParallelHook } from 'hookified';
|
|
376
|
+
|
|
377
|
+
class MyClass extends Hookified {
|
|
378
|
+
constructor() { super(); }
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
const myClass = new MyClass();
|
|
382
|
+
|
|
383
|
+
const sendEmailHook = async ({ initialArgs }) => sendEmail(initialArgs);
|
|
384
|
+
const sendSlackHook = async ({ initialArgs }) => sendSlack(initialArgs);
|
|
385
|
+
const sendWebhookHook = async ({ initialArgs }) => sendWebhook(initialArgs);
|
|
386
|
+
|
|
387
|
+
const ph = new ParallelHook('notify', ({ results }) => {
|
|
388
|
+
// Look up a specific hook's outcome by reference
|
|
389
|
+
const emailOutcome = results.get(sendEmailHook);
|
|
390
|
+
if (emailOutcome?.status === 'rejected') {
|
|
391
|
+
console.error('email failed:', emailOutcome.reason);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Or iterate every result in registration order
|
|
395
|
+
for (const [hook, r] of results) {
|
|
396
|
+
if (r.status === 'fulfilled') {
|
|
397
|
+
console.log('ok:', r.result);
|
|
398
|
+
} else {
|
|
399
|
+
console.error('failed:', r.reason);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
ph.addHook(sendEmailHook);
|
|
405
|
+
ph.addHook(sendSlackHook);
|
|
406
|
+
ph.addHook(sendWebhookHook);
|
|
407
|
+
|
|
408
|
+
// Register with Hookified — works because ParallelHook implements IHook
|
|
409
|
+
myClass.onHook(ph);
|
|
410
|
+
|
|
411
|
+
// All three notification hooks fire concurrently, then the final handler runs
|
|
412
|
+
await myClass.hook('notify', { user: 'alice', message: 'hi' });
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**Tightening the result type:**
|
|
416
|
+
|
|
417
|
+
When every hook returns the same shape, pass generics so `result` is fully typed instead of `any`:
|
|
418
|
+
|
|
419
|
+
```typescript
|
|
420
|
+
import { ParallelHook } from 'hookified';
|
|
421
|
+
|
|
422
|
+
type NotifyArgs = { user: string; message: string };
|
|
423
|
+
type NotifyResult = { channel: string; messageId: string };
|
|
424
|
+
|
|
425
|
+
const ph = new ParallelHook<NotifyArgs, NotifyResult>('notify', ({ results }) => {
|
|
426
|
+
for (const [, r] of results) {
|
|
427
|
+
if (r.status === 'fulfilled') {
|
|
428
|
+
console.log(`${r.result.channel}: ${r.result.messageId}`);
|
|
429
|
+
} else {
|
|
430
|
+
console.error(r.reason); // still `unknown` — errors aren't typed
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
ph.addHook(async ({ initialArgs }) => ({ channel: 'email', messageId: '1' }));
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
**Managing hooks:**
|
|
439
|
+
|
|
440
|
+
```javascript
|
|
441
|
+
const ph = new ParallelHook('process', ({ results }) => {
|
|
442
|
+
console.log(results.size); // number of hooks that ran
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
const myHook = ({ initialArgs }) => initialArgs + 1;
|
|
446
|
+
ph.addHook(myHook);
|
|
447
|
+
|
|
448
|
+
// Remove a hook by reference
|
|
449
|
+
ph.removeHook(myHook); // returns true
|
|
450
|
+
|
|
451
|
+
// Access the hooks array
|
|
452
|
+
console.log(ph.hooks.length); // 0
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
# API - Hooks
|
|
456
|
+
|
|
457
|
+
> All examples below assume the following setup unless otherwise noted:
|
|
458
|
+
> ```javascript
|
|
459
|
+
> import { Hookified } from 'hookified';
|
|
460
|
+
> class MyClass extends Hookified {
|
|
461
|
+
> constructor(options) { super(options); }
|
|
462
|
+
> }
|
|
463
|
+
> const myClass = new MyClass();
|
|
464
|
+
> ```
|
|
465
|
+
|
|
466
|
+
## .allowDeprecated
|
|
467
|
+
|
|
468
|
+
Controls whether deprecated hooks are allowed to be registered and executed. Default is true. When set to false, deprecated hooks will still emit warnings but will be prevented from registration and execution.
|
|
469
|
+
|
|
470
|
+
```javascript
|
|
471
|
+
import { Hookified } from 'hookified';
|
|
472
|
+
|
|
473
|
+
const deprecatedHooks = new Map([
|
|
474
|
+
['oldHook', 'Use newHook instead']
|
|
475
|
+
]);
|
|
476
|
+
|
|
477
|
+
class MyClass extends Hookified {
|
|
478
|
+
constructor() {
|
|
479
|
+
super({ deprecatedHooks, allowDeprecated: false });
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
const myClass = new MyClass();
|
|
484
|
+
|
|
485
|
+
console.log(myClass.allowDeprecated); // false
|
|
486
|
+
|
|
487
|
+
// Listen for deprecation warnings (still emitted even when blocked)
|
|
488
|
+
myClass.on('warn', (event) => {
|
|
489
|
+
console.log(`Warning: ${event.message}`);
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
// Try to register a deprecated hook - will emit warning but not register
|
|
493
|
+
myClass.onHook({ event: 'oldHook', handler: () => {
|
|
494
|
+
console.log('This will never execute');
|
|
495
|
+
}});
|
|
496
|
+
// Output: Warning: Hook "oldHook" is deprecated: Use newHook instead
|
|
497
|
+
|
|
498
|
+
// Verify hook was not registered
|
|
499
|
+
console.log(myClass.getHooks('oldHook')); // undefined
|
|
500
|
+
|
|
501
|
+
// Try to execute a deprecated hook - will emit warning but not execute
|
|
502
|
+
await myClass.hook('oldHook');
|
|
503
|
+
// Output: Warning: Hook "oldHook" is deprecated: Use newHook instead
|
|
504
|
+
// (but no handlers execute)
|
|
505
|
+
|
|
506
|
+
// Non-deprecated hooks work normally
|
|
507
|
+
myClass.onHook({ event: 'validHook', handler: () => {
|
|
508
|
+
console.log('This works fine');
|
|
509
|
+
}});
|
|
510
|
+
|
|
511
|
+
console.log(myClass.getHooks('validHook')); // [handler function]
|
|
512
|
+
|
|
513
|
+
// You can dynamically change the setting
|
|
514
|
+
myClass.allowDeprecated = true;
|
|
515
|
+
|
|
516
|
+
// Now deprecated hooks can be registered and executed
|
|
517
|
+
myClass.onHook({ event: 'oldHook', handler: () => {
|
|
518
|
+
console.log('Now this works');
|
|
519
|
+
}});
|
|
520
|
+
|
|
521
|
+
console.log(myClass.getHooks('oldHook')); // [handler function]
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
**Behavior when `allowDeprecated` is false:**
|
|
525
|
+
- **Registration**: All hook registration methods (`onHook`, `addHook`, `prependHook`, etc.) will emit warnings but skip registration
|
|
526
|
+
- **Execution**: Hook execution methods (`hook`, `callHook`) will emit warnings but skip execution
|
|
527
|
+
- **Removal/Reading**: `removeHook`, `removeHooks`, and `getHooks` always work regardless of deprecation status
|
|
528
|
+
- **Warnings**: Deprecation warnings are always emitted regardless of `allowDeprecated` setting
|
|
529
|
+
|
|
530
|
+
**Use cases:**
|
|
531
|
+
- **Development**: Keep `allowDeprecated: true` to maintain functionality while seeing warnings
|
|
532
|
+
- **Testing**: Set `allowDeprecated: false` to ensure no deprecated hooks are accidentally used
|
|
533
|
+
- **Migration**: Gradually disable deprecated hooks during API transitions
|
|
534
|
+
- **Production**: Disable deprecated hooks to prevent legacy code execution
|
|
535
|
+
|
|
536
|
+
## .deprecatedHooks
|
|
537
|
+
|
|
538
|
+
A Map of deprecated hook names to deprecation messages. When a deprecated hook is used, a warning will be emitted via the 'warn' event and logged to the logger (if available). Default is an empty Map.
|
|
539
|
+
|
|
540
|
+
```javascript
|
|
541
|
+
import { Hookified } from 'hookified';
|
|
542
|
+
|
|
543
|
+
// Define deprecated hooks with custom messages
|
|
544
|
+
const deprecatedHooks = new Map([
|
|
545
|
+
['oldHook', 'Use newHook instead'],
|
|
546
|
+
['legacyMethod', 'This hook will be removed in v2.0'],
|
|
547
|
+
['deprecatedFeature', ''] // Empty message - will just say "deprecated"
|
|
548
|
+
]);
|
|
549
|
+
|
|
550
|
+
class MyClass extends Hookified {
|
|
551
|
+
constructor() {
|
|
552
|
+
super({ deprecatedHooks });
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
const myClass = new MyClass();
|
|
557
|
+
|
|
558
|
+
console.log(myClass.deprecatedHooks); // Map with deprecated hooks
|
|
559
|
+
|
|
560
|
+
// Listen for deprecation warnings
|
|
561
|
+
myClass.on('warn', (event) => {
|
|
562
|
+
console.log(`Deprecation warning: ${event.message}`);
|
|
563
|
+
// event.hook contains the hook name
|
|
564
|
+
// event.message contains the full warning message
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
// Using a deprecated hook will emit warnings
|
|
568
|
+
myClass.onHook({ event: 'oldHook', handler: () => {
|
|
569
|
+
console.log('This hook is deprecated');
|
|
570
|
+
}});
|
|
571
|
+
// Output: Hook "oldHook" is deprecated: Use newHook instead
|
|
572
|
+
|
|
573
|
+
// Using a deprecated hook with empty message
|
|
574
|
+
myClass.onHook({ event: 'deprecatedFeature', handler: () => {
|
|
575
|
+
console.log('This hook is deprecated');
|
|
576
|
+
}});
|
|
577
|
+
// Output: Hook "deprecatedFeature" is deprecated
|
|
578
|
+
|
|
579
|
+
// You can also set deprecated hooks dynamically
|
|
580
|
+
myClass.deprecatedHooks.set('anotherOldHook', 'Please migrate to the new API');
|
|
581
|
+
|
|
582
|
+
// Works with logger if provided
|
|
583
|
+
import pino from 'pino';
|
|
584
|
+
const logger = pino();
|
|
585
|
+
|
|
586
|
+
const myClassWithLogger = new Hookified({
|
|
587
|
+
deprecatedHooks,
|
|
588
|
+
eventLogger: logger
|
|
589
|
+
});
|
|
590
|
+
|
|
591
|
+
// Deprecation warnings will be logged to logger.warn
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
The deprecation warning system applies to the following hook-related methods:
|
|
595
|
+
- Registration: `onHook()`, `addHook()`, `onHooks()`, `prependHook()`, `onceHook()`, `prependOnceHook()`
|
|
596
|
+
- Execution: `hook()`, `callHook()`
|
|
597
|
+
|
|
598
|
+
Note: `getHooks()`, `removeHook()`, and `removeHooks()` do not check for deprecated hooks and always operate normally.
|
|
599
|
+
|
|
600
|
+
Deprecation warnings are emitted in two ways:
|
|
601
|
+
1. **Event**: A 'warn' event is emitted with `{ hook: string, message: string }`
|
|
602
|
+
2. **Logger**: Logged to `eventLogger.warn()` if an `eventLogger` is configured and has a `warn` method
|
|
603
|
+
|
|
604
|
+
## .enforceBeforeAfter
|
|
605
|
+
|
|
606
|
+
If set to true, enforces that all hook names must start with 'before' or 'after'. This is useful for maintaining consistent hook naming conventions in your application. Default is false.
|
|
607
|
+
|
|
608
|
+
```javascript
|
|
609
|
+
import { Hookified } from 'hookified';
|
|
610
|
+
|
|
611
|
+
class MyClass extends Hookified {
|
|
612
|
+
constructor() {
|
|
613
|
+
super({ enforceBeforeAfter: true });
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
const myClass = new MyClass();
|
|
618
|
+
|
|
619
|
+
console.log(myClass.enforceBeforeAfter); // true
|
|
620
|
+
|
|
621
|
+
// These will work fine
|
|
622
|
+
myClass.onHook({ event: 'beforeSave', handler: async () => {
|
|
623
|
+
console.log('Before save hook');
|
|
624
|
+
}});
|
|
625
|
+
|
|
626
|
+
myClass.onHook({ event: 'afterSave', handler: async () => {
|
|
627
|
+
console.log('After save hook');
|
|
628
|
+
}});
|
|
629
|
+
|
|
630
|
+
myClass.onHook({ event: 'before:validation', handler: async () => {
|
|
631
|
+
console.log('Before validation hook');
|
|
632
|
+
}});
|
|
633
|
+
|
|
634
|
+
// This will throw an error
|
|
635
|
+
try {
|
|
636
|
+
myClass.onHook({ event: 'customEvent', handler: async () => {
|
|
637
|
+
console.log('This will not work');
|
|
638
|
+
}});
|
|
639
|
+
} catch (error) {
|
|
640
|
+
console.log(error.message); // Hook event "customEvent" must start with "before" or "after" when enforceBeforeAfter is enabled
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
// You can also change it dynamically
|
|
644
|
+
myClass.enforceBeforeAfter = false;
|
|
645
|
+
myClass.onHook({ event: 'customEvent', handler: async () => {
|
|
646
|
+
console.log('This will work now');
|
|
647
|
+
}});
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
The validation applies to all hook-related methods:
|
|
651
|
+
- `onHook()`, `addHook()`, `onHooks()`
|
|
652
|
+
- `prependHook()`, `onceHook()`, `prependOnceHook()`
|
|
653
|
+
- `hook()`, `callHook()`
|
|
654
|
+
- `getHooks()`, `removeHook()`, `removeHooks()`
|
|
655
|
+
|
|
656
|
+
Note: The `beforeHook()` and `afterHook()` helper methods automatically generate proper hook names and work regardless of the `enforceBeforeAfter` setting.
|
|
657
|
+
|
|
658
|
+
## .eventLogger
|
|
659
|
+
If set, errors thrown in hooks will be logged to the logger. If not set, errors will be only emitted.
|
|
660
|
+
|
|
661
|
+
```javascript
|
|
662
|
+
import pino from 'pino';
|
|
663
|
+
|
|
664
|
+
const myClass = new MyClass({ eventLogger: pino() });
|
|
665
|
+
|
|
666
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async () => {
|
|
667
|
+
throw new Error('error');
|
|
668
|
+
}});
|
|
669
|
+
|
|
670
|
+
// when you call before:myMethod2 it will log the error to the logger
|
|
671
|
+
await myClass.hook('before:myMethod2');
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
## .hooks
|
|
675
|
+
|
|
676
|
+
Get all hooks. Returns a `Map<string, IHook[]>` where each key is an event name and the value is an array of `IHook` objects.
|
|
677
|
+
|
|
678
|
+
```javascript
|
|
679
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
680
|
+
data.some = 'new data';
|
|
681
|
+
}});
|
|
682
|
+
|
|
683
|
+
console.log(myClass.hooks); // Map { 'before:myMethod2' => [{ event: 'before:myMethod2', handler: [Function] }] }
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
## .throwOnHookError
|
|
687
|
+
|
|
688
|
+
If set to true, errors thrown in hooks will be thrown. If set to false, errors will be only emitted.
|
|
689
|
+
|
|
690
|
+
```javascript
|
|
691
|
+
const myClass = new MyClass({ throwOnHookError: true });
|
|
692
|
+
|
|
693
|
+
console.log(myClass.throwOnHookError); // true
|
|
694
|
+
|
|
695
|
+
try {
|
|
696
|
+
myClass.onHook({ event: 'error-event', handler: async () => {
|
|
697
|
+
throw new Error('error');
|
|
698
|
+
}});
|
|
699
|
+
|
|
700
|
+
await myClass.hook('error-event');
|
|
701
|
+
} catch (error) {
|
|
702
|
+
console.log(error.message); // error
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
myClass.throwOnHookError = false;
|
|
706
|
+
console.log(myClass.throwOnHookError); // false
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
## .useHookClone
|
|
710
|
+
|
|
711
|
+
Controls whether hook objects are cloned before storing internally. Default is `true`. When `true`, a shallow copy of the `IHook` object is stored, preventing external mutation from affecting registered hooks. When `false`, the original reference is stored directly.
|
|
712
|
+
|
|
713
|
+
```javascript
|
|
714
|
+
const myClass = new MyClass({ useHookClone: false });
|
|
715
|
+
|
|
716
|
+
const hook = { event: 'before:save', handler: async (data) => {} };
|
|
717
|
+
myClass.onHook(hook);
|
|
718
|
+
|
|
719
|
+
// With useHookClone: false, the stored hook is the same reference
|
|
720
|
+
const storedHooks = myClass.getHooks('before:save');
|
|
721
|
+
console.log(storedHooks[0] === hook); // true
|
|
722
|
+
|
|
723
|
+
// You can dynamically change the setting
|
|
724
|
+
myClass.useHookClone = true;
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
## .addHook(event, handler)
|
|
728
|
+
|
|
729
|
+
This is an alias for `.onHook()` that takes an event name and handler function directly.
|
|
730
|
+
|
|
731
|
+
```javascript
|
|
732
|
+
myClass.addHook('before:myMethod2', async (data) => {
|
|
733
|
+
data.some = 'new data';
|
|
734
|
+
});
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
## .afterHook(eventName, ...args)
|
|
738
|
+
|
|
739
|
+
This is a helper function that will prepend a hook name with `after:`.
|
|
740
|
+
|
|
741
|
+
```javascript
|
|
742
|
+
// Inside your class method — the event name will be `after:myMethod2`
|
|
743
|
+
await this.afterHook('myMethod2', data);
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
## .beforeHook(eventName, ...args)
|
|
747
|
+
|
|
748
|
+
This is a helper function that will prepend a hook name with `before:`.
|
|
749
|
+
|
|
750
|
+
```javascript
|
|
751
|
+
// Inside your class method — the event name will be `before:myMethod2`
|
|
752
|
+
await this.beforeHook('myMethod2', data);
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
## .callHook(eventName, ...args)
|
|
756
|
+
|
|
757
|
+
This is an alias for `.hook(eventName, ...args)` for backwards compatibility.
|
|
758
|
+
|
|
759
|
+
## .clearHooks()
|
|
760
|
+
|
|
761
|
+
Clear all hooks across all events.
|
|
762
|
+
|
|
763
|
+
```javascript
|
|
764
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
765
|
+
data.some = 'new data';
|
|
766
|
+
}});
|
|
767
|
+
|
|
768
|
+
myClass.clearHooks();
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
## .getHook(id)
|
|
772
|
+
|
|
773
|
+
Get a specific hook by `id`, searching across all events. Returns the `IHook` if found, or `undefined`.
|
|
774
|
+
|
|
775
|
+
```javascript
|
|
776
|
+
const myClass = new MyClass();
|
|
777
|
+
|
|
778
|
+
myClass.onHook({
|
|
779
|
+
id: 'my-hook',
|
|
780
|
+
event: 'before:save',
|
|
781
|
+
handler: async (data) => { data.validated = true; },
|
|
782
|
+
});
|
|
783
|
+
|
|
784
|
+
const hook = myClass.getHook('my-hook');
|
|
785
|
+
console.log(hook?.id); // 'my-hook'
|
|
786
|
+
console.log(hook?.event); // 'before:save'
|
|
787
|
+
console.log(hook?.handler); // [Function]
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
## .getHooks(eventName)
|
|
791
|
+
|
|
792
|
+
Get all hooks for an event. Returns an `IHook[]` array, or `undefined` if no hooks are registered for the event.
|
|
793
|
+
|
|
794
|
+
```javascript
|
|
795
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
796
|
+
data.some = 'new data';
|
|
797
|
+
}});
|
|
798
|
+
|
|
799
|
+
console.log(myClass.getHooks('before:myMethod2')); // [{ event: 'before:myMethod2', handler: [Function] }]
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
## .hook(eventName, ...args)
|
|
803
|
+
|
|
804
|
+
Run a hook event.
|
|
805
|
+
|
|
806
|
+
```javascript
|
|
807
|
+
// Inside your class method
|
|
808
|
+
await this.hook('before:myMethod2', data);
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
You can pass multiple arguments to the hook:
|
|
812
|
+
|
|
813
|
+
```javascript
|
|
814
|
+
// Inside your class method
|
|
815
|
+
await this.hook('before:myMethod2', data, data2);
|
|
816
|
+
|
|
817
|
+
// The handler receives all arguments
|
|
818
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data, data2) => {
|
|
819
|
+
data.some = 'new data';
|
|
820
|
+
data2.some = 'new data2';
|
|
821
|
+
}});
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
## .hookSync(eventName, ...args)
|
|
825
|
+
|
|
826
|
+
Run a hook event synchronously. Async handlers (functions declared with `async` keyword) are silently skipped and only synchronous handlers are executed.
|
|
827
|
+
|
|
828
|
+
> **Note:** The `.hook()` method is preferred as it executes both sync and async functions. Use `.hookSync()` only when you specifically need synchronous execution.
|
|
829
|
+
|
|
830
|
+
```javascript
|
|
831
|
+
// This sync handler will execute
|
|
832
|
+
myClass.onHook({ event: 'before:myMethod', handler: (data) => {
|
|
833
|
+
data.some = 'modified';
|
|
834
|
+
}});
|
|
835
|
+
|
|
836
|
+
// This async handler will be silently skipped
|
|
837
|
+
myClass.onHook({ event: 'before:myMethod', handler: async (data) => {
|
|
838
|
+
data.some = 'will not run';
|
|
839
|
+
}});
|
|
840
|
+
|
|
841
|
+
// Inside your class method
|
|
842
|
+
this.hookSync('before:myMethod', data); // Only sync handler runs
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
## .onHook(hook, options?) / .onHook(event, handler)
|
|
846
|
+
|
|
847
|
+
Subscribe to a hook event. Supports two calling styles:
|
|
848
|
+
|
|
849
|
+
- **Object form**: `onHook(hook, options?)` — takes an `IHook` object and an optional `OnHookOptions` object.
|
|
850
|
+
- **Shorthand form**: `onHook(event, handler)` — takes an event name string and a handler function (v1-compatible).
|
|
851
|
+
|
|
852
|
+
Returns the stored `IHook` (with `id` assigned), or `undefined` if the hook was blocked by deprecation. The returned reference is the exact object stored internally, which is useful for later removal with `.removeHook()` or `.removeHookById()`. To register multiple hooks at once, use `.onHooks()`.
|
|
853
|
+
|
|
854
|
+
If the hook has an `id`, it will be used as-is. If not, a UUID is auto-generated via `crypto.randomUUID()`. If a hook with the same `id` already exists on the same event, it will be **replaced in-place** (preserving its position in the array).
|
|
855
|
+
|
|
856
|
+
**Options (`OnHookOptions`)**:
|
|
857
|
+
- `useHookClone` (boolean, optional) — Per-call override for the instance-level `useHookClone` setting. When `true`, the hook object is cloned before storing. When `false`, the original reference is stored directly. When omitted, falls back to the instance-level setting.
|
|
858
|
+
- `position` (`"Top"` | `"Bottom"` | `number`, optional) — Controls where the hook is inserted in the handlers array. `"Top"` inserts at the beginning, `"Bottom"` appends to the end (default). A number inserts at that index, clamped to the array bounds.
|
|
859
|
+
|
|
860
|
+
```javascript
|
|
861
|
+
// Single hook — returns the stored IHook with id
|
|
862
|
+
const stored = myClass.onHook({
|
|
863
|
+
event: 'before:myMethod2',
|
|
864
|
+
handler: async (data) => {
|
|
865
|
+
data.some = 'new data';
|
|
866
|
+
},
|
|
867
|
+
});
|
|
868
|
+
console.log(stored.id); // auto-generated UUID
|
|
869
|
+
|
|
870
|
+
// With a custom id
|
|
871
|
+
const stored2 = myClass.onHook({
|
|
872
|
+
id: 'my-validation',
|
|
873
|
+
event: 'before:save',
|
|
874
|
+
handler: async (data) => { data.validated = true; },
|
|
875
|
+
});
|
|
876
|
+
|
|
877
|
+
// Replace hook by registering with the same id
|
|
878
|
+
myClass.onHook({
|
|
879
|
+
id: 'my-validation',
|
|
880
|
+
event: 'before:save',
|
|
881
|
+
handler: async (data) => { data.validated = true; data.extra = true; },
|
|
882
|
+
});
|
|
883
|
+
// Only one hook with id 'my-validation' exists, at the same position
|
|
884
|
+
|
|
885
|
+
// Remove by id
|
|
886
|
+
myClass.removeHookById('my-validation');
|
|
887
|
+
|
|
888
|
+
// Use the returned reference to remove the hook later
|
|
889
|
+
myClass.removeHook(stored);
|
|
890
|
+
|
|
891
|
+
// Override useHookClone per-call — store original reference even though instance default is true
|
|
892
|
+
const hook = { event: 'before:save', handler: async (data) => {} };
|
|
893
|
+
myClass.onHook(hook, { useHookClone: false });
|
|
894
|
+
console.log(myClass.getHooks('before:save')[0] === hook); // true
|
|
895
|
+
|
|
896
|
+
// Insert at the top of the handlers array
|
|
897
|
+
myClass.onHook({ event: 'before:save', handler: async (data) => {} }, { position: 'Top' });
|
|
898
|
+
|
|
899
|
+
// Insert at a specific index
|
|
900
|
+
myClass.onHook({ event: 'before:save', handler: async (data) => {} }, { position: 1 });
|
|
901
|
+
|
|
902
|
+
// Shorthand form — pass event name and handler directly (v1-compatible)
|
|
903
|
+
myClass.onHook('before:save', async (data) => {
|
|
904
|
+
data.validated = true;
|
|
905
|
+
});
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
## .onHooks(Array, options?)
|
|
909
|
+
|
|
910
|
+
Subscribe to multiple hook events at once. Takes an array of `IHook` objects and an optional `OnHookOptions` object that is applied to each hook.
|
|
911
|
+
|
|
912
|
+
```javascript
|
|
913
|
+
const hooks = [
|
|
914
|
+
{
|
|
915
|
+
event: 'before:myMethodWithHooks',
|
|
916
|
+
handler: async (data) => {
|
|
917
|
+
data.some = 'new data1';
|
|
918
|
+
},
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
event: 'after:myMethodWithHooks',
|
|
922
|
+
handler: async (data) => {
|
|
923
|
+
data.some = 'new data2';
|
|
924
|
+
},
|
|
925
|
+
},
|
|
926
|
+
];
|
|
927
|
+
myClass.onHooks(hooks);
|
|
928
|
+
|
|
929
|
+
// With options — insert all hooks at the top
|
|
930
|
+
myClass.onHooks(hooks, { position: 'Top' });
|
|
931
|
+
|
|
932
|
+
// With options — skip cloning for all hooks in this batch
|
|
933
|
+
myClass.onHooks(hooks, { useHookClone: false });
|
|
934
|
+
```
|
|
935
|
+
|
|
936
|
+
## .onceHook(hook)
|
|
937
|
+
|
|
938
|
+
Subscribe to a hook event once. Takes an `IHook` object with `event` and `handler` properties. After the handler is called once, it is automatically removed.
|
|
939
|
+
|
|
940
|
+
```javascript
|
|
941
|
+
myClass.onceHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
942
|
+
data.some = 'new data';
|
|
943
|
+
}});
|
|
944
|
+
|
|
945
|
+
await myClass.hook('before:myMethod2', data); // handler runs once then is removed
|
|
946
|
+
console.log(myClass.hooks.size); // 0
|
|
947
|
+
```
|
|
948
|
+
|
|
949
|
+
## .prependHook(hook, options?)
|
|
950
|
+
|
|
951
|
+
Subscribe to a hook event before all other hooks. Takes an `IHook` object with `event` and `handler` properties. Returns the stored `IHook` (with generated `id`), or `undefined` if blocked by deprecation. Equivalent to calling `onHook(hook, { position: "Top" })`.
|
|
952
|
+
|
|
953
|
+
An optional `PrependHookOptions` object can be passed with:
|
|
954
|
+
- `useHookClone` (boolean) — per-call override for hook cloning behavior
|
|
955
|
+
|
|
956
|
+
```javascript
|
|
957
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
958
|
+
data.some = 'new data';
|
|
959
|
+
}});
|
|
960
|
+
myClass.prependHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
961
|
+
data.some = 'will run before new data';
|
|
962
|
+
}});
|
|
963
|
+
```
|
|
964
|
+
|
|
965
|
+
## .prependOnceHook(hook, options?)
|
|
966
|
+
|
|
967
|
+
Subscribe to a hook event before all other hooks. Takes an `IHook` object with `event` and `handler` properties. After the handler is called once, it is automatically removed. Returns the stored `IHook` (with generated `id`), or `undefined` if blocked by deprecation.
|
|
968
|
+
|
|
969
|
+
An optional `PrependHookOptions` object can be passed with:
|
|
970
|
+
- `useHookClone` (boolean) — per-call override for hook cloning behavior
|
|
971
|
+
|
|
972
|
+
```javascript
|
|
973
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
974
|
+
data.some = 'new data';
|
|
975
|
+
}});
|
|
976
|
+
myClass.prependOnceHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
977
|
+
data.some = 'will run before new data';
|
|
978
|
+
}});
|
|
979
|
+
```
|
|
980
|
+
|
|
981
|
+
## .removeEventHooks(eventName)
|
|
982
|
+
|
|
983
|
+
Removes all hooks for a specific event and returns the removed hooks as an `IHook[]` array. Returns an empty array if no hooks are registered for the event.
|
|
984
|
+
|
|
985
|
+
```javascript
|
|
986
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
987
|
+
data.some = 'new data';
|
|
988
|
+
}});
|
|
989
|
+
myClass.onHook({ event: 'before:myMethod2', handler: async (data) => {
|
|
990
|
+
data.some = 'more data';
|
|
991
|
+
}});
|
|
992
|
+
|
|
993
|
+
// Remove all hooks for a specific event
|
|
994
|
+
const removed = myClass.removeEventHooks('before:myMethod2');
|
|
995
|
+
console.log(removed.length); // 2
|
|
996
|
+
```
|
|
997
|
+
|
|
998
|
+
## .removeHook(hook)
|
|
999
|
+
|
|
1000
|
+
Unsubscribe a handler from a hook event. Takes an `IHook` object with `event` and `handler` properties. Returns the removed hook as an `IHook` object, or `undefined` if the handler was not found.
|
|
1001
|
+
|
|
1002
|
+
```javascript
|
|
1003
|
+
const handler = async (data) => {
|
|
1004
|
+
data.some = 'new data';
|
|
1005
|
+
};
|
|
1006
|
+
|
|
1007
|
+
myClass.onHook({ event: 'before:myMethod2', handler });
|
|
1008
|
+
|
|
1009
|
+
const removed = myClass.removeHook({ event: 'before:myMethod2', handler });
|
|
1010
|
+
console.log(removed); // { event: 'before:myMethod2', handler: [Function] }
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
## .removeHookById(id)
|
|
1014
|
+
|
|
1015
|
+
Remove one or more hooks by `id`, searching across all events. Accepts a single `string` or an array of `string` ids.
|
|
1016
|
+
|
|
1017
|
+
- **Single id**: Returns the removed `IHook`, or `undefined` if not found.
|
|
1018
|
+
- **Array of ids**: Returns an `IHook[]` array of the hooks that were successfully removed.
|
|
1019
|
+
|
|
1020
|
+
When the last hook for an event is removed, the event key is cleaned up.
|
|
1021
|
+
|
|
1022
|
+
```javascript
|
|
1023
|
+
const myClass = new MyClass();
|
|
1024
|
+
|
|
1025
|
+
myClass.onHook({ id: 'hook-a', event: 'before:save', handler: async () => {} });
|
|
1026
|
+
myClass.onHook({ id: 'hook-b', event: 'after:save', handler: async () => {} });
|
|
1027
|
+
myClass.onHook({ id: 'hook-c', event: 'before:save', handler: async () => {} });
|
|
1028
|
+
|
|
1029
|
+
// Remove a single hook by id
|
|
1030
|
+
const removed = myClass.removeHookById('hook-a');
|
|
1031
|
+
console.log(removed?.id); // 'hook-a'
|
|
1032
|
+
|
|
1033
|
+
// Remove multiple hooks by ids
|
|
1034
|
+
const removedMany = myClass.removeHookById(['hook-b', 'hook-c']);
|
|
1035
|
+
console.log(removedMany.length); // 2
|
|
1036
|
+
```
|
|
1037
|
+
|
|
1038
|
+
## .removeHooks(Array)
|
|
1039
|
+
|
|
1040
|
+
Unsubscribe from multiple hooks. Returns an array of the hooks that were successfully removed.
|
|
1041
|
+
|
|
1042
|
+
```javascript
|
|
1043
|
+
const hooks = [
|
|
1044
|
+
{ event: 'before:save', handler: async (data) => { data.some = 'new data1'; } },
|
|
1045
|
+
{ event: 'after:save', handler: async (data) => { data.some = 'new data2'; } },
|
|
1046
|
+
];
|
|
1047
|
+
myClass.onHooks(hooks);
|
|
1048
|
+
|
|
1049
|
+
const removed = myClass.removeHooks(hooks);
|
|
1050
|
+
console.log(removed.length); // 2
|
|
1051
|
+
```
|
|
1052
|
+
|
|
1053
|
+
# API - Events
|
|
1054
|
+
|
|
1055
|
+
> All examples below assume the following setup unless otherwise noted:
|
|
1056
|
+
> ```javascript
|
|
1057
|
+
> import { Hookified } from 'hookified';
|
|
1058
|
+
> class MyClass extends Hookified {
|
|
1059
|
+
> constructor(options) { super(options); }
|
|
1060
|
+
> }
|
|
1061
|
+
> const myClass = new MyClass();
|
|
1062
|
+
> ```
|
|
1063
|
+
|
|
1064
|
+
## .throwOnEmitError
|
|
1065
|
+
|
|
1066
|
+
If set to true, errors emitted as `error` will always be thrown, even if there are listeners. If set to false (default), errors will only be emitted to listeners.
|
|
1067
|
+
|
|
1068
|
+
```javascript
|
|
1069
|
+
const myClass = new MyClass({ throwOnEmitError: true });
|
|
1070
|
+
|
|
1071
|
+
myClass.on('error', (err) => {
|
|
1072
|
+
console.log('listener received:', err.message);
|
|
1073
|
+
});
|
|
1074
|
+
|
|
1075
|
+
try {
|
|
1076
|
+
myClass.emit('error', new Error('This will throw despite having a listener'));
|
|
1077
|
+
} catch (error) {
|
|
1078
|
+
console.log(error.message); // This will throw despite having a listener
|
|
1079
|
+
}
|
|
1080
|
+
```
|
|
1081
|
+
|
|
1082
|
+
## .throwOnEmptyListeners
|
|
1083
|
+
|
|
1084
|
+
If set to true, errors will be thrown when emitting an `error` event with no listeners. This follows the standard Node.js EventEmitter behavior. Default is `true`.
|
|
1085
|
+
|
|
1086
|
+
```javascript
|
|
1087
|
+
const myClass = new MyClass({ throwOnEmptyListeners: true });
|
|
1088
|
+
|
|
1089
|
+
console.log(myClass.throwOnEmptyListeners); // true (default)
|
|
1090
|
+
|
|
1091
|
+
// This will throw because there are no error listeners
|
|
1092
|
+
try {
|
|
1093
|
+
myClass.emit('error', new Error('Something went wrong'));
|
|
1094
|
+
} catch (error) {
|
|
1095
|
+
console.log(error.message); // Something went wrong
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
// Add an error listener - now it won't throw
|
|
1099
|
+
myClass.on('error', (error) => {
|
|
1100
|
+
console.log('Error caught:', error.message);
|
|
1101
|
+
});
|
|
1102
|
+
|
|
1103
|
+
myClass.emit('error', new Error('This will be caught')); // No throw, listener handles it
|
|
1104
|
+
|
|
1105
|
+
// You can also change it dynamically
|
|
1106
|
+
myClass.throwOnEmptyListeners = false;
|
|
1107
|
+
console.log(myClass.throwOnEmptyListeners); // false
|
|
1108
|
+
```
|
|
1109
|
+
|
|
1110
|
+
**Difference between `throwOnEmitError` and `throwOnEmptyListeners`:**
|
|
1111
|
+
- `throwOnEmitError`: Throws when emitting 'error' event every time.
|
|
1112
|
+
- `throwOnEmptyListeners`: Throws only when there are NO error listeners registered
|
|
1113
|
+
|
|
1114
|
+
When both are set to `true`, `throwOnEmitError` takes precedence.
|
|
1115
|
+
|
|
1116
|
+
## .on(eventName, handler)
|
|
1117
|
+
|
|
1118
|
+
Subscribe to an event.
|
|
1119
|
+
|
|
1120
|
+
```javascript
|
|
1121
|
+
myClass.on('message', (message) => {
|
|
1122
|
+
console.log(message);
|
|
1123
|
+
});
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1126
|
+
## .off(eventName, handler)
|
|
1127
|
+
|
|
1128
|
+
Unsubscribe from an event.
|
|
1129
|
+
|
|
1130
|
+
```javascript
|
|
1131
|
+
const handler = (message) => {
|
|
1132
|
+
console.log(message);
|
|
1133
|
+
};
|
|
1134
|
+
|
|
1135
|
+
myClass.on('message', handler);
|
|
1136
|
+
myClass.off('message', handler);
|
|
1137
|
+
```
|
|
1138
|
+
|
|
1139
|
+
## .emit(eventName, ...args)
|
|
1140
|
+
|
|
1141
|
+
Emit an event.
|
|
1142
|
+
|
|
1143
|
+
```javascript
|
|
1144
|
+
myClass.emit('message', 'Hello World');
|
|
1145
|
+
```
|
|
1146
|
+
|
|
1147
|
+
## .listeners(eventName)
|
|
1148
|
+
|
|
1149
|
+
Get all listeners for an event.
|
|
1150
|
+
|
|
1151
|
+
```javascript
|
|
1152
|
+
myClass.on('message', (message) => {
|
|
1153
|
+
console.log(message);
|
|
1154
|
+
});
|
|
1155
|
+
|
|
1156
|
+
console.log(myClass.listeners('message'));
|
|
1157
|
+
```
|
|
1158
|
+
|
|
1159
|
+
## .removeAllListeners(eventName)
|
|
1160
|
+
|
|
1161
|
+
Remove all listeners for an event.
|
|
1162
|
+
|
|
1163
|
+
```javascript
|
|
1164
|
+
myClass.on('message', (message) => {
|
|
1165
|
+
console.log(message);
|
|
1166
|
+
});
|
|
1167
|
+
|
|
1168
|
+
myClass.removeAllListeners('message');
|
|
1169
|
+
```
|
|
1170
|
+
|
|
1171
|
+
## .setMaxListeners(maxListeners: number)
|
|
1172
|
+
|
|
1173
|
+
Set the maximum number of listeners for a single event. Default is `0` (unlimited). Negative values are treated as `0`. Setting to `0` disables the limit and the warning. When the limit is exceeded, a `MaxListenersExceededWarning` is emitted via `console.warn` but the listener is still added. This matches standard Node.js EventEmitter behavior.
|
|
1174
|
+
|
|
1175
|
+
```javascript
|
|
1176
|
+
myClass.setMaxListeners(1);
|
|
1177
|
+
|
|
1178
|
+
myClass.on('message', (message) => {
|
|
1179
|
+
console.log(message);
|
|
1180
|
+
});
|
|
1181
|
+
|
|
1182
|
+
myClass.on('message', (message) => {
|
|
1183
|
+
console.log(message);
|
|
1184
|
+
}); // warning emitted but listener is still added
|
|
1185
|
+
|
|
1186
|
+
console.log(myClass.listenerCount('message')); // 2
|
|
1187
|
+
```
|
|
1188
|
+
|
|
1189
|
+
## .once(eventName, handler)
|
|
1190
|
+
|
|
1191
|
+
Subscribe to an event once.
|
|
1192
|
+
|
|
1193
|
+
```javascript
|
|
1194
|
+
myClass.once('message', (message) => {
|
|
1195
|
+
console.log(message);
|
|
1196
|
+
});
|
|
1197
|
+
|
|
1198
|
+
myClass.emit('message', 'Hello World'); // handler runs
|
|
1199
|
+
myClass.emit('message', 'Hello World'); // handler does not run
|
|
1200
|
+
```
|
|
1201
|
+
|
|
1202
|
+
## .prependListener(eventName, handler)
|
|
1203
|
+
|
|
1204
|
+
Prepend a listener to an event. This will be called before any other listeners.
|
|
1205
|
+
|
|
1206
|
+
```javascript
|
|
1207
|
+
myClass.prependListener('message', (message) => {
|
|
1208
|
+
console.log(message);
|
|
1209
|
+
});
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
## .prependOnceListener(eventName, handler)
|
|
1213
|
+
|
|
1214
|
+
Prepend a listener to an event once. This will be called before any other listeners.
|
|
1215
|
+
|
|
1216
|
+
```javascript
|
|
1217
|
+
myClass.prependOnceListener('message', (message) => {
|
|
1218
|
+
console.log(message);
|
|
1219
|
+
});
|
|
1220
|
+
|
|
1221
|
+
myClass.emit('message', 'Hello World');
|
|
1222
|
+
```
|
|
1223
|
+
|
|
1224
|
+
## .eventNames()
|
|
1225
|
+
|
|
1226
|
+
Get all event names.
|
|
1227
|
+
|
|
1228
|
+
```javascript
|
|
1229
|
+
myClass.on('message', (message) => {
|
|
1230
|
+
console.log(message);
|
|
1231
|
+
});
|
|
1232
|
+
|
|
1233
|
+
console.log(myClass.eventNames()); // ['message']
|
|
1234
|
+
```
|
|
1235
|
+
|
|
1236
|
+
## .listenerCount(eventName?)
|
|
1237
|
+
|
|
1238
|
+
Get the count of listeners for an event or all events if eventName not provided.
|
|
1239
|
+
|
|
1240
|
+
```javascript
|
|
1241
|
+
myClass.on('message', (message) => {
|
|
1242
|
+
console.log(message);
|
|
1243
|
+
});
|
|
1244
|
+
|
|
1245
|
+
console.log(myClass.listenerCount('message')); // 1
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
## .rawListeners(eventName?)
|
|
1249
|
+
|
|
1250
|
+
Get all listeners for an event or all events if eventName not provided.
|
|
1251
|
+
|
|
1252
|
+
```javascript
|
|
1253
|
+
myClass.on('message', (message) => {
|
|
1254
|
+
console.log(message);
|
|
1255
|
+
});
|
|
1256
|
+
|
|
1257
|
+
console.log(myClass.rawListeners('message'));
|
|
1258
|
+
```
|
|
1259
|
+
|
|
1260
|
+
# Logging
|
|
1261
|
+
|
|
1262
|
+
Hookified integrates logging directly into the event system. When an `eventLogger` is configured, all emitted events are automatically logged to the appropriate log level based on the event name.
|
|
1263
|
+
|
|
1264
|
+
## How It Works
|
|
1265
|
+
|
|
1266
|
+
When you emit an event, Hookified automatically sends the event data to the configured `eventLogger` using the appropriate log method:
|
|
1267
|
+
|
|
1268
|
+
| Event Name | Logger Method |
|
|
1269
|
+
|------------|---------------|
|
|
1270
|
+
| `error` | `eventLogger.error()` |
|
|
1271
|
+
| `warn` | `eventLogger.warn()` |
|
|
1272
|
+
| `debug` | `eventLogger.debug()` |
|
|
1273
|
+
| `trace` | `eventLogger.trace()` |
|
|
1274
|
+
| `fatal` | `eventLogger.fatal()` |
|
|
1275
|
+
| Any other | `eventLogger.info()` |
|
|
1276
|
+
|
|
1277
|
+
The logger receives two arguments:
|
|
1278
|
+
1. **message**: A string extracted from the event data (error messages, object messages, or JSON stringified data)
|
|
1279
|
+
2. **context**: An object containing `{ event: eventName, data: originalData }`
|
|
1280
|
+
|
|
1281
|
+
## Setting Up a Logger
|
|
1282
|
+
|
|
1283
|
+
Any logger that implements the `Logger` interface is compatible. This includes popular loggers like [Pino](https://github.com/pinojs/pino), [Winston](https://github.com/winstonjs/winston), [Bunyan](https://github.com/trentm/node-bunyan), and others.
|
|
1284
|
+
|
|
1285
|
+
```typescript
|
|
1286
|
+
type Logger = {
|
|
1287
|
+
trace: (message: string, ...args: unknown[]) => void;
|
|
1288
|
+
debug: (message: string, ...args: unknown[]) => void;
|
|
1289
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
1290
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
1291
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
1292
|
+
fatal: (message: string, ...args: unknown[]) => void;
|
|
1293
|
+
};
|
|
1294
|
+
```
|
|
1295
|
+
|
|
1296
|
+
## Usage Example with Pino
|
|
1297
|
+
|
|
1298
|
+
```javascript
|
|
1299
|
+
import { Hookified } from 'hookified';
|
|
1300
|
+
import pino from 'pino';
|
|
1301
|
+
|
|
1302
|
+
const logger = pino();
|
|
1303
|
+
|
|
1304
|
+
class MyService extends Hookified {
|
|
1305
|
+
constructor() {
|
|
1306
|
+
super({ eventLogger: logger });
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
async processData(data) {
|
|
1310
|
+
// This will log to logger.info with the data
|
|
1311
|
+
this.emit('info', { action: 'processing', data });
|
|
1312
|
+
|
|
1313
|
+
try {
|
|
1314
|
+
// ... process data
|
|
1315
|
+
this.emit('debug', { action: 'completed', result: 'success' });
|
|
1316
|
+
} catch (err) {
|
|
1317
|
+
// This will log to logger.error with the error message
|
|
1318
|
+
this.emit('error', err);
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
const service = new MyService();
|
|
1324
|
+
|
|
1325
|
+
// All events are automatically logged
|
|
1326
|
+
service.emit('info', 'Service started'); // -> logger.info()
|
|
1327
|
+
service.emit('warn', { message: 'Low memory' }); // -> logger.warn()
|
|
1328
|
+
service.emit('error', new Error('Failed')); // -> logger.error()
|
|
1329
|
+
service.emit('custom-event', { foo: 'bar' }); // -> logger.info() (default)
|
|
1330
|
+
```
|
|
1331
|
+
|
|
1332
|
+
You can also set or change the eventLogger after instantiation:
|
|
1333
|
+
|
|
1334
|
+
```javascript
|
|
1335
|
+
const service = new MyService();
|
|
1336
|
+
service.eventLogger = pino({ level: 'debug' });
|
|
1337
|
+
|
|
1338
|
+
// Or remove the eventLogger
|
|
1339
|
+
service.eventLogger = undefined;
|
|
1340
|
+
```
|
|
1341
|
+
|
|
1342
|
+
# Benchmarks
|
|
1343
|
+
|
|
1344
|
+
We are doing very simple benchmarking to see how this compares to other libraries using `tinybench`. This is not a full benchmark but just a simple way to see how it performs.
|
|
1345
|
+
|
|
1346
|
+
## Hooks
|
|
1347
|
+
|
|
1348
|
+
| name | summary | ops/sec | time/op | margin | samples |
|
|
1349
|
+
|----------------------|:---------:|----------:|----------:|:--------:|----------:|
|
|
1350
|
+
| Hookified (v2.0.1) | 🥇 | 5M | 221ns | ±0.01% | 5M |
|
|
1351
|
+
| Hookable (v6.0.1) | -59% | 2M | 569ns | ±0.01% | 2M |
|
|
1352
|
+
|
|
1353
|
+
## Emits
|
|
1354
|
+
|
|
1355
|
+
This shows how on par `hookified` is to the native `EventEmitter` and popular `eventemitter3`. These are simple emitting benchmarks to see how it performs. Our goal is to be as close or better than the other libraries including native (EventEmitter).
|
|
1356
|
+
|
|
1357
|
+
| name | summary | ops/sec | time/op | margin | samples |
|
|
1358
|
+
|---------------------------|:---------:|----------:|----------:|:--------:|----------:|
|
|
1359
|
+
| Hookified (v2.1.0) | 🥇 | 17M | 73ns | ±0.02% | 14M |
|
|
1360
|
+
| EventEmitter3 (v5.0.4) | -2.2% | 17M | 70ns | ±0.02% | 14M |
|
|
1361
|
+
| EventEmitter (v24.14.0) | -4.5% | 16M | 70ns | ±0.02% | 14M |
|
|
1362
|
+
| Emittery (v2.0.0) | -92% | 1M | 792ns | ±0.01% | 1M |
|
|
1363
|
+
|
|
1364
|
+
_Note: the `EventEmitter` version is Nodejs versioning._
|
|
1365
|
+
|
|
1366
|
+
# Migrating from v1 to v2
|
|
1367
|
+
|
|
1368
|
+
## Quick Guide
|
|
1369
|
+
|
|
1370
|
+
v2 overhauls hook storage to use `IHook` objects instead of raw functions. This enables hook IDs, ordering via position, cloning control, and new hook types like `WaterfallHook`. `onHook` now supports both the v1 positional `(event, handler)` form and the new `IHook` object form, so this is **not a breaking change**:
|
|
1371
|
+
|
|
1372
|
+
```typescript
|
|
1373
|
+
// v1 style — still works
|
|
1374
|
+
hookified.onHook('before:save', async (data) => {});
|
|
1375
|
+
|
|
1376
|
+
// v2 style — IHook object with options support
|
|
1377
|
+
hookified.onHook({ event: 'before:save', handler: async (data) => {} });
|
|
1378
|
+
|
|
1379
|
+
// addHook also works as an alias for the positional form
|
|
1380
|
+
hookified.addHook('before:save', async (data) => {});
|
|
1381
|
+
```
|
|
1382
|
+
|
|
1383
|
+
**Other common changes:**
|
|
1384
|
+
|
|
1385
|
+
| v1 | v2 |
|
|
1386
|
+
|---|---|
|
|
1387
|
+
| `throwHookErrors` | `throwOnHookError` |
|
|
1388
|
+
| `logger` | `eventLogger` |
|
|
1389
|
+
| `onHookEntry(hook)` | `onHook(hook)` |
|
|
1390
|
+
| `HookEntry` type | `IHook` interface |
|
|
1391
|
+
| `Hook` type (fn) | `HookFn` type |
|
|
1392
|
+
| `getHooks()` returns `HookFn[]` | `getHooks()` returns `IHook[]` |
|
|
1393
|
+
| `removeHook(event, handler)` | `removeHook({ event, handler })` |
|
|
1394
|
+
|
|
1395
|
+
See below for full details on each change.
|
|
1396
|
+
|
|
1397
|
+
**[Breaking Changes](#breaking-changes)**
|
|
1398
|
+
- [`throwHookErrors` removed — use `throwOnHookError` instead](#throwhookerrors-removed--use-throwonhookerror-instead)
|
|
1399
|
+
- [`throwOnEmptyListeners` now defaults to `true`](#throwonemptylisteners-now-defaults-to-true)
|
|
1400
|
+
- [`logger` renamed to `eventLogger`](#logger-renamed-to-eventlogger)
|
|
1401
|
+
- [`maxListeners` default changed from `100` to `0` (unlimited) and no longer truncates](#maxlisteners-default-changed-from-100-to-0-unlimited-and-no-longer-truncates)
|
|
1402
|
+
- [`onHookEntry` removed — use `onHook` instead](#onhookentry-removed--use-onhook-instead)
|
|
1403
|
+
- [`onHook` signature updated (not breaking)](#onhook-signature-updated)
|
|
1404
|
+
- [`HookEntry` type and `Hook` type removed](#hookentry-type-and-hook-type-removed)
|
|
1405
|
+
- [`removeHook` and `removeHooks` now return removed hooks](#removehook-and-removehooks-now-return-removed-hooks)
|
|
1406
|
+
- [`removeHook`, `removeHooks`, and `getHooks` no longer check for deprecated hooks](#removehook-removehooks-and-gethooks-no-longer-check-for-deprecated-hooks)
|
|
1407
|
+
- [Internal hook storage now uses `IHook` objects](#internal-hook-storage-now-uses-ihook-objects)
|
|
1408
|
+
- [`onceHook`, `prependHook`, `prependOnceHook`, and `removeHook` now take `IHook`](#oncehook-prependhook-prependoncehook-and-removehook-now-take-ihook)
|
|
1409
|
+
- [`onHook` now returns the stored hook](#onhook-now-returns-the-stored-hook)
|
|
1410
|
+
|
|
1411
|
+
**[New Features](#new-features)**
|
|
1412
|
+
- [standard `Hook` class now available](#standard-hook)
|
|
1413
|
+
- [`WaterfallHook` class for sequential data transformation pipelines](#waterfallhook-class)
|
|
1414
|
+
- [`useHookClone` option](#usehookclone-option)
|
|
1415
|
+
- [`onHook` now accepts `OnHookOptions`](#onhook-now-accepts-onhookoptions)
|
|
1416
|
+
- [`IHook` now has an `id` property](#ihook-now-has-an-id-property)
|
|
1417
|
+
- [`removeEventHooks` method](#removeeventhooks-method)
|
|
1418
|
+
|
|
1419
|
+
## Breaking Changes
|
|
1420
|
+
|
|
1421
|
+
| Change | Summary |
|
|
1422
|
+
|---|---|
|
|
1423
|
+
| `throwHookErrors` | Renamed to `throwOnHookError` |
|
|
1424
|
+
| `throwOnEmptyListeners` | Default changed from `false` to `true` |
|
|
1425
|
+
| `logger` | Renamed to `eventLogger` |
|
|
1426
|
+
| `maxListeners` | Default changed from `100` to `0` (unlimited), no longer truncates |
|
|
1427
|
+
| `onHookEntry` | Removed — use `onHook` instead |
|
|
1428
|
+
| `onHook` signature | Now takes `IHook` object **or** `(event, handler)` — both supported (not breaking) |
|
|
1429
|
+
| `HookEntry` / `Hook` types | Replaced with `IHook` / `HookFn` |
|
|
1430
|
+
| `removeHook` / `removeHooks` | Now return removed hooks; no longer check deprecated status |
|
|
1431
|
+
| Internal hook storage | Uses `IHook` objects instead of raw functions |
|
|
1432
|
+
| `onceHook`, `prependHook`, etc. | Now take `IHook` instead of `(event, handler)` |
|
|
1433
|
+
| `onHook` return | Now returns stored `IHook` (was `void`) |
|
|
1434
|
+
|
|
1435
|
+
### `throwHookErrors` removed — use `throwOnHookError` instead
|
|
1436
|
+
|
|
1437
|
+
The deprecated `throwHookErrors` option and property has been removed. Use `throwOnHookError` instead.
|
|
1438
|
+
|
|
1439
|
+
**Before (v1):**
|
|
1440
|
+
|
|
1441
|
+
```javascript
|
|
1442
|
+
super({ throwHookErrors: true });
|
|
1443
|
+
myClass.throwHookErrors = false;
|
|
1444
|
+
```
|
|
1445
|
+
|
|
1446
|
+
**After (v2):**
|
|
1447
|
+
|
|
1448
|
+
```javascript
|
|
1449
|
+
super({ throwOnHookError: true });
|
|
1450
|
+
myClass.throwOnHookError = false;
|
|
1451
|
+
```
|
|
1452
|
+
|
|
1453
|
+
### `throwOnEmptyListeners` now defaults to `true`
|
|
1454
|
+
|
|
1455
|
+
The `throwOnEmptyListeners` option now defaults to `true`, matching standard Node.js EventEmitter behavior. Previously it defaulted to `false`. If you emit an `error` event with no listeners registered, an error will now be thrown by default.
|
|
1456
|
+
|
|
1457
|
+
**Before (v1):**
|
|
1458
|
+
|
|
1459
|
+
```javascript
|
|
1460
|
+
const myClass = new MyClass(); // throwOnEmptyListeners defaults to false
|
|
1461
|
+
myClass.emit('error', new Error('No throw')); // silently ignored
|
|
1462
|
+
```
|
|
1463
|
+
|
|
1464
|
+
**After (v2):**
|
|
1465
|
+
|
|
1466
|
+
```javascript
|
|
1467
|
+
const myClass = new MyClass(); // throwOnEmptyListeners defaults to true
|
|
1468
|
+
myClass.emit('error', new Error('This will throw')); // throws!
|
|
1469
|
+
|
|
1470
|
+
// To restore v1 behavior:
|
|
1471
|
+
const myClass2 = new MyClass({ throwOnEmptyListeners: false });
|
|
1472
|
+
```
|
|
1473
|
+
|
|
1474
|
+
### `logger` renamed to `eventLogger`
|
|
1475
|
+
|
|
1476
|
+
The `logger` option and property has been renamed to `eventLogger` to avoid conflicts with other logger properties in your classes.
|
|
1477
|
+
|
|
1478
|
+
**Before (v1):**
|
|
1479
|
+
|
|
1480
|
+
```javascript
|
|
1481
|
+
super({ logger });
|
|
1482
|
+
myClass.logger = pino({ level: 'debug' });
|
|
1483
|
+
```
|
|
1484
|
+
|
|
1485
|
+
**After (v2):**
|
|
1486
|
+
|
|
1487
|
+
```javascript
|
|
1488
|
+
super({ eventLogger: logger });
|
|
1489
|
+
myClass.eventLogger = pino({ level: 'debug' });
|
|
1490
|
+
```
|
|
1491
|
+
|
|
1492
|
+
### `maxListeners` default changed from `100` to `0` (unlimited) and no longer truncates
|
|
1493
|
+
|
|
1494
|
+
The default maximum number of listeners has changed from `100` to `0` (unlimited). The `MaxListenersExceededWarning` will no longer be emitted unless you explicitly set a limit via `setMaxListeners()`. Additionally, `setMaxListeners()` no longer truncates existing listeners — it only sets the warning threshold, matching standard Node.js EventEmitter behavior.
|
|
1495
|
+
|
|
1496
|
+
**Before (v1):**
|
|
1497
|
+
|
|
1498
|
+
```javascript
|
|
1499
|
+
const myClass = new MyClass(); // maxListeners defaults to 100
|
|
1500
|
+
// Warning emitted after adding 100+ listeners to the same event
|
|
1501
|
+
// setMaxListeners() would truncate existing listeners exceeding the limit
|
|
1502
|
+
```
|
|
1503
|
+
|
|
1504
|
+
**After (v2):**
|
|
1505
|
+
|
|
1506
|
+
```javascript
|
|
1507
|
+
const myClass = new MyClass(); // maxListeners defaults to 0 (unlimited)
|
|
1508
|
+
// No warning — unlimited listeners allowed
|
|
1509
|
+
// setMaxListeners() only sets warning threshold, never removes listeners
|
|
1510
|
+
|
|
1511
|
+
// To restore v1 warning behavior:
|
|
1512
|
+
myClass.setMaxListeners(100);
|
|
1513
|
+
```
|
|
1514
|
+
|
|
1515
|
+
### `onHookEntry` removed — use `onHook` instead
|
|
1516
|
+
|
|
1517
|
+
The `onHookEntry` method has been removed. Use `onHook` which now accepts an `IHook` object (or array of `IHook`) directly.
|
|
1518
|
+
|
|
1519
|
+
**Before (v1):**
|
|
1520
|
+
|
|
1521
|
+
```typescript
|
|
1522
|
+
hookified.onHookEntry({ event: 'before:save', handler: async (data) => {} });
|
|
1523
|
+
```
|
|
1524
|
+
|
|
1525
|
+
**After (v2):**
|
|
1526
|
+
|
|
1527
|
+
```typescript
|
|
1528
|
+
hookified.onHook({ event: 'before:save', handler: async (data) => {} });
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
### `onHook` signature updated
|
|
1532
|
+
|
|
1533
|
+
`onHook` now supports both the v1 positional `(event, handler)` form and the new `IHook` object form. **This is not a breaking change** — existing v1 code continues to work. The `IHook` object form is recommended for new code as it supports hook IDs, positioning, and cloning options. You can also use `addHook(event, handler)` as an alias or `onHooks()` for bulk registration.
|
|
1534
|
+
|
|
1535
|
+
```typescript
|
|
1536
|
+
// v1 style — still works
|
|
1537
|
+
hookified.onHook('before:save', async (data) => {});
|
|
1538
|
+
|
|
1539
|
+
// v2 style — IHook object with full options support
|
|
1540
|
+
hookified.onHook({ event: 'before:save', handler: async (data) => {} });
|
|
1541
|
+
|
|
1542
|
+
// For multiple hooks, use onHooks
|
|
1543
|
+
hookified.onHooks([
|
|
1544
|
+
{ event: 'before:save', handler: async (data) => {} },
|
|
1545
|
+
{ event: 'after:save', handler: async (data) => {} },
|
|
1546
|
+
]);
|
|
1547
|
+
|
|
1548
|
+
// addHook also works as an alias for positional args
|
|
1549
|
+
hookified.addHook('before:save', async (data) => {});
|
|
1550
|
+
```
|
|
1551
|
+
|
|
1552
|
+
### `HookEntry` type and `Hook` type removed
|
|
1553
|
+
|
|
1554
|
+
The `HookEntry` type has been removed and replaced with the `IHook` interface. The `Hook` type (function type) has been renamed to `HookFn`.
|
|
1555
|
+
|
|
1556
|
+
**Before (v1):**
|
|
1557
|
+
|
|
1558
|
+
```typescript
|
|
1559
|
+
import type { HookEntry, Hook } from 'hookified';
|
|
1560
|
+
|
|
1561
|
+
const hook: HookEntry = { event: 'before:save', handler: async () => {} };
|
|
1562
|
+
const myHook: Hook = async (data) => {};
|
|
1563
|
+
```
|
|
1564
|
+
|
|
1565
|
+
**After (v2):**
|
|
1566
|
+
|
|
1567
|
+
```typescript
|
|
1568
|
+
import type { IHook, HookFn } from 'hookified';
|
|
1569
|
+
|
|
1570
|
+
const hook: IHook = { event: 'before:save', handler: async () => {} };
|
|
1571
|
+
const myHook: HookFn = async (data) => {};
|
|
1572
|
+
```
|
|
1573
|
+
|
|
1574
|
+
### `removeHook` and `removeHooks` now return removed hooks
|
|
1575
|
+
|
|
1576
|
+
`removeHook` now returns the removed hook as an `IHook` object (or `undefined` if not found). `removeHooks` now returns an `IHook[]` array of the hooks that were successfully removed. Previously both returned `void`.
|
|
1577
|
+
|
|
1578
|
+
**Before (v1):**
|
|
1579
|
+
|
|
1580
|
+
```typescript
|
|
1581
|
+
hookified.removeHook('before:save', handler); // void
|
|
1582
|
+
hookified.removeHooks(hooks); // void
|
|
1583
|
+
```
|
|
1584
|
+
|
|
1585
|
+
**After (v2):**
|
|
1586
|
+
|
|
1587
|
+
```typescript
|
|
1588
|
+
const removed = hookified.removeHook({ event: 'before:save', handler }); // IHook | undefined
|
|
1589
|
+
const removedHooks = hookified.removeHooks(hooks); // IHook[]
|
|
1590
|
+
```
|
|
1591
|
+
|
|
1592
|
+
### `removeHook`, `removeHooks`, and `getHooks` no longer check for deprecated hooks
|
|
1593
|
+
|
|
1594
|
+
Previously, `removeHook`, `removeHooks`, and `getHooks` would skip their operation and emit a deprecation warning when called with a deprecated hook name and `allowDeprecated` was `false`. This made it impossible to clean up or inspect deprecated hooks. These methods now always operate regardless of deprecation status.
|
|
1595
|
+
|
|
1596
|
+
### Internal hook storage now uses `IHook` objects
|
|
1597
|
+
|
|
1598
|
+
The internal `_hooks` map now stores full `IHook` objects (`Map<string, IHook[]>`) instead of raw handler functions (`Map<string, HookFn[]>`). This means `.hooks` returns `Map<string, IHook[]>` and `.getHooks()` returns `IHook[] | undefined`.
|
|
1599
|
+
|
|
1600
|
+
**Before (v1):**
|
|
1601
|
+
|
|
1602
|
+
```typescript
|
|
1603
|
+
const hooks = myClass.getHooks('before:save'); // HookFn[]
|
|
1604
|
+
hooks[0](data); // direct function call
|
|
1605
|
+
```
|
|
1606
|
+
|
|
1607
|
+
**After (v2):**
|
|
1608
|
+
|
|
1609
|
+
```typescript
|
|
1610
|
+
const hooks = myClass.getHooks('before:save'); // IHook[]
|
|
1611
|
+
hooks[0].handler(data); // access .handler property
|
|
1612
|
+
hooks[0].event; // 'before:save'
|
|
1613
|
+
```
|
|
1614
|
+
|
|
1615
|
+
### `onceHook`, `prependHook`, `prependOnceHook`, and `removeHook` now take `IHook`
|
|
1616
|
+
|
|
1617
|
+
These methods now accept an `IHook` object instead of separate `(event, handler)` arguments.
|
|
1618
|
+
|
|
1619
|
+
**Before (v1):**
|
|
1620
|
+
|
|
1621
|
+
```typescript
|
|
1622
|
+
hookified.onceHook('before:save', async (data) => {});
|
|
1623
|
+
hookified.prependHook('before:save', async (data) => {});
|
|
1624
|
+
hookified.prependOnceHook('before:save', async (data) => {});
|
|
1625
|
+
hookified.removeHook('before:save', handler);
|
|
1626
|
+
```
|
|
1627
|
+
|
|
1628
|
+
**After (v2):**
|
|
1629
|
+
|
|
1630
|
+
```typescript
|
|
1631
|
+
hookified.onceHook({ event: 'before:save', handler: async (data) => {} });
|
|
1632
|
+
hookified.prependHook({ event: 'before:save', handler: async (data) => {} });
|
|
1633
|
+
hookified.prependOnceHook({ event: 'before:save', handler: async (data) => {} });
|
|
1634
|
+
hookified.removeHook({ event: 'before:save', handler });
|
|
1635
|
+
```
|
|
1636
|
+
|
|
1637
|
+
### `onHook` now returns the stored hook
|
|
1638
|
+
|
|
1639
|
+
`onHook` now returns the stored `IHook` object (or `undefined` if blocked by deprecation). Previously it returned `void`. The returned reference is the exact object stored internally, making it easy to later remove with `removeHook()`.
|
|
1640
|
+
|
|
1641
|
+
**Before (v1):**
|
|
1642
|
+
|
|
1643
|
+
```typescript
|
|
1644
|
+
hookified.onHook({ event: 'before:save', handler }); // void
|
|
1645
|
+
```
|
|
1646
|
+
|
|
1647
|
+
**After (v2):**
|
|
1648
|
+
|
|
1649
|
+
```typescript
|
|
1650
|
+
const stored = hookified.onHook({ event: 'before:save', handler }); // IHook | undefined
|
|
1651
|
+
hookified.removeHook(stored); // exact reference match
|
|
1652
|
+
```
|
|
1653
|
+
|
|
1654
|
+
## New Features
|
|
1655
|
+
|
|
1656
|
+
### `Hook` class
|
|
1657
|
+
|
|
1658
|
+
A new `Hook` class is available for creating hook entries. It implements the `IHook` interface and can be used anywhere `IHook` is accepted.
|
|
1659
|
+
|
|
1660
|
+
```typescript
|
|
1661
|
+
import { Hook } from 'hookified';
|
|
1662
|
+
|
|
1663
|
+
const hook = new Hook('before:save', async (data) => {
|
|
1664
|
+
data.validated = true;
|
|
1665
|
+
});
|
|
1666
|
+
|
|
1667
|
+
myClass.onHook(hook);
|
|
1668
|
+
```
|
|
1669
|
+
|
|
1670
|
+
### `WaterfallHook` class
|
|
1671
|
+
|
|
1672
|
+
A new `WaterfallHook` class is available for creating sequential data transformation pipelines. It implements the `IHook` interface and integrates directly with `Hookified.onHook()`. Each hook in the chain receives a `WaterfallHookContext` with `initialArgs` (the original arguments) and `results` (an array of `{ hook, result }` entries from all previous hooks).
|
|
1673
|
+
|
|
1674
|
+
```typescript
|
|
1675
|
+
import { Hookified, WaterfallHook } from 'hookified';
|
|
1676
|
+
|
|
1677
|
+
class MyClass extends Hookified {
|
|
1678
|
+
constructor() { super(); }
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
const myClass = new MyClass();
|
|
1682
|
+
|
|
1683
|
+
const wh = new WaterfallHook('save', ({ results }) => {
|
|
1684
|
+
const data = results[results.length - 1].result;
|
|
1685
|
+
console.log('Saved:', data);
|
|
1686
|
+
});
|
|
1687
|
+
|
|
1688
|
+
wh.addHook(({ initialArgs }) => {
|
|
1689
|
+
return { ...initialArgs, validated: true };
|
|
1690
|
+
});
|
|
1691
|
+
|
|
1692
|
+
wh.addHook(({ results }) => {
|
|
1693
|
+
return { ...results[results.length - 1].result, timestamp: Date.now() };
|
|
1694
|
+
});
|
|
1695
|
+
|
|
1696
|
+
myClass.onHook(wh);
|
|
1697
|
+
await myClass.hook('save', { name: 'test' });
|
|
1698
|
+
// Saved: { name: 'test', validated: true, timestamp: ... }
|
|
1699
|
+
```
|
|
1700
|
+
|
|
1701
|
+
See the [Waterfall Hook](#waterfallhook) section for full documentation.
|
|
1702
|
+
|
|
1703
|
+
### `useHookClone` option
|
|
1704
|
+
|
|
1705
|
+
A new `useHookClone` option (default `true`) controls whether hook objects are shallow-cloned before storing. When enabled, external mutation of a registered hook object won't affect the internal state. Set to `false` to store the original reference for performance or when you need reference equality.
|
|
1706
|
+
|
|
1707
|
+
```typescript
|
|
1708
|
+
class MyClass extends Hookified {
|
|
1709
|
+
constructor() { super({ useHookClone: false }); }
|
|
1710
|
+
}
|
|
1711
|
+
```
|
|
1712
|
+
|
|
1713
|
+
### `onHook` now accepts `OnHookOptions`
|
|
1714
|
+
|
|
1715
|
+
`onHook` now accepts an optional second parameter of type `OnHookOptions`. This allows you to override the instance-level `useHookClone` setting and control hook positioning on a per-call basis.
|
|
1716
|
+
|
|
1717
|
+
```typescript
|
|
1718
|
+
// Override useHookClone for this specific call
|
|
1719
|
+
hookified.onHook({ event: 'before:save', handler }, { useHookClone: false });
|
|
1720
|
+
|
|
1721
|
+
// Insert at the top of the handlers array instead of the end
|
|
1722
|
+
hookified.onHook({ event: 'before:save', handler }, { position: 'Top' });
|
|
1723
|
+
|
|
1724
|
+
// Insert at a specific index
|
|
1725
|
+
hookified.onHook({ event: 'before:save', handler }, { position: 1 });
|
|
1726
|
+
```
|
|
1727
|
+
|
|
1728
|
+
### `IHook` now has an `id` property
|
|
1729
|
+
|
|
1730
|
+
Every hook now has an optional `id` property. If not provided, a UUID is auto-generated via `crypto.randomUUID()`. The `id` enables easier lookups and removal via the new `getHook(id)` and `removeHookById(id)` methods, which search across all events.
|
|
1731
|
+
|
|
1732
|
+
Registering a hook with the same `id` on the same event replaces the existing hook in-place (preserving its position).
|
|
1733
|
+
|
|
1734
|
+
```typescript
|
|
1735
|
+
// With custom id
|
|
1736
|
+
const stored = hookified.onHook({
|
|
1737
|
+
id: 'my-validation',
|
|
1738
|
+
event: 'before:save',
|
|
1739
|
+
handler: async (data) => { data.validated = true; },
|
|
1740
|
+
});
|
|
1741
|
+
|
|
1742
|
+
// Without id — auto-generated
|
|
1743
|
+
const stored2 = hookified.onHook({
|
|
1744
|
+
event: 'before:save',
|
|
1745
|
+
handler: async (data) => {},
|
|
1746
|
+
});
|
|
1747
|
+
console.log(stored2.id); // e.g. '550e8400-e29b-41d4-a716-446655440000'
|
|
1748
|
+
|
|
1749
|
+
// Look up by id (searches all events)
|
|
1750
|
+
const hook = hookified.getHook('my-validation');
|
|
1751
|
+
|
|
1752
|
+
// Remove by id (searches all events)
|
|
1753
|
+
hookified.removeHookById('my-validation');
|
|
1754
|
+
|
|
1755
|
+
// Remove multiple by ids
|
|
1756
|
+
hookified.removeHookById(['hook-a', 'hook-b']);
|
|
1757
|
+
```
|
|
1758
|
+
|
|
1759
|
+
The `Hook` class also accepts an optional `id` parameter:
|
|
1760
|
+
|
|
1761
|
+
```typescript
|
|
1762
|
+
const hook = new Hook('before:save', handler, 'my-custom-id');
|
|
1763
|
+
```
|
|
1764
|
+
|
|
1765
|
+
### `removeEventHooks` method
|
|
1766
|
+
|
|
1767
|
+
A new `removeEventHooks(event)` method removes all hooks for a specific event and returns the removed hooks as an `IHook[]` array.
|
|
1768
|
+
|
|
1769
|
+
```typescript
|
|
1770
|
+
const removed = hookified.removeEventHooks('before:save');
|
|
1771
|
+
console.log(removed.length); // number of hooks removed
|
|
1772
|
+
```
|
|
1773
|
+
|
|
1774
|
+
# How to Contribute
|
|
1775
|
+
|
|
1776
|
+
Hookified is written in TypeScript and tests are written with `vitest`. To setup the environment and run the tests:
|
|
1777
|
+
|
|
1778
|
+
```bash
|
|
1779
|
+
pnpm i && pnpm test
|
|
1780
|
+
```
|
|
1781
|
+
|
|
1782
|
+
Note that we are using `pnpm` as our package manager. If you don't have it installed, you can install it globally with:
|
|
1783
|
+
|
|
1784
|
+
```bash
|
|
1785
|
+
npm install -g pnpm
|
|
1786
|
+
```
|
|
1787
|
+
|
|
1788
|
+
To contribute follow the [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
1789
|
+
|
|
1790
|
+
# License and Copyright
|
|
1791
|
+
|
|
1792
|
+
[MIT & © Jared Wray](LICENSE)
|