@duplojs/lang 0.0.1-beta.1 → 0.0.1-beta.2
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/at/default.d.ts +1 -1
- package/dist/array/chunk.d.ts +3 -2
- package/dist/array/concat.d.ts +1 -1
- package/dist/array/copyWithin.d.ts +1 -1
- package/dist/array/fill/all.d.ts +1 -1
- package/dist/array/fill/default.d.ts +3 -3
- package/dist/array/filter.d.ts +1 -1
- package/dist/array/findAndReplace.d.ts +1 -1
- package/dist/array/findAndSplice/delete.d.ts +1 -1
- package/dist/array/findAndSplice/insert.d.ts +1 -1
- package/dist/array/insert.d.ts +3 -3
- package/dist/array/length.d.ts +1 -1
- package/dist/array/lengthEqual.d.ts +1 -1
- package/dist/array/map.d.ts +1 -1
- package/dist/array/maxElements.d.ts +1 -1
- package/dist/array/minElements.d.ts +1 -1
- package/dist/array/pop.d.ts +1 -1
- package/dist/array/prepend.d.ts +1 -1
- package/dist/array/push.d.ts +3 -3
- package/dist/array/reverse.d.ts +1 -1
- package/dist/array/shift.d.ts +1 -1
- package/dist/array/sort.d.ts +1 -1
- package/dist/array/splice/delete.d.ts +1 -1
- package/dist/array/splice/insert.d.ts +1 -1
- package/dist/array/unshift.d.ts +3 -3
- package/dist/common/types/index.d.ts +1 -0
- package/dist/common/types/splitPromise.d.ts +1 -0
- package/dist/dataStructure/common/codec.cjs +5 -4
- package/dist/dataStructure/common/codec.d.ts +2 -2
- package/dist/dataStructure/common/codec.mjs +5 -4
- package/dist/dataStructure/common/error.cjs +34 -16
- package/dist/dataStructure/common/error.d.ts +29 -11
- package/dist/dataStructure/common/error.mjs +32 -17
- package/dist/dataStructure/common/errorInterpreter.cjs +45 -0
- package/dist/dataStructure/common/errorInterpreter.d.ts +32 -0
- package/dist/dataStructure/common/errorInterpreter.mjs +45 -0
- package/dist/dataStructure/common/index.d.ts +1 -0
- package/dist/dataStructure/constraint/base.cjs +16 -3
- package/dist/dataStructure/constraint/base.d.ts +8 -4
- package/dist/dataStructure/constraint/base.mjs +16 -3
- package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/index.d.ts +1 -0
- package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/minCharacters.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/minCharacters.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/url.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/url.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/uuid.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/uuid.mjs +1 -1
- package/dist/dataStructure/fundamentalType/base.cjs +3 -3
- package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
- package/dist/dataStructure/fundamentalType/base.mjs +3 -3
- package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
- package/dist/dataStructure/fundamentalType/identifier.d.ts +2 -2
- package/dist/dataStructure/helpers/array.d.ts +1 -1
- package/dist/dataStructure/helpers/bigint.d.ts +1 -1
- package/dist/dataStructure/helpers/boolean.d.ts +1 -1
- package/dist/dataStructure/helpers/date.d.ts +1 -1
- package/dist/dataStructure/helpers/index.d.ts +1 -0
- package/dist/dataStructure/helpers/lazy.d.ts +1 -1
- package/dist/dataStructure/helpers/null.d.ts +1 -1
- package/dist/dataStructure/helpers/number.d.ts +1 -1
- package/dist/dataStructure/helpers/object.d.ts +1 -1
- package/dist/dataStructure/helpers/record.d.ts +1 -1
- package/dist/dataStructure/helpers/string.d.ts +1 -1
- package/dist/dataStructure/helpers/time.d.ts +1 -1
- package/dist/dataStructure/helpers/trimmed.cjs +7 -0
- package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
- package/dist/dataStructure/helpers/trimmed.mjs +7 -0
- package/dist/dataStructure/helpers/undefined.d.ts +1 -1
- package/dist/dataStructure/helpers/union.d.ts +1 -1
- package/dist/dataStructure/index.cjs +38 -0
- package/dist/dataStructure/index.mjs +31 -10
- package/dist/dataStructure/structure/base.cjs +15 -5
- package/dist/dataStructure/structure/base.d.ts +7 -4
- package/dist/dataStructure/structure/base.mjs +15 -5
- package/dist/dataStructure/structure/defaults/array.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
- package/dist/dataStructure/structure/defaults/lazy.cjs +4 -2
- package/dist/dataStructure/structure/defaults/lazy.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/lazy.mjs +4 -2
- package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
- package/dist/dataStructure/structure/defaults/object.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/record.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/type.cjs +1 -1
- package/dist/dataStructure/structure/defaults/type.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/type.mjs +2 -2
- package/dist/dataStructure/structure/defaults/union.cjs +9 -9
- package/dist/dataStructure/structure/defaults/union.d.ts +1 -1
- package/dist/dataStructure/structure/defaults/union.mjs +9 -9
- package/dist/dataStructure/structure/identifier.d.ts +2 -2
- package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
- package/dist/dataStructure/structure/types/structures.d.ts +2 -1
- package/dist/dataStructure/structure/types/value.d.ts +1 -1
- package/dist/dataStructure/type/base.cjs +17 -4
- package/dist/dataStructure/type/base.d.ts +7 -3
- package/dist/dataStructure/type/base.mjs +17 -4
- package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
- package/dist/dataStructure/type/identifier.d.ts +2 -2
- package/dist/generator/asyncChunk.d.ts +3 -2
- package/dist/generator/chunk.d.ts +3 -2
- package/dist/generator/types/flat.d.ts +2 -2
- package/dist/invocation/flow/base.d.ts +7 -2
- package/dist/invocation/flow/controller/base.d.ts +1 -0
- package/dist/invocation/flow/controller/defaults/aborter.cjs +35 -0
- package/dist/invocation/flow/controller/defaults/aborter.d.ts +14 -0
- package/dist/invocation/flow/controller/defaults/aborter.mjs +33 -0
- package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
- package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
- package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
- package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
- package/dist/invocation/index.cjs +7 -0
- package/dist/invocation/index.mjs +5 -1
- package/dist/kind/types/getName.d.ts +2 -0
- package/dist/kind/types/getNamespaceName.d.ts +3 -0
- package/dist/kind/types/index.d.ts +2 -0
- package/dist/kind/types/remove.d.ts +2 -2
- package/dist/modeling/entity/base.cjs +2 -2
- package/dist/modeling/entity/base.d.ts +14 -10
- package/dist/modeling/entity/base.mjs +2 -2
- package/dist/modeling/entity/index.d.ts +0 -1
- package/dist/modeling/index.cjs +17 -6
- package/dist/modeling/index.d.ts +1 -0
- package/dist/modeling/index.mjs +11 -5
- package/dist/modeling/newType/base.cjs +6 -3
- package/dist/modeling/newType/base.mjs +6 -3
- package/dist/modeling/taggedObject/base.cjs +23 -0
- package/dist/modeling/taggedObject/base.d.ts +32 -0
- package/dist/modeling/taggedObject/base.mjs +21 -0
- package/dist/modeling/taggedObject/helper.cjs +29 -0
- package/dist/modeling/taggedObject/helper.d.ts +14 -0
- package/dist/modeling/taggedObject/helper.mjs +26 -0
- package/dist/modeling/taggedObject/index.d.ts +2 -0
- package/dist/number/betweenThan.d.ts +2 -2
- package/dist/number/betweenThanOrEqual.d.ts +2 -2
- package/dist/number/greaterThan.d.ts +1 -1
- package/dist/number/greaterThanOrEqual.d.ts +1 -1
- package/dist/number/lessThan.d.ts +1 -1
- package/dist/number/lessThanOrEqual.d.ts +1 -1
- package/dist/number/sort.d.ts +1 -1
- package/dist/pattern/index.cjs +12 -0
- package/dist/pattern/index.d.ts +4 -0
- package/dist/pattern/index.mjs +9 -1
- package/dist/pattern/matchWithEntity.cjs +12 -0
- package/dist/pattern/matchWithEntity.d.ts +12 -0
- package/dist/pattern/matchWithEntity.mjs +12 -0
- package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
- package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
- package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
- package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
- package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
- package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
- package/dist/pattern/matchWithStringOtherwise.d.ts +1 -1
- package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
- package/dist/pattern/matchWithTaggedObject.cjs +12 -0
- package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
- package/dist/pattern/matchWithTaggedObject.mjs +12 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
- package/dist/string/at.d.ts +2 -2
- package/dist/string/first.d.ts +1 -1
- package/dist/string/index.cjs +3 -0
- package/dist/string/index.mjs +3 -1
- package/dist/string/last.d.ts +1 -1
- package/dist/string/lengthEqual.d.ts +1 -1
- package/dist/string/maxCharacters.d.ts +1 -1
- package/dist/string/minCharacters.d.ts +1 -1
- package/dist/string/padEnd.d.ts +1 -1
- package/dist/string/padStart.d.ts +1 -1
- package/dist/string/pop.d.ts +1 -1
- package/dist/string/shift.d.ts +1 -1
- package/dist/string/slice.d.ts +1 -1
- package/dist/string/substring.d.ts +1 -1
- package/dist/string/trim/default.d.ts +1 -1
- package/dist/string/trim/end.d.ts +1 -1
- package/dist/string/trim/index.d.ts +1 -0
- package/dist/string/trim/is.cjs +6 -0
- package/dist/string/trim/is.d.ts +2 -0
- package/dist/string/trim/is.mjs +6 -0
- package/dist/string/trim/start.d.ts +1 -1
- package/package.json +1 -1
- package/dist/modeling/entity/entityName.cjs +0 -13
- package/dist/modeling/entity/entityName.d.ts +0 -13
- package/dist/modeling/entity/entityName.mjs +0 -13
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Structure, Structures } from '../structure';
|
|
2
|
+
import { createKind } from '../kind';
|
|
3
|
+
import { Type, Types } from '../type';
|
|
4
|
+
import { Constraint, Constraints } from '../constraint';
|
|
5
|
+
import { Error, DecodeIssue, EncodeIssue, Issue } from './error';
|
|
6
|
+
import { Codec } from './codec';
|
|
7
|
+
import * as DKind from '../../kind';
|
|
8
|
+
import * as DCommon from '../../common';
|
|
9
|
+
declare const kindNamespaceName: DKind.GetNamespaceName<typeof createKind>;
|
|
10
|
+
type RemoveNamespace<GenericString> = GenericString extends `@${typeof kindNamespaceName}/${infer InferredKindName}` ? InferredKindName : never;
|
|
11
|
+
export interface InterpretedMessage {
|
|
12
|
+
source?: string;
|
|
13
|
+
interpretedSource?: string;
|
|
14
|
+
subSource?: string;
|
|
15
|
+
interpretedSubSource?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface InterpretedIssue extends Issue {
|
|
18
|
+
interpretedMessage: InterpretedMessage;
|
|
19
|
+
}
|
|
20
|
+
export interface InterpretedEncodedIssue extends EncodeIssue {
|
|
21
|
+
interpretedMessage: InterpretedMessage;
|
|
22
|
+
}
|
|
23
|
+
export interface InterpretedDecodedIssue extends DecodeIssue {
|
|
24
|
+
interpretedMessage: InterpretedMessage;
|
|
25
|
+
}
|
|
26
|
+
export type InterpretedIssues = (InterpretedIssue | InterpretedEncodedIssue | InterpretedDecodedIssue);
|
|
27
|
+
type CreateDictionaryParams = DCommon.SimplifyTopLevel<Omit<{
|
|
28
|
+
[DataStructure in (Types | Structures | Constraints) as RemoveNamespace<DKind.GetName<DataStructure>>]?: (structure: DataStructure) => string;
|
|
29
|
+
}, RemoveNamespace<DKind.GetName<Type>> | RemoveNamespace<DKind.GetName<Structure>> | RemoveNamespace<DKind.GetName<Constraint>>>>;
|
|
30
|
+
export declare function createErrorInterpreter(structureDictionary?: CreateDictionaryParams, codecDictionary?: [Codec, string][]): (error: Error) => readonly InterpretedIssues[];
|
|
31
|
+
export type ErrorInterpreter = ReturnType<typeof createErrorInterpreter>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { keyKindPrefix } from "../../kind/base.mjs";
|
|
2
|
+
import { entries } from "../../object/entries.mjs";
|
|
3
|
+
import { entry } from "../../object/entry.mjs";
|
|
4
|
+
import { map } from "../../array/map.mjs";
|
|
5
|
+
import { reduce, reduceFrom } from "../../array/reduce.mjs";
|
|
6
|
+
import { pipe } from "../../common/pipe.mjs";
|
|
7
|
+
import { encodeIssueKind, issueKind } from "./error.mjs";
|
|
8
|
+
//#region scripts/dataStructure/common/errorInterpreter.ts
|
|
9
|
+
const kindNamespaceName = "DuplojsLangDataStructure";
|
|
10
|
+
function createErrorInterpreter(structureDictionary = {}, codecDictionary = []) {
|
|
11
|
+
const formattedStructureDictionary = pipe(structureDictionary, entries, map(([key, value]) => entry(`${keyKindPrefix}@${kindNamespaceName}/${key}`, value)));
|
|
12
|
+
const getInterpretedMessageStructure = (structure) => reduce(formattedStructureDictionary, reduceFrom(void 0), ({ element: [key, getMessage], next, exit }) => getMessage && key in structure ? exit(getMessage(structure)) : next(void 0));
|
|
13
|
+
const getInterpretedMessageCodec = (codec) => reduce(codecDictionary, reduceFrom(void 0), ({ element: [currentCodec, message], next, exit }) => currentCodec === codec ? exit(message) : next(void 0));
|
|
14
|
+
return (error) => map(error.issues, (issue) => {
|
|
15
|
+
if (issueKind.has(issue)) {
|
|
16
|
+
const source = issue.getSource();
|
|
17
|
+
const subSource = issue.getSubSource?.();
|
|
18
|
+
return {
|
|
19
|
+
...issue,
|
|
20
|
+
interpretedMessage: {
|
|
21
|
+
source: source.definition.message,
|
|
22
|
+
subSource: subSource?.definition.message,
|
|
23
|
+
interpretedSource: getInterpretedMessageStructure(source),
|
|
24
|
+
interpretedSubSource: subSource && getInterpretedMessageStructure(subSource)
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (encodeIssueKind.has(issue)) return {
|
|
29
|
+
...issue,
|
|
30
|
+
interpretedMessage: {
|
|
31
|
+
source: issue.message,
|
|
32
|
+
interpretedSource: getInterpretedMessageCodec(issue.getSource())
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
...issue,
|
|
37
|
+
interpretedMessage: {
|
|
38
|
+
source: issue.message,
|
|
39
|
+
interpretedSource: getInterpretedMessageCodec(issue.getSource())
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { createErrorInterpreter };
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
+
const require_simpleClone = require("../../common/simpleClone.cjs");
|
|
1
2
|
//#region scripts/dataStructure/constraint/base.ts
|
|
2
3
|
const constraintKind = require("../kind.cjs").createKind("constraint");
|
|
3
4
|
function createConstraint(kindHandler, createConstructor) {
|
|
4
|
-
|
|
5
|
+
const init = (definition, { executeCheck, isAsynchronous }) => {
|
|
5
6
|
const self = {
|
|
6
7
|
definition,
|
|
7
|
-
executeCheck: (data
|
|
8
|
+
executeCheck: (data) => executeCheck(self, data),
|
|
8
9
|
isAsynchronous: () => isAsynchronous(self),
|
|
10
|
+
clone: () => init(require_simpleClone.simpleClone(definition), {
|
|
11
|
+
executeCheck,
|
|
12
|
+
isAsynchronous
|
|
13
|
+
}),
|
|
14
|
+
setMessage: (message) => {
|
|
15
|
+
self.definition.message = message;
|
|
16
|
+
return self;
|
|
17
|
+
},
|
|
18
|
+
addMessage: (message) => {
|
|
19
|
+
return self.clone().setMessage(message);
|
|
20
|
+
},
|
|
9
21
|
[constraintKind.runTimeKey]: null,
|
|
10
22
|
[kindHandler.runTimeKey]: null
|
|
11
23
|
};
|
|
12
24
|
return self;
|
|
13
|
-
}
|
|
25
|
+
};
|
|
26
|
+
return createConstructor({ init });
|
|
14
27
|
}
|
|
15
28
|
//#endregion
|
|
16
29
|
exports.constraintKind = constraintKind;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import { SuccessSymbol, ErrorSymbol
|
|
1
|
+
import { SuccessSymbol, ErrorSymbol } from '../common';
|
|
2
2
|
import type * as DKind from '../../kind';
|
|
3
|
-
import
|
|
3
|
+
import * as DCommon from '../../common';
|
|
4
4
|
export declare const constraintKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/constraint", unknown>>;
|
|
5
5
|
export interface ConstraintDefinition {
|
|
6
|
+
readonly message?: string;
|
|
6
7
|
}
|
|
7
8
|
declare const BivariousSymbol: unique symbol;
|
|
8
9
|
export interface Constraint<GenericInput extends unknown = unknown, GenericChecked extends GenericInput = GenericInput, GenericDefinition extends ConstraintDefinition = ConstraintDefinition> extends DKind.Kind<typeof constraintKind, DCommon.IsEqual<GenericInput, GenericChecked> extends true ? any : GenericChecked> {
|
|
9
10
|
readonly definition: GenericDefinition;
|
|
10
11
|
readonly [BivariousSymbol]?: DCommon.IsUnion<GenericInput> extends true ? (input: GenericInput) => void : unknown;
|
|
11
|
-
executeCheck(data: GenericInput
|
|
12
|
+
executeCheck(data: GenericInput): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
|
|
12
13
|
isAsynchronous(): boolean;
|
|
14
|
+
clone(): this;
|
|
15
|
+
setMessage(massage: string): this;
|
|
16
|
+
addMessage(massage: string): this;
|
|
13
17
|
}
|
|
14
18
|
export interface CreateConstraintInitParams<GenericConstraint extends Constraint = Constraint> {
|
|
15
|
-
executeCheck(self: GenericConstraint, data: Parameters<GenericConstraint["executeCheck"]>[0]
|
|
19
|
+
executeCheck(self: GenericConstraint, data: Parameters<GenericConstraint["executeCheck"]>[0]): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
|
|
16
20
|
isAsynchronous(self: GenericConstraint): boolean;
|
|
17
21
|
}
|
|
18
22
|
export interface CreateConstraintConstructorParams<GenericKindHandler extends DKind.Handler = DKind.Handler> {
|
|
@@ -1,17 +1,30 @@
|
|
|
1
|
+
import { simpleClone } from "../../common/simpleClone.mjs";
|
|
1
2
|
import { createKind } from "../kind.mjs";
|
|
2
3
|
//#region scripts/dataStructure/constraint/base.ts
|
|
3
4
|
const constraintKind = createKind("constraint");
|
|
4
5
|
function createConstraint(kindHandler, createConstructor) {
|
|
5
|
-
|
|
6
|
+
const init = (definition, { executeCheck, isAsynchronous }) => {
|
|
6
7
|
const self = {
|
|
7
8
|
definition,
|
|
8
|
-
executeCheck: (data
|
|
9
|
+
executeCheck: (data) => executeCheck(self, data),
|
|
9
10
|
isAsynchronous: () => isAsynchronous(self),
|
|
11
|
+
clone: () => init(simpleClone(definition), {
|
|
12
|
+
executeCheck,
|
|
13
|
+
isAsynchronous
|
|
14
|
+
}),
|
|
15
|
+
setMessage: (message) => {
|
|
16
|
+
self.definition.message = message;
|
|
17
|
+
return self;
|
|
18
|
+
},
|
|
19
|
+
addMessage: (message) => {
|
|
20
|
+
return self.clone().setMessage(message);
|
|
21
|
+
},
|
|
10
22
|
[constraintKind.runTimeKey]: null,
|
|
11
23
|
[kindHandler.runTimeKey]: null
|
|
12
24
|
};
|
|
13
25
|
return self;
|
|
14
|
-
}
|
|
26
|
+
};
|
|
27
|
+
return createConstructor({ init });
|
|
15
28
|
}
|
|
16
29
|
//#endregion
|
|
17
30
|
export { constraintKind, createConstraint };
|
|
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/allowedCharacters.ts
|
|
6
6
|
const allowedCharactersConstraintKind = require_kind.createKind("allowed-characters-constraint");
|
|
7
7
|
const AllowedCharactersConstraint = require_base.createConstraint(allowedCharactersConstraintKind, ({ init }) => (charactersRange) => init({ charactersRange }, {
|
|
8
|
-
executeCheck: (self, data
|
|
8
|
+
executeCheck: (self, data) => require_isComposedOf.isComposedOf(data, self.definition.charactersRange) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/allowedCharacters.ts
|
|
6
6
|
const allowedCharactersConstraintKind = createKind("allowed-characters-constraint");
|
|
7
7
|
const AllowedCharactersConstraint = createConstraint(allowedCharactersConstraintKind, ({ init }) => (charactersRange) => init({ charactersRange }, {
|
|
8
|
-
executeCheck: (self, data
|
|
8
|
+
executeCheck: (self, data) => isComposedOf(data, self.definition.charactersRange) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_base = require("../base.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/arrayLengthEqual.ts
|
|
7
7
|
const arrayLengthEqualConstraintKind = require_kind.createKind("array-length-equal-constraint");
|
|
8
8
|
const ArrayLengthEqualConstraint = require_base.createConstraint(arrayLengthEqualConstraintKind, ({ init }) => (length) => init({ length }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_lengthEqual.lengthEqual(data, require_forward.forward(self.definition.length)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/arrayLengthEqual.ts
|
|
7
7
|
const arrayLengthEqualConstraintKind = createKind("array-length-equal-constraint");
|
|
8
8
|
const ArrayLengthEqualConstraint = createConstraint(arrayLengthEqualConstraintKind, ({ init }) => (length) => init({ length }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => lengthEqual(data, forward(self.definition.length)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -9,7 +9,7 @@ const BetweenThanConstraint = require_base.createConstraint(betweenThanConstrain
|
|
|
9
9
|
greater,
|
|
10
10
|
less
|
|
11
11
|
}, {
|
|
12
|
-
executeCheck: (self, data
|
|
12
|
+
executeCheck: (self, data) => require_betweenThan.betweenThan(data, require_forward.forward(self.definition.greater), require_forward.forward(self.definition.less)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
13
13
|
isAsynchronous: () => false
|
|
14
14
|
}));
|
|
15
15
|
//#endregion
|
|
@@ -9,7 +9,7 @@ const BetweenThanConstraint = createConstraint(betweenThanConstraintKind, ({ ini
|
|
|
9
9
|
greater,
|
|
10
10
|
less
|
|
11
11
|
}, {
|
|
12
|
-
executeCheck: (self, data
|
|
12
|
+
executeCheck: (self, data) => betweenThan(data, forward(self.definition.greater), forward(self.definition.less)) ? SuccessSymbol : ErrorSymbol,
|
|
13
13
|
isAsynchronous: () => false
|
|
14
14
|
}));
|
|
15
15
|
//#endregion
|
|
@@ -9,7 +9,7 @@ const BetweenThanOrEqualConstraint = require_base.createConstraint(betweenThanOr
|
|
|
9
9
|
greater,
|
|
10
10
|
less
|
|
11
11
|
}, {
|
|
12
|
-
executeCheck: (self, data
|
|
12
|
+
executeCheck: (self, data) => require_betweenThanOrEqual.betweenThanOrEqual(data, require_forward.forward(self.definition.greater), require_forward.forward(self.definition.less)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
13
13
|
isAsynchronous: () => false
|
|
14
14
|
}));
|
|
15
15
|
//#endregion
|
|
@@ -9,7 +9,7 @@ const BetweenThanOrEqualConstraint = createConstraint(betweenThanOrEqualConstrai
|
|
|
9
9
|
greater,
|
|
10
10
|
less
|
|
11
11
|
}, {
|
|
12
|
-
executeCheck: (self, data
|
|
12
|
+
executeCheck: (self, data) => betweenThanOrEqual(data, forward(self.definition.greater), forward(self.definition.less)) ? SuccessSymbol : ErrorSymbol,
|
|
13
13
|
isAsynchronous: () => false
|
|
14
14
|
}));
|
|
15
15
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/email.ts
|
|
6
6
|
const emailConstraintKind = require_kind.createKind("email-constraint");
|
|
7
7
|
const EmailConstraint = require_base.createConstraint(emailConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isEmail.isEmail(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/email.ts
|
|
6
6
|
const emailConstraintKind = createKind("email-constraint");
|
|
7
7
|
const EmailConstraint = createConstraint(emailConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isEmail(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_isEven = require("../../../number/isEven.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/even.ts
|
|
6
6
|
const evenConstraintKind = require_kind.createKind("even-constraint");
|
|
7
7
|
const EvenConstraint = require_base.createConstraint(evenConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isEven.isEven(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { isEven } from "../../../number/isEven.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/even.ts
|
|
6
6
|
const evenConstraintKind = createKind("even-constraint");
|
|
7
7
|
const EvenConstraint = createConstraint(evenConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isEven(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_greaterThan = require("../../../number/greaterThan.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/greaterThan.ts
|
|
7
7
|
const greaterThanConstraintKind = require_kind.createKind("greater-than-constraint");
|
|
8
8
|
const GreaterThanConstraint = require_base.createConstraint(greaterThanConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_greaterThan.greaterThan(data, require_forward.forward(self.definition.threshold)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { greaterThan } from "../../../number/greaterThan.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/greaterThan.ts
|
|
7
7
|
const greaterThanConstraintKind = createKind("greater-than-constraint");
|
|
8
8
|
const GreaterThanConstraint = createConstraint(greaterThanConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => greaterThan(data, forward(self.definition.threshold)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_greaterThanOrEqual = require("../../../number/greaterThanOrEqual.c
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/greaterThanOrEqual.ts
|
|
7
7
|
const greaterThanOrEqualConstraintKind = require_kind.createKind("greater-than-or-equal-constraint");
|
|
8
8
|
const GreaterThanOrEqualConstraint = require_base.createConstraint(greaterThanOrEqualConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_greaterThanOrEqual.greaterThanOrEqual(data, require_forward.forward(self.definition.threshold)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { greaterThanOrEqual } from "../../../number/greaterThanOrEqual.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/greaterThanOrEqual.ts
|
|
7
7
|
const greaterThanOrEqualConstraintKind = createKind("greater-than-or-equal-constraint");
|
|
8
8
|
const GreaterThanOrEqualConstraint = createConstraint(greaterThanOrEqualConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => greaterThanOrEqual(data, forward(self.definition.threshold)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_isInteger = require("../../../number/isInteger.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/integer.ts
|
|
6
6
|
const integerConstraintKind = require_kind.createKind("integer-constraint");
|
|
7
7
|
const IntegerConstraint = require_base.createConstraint(integerConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isInteger.isInteger(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { isInteger } from "../../../number/isInteger.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/integer.ts
|
|
6
6
|
const integerConstraintKind = createKind("integer-constraint");
|
|
7
7
|
const IntegerConstraint = createConstraint(integerConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isInteger(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_lessThan = require("../../../number/lessThan.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/lessThan.ts
|
|
7
7
|
const lessThanConstraintKind = require_kind.createKind("less-than-constraint");
|
|
8
8
|
const LessThanConstraint = require_base.createConstraint(lessThanConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_lessThan.lessThan(data, require_forward.forward(self.definition.threshold)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { lessThan } from "../../../number/lessThan.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/lessThan.ts
|
|
7
7
|
const lessThanConstraintKind = createKind("less-than-constraint");
|
|
8
8
|
const LessThanConstraint = createConstraint(lessThanConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => lessThan(data, forward(self.definition.threshold)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_lessThanOrEqual = require("../../../number/lessThanOrEqual.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/lessThanOrEqual.ts
|
|
7
7
|
const lessThanOrEqualConstraintKind = require_kind.createKind("less-than-or-equal-constraint");
|
|
8
8
|
const LessThanOrEqualConstraint = require_base.createConstraint(lessThanOrEqualConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_lessThanOrEqual.lessThanOrEqual(data, require_forward.forward(self.definition.threshold)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { lessThanOrEqual } from "../../../number/lessThanOrEqual.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/lessThanOrEqual.ts
|
|
7
7
|
const lessThanOrEqualConstraintKind = createKind("less-than-or-equal-constraint");
|
|
8
8
|
const LessThanOrEqualConstraint = createConstraint(lessThanOrEqualConstraintKind, ({ init }) => (threshold) => init({ threshold }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => lessThanOrEqual(data, forward(self.definition.threshold)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_base = require("../base.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/maxCharacters.ts
|
|
7
7
|
const maxCharactersConstraintKind = require_kind.createKind("max-characters-constraint");
|
|
8
8
|
const MaxCharactersConstraint = require_base.createConstraint(maxCharactersConstraintKind, ({ init }) => (max) => init({ max }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_maxCharacters.maxCharacters(data, require_forward.forward(self.definition.max)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/maxCharacters.ts
|
|
7
7
|
const maxCharactersConstraintKind = createKind("max-characters-constraint");
|
|
8
8
|
const MaxCharactersConstraint = createConstraint(maxCharactersConstraintKind, ({ init }) => (max) => init({ max }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => maxCharacters(data, forward(self.definition.max)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_base = require("../base.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/maxElements.ts
|
|
7
7
|
const maxElementsConstraintKind = require_kind.createKind("max-elements-constraint");
|
|
8
8
|
const MaxElementsConstraint = require_base.createConstraint(maxElementsConstraintKind, ({ init }) => (max) => init({ max }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_maxElements.maxElements(data, require_forward.forward(self.definition.max)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/maxElements.ts
|
|
7
7
|
const maxElementsConstraintKind = createKind("max-elements-constraint");
|
|
8
8
|
const MaxElementsConstraint = createConstraint(maxElementsConstraintKind, ({ init }) => (max) => init({ max }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => maxElements(data, forward(self.definition.max)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_base = require("../base.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/minCharacters.ts
|
|
7
7
|
const stringMinConstraintKind = require_kind.createKind("string-min-constraint");
|
|
8
8
|
const MinCharactersConstraint = require_base.createConstraint(stringMinConstraintKind, ({ init }) => (min) => init({ min }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_minCharacters.minCharacters(data, require_forward.forward(self.definition.min)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/minCharacters.ts
|
|
7
7
|
const stringMinConstraintKind = createKind("string-min-constraint");
|
|
8
8
|
const MinCharactersConstraint = createConstraint(stringMinConstraintKind, ({ init }) => (min) => init({ min }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => minCharacters(data, forward(self.definition.min)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_base = require("../base.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/minElements.ts
|
|
7
7
|
const minElementsConstraintKind = require_kind.createKind("min-elements-constraint");
|
|
8
8
|
const MinElementsConstraint = require_base.createConstraint(minElementsConstraintKind, ({ init }) => (min) => init({ min }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_minElements.minElements(data, require_forward.forward(self.definition.min)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/minElements.ts
|
|
7
7
|
const minElementsConstraintKind = createKind("min-elements-constraint");
|
|
8
8
|
const MinElementsConstraint = createConstraint(minElementsConstraintKind, ({ init }) => (min) => init({ min }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => minElements(data, forward(self.definition.min)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ const require_isMultipleOf = require("../../../number/isMultipleOf.cjs");
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/multipleOf.ts
|
|
7
7
|
const multipleOfConstraintKind = require_kind.createKind("multiple-of-constraint");
|
|
8
8
|
const MultipleOfConstraint = require_base.createConstraint(multipleOfConstraintKind, ({ init }) => (multiple) => init({ multiple }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => require_isMultipleOf.isMultipleOf(data, require_forward.forward(self.definition.multiple)) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -6,7 +6,7 @@ import { isMultipleOf } from "../../../number/isMultipleOf.mjs";
|
|
|
6
6
|
//#region scripts/dataStructure/constraint/defaults/multipleOf.ts
|
|
7
7
|
const multipleOfConstraintKind = createKind("multiple-of-constraint");
|
|
8
8
|
const MultipleOfConstraint = createConstraint(multipleOfConstraintKind, ({ init }) => (multiple) => init({ multiple }, {
|
|
9
|
-
executeCheck: (self, data
|
|
9
|
+
executeCheck: (self, data) => isMultipleOf(data, forward(self.definition.multiple)) ? SuccessSymbol : ErrorSymbol,
|
|
10
10
|
isAsynchronous: () => false
|
|
11
11
|
}));
|
|
12
12
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_isNegative = require("../../../number/isNegative.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/negative.ts
|
|
6
6
|
const negativeConstraintKind = require_kind.createKind("negative-constraint");
|
|
7
7
|
const NegativeConstraint = require_base.createConstraint(negativeConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isNegative.isNegative(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { isNegative } from "../../../number/isNegative.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/negative.ts
|
|
6
6
|
const negativeConstraintKind = createKind("negative-constraint");
|
|
7
7
|
const NegativeConstraint = createConstraint(negativeConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isNegative(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/notEmpty.ts
|
|
6
6
|
const notEmptyConstraintKind = require_kind.createKind("not-empty-constraint");
|
|
7
7
|
const NotEmptyConstraint = require_base.createConstraint(notEmptyConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isNotEmpty.isNotEmpty(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { createConstraint } from "../base.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/notEmpty.ts
|
|
6
6
|
const notEmptyConstraintKind = createKind("not-empty-constraint");
|
|
7
7
|
const NotEmptyConstraint = createConstraint(notEmptyConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isNotEmpty(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_isNotZero = require("../../../number/isNotZero.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/notZero.ts
|
|
6
6
|
const notZeroConstraintKind = require_kind.createKind("not-zero-constraint");
|
|
7
7
|
const NotZeroConstraint = require_base.createConstraint(notZeroConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isNotZero.isNotZero(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { isNotZero } from "../../../number/isNotZero.mjs";
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/notZero.ts
|
|
6
6
|
const notZeroConstraintKind = createKind("not-zero-constraint");
|
|
7
7
|
const NotZeroConstraint = createConstraint(notZeroConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => isNotZero(data) ? SuccessSymbol : ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|
|
@@ -5,7 +5,7 @@ const require_isOdd = require("../../../number/isOdd.cjs");
|
|
|
5
5
|
//#region scripts/dataStructure/constraint/defaults/odd.ts
|
|
6
6
|
const oddConstraintKind = require_kind.createKind("odd-constraint");
|
|
7
7
|
const OddConstraint = require_base.createConstraint(oddConstraintKind, ({ init }) => () => init({}, {
|
|
8
|
-
executeCheck: (
|
|
8
|
+
executeCheck: (_self, data) => require_isOdd.isOdd(data) ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
|
|
9
9
|
isAsynchronous: () => false
|
|
10
10
|
}));
|
|
11
11
|
//#endregion
|