@fluixi/utils 1.0.0-alpha.100
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/LICENSE +21 -0
- package/README.md +68 -0
- package/dist/index.cjs +2858 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +2838 -0
- package/dist/lib/array/advanced.cjs +2227 -0
- package/dist/lib/array/advanced.d.ts +1116 -0
- package/dist/lib/array/advanced.d.ts.map +1 -0
- package/dist/lib/array/advanced.js +2429 -0
- package/dist/lib/array/advanced.mjs +2204 -0
- package/dist/lib/array/array.cjs +57 -0
- package/dist/lib/array/array.d.ts +6 -0
- package/dist/lib/array/array.d.ts.map +1 -0
- package/dist/lib/array/array.js +31 -0
- package/dist/lib/array/array.mjs +36 -0
- package/dist/lib/array/index.cjs +2344 -0
- package/dist/lib/array/index.d.ts +4 -0
- package/dist/lib/array/index.d.ts.map +1 -0
- package/dist/lib/array/index.js +3 -0
- package/dist/lib/array/index.mjs +2322 -0
- package/dist/lib/array/utils.cjs +103 -0
- package/dist/lib/array/utils.d.ts +100 -0
- package/dist/lib/array/utils.d.ts.map +1 -0
- package/dist/lib/array/utils.js +165 -0
- package/dist/lib/array/utils.mjs +82 -0
- package/dist/lib/color/color.cjs +2190 -0
- package/dist/lib/color/color.d.ts +366 -0
- package/dist/lib/color/color.d.ts.map +1 -0
- package/dist/lib/color/color.js +722 -0
- package/dist/lib/color/color.mjs +2167 -0
- package/dist/lib/color/constants.cjs +380 -0
- package/dist/lib/color/constants.d.ts +361 -0
- package/dist/lib/color/constants.d.ts.map +1 -0
- package/dist/lib/color/constants.js +358 -0
- package/dist/lib/color/constants.mjs +359 -0
- package/dist/lib/color/conversions.cjs +629 -0
- package/dist/lib/color/conversions.d.ts +166 -0
- package/dist/lib/color/conversions.d.ts.map +1 -0
- package/dist/lib/color/conversions.js +766 -0
- package/dist/lib/color/conversions.mjs +608 -0
- package/dist/lib/color/helpers.cjs +2534 -0
- package/dist/lib/color/helpers.d.ts +75 -0
- package/dist/lib/color/helpers.d.ts.map +1 -0
- package/dist/lib/color/helpers.js +419 -0
- package/dist/lib/color/helpers.mjs +2511 -0
- package/dist/lib/color/index.cjs +2641 -0
- package/dist/lib/color/index.d.ts +12 -0
- package/dist/lib/color/index.d.ts.map +1 -0
- package/dist/lib/color/index.js +15 -0
- package/dist/lib/color/index.mjs +2619 -0
- package/dist/lib/color/types.cjs +18 -0
- package/dist/lib/color/types.d.ts +179 -0
- package/dist/lib/color/types.d.ts.map +1 -0
- package/dist/lib/color/types.js +1 -0
- package/dist/lib/color/types.mjs +0 -0
- package/dist/lib/color/utils.cjs +962 -0
- package/dist/lib/color/utils.d.ts +199 -0
- package/dist/lib/color/utils.d.ts.map +1 -0
- package/dist/lib/color/utils.js +858 -0
- package/dist/lib/color/utils.mjs +939 -0
- package/dist/lib/compare/comparators.cjs +171 -0
- package/dist/lib/compare/comparators.d.ts +65 -0
- package/dist/lib/compare/comparators.d.ts.map +1 -0
- package/dist/lib/compare/comparators.js +210 -0
- package/dist/lib/compare/comparators.mjs +150 -0
- package/dist/lib/compare/index.cjs +172 -0
- package/dist/lib/compare/index.d.ts +2 -0
- package/dist/lib/compare/index.d.ts.map +1 -0
- package/dist/lib/compare/index.js +1 -0
- package/dist/lib/compare/index.mjs +152 -0
- package/dist/lib/cookie/codec.cjs +72 -0
- package/dist/lib/cookie/codec.d.ts +22 -0
- package/dist/lib/cookie/codec.d.ts.map +1 -0
- package/dist/lib/cookie/codec.js +67 -0
- package/dist/lib/cookie/codec.mjs +51 -0
- package/dist/lib/cookie/index.cjs +75 -0
- package/dist/lib/cookie/index.d.ts +2 -0
- package/dist/lib/cookie/index.d.ts.map +1 -0
- package/dist/lib/cookie/index.js +1 -0
- package/dist/lib/cookie/index.mjs +53 -0
- package/dist/lib/crypto/hash.cjs +83 -0
- package/dist/lib/crypto/hash.d.ts +6 -0
- package/dist/lib/crypto/hash.d.ts.map +1 -0
- package/dist/lib/crypto/hash.js +53 -0
- package/dist/lib/crypto/hash.mjs +62 -0
- package/dist/lib/crypto/index.cjs +85 -0
- package/dist/lib/crypto/index.d.ts +2 -0
- package/dist/lib/crypto/index.d.ts.map +1 -0
- package/dist/lib/crypto/index.js +1 -0
- package/dist/lib/crypto/index.mjs +62 -0
- package/dist/lib/dom/events.cjs +40 -0
- package/dist/lib/dom/events.d.ts +159 -0
- package/dist/lib/dom/events.d.ts.map +1 -0
- package/dist/lib/dom/events.js +50 -0
- package/dist/lib/dom/events.mjs +19 -0
- package/dist/lib/dom/index.cjs +78 -0
- package/dist/lib/dom/index.d.ts +3 -0
- package/dist/lib/dom/index.d.ts.map +1 -0
- package/dist/lib/dom/index.js +2 -0
- package/dist/lib/dom/index.mjs +56 -0
- package/dist/lib/dom/utils.cjs +57 -0
- package/dist/lib/dom/utils.d.ts +6 -0
- package/dist/lib/dom/utils.d.ts.map +1 -0
- package/dist/lib/dom/utils.js +37 -0
- package/dist/lib/dom/utils.mjs +36 -0
- package/dist/lib/functions/functions.cjs +366 -0
- package/dist/lib/functions/functions.d.ts +329 -0
- package/dist/lib/functions/functions.d.ts.map +1 -0
- package/dist/lib/functions/functions.js +585 -0
- package/dist/lib/functions/functions.mjs +345 -0
- package/dist/lib/functions/index.cjs +369 -0
- package/dist/lib/functions/index.d.ts +3 -0
- package/dist/lib/functions/index.d.ts.map +1 -0
- package/dist/lib/functions/index.js +1 -0
- package/dist/lib/functions/index.mjs +347 -0
- package/dist/lib/functions/types.cjs +18 -0
- package/dist/lib/functions/types.d.ts +2 -0
- package/dist/lib/functions/types.d.ts.map +1 -0
- package/dist/lib/functions/types.js +1 -0
- package/dist/lib/functions/types.mjs +0 -0
- package/dist/lib/helpers.cjs +78 -0
- package/dist/lib/helpers.d.ts +13 -0
- package/dist/lib/helpers.d.ts.map +1 -0
- package/dist/lib/helpers.js +66 -0
- package/dist/lib/helpers.mjs +59 -0
- package/dist/lib/index.cjs +2857 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +8 -0
- package/dist/lib/index.mjs +2836 -0
- package/dist/lib/maths/constants.cjs +70 -0
- package/dist/lib/maths/constants.d.ts +84 -0
- package/dist/lib/maths/constants.d.ts.map +1 -0
- package/dist/lib/maths/constants.js +79 -0
- package/dist/lib/maths/constants.mjs +50 -0
- package/dist/lib/maths/fn/advanced.cjs +231 -0
- package/dist/lib/maths/fn/advanced.d.ts +149 -0
- package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
- package/dist/lib/maths/fn/advanced.js +264 -0
- package/dist/lib/maths/fn/advanced.mjs +208 -0
- package/dist/lib/maths/fn/basic.cjs +212 -0
- package/dist/lib/maths/fn/basic.d.ts +182 -0
- package/dist/lib/maths/fn/basic.d.ts.map +1 -0
- package/dist/lib/maths/fn/basic.js +343 -0
- package/dist/lib/maths/fn/basic.mjs +191 -0
- package/dist/lib/maths/fn/complex.cjs +268 -0
- package/dist/lib/maths/fn/complex.d.ts +153 -0
- package/dist/lib/maths/fn/complex.d.ts.map +1 -0
- package/dist/lib/maths/fn/complex.js +383 -0
- package/dist/lib/maths/fn/complex.mjs +247 -0
- package/dist/lib/maths/fn/index.cjs +877 -0
- package/dist/lib/maths/fn/index.d.ts +10 -0
- package/dist/lib/maths/fn/index.d.ts.map +1 -0
- package/dist/lib/maths/fn/index.js +9 -0
- package/dist/lib/maths/fn/index.mjs +855 -0
- package/dist/lib/maths/fn/trigo.cjs +179 -0
- package/dist/lib/maths/fn/trigo.d.ts +147 -0
- package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
- package/dist/lib/maths/fn/trigo.js +227 -0
- package/dist/lib/maths/fn/trigo.mjs +156 -0
- package/dist/lib/maths/fn/vector.cjs +728 -0
- package/dist/lib/maths/fn/vector.d.ts +512 -0
- package/dist/lib/maths/fn/vector.d.ts.map +1 -0
- package/dist/lib/maths/fn/vector.js +1136 -0
- package/dist/lib/maths/fn/vector.mjs +707 -0
- package/dist/lib/maths/formatter.cjs +61 -0
- package/dist/lib/maths/formatter.d.ts +35 -0
- package/dist/lib/maths/formatter.d.ts.map +1 -0
- package/dist/lib/maths/formatter.js +56 -0
- package/dist/lib/maths/formatter.mjs +40 -0
- package/dist/lib/maths/guards.cjs +164 -0
- package/dist/lib/maths/guards.d.ts +166 -0
- package/dist/lib/maths/guards.d.ts.map +1 -0
- package/dist/lib/maths/guards.js +315 -0
- package/dist/lib/maths/guards.mjs +144 -0
- package/dist/lib/maths/index.cjs +1152 -0
- package/dist/lib/maths/index.d.ts +24 -0
- package/dist/lib/maths/index.d.ts.map +1 -0
- package/dist/lib/maths/index.js +29 -0
- package/dist/lib/maths/index.mjs +1130 -0
- package/dist/lib/maths/parser.cjs +75 -0
- package/dist/lib/maths/parser.d.ts +20 -0
- package/dist/lib/maths/parser.d.ts.map +1 -0
- package/dist/lib/maths/parser.js +78 -0
- package/dist/lib/maths/parser.mjs +54 -0
- package/dist/lib/maths/random.cjs +49 -0
- package/dist/lib/maths/random.d.ts +27 -0
- package/dist/lib/maths/random.d.ts.map +1 -0
- package/dist/lib/maths/random.js +49 -0
- package/dist/lib/maths/random.mjs +28 -0
- package/dist/lib/maths/types/advanced.cjs +18 -0
- package/dist/lib/maths/types/advanced.d.ts +357 -0
- package/dist/lib/maths/types/advanced.d.ts.map +1 -0
- package/dist/lib/maths/types/advanced.js +5 -0
- package/dist/lib/maths/types/advanced.mjs +0 -0
- package/dist/lib/maths/types/basic.cjs +18 -0
- package/dist/lib/maths/types/basic.d.ts +95 -0
- package/dist/lib/maths/types/basic.d.ts.map +1 -0
- package/dist/lib/maths/types/basic.js +5 -0
- package/dist/lib/maths/types/basic.mjs +0 -0
- package/dist/lib/maths/types/index.cjs +19 -0
- package/dist/lib/maths/types/index.d.ts +4 -0
- package/dist/lib/maths/types/index.d.ts.map +1 -0
- package/dist/lib/maths/types/index.js +3 -0
- package/dist/lib/maths/types/index.mjs +1 -0
- package/dist/lib/maths/types/negative.cjs +18 -0
- package/dist/lib/maths/types/negative.d.ts +51 -0
- package/dist/lib/maths/types/negative.d.ts.map +1 -0
- package/dist/lib/maths/types/negative.js +5 -0
- package/dist/lib/maths/types/negative.mjs +0 -0
- package/dist/lib/maths/types/operations.cjs +18 -0
- package/dist/lib/maths/types/operations.d.ts +188 -0
- package/dist/lib/maths/types/operations.d.ts.map +1 -0
- package/dist/lib/maths/types/operations.js +6 -0
- package/dist/lib/maths/types/operations.mjs +0 -0
- package/dist/lib/object/clone.cjs +88 -0
- package/dist/lib/object/clone.d.ts +46 -0
- package/dist/lib/object/clone.d.ts.map +1 -0
- package/dist/lib/object/clone.js +104 -0
- package/dist/lib/object/clone.mjs +65 -0
- package/dist/lib/object/diff.cjs +573 -0
- package/dist/lib/object/diff.d.ts +203 -0
- package/dist/lib/object/diff.d.ts.map +1 -0
- package/dist/lib/object/diff.js +805 -0
- package/dist/lib/object/diff.mjs +550 -0
- package/dist/lib/object/getter-setter.cjs +2351 -0
- package/dist/lib/object/getter-setter.d.ts +361 -0
- package/dist/lib/object/getter-setter.d.ts.map +1 -0
- package/dist/lib/object/getter-setter.js +1771 -0
- package/dist/lib/object/getter-setter.mjs +2330 -0
- package/dist/lib/object/index.cjs +3956 -0
- package/dist/lib/object/index.d.ts +13 -0
- package/dist/lib/object/index.d.ts.map +1 -0
- package/dist/lib/object/index.js +12 -0
- package/dist/lib/object/index.mjs +3936 -0
- package/dist/lib/object/merge.cjs +1029 -0
- package/dist/lib/object/merge.d.ts +93 -0
- package/dist/lib/object/merge.d.ts.map +1 -0
- package/dist/lib/object/merge.js +474 -0
- package/dist/lib/object/merge.mjs +1006 -0
- package/dist/lib/object/object.cjs +280 -0
- package/dist/lib/object/object.d.ts +128 -0
- package/dist/lib/object/object.d.ts.map +1 -0
- package/dist/lib/object/object.js +432 -0
- package/dist/lib/object/object.mjs +257 -0
- package/dist/lib/object/omit.cjs +2022 -0
- package/dist/lib/object/omit.d.ts +351 -0
- package/dist/lib/object/omit.d.ts.map +1 -0
- package/dist/lib/object/omit.js +656 -0
- package/dist/lib/object/omit.mjs +1999 -0
- package/dist/lib/object/reconcile.cjs +126 -0
- package/dist/lib/object/reconcile.d.ts +7 -0
- package/dist/lib/object/reconcile.d.ts.map +1 -0
- package/dist/lib/object/reconcile.js +122 -0
- package/dist/lib/object/reconcile.mjs +105 -0
- package/dist/lib/object/selector.cjs +303 -0
- package/dist/lib/object/selector.d.ts +50 -0
- package/dist/lib/object/selector.d.ts.map +1 -0
- package/dist/lib/object/selector.js +371 -0
- package/dist/lib/object/selector.mjs +282 -0
- package/dist/lib/object/sort.cjs +209 -0
- package/dist/lib/object/sort.d.ts +149 -0
- package/dist/lib/object/sort.d.ts.map +1 -0
- package/dist/lib/object/sort.js +298 -0
- package/dist/lib/object/sort.mjs +186 -0
- package/dist/lib/object/transform.cjs +2211 -0
- package/dist/lib/object/transform.d.ts +620 -0
- package/dist/lib/object/transform.d.ts.map +1 -0
- package/dist/lib/object/transform.js +1058 -0
- package/dist/lib/object/transform.mjs +2190 -0
- package/dist/lib/object/types.cjs +18 -0
- package/dist/lib/object/types.d.ts +250 -0
- package/dist/lib/object/types.d.ts.map +1 -0
- package/dist/lib/object/types.js +1 -0
- package/dist/lib/object/types.mjs +0 -0
- package/dist/lib/object/utils.cjs +326 -0
- package/dist/lib/object/utils.d.ts +165 -0
- package/dist/lib/object/utils.d.ts.map +1 -0
- package/dist/lib/object/utils.js +444 -0
- package/dist/lib/object/utils.mjs +305 -0
- package/dist/lib/primitive/boolean/boolean.cjs +407 -0
- package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
- package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/boolean.js +615 -0
- package/dist/lib/primitive/boolean/boolean.mjs +386 -0
- package/dist/lib/primitive/boolean/index.cjs +382 -0
- package/dist/lib/primitive/boolean/index.d.ts +3 -0
- package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/index.js +2 -0
- package/dist/lib/primitive/boolean/index.mjs +359 -0
- package/dist/lib/primitive/boolean/types.cjs +18 -0
- package/dist/lib/primitive/boolean/types.d.ts +14 -0
- package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/types.js +1 -0
- package/dist/lib/primitive/boolean/types.mjs +0 -0
- package/dist/lib/primitive/date/date.cjs +1126 -0
- package/dist/lib/primitive/date/date.d.ts +641 -0
- package/dist/lib/primitive/date/date.d.ts.map +1 -0
- package/dist/lib/primitive/date/date.js +1998 -0
- package/dist/lib/primitive/date/date.mjs +1105 -0
- package/dist/lib/primitive/date/index.cjs +1128 -0
- package/dist/lib/primitive/date/index.d.ts +3 -0
- package/dist/lib/primitive/date/index.d.ts.map +1 -0
- package/dist/lib/primitive/date/index.js +2 -0
- package/dist/lib/primitive/date/index.mjs +1105 -0
- package/dist/lib/primitive/date/types.cjs +18 -0
- package/dist/lib/primitive/date/types.d.ts +205 -0
- package/dist/lib/primitive/date/types.d.ts.map +1 -0
- package/dist/lib/primitive/date/types.js +7 -0
- package/dist/lib/primitive/date/types.mjs +0 -0
- package/dist/lib/primitive/index.cjs +2338 -0
- package/dist/lib/primitive/index.d.ts +5 -0
- package/dist/lib/primitive/index.d.ts.map +1 -0
- package/dist/lib/primitive/index.js +4 -0
- package/dist/lib/primitive/index.mjs +2316 -0
- package/dist/lib/primitive/string/index.cjs +875 -0
- package/dist/lib/primitive/string/index.d.ts +3 -0
- package/dist/lib/primitive/string/index.d.ts.map +1 -0
- package/dist/lib/primitive/string/index.js +2 -0
- package/dist/lib/primitive/string/index.mjs +852 -0
- package/dist/lib/primitive/string/parser-2.cjs +543 -0
- package/dist/lib/primitive/string/parser-2.d.ts +17 -0
- package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
- package/dist/lib/primitive/string/parser-2.js +656 -0
- package/dist/lib/primitive/string/parser-2.mjs +522 -0
- package/dist/lib/primitive/string/parser.cjs +236 -0
- package/dist/lib/primitive/string/parser.d.ts +9 -0
- package/dist/lib/primitive/string/parser.d.ts.map +1 -0
- package/dist/lib/primitive/string/parser.js +775 -0
- package/dist/lib/primitive/string/parser.mjs +215 -0
- package/dist/lib/primitive/string/string.cjs +926 -0
- package/dist/lib/primitive/string/string.d.ts +535 -0
- package/dist/lib/primitive/string/string.d.ts.map +1 -0
- package/dist/lib/primitive/string/string.js +1301 -0
- package/dist/lib/primitive/string/string.mjs +903 -0
- package/dist/lib/primitive/string/types.cjs +18 -0
- package/dist/lib/primitive/string/types.d.ts +318 -0
- package/dist/lib/primitive/string/types.d.ts.map +1 -0
- package/dist/lib/primitive/string/types.js +5 -0
- package/dist/lib/primitive/string/types.mjs +0 -0
- package/dist/lib/primitive/types.cjs +18 -0
- package/dist/lib/primitive/types.d.ts +27 -0
- package/dist/lib/primitive/types.d.ts.map +1 -0
- package/dist/lib/primitive/types.js +1 -0
- package/dist/lib/primitive/types.mjs +0 -0
- package/dist/lib/url/index.cjs +327 -0
- package/dist/lib/url/index.d.ts +3 -0
- package/dist/lib/url/index.d.ts.map +1 -0
- package/dist/lib/url/index.js +2 -0
- package/dist/lib/url/index.mjs +304 -0
- package/dist/lib/url/parser.cjs +325 -0
- package/dist/lib/url/parser.d.ts +216 -0
- package/dist/lib/url/parser.d.ts.map +1 -0
- package/dist/lib/url/parser.js +488 -0
- package/dist/lib/url/parser.mjs +304 -0
- package/dist/lib/url/types.cjs +18 -0
- package/dist/lib/url/types.d.ts +18 -0
- package/dist/lib/url/types.d.ts.map +1 -0
- package/dist/lib/url/types.js +1 -0
- package/dist/lib/url/types.mjs +0 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +127 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/lib/object/types.ts
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import type { Add } from '@fluixi/utils/maths';
|
|
2
|
+
import type { FilterStartsWith, PrimitiveType, ReplaceStartsWith } from '../primitive/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Type for any object (excluding arrays, functions, and null)
|
|
5
|
+
*/
|
|
6
|
+
export type RecordObject = Record<string | number | symbol, any>;
|
|
7
|
+
export type AnyObject = RecordObject | Array<RecordObject> | Array<any>;
|
|
8
|
+
/**
|
|
9
|
+
* Type for deep partial object
|
|
10
|
+
*/
|
|
11
|
+
export type DeepPartial<T> = T extends object ? {
|
|
12
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
13
|
+
} : T;
|
|
14
|
+
/**
|
|
15
|
+
* Type for deep required object
|
|
16
|
+
*/
|
|
17
|
+
export type DeepRequired<T> = T extends object ? {
|
|
18
|
+
[P in keyof T]-?: DeepRequired<T[P]>;
|
|
19
|
+
} : T;
|
|
20
|
+
/**
|
|
21
|
+
* Type for deep readonly object
|
|
22
|
+
*/
|
|
23
|
+
export type DeepReadonly<T> = T extends object ? {
|
|
24
|
+
readonly [P in keyof T]: DeepReadonly<T[P]>;
|
|
25
|
+
} : T;
|
|
26
|
+
/**
|
|
27
|
+
* Type for deep mutable object
|
|
28
|
+
*/
|
|
29
|
+
export type DeepMutable<T> = T extends object ? {
|
|
30
|
+
-readonly [P in keyof T]: DeepMutable<T[P]>;
|
|
31
|
+
} : T;
|
|
32
|
+
export type ExpandRecursively<T extends any, level extends number = 0> = T extends object ? level extends 6 ? T extends () => any ? T : {
|
|
33
|
+
[K in keyof T]: ExpandRecursively<T[K], Add<level, 1>>;
|
|
34
|
+
} : T : T;
|
|
35
|
+
export type Paths<T, Prev extends string = '', Depth extends number = 4> = Depth extends 0 ? never : T extends PrimitiveType ? Prev : T extends Array<infer U> ? Paths<U, Prev, Depth extends keyof Decrement ? Decrement[Depth] : 0> : {
|
|
36
|
+
[K in keyof T]: Paths<T[K], Prev extends '' ? `${Extract<K, string>}` : `${Prev}.${Extract<K, string>}`, Depth extends keyof Decrement ? Decrement[Depth] : 0>;
|
|
37
|
+
}[keyof T];
|
|
38
|
+
type Matcher = `*` | `${number}`;
|
|
39
|
+
export type Match = `[${number}]` | `[*]`;
|
|
40
|
+
export type OnlyDefined<T> = T extends undefined ? never : T;
|
|
41
|
+
export type BasicSelector<T extends AnyObject> = T extends object ? {
|
|
42
|
+
[K in keyof T]: T[K];
|
|
43
|
+
}[keyof T] : string;
|
|
44
|
+
export type SelectorFor<T, Prev extends string = '', Depth extends number = 5> = Depth extends 0 ? never : Prev extends undefined ? never : T extends PrimitiveType ? T extends undefined ? never : Prev : T extends Array<infer U> ? U extends RecordObject ? `${Prev}${Match}` | SelectorFor<U, `${Prev}${Match}`, Depth extends keyof Decrement ? Decrement[Depth] : 0> : `${Prev}${Match}` : T extends object ? OnlyDefined<{
|
|
45
|
+
[K in keyof T]: `${Prev}${Prev extends '' ? '' : '.'}${Extract<K, string>}` | SelectorFor<T[K], Prev extends '' ? `${Extract<K, string>}` : `${Prev}${Prev extends '' ? '' : '.'}${Extract<K, string>}`, Depth extends keyof Decrement ? Decrement[Depth] : 0>;
|
|
46
|
+
}[keyof T]> : Prev;
|
|
47
|
+
export type NonEmptySelectors<T> = Exclude<SelectorFor<T>, ''> extends SelectorFor<T> ? Exclude<SelectorFor<T>, ''> : never;
|
|
48
|
+
export type _SubPathSelector<Selector, S extends string> = Selector extends string ? S extends `${Selector}.${infer R}` ? ReplaceStartsWith<FilterStartsWith<Selector, S>, `${S}.`> : Selector extends `${S}.${Match}.${string}` ? ReplaceStartsWith<FilterStartsWith<Selector, `${S}.${Match}`>, `${S}.${Match}.`> : Selector extends `${S}.${Match}` ? ReplaceStartsWith<FilterStartsWith<Selector, `${S}.${Match}`>, `${S}.${Match}.`> : S extends `${string}.${infer A}` ? A : S extends Selector ? never : S : never;
|
|
49
|
+
export type SubPathSelector<Selector, S extends string> = Selector extends string ? OnlyDefined<_SubPathSelector<Selector, S>> : never;
|
|
50
|
+
export type PathSelector<Selector extends string, S extends string> = OnlyDefined<FilterStartsWith<Selector, S>>;
|
|
51
|
+
type Decrement = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
52
|
+
/** SinglePath = either a valid dot string from Paths<T> or an array of keys */
|
|
53
|
+
export type SinglePath<T> = Paths<T>;
|
|
54
|
+
/** MultiPath = array of SinglePath */
|
|
55
|
+
export type MultiPath<T> = readonly SinglePath<T>[];
|
|
56
|
+
/** Accepted path formats */
|
|
57
|
+
export type AllowedPath<T extends unknown> = Paths<T> | Paths<T>[];
|
|
58
|
+
export type Split<S extends string, Sep extends string = '.'> = S extends `${infer T}${Sep}${infer U}` ? [T, ...Split<U, Sep>] : [S];
|
|
59
|
+
export type PathBuilder<T extends unknown> = {
|
|
60
|
+
$path: string[];
|
|
61
|
+
} & {
|
|
62
|
+
[K in keyof T]: T[K] extends PrimitiveType ? PathBuilder<T> & {
|
|
63
|
+
$path: [...string[], Extract<K, string>];
|
|
64
|
+
} : PathBuilder<T[K]> & {
|
|
65
|
+
$path: [...string[], Extract<K, string>];
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export type PathObjectTyped<T> = T extends PrimitiveType ? T : {
|
|
69
|
+
[K in keyof T]-?: PathObjectTyped<T[K]>;
|
|
70
|
+
};
|
|
71
|
+
export type DotPathToTuple<P extends string> = P extends `${infer A}.${infer B}` ? [A, ...DotPathToTuple<B>] : P extends '' ? [] : [P];
|
|
72
|
+
export type Join<T extends readonly string[]> = T extends [] ? '' : T extends [infer F extends string] ? F : T extends [infer F extends string, ...infer R extends string[]] ? `${F}.${Join<R>}` : string;
|
|
73
|
+
export type PathValueString<T, P extends string, Depth extends number = 5> = Depth extends 0 ? never : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? PathValueString<T[K], Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0> : never : P extends keyof T ? T[P] : never;
|
|
74
|
+
/** Resolve a path that can be string OR readonly string[] */
|
|
75
|
+
export type PathValue<T, P> = P extends readonly string[] ? PathValueString<T, Join<P>> : P extends string ? PathValueString<T, P> : never;
|
|
76
|
+
/** Path update tuple for setByPath multi-update */
|
|
77
|
+
export type PathUpdateTuple<T> = [SinglePath<T>, any];
|
|
78
|
+
export type MultiUpdateInput<T> = readonly PathUpdateTuple<T>[];
|
|
79
|
+
export type NormalizePath<P extends string> = P extends `${infer K}[${infer M}]${infer Rest}` ? K extends '' | '.' ? `[${M}]${Rest}` : `${K}.[${M}]${Rest}` : P;
|
|
80
|
+
export type IsStartArray<P> = P extends `[${Matcher}]${infer Rest}` ? Rest extends string ? true : false : false;
|
|
81
|
+
export type GetStartArray<P> = P extends `[${infer V}]${infer Rest}` ? V extends Matcher ? V : never : never;
|
|
82
|
+
export type GetEndArray<P> = P extends `[${infer V}]${infer Rest}` ? V extends Matcher ? Rest : never : never;
|
|
83
|
+
type HasArray<T> = T extends `${string}[${string}]` ? true : false;
|
|
84
|
+
type GetLastArray<P> = P extends `${infer Head}[${infer Index}]${infer Tail}` ? HasArray<Tail> extends true ? GetLastArray<Tail> : Index extends Matcher ? Index : never : never;
|
|
85
|
+
export type GetAtPath<T, P extends string, Depth extends number = 5> = Depth extends 0 ? never : NormalizePath<P> extends `${infer K}.${infer Rest}` ? K extends Keys<T> ? Rest extends `${infer z}.${infer _}` ? z extends `[${Matcher}]` ? NonNullable<T[K]> extends (infer U)[] ? U extends AnyObject ? z extends `[*]` ? GetAtPath<U, _, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : GetAtPath<U, _, Depth extends keyof Decrement ? Decrement[Depth] : 0>[][number] : U extends PrimitiveType ? U : U extends (infer V)[] ? 'infered array' : never : T[K] : GetAtPath<NonNullable<T[K]>, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0> : NonNullable<T[K]> extends AnyObject ? GetAtPath<NonNullable<T[K]>, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0> : T[K] extends (infer U)[] ? 'U' : 'never' : T extends RecordObject ? Rest extends `${infer k}[${infer m}]` ? k extends keyof T ? m extends '*' ? T[K] : T[k][number] : T extends (infer U)[] ? k extends keyof U ? U[k] : never : never : Rest extends keyof Flatten<T> ? Flatten<T>[Rest] : GetAtPath<T, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0> : 'nevere again' : P extends keyof NonNullable<T> ? NonNullable<T>[P] : P extends `[${infer M}]` ? M extends '*' ? T : T extends (infer U)[] ? U : never : never;
|
|
86
|
+
export type PickPath<T, P extends string, Depth extends number = 5> = Depth extends 0 ? never : T extends (infer U)[] ? 'PickPath<U, P>[]' : P extends keyof T ? {
|
|
87
|
+
[K in P]: T[P];
|
|
88
|
+
} : P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends (infer U)[] ? {
|
|
89
|
+
[K in Key as `${K}`]: Rest extends `[${Matcher}].${infer _}` ? PickPath<U, _, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : PickPath<U, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0>[];
|
|
90
|
+
} : {
|
|
91
|
+
[K in Key as `${K}`]: T[K] extends (infer V)[] ? PickPath<V, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : PickPath<T[Key], Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0>;
|
|
92
|
+
} : T extends Record<string, any> ? {
|
|
93
|
+
[K1 in keyof T as K1 extends Key ? `${K1}` : 'nevers']: K1 extends Key ? T[K1] extends (infer U)[] ? Rest extends `[${Matcher}].${infer _}` ? PickPath<U, _, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : PickPath<U, Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : PickPath<T[K1], Rest, Depth extends keyof Decrement ? Decrement[Depth] : 0> : never;
|
|
94
|
+
} : never : T extends Record<any, any> ? {
|
|
95
|
+
[K in keyof T as K extends P ? K : P extends `${infer X}.${infer Y}` ? X extends K ? K : never : never]: K extends P ? T[K] extends (infer U)[] ? PickPath<U, K, Depth extends keyof Decrement ? Decrement[Depth] : 0>[] : P extends `${infer X}.${infer Y}` ? 'never-T[K]' : T[K] : never;
|
|
96
|
+
} : never;
|
|
97
|
+
type _PathResult<T extends AnyObject, P extends SelectorFor<T>, Filter extends string> = T extends Record<string, any> ? P extends string ? PickPath<T, PathSelector<P, Filter>> : P extends (infer U)[] ? U extends string ? PickPath<T, U> : never : never : never;
|
|
98
|
+
export type MergeUnionObject<A extends any, B extends any> = {
|
|
99
|
+
[K in keyof AddMissingProps<A | B>]: AddMissingProps<A | B>[K];
|
|
100
|
+
};
|
|
101
|
+
export type MergeUnionObjectSingle<T extends any> = T extends object ? {
|
|
102
|
+
[K in keyof AddMissingProps<T>]: AddMissingProps<T>[K];
|
|
103
|
+
} : T;
|
|
104
|
+
type _Keys<T> = T extends Record<string, any> ? NonNullable<{
|
|
105
|
+
[K in keyof T]: K;
|
|
106
|
+
}>[keyof T] : never;
|
|
107
|
+
export type Keys<T> = NonNullable<_Keys<T>> extends string ? NonNullable<_Keys<T>> : never;
|
|
108
|
+
export type AllKeys<T extends any> = T extends Record<string, any> ? keyof T : never;
|
|
109
|
+
export type AddMissingProps<T extends any, K extends PropertyKey = AllKeys<T>> = T extends unknown ? T & Record<Exclude<K, keyof T>, never> : never;
|
|
110
|
+
export type UnionToIntersection<U extends any> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
111
|
+
export type CreateMutable<T extends any, Depth extends number = 9> = Depth extends 0 ? never : T extends object ? ExpandRecursively<{
|
|
112
|
+
[K in keyof T]: T[K] extends Date | Function ? T[K] : T[K] extends object ? CreateMutable<T[K], Depth extends keyof Decrement ? Decrement[Depth] : 0> : T[K] extends readonly (infer R)[] ? R[] : T[K] extends (infer R)[] ? R[] : T[K] extends [] ? T[K] : T[K];
|
|
113
|
+
}> : T;
|
|
114
|
+
export type PathResult<T extends AnyObject, P extends SelectorFor<T>, Filter extends string> = CreateMutable<UnionToIntersection<_PathResult<T, P, Filter>>>;
|
|
115
|
+
export type AllKeysDefined<T> = {
|
|
116
|
+
[K in keyof T]: NonNullable<T[K]>;
|
|
117
|
+
};
|
|
118
|
+
export type PickType<T extends any, V extends any> = {
|
|
119
|
+
[k in keyof T as k extends V ? k : never]: T[k];
|
|
120
|
+
};
|
|
121
|
+
export type Flatten<T> = T extends (infer U)[] ? U : T;
|
|
122
|
+
export type IsMatch<T> = T extends Match ? true : false;
|
|
123
|
+
export type IsFullMatch<T> = T extends `[*]` ? true : false;
|
|
124
|
+
export type IsWildcardPath<T> = T extends `${string}[*]${string}` ? true : false;
|
|
125
|
+
export type ExtractPathBeforeWildcard<T> = T extends `${infer Before}[*]${string}` ? Before : T;
|
|
126
|
+
export type ExtractPathAfterWildcard<T> = T extends `${string}[*]${infer After}` ? After : '';
|
|
127
|
+
export type HasMultipleWildcards<T> = T extends `${string}[*]${string}[*]${string}` ? true : false;
|
|
128
|
+
export type ArrayElement<T> = T extends (infer U)[] ? U : T extends readonly (infer U)[] ? U : never;
|
|
129
|
+
export type DeepArrayElement<T, Depth extends number = 3> = Depth extends 0 ? T : T extends (infer U)[] ? DeepArrayElement<U, Depth extends keyof Decrement ? Decrement[Depth] : 0> : T;
|
|
130
|
+
export type IsNumericString<T> = T extends `${number}` ? true : false;
|
|
131
|
+
export type ParseNumber<T> = T extends `${infer N extends number}` ? N : never;
|
|
132
|
+
export type NormalizeWildcardPath<T extends string> = T extends `${infer Before}[*]${infer After}` ? After extends `.${infer Rest}` ? `${Before}[*].${NormalizeWildcardPath<Rest>}` : `${Before}[*]${NormalizeWildcardPath<After>}` : T;
|
|
133
|
+
export type IValueOfKey<D, U> = D extends AnyObject | any[] ? _IValueOfKeySimple<D, U> extends never ? _IValueOfKeyComplex<D, U> : _IValueOfKeySimple<D, U> : never;
|
|
134
|
+
type _IValueOfKeySimple<D extends AnyObject | any[], U> = IsMatch<U> extends true ? GetStartArray<U> extends '*' ? D : Flatten<D> : U extends keyof D ? D[U] : U extends Indices ? D extends (infer T)[] ? T : never : D extends any[] ? U extends `${number}` ? D[number] : U extends `[${number}]` ? D[number] : U extends `[*]` ? D[number][] : never : never;
|
|
135
|
+
type _IValueOfKeyComplex<D extends AnyObject | any[], U> = U extends SelectorFor<D> ? GetAtPath<D, U> : IsStartArray<U> extends true ? GetStartArray<U> extends `*` ? GetEndArray<U> extends '' ? D extends (infer T)[] ? T[] : D : D extends (infer T)[] ? GetAtPath<T, GetEndArray<U>>[] : GetAtPath<D, GetEndArray<U>>[] : GetEndArray<U> extends '' ? Flatten<D> : GetAtPath<D, GetEndArray<U>>[] : never;
|
|
136
|
+
export type SetStoreFunction<T extends AnyObject | any[]> = {
|
|
137
|
+
(value: T | Partial<T> | ((prev: T) => T | Partial<T>)): void;
|
|
138
|
+
<K extends SelectorFor<T>>(key: K, value: IValueOfKey<T, K> | ((prev: IValueOfKey<T, K>) => IValueOfKey<T, K>)): void;
|
|
139
|
+
<K extends SelectorFor<T>>(key: K, index: number, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): void;
|
|
140
|
+
<K extends SelectorFor<T>>(key: K, index: number, subPath: string, value: any): void;
|
|
141
|
+
<K extends SelectorFor<T>>(key: K, indices: (number | string)[], value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): void;
|
|
142
|
+
<K extends SelectorFor<T>>(key: K, indices: (number | string)[], subPath: string, value: any): void;
|
|
143
|
+
<K extends SelectorFor<T>>(key: K, range: SetterRange, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): void;
|
|
144
|
+
<K extends SelectorFor<T>>(key: K, range: SetterRange, subPath: string, value: any): void;
|
|
145
|
+
<K extends SelectorFor<T>>(key: K, filterFn: (item: IValueOfKey<T, K> extends (infer U)[] ? U : any, index: number) => boolean, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): void;
|
|
146
|
+
<K extends SelectorFor<T>>(key: K, filterFn: (item: IValueOfKey<T, K> extends (infer U)[] ? U : any, index: number) => boolean, subPath: string, value: any): void;
|
|
147
|
+
(updates: Partial<T>): void;
|
|
148
|
+
<K extends SelectorFor<T>>(key: K, updates: IValueOfKey<T, K> extends AnyObject ? Partial<IValueOfKey<T, K>> : any): void;
|
|
149
|
+
(paths: string[], value: any): void;
|
|
150
|
+
(paths: string[], updates: Partial<any>): void;
|
|
151
|
+
} & (T extends any[] ? ArrayStoreMethods<T> : {});
|
|
152
|
+
export type StorePath<T> = T extends object ? {
|
|
153
|
+
[K in keyof T]: K extends string | number ? [K] | [K, ...StorePath<T[K]>] : never;
|
|
154
|
+
}[keyof T] : never;
|
|
155
|
+
export type ArrayStoreMethods<T extends any[]> = {
|
|
156
|
+
insert: (index: number, value: T[0]) => void;
|
|
157
|
+
move: (from: number, to: number) => void;
|
|
158
|
+
remove: (index: number) => void;
|
|
159
|
+
removeWhere: (filterFn: (item: T[0], index: number) => boolean) => void;
|
|
160
|
+
push: (...items: T[0][]) => void;
|
|
161
|
+
pop: () => T[0] | undefined;
|
|
162
|
+
shift: () => T[0] | undefined;
|
|
163
|
+
unshift: (...items: T[0][]) => void;
|
|
164
|
+
reverse: () => void;
|
|
165
|
+
sort: (compareFn?: (a: T[0], b: T[0]) => number) => void;
|
|
166
|
+
splice: (start: number, deleteCount: number, ...items: T[0][]) => T[0][];
|
|
167
|
+
};
|
|
168
|
+
/** Setter - getter */
|
|
169
|
+
/**
|
|
170
|
+
* Parsed selector segment
|
|
171
|
+
*/
|
|
172
|
+
export interface SelectorSegment {
|
|
173
|
+
type: 'property' | 'index' | 'wildcard' | 'slice' | 'filter' | 'union' | 'descendant';
|
|
174
|
+
value: string | number | [number, number] | number[] | ((item: any) => boolean);
|
|
175
|
+
raw?: string;
|
|
176
|
+
}
|
|
177
|
+
export type SelectorType = 'dot' | 'bracket' | 'wildcard' | 'array-wildcard' | 'property' | 'filter' | 'slice' | 'union' | 'descendant';
|
|
178
|
+
/**
|
|
179
|
+
* Selector options
|
|
180
|
+
*/
|
|
181
|
+
export interface SelectorOptions {
|
|
182
|
+
/** Type of selector parsing (default: 'auto' detects from string) */
|
|
183
|
+
type?: SelectorType | 'auto';
|
|
184
|
+
/** Whether to throw on errors (default: false) */
|
|
185
|
+
throwOnError?: boolean;
|
|
186
|
+
/** Default value for missing paths */
|
|
187
|
+
defaultValue?: any;
|
|
188
|
+
/** Maximum depth for recursive selectors (default: 20) */
|
|
189
|
+
maxDepth?: number;
|
|
190
|
+
/** Whether to flatten results (default: true for wildcards) */
|
|
191
|
+
flattenResults?: boolean;
|
|
192
|
+
/** Whether to include undefined values in results (default: false) */
|
|
193
|
+
includeUndefined?: boolean;
|
|
194
|
+
}
|
|
195
|
+
export type Indices = number | number[];
|
|
196
|
+
export type FnPropertyKey<T extends AnyObject, K> = SelectorFor<IValueOfKey<T, K> extends (infer U)[] ? U : never>;
|
|
197
|
+
export type FilteredFnPropertyKey<T extends AnyObject, K, Filter = never> = Filter extends never ? SelectorFor<IValueOfKey<T, K> extends (infer U)[] ? U : never> : Filter extends (infer U)[] ? U extends SelectorFor<IValueOfKey<T, K>> ? SubPathSelector<SelectorFor<IValueOfKey<T, K> extends (infer U)[] ? U : never>, U> : never : never;
|
|
198
|
+
export type ForKeyOf<V> = V extends object ? V[keyof V] : V extends (infer U)[] ? U[keyof U] : V extends string | number | boolean | Date | Set<any> ? V : never;
|
|
199
|
+
export type KeyOf<T, V> = V extends keyof T ? T[V] : never;
|
|
200
|
+
export type PropertyValue<T extends AnyObject, K, I extends Indices = never, Sub = never> = PropertyValueFn<T, K, I, Sub> | PropertyValuePathValue<T, K, I, Sub>;
|
|
201
|
+
export type PropertyValueFn<T extends AnyObject, K, I extends Indices = never, Sub = never> = Sub extends never ? Callback<Flattened<IValueOfKey<T, K>, I>> : IValueOfKey<T, K> extends never ? never : IValueOfKey<Flattened<IValueOfKey<T, K>>, Sub> extends never ? never : Callback<IValueOfKey<Flattened<IValueOfKey<T, K>>, Sub>>;
|
|
202
|
+
export type PropertyValuePathValue<T extends AnyObject, K, I extends Indices = never, Sub = never> = Sub extends never ? Flattened<IValueOfKey<T, K>, I> : IValueOfKey<T, K> extends never ? never : IValueOfKey<Flattened<IValueOfKey<T, K>>, Sub> extends never ? never : IValueOfKey<Flattened<IValueOfKey<T, K>>, Sub>;
|
|
203
|
+
export type Flattened<T, I extends boolean | Indices = true> = I extends never ? T : T extends (infer U)[] ? U extends RecordObject ? U : never : T extends Array<any> ? T[number] : T;
|
|
204
|
+
export type PropertyOrArrayValue<T extends AnyObject, K, I extends Indices = never, Sub extends FnPropertyKey<T, K> = never> = I extends never | number ? Flattened<PropertyValuePathValue<T, K, I, Sub>> : Flattened<PropertyValueFn<T, K, I, Sub>>;
|
|
205
|
+
export type Compare<T extends AnyObject, K> = (item: IValueOfKey<T, K> extends (infer U)[] ? U : IValueOfKey<T, K>, index: number) => boolean;
|
|
206
|
+
export type CompareWithProperty<T extends AnyObject, K, P> = P extends SelectorFor<IValueOfKey<T, K>> ? IValueOfKey<T, K> extends AnyObject ? Compare<IValueOfKey<T, K>, P> : never : never;
|
|
207
|
+
export type Callback<T> = (state: T) => T;
|
|
208
|
+
export type MixCallback<T = any> = {
|
|
209
|
+
(state: Merge<T, Array<T>>): T;
|
|
210
|
+
};
|
|
211
|
+
type Merge<A, B> = ExpandRecursively<{
|
|
212
|
+
[K in keyof A | keyof B]: K extends keyof B ? B[K] : K extends keyof A ? A[K] : never;
|
|
213
|
+
}>;
|
|
214
|
+
export type RangeCompare = {
|
|
215
|
+
from: number;
|
|
216
|
+
to: number;
|
|
217
|
+
by?: number;
|
|
218
|
+
};
|
|
219
|
+
type Expand<T> = T extends PrimitiveType ? T extends never ? never : T : ExpandRecursively<T>;
|
|
220
|
+
export type ParamUpdateValue<T> = T extends never ? never : NonNullable<Expand<T>> extends never ? never : Expand<NonNullable<T>> | Callback<NonNullable<Expand<T>>>;
|
|
221
|
+
export type SelectorForIfIndices<T, K> = K extends Indices ? T extends (infer U)[] ? SelectorFor<U> : SelectorFor<T> : never;
|
|
222
|
+
type FlattenParam<T, K> = IsStartArray<K> extends true ? IsFullMatch<K> extends true ? Expand<ParamUpdateValue<T>> : ParamUpdateValue<T> : ParamUpdateValue<T>;
|
|
223
|
+
export type DataParam<T, K, I = never, Depth extends number = 5> = Depth extends 0 ? never : IValueOfKey<T, K> extends AnyObject ? IValueOfKey<T, K> extends Array<(infer U)> ? T extends (infer V)[] ? IsStartArray<K> extends true ? IsFullMatch<K> extends true ? Expand<ParamUpdateValue<U>> : ParamUpdateValue<U> : Expand<ParamUpdateValue<IValueOfKey<T, K>>> : ParamUpdateValue<U[]> : I extends string ? T extends (infer V)[] ? Expand<ParamUpdateValue<IValueOfKey<V, I>>> : T extends RecordObject ? Expand<ParamUpdateValue<IValueOfKey<T, I>>> : never : Expand<ParamUpdateValue<IValueOfKey<T, K>>> : GetLastArray<K> extends '*' ? Expand<ParamUpdateValue<IValueOfKey<T, K>>> : Expand<ParamUpdateValue<Flatten<IValueOfKey<T, K>>>>;
|
|
224
|
+
export type ArrayFnParam<T extends AnyObject, K, I = never> = I extends (infer U)[] ? U extends string ? FlattenParam<IValueOfKey<IValueOfKey<T, K>, U>, K> : never : never;
|
|
225
|
+
/**
|
|
226
|
+
* Update type for selector - can be string or array of strings
|
|
227
|
+
*/
|
|
228
|
+
export type Selector = string | string[];
|
|
229
|
+
export type CompareFn<T> = (state: T) => boolean;
|
|
230
|
+
/**
|
|
231
|
+
* Type for update function or value
|
|
232
|
+
*/
|
|
233
|
+
export type UpdateValue<T = any> = Partial<T> | ((state: T) => Partial<T>);
|
|
234
|
+
export type UpdateObject = Record<string, any>;
|
|
235
|
+
/**
|
|
236
|
+
* Type for range object in SolidJS-style updates
|
|
237
|
+
*/
|
|
238
|
+
export interface SetterRange {
|
|
239
|
+
from?: number;
|
|
240
|
+
to?: number;
|
|
241
|
+
by?: number;
|
|
242
|
+
}
|
|
243
|
+
export type WildcardSelector<T> = T extends (infer U)[] ? `[*]` | `[${number}]` | `${number}` : never;
|
|
244
|
+
export type NestedWildcardSelector<T, K extends keyof T> = T[K] extends (infer U)[] ? `${K & string}[*]` | `${K & string}[${number}]` | `${K & string}.${number}` : never;
|
|
245
|
+
export type DeepWildcardSelector<T, K extends keyof T> = T[K] extends (infer U)[] ? U extends AnyObject ? `${K & string}[*].${keyof U & string}` | `${K & string}[${number}].${keyof U & string}` : `${K & string}[*]` | `${K & string}[${number}]` : never;
|
|
246
|
+
export type AllSelectorPatterns<T> = T extends any[] ? WildcardSelector<T> | SelectorFor<T> : T extends AnyObject ? SelectorFor<T> | {
|
|
247
|
+
[K in keyof T]: NestedWildcardSelector<T, K> | DeepWildcardSelector<T, K>;
|
|
248
|
+
}[keyof T] : string;
|
|
249
|
+
export {};
|
|
250
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/object/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|