@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.
Files changed (120) hide show
  1. package/README.md +12 -11
  2. package/lib/constants.cjs +26 -18
  3. package/lib/constants.cjs.map +1 -1
  4. package/lib/constants.d.ts +3 -4
  5. package/lib/constants.js +24 -15
  6. package/lib/constants.js.map +1 -1
  7. package/lib/helpers/any.cjs +4 -4
  8. package/lib/helpers/any.cjs.map +1 -1
  9. package/lib/helpers/any.d.ts +2 -3
  10. package/lib/helpers/any.js +4 -2
  11. package/lib/helpers/any.js.map +1 -1
  12. package/lib/helpers/array.cjs +6 -7
  13. package/lib/helpers/array.cjs.map +1 -1
  14. package/lib/helpers/array.d.ts +2 -3
  15. package/lib/helpers/array.js +6 -5
  16. package/lib/helpers/array.js.map +1 -1
  17. package/lib/helpers/custom.cjs +6 -9
  18. package/lib/helpers/custom.cjs.map +1 -1
  19. package/lib/helpers/custom.d.ts +0 -1
  20. package/lib/helpers/custom.js +6 -7
  21. package/lib/helpers/custom.js.map +1 -1
  22. package/lib/helpers/index.cjs +27 -30
  23. package/lib/helpers/index.d.ts +13 -13
  24. package/lib/helpers/index.js +14 -13
  25. package/lib/helpers/intersection.cjs +10 -11
  26. package/lib/helpers/intersection.cjs.map +1 -1
  27. package/lib/helpers/intersection.d.ts +0 -1
  28. package/lib/helpers/intersection.js +10 -9
  29. package/lib/helpers/intersection.js.map +1 -1
  30. package/lib/helpers/litterals.cjs +4 -4
  31. package/lib/helpers/litterals.cjs.map +1 -1
  32. package/lib/helpers/litterals.d.ts +0 -1
  33. package/lib/helpers/litterals.js +4 -2
  34. package/lib/helpers/litterals.js.map +1 -1
  35. package/lib/helpers/optional.cjs +7 -0
  36. package/lib/helpers/optional.cjs.map +1 -0
  37. package/lib/helpers/optional.d.ts +3 -0
  38. package/lib/helpers/optional.js +7 -0
  39. package/lib/helpers/optional.js.map +1 -0
  40. package/lib/helpers/partial.cjs +11 -12
  41. package/lib/helpers/partial.cjs.map +1 -1
  42. package/lib/helpers/partial.d.ts +2 -3
  43. package/lib/helpers/partial.js +11 -10
  44. package/lib/helpers/partial.js.map +1 -1
  45. package/lib/helpers/primitiveObject.cjs +10 -0
  46. package/lib/helpers/primitiveObject.cjs.map +1 -0
  47. package/lib/helpers/primitiveObject.d.ts +5 -0
  48. package/lib/helpers/primitiveObject.js +11 -0
  49. package/lib/helpers/primitiveObject.js.map +1 -0
  50. package/lib/helpers/record.cjs +8 -9
  51. package/lib/helpers/record.cjs.map +1 -1
  52. package/lib/helpers/record.d.ts +2 -3
  53. package/lib/helpers/record.js +8 -7
  54. package/lib/helpers/record.js.map +1 -1
  55. package/lib/helpers/soa.cjs +6 -7
  56. package/lib/helpers/soa.cjs.map +1 -1
  57. package/lib/helpers/soa.d.ts +2 -3
  58. package/lib/helpers/soa.js +6 -5
  59. package/lib/helpers/soa.js.map +1 -1
  60. package/lib/helpers/sv.cjs +4 -4
  61. package/lib/helpers/sv.cjs.map +1 -1
  62. package/lib/helpers/sv.d.ts +0 -1
  63. package/lib/helpers/sv.js +4 -2
  64. package/lib/helpers/sv.js.map +1 -1
  65. package/lib/helpers/tuple.cjs +4 -4
  66. package/lib/helpers/tuple.cjs.map +1 -1
  67. package/lib/helpers/tuple.d.ts +2 -3
  68. package/lib/helpers/tuple.js +4 -2
  69. package/lib/helpers/tuple.js.map +1 -1
  70. package/lib/helpers/union.cjs +7 -10
  71. package/lib/helpers/union.cjs.map +1 -1
  72. package/lib/helpers/union.d.ts +4 -5
  73. package/lib/helpers/union.js +7 -8
  74. package/lib/helpers/union.js.map +1 -1
  75. package/lib/index.cjs +40 -40
  76. package/lib/index.d.ts +1 -2
  77. package/lib/index.js +18 -15
  78. package/lib/type.d.ts +2 -0
  79. package/lib/type.types.d.ts +18 -0
  80. package/lib/types.d.ts +34 -25
  81. package/lib/utils/expandFn.cjs +10 -9
  82. package/lib/utils/expandFn.cjs.map +1 -1
  83. package/lib/utils/expandFn.d.ts +1 -4
  84. package/lib/utils/expandFn.js +9 -7
  85. package/lib/utils/expandFn.js.map +1 -1
  86. package/package.json +31 -32
  87. package/lib/constants.d.ts.map +0 -1
  88. package/lib/helpers/any.d.ts.map +0 -1
  89. package/lib/helpers/array.d.ts.map +0 -1
  90. package/lib/helpers/custom.d.ts.map +0 -1
  91. package/lib/helpers/index.cjs.map +0 -1
  92. package/lib/helpers/index.d.ts.map +0 -1
  93. package/lib/helpers/index.js.map +0 -1
  94. package/lib/helpers/intersection.d.ts.map +0 -1
  95. package/lib/helpers/litterals.d.ts.map +0 -1
  96. package/lib/helpers/maybe.cjs +0 -10
  97. package/lib/helpers/maybe.cjs.map +0 -1
  98. package/lib/helpers/maybe.d.ts +0 -4
  99. package/lib/helpers/maybe.d.ts.map +0 -1
  100. package/lib/helpers/maybe.js +0 -8
  101. package/lib/helpers/maybe.js.map +0 -1
  102. package/lib/helpers/partial.d.ts.map +0 -1
  103. package/lib/helpers/record.d.ts.map +0 -1
  104. package/lib/helpers/soa.d.ts.map +0 -1
  105. package/lib/helpers/sv.d.ts.map +0 -1
  106. package/lib/helpers/tuple.d.ts.map +0 -1
  107. package/lib/helpers/union.d.ts.map +0 -1
  108. package/lib/index.cjs.map +0 -1
  109. package/lib/index.d.ts.map +0 -1
  110. package/lib/index.js.map +0 -1
  111. package/lib/transform.cjs +0 -63
  112. package/lib/transform.cjs.map +0 -1
  113. package/lib/transform.d.ts +0 -3
  114. package/lib/transform.d.ts.map +0 -1
  115. package/lib/transform.js +0 -61
  116. package/lib/transform.js.map +0 -1
  117. package/lib/transform.types.d.ts +0 -18
  118. package/lib/transform.types.d.ts.map +0 -1
  119. package/lib/types.d.ts.map +0 -1
  120. package/lib/utils/expandFn.d.ts.map +0 -1
