@xylabs/object 4.13.14 → 4.13.15
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/build/neutral/AsObjectFactory.d.ts +7 -0
- package/build/neutral/AsObjectFactory.d.ts.map +1 -0
- package/build/neutral/AsTypeFactory.d.ts +7 -0
- package/build/neutral/AsTypeFactory.d.ts.map +1 -0
- package/build/neutral/EmptyObject.d.ts +9 -0
- package/build/neutral/EmptyObject.d.ts.map +1 -0
- package/build/neutral/IsObjectFactory.d.ts +8 -0
- package/build/neutral/IsObjectFactory.d.ts.map +1 -0
- package/build/neutral/JsonObject.d.ts +10 -0
- package/build/neutral/JsonObject.d.ts.map +1 -0
- package/build/neutral/ObjectWrapper.d.ts +8 -0
- package/build/neutral/ObjectWrapper.d.ts.map +1 -0
- package/build/neutral/OmitStartsWith.d.ts +10 -0
- package/build/neutral/OmitStartsWith.d.ts.map +1 -0
- package/build/neutral/Optional.d.ts +2 -0
- package/build/neutral/Optional.d.ts.map +1 -0
- package/build/neutral/Override.d.ts +3 -0
- package/build/neutral/Override.d.ts.map +1 -0
- package/build/neutral/PartialRecord.d.ts +5 -0
- package/build/neutral/PartialRecord.d.ts.map +1 -0
- package/build/neutral/PickStartsWith.d.ts +7 -0
- package/build/neutral/PickStartsWith.d.ts.map +1 -0
- package/build/neutral/StringKeyObject.d.ts +4 -0
- package/build/neutral/StringKeyObject.d.ts.map +1 -0
- package/build/neutral/Validator.d.ts +11 -0
- package/build/neutral/Validator.d.ts.map +1 -0
- package/build/neutral/WithAdditional.d.ts +3 -0
- package/build/neutral/WithAdditional.d.ts.map +1 -0
- package/build/neutral/asObject.d.ts +3 -0
- package/build/neutral/asObject.d.ts.map +1 -0
- package/build/neutral/deepMerge.d.ts +49 -0
- package/build/neutral/deepMerge.d.ts.map +1 -0
- package/build/neutral/index.d.ts +24 -0
- package/build/neutral/index.d.ts.map +1 -0
- package/build/neutral/isObject.d.ts +2 -0
- package/build/neutral/isObject.d.ts.map +1 -0
- package/build/neutral/isType.d.ts +3 -0
- package/build/neutral/isType.d.ts.map +1 -0
- package/build/neutral/omitBy.d.ts +6 -0
- package/build/neutral/omitBy.d.ts.map +1 -0
- package/build/neutral/pickBy.d.ts +6 -0
- package/build/neutral/pickBy.d.ts.map +1 -0
- package/build/neutral/removeFields.d.ts +3 -0
- package/build/neutral/removeFields.d.ts.map +1 -0
- package/build/neutral/toJson.d.ts +7 -0
- package/build/neutral/toJson.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TypeCheck } from '@xylabs/object-model';
|
|
2
|
+
import type { TypedObject } from '@xylabs/typeof';
|
|
3
|
+
export declare const AsObjectFactory: {
|
|
4
|
+
create: <T extends TypedObject>(typeCheck: TypeCheck<T>) => import("@xylabs/object-model").AsTypeFunction<T>;
|
|
5
|
+
createOptional: <T extends TypedObject>(typeCheck: TypeCheck<T>) => (value: import("@xylabs/promise").AnyNonPromise) => T | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=AsObjectFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAIjD,eAAO,MAAM,eAAe;aACjB,CAAC,SAAS,WAAW,aAAa,SAAS,CAAC,CAAC,CAAC;qBAGtC,CAAC,SAAS,WAAW,aAAa,SAAS,CAAC,CAAC,CAAC;CAGhE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AsTypeFunction, TypeCheck } from '@xylabs/object-model';
|
|
2
|
+
import type { AnyNonPromise } from '@xylabs/promise';
|
|
3
|
+
export declare const AsTypeFactory: {
|
|
4
|
+
create: <T extends AnyNonPromise>(typeCheck: TypeCheck<T>) => AsTypeFunction<T>;
|
|
5
|
+
createOptional: <T extends AnyNonPromise>(typeCheck: TypeCheck<T>) => (value: AnyNonPromise) => T | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=AsTypeFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsTypeFactory.d.ts","sourceRoot":"","sources":["../../src/AsTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACS,SAAS,EAEjC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAIpD,eAAO,MAAM,aAAa;aACf,CAAC,SAAS,aAAa,aAAa,SAAS,CAAC,CAAC,CAAC,KAAG,cAAc,CAAC,CAAC,CAAC;qBAgC5D,CAAC,SAAS,aAAa,aAAa,SAAS,CAAC,CAAC,CAAC,aAC1C,aAAa,KAAG,CAAC,GAAG,SAAS;CASrD,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
|
|
3
|
+
* extended from, which then adds only those additional fields
|
|
4
|
+
*/
|
|
5
|
+
export type EmptyObject<T extends object = object> = {
|
|
6
|
+
[K in keyof T]?: never;
|
|
7
|
+
};
|
|
8
|
+
export type EmptyObjectOf<T extends object> = EmptyObject<T> extends T ? EmptyObject<T> : never;
|
|
9
|
+
//# sourceMappingURL=EmptyObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAA;AAE/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TypeCheck, TypeCheckConfig } from '@xylabs/object-model';
|
|
2
|
+
import { type ObjectTypeShape, type TypedObject } from '@xylabs/typeof';
|
|
3
|
+
export interface ObjectTypeConfig extends TypeCheckConfig {
|
|
4
|
+
}
|
|
5
|
+
export declare class IsObjectFactory<T extends TypedObject> {
|
|
6
|
+
create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<TypedObject>[]): TypeCheck<T>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=IsObjectFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAEL,KAAK,eAAe,EAAE,KAAK,WAAW,EACvC,MAAM,gBAAgB,CAAA;AAIvB,MAAM,WAAW,gBAAiB,SAAQ,eAAe;CAAG;AAE5D,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAChD,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CAsB3F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
|
|
2
|
+
export type JsonObject = {
|
|
3
|
+
[key: string]: JsonValue;
|
|
4
|
+
};
|
|
5
|
+
export type JsonArray = JsonValue[];
|
|
6
|
+
export declare const isJsonValue: (value: unknown) => value is JsonValue;
|
|
7
|
+
export declare const isJsonArray: (value: unknown) => value is JsonArray;
|
|
8
|
+
export declare const isValidJsonFieldPair: ([key, value]: [key: unknown, value: unknown]) => boolean;
|
|
9
|
+
export declare const isJsonObject: (value: unknown) => value is JsonObject;
|
|
10
|
+
//# sourceMappingURL=JsonObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonObject.d.ts","sourceRoot":"","sources":["../../src/JsonObject.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAAA;AACjF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AACrD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA;AAEnC,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAWrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAErD,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,YAEhF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAMtD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EmptyObject } from './EmptyObject.ts';
|
|
2
|
+
import type { StringKeyObject } from './StringKeyObject.ts';
|
|
3
|
+
export declare abstract class ObjectWrapper<T extends EmptyObject = EmptyObject> {
|
|
4
|
+
readonly obj: T;
|
|
5
|
+
constructor(obj: T);
|
|
6
|
+
protected get stringKeyObj(): StringKeyObject;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ObjectWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectWrapper.d.ts","sourceRoot":"","sources":["../../src/ObjectWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACrE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;gBACH,GAAG,EAAE,CAAC;IAIlB,SAAS,KAAK,YAAY,IACL,eAAe,CACnC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type OmitStartsWith<T, Prefix extends string> = {
|
|
2
|
+
[K in keyof T as K extends `${Prefix}${string}` ? never : K]: T[K];
|
|
3
|
+
};
|
|
4
|
+
export type DeepOmitStartsWith<T, Prefix extends string> = T extends (infer U)[] ? DeepOmitStartsWith<U, Prefix>[] : T extends object ? {
|
|
5
|
+
[K in keyof T as K extends string ? K extends `${Prefix}${string}` ? never : K : K]: DeepOmitStartsWith<T[K], Prefix>;
|
|
6
|
+
} : T;
|
|
7
|
+
export type DeepRestrictToStringKeys<T> = {
|
|
8
|
+
[K in keyof T as K extends string ? K : never]: T[K] extends (infer U)[] ? DeepRestrictToStringKeys<U>[] : T[K] extends object ? DeepRestrictToStringKeys<T[K]> : T[K];
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=OmitStartsWith.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OmitStartsWith.d.ts","sourceRoot":"","sources":["../../src/OmitStartsWith.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI;KACpD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACnE,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5E,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAC/B,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAC7B,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAC5B,KAAK,GACL,CAAC,GACH,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CACzC,GACD,CAAC,CAAA;AAEP,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACpE,wBAAwB,CAAC,CAAC,CAAC,EAAE,GAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9B,CAAC,CAAC,CAAC,CAAC;CACX,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Optional.d.ts","sourceRoot":"","sources":["../../src/Optional.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Override.d.ts","sourceRoot":"","sources":["../../src/Override.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE/C,YAAY,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartialRecord.d.ts","sourceRoot":"","sources":["../../src/PartialRecord.ts"],"names":[],"mappings":"AAEA,gDAAgD;AAChD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI;KACjD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CACb,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type PickStartsWith<T, Prefix extends string> = {
|
|
2
|
+
[K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K];
|
|
3
|
+
};
|
|
4
|
+
export type DeepPickStartsWith<T, Prefix extends string> = T extends (infer U)[] ? DeepPickStartsWith<U, Prefix>[] : T extends object ? {
|
|
5
|
+
[K in keyof T as K extends string ? K extends `${Prefix}${string}` ? K : never : K]: DeepPickStartsWith<T[K], Prefix>;
|
|
6
|
+
} : T;
|
|
7
|
+
//# sourceMappingURL=PickStartsWith.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PickStartsWith.d.ts","sourceRoot":"","sources":["../../src/PickStartsWith.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI;KACpD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACnE,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5E,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAC/B,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAC7B,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAC5B,CAAC,GACD,KAAK,GACP,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CACzC,GACD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringKeyObject.d.ts","sourceRoot":"","sources":["../../src/StringKeyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnyObject } from '@xylabs/object-model';
|
|
2
|
+
import type { Promisable } from '@xylabs/promise';
|
|
3
|
+
import type { EmptyObject } from './EmptyObject.ts';
|
|
4
|
+
import { ObjectWrapper } from './ObjectWrapper.ts';
|
|
5
|
+
export interface Validator<T extends EmptyObject = AnyObject> {
|
|
6
|
+
validate(payload: T): Promisable<Error[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare abstract class ValidatorBase<T extends EmptyObject = AnyObject> extends ObjectWrapper<Partial<T>> implements Validator<T> {
|
|
9
|
+
abstract validate(payload: T): Promisable<Error[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=Validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;CAC1C;AAED,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAC9H,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,EAAE,WAAW,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAClG,WAAW,SAAS,WAAW,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKrD,eAAO,MAAM,WAAW,0DAA8G,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { AnyObject } from '@xylabs/object-model';
|
|
2
|
+
/**
|
|
3
|
+
* Deeply merges two types into a new type.
|
|
4
|
+
*/
|
|
5
|
+
type DeepMerge<A, B> = {
|
|
6
|
+
[K in keyof A | keyof B]: K extends keyof B ? K extends keyof A ? A[K] extends object ? B[K] extends object ? DeepMerge<A[K], B[K]> : B[K] : B[K] : B[K] : K extends keyof A ? A[K] : never;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Merges multiple types into a new type.
|
|
10
|
+
*/
|
|
11
|
+
type MergeAll<T extends object[], R = {}> = T extends [infer First extends object, ...infer Rest extends object[]] ? MergeAll<Rest, DeepMerge<R, First>> : R;
|
|
12
|
+
/**
|
|
13
|
+
* Options for merging objects in the deep merge function.
|
|
14
|
+
*/
|
|
15
|
+
type MergeOptions = {
|
|
16
|
+
/**
|
|
17
|
+
* Strategy for merging arrays.
|
|
18
|
+
* - 'overwrite': Overwrites the array with the last object's value.
|
|
19
|
+
* - 'concat': Concatenates arrays from all objects.
|
|
20
|
+
* @default 'overwrite'
|
|
21
|
+
*/
|
|
22
|
+
arrayStrategy?: 'overwrite' | 'concat';
|
|
23
|
+
/**
|
|
24
|
+
* Mutate the first object in the list instead of creating a new one.
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
mutate?: boolean;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Creates a deep merge function with the specified options.
|
|
31
|
+
* @param options Options for merging.
|
|
32
|
+
* @returns A deep merge function configured for the specified options.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createDeepMerge(options: MergeOptions): <T extends AnyObject[]>(...objects: T) => MergeAll<T>;
|
|
35
|
+
/**
|
|
36
|
+
* Deeply merges multiple objects into a new object.
|
|
37
|
+
* @param objects Multiple objects to merge deeply.
|
|
38
|
+
* The function merges properties from all objects into a new object.
|
|
39
|
+
* If a property exists in multiple objects, the last object's value will be used.
|
|
40
|
+
* If a property is an object, it will be merged recursively.
|
|
41
|
+
* If a property is an array, it will be overwritten by the last object's value.
|
|
42
|
+
* If a property is a primitive value, it will be overwritten by the last object's value.
|
|
43
|
+
* If a property is undefined in the source, it will be skipped.
|
|
44
|
+
* If a property is a symbol, it will be merged as well.
|
|
45
|
+
* @returns A new object with the merged properties.
|
|
46
|
+
*/
|
|
47
|
+
export declare const deepMerge: <T extends AnyObject[]>(...objects: T) => MergeAll<T>;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=deepMerge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/deepMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD;;GAEG;AACH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GACvB,CAAC,SAAS,MAAM,CAAC,GACb,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAA;AAED;;GAEG;AACH,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IACpC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAC,GACpE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GACnC,CAAC,CAAA;AAEP;;GAEG;AACH,KAAK,YAAY,GAAG;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAiCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,IACzB,CAAC,SAAS,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC,KAAG,QAAQ,CAAC,CAAC,CAAC,CAO7E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GArBM,CAAC,SAAS,SAAS,EAAE,cAAc,CAAC,KAAG,QAAQ,CAAC,CAAC,CAqBU,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './asObject.ts';
|
|
2
|
+
export * from './AsObjectFactory.ts';
|
|
3
|
+
export * from './AsTypeFactory.ts';
|
|
4
|
+
export * from './deepMerge.ts';
|
|
5
|
+
export * from './EmptyObject.ts';
|
|
6
|
+
export * from './isObject.ts';
|
|
7
|
+
export * from './IsObjectFactory.ts';
|
|
8
|
+
export * from './isType.ts';
|
|
9
|
+
export * from './JsonObject.ts';
|
|
10
|
+
export * from './ObjectWrapper.ts';
|
|
11
|
+
export * from './omitBy.ts';
|
|
12
|
+
export * from './OmitStartsWith.ts';
|
|
13
|
+
export * from './Optional.ts';
|
|
14
|
+
export * from './Override.ts';
|
|
15
|
+
export * from './PartialRecord.ts';
|
|
16
|
+
export * from './pickBy.ts';
|
|
17
|
+
export * from './PickStartsWith.ts';
|
|
18
|
+
export * from './removeFields.ts';
|
|
19
|
+
export * from './StringKeyObject.ts';
|
|
20
|
+
export * from './toJson.ts';
|
|
21
|
+
export * from './Validator.ts';
|
|
22
|
+
export * from './WithAdditional.ts';
|
|
23
|
+
export * from '@xylabs/object-model';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isObject.d.ts","sourceRoot":"","sources":["../../src/isObject.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,CAAC,GAAG,MAEnD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../src/isType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,cAAc,SAAS,YAwB7D,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EmptyObject } from './EmptyObject.ts';
|
|
2
|
+
import type { DeepOmitStartsWith } from './OmitStartsWith.ts';
|
|
3
|
+
export type OmitByPredicate<T extends EmptyObject = Record<string, unknown>> = (value: T[keyof T], key: keyof T) => boolean;
|
|
4
|
+
export declare const omitBy: <T extends EmptyObject>(obj: T, predicate: OmitByPredicate, maxDepth?: number) => Partial<T>;
|
|
5
|
+
export declare const omitByPrefix: <T extends EmptyObject, P extends string>(payload: T, prefix: P, maxDepth?: number) => DeepOmitStartsWith<T, P>;
|
|
6
|
+
//# sourceMappingURL=omitBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omitBy.d.ts","sourceRoot":"","sources":["../../src/omitBy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,CAAA;AA+B3H,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAC1C,KAAK,CAAC,EACN,WAAW,eAAe,EAC1B,iBAAY,KACX,OAAO,CAAC,CAAC,CAMX,CAAA;AAOD,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAc,KAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAEpI,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EmptyObject } from './EmptyObject.ts';
|
|
2
|
+
import type { DeepPickStartsWith } from './PickStartsWith.ts';
|
|
3
|
+
export type PickByPredicate<T extends EmptyObject = Record<string, unknown>> = (value: T[keyof T], key: keyof T) => boolean;
|
|
4
|
+
export declare const pickBy: <T extends EmptyObject>(obj: T, predicate: PickByPredicate, maxDepth?: number) => Partial<T>;
|
|
5
|
+
export declare const pickByPrefix: <T extends EmptyObject, P extends string>(payload: T, prefix: P, maxDepth?: number) => DeepPickStartsWith<T, P>;
|
|
6
|
+
//# sourceMappingURL=pickBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickBy.d.ts","sourceRoot":"","sources":["../../src/pickBy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,CAAA;AA+B3H,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAC1C,KAAK,CAAC,EACN,WAAW,eAAe,EAC1B,iBAAY,KACX,OAAO,CAAC,CAAC,CAMX,CAAA;AAOD,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAc,KAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAEpI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeFields.d.ts","sourceRoot":"","sources":["../../src/removeFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAMrG,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { JsonArray, JsonObject, JsonValue } from './JsonObject.ts';
|
|
2
|
+
export declare const toJsonArray: (value: unknown[], cycleList?: unknown[], maxDepth?: number) => JsonArray;
|
|
3
|
+
export declare const toJsonObject: (value: object, cycleList?: unknown[], maxDepth?: number) => JsonObject;
|
|
4
|
+
export declare const toJsonValue: (value: unknown, cycleList?: unknown[], maxDepth?: number) => JsonValue;
|
|
5
|
+
export declare const toJsonString: (value: unknown, maxDepth?: number) => string;
|
|
6
|
+
export declare const toJson: (value: unknown, maxDepth?: number) => JsonValue;
|
|
7
|
+
//# sourceMappingURL=toJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toJson.d.ts","sourceRoot":"","sources":["../../src/toJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,UAAU,EAAE,SAAS,EACjC,MAAM,iBAAiB,CAAA;AAExB,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,EAAE,EAAE,YAAY,OAAO,EAAE,EAAE,iBAAY,KAAG,SAEnF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,YAAY,OAAO,EAAE,EAAE,iBAAY,KAAG,UAMjF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,EAAE,YAAY,OAAO,EAAE,EAAE,iBAAY,KAAG,SAyBjF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,iBAAY,WAExD,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,iBAAY,KAAG,SAErD,CAAA"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -120,6 +120,7 @@ declare const omitByPrefix: <T extends EmptyObject, P extends string>(payload: T
|
|
|
120
120
|
type Optional<T extends object, F extends keyof T> = Omit<T, F> & Partial<Pick<T, F>>;
|
|
121
121
|
|
|
122
122
|
type Override<T1, T2> = Omit<T1, keyof T2> & T2;
|
|
123
|
+
//# sourceMappingURL=Override.d.ts.map
|
|
123
124
|
|
|
124
125
|
/** @deprecated use Partial<Record<>> instead */
|
|
125
126
|
type PartialRecord<K extends keyof any, T> = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/object",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.15",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"module": "dist/neutral/index.mjs",
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@xylabs/assert": "^4.13.
|
|
33
|
-
"@xylabs/object-model": "^4.13.
|
|
34
|
-
"@xylabs/promise": "^4.13.
|
|
35
|
-
"@xylabs/typeof": "^4.13.
|
|
32
|
+
"@xylabs/assert": "^4.13.15",
|
|
33
|
+
"@xylabs/object-model": "^4.13.15",
|
|
34
|
+
"@xylabs/promise": "^4.13.15",
|
|
35
|
+
"@xylabs/typeof": "^4.13.15"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.
|
|
39
|
-
"@xylabs/tsconfig": "^7.0.0-rc.
|
|
38
|
+
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.20",
|
|
39
|
+
"@xylabs/tsconfig": "^7.0.0-rc.20",
|
|
40
40
|
"typescript": "^5.8.3",
|
|
41
41
|
"vitest": "^3.2.4"
|
|
42
42
|
},
|