@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.
- package/dist/index.cjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +2 -0
- package/dist/toDataParser/buildContext.cjs +63 -0
- package/dist/toDataParser/buildContext.d.ts +27 -0
- package/dist/toDataParser/buildContext.mjs +61 -0
- package/dist/toDataParser/checkerTransformer/create.cjs +11 -0
- package/dist/toDataParser/checkerTransformer/create.d.ts +20 -0
- package/dist/toDataParser/checkerTransformer/create.mjs +9 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/index.cjs +9 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/index.d.ts +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/index.mjs +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/max.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/max.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/max.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/min.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/min.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/array/min.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/index.cjs +9 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/index.d.ts +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/index.mjs +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/max.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/max.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/max.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/min.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/min.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/bigint/min.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/index.cjs +60 -0
- package/dist/toDataParser/checkerTransformer/defaults/index.d.ts +4 -0
- package/dist/toDataParser/checkerTransformer/defaults/index.mjs +47 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/index.cjs +11 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/index.d.ts +3 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/index.mjs +3 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/int.cjs +12 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/int.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/int.mjs +10 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/max.cjs +19 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/max.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/max.mjs +17 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/min.cjs +19 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/min.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/number/min.mjs +17 -0
- package/dist/toDataParser/checkerTransformer/defaults/refine.cjs +32 -0
- package/dist/toDataParser/checkerTransformer/defaults/refine.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/refine.mjs +30 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/email.cjs +12 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/email.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/email.mjs +10 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/index.cjs +17 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/index.d.ts +6 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/index.mjs +6 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/max.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/max.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/max.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/min.cjs +15 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/min.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/min.mjs +13 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/regex.cjs +16 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/regex.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/regex.mjs +14 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/url.cjs +22 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/url.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/url.mjs +20 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/uuid.cjs +12 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/uuid.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/string/uuid.mjs +10 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/index.cjs +9 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/index.d.ts +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/index.mjs +2 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/max.cjs +19 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/max.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/max.mjs +17 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/min.cjs +19 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/min.d.ts +1 -0
- package/dist/toDataParser/checkerTransformer/defaults/time/min.mjs +17 -0
- package/dist/toDataParser/checkerTransformer/index.cjs +12 -0
- package/dist/toDataParser/checkerTransformer/index.d.ts +3 -0
- package/dist/toDataParser/checkerTransformer/index.mjs +3 -0
- package/dist/toDataParser/checkerTransformer/transformer.cjs +47 -0
- package/dist/toDataParser/checkerTransformer/transformer.d.ts +10 -0
- package/dist/toDataParser/checkerTransformer/transformer.mjs +44 -0
- package/dist/toDataParser/dataParserTransformer/create.cjs +11 -0
- package/dist/toDataParser/dataParserTransformer/create.d.ts +34 -0
- package/dist/toDataParser/dataParserTransformer/create.mjs +9 -0
- package/dist/toDataParser/dataParserTransformer/createIdentifier.cjs +9 -0
- package/dist/toDataParser/dataParserTransformer/createIdentifier.d.ts +1 -0
- package/dist/toDataParser/dataParserTransformer/createIdentifier.mjs +7 -0
- package/dist/toDataParser/dataParserTransformer/defaults/array.cjs +22 -0
- package/dist/toDataParser/dataParserTransformer/defaults/array.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/array.mjs +20 -0
- package/dist/toDataParser/dataParserTransformer/defaults/bigint.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/bigint.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/bigint.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/boolean.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/boolean.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/boolean.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/date.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/date.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/date.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/empty.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/empty.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/empty.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/file.cjs +44 -0
- package/dist/toDataParser/dataParserTransformer/defaults/file.d.ts +1 -0
- package/dist/toDataParser/dataParserTransformer/defaults/file.mjs +42 -0
- package/dist/toDataParser/dataParserTransformer/defaults/index.cjs +76 -0
- package/dist/toDataParser/dataParserTransformer/defaults/index.d.ts +24 -0
- package/dist/toDataParser/dataParserTransformer/defaults/index.mjs +51 -0
- package/dist/toDataParser/dataParserTransformer/defaults/lazy.cjs +22 -0
- package/dist/toDataParser/dataParserTransformer/defaults/lazy.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/lazy.mjs +20 -0
- package/dist/toDataParser/dataParserTransformer/defaults/literal.cjs +28 -0
- package/dist/toDataParser/dataParserTransformer/defaults/literal.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/literal.mjs +26 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nil.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nil.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nil.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nullable.cjs +22 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nullable.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/nullable.mjs +20 -0
- package/dist/toDataParser/dataParserTransformer/defaults/number.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/number.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/number.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/object.cjs +22 -0
- package/dist/toDataParser/dataParserTransformer/defaults/object.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/object.mjs +20 -0
- package/dist/toDataParser/dataParserTransformer/defaults/optional.cjs +22 -0
- package/dist/toDataParser/dataParserTransformer/defaults/optional.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/optional.mjs +20 -0
- package/dist/toDataParser/dataParserTransformer/defaults/pipe.cjs +27 -0
- package/dist/toDataParser/dataParserTransformer/defaults/pipe.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/pipe.mjs +25 -0
- package/dist/toDataParser/dataParserTransformer/defaults/record.cjs +27 -0
- package/dist/toDataParser/dataParserTransformer/defaults/record.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/record.mjs +25 -0
- package/dist/toDataParser/dataParserTransformer/defaults/recover.cjs +8 -0
- package/dist/toDataParser/dataParserTransformer/defaults/recover.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/recover.mjs +6 -0
- package/dist/toDataParser/dataParserTransformer/defaults/string.cjs +15 -0
- package/dist/toDataParser/dataParserTransformer/defaults/string.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/string.mjs +13 -0
- package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.cjs +41 -0
- package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/templateLiteral.mjs +39 -0
- package/dist/toDataParser/dataParserTransformer/defaults/time.cjs +19 -0
- package/dist/toDataParser/dataParserTransformer/defaults/time.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/time.mjs +17 -0
- package/dist/toDataParser/dataParserTransformer/defaults/transform.cjs +40 -0
- package/dist/toDataParser/dataParserTransformer/defaults/transform.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/transform.mjs +38 -0
- package/dist/toDataParser/dataParserTransformer/defaults/tuple.cjs +36 -0
- package/dist/toDataParser/dataParserTransformer/defaults/tuple.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/tuple.mjs +34 -0
- package/dist/toDataParser/dataParserTransformer/defaults/union.cjs +28 -0
- package/dist/toDataParser/dataParserTransformer/defaults/union.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/union.mjs +26 -0
- package/dist/toDataParser/dataParserTransformer/defaults/unknown.cjs +15 -0
- package/dist/toDataParser/dataParserTransformer/defaults/unknown.d.ts +2 -0
- package/dist/toDataParser/dataParserTransformer/defaults/unknown.mjs +13 -0
- package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.cjs +36 -0
- package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.d.ts +14 -0
- package/dist/toDataParser/dataParserTransformer/getDefinitionDataParser.mjs +34 -0
- package/dist/toDataParser/dataParserTransformer/hook.cjs +2 -0
- package/dist/toDataParser/dataParserTransformer/hook.d.ts +15 -0
- package/dist/toDataParser/dataParserTransformer/hook.mjs +1 -0
- package/dist/toDataParser/dataParserTransformer/index.cjs +16 -0
- package/dist/toDataParser/dataParserTransformer/index.d.ts +6 -0
- package/dist/toDataParser/dataParserTransformer/index.mjs +6 -0
- package/dist/toDataParser/dataParserTransformer/transformer.cjs +129 -0
- package/dist/toDataParser/dataParserTransformer/transformer.d.ts +23 -0
- package/dist/toDataParser/dataParserTransformer/transformer.mjs +127 -0
- package/dist/toDataParser/index.cjs +103 -0
- package/dist/toDataParser/index.d.ts +7 -0
- package/dist/toDataParser/index.mjs +49 -0
- package/dist/toDataParser/kind.cjs +9 -0
- package/dist/toDataParser/kind.d.ts +6 -0
- package/dist/toDataParser/kind.mjs +7 -0
- package/dist/toDataParser/override.cjs +29 -0
- package/dist/toDataParser/override.d.ts +20 -0
- package/dist/toDataParser/override.mjs +27 -0
- package/dist/toDataParser/printer.cjs +23 -0
- package/dist/toDataParser/printer.d.ts +2 -0
- package/dist/toDataParser/printer.mjs +21 -0
- package/dist/toDataParser/render.cjs +50 -0
- package/dist/toDataParser/render.d.ts +19 -0
- package/dist/toDataParser/render.mjs +46 -0
- package/dist/toTypescript/buildContext.cjs +37 -0
- package/dist/toTypescript/buildContext.d.ts +15 -0
- package/dist/toTypescript/buildContext.mjs +35 -0
- package/dist/toTypescript/index.cjs +10 -0
- package/dist/toTypescript/index.d.ts +2 -0
- package/dist/toTypescript/index.mjs +5 -0
- package/dist/toTypescript/printer.cjs +17 -0
- package/dist/toTypescript/printer.d.ts +2 -0
- package/dist/toTypescript/printer.mjs +15 -0
- package/dist/toTypescript/render.cjs +8 -26
- package/dist/toTypescript/render.d.ts +5 -12
- package/dist/toTypescript/render.mjs +9 -27
- package/dist/toTypescript/transformer/addImport.cjs +21 -0
- package/dist/toTypescript/transformer/addImport.d.ts +2 -0
- package/dist/toTypescript/transformer/addImport.mjs +19 -0
- package/dist/toTypescript/transformer/create.d.ts +7 -3
- package/dist/toTypescript/transformer/createIdentifier.cjs +9 -0
- package/dist/toTypescript/transformer/createIdentifier.d.ts +1 -0
- package/dist/toTypescript/transformer/createIdentifier.mjs +7 -0
- package/dist/toTypescript/transformer/createImportDeclaration.cjs +17 -0
- package/dist/toTypescript/transformer/createImportDeclaration.d.ts +3 -0
- package/dist/toTypescript/transformer/createImportDeclaration.mjs +15 -0
- package/dist/toTypescript/transformer/hook.d.ts +2 -2
- package/dist/toTypescript/transformer/index.cjs +6 -0
- package/dist/toTypescript/transformer/index.d.ts +3 -0
- package/dist/toTypescript/transformer/index.mjs +3 -0
- package/dist/toTypescript/transformer/transformer.cjs +8 -9
- package/dist/toTypescript/transformer/transformer.d.ts +2 -2
- package/dist/toTypescript/transformer/transformer.mjs +8 -9
- package/package.json +7 -2
- package/dist/toTypescript/transformer/importTypesTransformer.cjs +0 -10
- package/dist/toTypescript/transformer/importTypesTransformer.d.ts +0 -2
- 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 @@
|
|
|
1
|
+
export declare function createIdentifier(identifier: string): string;
|
|
@@ -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,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,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,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,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,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,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;
|