@quantiya/codevibe-claude-plugin 2.0.25 → 2.0.27
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/.claude-plugin/plugin.json +1 -1
- package/node_modules/@iarna/toml/CHANGELOG.md +278 -0
- package/node_modules/@quantiya/codevibe-core/dist/__tests__/terminal-menu.test.d.ts +1 -0
- package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +4 -1
- package/node_modules/@quantiya/codevibe-core/dist/index.js +625 -430
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/audit-browser.d.ts +42 -2
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/audit-runner.d.ts +13 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +8 -0
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +649 -87
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/flag-command.d.ts +4 -1
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +16 -2
- package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/types.d.ts +2 -0
- package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.d.ts +3 -1
- package/node_modules/@quantiya/codevibe-core/dist/terminal-menu.d.ts +22 -0
- package/node_modules/@quantiya/codevibe-core/dist/tool-activity/types.d.ts +32 -32
- package/node_modules/@quantiya/codevibe-core/package.json +1 -1
- package/node_modules/color-convert/CHANGELOG.md +54 -0
- package/node_modules/cross-spawn/node_modules/which/CHANGELOG.md +166 -0
- package/node_modules/deep-extend/CHANGELOG.md +46 -0
- package/node_modules/es-toolkit/CHANGELOG.md +1053 -0
- package/node_modules/es-toolkit/dist/browser.global.js +4 -4
- package/node_modules/es-toolkit/dist/compat/array/differenceWith.js +2 -1
- package/node_modules/es-toolkit/dist/compat/array/differenceWith.mjs +2 -1
- package/node_modules/es-toolkit/dist/compat/array/findLastIndex.js +5 -3
- package/node_modules/es-toolkit/dist/compat/array/findLastIndex.mjs +5 -3
- package/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.js +1 -1
- package/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/array/without.js +8 -2
- package/node_modules/es-toolkit/dist/compat/array/without.mjs +8 -2
- package/node_modules/es-toolkit/dist/compat/array/xorWith.js +4 -6
- package/node_modules/es-toolkit/dist/compat/array/xorWith.mjs +4 -6
- package/node_modules/es-toolkit/dist/compat/compat.js +1 -1
- package/node_modules/es-toolkit/dist/compat/compat.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/function/debounce.js +1 -1
- package/node_modules/es-toolkit/dist/compat/function/debounce.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/index.js +1 -1
- package/node_modules/es-toolkit/dist/compat/index.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/object/has.js +3 -2
- package/node_modules/es-toolkit/dist/compat/object/has.mjs +3 -2
- package/node_modules/es-toolkit/dist/compat/object/hasIn.js +3 -2
- package/node_modules/es-toolkit/dist/compat/object/hasIn.mjs +3 -2
- package/node_modules/es-toolkit/dist/compat/object/mergeWith.js +1 -1
- package/node_modules/es-toolkit/dist/compat/object/mergeWith.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/object/omitBy.js +1 -1
- package/node_modules/es-toolkit/dist/compat/object/omitBy.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/object/pickBy.js +1 -1
- package/node_modules/es-toolkit/dist/compat/object/pickBy.mjs +1 -1
- package/node_modules/es-toolkit/dist/compat/util/toString.js +3 -1
- package/node_modules/es-toolkit/dist/compat/util/toString.mjs +3 -1
- package/node_modules/es-toolkit/dist/fp/flowAsync.d.mts +213 -0
- package/node_modules/es-toolkit/dist/fp/flowAsync.d.ts +213 -0
- package/node_modules/es-toolkit/dist/fp/flowAsync.js +37 -0
- package/node_modules/es-toolkit/dist/fp/flowAsync.mjs +37 -0
- package/node_modules/es-toolkit/dist/fp/index.d.mts +2 -1
- package/node_modules/es-toolkit/dist/fp/index.d.ts +2 -1
- package/node_modules/es-toolkit/dist/fp/index.js +2 -0
- package/node_modules/es-toolkit/dist/fp/index.mjs +2 -1
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.mts +23 -0
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.ts +23 -0
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.js +28 -0
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.mjs +28 -0
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.mts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.ts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/count.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/count.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/count.js +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/count.mjs +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/drop.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/drop.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/drop.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/drop.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.mts +18 -0
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.ts +18 -0
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.js +23 -0
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.mjs +23 -0
- package/node_modules/es-toolkit/dist/fp/iterator/every.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/every.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/every.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/every.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/filter.d.mts +37 -0
- package/node_modules/es-toolkit/dist/fp/iterator/filter.d.ts +37 -0
- package/node_modules/es-toolkit/dist/fp/iterator/filter.js +8 -0
- package/node_modules/es-toolkit/dist/fp/iterator/filter.mjs +8 -0
- package/node_modules/es-toolkit/dist/fp/iterator/find.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/find.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/find.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/find.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.mts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.ts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.js +26 -0
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.mjs +26 -0
- package/node_modules/es-toolkit/dist/fp/iterator/head.d.mts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/head.d.ts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/head.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/head.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/index.d.mts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/index.d.ts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/index.js +43 -0
- package/node_modules/es-toolkit/dist/fp/iterator/index.mjs +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/map.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/map.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/map.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/map.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/partition.d.mts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/partition.d.ts +22 -0
- package/node_modules/es-toolkit/dist/fp/iterator/partition.js +27 -0
- package/node_modules/es-toolkit/dist/fp/iterator/partition.mjs +27 -0
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.mts +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.ts +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.js +28 -0
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.mjs +28 -0
- package/node_modules/es-toolkit/dist/fp/iterator/scan.d.mts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/scan.d.ts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/scan.js +26 -0
- package/node_modules/es-toolkit/dist/fp/iterator/scan.mjs +26 -0
- package/node_modules/es-toolkit/dist/fp/iterator/some.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/some.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/some.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/some.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/take.d.mts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/take.d.ts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/take.js +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/take.mjs +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.mts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.ts +19 -0
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.js +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.mjs +24 -0
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.mts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.ts +21 -0
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.js +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.mjs +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.js +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.mjs +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/zip.d.mts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/zip.d.ts +20 -0
- package/node_modules/es-toolkit/dist/fp/iterator/zip.js +25 -0
- package/node_modules/es-toolkit/dist/fp/iterator/zip.mjs +25 -0
- package/node_modules/es-toolkit/dist/index.d.mts +3 -1
- package/node_modules/es-toolkit/dist/index.d.ts +3 -1
- package/node_modules/es-toolkit/dist/index.js +4 -0
- package/node_modules/es-toolkit/dist/index.mjs +3 -1
- package/node_modules/es-toolkit/dist/iterator/_internal/iterator.js +74 -0
- package/node_modules/es-toolkit/dist/iterator/_internal/iterator.mjs +74 -0
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.mts +33 -0
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.ts +33 -0
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.js +95 -0
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.mjs +95 -0
- package/node_modules/es-toolkit/dist/iterator/chunk.d.mts +21 -0
- package/node_modules/es-toolkit/dist/iterator/chunk.d.ts +21 -0
- package/node_modules/es-toolkit/dist/iterator/chunk.js +40 -0
- package/node_modules/es-toolkit/dist/iterator/chunk.mjs +40 -0
- package/node_modules/es-toolkit/dist/iterator/count.d.mts +18 -0
- package/node_modules/es-toolkit/dist/iterator/count.d.ts +18 -0
- package/node_modules/es-toolkit/dist/iterator/count.js +26 -0
- package/node_modules/es-toolkit/dist/iterator/count.mjs +26 -0
- package/node_modules/es-toolkit/dist/iterator/dropWhile.d.mts +20 -0
- package/node_modules/es-toolkit/dist/iterator/dropWhile.d.ts +20 -0
- package/node_modules/es-toolkit/dist/iterator/dropWhile.js +52 -0
- package/node_modules/es-toolkit/dist/iterator/dropWhile.mjs +52 -0
- package/node_modules/es-toolkit/dist/iterator/head.d.mts +21 -0
- package/node_modules/es-toolkit/dist/iterator/head.d.ts +21 -0
- package/node_modules/es-toolkit/dist/iterator/head.js +26 -0
- package/node_modules/es-toolkit/dist/iterator/head.mjs +26 -0
- package/node_modules/es-toolkit/dist/iterator/index.d.mts +13 -0
- package/node_modules/es-toolkit/dist/iterator/index.d.ts +13 -0
- package/node_modules/es-toolkit/dist/iterator/index.js +25 -0
- package/node_modules/es-toolkit/dist/iterator/index.mjs +13 -0
- package/node_modules/es-toolkit/dist/iterator/iterate.d.mts +20 -0
- package/node_modules/es-toolkit/dist/iterator/iterate.d.ts +20 -0
- package/node_modules/es-toolkit/dist/iterator/iterate.js +32 -0
- package/node_modules/es-toolkit/dist/iterator/iterate.mjs +32 -0
- package/node_modules/es-toolkit/dist/iterator/partition.d.mts +18 -0
- package/node_modules/es-toolkit/dist/iterator/partition.d.ts +18 -0
- package/node_modules/es-toolkit/dist/iterator/partition.js +36 -0
- package/node_modules/es-toolkit/dist/iterator/partition.mjs +36 -0
- package/node_modules/es-toolkit/dist/iterator/range.d.mts +42 -0
- package/node_modules/es-toolkit/dist/iterator/range.d.ts +42 -0
- package/node_modules/es-toolkit/dist/iterator/range.js +25 -0
- package/node_modules/es-toolkit/dist/iterator/range.mjs +25 -0
- package/node_modules/es-toolkit/dist/iterator/scan.d.mts +23 -0
- package/node_modules/es-toolkit/dist/iterator/scan.d.ts +23 -0
- package/node_modules/es-toolkit/dist/iterator/scan.js +47 -0
- package/node_modules/es-toolkit/dist/iterator/scan.mjs +47 -0
- package/node_modules/es-toolkit/dist/iterator/takeWhile.d.mts +20 -0
- package/node_modules/es-toolkit/dist/iterator/takeWhile.d.ts +20 -0
- package/node_modules/es-toolkit/dist/iterator/takeWhile.js +34 -0
- package/node_modules/es-toolkit/dist/iterator/takeWhile.mjs +34 -0
- package/node_modules/es-toolkit/dist/iterator/uniqBy.d.mts +22 -0
- package/node_modules/es-toolkit/dist/iterator/uniqBy.d.ts +22 -0
- package/node_modules/es-toolkit/dist/iterator/uniqBy.js +43 -0
- package/node_modules/es-toolkit/dist/iterator/uniqBy.mjs +43 -0
- package/node_modules/es-toolkit/dist/iterator/zip.d.mts +23 -0
- package/node_modules/es-toolkit/dist/iterator/zip.d.ts +23 -0
- package/node_modules/es-toolkit/dist/iterator/zip.js +45 -0
- package/node_modules/es-toolkit/dist/iterator/zip.mjs +45 -0
- package/node_modules/es-toolkit/dist/object/merge.d.mts +3 -1
- package/node_modules/es-toolkit/dist/object/merge.d.ts +3 -1
- package/node_modules/es-toolkit/dist/object/merge.js +0 -40
- package/node_modules/es-toolkit/dist/object/merge.mjs +0 -40
- package/node_modules/es-toolkit/dist/object/omitBy.d.mts +4 -2
- package/node_modules/es-toolkit/dist/object/omitBy.d.ts +4 -2
- package/node_modules/es-toolkit/dist/object/omitBy.js +4 -3
- package/node_modules/es-toolkit/dist/object/omitBy.mjs +4 -3
- package/node_modules/es-toolkit/dist/object/pickBy.d.mts +4 -2
- package/node_modules/es-toolkit/dist/object/pickBy.d.ts +4 -2
- package/node_modules/es-toolkit/dist/object/pickBy.js +4 -3
- package/node_modules/es-toolkit/dist/object/pickBy.mjs +4 -3
- package/node_modules/es-toolkit/dist/types/EmptyObject.d.mts +21 -0
- package/node_modules/es-toolkit/dist/types/EmptyObject.d.ts +21 -0
- package/node_modules/es-toolkit/dist/types/IsEqual.d.mts +18 -0
- package/node_modules/es-toolkit/dist/types/IsEqual.d.ts +18 -0
- package/node_modules/es-toolkit/dist/types/JSONValue.d.mts +24 -0
- package/node_modules/es-toolkit/dist/types/JSONValue.d.ts +24 -0
- package/node_modules/es-toolkit/dist/types/Merge.d.mts +37 -0
- package/node_modules/es-toolkit/dist/types/Merge.d.ts +37 -0
- package/node_modules/es-toolkit/dist/types/ObjectKeys.d.mts +19 -0
- package/node_modules/es-toolkit/dist/types/ObjectKeys.d.ts +19 -0
- package/node_modules/es-toolkit/dist/types/Primitive.d.mts +14 -0
- package/node_modules/es-toolkit/dist/types/Primitive.d.ts +14 -0
- package/node_modules/es-toolkit/dist/types/SetOptional.d.mts +20 -0
- package/node_modules/es-toolkit/dist/types/SetOptional.d.ts +20 -0
- package/node_modules/es-toolkit/dist/types/SetRequired.d.mts +20 -0
- package/node_modules/es-toolkit/dist/types/SetRequired.d.ts +20 -0
- package/node_modules/es-toolkit/dist/types/UnknownRecord.d.mts +24 -0
- package/node_modules/es-toolkit/dist/types/UnknownRecord.d.ts +24 -0
- package/node_modules/es-toolkit/dist/types/index.d.mts +11 -2
- package/node_modules/es-toolkit/dist/types/index.d.ts +11 -2
- package/node_modules/es-toolkit/dist/util/attempt.d.mts +1 -1
- package/node_modules/es-toolkit/dist/util/attempt.d.ts +1 -1
- package/node_modules/es-toolkit/dist/util/attemptAsync.d.mts +1 -1
- package/node_modules/es-toolkit/dist/util/attemptAsync.d.ts +1 -1
- package/node_modules/es-toolkit/dist/util/defer.d.mts +27 -0
- package/node_modules/es-toolkit/dist/util/defer.d.ts +27 -0
- package/node_modules/es-toolkit/dist/util/defer.js +31 -0
- package/node_modules/es-toolkit/dist/util/defer.mjs +31 -0
- package/node_modules/es-toolkit/dist/util/deferAsync.d.mts +30 -0
- package/node_modules/es-toolkit/dist/util/deferAsync.d.ts +30 -0
- package/node_modules/es-toolkit/dist/util/deferAsync.js +34 -0
- package/node_modules/es-toolkit/dist/util/deferAsync.mjs +34 -0
- package/node_modules/es-toolkit/dist/util/index.d.mts +3 -1
- package/node_modules/es-toolkit/dist/util/index.d.ts +3 -1
- package/node_modules/es-toolkit/dist/util/index.js +4 -0
- package/node_modules/es-toolkit/dist/util/index.mjs +3 -1
- package/node_modules/es-toolkit/fp/iterator.d.ts +1 -0
- package/node_modules/es-toolkit/fp/iterator.js +1 -0
- package/node_modules/es-toolkit/iterator.d.ts +1 -0
- package/node_modules/es-toolkit/iterator.js +1 -0
- package/node_modules/es-toolkit/package.json +44 -1
- package/node_modules/es-toolkit/src/compat/_internal/Equals.d.ts +1 -0
- package/node_modules/es-toolkit/src/compat/_internal/IsWritable.d.ts +3 -0
- package/node_modules/es-toolkit/src/compat/_internal/MutableList.d.ts +4 -0
- package/node_modules/es-toolkit/src/compat/_internal/RejectReadonly.d.ts +4 -0
- package/node_modules/keytar/build/Release/keytar.node +0 -0
- package/node_modules/node-abi/abi_registry.json +7 -0
- package/node_modules/node-abi/package.json +1 -1
- package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
- package/node_modules/qs/CHANGELOG.md +15 -0
- package/node_modules/qs/README.md +19 -1
- package/node_modules/qs/dist/qs.js +21 -21
- package/node_modules/qs/eslint.config.mjs +1 -1
- package/node_modules/qs/lib/parse.js +3 -4
- package/node_modules/qs/lib/stringify.js +23 -8
- package/node_modules/qs/lib/utils.js +10 -3
- package/node_modules/qs/package.json +4 -4
- package/node_modules/qs/test/parse.js +192 -3
- package/node_modules/qs/test/stringify.js +317 -0
- package/node_modules/qs/test/utils.js +12 -0
- package/node_modules/type-fest/index.d.ts +6 -7
- package/node_modules/type-fest/package.json +1 -1
- package/node_modules/type-fest/readme.md +6 -5
- package/node_modules/type-fest/source/delimiter-case.d.ts +1 -1
- package/node_modules/type-fest/source/get.d.ts +1 -1
- package/node_modules/type-fest/source/internal/object.d.ts +30 -1
- package/node_modules/type-fest/source/is-boolean-literal.d.ts +39 -0
- package/node_modules/type-fest/source/is-literal.d.ts +43 -269
- package/node_modules/type-fest/source/is-numeric-literal.d.ts +50 -0
- package/node_modules/type-fest/source/is-string-literal.d.ts +72 -0
- package/node_modules/type-fest/source/is-symbol-literal.d.ts +39 -0
- package/node_modules/type-fest/source/jsonify.d.ts +1 -5
- package/node_modules/type-fest/source/remove-prefix.d.ts +1 -1
- package/node_modules/type-fest/source/remove-suffix.d.ts +1 -1
- package/node_modules/type-fest/source/rename-keys.d.ts +163 -0
- package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +4 -3
- package/node_modules/type-fest/source/split.d.ts +1 -1
- package/node_modules/type-fest/source/string-repeat.d.ts +1 -1
- package/node_modules/type-fest/source/string-to-array.d.ts +1 -1
- package/node_modules/type-fest/source/tsconfig-json.d.ts +1 -1
- package/node_modules/type-fest/source/typed-array.d.ts +1 -0
- package/node_modules/type-fest/source/writable.d.ts +2 -2
- package/package.json +2 -2
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/LICENSE.md +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/README.md +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/common.gypi +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/except.gypi +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/index.js +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/napi-inl.deprecated.h +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/napi-inl.h +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/napi.h +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/node_api.gyp +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/noexcept.gypi +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/nothing.c +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/package-support.json +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/package.json +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/tools/README.md +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/tools/check-napi.js +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/tools/clang-format.js +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/tools/conversion.js +0 -0
- /package/node_modules/{node-addon-api → keytar/node_modules/node-addon-api}/tools/eslint-format.js +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { Simplify } from "./Simplify.mjs";
|
|
2
|
+
import { Merge } from "./Merge.mjs";
|
|
3
|
+
import { ObjectKeys } from "./ObjectKeys.mjs";
|
|
1
4
|
import { ToCamelCaseKeys } from "./ToCamelCaseKeys.mjs";
|
|
2
5
|
import { ToConstantCaseKeys } from "./ToConstantCaseKeys.mjs";
|
|
3
6
|
import { ToKebabCaseKeys } from "./ToKebabCaseKeys.mjs";
|
|
@@ -5,8 +8,14 @@ import { ToPascalCaseKeys } from "./ToPascalCaseKeys.mjs";
|
|
|
5
8
|
import { ToSnakeCaseKeys } from "./ToSnakeCaseKeys.mjs";
|
|
6
9
|
import { DeepPartial } from "./DeepPartial.mjs";
|
|
7
10
|
import { DeepReadonly } from "./DeepReadonly.mjs";
|
|
11
|
+
import { EmptyObject } from "./EmptyObject.mjs";
|
|
12
|
+
import { IsEqual } from "./IsEqual.mjs";
|
|
13
|
+
import { JSONValue } from "./JSONValue.mjs";
|
|
8
14
|
import { NonEmptyArray } from "./NonEmptyArray.mjs";
|
|
9
|
-
import {
|
|
15
|
+
import { Primitive } from "./Primitive.mjs";
|
|
16
|
+
import { SetOptional } from "./SetOptional.mjs";
|
|
17
|
+
import { SetRequired } from "./SetRequired.mjs";
|
|
18
|
+
import { UnknownRecord } from "./UnknownRecord.mjs";
|
|
10
19
|
import { ValueOf } from "./ValueOf.mjs";
|
|
11
20
|
import { Writable } from "./Writable.mjs";
|
|
12
|
-
export { type DeepPartial, type DeepReadonly, type NonEmptyArray, type Simplify, type ToCamelCaseKeys, type ToConstantCaseKeys, type ToKebabCaseKeys, type ToPascalCaseKeys, type ToSnakeCaseKeys, type ValueOf, type Writable };
|
|
21
|
+
export { type DeepPartial, type DeepReadonly, type EmptyObject, type IsEqual, type JSONValue, type Merge, type NonEmptyArray, type ObjectKeys, type Primitive, type SetOptional, type SetRequired, type Simplify, type ToCamelCaseKeys, type ToConstantCaseKeys, type ToKebabCaseKeys, type ToPascalCaseKeys, type ToSnakeCaseKeys, type UnknownRecord, type ValueOf, type Writable };
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { Simplify } from "./Simplify.js";
|
|
2
|
+
import { Merge } from "./Merge.js";
|
|
3
|
+
import { ObjectKeys } from "./ObjectKeys.js";
|
|
1
4
|
import { ToCamelCaseKeys } from "./ToCamelCaseKeys.js";
|
|
2
5
|
import { ToConstantCaseKeys } from "./ToConstantCaseKeys.js";
|
|
3
6
|
import { ToKebabCaseKeys } from "./ToKebabCaseKeys.js";
|
|
@@ -5,8 +8,14 @@ import { ToPascalCaseKeys } from "./ToPascalCaseKeys.js";
|
|
|
5
8
|
import { ToSnakeCaseKeys } from "./ToSnakeCaseKeys.js";
|
|
6
9
|
import { DeepPartial } from "./DeepPartial.js";
|
|
7
10
|
import { DeepReadonly } from "./DeepReadonly.js";
|
|
11
|
+
import { EmptyObject } from "./EmptyObject.js";
|
|
12
|
+
import { IsEqual } from "./IsEqual.js";
|
|
13
|
+
import { JSONValue } from "./JSONValue.js";
|
|
8
14
|
import { NonEmptyArray } from "./NonEmptyArray.js";
|
|
9
|
-
import {
|
|
15
|
+
import { Primitive } from "./Primitive.js";
|
|
16
|
+
import { SetOptional } from "./SetOptional.js";
|
|
17
|
+
import { SetRequired } from "./SetRequired.js";
|
|
18
|
+
import { UnknownRecord } from "./UnknownRecord.js";
|
|
10
19
|
import { ValueOf } from "./ValueOf.js";
|
|
11
20
|
import { Writable } from "./Writable.js";
|
|
12
|
-
export { type DeepPartial, type DeepReadonly, type NonEmptyArray, type Simplify, type ToCamelCaseKeys, type ToConstantCaseKeys, type ToKebabCaseKeys, type ToPascalCaseKeys, type ToSnakeCaseKeys, type ValueOf, type Writable };
|
|
21
|
+
export { type DeepPartial, type DeepReadonly, type EmptyObject, type IsEqual, type JSONValue, type Merge, type NonEmptyArray, type ObjectKeys, type Primitive, type SetOptional, type SetRequired, type Simplify, type ToCamelCaseKeys, type ToConstantCaseKeys, type ToKebabCaseKeys, type ToPascalCaseKeys, type ToSnakeCaseKeys, type UnknownRecord, type ValueOf, type Writable };
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
* });
|
|
32
32
|
* // users is typed as User[]
|
|
33
33
|
*/
|
|
34
|
-
declare function attemptAsync<T, E>(func: () => Promise<T>): Promise<[null, T] | [E, null]>;
|
|
34
|
+
declare function attemptAsync<T, E = unknown>(func: () => Promise<T>): Promise<[null, T] | [E, null]>;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { attemptAsync };
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
* });
|
|
32
32
|
* // users is typed as User[]
|
|
33
33
|
*/
|
|
34
|
-
declare function attemptAsync<T, E>(func: () => Promise<T>): Promise<[null, T] | [E, null]>;
|
|
34
|
+
declare function attemptAsync<T, E = unknown>(func: () => Promise<T>): Promise<[null, T] | [E, null]>;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { attemptAsync };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/util/defer.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a `Disposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure cleanup code runs when the enclosing scope exits, even if an error is thrown.
|
|
8
|
+
*
|
|
9
|
+
* For asynchronous cleanup, use {@link deferAsync} with `await using` instead.
|
|
10
|
+
*
|
|
11
|
+
* @param callback - The cleanup function to run on dispose.
|
|
12
|
+
* @returns A `Disposable` object that invokes `callback` when disposed.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const logs: string[] = [];
|
|
16
|
+
*
|
|
17
|
+
* function run() {
|
|
18
|
+
* using cleanup = defer(() => logs.push('cleanup'));
|
|
19
|
+
* logs.push('body');
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* run();
|
|
23
|
+
* console.log(logs); // ['body', 'cleanup']
|
|
24
|
+
*/
|
|
25
|
+
declare function defer(callback: () => void): Disposable;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { defer };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/util/defer.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a `Disposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure cleanup code runs when the enclosing scope exits, even if an error is thrown.
|
|
8
|
+
*
|
|
9
|
+
* For asynchronous cleanup, use {@link deferAsync} with `await using` instead.
|
|
10
|
+
*
|
|
11
|
+
* @param callback - The cleanup function to run on dispose.
|
|
12
|
+
* @returns A `Disposable` object that invokes `callback` when disposed.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const logs: string[] = [];
|
|
16
|
+
*
|
|
17
|
+
* function run() {
|
|
18
|
+
* using cleanup = defer(() => logs.push('cleanup'));
|
|
19
|
+
* logs.push('body');
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* run();
|
|
23
|
+
* console.log(logs); // ['body', 'cleanup']
|
|
24
|
+
*/
|
|
25
|
+
declare function defer(callback: () => void): Disposable;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { defer };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/util/defer.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a `Disposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure cleanup code runs when the enclosing scope exits, even if an error is thrown.
|
|
8
|
+
*
|
|
9
|
+
* For asynchronous cleanup, use {@link deferAsync} with `await using` instead.
|
|
10
|
+
*
|
|
11
|
+
* @param callback - The cleanup function to run on dispose.
|
|
12
|
+
* @returns A `Disposable` object that invokes `callback` when disposed.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const logs: string[] = [];
|
|
16
|
+
*
|
|
17
|
+
* function run() {
|
|
18
|
+
* using cleanup = defer(() => logs.push('cleanup'));
|
|
19
|
+
* logs.push('body');
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* run();
|
|
23
|
+
* console.log(logs); // ['body', 'cleanup']
|
|
24
|
+
*/
|
|
25
|
+
function defer(callback) {
|
|
26
|
+
return { [Symbol.dispose]: () => {
|
|
27
|
+
callback();
|
|
28
|
+
} };
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.defer = defer;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/util/defer.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a `Disposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure cleanup code runs when the enclosing scope exits, even if an error is thrown.
|
|
8
|
+
*
|
|
9
|
+
* For asynchronous cleanup, use {@link deferAsync} with `await using` instead.
|
|
10
|
+
*
|
|
11
|
+
* @param callback - The cleanup function to run on dispose.
|
|
12
|
+
* @returns A `Disposable` object that invokes `callback` when disposed.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const logs: string[] = [];
|
|
16
|
+
*
|
|
17
|
+
* function run() {
|
|
18
|
+
* using cleanup = defer(() => logs.push('cleanup'));
|
|
19
|
+
* logs.push('body');
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* run();
|
|
23
|
+
* console.log(logs); // ['body', 'cleanup']
|
|
24
|
+
*/
|
|
25
|
+
function defer(callback) {
|
|
26
|
+
return { [Symbol.dispose]: () => {
|
|
27
|
+
callback();
|
|
28
|
+
} };
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { defer };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/util/deferAsync.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an `AsyncDisposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `await using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure asynchronous cleanup code runs and is awaited when the enclosing scope exits,
|
|
8
|
+
* even if an error is thrown.
|
|
9
|
+
*
|
|
10
|
+
* For synchronous cleanup, use {@link defer} with `using` instead.
|
|
11
|
+
*
|
|
12
|
+
* @param callback - The cleanup function to run on dispose. Its result is awaited.
|
|
13
|
+
* @returns An `AsyncDisposable` object that invokes and awaits `callback` when disposed.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const connection = await connect();
|
|
17
|
+
*
|
|
18
|
+
* async function run() {
|
|
19
|
+
* await using cleanup = deferAsync(async () => {
|
|
20
|
+
* await connection.close();
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* await connection.query('SELECT 1');
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* await run(); // The connection is closed after `run` finishes.
|
|
27
|
+
*/
|
|
28
|
+
declare function deferAsync(callback: () => void | PromiseLike<void>): AsyncDisposable;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { deferAsync };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/util/deferAsync.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an `AsyncDisposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `await using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure asynchronous cleanup code runs and is awaited when the enclosing scope exits,
|
|
8
|
+
* even if an error is thrown.
|
|
9
|
+
*
|
|
10
|
+
* For synchronous cleanup, use {@link defer} with `using` instead.
|
|
11
|
+
*
|
|
12
|
+
* @param callback - The cleanup function to run on dispose. Its result is awaited.
|
|
13
|
+
* @returns An `AsyncDisposable` object that invokes and awaits `callback` when disposed.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const connection = await connect();
|
|
17
|
+
*
|
|
18
|
+
* async function run() {
|
|
19
|
+
* await using cleanup = deferAsync(async () => {
|
|
20
|
+
* await connection.close();
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* await connection.query('SELECT 1');
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* await run(); // The connection is closed after `run` finishes.
|
|
27
|
+
*/
|
|
28
|
+
declare function deferAsync(callback: () => void | PromiseLike<void>): AsyncDisposable;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { deferAsync };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/util/deferAsync.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an `AsyncDisposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `await using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure asynchronous cleanup code runs and is awaited when the enclosing scope exits,
|
|
8
|
+
* even if an error is thrown.
|
|
9
|
+
*
|
|
10
|
+
* For synchronous cleanup, use {@link defer} with `using` instead.
|
|
11
|
+
*
|
|
12
|
+
* @param callback - The cleanup function to run on dispose. Its result is awaited.
|
|
13
|
+
* @returns An `AsyncDisposable` object that invokes and awaits `callback` when disposed.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const connection = await connect();
|
|
17
|
+
*
|
|
18
|
+
* async function run() {
|
|
19
|
+
* await using cleanup = deferAsync(async () => {
|
|
20
|
+
* await connection.close();
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* await connection.query('SELECT 1');
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* await run(); // The connection is closed after `run` finishes.
|
|
27
|
+
*/
|
|
28
|
+
function deferAsync(callback) {
|
|
29
|
+
return { [Symbol.asyncDispose]: async () => {
|
|
30
|
+
await callback();
|
|
31
|
+
} };
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.deferAsync = deferAsync;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/util/deferAsync.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an `AsyncDisposable` object that runs the given callback when it is disposed.
|
|
4
|
+
*
|
|
5
|
+
* Use it with `await using` declarations from
|
|
6
|
+
* [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management)
|
|
7
|
+
* to ensure asynchronous cleanup code runs and is awaited when the enclosing scope exits,
|
|
8
|
+
* even if an error is thrown.
|
|
9
|
+
*
|
|
10
|
+
* For synchronous cleanup, use {@link defer} with `using` instead.
|
|
11
|
+
*
|
|
12
|
+
* @param callback - The cleanup function to run on dispose. Its result is awaited.
|
|
13
|
+
* @returns An `AsyncDisposable` object that invokes and awaits `callback` when disposed.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const connection = await connect();
|
|
17
|
+
*
|
|
18
|
+
* async function run() {
|
|
19
|
+
* await using cleanup = deferAsync(async () => {
|
|
20
|
+
* await connection.close();
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* await connection.query('SELECT 1');
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* await run(); // The connection is closed after `run` finishes.
|
|
27
|
+
*/
|
|
28
|
+
function deferAsync(callback) {
|
|
29
|
+
return { [Symbol.asyncDispose]: async () => {
|
|
30
|
+
await callback();
|
|
31
|
+
} };
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { deferAsync };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { attempt } from "./attempt.mjs";
|
|
2
2
|
import { attemptAsync } from "./attemptAsync.mjs";
|
|
3
|
+
import { defer } from "./defer.mjs";
|
|
4
|
+
import { deferAsync } from "./deferAsync.mjs";
|
|
3
5
|
import { invariant } from "./invariant.mjs";
|
|
4
|
-
export { invariant as assert, attempt, attemptAsync, invariant };
|
|
6
|
+
export { invariant as assert, attempt, attemptAsync, defer, deferAsync, invariant };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { attempt } from "./attempt.js";
|
|
2
2
|
import { attemptAsync } from "./attemptAsync.js";
|
|
3
|
+
import { defer } from "./defer.js";
|
|
4
|
+
import { deferAsync } from "./deferAsync.js";
|
|
3
5
|
import { invariant } from "./invariant.js";
|
|
4
|
-
export { invariant as assert, attempt, attemptAsync, invariant };
|
|
6
|
+
export { invariant as assert, attempt, attemptAsync, defer, deferAsync, invariant };
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_attempt = require("./attempt.js");
|
|
3
3
|
const require_attemptAsync = require("./attemptAsync.js");
|
|
4
|
+
const require_defer = require("./defer.js");
|
|
5
|
+
const require_deferAsync = require("./deferAsync.js");
|
|
4
6
|
const require_invariant = require("./invariant.js");
|
|
5
7
|
exports.assert = require_invariant.invariant;
|
|
6
8
|
exports.attempt = require_attempt.attempt;
|
|
7
9
|
exports.attemptAsync = require_attemptAsync.attemptAsync;
|
|
10
|
+
exports.defer = require_defer.defer;
|
|
11
|
+
exports.deferAsync = require_deferAsync.deferAsync;
|
|
8
12
|
exports.invariant = require_invariant.invariant;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { attempt } from "./attempt.mjs";
|
|
2
2
|
import { attemptAsync } from "./attemptAsync.mjs";
|
|
3
|
+
import { defer } from "./defer.mjs";
|
|
4
|
+
import { deferAsync } from "./deferAsync.mjs";
|
|
3
5
|
import { invariant } from "./invariant.mjs";
|
|
4
|
-
export { invariant as assert, attempt, attemptAsync, invariant };
|
|
6
|
+
export { invariant as assert, attempt, attemptAsync, defer, deferAsync, invariant };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/fp/iterator';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../dist/fp/iterator');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dist/iterator';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./dist/iterator');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "es-toolkit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.52.0",
|
|
4
4
|
"description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.",
|
|
5
5
|
"homepage": "https://es-toolkit.dev",
|
|
6
6
|
"bugs": "https://github.com/toss/es-toolkit/issues",
|
|
@@ -94,6 +94,16 @@
|
|
|
94
94
|
"default": "./dist/fp/index.js"
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
|
+
"./fp/iterator": {
|
|
98
|
+
"import": {
|
|
99
|
+
"types": "./dist/fp/iterator/index.d.mts",
|
|
100
|
+
"default": "./dist/fp/iterator/index.mjs"
|
|
101
|
+
},
|
|
102
|
+
"require": {
|
|
103
|
+
"types": "./dist/fp/iterator/index.d.ts",
|
|
104
|
+
"default": "./dist/fp/iterator/index.js"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
97
107
|
"./function": {
|
|
98
108
|
"import": {
|
|
99
109
|
"types": "./dist/function/index.d.mts",
|
|
@@ -104,6 +114,16 @@
|
|
|
104
114
|
"default": "./dist/function/index.js"
|
|
105
115
|
}
|
|
106
116
|
},
|
|
117
|
+
"./iterator": {
|
|
118
|
+
"import": {
|
|
119
|
+
"types": "./dist/iterator/index.d.mts",
|
|
120
|
+
"default": "./dist/iterator/index.mjs"
|
|
121
|
+
},
|
|
122
|
+
"require": {
|
|
123
|
+
"types": "./dist/iterator/index.d.ts",
|
|
124
|
+
"default": "./dist/iterator/index.js"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
107
127
|
"./map": {
|
|
108
128
|
"import": {
|
|
109
129
|
"types": "./dist/map/index.d.mts",
|
|
@@ -204,7 +224,10 @@
|
|
|
204
224
|
"compat.js",
|
|
205
225
|
"error.js",
|
|
206
226
|
"fp.js",
|
|
227
|
+
"fp/iterator.js",
|
|
228
|
+
"fp/iterator.d.ts",
|
|
207
229
|
"function.js",
|
|
230
|
+
"iterator.js",
|
|
208
231
|
"map.js",
|
|
209
232
|
"math.js",
|
|
210
233
|
"object.js",
|
|
@@ -358,6 +381,16 @@
|
|
|
358
381
|
"default": "./dist/fp/index.js"
|
|
359
382
|
}
|
|
360
383
|
},
|
|
384
|
+
"./fp/iterator": {
|
|
385
|
+
"import": {
|
|
386
|
+
"types": "./dist/fp/iterator/index.d.mts",
|
|
387
|
+
"default": "./dist/fp/iterator/index.mjs"
|
|
388
|
+
},
|
|
389
|
+
"require": {
|
|
390
|
+
"types": "./dist/fp/iterator/index.d.ts",
|
|
391
|
+
"default": "./dist/fp/iterator/index.js"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
361
394
|
"./function": {
|
|
362
395
|
"import": {
|
|
363
396
|
"types": "./dist/function/index.d.mts",
|
|
@@ -368,6 +401,16 @@
|
|
|
368
401
|
"default": "./dist/function/index.js"
|
|
369
402
|
}
|
|
370
403
|
},
|
|
404
|
+
"./iterator": {
|
|
405
|
+
"import": {
|
|
406
|
+
"types": "./dist/iterator/index.d.mts",
|
|
407
|
+
"default": "./dist/iterator/index.mjs"
|
|
408
|
+
},
|
|
409
|
+
"require": {
|
|
410
|
+
"types": "./dist/iterator/index.d.ts",
|
|
411
|
+
"default": "./dist/iterator/index.js"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
371
414
|
"./map": {
|
|
372
415
|
"import": {
|
|
373
416
|
"types": "./dist/map/index.d.mts",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Equals<T, U> = (<X>() => X extends T ? 1 : 2) extends <X>() => X extends U ? 1 : 2 ? true : false;
|
|
Binary file
|
|
@@ -25,7 +25,7 @@ Caller Application → qs.stringify(obj, options) → Stringifying Engine → Ou
|
|
|
25
25
|
|
|
26
26
|
**Trust Boundaries:**
|
|
27
27
|
- **Input string (parse):** May come from untrusted sources (e.g., user input, network requests)
|
|
28
|
-
- **Input object (stringify):** May contain cycles,
|
|
28
|
+
- **Input object (stringify):** The calling application's own data, not a direct untrusted channel. May contain cycles (handled by the cycle detector). Deeply-nested non-cyclic input surfaces as a catchable synchronous `RangeError` (stack overflow), not unbounded resource consumption; callers that serialize externally-influenced objects should bound their depth/size beforehand.
|
|
29
29
|
- **Options:** Provided by the caller
|
|
30
30
|
- **Cycle Tracking:** Used only during stringification to detect and handle circular references
|
|
31
31
|
|
|
@@ -58,7 +58,7 @@ Caller Application → qs.stringify(obj, options) → Stringifying Engine → Ou
|
|
|
58
58
|
|---------------------------------------------------|---------------------|
|
|
59
59
|
| Tampering (malicious input, prototype pollution) | Strict input validation; keep `allowPrototypes: false` by default; use `plainObjects` for output; ensure builtins/globals are never modified by parse[4][8]. |
|
|
60
60
|
| Information Disclosure (error messages) | Generic error messages without stack traces or internal paths. |
|
|
61
|
-
| Denial of Service (memory/CPU exhaustion) |
|
|
61
|
+
| Denial of Service (memory/CPU exhaustion) | `arrayLimit`, `parameterLimit`, and depth limiting apply with safe defaults. Note that `arrayLimit` is a representation threshold (array vs. object), and `parameterLimit` bounds only the number of `&`-delimited parameters - neither caps the elements produced by `comma: true` splitting. For a hard cap that rejects oversized untrusted input, opt in to `throwOnLimitExceeded: true` (default `false`), and always bound input size at the transport layer[7]. On the `stringify` side, the input is the caller's own object rather than an untrusted string, so unbounded nesting manifests as a catchable `RangeError` (stack overflow) rather than exhaustion; callers serializing externally-influenced objects should bound depth/size beforehand, and may opt into `stringify`'s `depth` option (default `Infinity`) for a deterministic, catchable error. |
|
|
62
62
|
| Elevation of Privilege (prototype pollution) | Keep `allowPrototypes: false`; validate options against allowlist; use `plainObjects` to avoid prototype pollution[4][8]. |
|
|
63
63
|
|
|
64
64
|
### 7. Risk Ranking
|
|
@@ -70,7 +70,7 @@ Caller Application → qs.stringify(obj, options) → Stringifying Engine → Ou
|
|
|
70
70
|
### 8. Next Steps & Review
|
|
71
71
|
|
|
72
72
|
1. **Audit option validation logic.**
|
|
73
|
-
2. **
|
|
73
|
+
2. **Depth limiting:** `parse` enforces a `depth` bound by default (with `strictDepth` to throw); `stringify` offers an opt-in `depth` bound (default `Infinity`, since its input is caller-produced) for defense-in-depth.
|
|
74
74
|
3. **Implement fuzz testing for parser and stringifier edge cases.**
|
|
75
75
|
4. **Regularly review dependencies for vulnerabilities.**
|
|
76
76
|
5. **Keep documentation and threat model up to date.**
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## **6.16.0**
|
|
2
|
+
- [New] `stringify`: add a `depth` option to bound recursion depth (default `Infinity`)
|
|
3
|
+
- [Fix] stringify: serialize Date values when a filter is provided
|
|
4
|
+
- [Fix] `parse`: enforce `arrayLimit` on comma groups under `[]=` when `throwOnLimitExceeded` is set
|
|
5
|
+
- [Fix] `parse`: flatten a collection appended to an overflowed array (#571)
|
|
6
|
+
- [Fix] `utils`: `isBuffer`: do not invoke a non-callable `constructor.isBuffer`
|
|
7
|
+
- [Fix] `stringify`: do not let `allowEmptyArrays` skip cycle detection (or drop own keys) on an empty array with own properties
|
|
8
|
+
- [Fix] `stringify`: encode dots in a top-level key with a primitive value when encodeDotInKeys is set (#562)
|
|
9
|
+
- [Docs] threat model: clarify `stringify` deep-nesting DoS is caller-bounded
|
|
10
|
+
- [Docs] clarify `arrayLimit` is a representation threshold, not an element-count cap
|
|
11
|
+
- [Tests] `parse`: remove a test that pinned `[]=` comma groups escaping `arrayLimit`
|
|
12
|
+
- [Tests] `stringify`: pin current `encodeDotInKeys` separator-dot behavior
|
|
13
|
+
- [Dev Deps] update `@ljharb/eslint-config`, `eslint`
|
|
14
|
+
- [Dev Deps] update `eslint`, `evalmd`
|
|
15
|
+
|
|
1
16
|
## **6.15.3**
|
|
2
17
|
- [Fix] `parse`: enforce `throwOnLimitExceeded` for cumulative array growth via `combine`/`merge`
|
|
3
18
|
- [Fix] `utils`: respect encoding of surrogate pairs across chunks (#559)
|
|
@@ -147,6 +147,8 @@ try {
|
|
|
147
147
|
|
|
148
148
|
When `throwOnLimitExceeded` is set to `false` (default), **qs** will parse up to the specified `parameterLimit` and ignore the rest without throwing an error.
|
|
149
149
|
|
|
150
|
+
Note that `parameterLimit` only bounds the number of `&`-delimited parameters; it does not limit how many values a single parameter expands into. In particular, when `comma: true` is enabled, a single parameter's value is split on commas into arbitrarily many elements, which `parameterLimit` does not constrain. To bound the total element count from untrusted input, set `throwOnLimitExceeded: true` (see `arrayLimit` below), and always bound the input size at the transport layer (e.g. an HTTP body-size limit).
|
|
151
|
+
|
|
150
152
|
To bypass the leading question mark, use `ignoreQueryPrefix`:
|
|
151
153
|
|
|
152
154
|
```javascript
|
|
@@ -313,7 +315,9 @@ try {
|
|
|
313
315
|
}
|
|
314
316
|
```
|
|
315
317
|
|
|
316
|
-
When `throwOnLimitExceeded` is set to `false` (default), **qs** will parse up to the specified `arrayLimit` and if the limit is exceeded, the array will instead be converted to an object with the index as the key
|
|
318
|
+
When `throwOnLimitExceeded` is set to `false` (default), **qs** will parse up to the specified `arrayLimit` and if the limit is exceeded, the array will instead be converted to an object with the index as the key.
|
|
319
|
+
|
|
320
|
+
Note that `arrayLimit` is a *representation* threshold that controls when a numerically-indexed collection switches from an array to an object — it is **not** a hard cap on the total number of elements parsed. With the default `throwOnLimitExceeded: false`, exceeding `arrayLimit` never rejects or truncates input; it only changes the container type, and the resulting object still holds every element (so its size stays proportional to the input). This conversion is itself a safeguard: it avoids allocating a huge sparse array for input like `a[999999999]`. If you need a hard limit that rejects oversized input from untrusted sources, set `throwOnLimitExceeded: true`.
|
|
317
321
|
|
|
318
322
|
To prevent array syntax (`a[]`, `a[0]`) from being parsed as arrays, set `parseArrays` to `false`.
|
|
319
323
|
Note that duplicate keys (e.g. `a=b&a=c`) may still produce arrays when `duplicates` is `'combine'` (the default).
|
|
@@ -410,6 +414,20 @@ var encoded = qs.stringify({ a: { b: 'c' } }, { encoder: function (str) {
|
|
|
410
414
|
|
|
411
415
|
_(Note: the `encoder` option does not apply if `encode` is `false`)_
|
|
412
416
|
|
|
417
|
+
By default, `qs.stringify` serializes an object of any nesting depth.
|
|
418
|
+
For backwards compatibility, and because its input is the caller's own object rather than a query string parsed by **qs**, this is unbounded.
|
|
419
|
+
If you serialize objects whose nesting can be influenced by untrusted input, bound it with the numeric `depth` option (default `Infinity`);
|
|
420
|
+
exceeding it throws a catchable `RangeError` instead of eventually overflowing the call stack:
|
|
421
|
+
|
|
422
|
+
```javascript
|
|
423
|
+
try {
|
|
424
|
+
qs.stringify({ a: { b: { c: { d: 'e' } } } }, { depth: 2 });
|
|
425
|
+
} catch (err) {
|
|
426
|
+
assert(err instanceof RangeError);
|
|
427
|
+
assert.strictEqual(err.message, 'Input depth exceeded depth option of 2');
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
413
431
|
Analogue to the `encoder` there is a `decoder` option for `parse` to override decoding of properties and values:
|
|
414
432
|
|
|
415
433
|
```javascript
|