@bemedev/typings 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/lib/_virtual/_rolldown/runtime.cjs +13 -0
  2. package/lib/_virtual/_rolldown/runtime.js +13 -0
  3. package/lib/constants.cjs +2 -2
  4. package/lib/constants.cjs.map +1 -1
  5. package/lib/constants.d.ts +2 -2
  6. package/lib/constants.js +2 -2
  7. package/lib/constants.js.map +1 -1
  8. package/lib/helpers/any.cjs +5 -2
  9. package/lib/helpers/any.cjs.map +1 -1
  10. package/lib/helpers/any.d.ts +3 -3
  11. package/lib/helpers/any.js +4 -2
  12. package/lib/helpers/any.js.map +1 -1
  13. package/lib/helpers/array.cjs +2 -1
  14. package/lib/helpers/array.cjs.map +1 -1
  15. package/lib/helpers/array.d.ts +3 -3
  16. package/lib/helpers/array.js +1 -1
  17. package/lib/helpers/array.js.map +1 -1
  18. package/lib/helpers/custom.cjs +2 -1
  19. package/lib/helpers/custom.cjs.map +1 -1
  20. package/lib/helpers/custom.d.ts +2 -2
  21. package/lib/helpers/custom.js +1 -1
  22. package/lib/helpers/custom.js.map +1 -1
  23. package/lib/helpers/index.cjs +46 -14
  24. package/lib/helpers/index.cjs.map +1 -0
  25. package/lib/helpers/index.d.ts +15 -13
  26. package/lib/helpers/index.js +38 -14
  27. package/lib/helpers/index.js.map +1 -0
  28. package/lib/helpers/intersection.cjs +2 -1
  29. package/lib/helpers/intersection.cjs.map +1 -1
  30. package/lib/helpers/intersection.d.ts +3 -10
  31. package/lib/helpers/intersection.js +1 -1
  32. package/lib/helpers/intersection.js.map +1 -1
  33. package/lib/helpers/litterals.cjs +2 -1
  34. package/lib/helpers/litterals.cjs.map +1 -1
  35. package/lib/helpers/litterals.d.ts +2 -2
  36. package/lib/helpers/litterals.js +1 -1
  37. package/lib/helpers/litterals.js.map +1 -1
  38. package/lib/helpers/optional.cjs +2 -1
  39. package/lib/helpers/optional.cjs.map +1 -1
  40. package/lib/helpers/optional.d.ts +3 -3
  41. package/lib/helpers/optional.js +1 -1
  42. package/lib/helpers/optional.js.map +1 -1
  43. package/lib/helpers/partial.cjs +2 -1
  44. package/lib/helpers/partial.cjs.map +1 -1
  45. package/lib/helpers/partial.d.ts +3 -3
  46. package/lib/helpers/partial.js +1 -1
  47. package/lib/helpers/partial.js.map +1 -1
  48. package/lib/helpers/primitive.cjs +25 -0
  49. package/lib/helpers/primitive.cjs.map +1 -0
  50. package/lib/helpers/primitive.d.ts +10 -0
  51. package/lib/helpers/primitive.js +25 -0
  52. package/lib/helpers/primitive.js.map +1 -0
  53. package/lib/helpers/primitiveObject.cjs +2 -1
  54. package/lib/helpers/primitiveObject.cjs.map +1 -1
  55. package/lib/helpers/primitiveObject.d.ts +4 -4
  56. package/lib/helpers/primitiveObject.js +1 -1
  57. package/lib/helpers/primitiveObject.js.map +1 -1
  58. package/lib/helpers/readonly.cjs +7 -0
  59. package/lib/helpers/readonly.cjs.map +1 -0
  60. package/lib/helpers/readonly.d.ts +2 -0
  61. package/lib/helpers/readonly.js +6 -0
  62. package/lib/helpers/readonly.js.map +1 -0
  63. package/lib/helpers/record.cjs +2 -1
  64. package/lib/helpers/record.cjs.map +1 -1
  65. package/lib/helpers/record.d.ts +1 -1
  66. package/lib/helpers/record.js +1 -1
  67. package/lib/helpers/record.js.map +1 -1
  68. package/lib/helpers/soa.cjs +2 -1
  69. package/lib/helpers/soa.cjs.map +1 -1
  70. package/lib/helpers/soa.d.ts +2 -2
  71. package/lib/helpers/soa.js +1 -1
  72. package/lib/helpers/soa.js.map +1 -1
  73. package/lib/helpers/sv.cjs +2 -1
  74. package/lib/helpers/sv.cjs.map +1 -1
  75. package/lib/helpers/sv.d.ts +2 -2
  76. package/lib/helpers/sv.js +1 -1
  77. package/lib/helpers/sv.js.map +1 -1
  78. package/lib/helpers/tuple.cjs +2 -1
  79. package/lib/helpers/tuple.cjs.map +1 -1
  80. package/lib/helpers/tuple.d.ts +1 -1
  81. package/lib/helpers/tuple.js +1 -1
  82. package/lib/helpers/tuple.js.map +1 -1
  83. package/lib/helpers/union.cjs +4 -3
  84. package/lib/helpers/union.cjs.map +1 -1
  85. package/lib/helpers/union.d.ts +2 -2
  86. package/lib/helpers/union.js +3 -3
  87. package/lib/helpers/union.js.map +1 -1
  88. package/lib/index.cjs +7 -27
  89. package/lib/index.d.ts +4 -4
  90. package/lib/index.js +2 -15
  91. package/lib/type.types.d.ts +3 -1
  92. package/lib/types.d.ts +11 -7
  93. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import type { Custom, PrimitiveT } from "../types";
