@duplojs/lang 0.0.1-beta.8 → 0.1.0-beta.1
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/concat.d.ts +2 -2
- package/dist/array/flat.d.ts +1 -1
- package/dist/array/flatMap.d.ts +2 -2
- package/dist/array/from.d.ts +1 -1
- package/dist/array/length.d.ts +3 -2
- package/dist/array/push.d.ts +4 -2
- package/dist/chrono/operators/addTime.d.ts +2 -4
- package/dist/common/constraint/cast/index.d.ts +5 -5
- package/dist/common/constraint/cast/string.d.ts +4 -0
- package/dist/common/constraint/infer/index.d.ts +2 -1
- package/dist/common/constraint/infer/string.d.ts +1 -0
- package/dist/common/constraint/types/index.d.ts +1 -0
- package/dist/common/constraint/types/maybe.d.ts +2 -0
- package/dist/common/formData.d.ts +2 -1
- package/dist/common/memo.cjs +3 -2
- package/dist/common/memo.mjs +3 -2
- package/dist/common/memoPromise.cjs +3 -2
- package/dist/common/memoPromise.mjs +3 -2
- package/dist/common/timeout.cjs +2 -2
- package/dist/common/timeout.d.ts +1 -1
- package/dist/common/timeout.mjs +2 -2
- package/dist/common/types/applyPromiseIf.d.ts +1 -0
- package/dist/common/types/index.d.ts +2 -0
- package/dist/common/types/isObject.d.ts +8 -0
- package/dist/common/types/json.d.ts +12 -1
- package/dist/dataStructure/common/codec/base.cjs +2 -2
- package/dist/dataStructure/common/codec/base.mjs +2 -2
- package/dist/dataStructure/common/codec/defaults/string.cjs +1 -1
- package/dist/dataStructure/common/codec/defaults/string.d.ts +1 -1
- package/dist/dataStructure/common/codec/defaults/string.mjs +1 -1
- package/dist/dataStructure/common/{error.cjs → error/base.cjs} +22 -5
- package/dist/dataStructure/common/{error.d.ts → error/base.d.ts} +18 -9
- package/dist/dataStructure/common/{error.mjs → error/base.mjs} +21 -6
- package/dist/dataStructure/common/error/defaultInterpreter.cjs +87 -0
- package/dist/dataStructure/common/error/defaultInterpreter.d.ts +60 -0
- package/dist/dataStructure/common/error/defaultInterpreter.mjs +86 -0
- package/dist/dataStructure/common/error/index.d.ts +3 -0
- package/dist/dataStructure/common/error/interpreter.cjs +44 -0
- package/dist/dataStructure/common/error/interpreter.d.ts +32 -0
- package/dist/dataStructure/common/error/interpreter.mjs +44 -0
- package/dist/dataStructure/common/index.d.ts +0 -1
- package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -3
- package/dist/dataStructure/constraint/types/constraints.d.ts +1 -0
- package/dist/dataStructure/fundamentalType/types/fundamentalTypes.d.ts +1 -0
- package/dist/dataStructure/helpers/extend.cjs +1 -1
- package/dist/dataStructure/helpers/extend.d.ts +1 -1
- package/dist/dataStructure/helpers/extend.mjs +1 -1
- package/dist/dataStructure/helpers/index.d.ts +6 -2
- package/dist/dataStructure/helpers/isNullable.cjs +12 -0
- package/dist/dataStructure/helpers/isNullable.d.ts +2 -0
- package/dist/dataStructure/helpers/isNullable.mjs +12 -0
- package/dist/dataStructure/helpers/isOptional.cjs +12 -0
- package/dist/dataStructure/helpers/isOptional.d.ts +2 -0
- package/dist/dataStructure/helpers/isOptional.mjs +12 -0
- package/dist/dataStructure/helpers/partial.cjs +1 -1
- package/dist/dataStructure/helpers/partial.mjs +1 -1
- package/dist/dataStructure/helpers/required.cjs +1 -1
- package/dist/dataStructure/helpers/required.mjs +1 -1
- package/dist/dataStructure/helpers/typeStructureIdentifier.cjs +14 -0
- package/dist/dataStructure/helpers/typeStructureIdentifier.d.ts +6 -0
- package/dist/dataStructure/helpers/typeStructureIdentifier.mjs +14 -0
- package/dist/dataStructure/helpers/unwrapLazy.cjs +9 -0
- package/dist/dataStructure/helpers/unwrapLazy.d.ts +2 -0
- package/dist/dataStructure/helpers/unwrapLazy.mjs +9 -0
- package/dist/dataStructure/index.cjs +56 -35
- package/dist/dataStructure/index.mjs +18 -5
- package/dist/dataStructure/structure/base.cjs +31 -19
- package/dist/dataStructure/structure/base.d.ts +16 -16
- package/dist/dataStructure/structure/base.mjs +25 -13
- package/dist/dataStructure/structure/defaults/array.cjs +10 -0
- package/dist/dataStructure/structure/defaults/array.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/array.mjs +10 -0
- package/dist/dataStructure/structure/defaults/lazy.cjs +1 -0
- package/dist/dataStructure/structure/defaults/lazy.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/lazy.mjs +1 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +1 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +1 -0
- package/dist/dataStructure/structure/defaults/object.cjs +18 -7
- package/dist/dataStructure/structure/defaults/object.d.ts +3 -2
- package/dist/dataStructure/structure/defaults/object.mjs +18 -7
- package/dist/dataStructure/structure/defaults/record.cjs +20 -7
- package/dist/dataStructure/structure/defaults/record.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/record.mjs +20 -7
- package/dist/dataStructure/structure/defaults/type.cjs +1 -0
- package/dist/dataStructure/structure/defaults/type.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/type.mjs +1 -0
- package/dist/dataStructure/structure/defaults/union.cjs +26 -6
- package/dist/dataStructure/structure/defaults/union.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/union.mjs +21 -1
- package/dist/dataStructure/structure/types/value.d.ts +2 -0
- package/dist/dataStructure/type/types/types.d.ts +1 -0
- package/dist/either/index.cjs +29 -7
- package/dist/either/index.d.ts +4 -0
- package/dist/either/index.mjs +22 -8
- package/dist/either/left/create.d.ts +2 -1
- package/dist/either/left/index.d.ts +3 -2
- package/dist/either/left/none.cjs +15 -0
- package/dist/either/left/none.d.ts +7 -0
- package/dist/either/left/none.mjs +14 -0
- package/dist/either/matchInformationOtherwise.d.ts +1 -1
- package/dist/either/rewriteInformation.cjs +22 -0
- package/dist/either/rewriteInformation.d.ts +14 -0
- package/dist/either/rewriteInformation.mjs +22 -0
- package/dist/either/right/asyncGroup.cjs +2 -2
- package/dist/either/right/asyncGroup.mjs +2 -2
- package/dist/either/right/create.d.ts +2 -1
- package/dist/either/right/group.cjs +1 -1
- package/dist/either/right/group.mjs +1 -1
- package/dist/either/right/index.d.ts +6 -5
- package/dist/either/right/some.cjs +15 -0
- package/dist/either/right/some.d.ts +7 -0
- package/dist/either/right/some.mjs +14 -0
- package/dist/either/toMaybe.cjs +12 -0
- package/dist/either/toMaybe.d.ts +5 -0
- package/dist/either/toMaybe.mjs +12 -0
- package/dist/either/types/index.d.ts +1 -0
- package/dist/either/types/mayBe.d.ts +3 -0
- package/dist/either/unwrapOr.cjs +14 -0
- package/dist/either/unwrapOr.d.ts +8 -0
- package/dist/either/unwrapOr.mjs +14 -0
- package/dist/either/unwrapOtherwise.cjs +14 -0
- package/dist/either/unwrapOtherwise.d.ts +8 -0
- package/dist/either/unwrapOtherwise.mjs +14 -0
- package/dist/generator/reduce.cjs +2 -1
- package/dist/generator/reduce.mjs +1 -1
- package/dist/invocation/evidence.d.ts +1 -1
- package/dist/invocation/flow/base.cjs +4 -4
- package/dist/invocation/flow/base.d.ts +1 -1
- package/dist/invocation/flow/base.mjs +4 -4
- package/dist/invocation/flow/controller/defaults/debounce.cjs +1 -1
- package/dist/invocation/flow/controller/defaults/debounce.mjs +1 -1
- package/dist/invocation/flow/controller/defaults/throttling.cjs +1 -1
- package/dist/invocation/flow/controller/defaults/throttling.mjs +1 -1
- package/dist/invocation/index.cjs +18 -8
- package/dist/invocation/index.d.ts +3 -1
- package/dist/invocation/index.mjs +12 -6
- package/dist/invocation/reader.cjs +30 -0
- package/dist/invocation/reader.d.ts +30 -0
- package/dist/invocation/reader.mjs +29 -0
- package/dist/invocation/resolver.cjs +31 -0
- package/dist/invocation/resolver.d.ts +14 -0
- package/dist/invocation/resolver.mjs +31 -0
- package/dist/invocation/signature.cjs +8 -0
- package/dist/invocation/signature.d.ts +7 -0
- package/dist/invocation/signature.mjs +8 -0
- package/dist/modeling/entity/base.cjs +22 -11
- package/dist/modeling/entity/base.d.ts +16 -8
- package/dist/modeling/entity/base.mjs +16 -5
- package/dist/modeling/entity/helper.d.ts +6 -8
- package/dist/modeling/entity/namespace.cjs +0 -2
- package/dist/modeling/entity/namespace.d.ts +0 -2
- package/dist/modeling/entity/namespace.mjs +0 -2
- package/dist/modeling/fact/base.cjs +36 -0
- package/dist/modeling/fact/base.d.ts +29 -0
- package/dist/modeling/fact/base.mjs +35 -0
- package/dist/modeling/fact/index.d.ts +1 -0
- package/dist/modeling/flag/base.cjs +2 -6
- package/dist/modeling/flag/base.d.ts +10 -11
- package/dist/modeling/flag/base.mjs +2 -6
- package/dist/modeling/index.cjs +17 -12
- package/dist/modeling/index.d.ts +1 -0
- package/dist/modeling/index.mjs +5 -2
- package/dist/modeling/newType/base.cjs +12 -11
- package/dist/modeling/newType/base.d.ts +8 -8
- package/dist/modeling/newType/base.mjs +6 -5
- package/dist/modeling/taggedObject/base.cjs +22 -11
- package/dist/modeling/taggedObject/base.d.ts +12 -7
- package/dist/modeling/taggedObject/base.mjs +16 -5
- package/dist/object/assign.d.ts +3 -3
- package/dist/object/deepOverride.cjs +33 -0
- package/dist/object/deepOverride.d.ts +20 -0
- package/dist/object/deepOverride.mjs +33 -0
- package/dist/object/entries.d.ts +3 -3
- package/dist/object/index.cjs +4 -1
- package/dist/object/index.d.ts +1 -0
- package/dist/object/index.mjs +4 -2
- package/dist/object/isSimple.cjs +1 -1
- package/dist/object/isSimple.mjs +1 -1
- package/dist/object/keys.d.ts +1 -1
- package/dist/object/override.cjs +1 -1
- package/dist/object/override.d.ts +5 -2
- package/dist/object/override.mjs +1 -1
- package/dist/object/types/assign.d.ts +2 -0
- package/dist/object/types/forbiddenKey.d.ts +1 -1
- package/dist/object/types/forbiddenUndefinedProps.d.ts +3 -0
- package/dist/object/types/hasKeySignature.d.ts +1 -0
- package/dist/object/types/index.d.ts +6 -2
- package/dist/object/types/keyofWithoutSignature.d.ts +3 -0
- package/dist/object/types/override.d.ts +4 -0
- package/dist/object/types/split.d.ts +2 -2
- package/dist/object/values.d.ts +1 -1
- package/dist/path/create.cjs +11 -0
- package/dist/path/create.d.ts +3 -0
- package/dist/path/create.mjs +11 -0
- package/dist/path/createAbsolute.cjs +12 -0
- package/dist/path/createAbsolute.d.ts +3 -0
- package/dist/path/createAbsolute.mjs +12 -0
- package/dist/path/createAbsoluteOrThrow.cjs +22 -0
- package/dist/path/createAbsoluteOrThrow.d.ts +9 -0
- package/dist/path/createAbsoluteOrThrow.mjs +21 -0
- package/dist/path/createOrThrow.cjs +22 -0
- package/dist/path/createOrThrow.d.ts +9 -0
- package/dist/path/createOrThrow.mjs +21 -0
- package/dist/path/createSegment.cjs +12 -0
- package/dist/path/createSegment.d.ts +3 -0
- package/dist/path/createSegment.mjs +12 -0
- package/dist/path/createSegmentOrThrow.cjs +22 -0
- package/dist/path/createSegmentOrThrow.d.ts +9 -0
- package/dist/path/createSegmentOrThrow.mjs +21 -0
- package/dist/path/declareAbsolutePath.cjs +6 -0
- package/dist/path/declareAbsolutePath.d.ts +3 -0
- package/dist/path/declareAbsolutePath.mjs +6 -0
- package/dist/path/declarePath.cjs +6 -0
- package/dist/path/declarePath.d.ts +3 -0
- package/dist/path/declarePath.mjs +6 -0
- package/dist/path/declareSegment.cjs +6 -0
- package/dist/path/declareSegment.d.ts +3 -0
- package/dist/path/declareSegment.mjs +6 -0
- package/dist/path/index.cjs +39 -3
- package/dist/path/index.d.ts +10 -0
- package/dist/path/index.mjs +27 -4
- package/dist/path/kind.cjs +4 -0
- package/dist/path/kind.d.ts +2 -0
- package/dist/path/kind.mjs +5 -0
- package/dist/pattern/index.cjs +6 -0
- package/dist/pattern/index.d.ts +2 -0
- package/dist/pattern/index.mjs +5 -1
- package/dist/pattern/match/builder.cjs +1 -1
- package/dist/pattern/match/builder.mjs +1 -1
- package/dist/pattern/matchWithEntityOtherwise.d.ts +2 -2
- package/dist/pattern/matchWithFact.cjs +12 -0
- package/dist/pattern/matchWithFact.d.ts +12 -0
- package/dist/pattern/matchWithFact.mjs +12 -0
- package/dist/pattern/matchWithFactOtherwise.cjs +13 -0
- package/dist/pattern/matchWithFactOtherwise.d.ts +14 -0
- package/dist/pattern/matchWithFactOtherwise.mjs +13 -0
- package/dist/pattern/matchWithNumber.d.ts +4 -4
- package/dist/pattern/matchWithNumberOtherwise.d.ts +4 -4
- package/dist/pattern/matchWithString.d.ts +4 -4
- package/dist/pattern/matchWithStringOtherwise.d.ts +4 -4
- package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +2 -2
- package/dist/pattern/types/complexUnMatchedValue/getIncompleteUnion.d.ts +8 -8
- package/dist/string/capitalize.d.ts +1 -1
- package/dist/string/concat.d.ts +2 -2
- package/dist/string/constraints/allowedCharacters.d.ts +3 -3
- package/dist/string/isComposedOf.cjs +0 -1
- package/dist/string/isComposedOf.d.ts +5 -8
- package/dist/string/isComposedOf.mjs +0 -1
- package/dist/string/prepend.d.ts +2 -2
- package/dist/string/split.cjs +1 -0
- package/dist/string/split.d.ts +3 -3
- package/dist/string/split.mjs +1 -0
- package/dist/string/toLowerCase.d.ts +1 -1
- package/dist/string/toUpperCase.d.ts +1 -1
- package/dist/string/types/IsAllowedString.d.ts +5 -0
- package/dist/string/types/index.d.ts +1 -0
- package/dist/string/uncapitalize.d.ts +1 -1
- package/dist/tuple/types/map.d.ts +1 -1
- package/package.json +16 -30
- package/dist/dataStructure/common/errorInterpreter.cjs +0 -45
- package/dist/dataStructure/common/errorInterpreter.d.ts +0 -32
- package/dist/dataStructure/common/errorInterpreter.mjs +0 -45
- package/dist/invocation/useCase.cjs +0 -26
- package/dist/invocation/useCase.d.ts +0 -28
- package/dist/invocation/useCase.mjs +0 -25
- package/dist/object/types/assignObjects.d.ts +0 -2
- /package/{README.md → README} +0 -0
|
@@ -3,7 +3,7 @@ import { left } from "../../either/left/create.mjs";
|
|
|
3
3
|
import { right } from "../../either/right/create.mjs";
|
|
4
4
|
import { justExec } from "../../common/justExec.mjs";
|
|
5
5
|
import { ErrorSymbol, SuccessSymbol } from "../../dataStructure/common/resultSymbol.mjs";
|
|
6
|
-
import { createGetErrorHandler } from "../../dataStructure/common/error.mjs";
|
|
6
|
+
import { ErrorPromise, createGetErrorHandler } from "../../dataStructure/common/error/base.mjs";
|
|
7
7
|
import { createStructure } from "../../dataStructure/structure/base.mjs";
|
|
8
8
|
import { createKind } from "../kind.mjs";
|
|
9
9
|
//#region scripts/modeling/newType/base.ts
|
|
@@ -19,6 +19,7 @@ const NewTypeStructure = createStructure(newTypeStructureKind, ({ init }) => (na
|
|
|
19
19
|
executeCheck: (self, data, errorHandler) => callThen(self.definition.inner.executeCheck(data, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : executeNewTypeConstraints(self, data, errorHandler)),
|
|
20
20
|
executeEncode: (self, codec, data, errorHandler) => callThen(self.definition.inner.executeEncode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === ErrorSymbol ? ErrorSymbol : callThen(executeNewTypeConstraints(self, data, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : callThen(self.executeConstraints(data, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : awaitedInnerResult))),
|
|
21
21
|
executeDecode: (self, codec, data, errorHandler) => callThen(self.definition.inner.executeDecode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === ErrorSymbol ? ErrorSymbol : callThen(executeNewTypeConstraints(self, awaitedInnerResult, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : callThen(self.executeConstraints(awaitedInnerResult, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : awaitedInnerResult))),
|
|
22
|
+
executeParse: (self, codecContext, data, errorHandler) => callThen(self.definition.inner.executeParse(codecContext, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === ErrorSymbol ? ErrorSymbol : callThen(executeNewTypeConstraints(self, awaitedInnerResult, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : callThen(self.executeConstraints(awaitedInnerResult, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : awaitedInnerResult))),
|
|
22
23
|
isAsynchronous: (self) => self.definition.inner.isAsynchronous() || self.definition.newTypeConstraints.some((value) => value.isAsynchronous())
|
|
23
24
|
}, {
|
|
24
25
|
name,
|
|
@@ -30,14 +31,14 @@ const NewTypeStructure = createStructure(newTypeStructureKind, ({ init }) => (na
|
|
|
30
31
|
const errorHandler = createGetErrorHandler();
|
|
31
32
|
const [codecs, data] = args;
|
|
32
33
|
const result = self.executeDecode(codecs.context.value, data, errorHandler);
|
|
33
|
-
if (result instanceof Promise) return left("async-error",
|
|
34
|
+
if (result instanceof Promise) return left("async-error", new ErrorPromise());
|
|
34
35
|
if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
35
36
|
return right("map-success", result);
|
|
36
37
|
},
|
|
37
38
|
map: (self, data) => {
|
|
38
39
|
const errorHandler = createGetErrorHandler();
|
|
39
40
|
const result = self.executeCheck(data, errorHandler);
|
|
40
|
-
if (result instanceof Promise) return left("async-error",
|
|
41
|
+
if (result instanceof Promise) return left("async-error", new ErrorPromise());
|
|
41
42
|
if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
42
43
|
return right("map-success", data);
|
|
43
44
|
},
|
|
@@ -54,11 +55,11 @@ const NewTypeStructure = createStructure(newTypeStructureKind, ({ init }) => (na
|
|
|
54
55
|
return right("map-success", result);
|
|
55
56
|
});
|
|
56
57
|
},
|
|
57
|
-
asyncMap: (self, data) =>
|
|
58
|
+
asyncMap: async (self, data) => {
|
|
58
59
|
const errorHandler = createGetErrorHandler();
|
|
59
60
|
if (await self.executeCheck(data, errorHandler) === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
60
61
|
return right("map-success", data);
|
|
61
|
-
}
|
|
62
|
+
}
|
|
62
63
|
}));
|
|
63
64
|
//#endregion
|
|
64
65
|
export { NewTypeStructure, newTypeStructureKind };
|
|
@@ -3,15 +3,15 @@ const require_create = require("../../either/left/create.cjs");
|
|
|
3
3
|
const require_create$1 = require("../../either/right/create.cjs");
|
|
4
4
|
const require_justExec = require("../../common/justExec.cjs");
|
|
5
5
|
const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
|
|
6
|
-
const
|
|
7
|
-
const require_base = require("../../dataStructure/structure/base.cjs");
|
|
6
|
+
const require_base = require("../../dataStructure/common/error/base.cjs");
|
|
7
|
+
const require_base$1 = require("../../dataStructure/structure/base.cjs");
|
|
8
8
|
const require_nonEncodableString = require("../../dataStructure/structure/defaults/nonEncodableString.cjs");
|
|
9
9
|
const require_object = require("../../dataStructure/structure/defaults/object.cjs");
|
|
10
10
|
const require_kind = require("../kind.cjs");
|
|
11
11
|
//#region scripts/modeling/taggedObject/base.ts
|
|
12
12
|
const objectTagKind = require_kind.createKind("object-tag");
|
|
13
13
|
const taggedObjectStructureKind = require_kind.createKind("tagged-object-structure");
|
|
14
|
-
const TaggedObjectStructure = require_base.createStructure(taggedObjectStructureKind, ({ init }) => (name, shape) => init({
|
|
14
|
+
const TaggedObjectStructure = require_base$1.createStructure(taggedObjectStructureKind, ({ init }) => (name, shape) => init({
|
|
15
15
|
inner: require_object.ObjectStructure({
|
|
16
16
|
...shape,
|
|
17
17
|
[objectTagKind.runTimeKey]: require_nonEncodableString.NonEncodableStringStructure(name)
|
|
@@ -21,6 +21,7 @@ const TaggedObjectStructure = require_base.createStructure(taggedObjectStructure
|
|
|
21
21
|
executeCheck: (self, data, errorHandler) => self.definition.inner.executeCheck(data, errorHandler),
|
|
22
22
|
executeEncode: (self, codecContext, data, errorHandler) => self.definition.inner.executeEncode(codecContext, data, errorHandler),
|
|
23
23
|
executeDecode: (self, codecContext, data, errorHandler) => self.definition.inner.executeDecode(codecContext, data, errorHandler),
|
|
24
|
+
executeParse: (self, codecContext, data, errorHandler) => self.definition.inner.executeParse(codecContext, data, errorHandler),
|
|
24
25
|
isAsynchronous: (self) => self.definition.inner.isAsynchronous()
|
|
25
26
|
}, {
|
|
26
27
|
name,
|
|
@@ -33,24 +34,24 @@ const TaggedObjectStructure = require_base.createStructure(taggedObjectStructure
|
|
|
33
34
|
const [codecs] = args;
|
|
34
35
|
return (value) => self.decodeMap(codecs, value);
|
|
35
36
|
}
|
|
36
|
-
const errorHandler =
|
|
37
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
37
38
|
const [codecs, data] = args;
|
|
38
39
|
const result = self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
|
|
39
40
|
...data,
|
|
40
41
|
[objectTagKind.runTimeKey]: name
|
|
41
42
|
} : data, errorHandler);
|
|
42
|
-
if (result instanceof Promise) return require_create.left("async-error",
|
|
43
|
+
if (result instanceof Promise) return require_create.left("async-error", new require_base.ErrorPromise());
|
|
43
44
|
if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
44
45
|
return require_create$1.right("map-success", result);
|
|
45
46
|
},
|
|
46
47
|
map: (self, data) => {
|
|
47
|
-
const errorHandler =
|
|
48
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
48
49
|
const formattedData = require_isSimple.isSimple(data) ? {
|
|
49
50
|
...data,
|
|
50
51
|
[objectTagKind.runTimeKey]: name
|
|
51
52
|
} : data;
|
|
52
53
|
const result = self.executeCheck(formattedData, errorHandler);
|
|
53
|
-
if (result instanceof Promise) return require_create.left("async-error",
|
|
54
|
+
if (result instanceof Promise) return require_create.left("async-error", new require_base.ErrorPromise());
|
|
54
55
|
if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
55
56
|
return require_create$1.right("map-success", formattedData);
|
|
56
57
|
},
|
|
@@ -60,7 +61,7 @@ const TaggedObjectStructure = require_base.createStructure(taggedObjectStructure
|
|
|
60
61
|
return (value) => self.asyncDecodeMap(codecs, value);
|
|
61
62
|
}
|
|
62
63
|
return require_justExec.justExec(async () => {
|
|
63
|
-
const errorHandler =
|
|
64
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
64
65
|
const [codecs, data] = args;
|
|
65
66
|
const result = await self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
|
|
66
67
|
...data,
|
|
@@ -70,15 +71,25 @@ const TaggedObjectStructure = require_base.createStructure(taggedObjectStructure
|
|
|
70
71
|
return require_create$1.right("map-success", result);
|
|
71
72
|
});
|
|
72
73
|
},
|
|
73
|
-
asyncMap: (self, data) =>
|
|
74
|
-
const errorHandler =
|
|
74
|
+
asyncMap: async (self, data) => {
|
|
75
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
75
76
|
const formattedData = require_isSimple.isSimple(data) ? {
|
|
76
77
|
...data,
|
|
77
78
|
[objectTagKind.runTimeKey]: name
|
|
78
79
|
} : data;
|
|
79
80
|
if (await self.executeCheck(formattedData, errorHandler) === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
80
81
|
return require_create$1.right("map-success", formattedData);
|
|
81
|
-
}
|
|
82
|
+
},
|
|
83
|
+
update: (self, ...args) => {
|
|
84
|
+
if (args.length === 1) {
|
|
85
|
+
const [update] = args;
|
|
86
|
+
return (input) => self.update(input, update);
|
|
87
|
+
}
|
|
88
|
+
const [input, update] = args;
|
|
89
|
+
const updatedTaggedObject = { [objectTagKind.runTimeKey]: name };
|
|
90
|
+
for (const key of self.definition.inner.definition.keys) updatedTaggedObject[key] = update[key] === void 0 ? input[key] : update[key];
|
|
91
|
+
return updatedTaggedObject;
|
|
92
|
+
}
|
|
82
93
|
}));
|
|
83
94
|
//#endregion
|
|
84
95
|
exports.TaggedObjectStructure = TaggedObjectStructure;
|
|
@@ -36,14 +36,19 @@ export type TaggedObjectMap<GenericValue extends unknown, GenericRawValue = DCom
|
|
|
36
36
|
]> extends true ? {
|
|
37
37
|
[Prop in keyof GenericRawValue]: TaggedObjectMap<GenericRawValue[Prop]>;
|
|
38
38
|
} : GenericRawValue : GenericRawValue;
|
|
39
|
-
export
|
|
39
|
+
export type TaggedObjectUpdate<GenericTaggedObject extends ObjectTag, GenericNewProperties extends object> = Extract<(ObjectTag<GetTagValue<GenericTaggedObject>> & DCommon.SimplifyTopLevel<DKind.Remove<GenericTaggedObject> extends infer InferredProperties ? {
|
|
40
|
+
[Prop in keyof InferredProperties]: Prop extends keyof GenericNewProperties ? GenericNewProperties[Prop] extends infer InferredNewValue ? InferredNewValue extends undefined ? InferredProperties[Prop] : InferredNewValue : never : InferredProperties[Prop];
|
|
41
|
+
} : never>), any>;
|
|
42
|
+
export interface TaggedObjectStructure<out GenericTaggedObject extends ObjectTag = ObjectTag> extends DCommon.Forward<DDataStructure.Structure<GenericTaggedObject, TaggedObjectStructureDefinition> & DKind.Kind<typeof taggedObjectStructureKind>> {
|
|
40
43
|
readonly name: GetTagValue<GenericTaggedObject>;
|
|
41
44
|
"new"(properties: DCommon.SimplifyTopLevel<DKind.Remove<GenericTaggedObject>>): GenericTaggedObject;
|
|
42
|
-
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<
|
|
43
|
-
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<
|
|
44
|
-
map(data: TaggedObjectMap<DKind.Remove<
|
|
45
|
-
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<
|
|
46
|
-
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<
|
|
47
|
-
asyncMap(data: TaggedObjectMap<DKind.Remove<
|
|
45
|
+
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<GenericTaggedObject>>, GenericCodecs>) => (DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"async-error", DDataStructure.ErrorPromise> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
46
|
+
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<GenericTaggedObject>>, GenericCodecs>): (DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"async-error", DDataStructure.ErrorPromise> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
47
|
+
map(data: TaggedObjectMap<DKind.Remove<GenericTaggedObject>>): (DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"async-error", DDataStructure.ErrorPromise> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
48
|
+
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<GenericTaggedObject>>, GenericCodecs>) => Promise<DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
49
|
+
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<TaggedObjectMap<DKind.Remove<GenericTaggedObject>>, GenericCodecs>): Promise<DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
50
|
+
asyncMap(data: TaggedObjectMap<DKind.Remove<GenericTaggedObject>>): Promise<DEither.Right<"map-success", GenericTaggedObject> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
51
|
+
update<GenericInput extends GenericTaggedObject, const GenericPayload extends Partial<DKind.Remove<GenericTaggedObject>>>(update: GenericPayload): (input: GenericInput) => TaggedObjectUpdate<GenericInput, GenericPayload>;
|
|
52
|
+
update<GenericInput extends GenericTaggedObject, const GenericPayload extends Partial<DKind.Remove<GenericTaggedObject>>>(input: GenericInput, update: GenericPayload): TaggedObjectUpdate<GenericInput, GenericPayload>;
|
|
48
53
|
}
|
|
49
54
|
export declare const TaggedObjectStructure: <GenericTaggedObject extends ObjectTag, GenericName extends string = never, GenericShape extends DDataStructure.ShapeObjectStructure = never>(name: GetTagValue<GenericTaggedObject> | GenericName, shape: ShapeTaggedObjectStructure<GenericTaggedObject> | GenericShape) => TaggedObjectStructure<ObjectTag extends GenericTaggedObject ? (ObjectTag<GenericName> & DDataStructure.ShapeObjectStructureValue<GenericShape>) : GenericTaggedObject>;
|
|
@@ -3,7 +3,7 @@ import { left } from "../../either/left/create.mjs";
|
|
|
3
3
|
import { right } from "../../either/right/create.mjs";
|
|
4
4
|
import { justExec } from "../../common/justExec.mjs";
|
|
5
5
|
import { ErrorSymbol } from "../../dataStructure/common/resultSymbol.mjs";
|
|
6
|
-
import { createGetErrorHandler } from "../../dataStructure/common/error.mjs";
|
|
6
|
+
import { ErrorPromise, createGetErrorHandler } from "../../dataStructure/common/error/base.mjs";
|
|
7
7
|
import { createStructure } from "../../dataStructure/structure/base.mjs";
|
|
8
8
|
import { NonEncodableStringStructure } from "../../dataStructure/structure/defaults/nonEncodableString.mjs";
|
|
9
9
|
import { ObjectStructure } from "../../dataStructure/structure/defaults/object.mjs";
|
|
@@ -21,6 +21,7 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
|
|
|
21
21
|
executeCheck: (self, data, errorHandler) => self.definition.inner.executeCheck(data, errorHandler),
|
|
22
22
|
executeEncode: (self, codecContext, data, errorHandler) => self.definition.inner.executeEncode(codecContext, data, errorHandler),
|
|
23
23
|
executeDecode: (self, codecContext, data, errorHandler) => self.definition.inner.executeDecode(codecContext, data, errorHandler),
|
|
24
|
+
executeParse: (self, codecContext, data, errorHandler) => self.definition.inner.executeParse(codecContext, data, errorHandler),
|
|
24
25
|
isAsynchronous: (self) => self.definition.inner.isAsynchronous()
|
|
25
26
|
}, {
|
|
26
27
|
name,
|
|
@@ -39,7 +40,7 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
|
|
|
39
40
|
...data,
|
|
40
41
|
[objectTagKind.runTimeKey]: name
|
|
41
42
|
} : data, errorHandler);
|
|
42
|
-
if (result instanceof Promise) return left("async-error",
|
|
43
|
+
if (result instanceof Promise) return left("async-error", new ErrorPromise());
|
|
43
44
|
if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
44
45
|
return right("map-success", result);
|
|
45
46
|
},
|
|
@@ -50,7 +51,7 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
|
|
|
50
51
|
[objectTagKind.runTimeKey]: name
|
|
51
52
|
} : data;
|
|
52
53
|
const result = self.executeCheck(formattedData, errorHandler);
|
|
53
|
-
if (result instanceof Promise) return left("async-error",
|
|
54
|
+
if (result instanceof Promise) return left("async-error", new ErrorPromise());
|
|
54
55
|
if (result === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
55
56
|
return right("map-success", formattedData);
|
|
56
57
|
},
|
|
@@ -70,7 +71,7 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
|
|
|
70
71
|
return right("map-success", result);
|
|
71
72
|
});
|
|
72
73
|
},
|
|
73
|
-
asyncMap: (self, data) =>
|
|
74
|
+
asyncMap: async (self, data) => {
|
|
74
75
|
const errorHandler = createGetErrorHandler();
|
|
75
76
|
const formattedData = isSimple(data) ? {
|
|
76
77
|
...data,
|
|
@@ -78,7 +79,17 @@ const TaggedObjectStructure = createStructure(taggedObjectStructureKind, ({ init
|
|
|
78
79
|
} : data;
|
|
79
80
|
if (await self.executeCheck(formattedData, errorHandler) === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
80
81
|
return right("map-success", formattedData);
|
|
81
|
-
}
|
|
82
|
+
},
|
|
83
|
+
update: (self, ...args) => {
|
|
84
|
+
if (args.length === 1) {
|
|
85
|
+
const [update] = args;
|
|
86
|
+
return (input) => self.update(input, update);
|
|
87
|
+
}
|
|
88
|
+
const [input, update] = args;
|
|
89
|
+
const updatedTaggedObject = { [objectTagKind.runTimeKey]: name };
|
|
90
|
+
for (const key of self.definition.inner.definition.keys) updatedTaggedObject[key] = update[key] === void 0 ? input[key] : update[key];
|
|
91
|
+
return updatedTaggedObject;
|
|
92
|
+
}
|
|
82
93
|
}));
|
|
83
94
|
//#endregion
|
|
84
95
|
export { TaggedObjectStructure, objectTagKind, taggedObjectStructureKind };
|
package/dist/object/assign.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Assign } from './types';
|
|
2
2
|
import type * as DCommon from '../common';
|
|
3
|
-
export declare function assign<GenericObject extends object, GenericValue extends Partial<Record<keyof GenericObject, unknown>> & DCommon.AnyObject>(value: GenericValue): (object: GenericObject) =>
|
|
4
|
-
export declare function assign<GenericObject extends object, GenericValue extends Partial<Record<keyof GenericObject, unknown>> & DCommon.AnyObject>(object: GenericObject, value: GenericValue):
|
|
3
|
+
export declare function assign<GenericObject extends object, GenericValue extends Partial<Record<keyof GenericObject, unknown>> & DCommon.AnyObject>(value: GenericValue): (object: GenericObject) => Assign<GenericObject, GenericValue>;
|
|
4
|
+
export declare function assign<GenericObject extends object, GenericValue extends Partial<Record<keyof GenericObject, unknown>> & DCommon.AnyObject>(object: GenericObject, value: GenericValue): Assign<GenericObject, GenericValue>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const require_isSimple = require("./isSimple.cjs");
|
|
2
|
+
const require_justExec = require("../common/justExec.cjs");
|
|
3
|
+
//#region scripts/object/deepOverride.ts
|
|
4
|
+
function deepOverride(...args) {
|
|
5
|
+
if (args.length === 1) {
|
|
6
|
+
const [value] = args;
|
|
7
|
+
return (object) => deepOverride(object, value);
|
|
8
|
+
}
|
|
9
|
+
const [object, initialValue] = args;
|
|
10
|
+
return require_justExec.justExec(function override(value = initialValue, currentValue = object) {
|
|
11
|
+
if (value === void 0) return currentValue;
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
if (!Array.isArray(currentValue)) return currentValue;
|
|
14
|
+
const result = [...currentValue];
|
|
15
|
+
const commonLength = Math.min(currentValue.length, value.length);
|
|
16
|
+
for (let index = 0; index < commonLength; index++) {
|
|
17
|
+
const overrideValue = value[index];
|
|
18
|
+
if (overrideValue !== void 0) result[index] = override(overrideValue, currentValue[index]);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
if (require_isSimple.isSimple(value)) {
|
|
23
|
+
if (!require_isSimple.isSimple(currentValue)) return currentValue;
|
|
24
|
+
return Object.entries(value).reduce((result, [key, overrideValue]) => {
|
|
25
|
+
if (overrideValue !== void 0) result[key] = override(overrideValue, result[key]);
|
|
26
|
+
return result;
|
|
27
|
+
}, { ...currentValue });
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.deepOverride = deepOverride;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { HasKeySignature, keyofWithoutSignature } from './types';
|
|
2
|
+
import * as DCommon from '../common';
|
|
3
|
+
import type * as DKind from '../kind';
|
|
4
|
+
type DeepOverrideParameter<GenericValue extends unknown> = (GenericValue extends unknown ? readonly [
|
|
5
|
+
GenericValue,
|
|
6
|
+
DCommon.RemoveConstraint<GenericValue>
|
|
7
|
+
] : never) extends infer InferredItem extends readonly [unknown, unknown] ? DCommon.IsUnion<Extract<InferredItem[1], object>> extends true ? Exclude<InferredItem[1], object> | undefined : InferredItem extends unknown ? InferredItem[1] extends DCommon.AnyFunction ? InferredItem[0] : InferredItem[1] extends object ? InferredItem[0] extends DCommon.Constraint ? undefined : InferredItem[1] extends readonly unknown[] ? InferredItem[1] extends readonly [
|
|
8
|
+
infer InferredFirst,
|
|
9
|
+
...infer InferredRest
|
|
10
|
+
] ? readonly [
|
|
11
|
+
DeepOverrideParameter<InferredFirst> | undefined,
|
|
12
|
+
...Extract<DeepOverrideParameter<InferredRest>, readonly unknown[]>
|
|
13
|
+
] : InferredItem[1] extends readonly [] ? readonly [] : readonly (DeepOverrideParameter<InferredItem[1][number]> | undefined)[] : DCommon.SimplifyTopLevel<{
|
|
14
|
+
readonly [Prop in Exclude<keyofWithoutSignature<InferredItem[1]>, DKind.KeySymbol>]?: DeepOverrideParameter<InferredItem[1][Prop]> | undefined;
|
|
15
|
+
} & (HasKeySignature<InferredItem[1]> extends true ? {
|
|
16
|
+
readonly [key: string]: InferredItem[1][keyof InferredItem[1]];
|
|
17
|
+
} : unknown)> : InferredItem[0] | undefined : never : never;
|
|
18
|
+
export declare function deepOverride<GenericObject extends object>(value: NoInfer<DeepOverrideParameter<GenericObject>>): (object: GenericObject) => GenericObject;
|
|
19
|
+
export declare function deepOverride<GenericObject extends object>(object: GenericObject, value: NoInfer<DeepOverrideParameter<GenericObject>>): GenericObject;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { isSimple } from "./isSimple.mjs";
|
|
2
|
+
import { justExec } from "../common/justExec.mjs";
|
|
3
|
+
//#region scripts/object/deepOverride.ts
|
|
4
|
+
function deepOverride(...args) {
|
|
5
|
+
if (args.length === 1) {
|
|
6
|
+
const [value] = args;
|
|
7
|
+
return (object) => deepOverride(object, value);
|
|
8
|
+
}
|
|
9
|
+
const [object, initialValue] = args;
|
|
10
|
+
return justExec(function override(value = initialValue, currentValue = object) {
|
|
11
|
+
if (value === void 0) return currentValue;
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
if (!Array.isArray(currentValue)) return currentValue;
|
|
14
|
+
const result = [...currentValue];
|
|
15
|
+
const commonLength = Math.min(currentValue.length, value.length);
|
|
16
|
+
for (let index = 0; index < commonLength; index++) {
|
|
17
|
+
const overrideValue = value[index];
|
|
18
|
+
if (overrideValue !== void 0) result[index] = override(overrideValue, currentValue[index]);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
if (isSimple(value)) {
|
|
23
|
+
if (!isSimple(currentValue)) return currentValue;
|
|
24
|
+
return Object.entries(value).reduce((result, [key, overrideValue]) => {
|
|
25
|
+
if (overrideValue !== void 0) result[key] = override(overrideValue, result[key]);
|
|
26
|
+
return result;
|
|
27
|
+
}, { ...currentValue });
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { deepOverride };
|
package/dist/object/entries.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type * as DString from '../string';
|
|
2
2
|
import type * as DCommon from '../common';
|
|
3
|
-
export type GetEntry<GenericKey extends DCommon.ObjectKey, GenericValue extends unknown> = GenericValue extends any ? GenericKey extends string | number ? [`${GenericKey}`, GenericValue] : never : never;
|
|
4
|
-
export type GetEntries<GenericObject extends object> = GenericObject extends readonly any[] ? [DString.Number, GenericObject[number]][] : DCommon.IsEqual<GenericObject, object> extends true ? [string, DCommon.AnyValue][] : ({
|
|
3
|
+
export type GetEntry<GenericKey extends DCommon.ObjectKey, GenericValue extends unknown> = GenericValue extends any ? GenericKey extends string | number ? readonly [`${GenericKey}`, GenericValue] : never : never;
|
|
4
|
+
export type GetEntries<GenericObject extends object> = GenericObject extends readonly any[] ? readonly (readonly [DString.Number, GenericObject[number]])[] : DCommon.IsEqual<GenericObject, object> extends true ? readonly [string, DCommon.AnyValue][] : ({
|
|
5
5
|
[Prop in keyof GenericObject]-?: GetEntry<Prop, GenericObject[Prop]>;
|
|
6
|
-
}[keyof GenericObject]) extends infer InferredResult extends DCommon.ObjectEntry ? DCommon.IsEqual<InferredResult, never> extends true ? [] : InferredResult[] : never;
|
|
6
|
+
}[keyof GenericObject]) extends infer InferredResult extends DCommon.ObjectEntry ? DCommon.IsEqual<InferredResult, never> extends true ? readonly [] : readonly InferredResult[] : never;
|
|
7
7
|
export declare function entries<GenericObject extends object>(object: GenericObject): DCommon.SimplifyTopLevel<GetEntries<GenericObject>>;
|
|
8
8
|
export declare namespace entries {
|
|
9
9
|
var unsafe: {
|
package/dist/object/index.cjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_assign = require("./assign.cjs");
|
|
3
3
|
const require_countKeys = require("./countKeys.cjs");
|
|
4
|
+
const require_isSimple = require("./isSimple.cjs");
|
|
5
|
+
const require_deepOverride = require("./deepOverride.cjs");
|
|
4
6
|
const require_getDeepProperty = require("./getDeepProperty.cjs");
|
|
5
7
|
const require_deepDiscriminate = require("./deepDiscriminate.cjs");
|
|
6
8
|
const require_discriminate = require("./discriminate.cjs");
|
|
@@ -11,7 +13,6 @@ const require_entry = require("./entry.cjs");
|
|
|
11
13
|
const require_fromEntries = require("./fromEntries.cjs");
|
|
12
14
|
const require_getProperty = require("./getProperty.cjs");
|
|
13
15
|
const require_hasKeys = require("./hasKeys.cjs");
|
|
14
|
-
const require_isSimple = require("./isSimple.cjs");
|
|
15
16
|
const require_keys = require("./keys.cjs");
|
|
16
17
|
const require_omit = require("./omit.cjs");
|
|
17
18
|
const require_override = require("./override.cjs");
|
|
@@ -25,6 +26,7 @@ var object_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
|
25
26
|
assign: () => require_assign.assign,
|
|
26
27
|
countKeys: () => require_countKeys.countKeys,
|
|
27
28
|
deepDiscriminate: () => require_deepDiscriminate.deepDiscriminate,
|
|
29
|
+
deepOverride: () => require_deepOverride.deepOverride,
|
|
28
30
|
discriminate: () => require_discriminate.discriminate,
|
|
29
31
|
discriminateEntryKey: () => require_discriminateEntryKey.discriminateEntryKey,
|
|
30
32
|
discriminateEntryValue: () => require_discriminateEntryValue.discriminateEntryValue,
|
|
@@ -48,6 +50,7 @@ var object_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
|
48
50
|
exports.assign = require_assign.assign;
|
|
49
51
|
exports.countKeys = require_countKeys.countKeys;
|
|
50
52
|
exports.deepDiscriminate = require_deepDiscriminate.deepDiscriminate;
|
|
53
|
+
exports.deepOverride = require_deepOverride.deepOverride;
|
|
51
54
|
exports.discriminate = require_discriminate.discriminate;
|
|
52
55
|
exports.discriminateEntryKey = require_discriminateEntryKey.discriminateEntryKey;
|
|
53
56
|
exports.discriminateEntryValue = require_discriminateEntryValue.discriminateEntryValue;
|
package/dist/object/index.d.ts
CHANGED
package/dist/object/index.mjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { assign } from "./assign.mjs";
|
|
3
3
|
import { countKeys } from "./countKeys.mjs";
|
|
4
|
+
import { isSimple } from "./isSimple.mjs";
|
|
5
|
+
import { deepOverride } from "./deepOverride.mjs";
|
|
4
6
|
import { getDeepProperty } from "./getDeepProperty.mjs";
|
|
5
7
|
import { deepDiscriminate } from "./deepDiscriminate.mjs";
|
|
6
8
|
import { discriminate } from "./discriminate.mjs";
|
|
@@ -11,7 +13,6 @@ import { entry } from "./entry.mjs";
|
|
|
11
13
|
import { fromEntries } from "./fromEntries.mjs";
|
|
12
14
|
import { getProperty } from "./getProperty.mjs";
|
|
13
15
|
import { hasKeys } from "./hasKeys.mjs";
|
|
14
|
-
import { isSimple } from "./isSimple.mjs";
|
|
15
16
|
import { keys } from "./keys.mjs";
|
|
16
17
|
import { omit } from "./omit.mjs";
|
|
17
18
|
import { override } from "./override.mjs";
|
|
@@ -25,6 +26,7 @@ var object_exports = /* @__PURE__ */ __exportAll({
|
|
|
25
26
|
assign: () => assign,
|
|
26
27
|
countKeys: () => countKeys,
|
|
27
28
|
deepDiscriminate: () => deepDiscriminate,
|
|
29
|
+
deepOverride: () => deepOverride,
|
|
28
30
|
discriminate: () => discriminate,
|
|
29
31
|
discriminateEntryKey: () => discriminateEntryKey,
|
|
30
32
|
discriminateEntryValue: () => discriminateEntryValue,
|
|
@@ -45,4 +47,4 @@ var object_exports = /* @__PURE__ */ __exportAll({
|
|
|
45
47
|
values: () => values
|
|
46
48
|
});
|
|
47
49
|
//#endregion
|
|
48
|
-
export { assign, countKeys, deepDiscriminate, discriminate, discriminateEntryKey, discriminateEntryValue, entries, entry, fromEntries, getDeepProperty, getProperty, hasKeys, isSimple, keys, object_exports, omit, override, pick, to, transformProperties, transformProperty, values };
|
|
50
|
+
export { assign, countKeys, deepDiscriminate, deepOverride, discriminate, discriminateEntryKey, discriminateEntryValue, entries, entry, fromEntries, getDeepProperty, getProperty, hasKeys, isSimple, keys, object_exports, omit, override, pick, to, transformProperties, transformProperty, values };
|
package/dist/object/isSimple.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region scripts/object/isSimple.ts
|
|
2
2
|
function isSimple(input) {
|
|
3
|
-
return typeof input === "object" && input !== null && (input.constructor === void 0 || input.constructor
|
|
3
|
+
return typeof input === "object" && input !== null && (input.constructor === void 0 || input.constructor?.name === "Object");
|
|
4
4
|
}
|
|
5
5
|
//#endregion
|
|
6
6
|
exports.isSimple = isSimple;
|
package/dist/object/isSimple.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region scripts/object/isSimple.ts
|
|
2
2
|
function isSimple(input) {
|
|
3
|
-
return typeof input === "object" && input !== null && (input.constructor === void 0 || input.constructor
|
|
3
|
+
return typeof input === "object" && input !== null && (input.constructor === void 0 || input.constructor?.name === "Object");
|
|
4
4
|
}
|
|
5
5
|
//#endregion
|
|
6
6
|
export { isSimple };
|
package/dist/object/keys.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function keys<GenericObject extends object>(object: GenericObject): `${Exclude<keyof GenericObject, symbol>}`[];
|
|
1
|
+
export declare function keys<GenericObject extends object>(object: GenericObject): readonly `${Exclude<keyof GenericObject, symbol>}`[];
|
package/dist/object/override.cjs
CHANGED
|
@@ -5,7 +5,7 @@ function override(...args) {
|
|
|
5
5
|
return (object) => override(object, value);
|
|
6
6
|
}
|
|
7
7
|
const [object, value] = args;
|
|
8
|
-
return Object.entries(value).reduce((acc, [key, value]) => {
|
|
8
|
+
return Object.entries(value ?? {}).reduce((acc, [key, value]) => {
|
|
9
9
|
if (value !== void 0) acc[key] = value;
|
|
10
10
|
return acc;
|
|
11
11
|
}, { ...object });
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type * as DCommon from '../common';
|
|
2
|
+
type OverrideParameter<GenericValue extends object> = DCommon.IsUnion<GenericValue> extends true ? undefined : Partial<GenericValue>;
|
|
3
|
+
export declare function override<GenericObject extends object>(value: OverrideParameter<GenericObject>): (object: GenericObject) => GenericObject;
|
|
4
|
+
export declare function override<GenericObject extends object>(object: GenericObject, value: OverrideParameter<GenericObject>): GenericObject;
|
|
5
|
+
export {};
|
package/dist/object/override.mjs
CHANGED
|
@@ -5,7 +5,7 @@ function override(...args) {
|
|
|
5
5
|
return (object) => override(object, value);
|
|
6
6
|
}
|
|
7
7
|
const [object, value] = args;
|
|
8
|
-
return Object.entries(value).reduce((acc, [key, value]) => {
|
|
8
|
+
return Object.entries(value ?? {}).reduce((acc, [key, value]) => {
|
|
9
9
|
if (value !== void 0) acc[key] = value;
|
|
10
10
|
return acc;
|
|
11
11
|
}, { ...object });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type * as DCommon from '../../common';
|
|
2
|
-
export type ForbiddenKey<GenericObject extends object, GenericKey extends string> = (GenericKey extends keyof GenericObject ? DCommon.ComputedTypeError<`Key "${GenericKey}" is forbidden.`> : never) extends infer InferredResult ? DCommon.IsEqual<InferredResult, never> extends true ? unknown : InferredResult : never;
|
|
2
|
+
export type ForbiddenKey<GenericObject extends object, GenericKey extends string | number> = DCommon.IsNever<GenericKey> extends true ? unknown : (`${GenericKey}` extends `${Extract<keyof GenericObject, string | number>}` ? DCommon.ComputedTypeError<`Key "${GenericKey}" is forbidden.`> : never) extends infer InferredResult ? DCommon.IsEqual<InferredResult, never> extends true ? unknown : InferredResult : never;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GetPropsWithValueExtends } from './getPropsWithValueExtends';
|
|
2
|
+
import type * as DCommon from '../../common';
|
|
3
|
+
export type ForbiddenUndefinedProps<GenericObject extends object> = DCommon.IsNever<GetPropsWithValueExtends<GenericObject, undefined>> extends true ? unknown : DCommon.ComputedTypeError<"Having \"undefined\" values for properties is not allowed.">;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type HasKeySignature<GenericValue extends object> = string extends keyof GenericValue ? true : number extends keyof GenericValue ? true : symbol extends keyof GenericValue ? true : false;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
export type * from './
|
|
2
|
-
export type * from './everyCombination';
|
|
1
|
+
export type * from './assign';
|
|
3
2
|
export type * from './deepPartial';
|
|
4
3
|
export type * from './deepReadonly';
|
|
5
4
|
export type * from './deepRemoveReadonly';
|
|
6
5
|
export type * from './deepRequired';
|
|
6
|
+
export type * from './everyCombination';
|
|
7
7
|
export type * from './flatObject';
|
|
8
8
|
export type * from './forbiddenKey';
|
|
9
|
+
export type * from './forbiddenUndefinedProps';
|
|
9
10
|
export type * from './getPropsWithValue';
|
|
10
11
|
export type * from './getPropsWithValueExtends';
|
|
12
|
+
export type * from './hasKeySignature';
|
|
13
|
+
export type * from './keyofWithoutSignature';
|
|
14
|
+
export type * from './override';
|
|
11
15
|
export type * from './partialKeys';
|
|
12
16
|
export type * from './requireAtLeastOne';
|
|
13
17
|
export type * from './requiredKeys';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type * as DCommon from '../../common';
|
|
2
|
+
export type Override<GenericInput extends object, GenericNewValue extends Partial<GenericInput>> = DCommon.SimplifyTopLevel<{
|
|
3
|
+
[Prop in keyof GenericInput]: Prop extends keyof GenericNewValue ? GenericNewValue[Prop] extends infer InferredNewValue ? InferredNewValue extends undefined ? GenericInput[Prop] : InferredNewValue : never : GenericInput[Prop];
|
|
4
|
+
}>;
|
|
@@ -2,12 +2,12 @@ import type * as DCommon from '../../common';
|
|
|
2
2
|
type CreateShape<GenericResult extends unknown, GenericProp extends keyof any> = GenericResult extends any ? {
|
|
3
3
|
[RemapProp in GenericProp]: GenericResult;
|
|
4
4
|
} : never;
|
|
5
|
-
export type Split<GenericValue extends unknown, GenericMax extends number = 10, GenericAccumulator extends readonly never[] = readonly []> = GenericValue extends
|
|
5
|
+
export type Split<GenericValue extends unknown, GenericMax extends number = 10, GenericAccumulator extends readonly never[] = readonly []> = GenericValue extends unknown ? DCommon.IsObject<GenericValue> extends true ? GenericAccumulator["length"] extends GenericMax ? GenericValue : {
|
|
6
6
|
[Prop in keyof GenericValue]: DCommon.NeverCoalescing<CreateShape<Split<GenericValue[Prop], GenericMax, [
|
|
7
7
|
...GenericAccumulator,
|
|
8
8
|
never
|
|
9
9
|
]>, Prop>, {
|
|
10
10
|
[RemapProp in Prop]: never;
|
|
11
11
|
}>;
|
|
12
|
-
}[keyof GenericValue] : GenericValue;
|
|
12
|
+
}[keyof GenericValue] : GenericValue : never;
|
|
13
13
|
export {};
|
package/dist/object/values.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type * as DCommon from '../common';
|
|
2
|
-
export declare function values<GenericObject extends Record<string, DCommon.AnyValue>>(object: GenericObject): GenericObject[keyof GenericObject][];
|
|
2
|
+
export declare function values<GenericObject extends Record<string, DCommon.AnyValue>>(object: GenericObject): readonly GenericObject[keyof GenericObject][];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const require_error = require("../either/left/error.cjs");
|
|
2
|
+
const require_success = require("../either/right/success.cjs");
|
|
3
|
+
const require_normalize = require("./normalize.cjs");
|
|
4
|
+
//#region scripts/path/create.ts
|
|
5
|
+
function create(value) {
|
|
6
|
+
const result = require_normalize.normalize(value);
|
|
7
|
+
if (result) return require_success.success(result);
|
|
8
|
+
return require_error.error(value);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.create = create;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { error } from "../either/left/error.mjs";
|
|
2
|
+
import { success } from "../either/right/success.mjs";
|
|
3
|
+
import { normalize } from "./normalize.mjs";
|
|
4
|
+
//#region scripts/path/create.ts
|
|
5
|
+
function create(value) {
|
|
6
|
+
const result = normalize(value);
|
|
7
|
+
if (result) return success(result);
|
|
8
|
+
return error(value);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { create };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const require_error = require("../either/left/error.cjs");
|
|
2
|
+
const require_success = require("../either/right/success.cjs");
|
|
3
|
+
const require_normalize = require("./normalize.cjs");
|
|
4
|
+
const require_isAbsolute = require("./isAbsolute.cjs");
|
|
5
|
+
//#region scripts/path/createAbsolute.ts
|
|
6
|
+
function createAbsolute(value) {
|
|
7
|
+
const result = require_normalize.normalize(value);
|
|
8
|
+
if (result && require_isAbsolute.isAbsolute(result)) return require_success.success(result);
|
|
9
|
+
return require_error.error(value);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.createAbsolute = createAbsolute;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { error } from "../either/left/error.mjs";
|
|
2
|
+
import { success } from "../either/right/success.mjs";
|
|
3
|
+
import { normalize } from "./normalize.mjs";
|
|
4
|
+
import { isAbsolute } from "./isAbsolute.mjs";
|
|
5
|
+
//#region scripts/path/createAbsolute.ts
|
|
6
|
+
function createAbsolute(value) {
|
|
7
|
+
const result = normalize(value);
|
|
8
|
+
if (result && isAbsolute(result)) return success(result);
|
|
9
|
+
return error(value);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { createAbsolute };
|