@bemedev/typings 0.0.2 → 0.2.0
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/README.md +12 -11
- package/lib/constants.cjs +26 -18
- package/lib/constants.cjs.map +1 -1
- package/lib/constants.d.ts +3 -4
- package/lib/constants.js +24 -15
- package/lib/constants.js.map +1 -1
- package/lib/helpers/any.cjs +4 -4
- package/lib/helpers/any.cjs.map +1 -1
- package/lib/helpers/any.d.ts +2 -3
- package/lib/helpers/any.js +4 -2
- package/lib/helpers/any.js.map +1 -1
- package/lib/helpers/array.cjs +6 -7
- package/lib/helpers/array.cjs.map +1 -1
- package/lib/helpers/array.d.ts +2 -3
- package/lib/helpers/array.js +6 -5
- package/lib/helpers/array.js.map +1 -1
- package/lib/helpers/custom.cjs +6 -9
- package/lib/helpers/custom.cjs.map +1 -1
- package/lib/helpers/custom.d.ts +0 -1
- package/lib/helpers/custom.js +6 -7
- package/lib/helpers/custom.js.map +1 -1
- package/lib/helpers/index.cjs +27 -30
- package/lib/helpers/index.d.ts +13 -13
- package/lib/helpers/index.js +14 -13
- package/lib/helpers/intersection.cjs +10 -11
- package/lib/helpers/intersection.cjs.map +1 -1
- package/lib/helpers/intersection.d.ts +0 -1
- package/lib/helpers/intersection.js +10 -9
- package/lib/helpers/intersection.js.map +1 -1
- package/lib/helpers/litterals.cjs +4 -4
- package/lib/helpers/litterals.cjs.map +1 -1
- package/lib/helpers/litterals.d.ts +0 -1
- package/lib/helpers/litterals.js +4 -2
- package/lib/helpers/litterals.js.map +1 -1
- package/lib/helpers/optional.cjs +7 -0
- package/lib/helpers/optional.cjs.map +1 -0
- package/lib/helpers/optional.d.ts +3 -0
- package/lib/helpers/optional.js +7 -0
- package/lib/helpers/optional.js.map +1 -0
- package/lib/helpers/partial.cjs +11 -12
- package/lib/helpers/partial.cjs.map +1 -1
- package/lib/helpers/partial.d.ts +2 -3
- package/lib/helpers/partial.js +11 -10
- package/lib/helpers/partial.js.map +1 -1
- package/lib/helpers/primitiveObject.cjs +10 -0
- package/lib/helpers/primitiveObject.cjs.map +1 -0
- package/lib/helpers/primitiveObject.d.ts +5 -0
- package/lib/helpers/primitiveObject.js +11 -0
- package/lib/helpers/primitiveObject.js.map +1 -0
- package/lib/helpers/record.cjs +8 -9
- package/lib/helpers/record.cjs.map +1 -1
- package/lib/helpers/record.d.ts +2 -3
- package/lib/helpers/record.js +8 -7
- package/lib/helpers/record.js.map +1 -1
- package/lib/helpers/soa.cjs +6 -7
- package/lib/helpers/soa.cjs.map +1 -1
- package/lib/helpers/soa.d.ts +2 -3
- package/lib/helpers/soa.js +6 -5
- package/lib/helpers/soa.js.map +1 -1
- package/lib/helpers/sv.cjs +4 -4
- package/lib/helpers/sv.cjs.map +1 -1
- package/lib/helpers/sv.d.ts +0 -1
- package/lib/helpers/sv.js +4 -2
- package/lib/helpers/sv.js.map +1 -1
- package/lib/helpers/tuple.cjs +4 -4
- package/lib/helpers/tuple.cjs.map +1 -1
- package/lib/helpers/tuple.d.ts +2 -3
- package/lib/helpers/tuple.js +4 -2
- package/lib/helpers/tuple.js.map +1 -1
- package/lib/helpers/union.cjs +7 -10
- package/lib/helpers/union.cjs.map +1 -1
- package/lib/helpers/union.d.ts +4 -5
- package/lib/helpers/union.js +7 -8
- package/lib/helpers/union.js.map +1 -1
- package/lib/index.cjs +40 -40
- package/lib/index.d.ts +1 -2
- package/lib/index.js +18 -15
- package/lib/type.d.ts +2 -0
- package/lib/type.types.d.ts +18 -0
- package/lib/types.d.ts +34 -25
- package/lib/utils/expandFn.cjs +10 -9
- package/lib/utils/expandFn.cjs.map +1 -1
- package/lib/utils/expandFn.d.ts +1 -4
- package/lib/utils/expandFn.js +9 -7
- package/lib/utils/expandFn.js.map +1 -1
- package/package.json +31 -32
- package/lib/constants.d.ts.map +0 -1
- package/lib/helpers/any.d.ts.map +0 -1
- package/lib/helpers/array.d.ts.map +0 -1
- package/lib/helpers/custom.d.ts.map +0 -1
- package/lib/helpers/index.cjs.map +0 -1
- package/lib/helpers/index.d.ts.map +0 -1
- package/lib/helpers/index.js.map +0 -1
- package/lib/helpers/intersection.d.ts.map +0 -1
- package/lib/helpers/litterals.d.ts.map +0 -1
- package/lib/helpers/maybe.cjs +0 -10
- package/lib/helpers/maybe.cjs.map +0 -1
- package/lib/helpers/maybe.d.ts +0 -4
- package/lib/helpers/maybe.d.ts.map +0 -1
- package/lib/helpers/maybe.js +0 -8
- package/lib/helpers/maybe.js.map +0 -1
- package/lib/helpers/partial.d.ts.map +0 -1
- package/lib/helpers/record.d.ts.map +0 -1
- package/lib/helpers/soa.d.ts.map +0 -1
- package/lib/helpers/sv.d.ts.map +0 -1
- package/lib/helpers/tuple.d.ts.map +0 -1
- package/lib/helpers/union.d.ts.map +0 -1
- package/lib/index.cjs.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/transform.cjs +0 -63
- package/lib/transform.cjs.map +0 -1
- package/lib/transform.d.ts +0 -3
- package/lib/transform.d.ts.map +0 -1
- package/lib/transform.js +0 -61
- package/lib/transform.js.map +0 -1
- package/lib/transform.types.d.ts +0 -18
- package/lib/transform.types.d.ts.map +0 -1
- package/lib/types.d.ts.map +0 -1
- package/lib/utils/expandFn.d.ts.map +0 -1
package/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ARRAY, CUSTOM,
|
|
1
|
+
import type { ARRAY, CUSTOM, OPTIONAL, PARTIAL, PRIMITIVES, PRIMITIVE_OBJECTS, SOA } from "./constants";
|
|
2
2
|
export type Ru = Record<Keys, unknown>;
|
|
3
3
|
export type TrueObject = Ru & {
|
|
4
4
|
[Symbol.iterator]?: never;
|
|
@@ -24,58 +24,67 @@ type RecursiveArrayOf<T> = Array<_SingleOrRecursiveArrayOf<T>> | ReadonlyArray<_
|
|
|
24
24
|
type _SingleOrRecursiveArrayOf<T> = T | RecursiveArrayOf<T>;
|
|
25
25
|
export type SingleOrRecursiveArrayOf<T> = T | RecursiveArrayOf<T>;
|
|
26
26
|
export type SoRa<T> = SingleOrRecursiveArrayOf<T>;
|
|
27
|
+
export type Primiive = string | number | boolean | bigint | null | undefined | symbol | unknown | never;
|
|
27
28
|
export type PrimitiveS = (typeof PRIMITIVES)[number];
|
|
28
|
-
type TransformPrimitiveS<T extends PrimitiveS> = T extends
|
|
29
|
+
type TransformPrimitiveS<T extends PrimitiveS> = T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : T extends "bigint" ? bigint : T extends "null" ? null : T extends "undefined" ? undefined : T extends "symbol" ? symbol : T extends "never" ? never : T extends "unknown" ? unknown : PrimitiveS;
|
|
29
30
|
export type Types = PrimitiveS | (typeof PRIMITIVE_OBJECTS)[number];
|
|
30
|
-
export type TransformTypes<T extends Types> = T extends PrimitiveS ? TransformPrimitiveS<T> : T extends
|
|
31
|
+
export type TransformTypes<T extends Types> = T extends PrimitiveS ? TransformPrimitiveS<T> : T extends "date" ? Date : T extends "any" ? any : object;
|
|
31
32
|
export type Custom<T = any> = {
|
|
32
33
|
[CUSTOM]: T;
|
|
33
34
|
};
|
|
34
|
-
export type SoaCustom<T extends
|
|
35
|
+
export type SoaCustom<T extends ObjectT = any> = {
|
|
35
36
|
[SOA]: T;
|
|
36
37
|
};
|
|
37
38
|
export type PartialCustom = {
|
|
38
39
|
[PARTIAL]: undefined;
|
|
39
40
|
};
|
|
40
|
-
export type
|
|
41
|
-
export type
|
|
42
|
-
[
|
|
41
|
+
export type __ObjectT = Types | ObjectMapS | Custom | PartialCustom;
|
|
42
|
+
export type Optional<T extends __ObjectT | ArrayCustom | AnyArray<__ObjectT> = __ObjectT> = {
|
|
43
|
+
[OPTIONAL]: T;
|
|
43
44
|
};
|
|
44
|
-
export type ArrayCustom<T extends
|
|
45
|
+
export type ArrayCustom<T extends ObjectT = any> = {
|
|
45
46
|
[ARRAY]: T;
|
|
46
47
|
};
|
|
47
48
|
export type ObjectMapS = {
|
|
48
|
-
[key: Keys]: SoRa<
|
|
49
|
+
[key: Keys]: SoRa<_ObjectT>;
|
|
49
50
|
};
|
|
50
|
-
|
|
51
|
+
export declare class OptionalHelperClass {
|
|
52
|
+
readonly __NO_TYPE__ = "@bemedev/addons/NO_TYPE";
|
|
53
|
+
private constructor();
|
|
54
|
+
}
|
|
55
|
+
type _ObjectT = __ObjectT | Optional | ArrayCustom;
|
|
56
|
+
export type PrimitiveObjectT = Types | ArrayCustom<Types> | Optional<Types> | PrimitiveObjectMapS | (PrimitiveObjectMapS & PartialCustom);
|
|
57
|
+
export interface PrimitiveObjectMapS {
|
|
58
|
+
[key: Keys]: PrimitiveObjectT;
|
|
59
|
+
}
|
|
51
60
|
/**
|
|
52
61
|
* A type that represents a primitive object, which can be a primitive value or an object
|
|
53
62
|
*
|
|
54
63
|
* @remark
|
|
55
64
|
*/
|
|
56
|
-
export type
|
|
57
|
-
export type POS =
|
|
58
|
-
type ReduceTuple2<T extends AnyArray<
|
|
65
|
+
export type ObjectT = SoRa<_ObjectT | PrimitiveObjectT>;
|
|
66
|
+
export type POS = ObjectT;
|
|
67
|
+
type ReduceTuple2<T extends AnyArray<ObjectT>> = T extends [
|
|
59
68
|
infer First,
|
|
60
|
-
...infer Rest extends AnyArray<
|
|
61
|
-
] ? [
|
|
62
|
-
type __TransformPrimitiveObject<T> = T extends Types ? TransformTypes<T> : T extends ArrayCustom<infer A> ? TransformS<A>[] : T extends SoaCustom<infer TSoA> ? SoA<__TransformPrimitiveObject<TSoA>> : T extends Custom<infer TCustom> ? TCustom : T extends AnyArray<ObjectS> ? ReduceTuple2<T> : T extends PartialCustom ? Partial<__TransformPrimitiveObject<NOmit<T, typeof PARTIAL>>> : T extends Maybe<infer TMaybe> ? __TransformPrimitiveObject<TMaybe> | undefined : {
|
|
63
|
-
[K in keyof T]: __TransformPrimitiveObject<T[K]>;
|
|
64
|
-
};
|
|
69
|
+
...infer Rest extends AnyArray<ObjectT>
|
|
70
|
+
] ? [TransformT<First>, ...ReduceTuple2<Rest>] : T extends AnyArray<infer A extends ObjectT> ? TransformT<A>[] : [];
|
|
65
71
|
type ReduceTupleU<T extends AnyArray> = T extends [
|
|
66
72
|
infer First,
|
|
67
73
|
...infer Rest extends AnyArray
|
|
68
|
-
] ? [Undefiny<First>, ...ReduceTupleU<Rest>] : T[number] extends never ? [] : T[
|
|
69
|
-
type
|
|
74
|
+
] ? [Undefiny<First>, ...ReduceTupleU<Rest>] : T[number] extends never ? [] : T["length"] extends 0 ? [] : number extends T["length"] ? T : Undefiny<T[number]>[];
|
|
75
|
+
type __TransformPrimitiveObject<T> = T extends Types ? TransformTypes<T> : T extends ArrayCustom<infer A> ? TransformT<A>[] : T extends SoaCustom<infer TSoA> ? SoA<__TransformPrimitiveObject<TSoA>> : T extends Custom<infer TCustom> ? TCustom : T extends AnyArray<ObjectT> ? ReduceTuple2<T> : T extends PartialCustom ? Partial<__TransformPrimitiveObject<NOmit<T, typeof PARTIAL>>> : T extends Optional<infer TOptional> ? __TransformPrimitiveObject<TOptional> | OptionalHelperClass : {
|
|
76
|
+
[K in keyof T]: __TransformPrimitiveObject<T[K]>;
|
|
77
|
+
};
|
|
78
|
+
type HasUndefined<T> = OptionalHelperClass extends T ? true : false;
|
|
70
79
|
type UndefinyObject<T extends object> = {
|
|
71
80
|
[K in keyof T as HasUndefined<T[K]> extends true ? never : K]: Undefiny<T[K]>;
|
|
72
81
|
} & {
|
|
73
|
-
[K in keyof T as HasUndefined<T[K]> extends true ? K : never]?: Undefiny<
|
|
82
|
+
[K in keyof T as HasUndefined<T[K]> extends true ? K : never]?: Undefiny<T[K]>;
|
|
74
83
|
} extends infer F ? {
|
|
75
84
|
[K in keyof F]: F[K];
|
|
76
85
|
} : never;
|
|
77
|
-
type Undefiny<T
|
|
78
|
-
|
|
79
|
-
export type inferT<T extends
|
|
86
|
+
type Undefiny<T, U = Exclude<T, OptionalHelperClass>> = U extends AnyArray ? ReduceTupleU<U> : U extends Ru ? UndefinyObject<U> : U;
|
|
87
|
+
type TransformT<T> = Undefiny<__TransformPrimitiveObject<T>>;
|
|
88
|
+
export type inferT<T extends ObjectT = ObjectT> = ObjectT extends T ? unknown : TransformT<T>;
|
|
89
|
+
export type FnBasic<Main extends Fn, Tr extends object> = Tr & Main;
|
|
80
90
|
export {};
|
|
81
|
-
//# sourceMappingURL=types.d.ts.map
|
package/lib/utils/expandFn.cjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/utils/expandFn.ts
|
|
3
3
|
const expandFn = (main, extensions) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const out = main;
|
|
5
|
+
/* v8 ignore start -- @preserve */
|
|
6
|
+
if (extensions) Object.assign(out, extensions);
|
|
7
|
+
/* v8 ignore stop -- @preserve */
|
|
8
|
+
return out;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
//#endregion
|
|
11
11
|
exports.expandFn = expandFn;
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=expandFn.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandFn.cjs","sources":["../../src/utils/expandFn.ts"],"sourcesContent":["type Fn
|
|
1
|
+
{"version":3,"file":"expandFn.cjs","names":[],"sources":["../../src/utils/expandFn.ts"],"sourcesContent":["import type { Fn, FnBasic } from \"../types\";\n\nexport const expandFn = <Main extends Fn, const Tr extends object = object>(\n main: Main,\n extensions?: Tr,\n): FnBasic<Main, Tr> => {\n const out: any = main;\n\n /* v8 ignore start -- @preserve */\n if (extensions) Object.assign(out, extensions);\n /* v8 ignore stop -- @preserve */\n\n return out;\n};\n"],"mappings":";;AAEA,MAAa,YACX,MACA,eACsB;CACtB,MAAM,MAAW;;AAGjB,KAAI,WAAY,QAAO,OAAO,KAAK,WAAW;;AAG9C,QAAO"}
|
package/lib/utils/expandFn.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
type Fn
|
|
2
|
-
type FnBasic<Main extends Fn, Tr extends object> = Tr & Main;
|
|
1
|
+
import type { Fn, FnBasic } from "../types";
|
|
3
2
|
export declare const expandFn: <Main extends Fn, const Tr extends object = object>(main: Main, extensions?: Tr) => FnBasic<Main, Tr>;
|
|
4
|
-
export {};
|
|
5
|
-
//# sourceMappingURL=expandFn.d.ts.map
|
package/lib/utils/expandFn.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
//#region src/utils/expandFn.ts
|
|
1
2
|
const expandFn = (main, extensions) => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const out = main;
|
|
4
|
+
/* v8 ignore start -- @preserve */
|
|
5
|
+
if (extensions) Object.assign(out, extensions);
|
|
6
|
+
/* v8 ignore stop -- @preserve */
|
|
7
|
+
return out;
|
|
7
8
|
};
|
|
8
|
-
|
|
9
|
+
//#endregion
|
|
9
10
|
export { expandFn };
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=expandFn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandFn.js","sources":["../../src/utils/expandFn.ts"],"sourcesContent":["type Fn
|
|
1
|
+
{"version":3,"file":"expandFn.js","names":[],"sources":["../../src/utils/expandFn.ts"],"sourcesContent":["import type { Fn, FnBasic } from \"../types\";\n\nexport const expandFn = <Main extends Fn, const Tr extends object = object>(\n main: Main,\n extensions?: Tr,\n): FnBasic<Main, Tr> => {\n const out: any = main;\n\n /* v8 ignore start -- @preserve */\n if (extensions) Object.assign(out, extensions);\n /* v8 ignore stop -- @preserve */\n\n return out;\n};\n"],"mappings":";AAEA,MAAa,YACX,MACA,eACsB;CACtB,MAAM,MAAW;;AAGjB,KAAI,WAAY,QAAO,OAAO,KAAK,WAAW;;AAG9C,QAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bemedev/typings",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Typings by variables",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "bri_lvi@icloud.com",
|
|
@@ -40,22 +40,24 @@
|
|
|
40
40
|
"public"
|
|
41
41
|
],
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">=
|
|
43
|
+
"node": ">=24"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
|
-
"build": "pnpm rm:lib && pnpm run
|
|
47
|
-
"ci": "pnpm run config:off && pnpm run lint && pnpm run test && pnpm run
|
|
48
|
-
"ci:admin": "pnpm run rm && pnpm run upgrade && pnpm run ci",
|
|
46
|
+
"build": "pnpm rm:lib && pnpm run rolldown",
|
|
47
|
+
"ci": "CI_START=$(date +%s) && pnpm run config:off && pnpm run lint && pnpm run test && pnpm run p-q && echo \"\n✅ CI takes $(($(date +%s) - CI_START))s\n\"",
|
|
48
|
+
"ci:admin": "pnpm run rm && pnpm run upgrade:fast && pnpm run ci",
|
|
49
49
|
"clean": "pnpm run rm && pnpm run config",
|
|
50
50
|
"config": "pnpm install",
|
|
51
51
|
"config:off": "pnpm run config --offline",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"lint
|
|
52
|
+
"fmt": "oxfmt",
|
|
53
|
+
"fmt:check": "oxfmt --check",
|
|
54
|
+
"lint": "pnpm run fmt && pnpm run lint:fix",
|
|
55
|
+
"lint:fix": "oxlint --fix",
|
|
56
|
+
"lint:watch": "onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run lint",
|
|
55
57
|
"prepublishOnly": "",
|
|
56
58
|
"prepare": "husky",
|
|
57
|
-
"pretest": "pnpm run build",
|
|
58
|
-
"posttest": "pnpm run
|
|
59
|
+
"pretest": "pnpm run build && pnpm run size",
|
|
60
|
+
"posttest": "pnpm run fmt",
|
|
59
61
|
"prettier": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
60
62
|
"p-q": "pretty-quick",
|
|
61
63
|
"rinit": "pnpm run rm && pnpm run config",
|
|
@@ -63,12 +65,15 @@
|
|
|
63
65
|
"rimraf": "pnpx rimraf -rf",
|
|
64
66
|
"rm": "pnpm run rimraf -- node_modules pnpm-lock.yaml",
|
|
65
67
|
"rm:lib": "pnpm run rimraf -- lib",
|
|
66
|
-
"
|
|
68
|
+
"rolldown": "rolldown -c",
|
|
67
69
|
"size": "size-limit",
|
|
68
|
-
"test": "pnpm run test:coverage
|
|
70
|
+
"test": "pnpm run test:coverage",
|
|
69
71
|
"test:coverage": "vitest run",
|
|
72
|
+
"test:only": "pnpm run test:coverage --no-coverage",
|
|
73
|
+
"test:ui": "vitest --ui",
|
|
70
74
|
"test:watch": "vitest",
|
|
71
|
-
"upgrade": "pnpm
|
|
75
|
+
"upgrade": "pnpm dlx @bemedev/upgrade-npm-package",
|
|
76
|
+
"upgrade:fast": "pnpm up --latest"
|
|
72
77
|
},
|
|
73
78
|
"size-limit": [
|
|
74
79
|
{
|
|
@@ -81,30 +86,24 @@
|
|
|
81
86
|
}
|
|
82
87
|
],
|
|
83
88
|
"devDependencies": {
|
|
89
|
+
"@bemedev/dev-utils": "^0.6.2",
|
|
84
90
|
"@bemedev/fsf": "^1.0.1",
|
|
85
|
-
"@
|
|
86
|
-
"@
|
|
87
|
-
"@
|
|
88
|
-
"@
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"@size-limit/file": "^12.0.0",
|
|
92
|
-
"@types/node": "^25.0.3",
|
|
93
|
-
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
94
|
-
"@typescript-eslint/parser": "^8.50.1",
|
|
95
|
-
"@vitest/coverage-v8": "^3.2.4",
|
|
96
|
-
"eslint": "^9.39.2",
|
|
97
|
-
"glob": "^13.0.0",
|
|
98
|
-
"globals": "^16.5.0",
|
|
91
|
+
"@size-limit/file": "^12.1.0",
|
|
92
|
+
"@types/node": "^25.6.0",
|
|
93
|
+
"@vitest/coverage-v8": "^4.1.4",
|
|
94
|
+
"@vitest/ui": "4.1.4",
|
|
95
|
+
"glob": "^13.0.6",
|
|
96
|
+
"globals": "^17.5.0",
|
|
99
97
|
"husky": "^9.1.7",
|
|
100
98
|
"onchange": "^7.1.0",
|
|
101
|
-
"
|
|
99
|
+
"oxfmt": "^0.45.0",
|
|
100
|
+
"oxlint": "^1.60.0",
|
|
102
101
|
"pretty-quick": "^4.2.2",
|
|
103
|
-
"
|
|
104
|
-
"size-limit": "^12.
|
|
102
|
+
"rolldown": "1.0.0-rc.16",
|
|
103
|
+
"size-limit": "^12.1.0",
|
|
105
104
|
"tslib": "^2.8.1",
|
|
106
|
-
"typescript": "^
|
|
107
|
-
"vitest": "^
|
|
105
|
+
"typescript": "^6.0.3",
|
|
106
|
+
"vitest": "^4.1.4"
|
|
108
107
|
},
|
|
109
108
|
"pnpm": {
|
|
110
109
|
"onlyBuiltDependencies": [
|
package/lib/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,mFAQb,CAAC;AAEX,eAAO,MAAM,iBAAiB,gCAAiC,CAAC;AAChE,eAAO,MAAM,KAAK,EAAG,qBAA8B,CAAC;AACpD,eAAO,MAAM,MAAM,EAAG,sBAA+B,CAAC;AACtD,eAAO,MAAM,OAAO,EAAG,uBAAgC,CAAC;AACxD,eAAO,MAAM,KAAK,EAAG,qBAA8B,CAAC;AACpD,eAAO,MAAM,GAAG,EAAG,mBAA4B,CAAC"}
|
package/lib/helpers/any.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"any.d.ts","sourceRoot":"","sources":["../../src/helpers/any.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,QAAA,MAAM,GAAG,GAAI,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,QAAQ,CAAC,KAAc,CAAC,CAAC;AACnE,eAAe,GAAG,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/helpers/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElE,QAAA,MAAM,KAAK,GAAI,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,CAAC,kDAI/C,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../src/helpers/custom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,QAAA,MAAM,MAAM,GAAI,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,KAG1B,MAAM,CAAC,CAAC,CAAC,CAAC;AAElB,eAAe,MAAM,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/lib/helpers/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../src/helpers/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,CAAC,SAAS;IAC3D,MAAM,KAAK,SAAS,UAAU;IAC9B,GAAG,MAAM,IAAI,SAAS,UAAU,EAAE;CACnC,GACG,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAChC,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,IACnD,mBAAmB,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAClC;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GACD,KAAK,CAAC;AAEZ,QAAA,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC,EACvE,GAAG,QAAQ,CAAC,KAQE,kBAAkB,CAAC,CAAC,CACnC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"litterals.d.ts","sourceRoot":"","sources":["../../src/helpers/litterals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,QAAA,MAAM,SAAS,GAAI,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,EAC9D,GAAG,QAAQ,CAAC,KACe,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/C,eAAe,SAAS,CAAC"}
|
package/lib/helpers/maybe.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maybe.cjs","sources":["../../src/helpers/maybe.ts"],"sourcesContent":["import { MAYBE } from '../constants';\nimport type { __ObjectS, Maybe } from '../types';\n\nconst maybe = <T extends __ObjectS | __ObjectS[]>(value?: T) =>\n ({\n [MAYBE]: value,\n }) as Maybe<T>;\n\nexport default maybe;\n"],"names":["MAYBE"],"mappings":";;;;AAGA,MAAM,KAAK,GAAG,CAAoC,KAAS,MACxD;IACC,CAACA,eAAK,GAAG,KAAK;AACf,CAAA;;;;"}
|
package/lib/helpers/maybe.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maybe.d.ts","sourceRoot":"","sources":["../../src/helpers/maybe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjD,QAAA,MAAM,KAAK,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,EAAE,QAAQ,CAAC,KAGnD,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjB,eAAe,KAAK,CAAC"}
|
package/lib/helpers/maybe.js
DELETED
package/lib/helpers/maybe.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maybe.js","sources":["../../src/helpers/maybe.ts"],"sourcesContent":["import { MAYBE } from '../constants';\nimport type { __ObjectS, Maybe } from '../types';\n\nconst maybe = <T extends __ObjectS | __ObjectS[]>(value?: T) =>\n ({\n [MAYBE]: value,\n }) as Maybe<T>;\n\nexport default maybe;\n"],"names":[],"mappings":";;AAGA,MAAM,KAAK,GAAG,CAAoC,KAAS,MACxD;IACC,CAAC,KAAK,GAAG,KAAK;AACf,CAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../../src/helpers/partial.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvD,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,EAAE,OAAO,CAAC,KAAG,CAAC,GAAG,aASlD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/helpers/record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE9C,QAAA,MAAM,MAAM,GAAI,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,SAAS,OAAO,EACvD,OAAO,CAAC,EACR,GAAG,MAAM,CAAC,KAOO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CACtE,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/lib/helpers/soa.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"soa.d.ts","sourceRoot":"","sources":["../../src/helpers/soa.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhE,QAAA,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,CAAC,gDAG7C,CAAC;AAEF,eAAe,GAAG,CAAC"}
|
package/lib/helpers/sv.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sv.d.ts","sourceRoot":"","sources":["../../src/helpers/sv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,QAAA,MAAM,EAAE,EAAS,MAAM,CAAC,UAAU,CAAC,CAAC;AACpC,eAAe,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../src/helpers/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE3E,QAAA,MAAM,KAAK,GACT,KAAK,CAAC,CAAC,SAAS,CACd,SAAS,GAAG,KAAK,GAAG,WAAW,EAC/B,SAAS,GAAG,KAAK,GAAG,WAAW,EAC/B,GAAG,CAAC,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC,EAAE,CACvC,EAED,GAAG,QAAQ,CAAC,KACC,WAAW,CAAC,CAAC,CAAC,CAAC;AAE9B,eAAe,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/helpers/union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAS1D,KAAK,aAAa,CAAC,CAAC,SAAS,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAErE,QAAA,MAAM,EAAE;mCAEE,CAAC,SAAS,IAAI,EACpB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,QAE/D,CAAC,aACI,CAAC;MAdD,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,aAC5C,CAAC,KAEQ,CAAC,CAAC,MAAM,CAAC,CAa7B,CAAC;AAEH,eAAe,EAAE,CAAC"}
|
package/lib/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/lib/transform.cjs
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var constants = require('./constants.cjs');
|
|
4
|
-
var helpers_any = require('./helpers/any.cjs');
|
|
5
|
-
var helpers_array = require('./helpers/array.cjs');
|
|
6
|
-
var helpers_custom = require('./helpers/custom.cjs');
|
|
7
|
-
var helpers_intersection = require('./helpers/intersection.cjs');
|
|
8
|
-
var helpers_litterals = require('./helpers/litterals.cjs');
|
|
9
|
-
var helpers_maybe = require('./helpers/maybe.cjs');
|
|
10
|
-
var helpers_partial = require('./helpers/partial.cjs');
|
|
11
|
-
var helpers_record = require('./helpers/record.cjs');
|
|
12
|
-
var helpers_soa = require('./helpers/soa.cjs');
|
|
13
|
-
var helpers_sv = require('./helpers/sv.cjs');
|
|
14
|
-
var helpers_tuple = require('./helpers/tuple.cjs');
|
|
15
|
-
var helpers_union = require('./helpers/union.cjs');
|
|
16
|
-
|
|
17
|
-
const transformTypes = (type) => {
|
|
18
|
-
const out = type === 'primitive' ? {} : undefined;
|
|
19
|
-
return out;
|
|
20
|
-
};
|
|
21
|
-
const _transform = (obj) => {
|
|
22
|
-
const _obj = obj;
|
|
23
|
-
const checkArray = Array.isArray(obj);
|
|
24
|
-
if (checkArray) {
|
|
25
|
-
return obj.map(_transform);
|
|
26
|
-
}
|
|
27
|
-
const checkObject = typeof obj === 'object';
|
|
28
|
-
if (checkObject) {
|
|
29
|
-
if (constants.MAYBE in _obj) {
|
|
30
|
-
return _transform(_obj[constants.MAYBE]);
|
|
31
|
-
}
|
|
32
|
-
const isCustom = Object.keys(obj).every(key => key === constants.CUSTOM);
|
|
33
|
-
const out = {};
|
|
34
|
-
if (isCustom)
|
|
35
|
-
return out;
|
|
36
|
-
const entries = Object.entries(obj).filter(([key]) => key !== constants.PARTIAL);
|
|
37
|
-
entries.forEach(([key, value]) => {
|
|
38
|
-
out[key] = _transform(value);
|
|
39
|
-
});
|
|
40
|
-
return out;
|
|
41
|
-
}
|
|
42
|
-
return transformTypes(_obj);
|
|
43
|
-
};
|
|
44
|
-
const transform = option => {
|
|
45
|
-
const objectS = option({
|
|
46
|
-
any: helpers_any,
|
|
47
|
-
custom: helpers_custom,
|
|
48
|
-
intersection: helpers_intersection,
|
|
49
|
-
litterals: helpers_litterals,
|
|
50
|
-
maybe: helpers_maybe,
|
|
51
|
-
partial: helpers_partial,
|
|
52
|
-
record: helpers_record,
|
|
53
|
-
soa: helpers_soa,
|
|
54
|
-
sv: helpers_sv,
|
|
55
|
-
union: helpers_union,
|
|
56
|
-
array: helpers_array,
|
|
57
|
-
tuple: helpers_tuple,
|
|
58
|
-
});
|
|
59
|
-
return _transform(objectS);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
exports.transform = transform;
|
|
63
|
-
//# sourceMappingURL=transform.cjs.map
|
package/lib/transform.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.cjs","sources":["../src/transform.ts"],"sourcesContent":["import { CUSTOM, MAYBE, PARTIAL } from './constants';\nimport {\n any,\n array,\n custom,\n intersection,\n litterals,\n maybe,\n partial,\n record,\n soa,\n sv,\n tuple,\n union,\n} from './helpers';\nimport type { Transform_F } from './transform.types';\nimport type { inferT, ObjectS, TransformTypes, Types } from './types';\n\nconst transformTypes = <T extends Types>(type: T): TransformTypes<T> => {\n const out: any = type === 'primitive' ? {} : undefined;\n return out;\n};\n\nconst _transform = <T extends ObjectS>(obj: T): inferT<T> => {\n const _obj = obj as any;\n\n const checkArray = Array.isArray(obj);\n if (checkArray) {\n return obj.map(_transform as any) as any;\n }\n\n const checkObject = typeof obj === 'object';\n if (checkObject) {\n if (MAYBE in _obj) {\n return _transform(_obj[MAYBE]);\n }\n\n const isCustom = Object.keys(obj).every(key => key === CUSTOM);\n const out: any = {};\n if (isCustom) return out;\n\n const entries = Object.entries(obj).filter(([key]) => key !== PARTIAL);\n\n entries.forEach(([key, value]) => {\n out[key] = _transform(value);\n });\n\n return out;\n }\n\n return transformTypes(_obj) as any;\n};\n\nexport const transform: Transform_F = option => {\n const objectS = option({\n any,\n custom,\n intersection,\n litterals,\n maybe,\n partial,\n record,\n soa,\n sv,\n union,\n array,\n tuple,\n });\n\n return _transform(objectS);\n};\n"],"names":["MAYBE","CUSTOM","PARTIAL","any","custom","intersection","litterals","maybe","partial","record","soa","sv","union","array","tuple"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAM,cAAc,GAAG,CAAkB,IAAO,KAAuB;AACrE,IAAA,MAAM,GAAG,GAAQ,IAAI,KAAK,WAAW,GAAG,EAAE,GAAG,SAAS;AACtD,IAAA,OAAO,GAAG;AACZ,CAAC;AAED,MAAM,UAAU,GAAG,CAAoB,GAAM,KAAe;IAC1D,MAAM,IAAI,GAAG,GAAU;IAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IACrC,IAAI,UAAU,EAAE;AACd,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,UAAiB,CAAQ;IAC1C;AAEA,IAAA,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ;IAC3C,IAAI,WAAW,EAAE;AACf,QAAA,IAAIA,eAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,UAAU,CAAC,IAAI,CAACA,eAAK,CAAC,CAAC;QAChC;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAKC,gBAAM,CAAC;QAC9D,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,GAAG;QAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,KAAKC,iBAAO,CAAC;QAEtE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,OAAO,cAAc,CAAC,IAAI,CAAQ;AACpC,CAAC;AAEM,MAAM,SAAS,GAAgB,MAAM,IAAG;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC;aACrBC,WAAG;gBACHC,cAAM;sBACNC,oBAAY;mBACZC,iBAAS;eACTC,aAAK;iBACLC,eAAO;gBACPC,cAAM;aACNC,WAAG;YACHC,UAAE;eACFC,aAAK;eACLC,aAAK;eACLC,aAAK;AACN,KAAA,CAAC;AAEF,IAAA,OAAO,UAAU,CAAC,OAAO,CAAC;AAC5B;;;;"}
|
package/lib/transform.d.ts
DELETED
package/lib/transform.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsCrD,eAAO,MAAM,SAAS,EAAE,WAiBvB,CAAC"}
|
package/lib/transform.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { MAYBE, CUSTOM, PARTIAL } from './constants.js';
|
|
2
|
-
import any from './helpers/any.js';
|
|
3
|
-
import array from './helpers/array.js';
|
|
4
|
-
import custom from './helpers/custom.js';
|
|
5
|
-
import intersection from './helpers/intersection.js';
|
|
6
|
-
import litterals from './helpers/litterals.js';
|
|
7
|
-
import maybe from './helpers/maybe.js';
|
|
8
|
-
import partial from './helpers/partial.js';
|
|
9
|
-
import record from './helpers/record.js';
|
|
10
|
-
import soa from './helpers/soa.js';
|
|
11
|
-
import sv from './helpers/sv.js';
|
|
12
|
-
import tuple from './helpers/tuple.js';
|
|
13
|
-
import fn from './helpers/union.js';
|
|
14
|
-
|
|
15
|
-
const transformTypes = (type) => {
|
|
16
|
-
const out = type === 'primitive' ? {} : undefined;
|
|
17
|
-
return out;
|
|
18
|
-
};
|
|
19
|
-
const _transform = (obj) => {
|
|
20
|
-
const _obj = obj;
|
|
21
|
-
const checkArray = Array.isArray(obj);
|
|
22
|
-
if (checkArray) {
|
|
23
|
-
return obj.map(_transform);
|
|
24
|
-
}
|
|
25
|
-
const checkObject = typeof obj === 'object';
|
|
26
|
-
if (checkObject) {
|
|
27
|
-
if (MAYBE in _obj) {
|
|
28
|
-
return _transform(_obj[MAYBE]);
|
|
29
|
-
}
|
|
30
|
-
const isCustom = Object.keys(obj).every(key => key === CUSTOM);
|
|
31
|
-
const out = {};
|
|
32
|
-
if (isCustom)
|
|
33
|
-
return out;
|
|
34
|
-
const entries = Object.entries(obj).filter(([key]) => key !== PARTIAL);
|
|
35
|
-
entries.forEach(([key, value]) => {
|
|
36
|
-
out[key] = _transform(value);
|
|
37
|
-
});
|
|
38
|
-
return out;
|
|
39
|
-
}
|
|
40
|
-
return transformTypes(_obj);
|
|
41
|
-
};
|
|
42
|
-
const transform = option => {
|
|
43
|
-
const objectS = option({
|
|
44
|
-
any,
|
|
45
|
-
custom,
|
|
46
|
-
intersection,
|
|
47
|
-
litterals,
|
|
48
|
-
maybe,
|
|
49
|
-
partial,
|
|
50
|
-
record,
|
|
51
|
-
soa,
|
|
52
|
-
sv,
|
|
53
|
-
union: fn,
|
|
54
|
-
array,
|
|
55
|
-
tuple,
|
|
56
|
-
});
|
|
57
|
-
return _transform(objectS);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
export { transform };
|
|
61
|
-
//# sourceMappingURL=transform.js.map
|
package/lib/transform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sources":["../src/transform.ts"],"sourcesContent":["import { CUSTOM, MAYBE, PARTIAL } from './constants';\nimport {\n any,\n array,\n custom,\n intersection,\n litterals,\n maybe,\n partial,\n record,\n soa,\n sv,\n tuple,\n union,\n} from './helpers';\nimport type { Transform_F } from './transform.types';\nimport type { inferT, ObjectS, TransformTypes, Types } from './types';\n\nconst transformTypes = <T extends Types>(type: T): TransformTypes<T> => {\n const out: any = type === 'primitive' ? {} : undefined;\n return out;\n};\n\nconst _transform = <T extends ObjectS>(obj: T): inferT<T> => {\n const _obj = obj as any;\n\n const checkArray = Array.isArray(obj);\n if (checkArray) {\n return obj.map(_transform as any) as any;\n }\n\n const checkObject = typeof obj === 'object';\n if (checkObject) {\n if (MAYBE in _obj) {\n return _transform(_obj[MAYBE]);\n }\n\n const isCustom = Object.keys(obj).every(key => key === CUSTOM);\n const out: any = {};\n if (isCustom) return out;\n\n const entries = Object.entries(obj).filter(([key]) => key !== PARTIAL);\n\n entries.forEach(([key, value]) => {\n out[key] = _transform(value);\n });\n\n return out;\n }\n\n return transformTypes(_obj) as any;\n};\n\nexport const transform: Transform_F = option => {\n const objectS = option({\n any,\n custom,\n intersection,\n litterals,\n maybe,\n partial,\n record,\n soa,\n sv,\n union,\n array,\n tuple,\n });\n\n return _transform(objectS);\n};\n"],"names":["union"],"mappings":";;;;;;;;;;;;;;AAkBA,MAAM,cAAc,GAAG,CAAkB,IAAO,KAAuB;AACrE,IAAA,MAAM,GAAG,GAAQ,IAAI,KAAK,WAAW,GAAG,EAAE,GAAG,SAAS;AACtD,IAAA,OAAO,GAAG;AACZ,CAAC;AAED,MAAM,UAAU,GAAG,CAAoB,GAAM,KAAe;IAC1D,MAAM,IAAI,GAAG,GAAU;IAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IACrC,IAAI,UAAU,EAAE;AACd,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,UAAiB,CAAQ;IAC1C;AAEA,IAAA,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ;IAC3C,IAAI,WAAW,EAAE;AACf,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,CAAC;QAC9D,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,GAAG;QAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,OAAO,CAAC;QAEtE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,OAAO,cAAc,CAAC,IAAI,CAAQ;AACpC,CAAC;AAEM,MAAM,SAAS,GAAgB,MAAM,IAAG;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC;QACrB,GAAG;QACH,MAAM;QACN,YAAY;QACZ,SAAS;QACT,KAAK;QACL,OAAO;QACP,MAAM;QACN,GAAG;QACH,EAAE;eACFA,EAAK;QACL,KAAK;QACL,KAAK;AACN,KAAA,CAAC;AAEF,IAAA,OAAO,UAAU,CAAC,OAAO,CAAC;AAC5B;;;;"}
|
package/lib/transform.types.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { any, custom, intersection, litterals, maybe, partial, record, soa, sv, union, array, tuple } from './helpers';
|
|
2
|
-
import type { ObjectS, TransformS } from './types';
|
|
3
|
-
export type Helpers = {
|
|
4
|
-
any: typeof any;
|
|
5
|
-
custom: typeof custom;
|
|
6
|
-
intersection: typeof intersection;
|
|
7
|
-
litterals: typeof litterals;
|
|
8
|
-
maybe: typeof maybe;
|
|
9
|
-
partial: typeof partial;
|
|
10
|
-
record: typeof record;
|
|
11
|
-
soa: typeof soa;
|
|
12
|
-
sv: typeof sv;
|
|
13
|
-
union: typeof union;
|
|
14
|
-
array: typeof array;
|
|
15
|
-
tuple: typeof tuple;
|
|
16
|
-
};
|
|
17
|
-
export type Transform_F = <T extends ObjectS = ObjectS>(option: (helpers: Helpers) => T) => TransformS<T>;
|
|
18
|
-
//# sourceMappingURL=transform.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.types.d.ts","sourceRoot":"","sources":["../src/transform.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,YAAY,EACZ,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,GAAG,EACH,EAAE,EACF,KAAK,EACL,KAAK,EACL,KAAK,EACN,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,KAAK,EAAE,OAAO,KAAK,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EACpD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,KAC5B,UAAU,CAAC,CAAC,CAAC,CAAC"}
|
package/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expandFn.d.ts","sourceRoot":"","sources":["../../src/utils/expandFn.ts"],"names":[],"mappings":"AAAA,KAAK,EAAE,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC;AAEpE,KAAK,OAAO,CAAC,IAAI,SAAS,EAAE,EAAE,EAAE,SAAS,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC;AAE7D,eAAO,MAAM,QAAQ,GACnB,IAAI,SAAS,EAAE,EACf,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAEhC,MAAM,IAAI,EACV,aAAa,EAAE,KACd,OAAO,CAAC,IAAI,EAAE,EAAE,CAQlB,CAAC"}
|