2
+ export declare const primitive: import("..").FnBasic<(<const T extends PrimitiveT>(value?: T) => T), {
3
+ readonly boolean: <const T extends boolean>(value?: T) => boolean extends T ? "boolean" : Custom<T>;
4
+ readonly string: <const T extends string = string>(value?: T) => string extends T ? "string" : Custom<T>;
5
+ readonly number: <const T extends number = number>(value?: T) => number extends T ? "number" : Custom<T>;
6
+ readonly bigint: <const T extends bigint = bigint>(value?: T) => bigint extends T ? "bigint" : Custom<T>;
7
+ readonly symbol: <const T extends symbol = symbol>(value?: T) => symbol extends T ? "symbol" : Custom<T>;
8
+ readonly never: () => Custom<never>;
9
+ readonly undefined: () => Custom<undefined>;
10
+ }>;
@@ -0,0 +1,25 @@
1
+ import { expandFn } from "../utils/expandFn.js";
2
+ //#region src/helpers/primitive.ts
3
+ const primitive = expandFn((value) => value, {
4
+ boolean: (value) => {
5
+ return value;
6
+ },
7
+ string: (value) => {
8
+ return value;
9
+ },
10
+ number: (value) => {
11
+ return value;
12
+ },
13
+ bigint: (value) => {
14
+ return value;
15
+ },
16
+ symbol: (value) => {
17
+ return value;
18
+ },
19
+ never: () => {},
20
+ undefined: () => {}
21
+ });
22
+ //#endregion
23
+ export { primitive };
24
+
25
+ //# sourceMappingURL=primitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive.js","names":[],"sources":["../../src/helpers/primitive.ts"],"sourcesContent":["import type { Custom, PrimitiveT } from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nexport const primitive = expandFn(\n <const T extends PrimitiveT>(value?: T) => value as T,\n {\n boolean: <const T extends boolean>(value?: T) => {\n type TT = boolean extends T ? \"boolean\" : Custom<T>;\n return value as unknown as TT;\n },\n\n string: <const T extends string = string>(value?: T) => {\n type TT = string extends T ? \"string\" : Custom<T>;\n return value as unknown as TT;\n },\n\n number: <const T extends number = number>(value?: T) => {\n type TT = number extends T ? \"number\" : Custom<T>;\n return value as unknown as TT;\n },\n\n bigint: <const T extends bigint = bigint>(value?: T) => {\n type TT = bigint extends T ? \"bigint\" : Custom<T>;\n return value as unknown as TT;\n },\n\n symbol: <const T extends symbol = symbol>(value?: T) => {\n type TT = symbol extends T ? \"symbol\" : Custom<T>;\n return value as unknown as TT;\n },\n\n never: (): Custom<never> => {\n return undefined as any;\n },\n\n undefined: (): Custom<undefined> => {\n return undefined as any;\n },\n },\n);\n"],"mappings":";;AAGA,MAAa,YAAY,UACM,UAAc,OAC3C;CACE,UAAmC,UAAc;AAE/C,SAAO;;CAGT,SAA0C,UAAc;AAEtD,SAAO;;CAGT,SAA0C,UAAc;AAEtD,SAAO;;CAGT,SAA0C,UAAc;AAEtD,SAAO;;CAGT,SAA0C,UAAc;AAEtD,SAAO;;CAGT,aAA4B;CAI5B,iBAAoC;CAGrC,CACF"}
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  //#region src/helpers/primitiveObject.ts
2
3
  const primitiveObject = require("../utils/expandFn.cjs").expandFn((value) => {
3
4
  return value || {};
@@ -5,6 +6,6 @@ const primitiveObject = require("../utils/expandFn.cjs").expandFn((value) => {
5
6
  return value || {};
6
7
  } });
7
8
  //#endregion
8
- module.exports = primitiveObject;
9
+ exports.primitiveObject = primitiveObject;
9
10
 
10
11
  //# sourceMappingURL=primitiveObject.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitiveObject.cjs","names":["expandFn"],"sources":["../../src/helpers/primitiveObject.ts"],"sourcesContent":["import type {\n NotReadonly,\n PrimitiveObjectMapS,\n PrimitiveObjectT,\n} from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst primitiveObject = expandFn(\n <const T extends PrimitiveObjectT = PrimitiveObjectT>(\n value?: T,\n ): Exclude<NotReadonly<T>, undefined> => {\n return (value || {}) as any;\n },\n {\n map: <const T extends PrimitiveObjectMapS = PrimitiveObjectMapS>(\n value?: T,\n ): Exclude<NotReadonly<T>, undefined> => {\n return (value || {}) as any;\n },\n },\n);\n\nexport default primitiveObject;\n"],"mappings":";AAOA,MAAM,mDAAkBA,UAEpB,UACuC;AACvC,QAAQ,SAAS,EAAE;GAErB,EACE,MACE,UACuC;AACvC,QAAQ,SAAS,EAAE;GAEtB,CACF"}
1
+ {"version":3,"file":"primitiveObject.cjs","names":["expandFn"],"sources":["../../src/helpers/primitiveObject.ts"],"sourcesContent":["import type {\n IntersectionCustom,\n NotReadonly,\n PrimitiveObjectMapS,\n PrimitiveObjectT,\n} from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst primitiveObject = expandFn(\n <\n const T extends\n | PrimitiveObjectT\n | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectT,\n >(\n value?: T,\n ): NotReadonly<T> => {\n return (value || {}) as any;\n },\n {\n map: <\n const T extends\n | PrimitiveObjectMapS\n | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectMapS,\n >(\n value?: T,\n ): NotReadonly<T> => {\n return (value || {}) as any;\n },\n },\n);\n\nexport { primitiveObject };\n"],"mappings":";;AAQA,MAAM,mDAAkBA,UAMpB,UACmB;AACnB,QAAQ,SAAS,EAAE;GAErB,EACE,MAKE,UACmB;AACnB,QAAQ,SAAS,EAAE;GAEtB,CACF"}
@@ -1,5 +1,5 @@
1
- import type { NotReadonly, PrimitiveObjectMapS, PrimitiveObjectT } from "../types";
2
- declare const primitiveObject: import("..").FnBasic<(<const T extends PrimitiveObjectT = PrimitiveObjectT>(value?: T) => Exclude<NotReadonly<T>, undefined>), {
3
- readonly map: <const T extends PrimitiveObjectMapS = PrimitiveObjectMapS>(value?: T) => Exclude<NotReadonly<T>, undefined>;
1
+ import type { IntersectionCustom, NotReadonly, PrimitiveObjectMapS, PrimitiveObjectT } from "../types";
2
+ declare const primitiveObject: import("..").FnBasic<(<const T extends PrimitiveObjectT | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectT>(value?: T) => NotReadonly<T>), {
3
+ readonly map: <const T extends PrimitiveObjectMapS | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectMapS>(value?: T) => NotReadonly<T>;
4
4
  }>;
5
- export default primitiveObject;
5
+ export { primitiveObject };
@@ -6,6 +6,6 @@ const primitiveObject = expandFn((value) => {
6
6
  return value || {};
7
7
  } });
8
8
  //#endregion
9
- export { primitiveObject as default };
9
+ export { primitiveObject };
10
10
 
11
11
  //# sourceMappingURL=primitiveObject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitiveObject.js","names":[],"sources":["../../src/helpers/primitiveObject.ts"],"sourcesContent":["import type {\n NotReadonly,\n PrimitiveObjectMapS,\n PrimitiveObjectT,\n} from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst primitiveObject = expandFn(\n <const T extends PrimitiveObjectT = PrimitiveObjectT>(\n value?: T,\n ): Exclude<NotReadonly<T>, undefined> => {\n return (value || {}) as any;\n },\n {\n map: <const T extends PrimitiveObjectMapS = PrimitiveObjectMapS>(\n value?: T,\n ): Exclude<NotReadonly<T>, undefined> => {\n return (value || {}) as any;\n },\n },\n);\n\nexport default primitiveObject;\n"],"mappings":";;AAOA,MAAM,kBAAkB,UAEpB,UACuC;AACvC,QAAQ,SAAS,EAAE;GAErB,EACE,MACE,UACuC;AACvC,QAAQ,SAAS,EAAE;GAEtB,CACF"}
1
+ {"version":3,"file":"primitiveObject.js","names":[],"sources":["../../src/helpers/primitiveObject.ts"],"sourcesContent":["import type {\n IntersectionCustom,\n NotReadonly,\n PrimitiveObjectMapS,\n PrimitiveObjectT,\n} from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst primitiveObject = expandFn(\n <\n const T extends\n | PrimitiveObjectT\n | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectT,\n >(\n value?: T,\n ): NotReadonly<T> => {\n return (value || {}) as any;\n },\n {\n map: <\n const T extends\n | PrimitiveObjectMapS\n | IntersectionCustom<PrimitiveObjectMapS[]> = PrimitiveObjectMapS,\n >(\n value?: T,\n ): NotReadonly<T> => {\n return (value || {}) as any;\n },\n },\n);\n\nexport { primitiveObject };\n"],"mappings":";;AAQA,MAAM,kBAAkB,UAMpB,UACmB;AACnB,QAAQ,SAAS,EAAE;GAErB,EACE,MAKE,UACmB;AACnB,QAAQ,SAAS,EAAE;GAEtB,CACF"}
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/helpers/readonly.ts
3
+ const readonly = (value) => value;
4
+ //#endregion
5
+ exports.readonly = readonly;
6
+
7
+ //# sourceMappingURL=readonly.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readonly.cjs","names":[],"sources":["../../src/helpers/readonly.ts"],"sourcesContent":["import type { ObjectT } from \"../types\";\n\nexport const readonly = <const T extends ObjectT>(value: T) => value;\n"],"mappings":";;AAEA,MAAa,YAAqC,UAAa"}
@@ -0,0 +1,2 @@
1
+ import type { ObjectT } from "../types";
2
+ export declare const readonly: <const T extends ObjectT>(value: T) => T;
@@ -0,0 +1,6 @@
1
+ //#region src/helpers/readonly.ts
2
+ const readonly = (value) => value;
3
+ //#endregion
4
+ export { readonly };
5
+
6
+ //# sourceMappingURL=readonly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readonly.js","names":[],"sources":["../../src/helpers/readonly.ts"],"sourcesContent":["import type { ObjectT } from \"../types\";\n\nexport const readonly = <const T extends ObjectT>(value: T) => value;\n"],"mappings":";AAEA,MAAa,YAAqC,UAAa"}
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  //#region src/helpers/record.ts
2
3
  const record = (value, ...keys) => {
3
4
  return keys.reduce((acc, key) => {
@@ -6,6 +7,6 @@ const record = (value, ...keys) => {
6
7
  }, {});
7
8
  };
8
9
  //#endregion
9
- module.exports = record;
10
+ exports.record = record;
10
11
 
11
12
  //# sourceMappingURL=record.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.cjs","names":[],"sources":["../../src/helpers/record.ts"],"sourcesContent":["import type { Keys, ObjectT } from \"../types\";\n\nconst record = <const K extends Keys[], V extends ObjectT>(\n value: V,\n ...keys: K\n) => {\n const object = keys.reduce((acc, key) => {\n acc[key] = value;\n return acc;\n }, {} as any);\n\n return object as Record<K[number] extends never ? Keys : K[number], V>;\n};\n\nexport default record;\n"],"mappings":";AAEA,MAAM,UACJ,OACA,GAAG,SACA;AAMH,QALe,KAAK,QAAQ,KAAK,QAAQ;AACvC,MAAI,OAAO;AACX,SAAO;IACN,EAAE,CAAQ"}
1
+ {"version":3,"file":"record.cjs","names":[],"sources":["../../src/helpers/record.ts"],"sourcesContent":["import type { Keys, ObjectT } from \"../types\";\n\nconst record = <const K extends Keys[], V extends ObjectT>(\n value: V,\n ...keys: K\n) => {\n const object = keys.reduce((acc, key) => {\n acc[key] = value;\n return acc;\n }, {} as any);\n\n return object as Record<K[number] extends never ? Keys : K[number], V>;\n};\n\nexport { record };\n"],"mappings":";;AAEA,MAAM,UACJ,OACA,GAAG,SACA;AAMH,QALe,KAAK,QAAQ,KAAK,QAAQ;AACvC,MAAI,OAAO;AACX,SAAO;IACN,EAAE,CAAQ"}
@@ -1,3 +1,3 @@
1
1
  import type { Keys, ObjectT } from "../types";
2
2
  declare const record: <const K extends Keys[], V extends ObjectT>(value: V, ...keys: K) => Record<K[number] extends never ? Keys : K[number], V>;
3
- export default record;
3
+ export { record };
@@ -6,6 +6,6 @@ const record = (value, ...keys) => {
6
6
  }, {});
7
7
  };
