@duplojs/data-parser-tools 0.3.0 → 0.4.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 (219) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.mjs +2 -0
  4. package/dist/toDataParser/buildContext.cjs +63 -0
  5. package/dist/toDataParser/buildContext.d.ts +27 -0
  6. package/dist/toDataParser/buildContext.mjs +61 -0
  7. package/dist/toDataParser/checkerTransformer/create.cjs +11 -0
  8. package/dist/toDataParser/checkerTransformer/create.d.ts +20 -0
  9. package/dist/toDataParser/checkerTransformer/create.mjs +9 -0
  10. package/dist/toDataParser/checkerTransformer/defaults/array/index.cjs +9 -0
  11. package/dist/toDataParser/checkerTransformer/defaults/array/index.d.ts +2 -0
  12. package/dist/toDataParser/checkerTransformer/defaults/array/index.mjs +2 -0
  13. package/dist/toDataParser/checkerTransformer/defaults/array/max.cjs +15 -0
  14. package/dist/toDataParser/checkerTransformer/defaults/array/max.d.ts +1 -0
  15. package/dist/toDataParser/checkerTransformer/defaults/array/max.mjs +13 -0
  16. package/dist/toDataParser/checkerTransformer/defaults/array/min.cjs +15 -0
  17. package/dist/toDataParser/checkerTransformer/defaults/array/min.d.ts +1 -0
  18. package/dist/toDataParser/checkerTransformer/defaults/array/min.mjs +13 -0
  19. package/dist/toDataParser/checkerTransformer/defaults/bigint/index.cjs +9 -0
  20. package/dist/toDataParser/checkerTransformer/defaults/bigint/index.d.ts +2 -0
  21. package/dist/toDataParser/checkerTransformer/defaults/bigint/index.mjs +2 -0
  22. package/dist/toDataParser/checkerTransformer/defaults/bigint/max.cjs +15 -0
  23. package/dist/toDataParser/checkerTransformer/defaults/bigint/max.d.ts +1 -0
  24. package/dist/toDataParser/checkerTransformer/defaults/bigint/max.mjs +13 -0
  25. package/dist/toDataParser/checkerTransformer/defaults/bigint/min.cjs +15 -0
  26. package/dist/toDataParser/checkerTransformer/defaults/bigint/min.d.ts +1 -0
  27. package/dist/toDataParser/checkerTransformer/defaults/bigint/min.mjs +13 -0
  28. package/dist/toDataParser/checkerTransformer/defaults/index.cjs +60 -0
  29. package/dist/toDataParser/checkerTransformer/defaults/index.d.ts +4 -0
  30. package/dist/toDataParser/checkerTransformer/defaults/index.mjs +47 -0
  31. package/dist/toDataParser/checkerTransformer/defaults/number/index.cjs +11 -0
  32. package/dist/toDataParser/checkerTransformer/defaults/number/index.d.ts +3 -0
  33. package/dist/toDataParser/checkerTransformer/defaults/number/index.mjs +3 -0
  34. package/dist/toDataParser/checkerTransformer/defaults/number/int.cjs +12 -0
  35. package/dist/toDataParser/checkerTransformer/defaults/number/int.d.ts +1 -0
  36. package/dist/toDataParser/checkerTransformer/defaults/number/int.mjs +10 -0
  37. package/dist/toDataParser/checkerTransformer/defaults/number/max.cjs +19 -0
  38. package/dist/toDataParser/checkerTransformer/defaults/number/max.d.ts +1 -0
  39. package/dist/toDataParser/checkerTransformer/defaults/number/max.mjs +17 -0
  40. package/dist/toDataParser/checkerTransformer/defaults/number/min.cjs +19 -0
  41. package/dist/toDataParser/checkerTransformer/defaults/number/min.d.ts +1 -0
  42. package/dist/toDataParser/checkerTransformer/defaults/number/min.mjs +17 -0
  43. package/dist/toDataParser/checkerTransformer/defaults/refine.cjs +32 -0
  44. package/dist/toDataParser/checkerTransformer/defaults/refine.d.ts +1 -0
  45. package/dist/toDataParser/checkerTransformer/defaults/refine.mjs +30 -0
  46. package/dist/toDataParser/checkerTransformer/defaults/string/email.cjs +12 -0
  47. package/dist/toDataParser/checkerTransformer/defaults/string/email.d.ts +1 -0
  48. package/dist/toDataParser/checkerTransformer/defaults/string/email.mjs +10 -0
  49. package/dist/toDataParser/checkerTransformer/defaults/string/index.cjs +17 -0
  50. package/dist/toDataParser/checkerTransformer/defaults/string/index.d.ts +6 -0
  51. package/dist/toDataParser/checkerTransformer/defaults/string/index.mjs +6 -0
  52. package/dist/toDataParser/checkerTransformer/defaults/string/max.cjs +15 -0
  53. package/dist/toDataParser/checkerTransformer/defaults/string/max.d.ts +1 -0
  54. package/dist/toDataParser/checkerTransformer/defaults/string/max.mjs +13 -0
  55. package/dist/toDataParser/checkerTransformer/defaults/string/min.cjs +15 -0
  56. package/dist/toDataParser/checkerTransformer/defaults/string/min.d.ts +1 -0
  57. package/dist/toDataParser/checkerTransformer/defaults/string/min.mjs +13 -0
  58. package/dist/toDataParser/checkerTransformer/defaults/string/regex.cjs +16 -0
  59. package/dist/toDataParser/checkerTransformer/defaults/string/regex.d.ts +1 -0
  60. package/dist/toDataParser/checkerTransformer/defaults/string/regex.mjs +14 -0
  61. package/dist/toDataParser/checkerTransformer/defaults/string/url.cjs +22 -0
  62. package/dist/toDataParser/checkerTransformer/defaults/string/url.d.ts +1 -0
  63. package/dist/toDataParser/checkerTransformer/defaults/string/url.mjs +20 -0
  64. package/dist/toDataParser/checkerTransformer/defaults/string/uuid.cjs +12 -0
  65. package/dist/toDataParser/checkerTransformer/defaults/string/uuid.d.ts +1 -0
  66. package/dist/toDataParser/checkerTransformer/defaults/string/uuid.mjs +10 -0
  67. package/dist/toDataParser/checkerTransformer/defaults/time/index.cjs +9 -0
  68. package/dist/toDataParser/checkerTransformer/defaults/time/index.d.ts +2 -0
  69. package/dist/toDataParser/checkerTransformer/defaults/time/index.mjs +2 -0
  70. package/dist/toDataParser/checkerTransformer/defaults/time/max.cjs +19 -0
  71. package/dist/toDataParser/checkerTransformer/defaults/time/max.d.ts +1 -0
  72. package/dist/toDataParser/checkerTransformer/defaults/time/max.mjs +17 -0
  73. package/dist/toDataParser/checkerTransformer/defaults/time/min.cjs +19 -0
  74. package/dist/toDataParser/checkerTransformer/defaults/time/min.d.ts +1 -0
  75. package/dist/toDataParser/checkerTransformer/defaults/time/min.mjs +17 -0
  76. package/dist/toDataParser/checkerTransformer/index.cjs +12 -0
  77. package/dist/toDataParser/checkerTransformer/index.d.ts +3 -0
  78. package/dist/toDataParser/checkerTransformer/index.mjs +3 -0
  79. package/dist/toDataParser/checkerTransformer/transformer.cjs +47 -0
  80. package/dist/toDataParser/checkerTransformer/transformer.d.ts +10 -0
  81. package/dist/toDataParser/checkerTransformer/transformer.mjs +44 -0
  82. package/dist/toDataParser/dataParserTransformer/create.cjs +11 -0
  83. package/dist/toDataParser/dataParserTransformer/create.d.ts +34 -0
  84. package/dist/toDataParser/dataParserTransformer/create.mjs +9 -0
  85. package/dist/toDataParser/dataParserTransformer/createIdentifier.cjs +9 -0
  86. package/dist/toDataParser/dataParserTransformer/createIdentifier.d.ts +1 -0
  87. package/dist/toDataParser/dataParserTransformer/createIdentifier.mjs +7 -0
  88. package/dist/toDataParser/dataParserTransformer/defaults/array.cjs +22 -0
  89. package/dist/toDataParser/dataParserTransformer/defaults/array.d.ts +2 -0
  90. package/dist/toDataParser/dataParserTransformer/defaults/array.mjs +20 -0
  91. package/dist/toDataParser/dataParserTransformer/defaults/bigint.cjs +19 -0
  92. package/dist/toDataParser/dataParserTransformer/defaults/bigint.d.ts +2 -0
  93. package/dist/toDataParser/dataParserTransformer/defaults/bigint.mjs +17 -0
  94. package/dist/toDataParser/dataParserTransformer/defaults/boolean.cjs +19 -0
  95. package/dist/toDataParser/dataParserTransformer/defaults/boolean.d.ts +2 -0
  96. package/dist/toDataParser/dataParserTransformer/defaults/boolean.mjs +17 -0
  97. package/dist/toDataParser/dataParserTransformer/defaults/date.cjs +19 -0
  98. package/dist/toDataParser/dataParserTransformer/defaults/date.d.ts +2 -0
  99. package/dist/toDataParser/dataParserTransformer/defaults/date.mjs +17 -0
  100. package/dist/toDataParser/dataParserTransformer/defaults/empty.cjs +19 -0
  101. package/dist/toDataParser/dataParserTransformer/defaults/empty.d.ts +2 -0
  102. package/dist/toDataParser/dataParserTransformer/defaults/empty.mjs +17 -0
  103. package/dist/toDataParser/dataParserTransformer/defaults/file.cjs +44 -0
  104. package/dist/toDataParser/dataParserTransformer/defaults/file.d.ts +1 -0
  105. package/dist/toDataParser/dataParserTransformer/defaults/file.mjs +42 -0
  106. package/dist/toDataParser/dataParserTransformer/defaults/index.cjs +76 -0
  107. package/dist/toDataParser/dataParserTransformer/defaults/index.d.ts +24 -0
  108. package/dist/toDataParser/dataParserTransformer/defaults/index.mjs +51 -0
  109. package/dist/toDataParser/dataParserTransformer/defaults/lazy.cjs +22 -0
  110. package/dist/toDataParser/dataParserTransformer/defaults/lazy.d.ts +2 -0
  111. package/dist/toDataParser/dataParserTransformer/defaults/lazy.mjs +20 -0
  112. package/dist/toDataParser/dataParserTransformer/defaults/literal.cjs +28 -0
  113. package/dist/toDataParser/dataParserTransformer/defaults/literal.d.ts +2 -0
  114. package/dist/toDataParser/dataParserTransformer/defaults/literal.mjs +26 -0
  115. package/dist/toDataParser/dataParserTransformer/defaults/nil.cjs +19 -0
  116. package/dist/toDataParser/dataParserTransformer/defaults/nil.d.ts +2 -0
  117. package/dist/toDataParser/dataParserTransformer/defaults/nil.mjs +17 -0
  118. package/dist/toDataParser/dataParserTransformer/defaults/nullable.cjs +22 -0
  119. package/dist/toDataParser/dataParserTransformer/defaults/nullable.d.ts +2 -0
  120. package/dist/toDataParser/dataParserTransformer/defaults/nullable.mjs +20 -0
  121. package/dist/toDataParser/dataParserTransformer/defaults/number.cjs +19 -0
  122. package/dist/toDataParser/dataParserTransformer/defaults/number.d.ts +2 -0
  123. package/dist/toDataParser/dataParserTransformer/defaults/number.mjs +17 -0
  124. package/dist/toDataParser/dataParserTransformer/defaults/object.cjs +22 -0
  125. package/dist/toDataParser/dataParserTransformer/defaults/object.d.ts +2 -0
  126. package/dist/toDataParser/dataParserTransformer/defaults/object.mjs +20 -0
  127. package/dist/toDataParser/dataParserTransformer/defaults/optional.cjs +22 -0
  128. package/dist/toDataParser/dataParserTransformer/defaults/optional.d.ts +2 -0
  129. package/dist/toDataParser/dataParserTransformer/defaults/optional.mjs +20 -0
  130. package/dist/toDataParser/dataParserTransformer/defaults/pipe.cjs +27 -0
  131. package/dist/toDataParser/dataParserTransformer/defaults/pipe.d.ts +2 -0
  132. package/dist/toDataParser/dataParserTransformer/defaults/pipe.mjs +25 -0
  133. package/dist/toDataParser/dataParserTransformer/defaults/record.cjs +27 -0
  134. package/dist/toDataParser/dataParserTransformer/defaults/record.d.ts +2 -0
  135. package/dist/toDataParser/dataParserTransformer/defaults/record.mjs +25 -0
  136. package/dist/toDataParser/dataParserTransformer/defaults/recover.cjs +8 -0
  137. package/dist/toDataParser/dataParserTransformer/defaults/recover.d.ts +2 -0
  138. package/dist/toDataParser/dataParserTransformer/defaults/recover.mjs +6 -0
  139. package/dist/toDataParser/dataParserTransformer/defaults/string.cjs +15 -0
  140. package/dist/toDataParser/dataParserTransformer/defaults/string.d.ts +2 -0
  141. package/dist/toDataParser/dataParserTransformer/defaults/string.mjs +13 -0
  142. package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.cjs +41 -0
  143. package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.d.ts +2 -0
  144. package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.mjs +39 -0
  145. package/dist/toDataParser/dataParserTransformer/defaults/time.cjs +19 -0
  146. package/dist/toDataParser/dataParserTransformer/defaults/time.d.ts +2 -0
  147. package/dist/toDataParser/dataParserTransformer/defaults/time.mjs +17 -0
  148. package/dist/toDataParser/dataParserTransformer/defaults/transform.cjs +40 -0
  149. package/dist/toDataParser/dataParserTransformer/defaults/transform.d.ts +2 -0
  150. package/dist/toDataParser/dataParserTransformer/defaults/transform.mjs +38 -0
  151. package/dist/toDataParser/dataParserTransformer/defaults/tuple.cjs +36 -0
  152. package/dist/toDataParser/dataParserTransformer/defaults/tuple.d.ts +2 -0
  153. package/dist/toDataParser/dataParserTransformer/defaults/tuple.mjs +34 -0
  154. package/dist/toDataParser/dataParserTransformer/defaults/union.cjs +28 -0
  155. package/dist/toDataParser/dataParserTransformer/defaults/union.d.ts +2 -0
  156. package/dist/toDataParser/dataParserTransformer/defaults/union.mjs +26 -0
  157. package/dist/toDataParser/dataParserTransformer/defaults/unknown.cjs +15 -0
  158. package/dist/toDataParser/dataParserTransformer/defaults/unknown.d.ts +2 -0
  159. package/dist/toDataParser/dataParserTransformer/defaults/unknown.mjs +13 -0
  160. package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.cjs +36 -0
  161. package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.d.ts +14 -0
  162. package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.mjs +34 -0
  163. package/dist/toDataParser/dataParserTransformer/hook.cjs +2 -0
  164. package/dist/toDataParser/dataParserTransformer/hook.d.ts +15 -0
  165. package/dist/toDataParser/dataParserTransformer/hook.mjs +1 -0
  166. package/dist/toDataParser/dataParserTransformer/index.cjs +16 -0
  167. package/dist/toDataParser/dataParserTransformer/index.d.ts +6 -0
  168. package/dist/toDataParser/dataParserTransformer/index.mjs +6 -0
  169. package/dist/toDataParser/dataParserTransformer/transformer.cjs +129 -0
  170. package/dist/toDataParser/dataParserTransformer/transformer.d.ts +23 -0
  171. package/dist/toDataParser/dataParserTransformer/transformer.mjs +127 -0
  172. package/dist/toDataParser/index.cjs +103 -0
  173. package/dist/toDataParser/index.d.ts +7 -0
  174. package/dist/toDataParser/index.mjs +49 -0
  175. package/dist/toDataParser/kind.cjs +9 -0
  176. package/dist/toDataParser/kind.d.ts +6 -0
  177. package/dist/toDataParser/kind.mjs +7 -0
  178. package/dist/toDataParser/override.cjs +29 -0
  179. package/dist/toDataParser/override.d.ts +20 -0
  180. package/dist/toDataParser/override.mjs +27 -0
  181. package/dist/toDataParser/printer.cjs +23 -0
  182. package/dist/toDataParser/printer.d.ts +2 -0
  183. package/dist/toDataParser/printer.mjs +21 -0
  184. package/dist/toDataParser/render.cjs +50 -0
  185. package/dist/toDataParser/render.d.ts +19 -0
  186. package/dist/toDataParser/render.mjs +46 -0
  187. package/dist/toTypescript/buildContext.cjs +37 -0
  188. package/dist/toTypescript/buildContext.d.ts +15 -0
  189. package/dist/toTypescript/buildContext.mjs +35 -0
  190. package/dist/toTypescript/index.cjs +10 -0
  191. package/dist/toTypescript/index.d.ts +2 -0
  192. package/dist/toTypescript/index.mjs +5 -0
  193. package/dist/toTypescript/printer.cjs +17 -0
  194. package/dist/toTypescript/printer.d.ts +2 -0
  195. package/dist/toTypescript/printer.mjs +15 -0
  196. package/dist/toTypescript/render.cjs +8 -26
  197. package/dist/toTypescript/render.d.ts +5 -12
  198. package/dist/toTypescript/render.mjs +9 -27
  199. package/dist/toTypescript/transformer/addImport.cjs +21 -0
  200. package/dist/toTypescript/transformer/addImport.d.ts +2 -0
  201. package/dist/toTypescript/transformer/addImport.mjs +19 -0
  202. package/dist/toTypescript/transformer/create.d.ts +7 -3
  203. package/dist/toTypescript/transformer/createIdentifier.cjs +9 -0
  204. package/dist/toTypescript/transformer/createIdentifier.d.ts +1 -0
  205. package/dist/toTypescript/transformer/createIdentifier.mjs +7 -0
  206. package/dist/toTypescript/transformer/createImportDeclaration.cjs +17 -0
  207. package/dist/toTypescript/transformer/createImportDeclaration.d.ts +3 -0
  208. package/dist/toTypescript/transformer/createImportDeclaration.mjs +15 -0
  209. package/dist/toTypescript/transformer/hook.d.ts +2 -2
  210. package/dist/toTypescript/transformer/index.cjs +6 -0
  211. package/dist/toTypescript/transformer/index.d.ts +3 -0
  212. package/dist/toTypescript/transformer/index.mjs +3 -0
  213. package/dist/toTypescript/transformer/transformer.cjs +8 -9
  214. package/dist/toTypescript/transformer/transformer.d.ts +2 -2
  215. package/dist/toTypescript/transformer/transformer.mjs +8 -9
  216. package/package.json +7 -2
  217. package/dist/toTypescript/transformer/importTypesTransformer.cjs +0 -10
  218. package/dist/toTypescript/transformer/importTypesTransformer.d.ts +0 -2
  219. package/dist/toTypescript/transformer/importTypesTransformer.mjs +0 -8