package/lib/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ARRAY, CUSTOM, MAYBE, PARTIAL, PRIMITIVES, PRIMITIVE_OBJECTS, SOA } from './constants';
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 'string' ? string : T extends 'number' ? number : T extends 'boolean' ? boolean : T extends 'null' ? null : T extends 'undefined' ? undefined : T extends 'symbol' ? symbol : never;
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 'date' ? Date : {};
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 ObjectS = any> = {
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 __ObjectS = Types | ObjectMapS | Custom | PartialCustom;
41
- export type Maybe<T extends __ObjectS | ArrayCustom | __ObjectS[] = __ObjectS> = {
42
- [MAYBE]: T;
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 ObjectS = any> = {
45
+ export type ArrayCustom<T extends ObjectT = any> = {
45
46
  [ARRAY]: T;
46
47
  };
47
48
  export type ObjectMapS = {
48
- [key: Keys]: SoRa<_ObjectS>;
49
+ [key: Keys]: SoRa<_ObjectT>;
49
50
  };
50
- type _ObjectS = __ObjectS | Maybe | ArrayCustom;
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 ObjectS = _ObjectS | SoRa<_ObjectS>;
57
- export type POS = ObjectS;
58
- type ReduceTuple2<T extends AnyArray<ObjectS>> = T extends [
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<ObjectS>
61
- ] ? [TransformS<First>, ...ReduceTuple2<Rest>] : T extends AnyArray<infer A extends ObjectS> ? TransformS<A>[] : [];
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['length'] extends 0 ? [] : number extends T['length'] ? T : Undefiny<T[number]>[];
69
- type HasUndefined<T> = undefined extends T ? true : false;
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<Exclude<T[K], undefined>>;
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> = T extends AnyArray ? ReduceTupleU<T> : T extends Ru ? UndefinyObject<T> : T;
78
- export type TransformS<T> = Undefiny<__TransformPrimitiveObject<T>>;
79
- export type inferT<T extends ObjectS> = TransformS<T>;
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
@@ -1,12 +1,13 @@
1
- 'use strict';
2
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/utils/expandFn.ts
3
3
  const expandFn = (main, extensions) => {
4
- const out = main;
5
- if (extensions) {
6
- Object.assign(out, extensions);
7
- }
8
- return out;
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
- //# sourceMappingURL=expandFn.cjs.map
12
+
13
+ //# sourceMappingURL=expandFn.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandFn.cjs","sources":["../../src/utils/expandFn.ts"],"sourcesContent":["type Fn<Args extends any[] = any[], R = any> = (...args: Args) => R;\n\ntype FnBasic<Main extends Fn, Tr extends object> = Tr & Main;\n\nexport const expandFn = <\n Main extends Fn,\n const Tr extends object = object,\n>(\n main: Main,\n extensions?: Tr,\n): FnBasic<Main, Tr> => {\n const out: any = main;\n\n if (extensions) {\n Object.assign(out, extensions);\n }\n\n return out;\n};\n"],"names":[],"mappings":";;MAIa,QAAQ,GAAG,CAItB,IAAU,EACV,UAAe,KACM;IACrB,MAAM,GAAG,GAAQ,IAAI;IAErB,IAAI,UAAU,EAAE;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;IAChC;AAEA,IAAA,OAAO,GAAG;AACZ;;;;"}
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"}
@@ -1,5 +1,2 @@
1
- type Fn<Args extends any[] = any[], R = any> = (...args: Args) => R;
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
@@ -1,10 +1,12 @@
1
+ //#region src/utils/expandFn.ts
1
2
  const expandFn = (main, extensions) => {
2
- const out = main;
3
- if (extensions) {
4
- Object.assign(out, extensions);
5
- }
6
- return out;
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
- //# sourceMappingURL=expandFn.js.map
11
+
12
+ //# sourceMappingURL=expandFn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandFn.js","sources":["../../src/utils/expandFn.ts"],"sourcesContent":["type Fn<Args extends any[] = any[], R = any> = (...args: Args) => R;\n\ntype FnBasic<Main extends Fn, Tr extends object> = Tr & Main;\n\nexport const expandFn = <\n Main extends Fn,\n const Tr extends object = object,\n>(\n main: Main,\n extensions?: Tr,\n): FnBasic<Main, Tr> => {\n const out: any = main;\n\n if (extensions) {\n Object.assign(out, extensions);\n }\n\n return out;\n};\n"],"names":[],"mappings":"MAIa,QAAQ,GAAG,CAItB,IAAU,EACV,UAAe,KACM;IACrB,MAAM,GAAG,GAAQ,IAAI;IAErB,IAAI,UAAU,EAAE;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;IAChC;AAEA,IAAA,OAAO,GAAG;AACZ;;;;"}
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.2",
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": ">=20"
43
+ "node": ">=24"
44
44
  },
45
45
  "scripts": {
46
- "build": "pnpm rm:lib && pnpm run rollup",
47
- "ci": "pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q",
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
- "eslint": "eslint \"{src/**/*,App}.{ts,tsx}\"",
53
- "lint": "pnpm run prettier && pnpm run eslint --fix",
54
- "lint:watch": "onchange --await-write-finish 5500 \"**/*\" -- pnpm run 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 size",
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
- "rollup": "rollup -c",
68
+ "rolldown": "rolldown -c",
67
69
  "size": "size-limit",
68
- "test": "pnpm run test:coverage --no-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 upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4"
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
- "@bemedev/rollup-config": "^0.2.2",
86
- "@bemedev/vitest-alias": "^0.0.3",
87
- "@bemedev/vitest-exclude": "^0.1.1",
88
- "@bemedev/vitest-extended": "^1.5.3",
89
- "@eslint/eslintrc": "^3.3.3",
90
- "@eslint/js": "^9.39.2",
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
- "prettier": "^3.7.4",
99
+ "oxfmt": "^0.45.0",
100
+ "oxlint": "^1.60.0",
102
101
  "pretty-quick": "^4.2.2",
103
- "rollup": "^4.54.0",
104
- "size-limit": "^12.0.0",
102
+ "rolldown": "1.0.0-rc.16",
103
+ "size-limit": "^12.1.0",
105
104
  "tslib": "^2.8.1",
106
- "typescript": "^5.9.3",
107
- "vitest": "^3.2.4"
105
+ "typescript": "^6.0.3",
106
+ "vitest": "^4.1.4"
108
107
  },
109
108
  "pnpm": {
110
109
  "onlyBuiltDependencies": [
@@ -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"}
@@ -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"}
@@ -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"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var constants = require('../constants.cjs');
4
-
5
- const maybe = (value) => ({
6
- [constants.MAYBE]: value,
7
- });
8
-
9
- module.exports = maybe;
10
- //# sourceMappingURL=maybe.cjs.map
@@ -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;;;;"}
@@ -1,4 +0,0 @@
1
- import type { __ObjectS, Maybe } from '../types';
2
- declare const maybe: <T extends __ObjectS | __ObjectS[]>(value?: T) => Maybe<T>;
3
- export default maybe;
4
- //# sourceMappingURL=maybe.d.ts.map
@@ -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"}
@@ -1,8 +0,0 @@
1
- import { MAYBE } from '../constants.js';
2
-
3
- const maybe = (value) => ({
4
- [MAYBE]: value,
5
- });
6
-
7
- export { maybe as default };
8
- //# sourceMappingURL=maybe.js.map
@@ -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"}
@@ -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"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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
@@ -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;;;;"}
@@ -1,3 +0,0 @@
1
- import type { Transform_F } from './transform.types';
2
- export declare const transform: Transform_F;
3
- //# sourceMappingURL=transform.d.ts.map
@@ -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
@@ -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;;;;"}
@@ -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"}
@@ -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"}