8
8
  //#endregion
9
- export { record as default };
9
+ export { record };
10
10
 
11
11
  //# sourceMappingURL=record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","names":[],"sources":["../../src/helpers/record.ts"],"sourcesContent":["import type { Keys, ObjectT } from \"../types\";\n\nconst record = <const K extends Keys[], V extends ObjectT>(\n value: V,\n ...keys: K\n) => {\n const object = keys.reduce((acc, key) => {\n acc[key] = value;\n return acc;\n }, {} as any);\n\n return object as Record<K[number] extends never ? Keys : K[number], V>;\n};\n\nexport default record;\n"],"mappings":";AAEA,MAAM,UACJ,OACA,GAAG,SACA;AAMH,QALe,KAAK,QAAQ,KAAK,QAAQ;AACvC,MAAI,OAAO;AACX,SAAO;IACN,EAAE,CAAQ"}
1
+ {"version":3,"file":"record.js","names":[],"sources":["../../src/helpers/record.ts"],"sourcesContent":["import type { Keys, ObjectT } from \"../types\";\n\nconst record = <const K extends Keys[], V extends ObjectT>(\n value: V,\n ...keys: K\n) => {\n const object = keys.reduce((acc, key) => {\n acc[key] = value;\n return acc;\n }, {} as any);\n\n return object as Record<K[number] extends never ? Keys : K[number], V>;\n};\n\nexport { record };\n"],"mappings":";AAEA,MAAM,UACJ,OACA,GAAG,SACA;AAMH,QALe,KAAK,QAAQ,KAAK,QAAQ;AACvC,MAAI,OAAO;AACX,SAAO;IACN,EAAE,CAAQ"}
@@ -1,9 +1,10 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  const require_constants = require("../constants.cjs");
2
3
  //#region src/helpers/soa.ts
