@duplojs/utils 1.0.6 → 1.1.7
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/dist/array/coalescing.cjs +9 -0
- package/dist/array/coalescing.d.ts +3 -0
- package/dist/array/coalescing.mjs +7 -0
- package/dist/array/index.cjs +2 -0
- package/dist/array/index.d.ts +1 -0
- package/dist/array/index.mjs +1 -0
- package/dist/array/map.cjs +1 -1
- package/dist/array/map.d.ts +2 -2
- package/dist/array/map.mjs +1 -1
- package/dist/array/reduce.cjs +1 -1
- package/dist/array/reduce.mjs +1 -1
- package/dist/array/types/ArrayCoalescing.d.ts +1 -0
- package/dist/array/types/index.d.ts +1 -0
- package/dist/common/escapeRegExp.cjs +2 -2
- package/dist/common/escapeRegExp.d.ts +1 -1
- package/dist/common/escapeRegExp.mjs +2 -2
- package/dist/common/index.d.ts +4 -0
- package/dist/common/instanceOf.cjs +20 -0
- package/dist/common/instanceOf.d.ts +3 -0
- package/dist/common/instanceOf.mjs +18 -0
- package/dist/common/justReturn.cjs +12 -0
- package/dist/common/justReturn.d.ts +3 -0
- package/dist/common/justReturn.mjs +10 -0
- package/dist/common/kind.cjs +38 -1
- package/dist/common/kind.d.ts +22 -4
- package/dist/common/kind.mjs +38 -2
- package/dist/common/memo.cjs +16 -0
- package/dist/common/memo.d.ts +5 -0
- package/dist/common/memo.mjs +14 -0
- package/dist/common/simpleClone.cjs +2 -2
- package/dist/common/simpleClone.mjs +2 -2
- package/dist/common/types/anyConstructor.d.ts +1 -0
- package/dist/common/types/anyPredicate.d.ts +1 -0
- package/dist/common/types/index.d.ts +2 -0
- package/dist/common/types/objectEntry.d.ts +1 -1
- package/dist/common/types/predicate.d.ts +1 -0
- package/dist/common/types/unionContain.d.ts +1 -1
- package/dist/common/when.d.ts +2 -2
- package/dist/common/whenElse.cjs +17 -0
- package/dist/common/whenElse.d.ts +5 -0
- package/dist/common/whenElse.mjs +15 -0
- package/dist/common/whenNot.d.ts +2 -2
- package/dist/dataParser/base.cjs +116 -0
- package/dist/dataParser/base.d.ts +44 -0
- package/dist/dataParser/base.mjs +109 -0
- package/dist/dataParser/baseExtended.cjs +55 -0
- package/dist/dataParser/baseExtended.d.ts +45 -0
- package/dist/dataParser/baseExtended.mjs +52 -0
- package/dist/dataParser/error.cjs +54 -0
- package/dist/dataParser/error.d.ts +31 -0
- package/dist/dataParser/error.mjs +41 -0
- package/dist/dataParser/extended/array.cjs +20 -0
- package/dist/dataParser/extended/array.d.ts +21 -0
- package/dist/dataParser/extended/array.mjs +18 -0
- package/dist/dataParser/extended/bigint.cjs +20 -0
- package/dist/dataParser/extended/bigint.d.ts +19 -0
- package/dist/dataParser/extended/bigint.mjs +18 -0
- package/dist/dataParser/extended/boolean.cjs +11 -0
- package/dist/dataParser/extended/boolean.d.ts +9 -0
- package/dist/dataParser/extended/boolean.mjs +9 -0
- package/dist/dataParser/extended/coerce/bigint.cjs +13 -0
- package/dist/dataParser/extended/coerce/bigint.d.ts +7 -0
- package/dist/dataParser/extended/coerce/bigint.mjs +11 -0
- package/dist/dataParser/extended/coerce/boolean.cjs +13 -0
- package/dist/dataParser/extended/coerce/boolean.d.ts +7 -0
- package/dist/dataParser/extended/coerce/boolean.mjs +11 -0
- package/dist/dataParser/extended/coerce/empty.cjs +13 -0
- package/dist/dataParser/extended/coerce/empty.d.ts +7 -0
- package/dist/dataParser/extended/coerce/empty.mjs +11 -0
- package/dist/dataParser/extended/coerce/index.cjs +17 -0
- package/dist/dataParser/extended/coerce/index.d.ts +6 -0
- package/dist/dataParser/extended/coerce/index.mjs +6 -0
- package/dist/dataParser/extended/coerce/nil.cjs +13 -0
- package/dist/dataParser/extended/coerce/nil.d.ts +7 -0
- package/dist/dataParser/extended/coerce/nil.mjs +11 -0
- package/dist/dataParser/extended/coerce/number.cjs +13 -0
- package/dist/dataParser/extended/coerce/number.d.ts +7 -0
- package/dist/dataParser/extended/coerce/number.mjs +11 -0
- package/dist/dataParser/extended/coerce/string.cjs +13 -0
- package/dist/dataParser/extended/coerce/string.d.ts +7 -0
- package/dist/dataParser/extended/coerce/string.mjs +11 -0
- package/dist/dataParser/extended/empty.cjs +11 -0
- package/dist/dataParser/extended/empty.d.ts +9 -0
- package/dist/dataParser/extended/empty.mjs +9 -0
- package/dist/dataParser/extended/index.cjs +48 -0
- package/dist/dataParser/extended/index.d.ts +22 -0
- package/dist/dataParser/extended/index.mjs +21 -0
- package/dist/dataParser/extended/lazy.cjs +11 -0
- package/dist/dataParser/extended/lazy.d.ts +11 -0
- package/dist/dataParser/extended/lazy.mjs +9 -0
- package/dist/dataParser/extended/literal.cjs +11 -0
- package/dist/dataParser/extended/literal.d.ts +11 -0
- package/dist/dataParser/extended/literal.mjs +9 -0
- package/dist/dataParser/extended/nil.cjs +11 -0
- package/dist/dataParser/extended/nil.d.ts +9 -0
- package/dist/dataParser/extended/nil.mjs +9 -0
- package/dist/dataParser/extended/nullable.cjs +11 -0
- package/dist/dataParser/extended/nullable.d.ts +11 -0
- package/dist/dataParser/extended/nullable.mjs +9 -0
- package/dist/dataParser/extended/number.cjs +27 -0
- package/dist/dataParser/extended/number.d.ts +24 -0
- package/dist/dataParser/extended/number.mjs +24 -0
- package/dist/dataParser/extended/object.cjs +11 -0
- package/dist/dataParser/extended/object.d.ts +11 -0
- package/dist/dataParser/extended/object.mjs +9 -0
- package/dist/dataParser/extended/optional.cjs +11 -0
- package/dist/dataParser/extended/optional.d.ts +11 -0
- package/dist/dataParser/extended/optional.mjs +9 -0
- package/dist/dataParser/extended/pipe.cjs +11 -0
- package/dist/dataParser/extended/pipe.d.ts +12 -0
- package/dist/dataParser/extended/pipe.mjs +9 -0
- package/dist/dataParser/extended/record.cjs +11 -0
- package/dist/dataParser/extended/record.d.ts +12 -0
- package/dist/dataParser/extended/record.mjs +9 -0
- package/dist/dataParser/extended/string.cjs +38 -0
- package/dist/dataParser/extended/string.d.ts +32 -0
- package/dist/dataParser/extended/string.mjs +34 -0
- package/dist/dataParser/extended/templateLiteral.cjs +10 -0
- package/dist/dataParser/extended/templateLiteral.d.ts +11 -0
- package/dist/dataParser/extended/templateLiteral.mjs +8 -0
- package/dist/dataParser/extended/transform.cjs +11 -0
- package/dist/dataParser/extended/transform.d.ts +14 -0
- package/dist/dataParser/extended/transform.mjs +9 -0
- package/dist/dataParser/extended/tuple.cjs +11 -0
- package/dist/dataParser/extended/tuple.d.ts +11 -0
- package/dist/dataParser/extended/tuple.mjs +9 -0
- package/dist/dataParser/extended/union.cjs +11 -0
- package/dist/dataParser/extended/union.d.ts +11 -0
- package/dist/dataParser/extended/union.mjs +9 -0
- package/dist/dataParser/extended/unknown.cjs +11 -0
- package/dist/dataParser/extended/unknown.d.ts +9 -0
- package/dist/dataParser/extended/unknown.mjs +9 -0
- package/dist/dataParser/index.cjs +128 -0
- package/dist/dataParser/index.d.ts +6 -0
- package/dist/dataParser/index.mjs +38 -0
- package/dist/dataParser/parsers/array/checkers/index.d.ts +2 -0
- package/dist/dataParser/parsers/array/checkers/max.cjs +23 -0
- package/dist/dataParser/parsers/array/checkers/max.d.ts +11 -0
- package/dist/dataParser/parsers/array/checkers/max.mjs +20 -0
- package/dist/dataParser/parsers/array/checkers/min.cjs +23 -0
- package/dist/dataParser/parsers/array/checkers/min.d.ts +11 -0
- package/dist/dataParser/parsers/array/checkers/min.mjs +20 -0
- package/dist/dataParser/parsers/array/index.cjs +64 -0
- package/dist/dataParser/parsers/array/index.d.ts +20 -0
- package/dist/dataParser/parsers/array/index.mjs +61 -0
- package/dist/dataParser/parsers/bigint/checkers/index.d.ts +2 -0
- package/dist/dataParser/parsers/bigint/checkers/max.cjs +23 -0
- package/dist/dataParser/parsers/bigint/checkers/max.d.ts +11 -0
- package/dist/dataParser/parsers/bigint/checkers/max.mjs +20 -0
- package/dist/dataParser/parsers/bigint/checkers/min.cjs +23 -0
- package/dist/dataParser/parsers/bigint/checkers/min.d.ts +11 -0
- package/dist/dataParser/parsers/bigint/checkers/min.mjs +20 -0
- package/dist/dataParser/parsers/bigint/index.cjs +31 -0
- package/dist/dataParser/parsers/bigint/index.d.ts +18 -0
- package/dist/dataParser/parsers/bigint/index.mjs +28 -0
- package/dist/dataParser/parsers/boolean.cjs +40 -0
- package/dist/dataParser/parsers/boolean.d.ts +12 -0
- package/dist/dataParser/parsers/boolean.mjs +37 -0
- package/dist/dataParser/parsers/coerce/bigint.cjs +13 -0
- package/dist/dataParser/parsers/coerce/bigint.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/bigint.mjs +11 -0
- package/dist/dataParser/parsers/coerce/boolean.cjs +13 -0
- package/dist/dataParser/parsers/coerce/boolean.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/boolean.mjs +11 -0
- package/dist/dataParser/parsers/coerce/empty.cjs +13 -0
- package/dist/dataParser/parsers/coerce/empty.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/empty.mjs +11 -0
- package/dist/dataParser/parsers/coerce/index.cjs +17 -0
- package/dist/dataParser/parsers/coerce/index.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/index.mjs +6 -0
- package/dist/dataParser/parsers/coerce/nil.cjs +13 -0
- package/dist/dataParser/parsers/coerce/nil.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/nil.mjs +11 -0
- package/dist/dataParser/parsers/coerce/number.cjs +13 -0
- package/dist/dataParser/parsers/coerce/number.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/number.mjs +11 -0
- package/dist/dataParser/parsers/coerce/string.cjs +13 -0
- package/dist/dataParser/parsers/coerce/string.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/string.mjs +11 -0
- package/dist/dataParser/parsers/empty.cjs +27 -0
- package/dist/dataParser/parsers/empty.d.ts +12 -0
- package/dist/dataParser/parsers/empty.mjs +24 -0
- package/dist/dataParser/parsers/index.d.ts +20 -0
- package/dist/dataParser/parsers/lazy.cjs +21 -0
- package/dist/dataParser/parsers/lazy.d.ts +14 -0
- package/dist/dataParser/parsers/lazy.mjs +18 -0
- package/dist/dataParser/parsers/literal.cjs +25 -0
- package/dist/dataParser/parsers/literal.d.ts +15 -0
- package/dist/dataParser/parsers/literal.mjs +22 -0
- package/dist/dataParser/parsers/nil.cjs +27 -0
- package/dist/dataParser/parsers/nil.d.ts +12 -0
- package/dist/dataParser/parsers/nil.mjs +24 -0
- package/dist/dataParser/parsers/nullable.cjs +31 -0
- package/dist/dataParser/parsers/nullable.d.ts +14 -0
- package/dist/dataParser/parsers/nullable.mjs +28 -0
- package/dist/dataParser/parsers/number/checkers/index.d.ts +3 -0
- package/dist/dataParser/parsers/number/checkers/int.cjs +27 -0
- package/dist/dataParser/parsers/number/checkers/int.d.ts +15 -0
- package/dist/dataParser/parsers/number/checkers/int.mjs +23 -0
- package/dist/dataParser/parsers/number/checkers/max.cjs +18 -0
- package/dist/dataParser/parsers/number/checkers/max.d.ts +11 -0
- package/dist/dataParser/parsers/number/checkers/max.mjs +15 -0
- package/dist/dataParser/parsers/number/checkers/min.cjs +18 -0
- package/dist/dataParser/parsers/number/checkers/min.d.ts +11 -0
- package/dist/dataParser/parsers/number/checkers/min.mjs +15 -0
- package/dist/dataParser/parsers/number/index.cjs +31 -0
- package/dist/dataParser/parsers/number/index.d.ts +18 -0
- package/dist/dataParser/parsers/number/index.mjs +28 -0
- package/dist/dataParser/parsers/object.cjs +74 -0
- package/dist/dataParser/parsers/object.d.ts +26 -0
- package/dist/dataParser/parsers/object.mjs +71 -0
- package/dist/dataParser/parsers/optional.cjs +31 -0
- package/dist/dataParser/parsers/optional.d.ts +14 -0
- package/dist/dataParser/parsers/optional.mjs +28 -0
- package/dist/dataParser/parsers/pipe.cjs +34 -0
- package/dist/dataParser/parsers/pipe.d.ts +16 -0
- package/dist/dataParser/parsers/pipe.mjs +31 -0
- package/dist/dataParser/parsers/record.cjs +83 -0
- package/dist/dataParser/parsers/record.d.ts +30 -0
- package/dist/dataParser/parsers/record.mjs +80 -0
- package/dist/dataParser/parsers/string/checkers/email.cjs +31 -0
- package/dist/dataParser/parsers/string/checkers/email.d.ts +17 -0
- package/dist/dataParser/parsers/string/checkers/email.mjs +27 -0
- package/dist/dataParser/parsers/string/checkers/index.d.ts +5 -0
- package/dist/dataParser/parsers/string/checkers/max.cjs +18 -0
- package/dist/dataParser/parsers/string/checkers/max.d.ts +11 -0
- package/dist/dataParser/parsers/string/checkers/max.mjs +15 -0
- package/dist/dataParser/parsers/string/checkers/min.cjs +18 -0
- package/dist/dataParser/parsers/string/checkers/min.d.ts +11 -0
- package/dist/dataParser/parsers/string/checkers/min.mjs +15 -0
- package/dist/dataParser/parsers/string/checkers/regex.cjs +20 -0
- package/dist/dataParser/parsers/string/checkers/regex.d.ts +11 -0
- package/dist/dataParser/parsers/string/checkers/regex.mjs +17 -0
- package/dist/dataParser/parsers/string/checkers/url.cjs +48 -0
- package/dist/dataParser/parsers/string/checkers/url.d.ts +18 -0
- package/dist/dataParser/parsers/string/checkers/url.mjs +44 -0
- package/dist/dataParser/parsers/string/index.cjs +31 -0
- package/dist/dataParser/parsers/string/index.d.ts +18 -0
- package/dist/dataParser/parsers/string/index.mjs +28 -0
- package/dist/dataParser/parsers/templateLiteral.cjs +45 -0
- package/dist/dataParser/parsers/templateLiteral.d.ts +49 -0
- package/dist/dataParser/parsers/templateLiteral.mjs +42 -0
- package/dist/dataParser/parsers/transform.cjs +43 -0
- package/dist/dataParser/parsers/transform.d.ts +17 -0
- package/dist/dataParser/parsers/transform.mjs +40 -0
- package/dist/dataParser/parsers/tuple.cjs +83 -0
- package/dist/dataParser/parsers/tuple.d.ts +33 -0
- package/dist/dataParser/parsers/tuple.mjs +80 -0
- package/dist/dataParser/parsers/union.cjs +38 -0
- package/dist/dataParser/parsers/union.d.ts +15 -0
- package/dist/dataParser/parsers/union.mjs +35 -0
- package/dist/dataParser/parsers/unknown.cjs +17 -0
- package/dist/dataParser/parsers/unknown.d.ts +11 -0
- package/dist/dataParser/parsers/unknown.mjs +14 -0
- package/dist/dataParser/types/addCheckersToDefinition.d.ts +5 -0
- package/dist/dataParser/types/checkers.d.ts +3 -0
- package/dist/dataParser/types/dataParsers.d.ts +5 -0
- package/dist/dataParser/types/index.d.ts +4 -0
- package/dist/dataParser/types/mergeDefinition.d.ts +5 -0
- package/dist/either/bool/falsy.cjs +1 -1
- package/dist/either/bool/falsy.d.ts +2 -2
- package/dist/either/bool/falsy.mjs +1 -1
- package/dist/either/bool/truthy.cjs +1 -1
- package/dist/either/bool/truthy.d.ts +2 -2
- package/dist/either/bool/truthy.mjs +1 -1
- package/dist/either/future/error.cjs +1 -1
- package/dist/either/future/error.mjs +1 -1
- package/dist/either/future/success.cjs +1 -1
- package/dist/either/future/success.mjs +1 -1
- package/dist/either/left/create.cjs +1 -1
- package/dist/either/left/create.mjs +1 -1
- package/dist/either/left/error.cjs +1 -1
- package/dist/either/left/error.mjs +1 -1
- package/dist/either/left/fail.cjs +1 -1
- package/dist/either/left/fail.mjs +1 -1
- package/dist/either/left/when.d.ts +2 -2
- package/dist/either/nullable/empty.cjs +1 -1
- package/dist/either/nullable/empty.d.ts +2 -2
- package/dist/either/nullable/empty.mjs +1 -1
- package/dist/either/nullable/filled.cjs +1 -1
- package/dist/either/nullable/filled.d.ts +2 -2
- package/dist/either/nullable/filled.mjs +1 -1
- package/dist/either/nullish/empty.cjs +1 -1
- package/dist/either/nullish/empty.d.ts +2 -2
- package/dist/either/nullish/empty.mjs +1 -1
- package/dist/either/nullish/filled.cjs +1 -1
- package/dist/either/nullish/filled.d.ts +2 -2
- package/dist/either/nullish/filled.mjs +1 -1
- package/dist/either/optional/empty.cjs +1 -1
- package/dist/either/optional/empty.d.ts +2 -2
- package/dist/either/optional/empty.mjs +1 -1
- package/dist/either/optional/filled.cjs +1 -1
- package/dist/either/optional/filled.d.ts +2 -2
- package/dist/either/optional/filled.mjs +1 -1
- package/dist/either/right/asyncPipe.d.ts +2 -2
- package/dist/either/right/create.cjs +1 -1
- package/dist/either/right/create.mjs +1 -1
- package/dist/either/right/ok.cjs +1 -1
- package/dist/either/right/ok.mjs +1 -1
- package/dist/either/right/success.cjs +1 -1
- package/dist/either/right/success.mjs +1 -1
- package/dist/either/right/when.d.ts +2 -2
- package/dist/either/whenHasInformation.d.ts +2 -2
- package/dist/generator/reduce.cjs +1 -1
- package/dist/generator/reduce.mjs +1 -1
- package/dist/index.cjs +18 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.mjs +14 -1
- package/dist/object/entry.cjs +7 -0
- package/dist/object/entry.d.ts +2 -0
- package/dist/object/entry.mjs +5 -0
- package/dist/object/fromEntries.d.ts +1 -1
- package/dist/object/index.cjs +2 -0
- package/dist/object/index.d.ts +1 -0
- package/dist/object/index.mjs +1 -0
- package/dist/object/keys.cjs +4 -1
- package/dist/object/keys.d.ts +1 -1
- package/dist/object/keys.mjs +4 -1
- package/dist/object/types/getPropsWithValueExtends.d.ts +1 -1
- package/dist/pattern/result.cjs +1 -1
- package/dist/pattern/result.d.ts +1 -1
- package/dist/pattern/result.mjs +1 -1
- package/dist/pattern/when.d.ts +2 -2
- package/package.json +64 -3
package/dist/array/index.cjs
CHANGED
|
@@ -49,6 +49,7 @@ var insert$1 = require('./findAndSplice/insert.cjs');
|
|
|
49
49
|
var replace$1 = require('./findAndSplice/replace.cjs');
|
|
50
50
|
var sum = require('./sum.cjs');
|
|
51
51
|
var length = require('./length.cjs');
|
|
52
|
+
var coalescing = require('./coalescing.cjs');
|
|
52
53
|
|
|
53
54
|
|
|
54
55
|
|
|
@@ -103,3 +104,4 @@ exports.findAndSpliceInsert = insert$1.findAndSpliceInsert;
|
|
|
103
104
|
exports.findAndSpliceReplace = replace$1.findAndSpliceReplace;
|
|
104
105
|
exports.sum = sum.sum;
|
|
105
106
|
exports.length = length.length;
|
|
107
|
+
exports.coalescing = coalescing.coalescing;
|
package/dist/array/index.d.ts
CHANGED
package/dist/array/index.mjs
CHANGED
package/dist/array/map.cjs
CHANGED
|
@@ -6,7 +6,7 @@ function map(...args) {
|
|
|
6
6
|
return (array) => map(array, theFunction);
|
|
7
7
|
}
|
|
8
8
|
const [array, theFunction] = args;
|
|
9
|
-
return array.map((
|
|
9
|
+
return array.map((element, index) => theFunction(element, { index }));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
exports.map = map;
|
package/dist/array/map.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface ArrayMapParams {
|
|
2
2
|
index: number;
|
|
3
3
|
}
|
|
4
|
-
export declare function map<GenericArray extends readonly unknown[], GenericOutput extends unknown>(theFunction: (
|
|
5
|
-
export declare function map<GenericElement extends unknown, GenericOutput extends unknown>(array: readonly GenericElement[], theFunction: (
|
|
4
|
+
export declare function map<GenericArray extends readonly unknown[], GenericOutput extends unknown>(theFunction: (element: GenericArray[number], params: ArrayMapParams) => GenericOutput): (array: GenericArray) => GenericOutput[];
|
|
5
|
+
export declare function map<GenericElement extends unknown, GenericOutput extends unknown>(array: readonly GenericElement[], theFunction: (element: GenericElement, params: ArrayMapParams) => GenericOutput): GenericOutput[];
|
|
6
6
|
export {};
|
package/dist/array/map.mjs
CHANGED
|
@@ -4,7 +4,7 @@ function map(...args) {
|
|
|
4
4
|
return (array) => map(array, theFunction);
|
|
5
5
|
}
|
|
6
6
|
const [array, theFunction] = args;
|
|
7
|
-
return array.map((
|
|
7
|
+
return array.map((element, index) => theFunction(element, { index }));
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export { map };
|
package/dist/array/reduce.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var override = require('../object/override.cjs');
|
|
|
7
7
|
|
|
8
8
|
const arrayReduceFromKind = kind.createKind("array-reduce-from");
|
|
9
9
|
function reduceFrom(value) {
|
|
10
|
-
return arrayReduceFromKind.
|
|
10
|
+
return arrayReduceFromKind.setTo(wrapValue.wrapValue(value));
|
|
11
11
|
}
|
|
12
12
|
function reduce(...args) {
|
|
13
13
|
if (args.length === 2) {
|
package/dist/array/reduce.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { override } from '../object/override.mjs';
|
|
|
5
5
|
|
|
6
6
|
const arrayReduceFromKind = createKind("array-reduce-from");
|
|
7
7
|
function reduceFrom(value) {
|
|
8
|
-
return arrayReduceFromKind.
|
|
8
|
+
return arrayReduceFromKind.setTo(wrapValue(value));
|
|
9
9
|
}
|
|
10
10
|
function reduce(...args) {
|
|
11
11
|
if (args.length === 2) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ArrayCoalescing<GenericValue extends unknown> = GenericValue extends readonly any[] ? GenericValue : [GenericValue];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function escapeRegExp(
|
|
1
|
+
export declare function escapeRegExp<GenericInput extends string>(input: GenericInput): string;
|
package/dist/common/index.d.ts
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var coalescing = require('../array/coalescing.cjs');
|
|
4
|
+
|
|
5
|
+
function instanceOf(...args) {
|
|
6
|
+
if (args.length === 1) {
|
|
7
|
+
const [constructor] = args;
|
|
8
|
+
return (input) => instanceOf(input, constructor);
|
|
9
|
+
}
|
|
10
|
+
const [input, constructor] = args;
|
|
11
|
+
const formattedConstructor = coalescing.coalescing(constructor);
|
|
12
|
+
for (const constructor of formattedConstructor) {
|
|
13
|
+
if (input instanceof constructor) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
exports.instanceOf = instanceOf;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type AnyConstructor } from "./types";
|
|
2
|
+
export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(constructor: GenericConstructor | GenericConstructor[]): (input: GenericInput) => input is Extract<GenericInput, InstanceType<GenericConstructor>>;
|
|
3
|
+
export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(input: GenericInput, constructor: GenericConstructor | GenericConstructor[]): input is Extract<GenericInput, InstanceType<GenericConstructor>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { coalescing } from '../array/coalescing.mjs';
|
|
2
|
+
|
|
3
|
+
function instanceOf(...args) {
|
|
4
|
+
if (args.length === 1) {
|
|
5
|
+
const [constructor] = args;
|
|
6
|
+
return (input) => instanceOf(input, constructor);
|
|
7
|
+
}
|
|
8
|
+
const [input, constructor] = args;
|
|
9
|
+
const formattedConstructor = coalescing(constructor);
|
|
10
|
+
for (const constructor of formattedConstructor) {
|
|
11
|
+
if (input instanceof constructor) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { instanceOf };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type AnyValue } from "./types";
|
|
2
|
+
export declare function justReturn<GenericValue extends AnyValue>(value: GenericValue): (input: unknown) => GenericValue;
|
|
3
|
+
export declare function justReturn<GenericValue extends AnyValue>(input: unknown, value: GenericValue): GenericValue;
|
package/dist/common/kind.cjs
CHANGED
|
@@ -6,7 +6,10 @@ const keyKindPrefix = `${wrapValue.keyWrappedValue}/kind/`;
|
|
|
6
6
|
function createKind(name) {
|
|
7
7
|
const runTimeKey = `${keyKindPrefix}${name}`;
|
|
8
8
|
return {
|
|
9
|
-
definition:
|
|
9
|
+
definition: {
|
|
10
|
+
name,
|
|
11
|
+
value: null,
|
|
12
|
+
},
|
|
10
13
|
runTimeKey,
|
|
11
14
|
addTo(input, value = null) {
|
|
12
15
|
return {
|
|
@@ -14,6 +17,10 @@ function createKind(name) {
|
|
|
14
17
|
[runTimeKey]: value,
|
|
15
18
|
};
|
|
16
19
|
},
|
|
20
|
+
setTo(input, value = null) {
|
|
21
|
+
input[runTimeKey] = value;
|
|
22
|
+
return input;
|
|
23
|
+
},
|
|
17
24
|
has(input) {
|
|
18
25
|
return input
|
|
19
26
|
&& typeof input === "object"
|
|
@@ -24,6 +31,36 @@ function createKind(name) {
|
|
|
24
31
|
},
|
|
25
32
|
};
|
|
26
33
|
}
|
|
34
|
+
function kindHeritage(uniqueName, kind) {
|
|
35
|
+
const uniqueKind = createKind(uniqueName);
|
|
36
|
+
const kinds = kind instanceof Array
|
|
37
|
+
? kind
|
|
38
|
+
: [kind];
|
|
39
|
+
const ParentKindClass = (function ParentKindClass(params = {}) {
|
|
40
|
+
for (const kind of kinds) {
|
|
41
|
+
this[kind.runTimeKey] = params[kind.definition.name] ?? null;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
kinds.forEach((value) => {
|
|
45
|
+
ParentKindClass.prototype[value.runTimeKey] = null;
|
|
46
|
+
});
|
|
47
|
+
ParentKindClass.prototype[uniqueKind.runTimeKey] = null;
|
|
48
|
+
Object.defineProperty(ParentKindClass, Symbol.hasInstance, {
|
|
49
|
+
value: (value) => {
|
|
50
|
+
if (!uniqueKind.has(value)) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
for (const kind of kinds) {
|
|
54
|
+
if (!kind.has(value)) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
return ParentKindClass;
|
|
62
|
+
}
|
|
27
63
|
|
|
28
64
|
exports.createKind = createKind;
|
|
29
65
|
exports.keyKindPrefix = keyKindPrefix;
|
|
66
|
+
exports.kindHeritage = kindHeritage;
|
package/dist/common/kind.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Or, type IsEqual } from "./types";
|
|
2
|
-
|
|
1
|
+
import { type Or, type IsEqual, type BreakGenericLink, type Adaptor, type UnionToIntersection } from "./types";
|
|
2
|
+
import { type GetPropsWithValue, type PartialKeys } from "../object";
|
|
3
|
+
export interface KindHandler<GenericKindDefinition extends KindDefinition = KindDefinition> {
|
|
3
4
|
definition: GenericKindDefinition;
|
|
4
5
|
runTimeKey: string;
|
|
5
6
|
has<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, Kind<GenericKindDefinition, GenericKindDefinition["value"]>>;
|
|
@@ -7,7 +8,15 @@ export interface KindHandler<GenericKindDefinition extends KindDefinition> {
|
|
|
7
8
|
IsEqual<GenericValue, never>,
|
|
8
9
|
IsEqual<GenericValue, unknown>,
|
|
9
10
|
IsEqual<GenericValue, any>
|
|
10
|
-
]> extends true ? [input: GenericInput, value?: GenericValue] : [input: GenericInput, value: GenericValue]): Kind<GenericKindDefinition, GenericValue> & GenericInput
|
|
11
|
+
]> extends true ? [input: GenericInput, value?: GenericValue] : [input: GenericInput, value: GenericValue]): Kind<GenericKindDefinition, GenericValue> & BreakGenericLink<GenericInput>;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated This method make mutation.
|
|
14
|
+
*/
|
|
15
|
+
setTo<GenericInput extends {}, GenericValue extends GenericKindDefinition["value"] = GenericKindDefinition["value"]>(...args: Or<[
|
|
16
|
+
IsEqual<GenericValue, never>,
|
|
17
|
+
IsEqual<GenericValue, unknown>,
|
|
18
|
+
IsEqual<GenericValue, any>
|
|
19
|
+
]> extends true ? [input: GenericInput, value?: GenericValue] : [input: GenericInput, value: GenericValue]): Kind<GenericKindDefinition, GenericValue> & BreakGenericLink<GenericInput>;
|
|
11
20
|
getValue<GenericKind extends Kind<GenericKindDefinition, GenericKindDefinition["value"]>>(input: GenericKind): GenericKind[SymbolKind][GenericKindDefinition["name"]];
|
|
12
21
|
}
|
|
13
22
|
export interface KindDefinition<GenericName extends string = string, GenericValue extends unknown = unknown> {
|
|
@@ -16,11 +25,20 @@ export interface KindDefinition<GenericName extends string = string, GenericValu
|
|
|
16
25
|
}
|
|
17
26
|
declare const SymbolKind: unique symbol;
|
|
18
27
|
type SymbolKind = typeof SymbolKind;
|
|
19
|
-
export interface Kind<GenericKindDefinition extends KindDefinition, GenericValue extends
|
|
28
|
+
export interface Kind<GenericKindDefinition extends KindDefinition, GenericValue extends GenericKindDefinition["value"] = GenericKindDefinition["value"]> {
|
|
20
29
|
[SymbolKind]: {
|
|
21
30
|
[Prop in GenericKindDefinition["name"]]: GenericValue;
|
|
22
31
|
};
|
|
23
32
|
}
|
|
33
|
+
export type RemoveKind<GenericObject extends Kind<any>> = Omit<GenericObject, SymbolKind>;
|
|
34
|
+
export type GetKindValue<GenericKindHandler extends KindHandler, GenericObject extends Kind<any>> = GenericObject[SymbolKind][GenericKindHandler["definition"]["name"]];
|
|
35
|
+
export type GetKindHandler<GenericObject extends Kind<any>> = {
|
|
36
|
+
[Prop in keyof GenericObject[SymbolKind]]: KindHandler<KindDefinition<Adaptor<Prop, string>, GenericObject[SymbolKind][Prop]>>;
|
|
37
|
+
}[keyof GenericObject[SymbolKind]];
|
|
24
38
|
export declare const keyKindPrefix = "@duplojs/utils/value/kind/";
|
|
25
39
|
export declare function createKind<GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName): KindHandler<KindDefinition<GenericName, GenericKindValue>>;
|
|
40
|
+
export type KindHeritageConstructorParams<GenericKindHandler extends KindHandler> = {
|
|
41
|
+
[KindHandler in GenericKindHandler as KindHandler["definition"]["name"]]: KindHandler["definition"]["value"];
|
|
42
|
+
} extends infer InferredResult extends object ? PartialKeys<InferredResult, GetPropsWithValue<InferredResult, unknown>> : never;
|
|
43
|
+
export declare function kindHeritage<GenericUniqueName extends string, GenericKindHandler extends KindHandler>(uniqueName: GenericUniqueName, kind: GenericKindHandler | GenericKindHandler[]): new (...args: IsEqual<GenericKindHandler extends KindHandler ? IsEqual<GenericKindHandler["definition"]["value"], unknown> : never, true> extends true ? [params?: KindHeritageConstructorParams<GenericKindHandler>] : [params: KindHeritageConstructorParams<GenericKindHandler>]) => UnionToIntersection<(GenericKindHandler extends KindHandler ? Kind<GenericKindHandler["definition"]> : never) | Kind<KindDefinition<GenericUniqueName, unknown>>>;
|
|
26
44
|
export {};
|
package/dist/common/kind.mjs
CHANGED
|
@@ -4,7 +4,10 @@ const keyKindPrefix = `${keyWrappedValue}/kind/`;
|
|
|
4
4
|
function createKind(name) {
|
|
5
5
|
const runTimeKey = `${keyKindPrefix}${name}`;
|
|
6
6
|
return {
|
|
7
|
-
definition:
|
|
7
|
+
definition: {
|
|
8
|
+
name,
|
|
9
|
+
value: null,
|
|
10
|
+
},
|
|
8
11
|
runTimeKey,
|
|
9
12
|
addTo(input, value = null) {
|
|
10
13
|
return {
|
|
@@ -12,6 +15,10 @@ function createKind(name) {
|
|
|
12
15
|
[runTimeKey]: value,
|
|
13
16
|
};
|
|
14
17
|
},
|
|
18
|
+
setTo(input, value = null) {
|
|
19
|
+
input[runTimeKey] = value;
|
|
20
|
+
return input;
|
|
21
|
+
},
|
|
15
22
|
has(input) {
|
|
16
23
|
return input
|
|
17
24
|
&& typeof input === "object"
|
|
@@ -22,5 +29,34 @@ function createKind(name) {
|
|
|
22
29
|
},
|
|
23
30
|
};
|
|
24
31
|
}
|
|
32
|
+
function kindHeritage(uniqueName, kind) {
|
|
33
|
+
const uniqueKind = createKind(uniqueName);
|
|
34
|
+
const kinds = kind instanceof Array
|
|
35
|
+
? kind
|
|
36
|
+
: [kind];
|
|
37
|
+
const ParentKindClass = (function ParentKindClass(params = {}) {
|
|
38
|
+
for (const kind of kinds) {
|
|
39
|
+
this[kind.runTimeKey] = params[kind.definition.name] ?? null;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
kinds.forEach((value) => {
|
|
43
|
+
ParentKindClass.prototype[value.runTimeKey] = null;
|
|
44
|
+
});
|
|
45
|
+
ParentKindClass.prototype[uniqueKind.runTimeKey] = null;
|
|
46
|
+
Object.defineProperty(ParentKindClass, Symbol.hasInstance, {
|
|
47
|
+
value: (value) => {
|
|
48
|
+
if (!uniqueKind.has(value)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
for (const kind of kinds) {
|
|
52
|
+
if (!kind.has(value)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
return ParentKindClass;
|
|
60
|
+
}
|
|
25
61
|
|
|
26
|
-
export { createKind, keyKindPrefix };
|
|
62
|
+
export { createKind, keyKindPrefix, kindHeritage };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function memo(theFunction) {
|
|
4
|
+
const payload = {
|
|
5
|
+
get value() {
|
|
6
|
+
const value = theFunction();
|
|
7
|
+
Object.defineProperty(payload, "value", {
|
|
8
|
+
value,
|
|
9
|
+
});
|
|
10
|
+
return value;
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
return payload;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.memo = memo;
|
|
@@ -7,8 +7,8 @@ function simpleClone(unknownValue) {
|
|
|
7
7
|
else if (typeof unknownValue !== "object") {
|
|
8
8
|
return unknownValue;
|
|
9
9
|
}
|
|
10
|
-
else if (unknownValue.constructor
|
|
11
|
-
|| unknownValue.constructor ===
|
|
10
|
+
else if (unknownValue.constructor === undefined
|
|
11
|
+
|| unknownValue.constructor.name === "Object") {
|
|
12
12
|
return Object.entries(unknownValue).reduce((pv, [key, value]) => {
|
|
13
13
|
pv[key] = simpleClone(value);
|
|
14
14
|
return pv;
|
|
@@ -5,8 +5,8 @@ function simpleClone(unknownValue) {
|
|
|
5
5
|
else if (typeof unknownValue !== "object") {
|
|
6
6
|
return unknownValue;
|
|
7
7
|
}
|
|
8
|
-
else if (unknownValue.constructor
|
|
9
|
-
|| unknownValue.constructor ===
|
|
8
|
+
else if (unknownValue.constructor === undefined
|
|
9
|
+
|| unknownValue.constructor.name === "Object") {
|
|
10
10
|
return Object.entries(unknownValue).reduce((pv, [key, value]) => {
|
|
11
11
|
pv[key] = simpleClone(value);
|
|
12
12
|
return pv;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type AnyConstructor<GenericArgs extends any[] = any[], GenericInstance extends any = any> = new (...args: GenericArgs) => GenericInstance;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type AnyPredicate<GenericInput extends any = any, GenericArgs extends any[] = any[], GenericPredicate extends GenericInput = any> = (input: GenericInput, ...args: GenericArgs) => input is GenericPredicate;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type ObjectKey } from "./objectKey";
|
|
2
|
-
export type ObjectEntry = [ObjectKey, any];
|
|
2
|
+
export type ObjectEntry = readonly [ObjectKey, any];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Predicate<GenericFunction extends (input: any, ...args: any[]) => input is any> = GenericFunction extends (input: any, ...args: any[]) => input is infer InferredPredicate ? InferredPredicate : never;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type IsEqual } from "./isEqual";
|
|
2
|
-
export type UnionContain<GenericUnion extends unknown, GenericValue extends unknown> = IsEqual<GenericUnion extends any ? IsEqual<GenericUnion, GenericValue> : never, boolean>;
|
|
2
|
+
export type UnionContain<GenericUnion extends unknown, GenericValue extends unknown> = IsEqual<(GenericUnion extends any ? IsEqual<GenericUnion, GenericValue> : never) | false, boolean>;
|
package/dist/common/when.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type EscapeVoid, type AnyValue } from "./types";
|
|
2
|
-
export declare function when<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<GenericInput
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type BreakGenericLink } from "./types";
|
|
2
|
+
export declare function when<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<BreakGenericLink<GenericInput>, GenericPredicatedInput>;
|
|
3
3
|
export declare function when<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput): GenericOutput | Exclude<GenericInput, GenericPredicatedInput>;
|
|
4
4
|
export declare function when<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): (input: GenericInput) => GenericOutput | GenericInput;
|
|
5
5
|
export declare function when<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): GenericOutput | GenericInput;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function whenElse(...args) {
|
|
4
|
+
if (args.length === 3) {
|
|
5
|
+
const [ifFunction, theFunction, elseFunction] = args;
|
|
6
|
+
return (input) => whenElse(input, ifFunction, theFunction, elseFunction);
|
|
7
|
+
}
|
|
8
|
+
const [input, ifFunction, theFunction, elseFunction] = args;
|
|
9
|
+
if (ifFunction(input)) {
|
|
10
|
+
return theFunction(input);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return elseFunction(input);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.whenElse = whenElse;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type BreakGenericLink } from "./types";
|
|
2
|
+
export declare function whenElse<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput1 extends AnyValue | EscapeVoid, GenericOutput2 extends AnyValue | EscapeVoid>(predicate: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput1, elseFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput2): (input: GenericInput) => BreakGenericLink<GenericOutput1> | BreakGenericLink<GenericOutput2>;
|
|
3
|
+
export declare function whenElse<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput1 extends AnyValue | EscapeVoid, GenericOutput2 extends AnyValue | EscapeVoid>(input: GenericInput, predicate: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput1, elseFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput2): GenericOutput1 | GenericOutput2;
|
|
4
|
+
export declare function whenElse<GenericInput extends AnyValue, GenericOutput1 extends AnyValue | EscapeVoid, GenericOutput2 extends AnyValue | EscapeVoid>(predicate: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput1, elseFunction: (predicatedInput: GenericInput) => GenericOutput2): (input: GenericInput) => GenericOutput1 | GenericOutput2;
|
|
5
|
+
export declare function whenElse<GenericInput extends AnyValue, GenericOutput1 extends AnyValue | EscapeVoid, GenericOutput2 extends AnyValue | EscapeVoid>(input: GenericInput, predicate: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput1, elseFunction: (predicatedInput: GenericInput) => GenericOutput2): BreakGenericLink<GenericOutput1> | BreakGenericLink<GenericOutput2>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function whenElse(...args) {
|
|
2
|
+
if (args.length === 3) {
|
|
3
|
+
const [ifFunction, theFunction, elseFunction] = args;
|
|
4
|
+
return (input) => whenElse(input, ifFunction, theFunction, elseFunction);
|
|
5
|
+
}
|
|
6
|
+
const [input, ifFunction, theFunction, elseFunction] = args;
|
|
7
|
+
if (ifFunction(input)) {
|
|
8
|
+
return theFunction(input);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return elseFunction(input);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { whenElse };
|
package/dist/common/whenNot.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type EscapeVoid, type AnyValue } from "./types";
|
|
2
|
-
export declare function whenNot<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput): (input: GenericInput) => GenericOutput | GenericPredicatedInput
|
|
1
|
+
import { type EscapeVoid, type AnyValue, type BreakGenericLink } from "./types";
|
|
2
|
+
export declare function whenNot<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput): (input: GenericInput) => GenericOutput | BreakGenericLink<GenericPredicatedInput>;
|
|
3
3
|
export declare function whenNot<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput): GenericOutput | GenericPredicatedInput;
|
|
4
4
|
export declare function whenNot<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): (input: GenericInput) => GenericOutput | GenericInput;
|
|
5
5
|
export declare function whenNot<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): GenericOutput | GenericInput;
|