@quantiya/codevibe-claude-plugin 2.0.12 → 2.0.13
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/dist/server.js +10 -9
- package/hooks/session-end.sh +20 -24
- package/node_modules/es-toolkit/CHANGELOG.md +3 -38
- package/node_modules/es-toolkit/dist/browser.global.js +4 -4
- package/node_modules/es-toolkit/dist/compat/array/differenceWith.js +1 -2
- package/node_modules/es-toolkit/dist/compat/array/differenceWith.mjs +1 -2
- package/node_modules/es-toolkit/dist/compat/array/findLastIndex.js +3 -5
- package/node_modules/es-toolkit/dist/compat/array/findLastIndex.mjs +3 -5
- 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 +2 -8
- package/node_modules/es-toolkit/dist/compat/array/without.mjs +2 -8
- package/node_modules/es-toolkit/dist/compat/array/xorWith.js +6 -4
- package/node_modules/es-toolkit/dist/compat/array/xorWith.mjs +6 -4
- 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 +2 -3
- package/node_modules/es-toolkit/dist/compat/object/has.mjs +2 -3
- package/node_modules/es-toolkit/dist/compat/object/hasIn.js +2 -3
- package/node_modules/es-toolkit/dist/compat/object/hasIn.mjs +2 -3
- 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 +1 -3
- package/node_modules/es-toolkit/dist/compat/util/toString.mjs +1 -3
- package/node_modules/es-toolkit/dist/fp/index.d.mts +1 -2
- package/node_modules/es-toolkit/dist/fp/index.d.ts +1 -2
- package/node_modules/es-toolkit/dist/fp/index.js +0 -2
- package/node_modules/es-toolkit/dist/fp/index.mjs +1 -2
- package/node_modules/es-toolkit/dist/index.d.mts +1 -3
- package/node_modules/es-toolkit/dist/index.d.ts +1 -3
- package/node_modules/es-toolkit/dist/index.js +0 -4
- package/node_modules/es-toolkit/dist/index.mjs +1 -3
- package/node_modules/es-toolkit/dist/object/merge.d.mts +1 -3
- package/node_modules/es-toolkit/dist/object/merge.d.ts +1 -3
- package/node_modules/es-toolkit/dist/object/merge.js +40 -0
- package/node_modules/es-toolkit/dist/object/merge.mjs +40 -0
- package/node_modules/es-toolkit/dist/object/omitBy.d.mts +2 -4
- package/node_modules/es-toolkit/dist/object/omitBy.d.ts +2 -4
- package/node_modules/es-toolkit/dist/object/omitBy.js +3 -4
- package/node_modules/es-toolkit/dist/object/omitBy.mjs +3 -4
- package/node_modules/es-toolkit/dist/object/pickBy.d.mts +2 -4
- package/node_modules/es-toolkit/dist/object/pickBy.d.ts +2 -4
- package/node_modules/es-toolkit/dist/object/pickBy.js +3 -4
- package/node_modules/es-toolkit/dist/object/pickBy.mjs +3 -4
- package/node_modules/es-toolkit/dist/types/index.d.mts +2 -11
- package/node_modules/es-toolkit/dist/types/index.d.ts +2 -11
- 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/index.d.mts +1 -3
- package/node_modules/es-toolkit/dist/util/index.d.ts +1 -3
- package/node_modules/es-toolkit/dist/util/index.js +0 -4
- package/node_modules/es-toolkit/dist/util/index.mjs +1 -3
- package/node_modules/es-toolkit/package.json +1 -44
- package/node_modules/fs-ext/build/Makefile +347 -0
- package/node_modules/fs-ext/build/Release/.deps/Release/fs_ext.node.d +1 -0
- package/node_modules/fs-ext/build/Release/.deps/Release/obj.target/fs_ext/fs-ext.o.d +165 -0
- package/node_modules/fs-ext/build/Release/fs_ext.node +0 -0
- package/node_modules/fs-ext/build/Release/obj.target/fs_ext/fs-ext.o +0 -0
- package/node_modules/fs-ext/build/binding.Makefile +6 -0
- package/node_modules/fs-ext/build/config.gypi +503 -0
- package/node_modules/fs-ext/build/fs_ext.target.mk +183 -0
- package/node_modules/fs-ext/build/gyp-mac-tool +768 -0
- package/node_modules/keytar/build/Release/keytar.node +0 -0
- package/node_modules/node-abi/abi_registry.json +0 -7
- package/node_modules/node-abi/package.json +1 -1
- package/package.json +1 -1
- package/node_modules/es-toolkit/dist/fp/flowAsync.d.mts +0 -213
- package/node_modules/es-toolkit/dist/fp/flowAsync.d.ts +0 -213
- package/node_modules/es-toolkit/dist/fp/flowAsync.js +0 -37
- package/node_modules/es-toolkit/dist/fp/flowAsync.mjs +0 -37
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.mts +0 -23
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.ts +0 -23
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.js +0 -28
- package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.mjs +0 -28
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.mts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.ts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/chunk.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/count.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/count.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/count.js +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/count.mjs +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/drop.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/drop.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/drop.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/drop.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.mts +0 -18
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.ts +0 -18
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.js +0 -23
- package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.mjs +0 -23
- package/node_modules/es-toolkit/dist/fp/iterator/every.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/every.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/every.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/every.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/filter.d.mts +0 -37
- package/node_modules/es-toolkit/dist/fp/iterator/filter.d.ts +0 -37
- package/node_modules/es-toolkit/dist/fp/iterator/filter.js +0 -8
- package/node_modules/es-toolkit/dist/fp/iterator/filter.mjs +0 -8
- package/node_modules/es-toolkit/dist/fp/iterator/find.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/find.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/find.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/find.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/flatMap.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.mts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.ts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.js +0 -26
- package/node_modules/es-toolkit/dist/fp/iterator/forEach.mjs +0 -26
- package/node_modules/es-toolkit/dist/fp/iterator/head.d.mts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/head.d.ts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/head.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/head.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/index.d.mts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/index.d.ts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/index.js +0 -43
- package/node_modules/es-toolkit/dist/fp/iterator/index.mjs +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/map.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/map.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/map.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/map.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/partition.d.mts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/partition.d.ts +0 -22
- package/node_modules/es-toolkit/dist/fp/iterator/partition.js +0 -27
- package/node_modules/es-toolkit/dist/fp/iterator/partition.mjs +0 -27
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.mts +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.ts +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.js +0 -28
- package/node_modules/es-toolkit/dist/fp/iterator/reduce.mjs +0 -28
- package/node_modules/es-toolkit/dist/fp/iterator/scan.d.mts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/scan.d.ts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/scan.js +0 -26
- package/node_modules/es-toolkit/dist/fp/iterator/scan.mjs +0 -26
- package/node_modules/es-toolkit/dist/fp/iterator/some.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/some.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/some.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/some.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/take.d.mts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/take.d.ts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/take.js +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/take.mjs +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.mts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.ts +0 -19
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.js +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.mjs +0 -24
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.mts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.ts +0 -21
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.js +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/toArray.mjs +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.js +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.mjs +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/zip.d.mts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/zip.d.ts +0 -20
- package/node_modules/es-toolkit/dist/fp/iterator/zip.js +0 -25
- package/node_modules/es-toolkit/dist/fp/iterator/zip.mjs +0 -25
- package/node_modules/es-toolkit/dist/iterator/_internal/iterator.js +0 -74
- package/node_modules/es-toolkit/dist/iterator/_internal/iterator.mjs +0 -74
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.mts +0 -33
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.ts +0 -33
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.js +0 -95
- package/node_modules/es-toolkit/dist/iterator/cartesianProduct.mjs +0 -95
- package/node_modules/es-toolkit/dist/iterator/chunk.d.mts +0 -21
- package/node_modules/es-toolkit/dist/iterator/chunk.d.ts +0 -21
- package/node_modules/es-toolkit/dist/iterator/chunk.js +0 -40
- package/node_modules/es-toolkit/dist/iterator/chunk.mjs +0 -40
- package/node_modules/es-toolkit/dist/iterator/count.d.mts +0 -18
- package/node_modules/es-toolkit/dist/iterator/count.d.ts +0 -18
- package/node_modules/es-toolkit/dist/iterator/count.js +0 -26
- package/node_modules/es-toolkit/dist/iterator/count.mjs +0 -26
- package/node_modules/es-toolkit/dist/iterator/dropWhile.d.mts +0 -20
- package/node_modules/es-toolkit/dist/iterator/dropWhile.d.ts +0 -20
- package/node_modules/es-toolkit/dist/iterator/dropWhile.js +0 -52
- package/node_modules/es-toolkit/dist/iterator/dropWhile.mjs +0 -52
- package/node_modules/es-toolkit/dist/iterator/head.d.mts +0 -21
- package/node_modules/es-toolkit/dist/iterator/head.d.ts +0 -21
- package/node_modules/es-toolkit/dist/iterator/head.js +0 -26
- package/node_modules/es-toolkit/dist/iterator/head.mjs +0 -26
- package/node_modules/es-toolkit/dist/iterator/index.d.mts +0 -13
- package/node_modules/es-toolkit/dist/iterator/index.d.ts +0 -13
- package/node_modules/es-toolkit/dist/iterator/index.js +0 -25
- package/node_modules/es-toolkit/dist/iterator/index.mjs +0 -13
- package/node_modules/es-toolkit/dist/iterator/iterate.d.mts +0 -20
- package/node_modules/es-toolkit/dist/iterator/iterate.d.ts +0 -20
- package/node_modules/es-toolkit/dist/iterator/iterate.js +0 -32
- package/node_modules/es-toolkit/dist/iterator/iterate.mjs +0 -32
- package/node_modules/es-toolkit/dist/iterator/partition.d.mts +0 -18
- package/node_modules/es-toolkit/dist/iterator/partition.d.ts +0 -18
- package/node_modules/es-toolkit/dist/iterator/partition.js +0 -36
- package/node_modules/es-toolkit/dist/iterator/partition.mjs +0 -36
- package/node_modules/es-toolkit/dist/iterator/range.d.mts +0 -42
- package/node_modules/es-toolkit/dist/iterator/range.d.ts +0 -42
- package/node_modules/es-toolkit/dist/iterator/range.js +0 -25
- package/node_modules/es-toolkit/dist/iterator/range.mjs +0 -25
- package/node_modules/es-toolkit/dist/iterator/scan.d.mts +0 -23
- package/node_modules/es-toolkit/dist/iterator/scan.d.ts +0 -23
- package/node_modules/es-toolkit/dist/iterator/scan.js +0 -47
- package/node_modules/es-toolkit/dist/iterator/scan.mjs +0 -47
- package/node_modules/es-toolkit/dist/iterator/takeWhile.d.mts +0 -20
- package/node_modules/es-toolkit/dist/iterator/takeWhile.d.ts +0 -20
- package/node_modules/es-toolkit/dist/iterator/takeWhile.js +0 -34
- package/node_modules/es-toolkit/dist/iterator/takeWhile.mjs +0 -34
- package/node_modules/es-toolkit/dist/iterator/uniqBy.d.mts +0 -22
- package/node_modules/es-toolkit/dist/iterator/uniqBy.d.ts +0 -22
- package/node_modules/es-toolkit/dist/iterator/uniqBy.js +0 -43
- package/node_modules/es-toolkit/dist/iterator/uniqBy.mjs +0 -43
- package/node_modules/es-toolkit/dist/iterator/zip.d.mts +0 -23
- package/node_modules/es-toolkit/dist/iterator/zip.d.ts +0 -23
- package/node_modules/es-toolkit/dist/iterator/zip.js +0 -45
- package/node_modules/es-toolkit/dist/iterator/zip.mjs +0 -45
- package/node_modules/es-toolkit/dist/types/EmptyObject.d.mts +0 -21
- package/node_modules/es-toolkit/dist/types/EmptyObject.d.ts +0 -21
- package/node_modules/es-toolkit/dist/types/IsEqual.d.mts +0 -18
- package/node_modules/es-toolkit/dist/types/IsEqual.d.ts +0 -18
- package/node_modules/es-toolkit/dist/types/JSONValue.d.mts +0 -24
- package/node_modules/es-toolkit/dist/types/JSONValue.d.ts +0 -24
- package/node_modules/es-toolkit/dist/types/Merge.d.mts +0 -37
- package/node_modules/es-toolkit/dist/types/Merge.d.ts +0 -37
- package/node_modules/es-toolkit/dist/types/ObjectKeys.d.mts +0 -19
- package/node_modules/es-toolkit/dist/types/ObjectKeys.d.ts +0 -19
- package/node_modules/es-toolkit/dist/types/Primitive.d.mts +0 -14
- package/node_modules/es-toolkit/dist/types/Primitive.d.ts +0 -14
- package/node_modules/es-toolkit/dist/types/SetOptional.d.mts +0 -20
- package/node_modules/es-toolkit/dist/types/SetOptional.d.ts +0 -20
- package/node_modules/es-toolkit/dist/types/SetRequired.d.mts +0 -20
- package/node_modules/es-toolkit/dist/types/SetRequired.d.ts +0 -20
- package/node_modules/es-toolkit/dist/types/UnknownRecord.d.mts +0 -24
- package/node_modules/es-toolkit/dist/types/UnknownRecord.d.ts +0 -24
- package/node_modules/es-toolkit/dist/util/defer.d.mts +0 -27
- package/node_modules/es-toolkit/dist/util/defer.d.ts +0 -27
- package/node_modules/es-toolkit/dist/util/defer.js +0 -31
- package/node_modules/es-toolkit/dist/util/defer.mjs +0 -31
- package/node_modules/es-toolkit/dist/util/deferAsync.d.mts +0 -30
- package/node_modules/es-toolkit/dist/util/deferAsync.d.ts +0 -30
- package/node_modules/es-toolkit/dist/util/deferAsync.js +0 -34
- package/node_modules/es-toolkit/dist/util/deferAsync.mjs +0 -34
- package/node_modules/es-toolkit/fp/iterator.d.ts +0 -1
- package/node_modules/es-toolkit/fp/iterator.js +0 -1
- package/node_modules/es-toolkit/iterator.d.ts +0 -1
- package/node_modules/es-toolkit/iterator.js +0 -1
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/LICENSE.md +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/README.md +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/common.gypi +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/except.gypi +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/index.js +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi-inl.deprecated.h +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi-inl.h +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi.h +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/node_api.gyp +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/noexcept.gypi +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/nothing.c +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/package-support.json +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/package.json +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/README.md +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/check-napi.js +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/clang-format.js +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/conversion.js +0 -0
- /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/eslint-format.js +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//#region src/types/IsEqual.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Resolves to `true` when `A` and `B` are exactly the same type, `false` otherwise.
|
|
4
|
-
*
|
|
5
|
-
* Unlike a plain conditional type, this tells `any` apart from every other type,
|
|
6
|
-
* which makes it useful for catching an accidental `any` in type-level tests.
|
|
7
|
-
*
|
|
8
|
-
* @template A - The first type to compare.
|
|
9
|
-
* @template B - The second type to compare.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* type A = IsEqual<{ a: string }, { a: string }>; // true
|
|
13
|
-
* type B = IsEqual<string, 'literal'>; // false
|
|
14
|
-
* type C = IsEqual<unknown, any>; // false
|
|
15
|
-
*/
|
|
16
|
-
type IsEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends (<G>() => G extends B ? 1 : 2) ? true : false;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { IsEqual };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//#region src/types/IsEqual.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Resolves to `true` when `A` and `B` are exactly the same type, `false` otherwise.
|
|
4
|
-
*
|
|
5
|
-
* Unlike a plain conditional type, this tells `any` apart from every other type,
|
|
6
|
-
* which makes it useful for catching an accidental `any` in type-level tests.
|
|
7
|
-
*
|
|
8
|
-
* @template A - The first type to compare.
|
|
9
|
-
* @template B - The second type to compare.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* type A = IsEqual<{ a: string }, { a: string }>; // true
|
|
13
|
-
* type B = IsEqual<string, 'literal'>; // false
|
|
14
|
-
* type C = IsEqual<unknown, any>; // false
|
|
15
|
-
*/
|
|
16
|
-
type IsEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends (<G>() => G extends B ? 1 : 2) ? true : false;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { IsEqual };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/types/JSONValue.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Any value that `JSON.parse` can produce.
|
|
4
|
-
*
|
|
5
|
-
* Functions, `Date`, `undefined`, and class instances are excluded, because they
|
|
6
|
-
* do not survive a JSON round trip.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* declare function parse(text: string): JSONValue;
|
|
10
|
-
*
|
|
11
|
-
* const value = parse('{"a":[1,null]}');
|
|
12
|
-
* if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
13
|
-
* const a = value.a; // JSONValue
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* // Use `Record` when you want to accept a JSON object specifically.
|
|
18
|
-
* declare function send(body: Record<string, JSONValue>): void;
|
|
19
|
-
*/
|
|
20
|
-
type JSONValue = string | number | boolean | null | JSONValue[] | {
|
|
21
|
-
[key: string]: JSONValue;
|
|
22
|
-
};
|
|
23
|
-
//#endregion
|
|
24
|
-
export { JSONValue };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/types/JSONValue.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Any value that `JSON.parse` can produce.
|
|
4
|
-
*
|
|
5
|
-
* Functions, `Date`, `undefined`, and class instances are excluded, because they
|
|
6
|
-
* do not survive a JSON round trip.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* declare function parse(text: string): JSONValue;
|
|
10
|
-
*
|
|
11
|
-
* const value = parse('{"a":[1,null]}');
|
|
12
|
-
* if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
13
|
-
* const a = value.a; // JSONValue
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* // Use `Record` when you want to accept a JSON object specifically.
|
|
18
|
-
* declare function send(body: Record<string, JSONValue>): void;
|
|
19
|
-
*/
|
|
20
|
-
type JSONValue = string | number | boolean | null | JSONValue[] | {
|
|
21
|
-
[key: string]: JSONValue;
|
|
22
|
-
};
|
|
23
|
-
//#endregion
|
|
24
|
-
export { JSONValue };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/types/Merge.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* The result of deeply merging the source type `S` into the target type `T`,
|
|
6
|
-
* matching what `merge(target, source)` returns at runtime.
|
|
7
|
-
*
|
|
8
|
-
* Keys present on only one side are kept as-is. When both sides have a plain
|
|
9
|
-
* object at the same key, the merge recurses; tuples merge index by index, and
|
|
10
|
-
* other arrays merge into an array of both element types. If the source value
|
|
11
|
-
* can be `undefined`, the target type is kept because `merge` skips
|
|
12
|
-
* `undefined` source values. Values that are not plain objects or arrays
|
|
13
|
-
* (functions, `Date`, `RegExp`, `Map`, `Set`, etc.) are not merged into;
|
|
14
|
-
* the source value replaces the target value. When an array meets a plain
|
|
15
|
-
* object, `merge` keeps the target and assigns the source's properties onto
|
|
16
|
-
* it, so both property sets are kept (`T & S`).
|
|
17
|
-
*
|
|
18
|
-
* @template T - Type of the target object.
|
|
19
|
-
* @template S - Type of the source object.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* type Target = { a: number; b: { x: number; y: number } };
|
|
23
|
-
* type Source = { b: { y: string; z: boolean }; c: string };
|
|
24
|
-
* type Result = Merge<Target, Source>;
|
|
25
|
-
* // => { a: number; b: { x: number; y: string; z: boolean }; c: string }
|
|
26
|
-
*/
|
|
27
|
-
type Merge<T, S> = undefined extends S ? T | MergeDefined<T, Exclude<S, undefined>> : MergeDefined<T, S>;
|
|
28
|
-
/**
|
|
29
|
-
* Values `merge` does not merge into: everything that is not a plain object
|
|
30
|
-
* or an array. The source value replaces the target value instead.
|
|
31
|
-
*/
|
|
32
|
-
type NonMergeable = ((...args: any[]) => unknown) | Date | RegExp | Error | Promise<unknown> | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object>;
|
|
33
|
-
type MergeDefined<T, S> = S extends readonly unknown[] ? (T extends readonly unknown[] ? MergeArrays<T, S> : T extends NonMergeable ? S : T extends object ? T & S : S) : S extends NonMergeable ? S : S extends object ? (T extends readonly unknown[] ? T & S : T extends NonMergeable ? S : T extends object ? MergeRecords<T, S> : S) : S;
|
|
34
|
-
type MergeArrays<T extends readonly unknown[], S extends readonly unknown[]> = T extends readonly [] ? S : S extends readonly [] ? T : T extends readonly [infer TH, ...infer TR] ? S extends readonly [infer SH, ...infer SR] ? [Merge<TH, SH>, ...MergeArrays<TR, SR>] : Array<T[number] | S[number]> : Array<T[number] | S[number]>;
|
|
35
|
-
type MergeRecords<T extends object, S extends object> = Simplify<Omit<T, keyof S> & Omit<S, keyof T> & { [K in keyof T & keyof S]: Merge<T[K], S[K]> }>;
|
|
36
|
-
//#endregion
|
|
37
|
-
export { Merge };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.js";
|
|
2
|
-
|
|
3
|
-
//#region src/types/Merge.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* The result of deeply merging the source type `S` into the target type `T`,
|
|
6
|
-
* matching what `merge(target, source)` returns at runtime.
|
|
7
|
-
*
|
|
8
|
-
* Keys present on only one side are kept as-is. When both sides have a plain
|
|
9
|
-
* object at the same key, the merge recurses; tuples merge index by index, and
|
|
10
|
-
* other arrays merge into an array of both element types. If the source value
|
|
11
|
-
* can be `undefined`, the target type is kept because `merge` skips
|
|
12
|
-
* `undefined` source values. Values that are not plain objects or arrays
|
|
13
|
-
* (functions, `Date`, `RegExp`, `Map`, `Set`, etc.) are not merged into;
|
|
14
|
-
* the source value replaces the target value. When an array meets a plain
|
|
15
|
-
* object, `merge` keeps the target and assigns the source's properties onto
|
|
16
|
-
* it, so both property sets are kept (`T & S`).
|
|
17
|
-
*
|
|
18
|
-
* @template T - Type of the target object.
|
|
19
|
-
* @template S - Type of the source object.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* type Target = { a: number; b: { x: number; y: number } };
|
|
23
|
-
* type Source = { b: { y: string; z: boolean }; c: string };
|
|
24
|
-
* type Result = Merge<Target, Source>;
|
|
25
|
-
* // => { a: number; b: { x: number; y: string; z: boolean }; c: string }
|
|
26
|
-
*/
|
|
27
|
-
type Merge<T, S> = undefined extends S ? T | MergeDefined<T, Exclude<S, undefined>> : MergeDefined<T, S>;
|
|
28
|
-
/**
|
|
29
|
-
* Values `merge` does not merge into: everything that is not a plain object
|
|
30
|
-
* or an array. The source value replaces the target value instead.
|
|
31
|
-
*/
|
|
32
|
-
type NonMergeable = ((...args: any[]) => unknown) | Date | RegExp | Error | Promise<unknown> | ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> | WeakMap<object, unknown> | WeakSet<object>;
|
|
33
|
-
type MergeDefined<T, S> = S extends readonly unknown[] ? (T extends readonly unknown[] ? MergeArrays<T, S> : T extends NonMergeable ? S : T extends object ? T & S : S) : S extends NonMergeable ? S : S extends object ? (T extends readonly unknown[] ? T & S : T extends NonMergeable ? S : T extends object ? MergeRecords<T, S> : S) : S;
|
|
34
|
-
type MergeArrays<T extends readonly unknown[], S extends readonly unknown[]> = T extends readonly [] ? S : S extends readonly [] ? T : T extends readonly [infer TH, ...infer TR] ? S extends readonly [infer SH, ...infer SR] ? [Merge<TH, SH>, ...MergeArrays<TR, SR>] : Array<T[number] | S[number]> : Array<T[number] | S[number]>;
|
|
35
|
-
type MergeRecords<T extends object, S extends object> = Simplify<Omit<T, keyof S> & Omit<S, keyof T> & { [K in keyof T & keyof S]: Merge<T[K], S[K]> }>;
|
|
36
|
-
//#endregion
|
|
37
|
-
export { Merge };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/types/ObjectKeys.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Creates a union of the keys of `T` as they are returned by `Object.keys`:
|
|
4
|
-
* numeric keys are converted to strings and symbol keys are excluded. The key-side
|
|
5
|
-
* counterpart to `ValueOf`.
|
|
6
|
-
*
|
|
7
|
-
* @template T - The object type to read keys from.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* type Keys = ObjectKeys<{ a: number; 1: string }>;
|
|
11
|
-
* // => 'a' | '1'
|
|
12
|
-
*
|
|
13
|
-
* const obj = { a: 1, b: 2 };
|
|
14
|
-
* const keys = Object.keys(obj) as Array<ObjectKeys<typeof obj>>;
|
|
15
|
-
* // => Array<'a' | 'b'>
|
|
16
|
-
*/
|
|
17
|
-
type ObjectKeys<T> = `${Exclude<keyof T, symbol>}`;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { ObjectKeys };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/types/ObjectKeys.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Creates a union of the keys of `T` as they are returned by `Object.keys`:
|
|
4
|
-
* numeric keys are converted to strings and symbol keys are excluded. The key-side
|
|
5
|
-
* counterpart to `ValueOf`.
|
|
6
|
-
*
|
|
7
|
-
* @template T - The object type to read keys from.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* type Keys = ObjectKeys<{ a: number; 1: string }>;
|
|
11
|
-
* // => 'a' | '1'
|
|
12
|
-
*
|
|
13
|
-
* const obj = { a: 1, b: 2 };
|
|
14
|
-
* const keys = Object.keys(obj) as Array<ObjectKeys<typeof obj>>;
|
|
15
|
-
* // => Array<'a' | 'b'>
|
|
16
|
-
*/
|
|
17
|
-
type ObjectKeys<T> = `${Exclude<keyof T, symbol>}`;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { ObjectKeys };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/types/Primitive.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Every primitive value in JavaScript. Anything that is not a primitive is an object.
|
|
4
|
-
*
|
|
5
|
-
* Writing this union by hand usually misses `bigint` or `symbol`.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* function isPrimitive(value: unknown): value is Primitive {
|
|
9
|
-
* return value === null || (typeof value !== 'object' && typeof value !== 'function');
|
|
10
|
-
* }
|
|
11
|
-
*/
|
|
12
|
-
type Primitive = string | number | bigint | boolean | symbol | null | undefined;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { Primitive };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/types/Primitive.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Every primitive value in JavaScript. Anything that is not a primitive is an object.
|
|
4
|
-
*
|
|
5
|
-
* Writing this union by hand usually misses `bigint` or `symbol`.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* function isPrimitive(value: unknown): value is Primitive {
|
|
9
|
-
* return value === null || (typeof value !== 'object' && typeof value !== 'function');
|
|
10
|
-
* }
|
|
11
|
-
*/
|
|
12
|
-
type Primitive = string | number | bigint | boolean | symbol | null | undefined;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { Primitive };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/types/SetOptional.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Makes the given keys `K` of `T` optional, leaving the rest unchanged.
|
|
6
|
-
* Like the built-in `Partial`, but scoped to specific keys.
|
|
7
|
-
*
|
|
8
|
-
* Distributes over unions, so a union stays a union.
|
|
9
|
-
*
|
|
10
|
-
* @template T - The object type to transform.
|
|
11
|
-
* @template K - The keys to make optional.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* type User = { id: number; name: string; email: string };
|
|
15
|
-
* type UserDraft = SetOptional<User, 'email'>;
|
|
16
|
-
* // => { id: number; name: string; email?: string }
|
|
17
|
-
*/
|
|
18
|
-
type SetOptional<T, K extends keyof T> = T extends unknown ? Simplify<Omit<T, K> & Partial<Pick<T, K>>> : never;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { SetOptional };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.js";
|
|
2
|
-
|
|
3
|
-
//#region src/types/SetOptional.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Makes the given keys `K` of `T` optional, leaving the rest unchanged.
|
|
6
|
-
* Like the built-in `Partial`, but scoped to specific keys.
|
|
7
|
-
*
|
|
8
|
-
* Distributes over unions, so a union stays a union.
|
|
9
|
-
*
|
|
10
|
-
* @template T - The object type to transform.
|
|
11
|
-
* @template K - The keys to make optional.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* type User = { id: number; name: string; email: string };
|
|
15
|
-
* type UserDraft = SetOptional<User, 'email'>;
|
|
16
|
-
* // => { id: number; name: string; email?: string }
|
|
17
|
-
*/
|
|
18
|
-
type SetOptional<T, K extends keyof T> = T extends unknown ? Simplify<Omit<T, K> & Partial<Pick<T, K>>> : never;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { SetOptional };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/types/SetRequired.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Makes the given keys `K` of `T` required, leaving the rest unchanged.
|
|
6
|
-
* Like the built-in `Required`, but scoped to specific keys.
|
|
7
|
-
*
|
|
8
|
-
* Distributes over unions, so a union stays a union.
|
|
9
|
-
*
|
|
10
|
-
* @template T - The object type to transform.
|
|
11
|
-
* @template K - The keys to make required.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* type User = { id: number; name: string; avatar?: string };
|
|
15
|
-
* type ProfileUser = SetRequired<User, 'avatar'>;
|
|
16
|
-
* // => { id: number; name: string; avatar: string }
|
|
17
|
-
*/
|
|
18
|
-
type SetRequired<T, K extends keyof T> = T extends unknown ? Simplify<T & Required<Pick<T, K>>> : never;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { SetRequired };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Simplify } from "./Simplify.js";
|
|
2
|
-
|
|
3
|
-
//#region src/types/SetRequired.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Makes the given keys `K` of `T` required, leaving the rest unchanged.
|
|
6
|
-
* Like the built-in `Required`, but scoped to specific keys.
|
|
7
|
-
*
|
|
8
|
-
* Distributes over unions, so a union stays a union.
|
|
9
|
-
*
|
|
10
|
-
* @template T - The object type to transform.
|
|
11
|
-
* @template K - The keys to make required.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* type User = { id: number; name: string; avatar?: string };
|
|
15
|
-
* type ProfileUser = SetRequired<User, 'avatar'>;
|
|
16
|
-
* // => { id: number; name: string; avatar: string }
|
|
17
|
-
*/
|
|
18
|
-
type SetRequired<T, K extends keyof T> = T extends unknown ? Simplify<T & Required<Pick<T, K>>> : never;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { SetRequired };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/types/UnknownRecord.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* An object with unknown keys and unknown values.
|
|
4
|
-
*
|
|
5
|
-
* Use it instead of `{}`, which accepts every non-nullish value including numbers
|
|
6
|
-
* and strings. Values are `unknown`, so reading one forces a check first.
|
|
7
|
-
*
|
|
8
|
-
* Only types with an index signature are assignable. An `interface` declares its
|
|
9
|
-
* keys one by one and is rejected, so accept `object` when the caller may pass
|
|
10
|
-
* one, or spread it at the call site.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* function log(data: UnknownRecord) {
|
|
14
|
-
* if (typeof data.id === 'string') {
|
|
15
|
-
* console.log(data.id);
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
*
|
|
19
|
-
* log({ id: '1' }); // ok
|
|
20
|
-
* log(42); // error, while `{}` would have allowed it
|
|
21
|
-
*/
|
|
22
|
-
type UnknownRecord = Record<PropertyKey, unknown>;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { UnknownRecord };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/types/UnknownRecord.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* An object with unknown keys and unknown values.
|
|
4
|
-
*
|
|
5
|
-
* Use it instead of `{}`, which accepts every non-nullish value including numbers
|
|
6
|
-
* and strings. Values are `unknown`, so reading one forces a check first.
|
|
7
|
-
*
|
|
8
|
-
* Only types with an index signature are assignable. An `interface` declares its
|
|
9
|
-
* keys one by one and is rejected, so accept `object` when the caller may pass
|
|
10
|
-
* one, or spread it at the call site.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* function log(data: UnknownRecord) {
|
|
14
|
-
* if (typeof data.id === 'string') {
|
|
15
|
-
* console.log(data.id);
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
*
|
|
19
|
-
* log({ id: '1' }); // ok
|
|
20
|
-
* log(42); // error, while `{}` would have allowed it
|
|
21
|
-
*/
|
|
22
|
-
type UnknownRecord = Record<PropertyKey, unknown>;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { UnknownRecord };
|
|
@@ -1,27 +0,0 @@
|
|
|
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 };
|
|
@@ -1,27 +0,0 @@
|
|
|
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 };
|
|
@@ -1,31 +0,0 @@
|
|
|
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;
|
|
@@ -1,31 +0,0 @@
|
|
|
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 };
|
|
@@ -1,30 +0,0 @@
|
|
|
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 };
|
|
@@ -1,30 +0,0 @@
|
|
|
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 };
|
|
@@ -1,34 +0,0 @@
|
|
|
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;
|
|
@@ -1,34 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
export * from '../dist/fp/iterator';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('../dist/fp/iterator');
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './dist/iterator';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('./dist/iterator');
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi-inl.deprecated.h
RENAMED
|
File without changes
|
|
File without changes
|