3
4
  const soa = (value) => {
4
5
  return { [require_constants.SOA]: value };
5
6
  };
6
7
  //#endregion
7
- module.exports = soa;
8
+ exports.soa = soa;
8
9
 
9
10
  //# sourceMappingURL=soa.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"soa.cjs","names":["SOA"],"sources":["../../src/helpers/soa.ts"],"sourcesContent":["import { SOA } from \"../constants\";\nimport type { NotReadonly, ObjectT, SoaCustom } from \"../types\";\n\nconst soa = <const T extends ObjectT>(value: T) => {\n type Out = SoaCustom<Extract<NotReadonly<T>, ObjectT>>;\n return { [SOA]: value } as Out;\n};\n\nexport default soa;\n"],"mappings":";;AAGA,MAAM,OAAgC,UAAa;AAEjD,QAAO,GAAGA,kBAAAA,MAAM,OAAO"}
1
+ {"version":3,"file":"soa.cjs","names":["SOA"],"sources":["../../src/helpers/soa.ts"],"sourcesContent":["import { SOA } from \"../constants\";\nimport type { NotReadonly, ObjectT, SoaCustom } from \"../types\";\n\nconst soa = <const T extends ObjectT>(value: T) => {\n return { [SOA]: value } as SoaCustom<NotReadonly<T>>;\n};\n\nexport { soa };\n"],"mappings":";;;AAGA,MAAM,OAAgC,UAAa;AACjD,QAAO,GAAGA,kBAAAA,MAAM,OAAO"}
@@ -1,3 +1,3 @@
1
1
  import type { NotReadonly, ObjectT, SoaCustom } from "../types";
