@duplojs/utils 1.3.30 → 1.3.31
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/clean/entity.d.ts +2 -2
- package/dist/clean/flag.cjs +4 -0
- package/dist/clean/flag.d.ts +1 -0
- package/dist/clean/flag.mjs +4 -0
- package/dist/clean/index.cjs +2 -0
- package/dist/clean/index.d.ts +1 -0
- package/dist/clean/index.mjs +1 -0
- package/dist/clean/newType.d.ts +2 -2
- package/dist/clean/unwrapEntity.cjs +26 -0
- package/dist/clean/unwrapEntity.d.ts +13 -0
- package/dist/clean/unwrapEntity.mjs +24 -0
- package/dist/common/index.d.ts +2 -0
- package/dist/common/override.cjs +38 -17
- package/dist/common/override.d.ts +5 -8
- package/dist/common/override.mjs +38 -17
- package/dist/common/pipeCall.cjs +7 -0
- package/dist/common/pipeCall.d.ts +1 -0
- package/dist/common/pipeCall.mjs +5 -0
- package/dist/common/toCurriedPredicate.cjs +7 -0
- package/dist/common/toCurriedPredicate.d.ts +1 -0
- package/dist/common/toCurriedPredicate.mjs +5 -0
- package/dist/common/types/DeepReadonly.d.ts +3 -0
- package/dist/common/types/index.d.ts +1 -0
- package/dist/dataParser/extended/object.cjs +5 -0
- package/dist/dataParser/extended/object.d.ts +4 -0
- package/dist/dataParser/extended/object.mjs +5 -0
- package/dist/dataParser/identifier.d.ts +2 -2
- package/dist/dataParser/index.cjs +3 -0
- package/dist/dataParser/index.mjs +1 -0
- package/dist/dataParser/parsers/literal.d.ts +2 -2
- package/dist/dataParser/parsers/object/extends.cjs +15 -0
- package/dist/dataParser/parsers/object/extends.d.ts +9 -0
- package/dist/dataParser/parsers/object/extends.mjs +12 -0
- package/dist/dataParser/parsers/object/index.d.ts +1 -0
- package/dist/index.cjs +4 -0
- package/dist/index.mjs +2 -0
- package/dist/metadata.json +42 -0
- package/dist/object/hasKeys.d.ts +2 -2
- package/dist/object/types/forbiddenKey.d.ts +6 -0
- package/dist/object/types/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/clean/entity.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export interface EntityHandler<GenericName extends string = string, GenericPrope
|
|
|
40
40
|
readonly name: GenericName;
|
|
41
41
|
readonly propertiesDefinition: GenericPropertiesDefinition;
|
|
42
42
|
readonly mapDataParser: DDataParser.Contract<EntityProperties<GenericPropertiesDefinition>, EntityRawProperties<GenericPropertiesDefinition>>;
|
|
43
|
-
"new"<GenericProperties extends EntityProperties<GenericPropertiesDefinition>>(properties: GenericProperties): Entity<GenericName> & GenericProperties;
|
|
43
|
+
"new"<const GenericProperties extends EntityProperties<GenericPropertiesDefinition>>(properties: GenericProperties): Entity<GenericName> & GenericProperties;
|
|
44
44
|
map(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): (DEither.EitherRight<"createEntity", Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>> | DEither.EitherLeft<"createEntityError", DDataParser.DataParserError>);
|
|
45
45
|
mapOrThrow(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>;
|
|
46
46
|
is<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, Entity<GenericName>>;
|
|
@@ -70,6 +70,6 @@ export interface PropertiesDefinitionParams {
|
|
|
70
70
|
inArray: NeverCoalescing<GenericAdvancedArrayPropertyDefinition, true>;
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
export declare function createEntity<GenericName extends string, const GenericPropertiesDefinition extends EntityPropertiesDefinition>(name: GenericName, getPropertiesDefinition: (params: PropertiesDefinitionParams) => GenericPropertiesDefinition): EntityHandler<GenericName, GenericPropertiesDefinition>;
|
|
73
|
+
export declare function createEntity<GenericName extends string, const GenericPropertiesDefinition extends EntityPropertiesDefinition>(name: GenericName, getPropertiesDefinition: (params: PropertiesDefinitionParams) => GenericPropertiesDefinition & DObject.ForbiddenKey<GenericPropertiesDefinition, "_entityName" | "_flags">): EntityHandler<GenericName, GenericPropertiesDefinition>;
|
|
74
74
|
export type GetEntity<GenericEntityHandler extends EntityHandler<string, any>> = Extract<ReturnType<GenericEntityHandler["new"]>, any>;
|
|
75
75
|
export {};
|
package/dist/clean/flag.cjs
CHANGED
package/dist/clean/flag.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface FlagHandler<GenericEntity extends Entity = Entity, GenericName
|
|
|
6
6
|
readonly name: GenericName;
|
|
7
7
|
append<GenericInputEntity extends GenericEntity, GenericInputValue extends GenericValue>(entity: GenericInputEntity, ...args: IsEqual<GenericValue, never> extends true ? [] : [GenericInputValue]): (GenericInputEntity & Flag<GenericName, GenericInputValue>);
|
|
8
8
|
getValue<GenericInputEntity extends GenericEntity & Flag<GenericName, GenericValue>>(entity: GenericInputEntity): GetKindValue<typeof flagKind, GenericInputEntity>[GenericName];
|
|
9
|
+
has<GenericInputEntity extends GenericEntity>(entity: GenericInputEntity): Extract<GenericInputEntity, Flag<GenericName, any>>;
|
|
9
10
|
}
|
|
10
11
|
export interface Flag<GenericName extends string = string, GenericValue extends unknown = never> extends Kind<typeof flagKind.definition, Record<GenericName, GenericValue>> {
|
|
11
12
|
}
|
package/dist/clean/flag.mjs
CHANGED
package/dist/clean/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ var entity = require('./entity.cjs');
|
|
|
6
6
|
var repository = require('./repository.cjs');
|
|
7
7
|
var useCase = require('./useCase.cjs');
|
|
8
8
|
var flag = require('./flag.cjs');
|
|
9
|
+
var unwrapEntity = require('./unwrapEntity.cjs');
|
|
9
10
|
var base = require('./constraint/base.cjs');
|
|
10
11
|
var number = require('./constraint/defaultConstraint/number.cjs');
|
|
11
12
|
var string = require('./constraint/defaultConstraint/string.cjs');
|
|
@@ -53,6 +54,7 @@ exports.useCaseHandlerKind = useCase.useCaseHandlerKind;
|
|
|
53
54
|
exports.useCaseInstances = useCase.useCaseInstances;
|
|
54
55
|
exports.createFlag = flag.createFlag;
|
|
55
56
|
exports.flagKind = flag.flagKind;
|
|
57
|
+
exports.unwrapEntity = unwrapEntity.unwrapEntity;
|
|
56
58
|
exports.CreateConstrainedTypeError = base.CreateConstrainedTypeError;
|
|
57
59
|
exports.constrainedTypeKind = base.constrainedTypeKind;
|
|
58
60
|
exports.constraintHandlerKind = base.constraintHandlerKind;
|
package/dist/clean/index.d.ts
CHANGED
package/dist/clean/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@ export { CreateEntityError, createEntity, entityKind } from './entity.mjs';
|
|
|
4
4
|
export { createRepository, repositoryHandlerKind } from './repository.mjs';
|
|
5
5
|
export { createUseCase, useCaseHandlerKind, useCaseInstances } from './useCase.mjs';
|
|
6
6
|
export { createFlag, flagKind } from './flag.mjs';
|
|
7
|
+
export { unwrapEntity } from './unwrapEntity.mjs';
|
|
7
8
|
export { CreateConstrainedTypeError, constrainedTypeKind, constraintHandlerKind, createConstraint } from './constraint/base.mjs';
|
|
8
9
|
export { Int, Negative, Positive } from './constraint/defaultConstraint/number.mjs';
|
|
9
10
|
export { Email, Url } from './constraint/defaultConstraint/string.mjs';
|
package/dist/clean/newType.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Kind, type WrappedValue, type Unwrap, type NeverCoalescing } from "..";
|
|
1
|
+
import { type Kind, type WrappedValue, type Unwrap, type NeverCoalescing, type DeepReadonly } from "..";
|
|
2
2
|
import { constrainedTypeKind, type ConstraintHandler } from "./constraint";
|
|
3
3
|
import { type Primitive, type EligiblePrimitive } from "./primitive";
|
|
4
4
|
import * as DEither from "../either";
|
|
@@ -34,6 +34,6 @@ export declare class CreateNewTypeError extends CreateNewTypeError_base {
|
|
|
34
34
|
export declare function createNewType<GenericName extends string, GenericDataParser extends DDataParser.DataParser, const GenericConstrainHandler extends (ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]> | readonly [
|
|
35
35
|
ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>,
|
|
36
36
|
...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>[]
|
|
37
|
-
]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstrainHandler): NewTypeHandler<GenericName, DDataParser.Output<GenericDataParser
|
|
37
|
+
]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstrainHandler): NewTypeHandler<GenericName, DeepReadonly<DDataParser.Output<GenericDataParser>>, DArray.ArrayCoalescing<NeverCoalescing<GenericConstrainHandler, readonly []>>>;
|
|
38
38
|
export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], DDataParser.Output<GenericHandler["dataParser"]>, GenericHandler["constrains"][number]["name"]> : never, any>;
|
|
39
39
|
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var entity = require('./entity.cjs');
|
|
4
|
+
var flag = require('./flag.cjs');
|
|
5
|
+
var unwrap = require('../common/unwrap.cjs');
|
|
6
|
+
|
|
7
|
+
function unwrapEntity(entity$1) {
|
|
8
|
+
const unwrapEntity = {};
|
|
9
|
+
for (const prop in entity$1) {
|
|
10
|
+
if (prop === entity.entityKind.runTimeKey) {
|
|
11
|
+
unwrapEntity._entityName = entity$1[prop];
|
|
12
|
+
}
|
|
13
|
+
else if (prop === flag.flagKind.runTimeKey) {
|
|
14
|
+
unwrapEntity._flags = entity$1[prop];
|
|
15
|
+
}
|
|
16
|
+
else if (entity$1[prop] instanceof Array) {
|
|
17
|
+
unwrapEntity[prop] = entity$1[prop].map(unwrap.unwrap);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
unwrapEntity[prop] = unwrap.unwrap(entity$1[prop]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return unwrapEntity;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.unwrapEntity = unwrapEntity;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type GetKindValue, type SimplifyTopLevel, type Kind, type Unwrap, type DeepReadonly } from "../common";
|
|
2
|
+
import { entityKind, type Entity } from "./entity";
|
|
3
|
+
import { flagKind } from "./flag";
|
|
4
|
+
type UnwrapArrayProperties<GenericValue extends readonly any[]> = GenericValue extends readonly [infer InferredFirst, ...infer InferredRest] ? (InferredRest extends readonly [] ? readonly [] : UnwrapArrayProperties<InferredRest>) extends infer InferredResult extends readonly any[] ? readonly [Unwrap<InferredFirst>, ...InferredResult] : never : readonly Unwrap<GenericValue[number]>[];
|
|
5
|
+
export type UnwrapEntity<GenericEntity extends Entity> = SimplifyTopLevel<DeepReadonly<{
|
|
6
|
+
[Prop in Extract<keyof GenericEntity, string>]: GenericEntity[Prop] extends readonly any[] ? UnwrapArrayProperties<GenericEntity[Prop]> : Unwrap<GenericEntity[Prop]>;
|
|
7
|
+
} & {
|
|
8
|
+
[Prop in "_entityName"]: GetKindValue<typeof entityKind, GenericEntity>;
|
|
9
|
+
} & (GenericEntity extends Kind<typeof flagKind.definition, any> ? {
|
|
10
|
+
[Prop in "_flags"]: SimplifyTopLevel<GetKindValue<typeof flagKind, GenericEntity>>;
|
|
11
|
+
} : {})>>;
|
|
12
|
+
export declare function unwrapEntity<GenericEntity extends Entity>(entity: GenericEntity): UnwrapEntity<GenericEntity>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { entityKind } from './entity.mjs';
|
|
2
|
+
import { flagKind } from './flag.mjs';
|
|
3
|
+
import { unwrap } from '../common/unwrap.mjs';
|
|
4
|
+
|
|
5
|
+
function unwrapEntity(entity) {
|
|
6
|
+
const unwrapEntity = {};
|
|
7
|
+
for (const prop in entity) {
|
|
8
|
+
if (prop === entityKind.runTimeKey) {
|
|
9
|
+
unwrapEntity._entityName = entity[prop];
|
|
10
|
+
}
|
|
11
|
+
else if (prop === flagKind.runTimeKey) {
|
|
12
|
+
unwrapEntity._flags = entity[prop];
|
|
13
|
+
}
|
|
14
|
+
else if (entity[prop] instanceof Array) {
|
|
15
|
+
unwrapEntity[prop] = entity[prop].map(unwrap);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
unwrapEntity[prop] = unwrap(entity[prop]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return unwrapEntity;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { unwrapEntity };
|
package/dist/common/index.d.ts
CHANGED
package/dist/common/override.cjs
CHANGED
|
@@ -1,33 +1,54 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var globalStore = require('./globalStore.cjs');
|
|
4
|
-
var pipe = require('./pipe.cjs');
|
|
5
|
-
var fromEntries = require('../object/fromEntries.cjs');
|
|
6
|
-
var map = require('../array/map.cjs');
|
|
7
|
-
var entry = require('../object/entry.cjs');
|
|
8
4
|
|
|
9
5
|
const SymbolOverrideStore = Symbol.for("@duplojs/utils/override");
|
|
10
6
|
const overrideStore = globalStore.createGlobalStore(SymbolOverrideStore, {});
|
|
11
7
|
function createOverride(overrideName) {
|
|
12
|
-
const
|
|
13
|
-
overrideStore.
|
|
14
|
-
|
|
15
|
-
[overrideName]: store,
|
|
16
|
-
});
|
|
8
|
+
const overridePropertiesStore = overrideStore.value[overrideName] ?? {};
|
|
9
|
+
overrideStore.value[overrideName] ||= overridePropertiesStore;
|
|
10
|
+
let cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
17
11
|
return {
|
|
18
12
|
setMethod(prop, theFunction) {
|
|
19
|
-
|
|
13
|
+
overridePropertiesStore[prop] = theFunction;
|
|
14
|
+
cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
20
15
|
},
|
|
21
16
|
setPropertyDefaultValue(prop, value) {
|
|
22
|
-
|
|
17
|
+
overridePropertiesStore[prop] = value;
|
|
18
|
+
cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
23
19
|
},
|
|
24
20
|
apply(overrideInterface) {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
const cachedOverrideProperties = {};
|
|
22
|
+
const cachedKey = Object.keys(overrideInterface);
|
|
23
|
+
const self = new Proxy({}, {
|
|
24
|
+
get(target, prop) {
|
|
25
|
+
if (overridePropertiesStore[prop]) {
|
|
26
|
+
if (!cachedOverrideProperties[prop]) {
|
|
27
|
+
cachedOverrideProperties[prop] = typeof overridePropertiesStore[prop] === "function"
|
|
28
|
+
? (...args) => overridePropertiesStore[prop](self, ...args)
|
|
29
|
+
: overridePropertiesStore[prop];
|
|
30
|
+
}
|
|
31
|
+
return cachedOverrideProperties[prop];
|
|
32
|
+
}
|
|
33
|
+
return overrideInterface[prop];
|
|
34
|
+
},
|
|
35
|
+
ownKeys() {
|
|
36
|
+
return [
|
|
37
|
+
...cachedKey,
|
|
38
|
+
...cachedStoreKey,
|
|
39
|
+
];
|
|
40
|
+
},
|
|
41
|
+
has(target, prop) {
|
|
42
|
+
return cachedKey.includes(prop)
|
|
43
|
+
|| cachedStoreKey.includes(prop);
|
|
44
|
+
},
|
|
45
|
+
getOwnPropertyDescriptor() {
|
|
46
|
+
return {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
});
|
|
31
52
|
return self;
|
|
32
53
|
},
|
|
33
54
|
};
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import
|
|
1
|
+
import { type Adaptor, type AnyFunction, type AnyValue } from "./types";
|
|
2
|
+
import type * as DObject from "../object";
|
|
3
3
|
declare const SymbolOverrideStore: unique symbol;
|
|
4
4
|
declare module "./globalStore" {
|
|
5
5
|
interface GlobalStore {
|
|
6
|
-
[SymbolOverrideStore]: Record<string,
|
|
7
|
-
ObjectKey,
|
|
8
|
-
Exclude<AnyValue, AnyFunction> | AnyFunction<[object, ...unknown[]]>
|
|
9
|
-
][]>;
|
|
6
|
+
[SymbolOverrideStore]: Record<string, Record<string, unknown>>;
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
9
|
export interface OverrideHandler<GenericInterface extends object> {
|
|
13
|
-
setMethod<GenericProperty extends GetPropsWithValueExtends<GenericInterface, AnyFunction>>(prop: GenericProperty, theFunction: (self: GenericInterface, ...args: Parameters<GenericInterface[GenericProperty]>) => ReturnType<GenericInterface[GenericProperty]>): void;
|
|
14
|
-
setPropertyDefaultValue<GenericProperty extends Exclude<keyof GenericInterface, GetPropsWithValueExtends<GenericInterface, AnyFunction>>>(prop: GenericProperty, value: Adaptor<GenericInterface[GenericProperty], AnyValue>): void;
|
|
10
|
+
setMethod<GenericProperty extends DObject.GetPropsWithValueExtends<GenericInterface, AnyFunction>>(prop: GenericProperty, theFunction: (self: GenericInterface, ...args: Parameters<GenericInterface[GenericProperty]>) => ReturnType<GenericInterface[GenericProperty]>): void;
|
|
11
|
+
setPropertyDefaultValue<GenericProperty extends Exclude<keyof GenericInterface, DObject.GetPropsWithValueExtends<GenericInterface, AnyFunction>>>(prop: GenericProperty, value: Adaptor<GenericInterface[GenericProperty], AnyValue>): void;
|
|
15
12
|
apply(overrideInterface: GenericInterface): GenericInterface;
|
|
16
13
|
}
|
|
17
14
|
export declare function createOverride<GenericInterface extends object>(overrideName: string): OverrideHandler<GenericInterface>;
|
package/dist/common/override.mjs
CHANGED
|
@@ -1,31 +1,52 @@
|
|
|
1
1
|
import { createGlobalStore } from './globalStore.mjs';
|
|
2
|
-
import { pipe } from './pipe.mjs';
|
|
3
|
-
import { fromEntries } from '../object/fromEntries.mjs';
|
|
4
|
-
import { map } from '../array/map.mjs';
|
|
5
|
-
import { entry } from '../object/entry.mjs';
|
|
6
2
|
|
|
7
3
|
const SymbolOverrideStore = Symbol.for("@duplojs/utils/override");
|
|
8
4
|
const overrideStore = createGlobalStore(SymbolOverrideStore, {});
|
|
9
5
|
function createOverride(overrideName) {
|
|
10
|
-
const
|
|
11
|
-
overrideStore.
|
|
12
|
-
|
|
13
|
-
[overrideName]: store,
|
|
14
|
-
});
|
|
6
|
+
const overridePropertiesStore = overrideStore.value[overrideName] ?? {};
|
|
7
|
+
overrideStore.value[overrideName] ||= overridePropertiesStore;
|
|
8
|
+
let cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
15
9
|
return {
|
|
16
10
|
setMethod(prop, theFunction) {
|
|
17
|
-
|
|
11
|
+
overridePropertiesStore[prop] = theFunction;
|
|
12
|
+
cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
18
13
|
},
|
|
19
14
|
setPropertyDefaultValue(prop, value) {
|
|
20
|
-
|
|
15
|
+
overridePropertiesStore[prop] = value;
|
|
16
|
+
cachedStoreKey = Object.keys(overridePropertiesStore);
|
|
21
17
|
},
|
|
22
18
|
apply(overrideInterface) {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
const cachedOverrideProperties = {};
|
|
20
|
+
const cachedKey = Object.keys(overrideInterface);
|
|
21
|
+
const self = new Proxy({}, {
|
|
22
|
+
get(target, prop) {
|
|
23
|
+
if (overridePropertiesStore[prop]) {
|
|
24
|
+
if (!cachedOverrideProperties[prop]) {
|
|
25
|
+
cachedOverrideProperties[prop] = typeof overridePropertiesStore[prop] === "function"
|
|
26
|
+
? (...args) => overridePropertiesStore[prop](self, ...args)
|
|
27
|
+
: overridePropertiesStore[prop];
|
|
28
|
+
}
|
|
29
|
+
return cachedOverrideProperties[prop];
|
|
30
|
+
}
|
|
31
|
+
return overrideInterface[prop];
|
|
32
|
+
},
|
|
33
|
+
ownKeys() {
|
|
34
|
+
return [
|
|
35
|
+
...cachedKey,
|
|
36
|
+
...cachedStoreKey,
|
|
37
|
+
];
|
|
38
|
+
},
|
|
39
|
+
has(target, prop) {
|
|
40
|
+
return cachedKey.includes(prop)
|
|
41
|
+
|| cachedStoreKey.includes(prop);
|
|
42
|
+
},
|
|
43
|
+
getOwnPropertyDescriptor() {
|
|
44
|
+
return {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: true,
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
});
|
|
29
50
|
return self;
|
|
30
51
|
},
|
|
31
52
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function pipeCall<GenericInput extends unknown, GenericOutput extends unknown>(theFunction: (input: NoInfer<GenericInput>) => GenericOutput): (input: GenericInput) => NoInfer<GenericOutput>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function toCurriedPredicate<GenericInput extends unknown, GenericPredicate extends GenericInput>(thePredicate: (input: GenericInput) => input is GenericPredicate): (input: GenericInput) => input is GenericPredicate;
|
|
@@ -4,6 +4,7 @@ var baseExtended = require('../baseExtended.cjs');
|
|
|
4
4
|
var index = require('../parsers/object/index.cjs');
|
|
5
5
|
var required = require('../parsers/object/required.cjs');
|
|
6
6
|
var partial = require('../parsers/object/partial.cjs');
|
|
7
|
+
var _extends = require('../parsers/object/extends.cjs');
|
|
7
8
|
var pick = require('../parsers/object/pick.cjs');
|
|
8
9
|
var omit = require('../parsers/object/omit.cjs');
|
|
9
10
|
var override = require('../../common/override.cjs');
|
|
@@ -18,6 +19,10 @@ function object(shape, definition) {
|
|
|
18
19
|
const newShape = pick.pickShape(self.definition.shape, pickObject);
|
|
19
20
|
return object(newShape, definition);
|
|
20
21
|
},
|
|
22
|
+
extends: (self, extension, definition) => {
|
|
23
|
+
const newShape = _extends.extendsShape(self.definition.shape, extension);
|
|
24
|
+
return object(newShape, definition);
|
|
25
|
+
},
|
|
21
26
|
partial: (self, definition) => {
|
|
22
27
|
const newShape = partial.partialShape(self.definition.shape);
|
|
23
28
|
return object(newShape, definition);
|
|
@@ -3,6 +3,7 @@ import { type DataParserExtended } from "../baseExtended";
|
|
|
3
3
|
import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
|
|
4
4
|
import * as dataParsers from "../parsers";
|
|
5
5
|
import { type Output } from "../base";
|
|
6
|
+
import { type AssignObjects } from "../../object";
|
|
6
7
|
type _DataParserObjectExtended<GenericDefinition extends dataParsers.DataParserDefinitionObject> = (Kind<typeof dataParsers.objectKind.definition> & DataParserExtended<GenericDefinition, dataParsers.DataParserObjectShapeOutput<GenericDefinition["shape"]>, dataParsers.DataParserObjectShapeInput<GenericDefinition["shape"]>>);
|
|
7
8
|
export interface DataParserObjectExtended<GenericDefinition extends dataParsers.DataParserDefinitionObject = dataParsers.DataParserDefinitionObject> extends _DataParserObjectExtended<GenericDefinition> {
|
|
8
9
|
addChecker<GenericChecker extends readonly [
|
|
@@ -25,6 +26,9 @@ export interface DataParserObjectExtended<GenericDefinition extends dataParsers.
|
|
|
25
26
|
pick<const GenericPickObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(pickObject: GenericPickObject, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
26
27
|
readonly shape: SimplifyTopLevel<Pick<GenericDefinition["shape"], Adaptor<keyof GenericPickObject, keyof GenericDefinition["shape"]>>>;
|
|
27
28
|
}>>;
|
|
29
|
+
extends<const GenericExtension extends dataParsers.DataParserObjectShape, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(extension: GenericExtension, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
30
|
+
readonly shape: AssignObjects<GenericDefinition["shape"], GenericExtension>;
|
|
31
|
+
}>>;
|
|
28
32
|
partial<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
29
33
|
readonly shape: dataParsers.PartialDataParserObject<GenericDefinition["shape"]>;
|
|
30
34
|
}>>;
|
|
@@ -2,6 +2,7 @@ import { dataParserExtendedInit } from '../baseExtended.mjs';
|
|
|
2
2
|
import { object as object$1 } from '../parsers/object/index.mjs';
|
|
3
3
|
import { requiredShape } from '../parsers/object/required.mjs';
|
|
4
4
|
import { partialShape } from '../parsers/object/partial.mjs';
|
|
5
|
+
import { extendsShape } from '../parsers/object/extends.mjs';
|
|
5
6
|
import { pickShape } from '../parsers/object/pick.mjs';
|
|
6
7
|
import { omitShape } from '../parsers/object/omit.mjs';
|
|
7
8
|
import { createOverride } from '../../common/override.mjs';
|
|
@@ -16,6 +17,10 @@ function object(shape, definition) {
|
|
|
16
17
|
const newShape = pickShape(self.definition.shape, pickObject);
|
|
17
18
|
return object(newShape, definition);
|
|
18
19
|
},
|
|
20
|
+
extends: (self, extension, definition) => {
|
|
21
|
+
const newShape = extendsShape(self.definition.shape, extension);
|
|
22
|
+
return object(newShape, definition);
|
|
23
|
+
},
|
|
19
24
|
partial: (self, definition) => {
|
|
20
25
|
const newShape = partialShape(self.definition.shape);
|
|
21
26
|
return object(newShape, definition);
|
|
@@ -8,7 +8,7 @@ import { type DataParser } from "./base";
|
|
|
8
8
|
* parsers, the correct type can be retrieved.
|
|
9
9
|
*/
|
|
10
10
|
export declare const identifier: {
|
|
11
|
-
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/
|
|
11
|
+
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
12
12
|
input: string;
|
|
13
13
|
output: string;
|
|
14
14
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
@@ -60,7 +60,7 @@ export declare const identifier: {
|
|
|
60
60
|
input: unknown[];
|
|
61
61
|
output: unknown[];
|
|
62
62
|
}>>, GenericInput extends DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind extends import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("../common").IsEqual<import("../common").IsEqual<false | (GenericInput extends any ? import("../common").IsEqual<GenericInput, DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>> : never), boolean>, true> extends true ? Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./parsers").DataParserTime<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./extended").DataParserTimeExtended<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
|
|
63
|
-
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/
|
|
63
|
+
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
64
64
|
input: string;
|
|
65
65
|
output: string;
|
|
66
66
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
@@ -16,6 +16,7 @@ var omit = require('./parsers/object/omit.cjs');
|
|
|
16
16
|
var pick = require('./parsers/object/pick.cjs');
|
|
17
17
|
var partial = require('./parsers/object/partial.cjs');
|
|
18
18
|
var required = require('./parsers/object/required.cjs');
|
|
19
|
+
var _extends = require('./parsers/object/extends.cjs');
|
|
19
20
|
var index$3 = require('./parsers/object/index.cjs');
|
|
20
21
|
var int = require('./parsers/number/checkers/int.cjs');
|
|
21
22
|
var min$1 = require('./parsers/number/checkers/min.cjs');
|
|
@@ -97,6 +98,8 @@ exports.partial = partial.partial;
|
|
|
97
98
|
exports.partialShape = partial.partialShape;
|
|
98
99
|
exports.required = required.required;
|
|
99
100
|
exports.requiredShape = required.requiredShape;
|
|
101
|
+
exports.extends = _extends.extends;
|
|
102
|
+
exports.extendsShape = _extends.extendsShape;
|
|
100
103
|
exports.object = index$3.object;
|
|
101
104
|
exports.objectKind = index$3.objectKind;
|
|
102
105
|
exports.checkerInt = int.checkerInt;
|
|
@@ -16,6 +16,7 @@ export { omit, omitShape } from './parsers/object/omit.mjs';
|
|
|
16
16
|
export { pick, pickShape } from './parsers/object/pick.mjs';
|
|
17
17
|
export { partial, partialShape } from './parsers/object/partial.mjs';
|
|
18
18
|
export { required, requiredShape } from './parsers/object/required.mjs';
|
|
19
|
+
export { extends, extendsShape } from './parsers/object/extends.mjs';
|
|
19
20
|
export { object, objectKind } from './parsers/object/index.mjs';
|
|
20
21
|
export { checkerInt, checkerIntKind, int } from './parsers/number/checkers/int.mjs';
|
|
21
22
|
export { checkerNumberMin, checkerNumberMinKind } from './parsers/number/checkers/min.mjs';
|
|
@@ -25,8 +25,8 @@ export interface DataParserLiteral<GenericDefinition extends DataParserDefinitio
|
|
|
25
25
|
*/
|
|
26
26
|
construct<const GenericDefinition extends DataParserDefinitionLiteral>(definition: GenericDefinition): DataParserLiteral<MergeDefinition<DataParserDefinitionLiteral, GenericDefinition>>;
|
|
27
27
|
}
|
|
28
|
-
export declare function literal<const GenericValue extends LiteralValue, const GenericDefinition extends Partial<Omit<DataParserDefinitionLiteral, "value">> = never>(value: GenericValue | GenericValue[], definition?: GenericDefinition): DataParserLiteral<MergeDefinition<DataParserDefinitionLiteral, NeverCoalescing<GenericDefinition, {}> & {
|
|
29
|
-
value: GenericValue[];
|
|
28
|
+
export declare function literal<const GenericValue extends LiteralValue, const GenericDefinition extends Partial<Omit<DataParserDefinitionLiteral, "value">> = never>(value: GenericValue | readonly GenericValue[], definition?: GenericDefinition): DataParserLiteral<MergeDefinition<DataParserDefinitionLiteral, NeverCoalescing<GenericDefinition, {}> & {
|
|
29
|
+
value: readonly GenericValue[];
|
|
30
30
|
}>>;
|
|
31
31
|
export declare namespace literal {
|
|
32
32
|
var overrideHandler: import("../../common").OverrideHandler<DataParserLiteral<DataParserDefinitionLiteral>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index.cjs');
|
|
4
|
+
var assign = require('../../../object/assign.cjs');
|
|
5
|
+
|
|
6
|
+
function extendsShape(shape, extension) {
|
|
7
|
+
return assign.assign(shape, extension);
|
|
8
|
+
}
|
|
9
|
+
function extend(dataParser, extension, definition) {
|
|
10
|
+
const newShape = extendsShape(dataParser.definition.shape, extension);
|
|
11
|
+
return index.object(newShape, definition);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.extends = extend;
|
|
15
|
+
exports.extendsShape = extendsShape;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type MergeDefinition } from "../../../dataParser/types";
|
|
2
|
+
import { type DataParserObjectShape, type DataParserDefinitionObject, type DataParserObject } from ".";
|
|
3
|
+
import { type NeverCoalescing } from "../../../common";
|
|
4
|
+
import { type AssignObjects } from "../../../object";
|
|
5
|
+
export declare function extendsShape(shape: DataParserObjectShape, extension: DataParserObjectShape): DataParserObjectShape;
|
|
6
|
+
declare function extend<GenericDataParserObject extends DataParserObject, const GenericExtension extends DataParserObjectShape, const GenericDefinition extends Partial<Omit<DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(dataParser: GenericDataParserObject, extension: GenericExtension, definition?: GenericDefinition): DataParserObject<MergeDefinition<DataParserDefinitionObject, NeverCoalescing<GenericDefinition, {}> & {
|
|
7
|
+
readonly shape: AssignObjects<GenericDataParserObject["definition"]["shape"], GenericExtension>;
|
|
8
|
+
}>>;
|
|
9
|
+
export { extend as extends };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { object } from './index.mjs';
|
|
2
|
+
import { assign } from '../../../object/assign.mjs';
|
|
3
|
+
|
|
4
|
+
function extendsShape(shape, extension) {
|
|
5
|
+
return assign(shape, extension);
|
|
6
|
+
}
|
|
7
|
+
function extend(dataParser, extension, definition) {
|
|
8
|
+
const newShape = extendsShape(dataParser.definition.shape, extension);
|
|
9
|
+
return object(newShape, definition);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { extend as extends, extendsShape };
|
|
@@ -8,6 +8,7 @@ export * from "./omit";
|
|
|
8
8
|
export * from "./pick";
|
|
9
9
|
export * from "./partial";
|
|
10
10
|
export * from "./required";
|
|
11
|
+
export * from "./extends";
|
|
11
12
|
export type DataParserObjectShape = Readonly<Record<string, DataParser>>;
|
|
12
13
|
export type DataParserObjectShapeOutput<GenericShape extends DataParserObjectShape> = {
|
|
13
14
|
-readonly [Prop in keyof GenericShape as GenericShape[Prop] extends Kind<typeof dataParserKind.definition> ? Prop : never]: Output<GenericShape[Prop]>;
|
package/dist/index.cjs
CHANGED
|
@@ -58,6 +58,8 @@ var truthy = require('./common/truthy.cjs');
|
|
|
58
58
|
var falsy = require('./common/falsy.cjs');
|
|
59
59
|
var hasSomeKinds = require('./common/hasSomeKinds.cjs');
|
|
60
60
|
var hasKinds = require('./common/hasKinds.cjs');
|
|
61
|
+
var toCurriedPredicate = require('./common/toCurriedPredicate.cjs');
|
|
62
|
+
var pipeCall = require('./common/pipeCall.cjs');
|
|
61
63
|
|
|
62
64
|
|
|
63
65
|
|
|
@@ -143,3 +145,5 @@ exports.truthy = truthy.truthy;
|
|
|
143
145
|
exports.falsy = falsy.falsy;
|
|
144
146
|
exports.hasSomeKinds = hasSomeKinds.hasSomeKinds;
|
|
145
147
|
exports.hasKinds = hasKinds.hasKinds;
|
|
148
|
+
exports.toCurriedPredicate = toCurriedPredicate.toCurriedPredicate;
|
|
149
|
+
exports.pipeCall = pipeCall.pipeCall;
|
package/dist/index.mjs
CHANGED
|
@@ -80,3 +80,5 @@ export { truthy } from './common/truthy.mjs';
|
|
|
80
80
|
export { falsy } from './common/falsy.mjs';
|
|
81
81
|
export { hasSomeKinds } from './common/hasSomeKinds.mjs';
|
|
82
82
|
export { hasKinds } from './common/hasKinds.mjs';
|
|
83
|
+
export { toCurriedPredicate } from './common/toCurriedPredicate.mjs';
|
|
84
|
+
export { pipeCall } from './common/pipeCall.mjs';
|
package/dist/metadata.json
CHANGED
|
@@ -976,6 +976,15 @@
|
|
|
976
976
|
{
|
|
977
977
|
"name": "repository.mjs"
|
|
978
978
|
},
|
|
979
|
+
{
|
|
980
|
+
"name": "unwrapEntity.cjs"
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
"name": "unwrapEntity.d.ts"
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"name": "unwrapEntity.mjs"
|
|
987
|
+
},
|
|
979
988
|
{
|
|
980
989
|
"name": "useCase.cjs"
|
|
981
990
|
},
|
|
@@ -1026,6 +1035,9 @@
|
|
|
1026
1035
|
{
|
|
1027
1036
|
"name": "deepPartial.d.ts"
|
|
1028
1037
|
},
|
|
1038
|
+
{
|
|
1039
|
+
"name": "DeepReadonly.d.ts"
|
|
1040
|
+
},
|
|
1029
1041
|
{
|
|
1030
1042
|
"name": "deepRemoveReadonly.d.ts"
|
|
1031
1043
|
},
|
|
@@ -1418,6 +1430,15 @@
|
|
|
1418
1430
|
{
|
|
1419
1431
|
"name": "pipe.mjs"
|
|
1420
1432
|
},
|
|
1433
|
+
{
|
|
1434
|
+
"name": "pipeCall.cjs"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"name": "pipeCall.d.ts"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"name": "pipeCall.mjs"
|
|
1441
|
+
},
|
|
1421
1442
|
{
|
|
1422
1443
|
"name": "promiseObject.cjs"
|
|
1423
1444
|
},
|
|
@@ -1463,6 +1484,15 @@
|
|
|
1463
1484
|
{
|
|
1464
1485
|
"name": "stringToMillisecond.mjs"
|
|
1465
1486
|
},
|
|
1487
|
+
{
|
|
1488
|
+
"name": "toCurriedPredicate.cjs"
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"name": "toCurriedPredicate.d.ts"
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"name": "toCurriedPredicate.mjs"
|
|
1495
|
+
},
|
|
1466
1496
|
{
|
|
1467
1497
|
"name": "toJSON.cjs"
|
|
1468
1498
|
},
|
|
@@ -2077,6 +2107,15 @@
|
|
|
2077
2107
|
{
|
|
2078
2108
|
"name": "object",
|
|
2079
2109
|
"files": [
|
|
2110
|
+
{
|
|
2111
|
+
"name": "extends.cjs"
|
|
2112
|
+
},
|
|
2113
|
+
{
|
|
2114
|
+
"name": "extends.d.ts"
|
|
2115
|
+
},
|
|
2116
|
+
{
|
|
2117
|
+
"name": "extends.mjs"
|
|
2118
|
+
},
|
|
2080
2119
|
{
|
|
2081
2120
|
"name": "index.cjs"
|
|
2082
2121
|
},
|
|
@@ -4119,6 +4158,9 @@
|
|
|
4119
4158
|
{
|
|
4120
4159
|
"name": "flatObject.d.ts"
|
|
4121
4160
|
},
|
|
4161
|
+
{
|
|
4162
|
+
"name": "forbiddenKey.d.ts"
|
|
4163
|
+
},
|
|
4122
4164
|
{
|
|
4123
4165
|
"name": "getPropsWithValue.d.ts"
|
|
4124
4166
|
},
|
package/dist/object/hasKeys.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type RequiredKeys } from "./types/requiredKeys";
|
|
2
|
-
export declare function hasKeys<GenericObject extends object, GenericKeys extends keyof GenericObject>(keys: GenericKeys | GenericKeys[]): (partialObject: GenericObject) => partialObject is RequiredKeys<GenericObject, NoInfer<GenericKeys>>;
|
|
3
|
-
export declare function hasKeys<GenericObject extends object, GenericKeys extends keyof GenericObject>(partialObject: GenericObject, keys: GenericKeys | GenericKeys[]): partialObject is RequiredKeys<GenericObject, NoInfer<GenericKeys>>;
|
|
2
|
+
export declare function hasKeys<GenericObject extends object, GenericKeys extends keyof GenericObject>(keys: GenericKeys | readonly GenericKeys[]): (partialObject: GenericObject) => partialObject is RequiredKeys<GenericObject, NoInfer<GenericKeys>>;
|
|
3
|
+
export declare function hasKeys<GenericObject extends object, GenericKeys extends keyof GenericObject>(partialObject: GenericObject, keys: GenericKeys | readonly GenericKeys[]): partialObject is RequiredKeys<GenericObject, NoInfer<GenericKeys>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type IsEqual } from "../../common";
|
|
2
|
+
declare const SymbolForbiddenKey: unique symbol;
|
|
3
|
+
export type ForbiddenKey<GenericObject extends object, GenericKey extends string> = (GenericKey extends keyof GenericObject ? {
|
|
4
|
+
[SymbolForbiddenKey]: `Key ${GenericKey} is forbidden.`;
|
|
5
|
+
} : never) extends infer InferredResult ? IsEqual<InferredResult, never> extends true ? unknown : InferredResult : never;
|
|
6
|
+
export {};
|