@@ -0,0 +1,34 @@
1
+ import { type DP, E } from "@duplojs/utils";
2
+ import type * as TST from "../../toTypescript";
3
+ import type { CallExpression, Identifier, ObjectLiteralExpression, PropertyAssignment } from "typescript";
4
+ import type { CheckerTransformerBuildErrorEither, CheckerTransformerCheckerNotSupportedEither } from "../checkerTransformer";
5
+ export type TransformerSuccessEither = E.Right<"buildSuccess", CallExpression | Identifier>;
6
+ export type DataParserNotSupportedEither = E.Left<"dataParserNotSupport", DP.DataParser>;
7
+ export type DataParserErrorEither = E.Left<"buildDataParserError", DP.DataParser>;
8
+ export type ToTypescriptDataParserNotSupportedEither = E.Left<"toTypescriptDataParserNotSupport", DP.DataParser>;
9
+ export type ToTypescriptDataParserErrorEither = E.Left<"toTypescriptBuildDataParserError", DP.DataParser>;
10
+ export type DataParserGetDefinitionErrorEither = E.Left<"buildDataParserGetDefinitionError", {
11
+ dataParser: DP.DataParser;
12
+ error: CheckerTransformerCheckerNotSupportedEither | CheckerTransformerBuildErrorEither;
13
+ }>;
14
+ export type DependenciesContext = Set<DP.DataParser>;
15
+ export interface MapContextValue {
16
+ readonly identifier: Identifier;
17
+ readonly expression: CallExpression | Identifier;
18
+ readonly typeIdentifier: Identifier | null;
19
+ readonly dependencies: DependenciesContext;
20
+ }
21
+ export type MapContext = Map<DP.DataParsers, MapContextValue>;
22
+ export type MaybeTransformerEither = TransformerSuccessEither | DataParserNotSupportedEither | DataParserErrorEither | DataParserGetDefinitionErrorEither | ToTypescriptDataParserNotSupportedEither | ToTypescriptDataParserErrorEither;
23
+ export interface TransformerParams {
24
+ readonly dependencyIdentifier: Identifier;
25
+ readonly context: MapContext;
26
+ readonly importContext: TST.MapImportContext;
27
+ transformer(dataParser: DP.DataParser): MaybeTransformerEither;
28
+ success(result: CallExpression | Identifier): TransformerSuccessEither;
29
+ buildError(): DataParserErrorEither;
30
+ addImport(path: string, typeName: string, type?: "default" | "namespace" | "direct"): void;
31
+ getDefinition(customProperties?: readonly PropertyAssignment[]): readonly [ObjectLiteralExpression] | readonly [] | DataParserGetDefinitionErrorEither;
32
+ }
33
+ export type TransformerBuildFunction<GenericDataParser extends DP.DataParsers = DP.DataParsers> = (dataParser: GenericDataParser, params: TransformerParams) => MaybeTransformerEither;
34
+ export declare function createTransformer<GenericDataParser extends DP.DataParsers>(support: (dataParser: DP.DataParsers) => dataParser is GenericDataParser, builder: TransformerBuildFunction<GenericDataParser>): (dataParser: DP.DataParsers, params: TransformerParams) => MaybeTransformerEither;
@@ -0,0 +1,9 @@
1
+ import { E } from '@duplojs/utils';
2
+
3
+ function createTransformer(support, builder) {
4
+ return (dataParser, params) => support(dataParser)
5
+ ? builder(dataParser, params)
6
+ : E.left("dataParserNotSupport", dataParser);
7
+ }
8
+
9
+ export { createTransformer };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+
5
+ function createIdentifier(identifier) {
6
+ return `${utils.S.uncapitalize(identifier)}DataParser`;
7
+ }
8
+
9
+ exports.createIdentifier = createIdentifier;
@@ -0,0 +1 @@
1
+ export declare function createIdentifier(identifier: string): string;
@@ -0,0 +1,7 @@
1
+ import { S } from '@duplojs/utils';
2
+
3
+ function createIdentifier(identifier) {
4
+ return `${S.uncapitalize(identifier)}DataParser`;
5
+ }
6
+
7
+ export { createIdentifier };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const arrayTransformer = create.createTransformer(utils.DP.arrayKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, transformer, }) => {
8
+ const element = transformer(dataParser.definition.element);
9
+ if (utils.E.isLeft(element)) {
10
+ return element;
11
+ }
12
+ const definition = getDefinition();
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("array")), undefined, [
17
+ utils.unwrap(element),
18
+ ...definition,
19
+ ]), success);
20
+ });
21
+
22
+ exports.arrayTransformer = arrayTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const arrayTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,20 @@
1
+ import { DP, E, pipe, unwrap } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+
5
+ const arrayTransformer = createTransformer(DP.arrayKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, transformer, }) => {
6
+ const element = transformer(dataParser.definition.element);
7
+ if (E.isLeft(element)) {
8
+ return element;
9
+ }
10
+ const definition = getDefinition();
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("array")), undefined, [
15
+ unwrap(element),
16
+ ...definition,
17
+ ]), success);
18
+ });
19
+
20
+ export { arrayTransformer };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const bigIntTransformer = create.createTransformer(utils.DP.bigIntKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
8
+ const definition = getDefinition(dataParser.definition.coerce
9
+ ? [
10
+ typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("coerce"), typescript.factory.createTrue()),
11
+ ]
12
+ : undefined);
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("bigint")), undefined, definition), success);
17
+ });
18
+
19
+ exports.bigIntTransformer = bigIntTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const bigIntTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,17 @@
1
+ import { DP, E, pipe } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+
5
+ const bigIntTransformer = createTransformer(DP.bigIntKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
6
+ const definition = getDefinition(dataParser.definition.coerce
7
+ ? [
8
+ factory.createPropertyAssignment(factory.createIdentifier("coerce"), factory.createTrue()),
9
+ ]
10
+ : undefined);
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("bigint")), undefined, definition), success);
15
+ });
16
+
17
+ export { bigIntTransformer };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const booleanTransformer = create.createTransformer(utils.DP.booleanKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
8
+ const definition = getDefinition(dataParser.definition.coerce
9
+ ? [
10
+ typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("coerce"), typescript.factory.createTrue()),
11
+ ]
12
+ : undefined);
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("boolean")), undefined, definition), success);
17
+ });
18
+
19
+ exports.booleanTransformer = booleanTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const booleanTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,17 @@
1
+ import { DP, E, pipe } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+
5
+ const booleanTransformer = createTransformer(DP.booleanKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
6
+ const definition = getDefinition(dataParser.definition.coerce
7
+ ? [
8
+ factory.createPropertyAssignment(factory.createIdentifier("coerce"), factory.createTrue()),
9
+ ]
10
+ : undefined);
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("boolean")), undefined, definition), success);
15
+ });
16
+
17
+ export { booleanTransformer };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const dateTransformer = create.createTransformer(utils.DP.dateKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
8
+ const definition = getDefinition(dataParser.definition.coerce
9
+ ? [
10
+ typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("coerce"), typescript.factory.createTrue()),
11
+ ]
12
+ : undefined);
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("date")), undefined, definition), success);
17
+ });
18
+
19
+ exports.dateTransformer = dateTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const dateTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,17 @@
1
+ import { DP, E, pipe } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+
5
+ const dateTransformer = createTransformer(DP.dateKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
6
+ const definition = getDefinition(dataParser.definition.coerce
7
+ ? [
8
+ factory.createPropertyAssignment(factory.createIdentifier("coerce"), factory.createTrue()),
9
+ ]
10
+ : undefined);
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("date")), undefined, definition), success);
15
+ });
16
+
17
+ export { dateTransformer };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const emptyTransformer = create.createTransformer(utils.DP.emptyKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
8
+ const definition = getDefinition(dataParser.definition.coerce
9
+ ? [
10
+ typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("coerce"), typescript.factory.createTrue()),
11
+ ]
12
+ : undefined);
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("empty")), undefined, definition), success);
17
+ });
18
+
19
+ exports.emptyTransformer = emptyTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const emptyTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,17 @@
1
+ import { DP, E, pipe } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+
5
+ const emptyTransformer = createTransformer(DP.emptyKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
6
+ const definition = getDefinition(dataParser.definition.coerce
7
+ ? [
8
+ factory.createPropertyAssignment(factory.createIdentifier("coerce"), factory.createTrue()),
9
+ ]
10
+ : undefined);
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("empty")), undefined, definition), success);
15
+ });
16
+
17
+ export { emptyTransformer };
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+ var serverUtils = require('@duplojs/server-utils');
7
+
8
+ const fileTransformer = create.createTransformer(serverUtils.SDP.fileKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, addImport, }) => {
9
+ const definition = getDefinition();
10
+ if (utils.E.isLeft(definition)) {
11
+ return definition;
12
+ }
13
+ const dataParserFileParams = [];
14
+ if (dataParser.definition.coerce) {
15
+ dataParserFileParams.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("coerce"), typescript.factory.createTrue()));
16
+ }
17
+ if (dataParser.definition.checkExist) {
18
+ dataParserFileParams.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("checkExist"), typescript.factory.createTrue()));
19
+ }
20
+ if (dataParser.definition.maxSize) {
21
+ dataParserFileParams.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("maxSize"), typescript.factory.createNumericLiteral(dataParser.definition.maxSize)));
22
+ }
23
+ if (dataParser.definition.minSize) {
24
+ dataParserFileParams.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("minSize"), typescript.factory.createNumericLiteral(dataParser.definition.minSize)));
25
+ }
26
+ if (dataParser.definition.mimeType) {
27
+ dataParserFileParams.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("mimeType"), typescript.factory.createRegularExpressionLiteral(dataParser.definition.mimeType.toString())));
28
+ }
29
+ const namespace = dependencyIdentifier.text === "DP"
30
+ ? utils.justExec(() => {
31
+ addImport("@duplojs/server-utils/dataParser", "SDP", "namespace");
32
+ return "SDP";
33
+ })
34
+ : utils.justExec(() => {
35
+ addImport("@duplojs/server-utils/dataParserExtended", "SDPE", "namespace");
36
+ return "SDPE";
37
+ });
38
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier(namespace), typescript.factory.createIdentifier("file")), undefined, [
39
+ typescript.factory.createObjectLiteralExpression(dataParserFileParams, utils.A.minElements(dataParserFileParams, 2)),
40
+ ...definition,
41
+ ]), success);
42
+ });
43
+
44
+ exports.fileTransformer = fileTransformer;
@@ -0,0 +1 @@
1
+ export declare const fileTransformer: (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,42 @@
1
+ import { E, justExec, pipe, A } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory } from 'typescript';
4
+ import { SDP } from '@duplojs/server-utils';
5
+
6
+ const fileTransformer = createTransformer(SDP.fileKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, addImport, }) => {
7
+ const definition = getDefinition();
8
+ if (E.isLeft(definition)) {
9
+ return definition;
10
+ }
11
+ const dataParserFileParams = [];
12
+ if (dataParser.definition.coerce) {
13
+ dataParserFileParams.push(factory.createPropertyAssignment(factory.createIdentifier("coerce"), factory.createTrue()));
14
+ }
15
+ if (dataParser.definition.checkExist) {
16
+ dataParserFileParams.push(factory.createPropertyAssignment(factory.createIdentifier("checkExist"), factory.createTrue()));
17
+ }
18
+ if (dataParser.definition.maxSize) {
19
+ dataParserFileParams.push(factory.createPropertyAssignment(factory.createIdentifier("maxSize"), factory.createNumericLiteral(dataParser.definition.maxSize)));
20
+ }
21
+ if (dataParser.definition.minSize) {
22
+ dataParserFileParams.push(factory.createPropertyAssignment(factory.createIdentifier("minSize"), factory.createNumericLiteral(dataParser.definition.minSize)));
23
+ }
24
+ if (dataParser.definition.mimeType) {
25
+ dataParserFileParams.push(factory.createPropertyAssignment(factory.createIdentifier("mimeType"), factory.createRegularExpressionLiteral(dataParser.definition.mimeType.toString())));
26
+ }
27
+ const namespace = dependencyIdentifier.text === "DP"
28
+ ? justExec(() => {
29
+ addImport("@duplojs/server-utils/dataParser", "SDP", "namespace");
30
+ return "SDP";
31
+ })
32
+ : justExec(() => {
33
+ addImport("@duplojs/server-utils/dataParserExtended", "SDPE", "namespace");
34
+ return "SDPE";
35
+ });
36
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier(namespace), factory.createIdentifier("file")), undefined, [
37
+ factory.createObjectLiteralExpression(dataParserFileParams, A.minElements(dataParserFileParams, 2)),
38
+ ...definition,
39
+ ]), success);
40
+ });
41
+
42
+ export { fileTransformer };
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ var array = require('./array.cjs');
4
+ var bigint = require('./bigint.cjs');
5
+ var boolean = require('./boolean.cjs');
6
+ var date = require('./date.cjs');
7
+ var empty = require('./empty.cjs');
8
+ var file = require('./file.cjs');
9
+ var lazy = require('./lazy.cjs');
10
+ var literal = require('./literal.cjs');
11
+ var nil = require('./nil.cjs');
12
+ var nullable = require('./nullable.cjs');
13
+ var number = require('./number.cjs');
14
+ var object = require('./object.cjs');
15
+ var optional = require('./optional.cjs');
16
+ var pipe = require('./pipe.cjs');
17
+ var record = require('./record.cjs');
18
+ var recover = require('./recover.cjs');
19
+ var string = require('./string.cjs');
20
+ var templateLiteral = require('./templateLiteral.cjs');
21
+ var time = require('./time.cjs');
22
+ var transform = require('./transform.cjs');
23
+ var tuple = require('./tuple.cjs');
24
+ var union = require('./union.cjs');
25
+ var unknown = require('./unknown.cjs');
26
+
27
+ const defaultTransformers = [
28
+ array.arrayTransformer,
29
+ bigint.bigIntTransformer,
30
+ boolean.booleanTransformer,
31
+ date.dateTransformer,
32
+ empty.emptyTransformer,
33
+ file.fileTransformer,
34
+ lazy.lazyTransformer,
35
+ literal.literalTransformer,
36
+ nil.nilTransformer,
37
+ nullable.nullableTransformer,
38
+ number.numberTransformer,
39
+ object.objectTransformer,
40
+ optional.optionalTransformer,
41
+ pipe.pipeTransformer,
42
+ record.recordTransformer,
43
+ recover.recoverTransformer,
44
+ string.stringTransformer,
45
+ templateLiteral.templateLiteralTransformer,
46
+ time.timeTransformer,
47
+ transform.transformTransformer,
48
+ tuple.tupleTransformer,
49
+ union.unionTransformer,
50
+ unknown.unknownTransformer,
51
+ ];
52
+
53
+ exports.arrayTransformer = array.arrayTransformer;
54
+ exports.bigIntTransformer = bigint.bigIntTransformer;
55
+ exports.booleanTransformer = boolean.booleanTransformer;
56
+ exports.dateTransformer = date.dateTransformer;
57
+ exports.emptyTransformer = empty.emptyTransformer;
58
+ exports.fileTransformer = file.fileTransformer;
59
+ exports.lazyTransformer = lazy.lazyTransformer;
60
+ exports.literalTransformer = literal.literalTransformer;
61
+ exports.nilTransformer = nil.nilTransformer;
62
+ exports.nullableTransformer = nullable.nullableTransformer;
63
+ exports.numberTransformer = number.numberTransformer;
64
+ exports.objectTransformer = object.objectTransformer;
65
+ exports.optionalTransformer = optional.optionalTransformer;
66
+ exports.pipeTransformer = pipe.pipeTransformer;
67
+ exports.recordTransformer = record.recordTransformer;
68
+ exports.recoverTransformer = recover.recoverTransformer;
69
+ exports.stringTransformer = string.stringTransformer;
70
+ exports.templateLiteralTransformer = templateLiteral.templateLiteralTransformer;
71
+ exports.timeTransformer = time.timeTransformer;
72
+ exports.transformTransformer = transform.transformTransformer;
73
+ exports.tupleTransformer = tuple.tupleTransformer;
74
+ exports.unionTransformer = union.unionTransformer;
75
+ exports.unknownTransformer = unknown.unknownTransformer;
76
+ exports.defaultTransformers = defaultTransformers;
@@ -0,0 +1,24 @@
1
+ export * from "./array";
2
+ export * from "./bigint";
3
+ export * from "./boolean";
4
+ export * from "./date";
5
+ export * from "./empty";
6
+ export * from "./file";
7
+ export * from "./lazy";
8
+ export * from "./literal";
9
+ export * from "./nil";
10
+ export * from "./nullable";
11
+ export * from "./number";
12
+ export * from "./object";
13
+ export * from "./optional";
14
+ export * from "./pipe";
15
+ export * from "./record";
16
+ export * from "./recover";
17
+ export * from "./string";
18
+ export * from "./templateLiteral";
19
+ export * from "./time";
20
+ export * from "./transform";
21
+ export * from "./tuple";
22
+ export * from "./union";
23
+ export * from "./unknown";
24
+ export declare const defaultTransformers: readonly [(dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither, (dataParser: import("@duplojs/utils/dataParser").DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither];
@@ -0,0 +1,51 @@
1
+ import { arrayTransformer } from './array.mjs';
2
+ import { bigIntTransformer } from './bigint.mjs';
3
+ import { booleanTransformer } from './boolean.mjs';
4
+ import { dateTransformer } from './date.mjs';
5
+ import { emptyTransformer } from './empty.mjs';
6
+ import { fileTransformer } from './file.mjs';
7
+ import { lazyTransformer } from './lazy.mjs';
8
+ import { literalTransformer } from './literal.mjs';
9
+ import { nilTransformer } from './nil.mjs';
10
+ import { nullableTransformer } from './nullable.mjs';
11
+ import { numberTransformer } from './number.mjs';
12
+ import { objectTransformer } from './object.mjs';
13
+ import { optionalTransformer } from './optional.mjs';
14
+ import { pipeTransformer } from './pipe.mjs';
15
+ import { recordTransformer } from './record.mjs';
16
+ import { recoverTransformer } from './recover.mjs';
17
+ import { stringTransformer } from './string.mjs';
18
+ import { templateLiteralTransformer } from './templateLiteral.mjs';
19
+ import { timeTransformer } from './time.mjs';
20
+ import { transformTransformer } from './transform.mjs';
21
+ import { tupleTransformer } from './tuple.mjs';
22
+ import { unionTransformer } from './union.mjs';
23
+ import { unknownTransformer } from './unknown.mjs';
24
+
25
+ const defaultTransformers = [
26
+ arrayTransformer,
27
+ bigIntTransformer,
28
+ booleanTransformer,
29
+ dateTransformer,
30
+ emptyTransformer,
31
+ fileTransformer,
32
+ lazyTransformer,
33
+ literalTransformer,
34
+ nilTransformer,
35
+ nullableTransformer,
36
+ numberTransformer,
37
+ objectTransformer,
38
+ optionalTransformer,
39
+ pipeTransformer,
40
+ recordTransformer,
41
+ recoverTransformer,
42
+ stringTransformer,
43
+ templateLiteralTransformer,
44
+ timeTransformer,
45
+ transformTransformer,
46
+ tupleTransformer,
47
+ unionTransformer,
48
+ unknownTransformer,
49
+ ];
50
+
51
+ export { arrayTransformer, bigIntTransformer, booleanTransformer, dateTransformer, defaultTransformers, emptyTransformer, fileTransformer, lazyTransformer, literalTransformer, nilTransformer, nullableTransformer, numberTransformer, objectTransformer, optionalTransformer, pipeTransformer, recordTransformer, recoverTransformer, stringTransformer, templateLiteralTransformer, timeTransformer, transformTransformer, tupleTransformer, unionTransformer, unknownTransformer };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const lazyTransformer = create.createTransformer(utils.DP.lazyKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, transformer, }) => {
8
+ const getter = transformer(dataParser.definition.getter.value);
9
+ if (utils.E.isLeft(getter)) {
10
+ return getter;
11
+ }
12
+ const definition = getDefinition();
13
+ if (utils.E.isLeft(definition)) {
14
+ return definition;
15
+ }
16
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("lazy")), undefined, [
17
+ typescript.factory.createArrowFunction(undefined, undefined, [], undefined, typescript.factory.createToken(typescript.SyntaxKind.EqualsGreaterThanToken), utils.unwrap(getter)),
18
+ ...definition,
19
+ ]), success);
20
+ });
21
+
22
+ exports.lazyTransformer = lazyTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const lazyTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;
@@ -0,0 +1,20 @@
1
+ import { DP, E, pipe, unwrap } from '@duplojs/utils';
2
+ import { createTransformer } from '../create.mjs';
3
+ import { factory, SyntaxKind } from 'typescript';
4
+
5
+ const lazyTransformer = createTransformer(DP.lazyKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, transformer, }) => {
6
+ const getter = transformer(dataParser.definition.getter.value);
7
+ if (E.isLeft(getter)) {
8
+ return getter;
9
+ }
10
+ const definition = getDefinition();
11
+ if (E.isLeft(definition)) {
12
+ return definition;
13
+ }
14
+ return pipe(factory.createCallExpression(factory.createPropertyAccessExpression(dependencyIdentifier, factory.createIdentifier("lazy")), undefined, [
15
+ factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(SyntaxKind.EqualsGreaterThanToken), unwrap(getter)),
16
+ ...definition,
17
+ ]), success);
18
+ });
19
+
20
+ export { lazyTransformer };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var create = require('../create.cjs');
5
+ var typescript = require('typescript');
6
+
7
+ const literalTransformer = create.createTransformer(utils.DP.literalKind.has, (dataParser, { success, dependencyIdentifier, getDefinition, }) => {
8
+ const definition = getDefinition();
9
+ if (utils.E.isLeft(definition)) {
10
+ return definition;
11
+ }
12
+ const values = utils.A.map(dataParser.definition.value, (element) => utils.P.match(element)
13
+ .when(utils.isType("string"), typescript.factory.createStringLiteral)
14
+ .when(utils.isType("bigint"), (value) => typescript.factory.createBigIntLiteral(`${value.toString()}n`))
15
+ .when(utils.isType("number"), utils.pipeCall(typescript.factory.createNumericLiteral))
16
+ .when(utils.isType("boolean"), (value) => value
17
+ ? typescript.factory.createTrue()
18
+ : typescript.factory.createFalse())
19
+ .when(utils.isType("null"), () => typescript.factory.createNull())
20
+ .when(utils.isType("undefined"), () => typescript.factory.createIdentifier("undefined"))
21
+ .exhaustive());
22
+ return utils.pipe(typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(dependencyIdentifier, typescript.factory.createIdentifier("literal")), undefined, [
23
+ typescript.factory.createArrayLiteralExpression(values, utils.A.minElements(values, 4)),
24
+ ...definition,
25
+ ]), success);
26
+ });
27
+
28
+ exports.literalTransformer = literalTransformer;
@@ -0,0 +1,2 @@
1
+ import { DP } from "@duplojs/utils";
2
+ export declare const literalTransformer: (dataParser: DP.DataParsers, params: import("..").TransformerParams) => import("..").MaybeTransformerEither;