2
- declare const soa: <const T extends ObjectT>(value: T) => SoaCustom<Extract<NotReadonly<T>, ObjectT>>;
3
- export default soa;
2
+ declare const soa: <const T extends ObjectT>(value: T) => SoaCustom<NotReadonly<T>>;
3
+ export { soa };
@@ -4,6 +4,6 @@ const soa = (value) => {
4
4
  return { [SOA]: value };
5
5
  };
6
6
  //#endregion
7
- export { soa as default };
7
+ export { soa };
8
8
 
9
9
  //# sourceMappingURL=soa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"soa.js","names":[],"sources":["../../src/helpers/soa.ts"],"sourcesContent":["import { SOA } from \"../constants\";\nimport type { NotReadonly, ObjectT, SoaCustom } from \"../types\";\n\nconst soa = <const T extends ObjectT>(value: T) => {\n type Out = SoaCustom<Extract<NotReadonly<T>, ObjectT>>;\n return { [SOA]: value } as Out;\n};\n\nexport default soa;\n"],"mappings":";;AAGA,MAAM,OAAgC,UAAa;AAEjD,QAAO,GAAG,MAAM,OAAO"}
1
+ {"version":3,"file":"soa.js","names":[],"sources":["../../src/helpers/soa.ts"],"sourcesContent":["import { SOA } from \"../constants\";\nimport type { NotReadonly, ObjectT, SoaCustom } from \"../types\";\n\nconst soa = <const T extends ObjectT>(value: T) => {\n return { [SOA]: value } as SoaCustom<NotReadonly<T>>;\n};\n\nexport { soa };\n"],"mappings":";;AAGA,MAAM,OAAgC,UAAa;AACjD,QAAO,GAAG,MAAM,OAAO"}
@@ -1,6 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  //#region src/helpers/sv.ts
2
3
  const sv = {};
3
4
  //#endregion
4
- module.exports = sv;
5
+ exports.sv = sv;
5
6
 
6
7
  //# sourceMappingURL=sv.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sv.cjs","names":[],"sources":["../../src/helpers/sv.ts"],"sourcesContent":["import type { Custom, StateValue } from '../types';\n\nconst sv = {} as Custom<StateValue>;\nexport default sv;\n"],"mappings":";AAEA,MAAM,KAAK,EAAE"}
1
+ {"version":3,"file":"sv.cjs","names":[],"sources":["../../src/helpers/sv.ts"],"sourcesContent":["import type { Custom, StateValue } from \"../types\";\nconst sv = {} as Custom<StateValue>;\nexport { sv };\n"],"mappings":";;AACA,MAAM,KAAK,EAAE"}
@@ -1,3 +1,3 @@
1
- import type { Custom, StateValue } from '../types';
1
+ import type { Custom, StateValue } from "../types";
2
2
  declare const sv: Custom<StateValue>;
3
- export default sv;
3
+ export { sv };
package/lib/helpers/sv.js CHANGED
@@ -1,6 +1,6 @@
1
1
  //#region src/helpers/sv.ts
2
2
  const sv = {};
3
3
  //#endregion
4
- export { sv as default };
4
+ export { sv };
5
5
 
6
6
  //# sourceMappingURL=sv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sv.js","names":[],"sources":["../../src/helpers/sv.ts"],"sourcesContent":["import type { Custom, StateValue } from '../types';\n\nconst sv = {} as Custom<StateValue>;\nexport default sv;\n"],"mappings":";AAEA,MAAM,KAAK,EAAE"}
1
+ {"version":3,"file":"sv.js","names":[],"sources":["../../src/helpers/sv.ts"],"sourcesContent":["import type { Custom, StateValue } from \"../types\";\nconst sv = {} as Custom<StateValue>;\nexport { sv };\n"],"mappings":";AACA,MAAM,KAAK,EAAE"}
@@ -1,6 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  //#region src/helpers/tuple.ts
2
3
  const tuple = (...values) => values;
3
4
  //#endregion
4
- module.exports = tuple;
5
+ exports.tuple = tuple;
5
6
 
6
7
  //# sourceMappingURL=tuple.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.cjs","names":[],"sources":["../../src/helpers/tuple.ts"],"sourcesContent":["import type { NotReadonly, ObjectT } from \"../types\";\n\nconst tuple = <const T extends [ObjectT, ...ObjectT[]]>(...values: T) =>\n values as NotReadonly<T>;\n\nexport default tuple;\n"],"mappings":";AAEA,MAAM,SAAkD,GAAG,WACzD"}
1
+ {"version":3,"file":"tuple.cjs","names":[],"sources":["../../src/helpers/tuple.ts"],"sourcesContent":["import type { NotReadonly, ObjectT } from \"../types\";\n\nconst tuple = <const T extends [ObjectT, ...ObjectT[]]>(...values: T) =>\n values as NotReadonly<T>;\n\nexport { tuple };\n"],"mappings":";;AAEA,MAAM,SAAkD,GAAG,WACzD"}
@@ -1,3 +1,3 @@
1
1
  import type { NotReadonly, ObjectT } from "../types";
2
2
  declare const tuple: <const T extends [ObjectT, ...ObjectT[]]>(...values: T) => NotReadonly<T>;
3
- export default tuple;
3
+ export { tuple };
@@ -1,6 +1,6 @@
1
1
  //#region src/helpers/tuple.ts
2
2
  const tuple = (...values) => values;
3
3
  //#endregion
4
- export { tuple as default };
4
+ export { tuple };
5
5
 
6
6
  //# sourceMappingURL=tuple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.js","names":[],"sources":["../../src/helpers/tuple.ts"],"sourcesContent":["import type { NotReadonly, ObjectT } from \"../types\";\n\nconst tuple = <const T extends [ObjectT, ...ObjectT[]]>(...values: T) =>\n values as NotReadonly<T>;\n\nexport default tuple;\n"],"mappings":";AAEA,MAAM,SAAkD,GAAG,WACzD"}
1
+ {"version":3,"file":"tuple.js","names":[],"sources":["../../src/helpers/tuple.ts"],"sourcesContent":["import type { NotReadonly, ObjectT } from \"../types\";\n\nconst tuple = <const T extends [ObjectT, ...ObjectT[]]>(...values: T) =>\n values as NotReadonly<T>;\n\nexport { tuple };\n"],"mappings":";AAEA,MAAM,SAAkD,GAAG,WACzD"}
@@ -1,10 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
1
2
  const require_utils_expandFn = require("../utils/expandFn.cjs");
2
3
  //#region src/helpers/union.ts
3
- const union = (...values) => {
4
+ const _union = (...values) => {
4
5
  return values[0];
5
6
  };
6
- const fn = require_utils_expandFn.expandFn(union, { discriminated: (_key, ...values) => union(...values) });
7
+ const union = require_utils_expandFn.expandFn(_union, { discriminated: (_key, ...values) => _union(...values) });
7
8
  //#endregion
8
- module.exports = fn;
9
+ exports.union = union;
9
10
 
10
11
  //# sourceMappingURL=union.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"union.cjs","names":["expandFn"],"sources":["../../src/helpers/union.ts"],"sourcesContent":["import type { Keys, ObjectMapS, ObjectT } from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst union = <T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => {\n return values[0] as T[number];\n};\n\ntype Discriminated<K extends Keys> = ObjectMapS & Record<K, ObjectT>;\n\nconst fn = expandFn(union, {\n discriminated: <\n const K extends Keys,\n T extends [Discriminated<K>, Discriminated<K>, ...Discriminated<K>[]],\n >(\n _key: K,\n ...values: T\n ) => union(...values),\n});\n\nexport default fn;\n"],"mappings":";;AAGA,MAAM,SAAqD,GAAG,WAAc;AAC1E,QAAO,OAAO;;AAKhB,MAAM,KAAKA,uBAAAA,SAAS,OAAO,EACzB,gBAIE,MACA,GAAG,WACA,MAAM,GAAG,OAAO,EACtB,CAAC"}
1
+ {"version":3,"file":"union.cjs","names":["expandFn"],"sources":["../../src/helpers/union.ts"],"sourcesContent":["import type { Keys, ObjectMapS, ObjectT } from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst _union = <T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => {\n return values[0] as T[number];\n};\n\ntype Discriminated<K extends Keys> = ObjectMapS & Record<K, ObjectT>;\n\nconst union = expandFn(_union, {\n discriminated: <\n const K extends Keys,\n T extends [Discriminated<K>, Discriminated<K>, ...Discriminated<K>[]],\n >(\n _key: K,\n ...values: T\n ) => _union(...values),\n});\n\nexport { union };\n"],"mappings":";;;AAGA,MAAM,UAAsD,GAAG,WAAc;AAC3E,QAAO,OAAO;;AAKhB,MAAM,QAAQA,uBAAAA,SAAS,QAAQ,EAC7B,gBAIE,MACA,GAAG,WACA,OAAO,GAAG,OAAO,EACvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Keys, ObjectMapS, ObjectT } from "../types";
2
2
  type Discriminated<K extends Keys> = ObjectMapS & Record<K, ObjectT>;
3
- declare const fn: import("..").FnBasic<(<T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => T[number]), {
3
+ declare const union: import("..").FnBasic<(<T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => T[number]), {
4
4
  readonly discriminated: <const K extends Keys, T extends [Discriminated<K>, Discriminated<K>, ...Discriminated<K>[]]>(_key: K, ...values: T) => T[number];
5
5
  }>;
6
- export default fn;
6
+ export { union };
@@ -1,10 +1,10 @@
1
1
  import { expandFn } from "../utils/expandFn.js";
2
2
  //#region src/helpers/union.ts
3
- const union = (...values) => {
3
+ const _union = (...values) => {
4
4
  return values[0];
5
5
  };
6
- const fn = expandFn(union, { discriminated: (_key, ...values) => union(...values) });
6
+ const union = expandFn(_union, { discriminated: (_key, ...values) => _union(...values) });
7
7
  //#endregion
8
- export { fn as default };
8
+ export { union };
9
9
 
10
10
  //# sourceMappingURL=union.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"union.js","names":[],"sources":["../../src/helpers/union.ts"],"sourcesContent":["import type { Keys, ObjectMapS, ObjectT } from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst union = <T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => {\n return values[0] as T[number];\n};\n\ntype Discriminated<K extends Keys> = ObjectMapS & Record<K, ObjectT>;\n\nconst fn = expandFn(union, {\n discriminated: <\n const K extends Keys,\n T extends [Discriminated<K>, Discriminated<K>, ...Discriminated<K>[]],\n >(\n _key: K,\n ...values: T\n ) => union(...values),\n});\n\nexport default fn;\n"],"mappings":";;AAGA,MAAM,SAAqD,GAAG,WAAc;AAC1E,QAAO,OAAO;;AAKhB,MAAM,KAAK,SAAS,OAAO,EACzB,gBAIE,MACA,GAAG,WACA,MAAM,GAAG,OAAO,EACtB,CAAC"}
1
+ {"version":3,"file":"union.js","names":[],"sources":["../../src/helpers/union.ts"],"sourcesContent":["import type { Keys, ObjectMapS, ObjectT } from \"../types\";\nimport { expandFn } from \"../utils/expandFn\";\n\nconst _union = <T extends [ObjectT, ObjectT, ...ObjectT[]]>(...values: T) => {\n return values[0] as T[number];\n};\n\ntype Discriminated<K extends Keys> = ObjectMapS & Record<K, ObjectT>;\n\nconst union = expandFn(_union, {\n discriminated: <\n const K extends Keys,\n T extends [Discriminated<K>, Discriminated<K>, ...Discriminated<K>[]],\n >(\n _key: K,\n ...values: T\n ) => _union(...values),\n});\n\nexport { union };\n"],"mappings":";;AAGA,MAAM,UAAsD,GAAG,WAAc;AAC3E,QAAO,OAAO;;AAKhB,MAAM,QAAQ,SAAS,QAAQ,EAC7B,gBAIE,MACA,GAAG,WACA,OAAO,GAAG,OAAO,EACvB,CAAC"}
package/lib/index.cjs CHANGED
@@ -1,20 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_types = require("./types.cjs");
3
3
  const require_constants = require("./constants.cjs");
4
- const require_helpers_any = require("./helpers/any.cjs");
5
- const require_helpers_array = require("./helpers/array.cjs");
6
- const require_helpers_custom = require("./helpers/custom.cjs");
7
- const require_helpers_intersection = require("./helpers/intersection.cjs");
8
- const require_helpers_litterals = require("./helpers/litterals.cjs");
9
- const require_helpers_optional = require("./helpers/optional.cjs");
10
- const require_helpers_partial = require("./helpers/partial.cjs");
11
- const require_helpers_record = require("./helpers/record.cjs");
12
- const require_helpers_soa = require("./helpers/soa.cjs");
13
- const require_helpers_sv = require("./helpers/sv.cjs");
14
- const require_helpers_tuple = require("./helpers/tuple.cjs");
15
- const require_helpers_union = require("./helpers/union.cjs");
16
- const require_helpers_primitiveObject = require("./helpers/primitiveObject.cjs");
17
- require("./helpers/index.cjs");
4
+ const require_helpers_index = require("./helpers/index.cjs");
18
5
  const require_type = require("./type.cjs");
19
6
  exports.ARRAY = require_constants.ARRAY;
20
7
  exports.CUSTOM = require_constants.CUSTOM;
@@ -24,17 +11,10 @@ exports.PARTIAL = require_constants.PARTIAL;
24
11
  exports.PRIMITIVES = require_constants.PRIMITIVES;
25
12
  exports.PRIMITIVE_OBJECTS = require_constants.PRIMITIVE_OBJECTS;
26
13
  exports.SOA = require_constants.SOA;
27
- exports.any = require_helpers_any;
28
- exports.array = require_helpers_array;
29
- exports.custom = require_helpers_custom;
30
- exports.intersection = require_helpers_intersection;
31
- exports.litterals = require_helpers_litterals;
32
- exports.optional = require_helpers_optional;
33
- exports.partial = require_helpers_partial;
34
- exports.primitiveObject = require_helpers_primitiveObject;
35
- exports.record = require_helpers_record;
36
- exports.soa = require_helpers_soa;
37
- exports.sv = require_helpers_sv;
38
- exports.tuple = require_helpers_tuple;
14
+ Object.defineProperty(exports, "helpers", {
15
+ enumerable: true,
16
+ get: function() {
17
+ return require_helpers_index.helpers_exports;
18
+ }
19
+ });
39
20
  exports.type = require_type.type;
40
- exports.union = require_helpers_union;
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './constants';
2
- export * from './helpers';
3
- export * from './type';
4
- export * from './types';
1
+ export * from "./constants";
2
+ export * as helpers from "./helpers";
3
+ export * from "./type";
4
+ export * from "./types";
package/lib/index.js CHANGED
@@ -1,18 +1,5 @@
1
1
  import { OptionalHelperClass } from "./types.js";
2
2
  import { ARRAY, CUSTOM, OPTIONAL, PARTIAL, PRIMITIVES, PRIMITIVE_OBJECTS, SOA } from "./constants.js";
3
- import any from "./helpers/any.js";
4
- import array from "./helpers/array.js";
5
- import custom from "./helpers/custom.js";
6
- import intersection from "./helpers/intersection.js";
7
- import litterals from "./helpers/litterals.js";
8
- import optional from "./helpers/optional.js";
9
- import partial from "./helpers/partial.js";
10
- import record from "./helpers/record.js";
11
- import soa from "./helpers/soa.js";
12
- import sv from "./helpers/sv.js";
13
- import tuple from "./helpers/tuple.js";
14
- import fn from "./helpers/union.js";
15
- import primitiveObject from "./helpers/primitiveObject.js";
16
- import "./helpers/index.js";
3
+ import { helpers_exports } from "./helpers/index.js";
17
4
  import { type } from "./type.js";
18
- export { ARRAY, CUSTOM, OPTIONAL, OptionalHelperClass, PARTIAL, PRIMITIVES, PRIMITIVE_OBJECTS, SOA, any, array, custom, intersection, litterals, optional, partial, primitiveObject, record, soa, sv, tuple, type, fn as union };
5
+ export { ARRAY, CUSTOM, OPTIONAL, OptionalHelperClass, PARTIAL, PRIMITIVES, PRIMITIVE_OBJECTS, SOA, helpers_exports as helpers, type };
@@ -1,5 +1,5 @@
1
- import type { any, array, custom, intersection, litterals, optional, partial, primitiveObject, record, soa, sv, tuple, union } from "./helpers";
2
1
  import type { inferT, ObjectT } from "./types";
2
+ import type { any, array, custom, intersection, litterals, optional, partial, primitive, primitiveObject, readonly, record, soa, sv, tuple, union } from "./helpers";
3
3
  export type Helpers = {
4
4
  any: typeof any;
5
5
  custom: typeof custom;
@@ -14,5 +14,7 @@ export type Helpers = {
14
14
  array: typeof array;
15
15
  tuple: typeof tuple;
16
16
  primitiveObject: typeof primitiveObject;
17
+ primitive: typeof primitive;
18
+ readonly: typeof readonly;
17
19
  };
18
20
  export type Transform_F = <T extends ObjectT = ObjectT>(option?: ((helpers: Helpers) => T) | T) => inferT<T>;
package/lib/types.d.ts CHANGED
@@ -24,11 +24,11 @@ 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;
28
- export type PrimitiveS = (typeof PRIMITIVES)[number];
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;
30
- export type Types = PrimitiveS | (typeof PRIMITIVE_OBJECTS)[number];
31
- export type TransformTypes<T extends Types> = T extends PrimitiveS ? TransformPrimitiveS<T> : T extends "date" ? Date : T extends "any" ? any : object;
27
+ export type Primiive = string | number | boolean | bigint | null | undefined | symbol | never;
28
+ export type PrimitiveT = (typeof PRIMITIVES)[number];
29
+ type TransformPrimitiveS<T extends PrimitiveT> = 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 : Primiive;
30
+ export type Types = PrimitiveT | (typeof PRIMITIVE_OBJECTS)[number];
31
+ export type TransformTypes<T extends Types> = T extends PrimitiveT ? TransformPrimitiveS<T> : T extends "date" ? Date : T extends "any" ? any : T extends "unknown" ? unknown : object;
32
32
  export type Custom<T = any> = {
33
33
  [CUSTOM]: T;
34
34
  };
@@ -52,8 +52,12 @@ export declare class OptionalHelperClass {
52
52
  readonly __NO_TYPE__ = "@bemedev/addons/NO_TYPE";
53
53
  private constructor();
54
54
  }
55
+ export type IntersectionCustom<T extends ObjectMapS[]> = T extends [
56
+ infer First extends ObjectMapS,
57
+ ...infer Rest extends ObjectMapS[]
58
+ ] ? First & IntersectionCustom<Rest> : unknown;
55
59
  type _ObjectT = __ObjectT | Optional | ArrayCustom;
56
- export type PrimitiveObjectT = Types | ArrayCustom<Types> | Optional<Types> | PrimitiveObjectMapS | (PrimitiveObjectMapS & PartialCustom);
60
+ export type PrimitiveObjectT = SoRa<Types | ArrayCustom<Types> | Optional<Types> | PrimitiveObjectMapS | (PrimitiveObjectMapS & PartialCustom)>;
57
61
  export interface PrimitiveObjectMapS {
58
62
  [key: Keys]: PrimitiveObjectT;
59
63
  }
@@ -75,7 +79,7 @@ type ReduceTupleU<T extends AnyArray> = T extends [
75
79
  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
80
  [K in keyof T]: __TransformPrimitiveObject<T[K]>;
77
81
  };
78
- type HasUndefined<T> = OptionalHelperClass extends T ? true : false;
82
+ type HasUndefined<T> = unknown extends T ? false : OptionalHelperClass extends T ? true : false;
79
83
  type UndefinyObject<T extends object> = {
80
84
  [K in keyof T as HasUndefined<T[K]> extends true ? never : K]: Undefiny<T[K]>;
81
85
  } & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bemedev/typings",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Typings by variables",
5
5
  "author": {
6
6
  "email": "bri_lvi@icloud.com",