@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
package/dist/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./toTypescript/index.cjs');
|
|
4
4
|
var index$1 = require('./toJsonSchema/index.cjs');
|
|
5
|
+
var index$2 = require('./toDataParser/index.cjs');
|
|
5
6
|
require('./utils/index.cjs');
|
|
6
7
|
var getRecursiveDataParser = require('./utils/getRecursiveDataParser.cjs');
|
|
7
8
|
|
|
@@ -9,4 +10,5 @@ var getRecursiveDataParser = require('./utils/getRecursiveDataParser.cjs');
|
|
|
9
10
|
|
|
10
11
|
exports.DataParserToTypescript = index;
|
|
11
12
|
exports.DataParserToJsonSchema = index$1;
|
|
13
|
+
exports.DataParserToDataParser = index$2;
|
|
12
14
|
exports.getRecursiveDataParser = getRecursiveDataParser.getRecursiveDataParser;
|
package/dist/index.d.ts
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -2,5 +2,7 @@ import * as index from './toTypescript/index.mjs';
|
|
|
2
2
|
export { index as DataParserToTypescript };
|
|
3
3
|
import * as index$1 from './toJsonSchema/index.mjs';
|
|
4
4
|
export { index$1 as DataParserToJsonSchema };
|
|
5
|
+
import * as index$2 from './toDataParser/index.mjs';
|
|
6
|
+
export { index$2 as DataParserToDataParser };
|
|
5
7
|
import './utils/index.mjs';
|
|
6
8
|
export { getRecursiveDataParser } from './utils/getRecursiveDataParser.mjs';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
require('./dataParserTransformer/index.cjs');
|
|
5
|
+
require('../utils/index.cjs');
|
|
6
|
+
var typescript = require('typescript');
|
|
7
|
+
var transformer = require('./dataParserTransformer/transformer.cjs');
|
|
8
|
+
var getRecursiveDataParser = require('../utils/getRecursiveDataParser.cjs');
|
|
9
|
+
var createIdentifier = require('./dataParserTransformer/createIdentifier.cjs');
|
|
10
|
+
|
|
11
|
+
function buildContext(schema, params) {
|
|
12
|
+
const context = params.context ?? new Map();
|
|
13
|
+
const typescriptContext = params.typescriptContext ?? new Map();
|
|
14
|
+
const importContext = params.importContext ?? new Map();
|
|
15
|
+
const dependenciesContext = new Set();
|
|
16
|
+
const importMode = params.importMode ?? "lite";
|
|
17
|
+
importContext.set("@duplojs/utils/dataParser", {
|
|
18
|
+
namespace: ["DP"],
|
|
19
|
+
});
|
|
20
|
+
if (importMode === "extended") {
|
|
21
|
+
importContext.set("@duplojs/utils/dataParserExtended", {
|
|
22
|
+
namespace: ["DPE"],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const result = transformer.transformer(schema, {
|
|
26
|
+
...params,
|
|
27
|
+
context,
|
|
28
|
+
typescriptContext,
|
|
29
|
+
importContext: importContext,
|
|
30
|
+
hooks: params.hooks ?? [],
|
|
31
|
+
recursiveDataParsers: getRecursiveDataParser.getRecursiveDataParser(schema),
|
|
32
|
+
dependencyIdentifier: typescript.factory.createIdentifier(importMode === "extended" ? "DPE" : "DP"),
|
|
33
|
+
dependenciesContext,
|
|
34
|
+
});
|
|
35
|
+
if (utils.E.isLeft(result)) {
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
if (!schema.definition.identifier) {
|
|
39
|
+
context.set(utils.DP.empty(), {
|
|
40
|
+
identifier: typescript.factory.createIdentifier(createIdentifier.createIdentifier(params.identifier)),
|
|
41
|
+
expression: utils.unwrap(result),
|
|
42
|
+
typeIdentifier: null,
|
|
43
|
+
dependencies: dependenciesContext,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
else if (schema.definition.identifier !== params.identifier) {
|
|
47
|
+
dependenciesContext.add(schema);
|
|
48
|
+
context.set(utils.DP.empty(), {
|
|
49
|
+
identifier: typescript.factory.createIdentifier(createIdentifier.createIdentifier(params.identifier)),
|
|
50
|
+
expression: typescript.factory.createIdentifier(createIdentifier.createIdentifier(schema.definition.identifier)),
|
|
51
|
+
typeIdentifier: null,
|
|
52
|
+
dependencies: dependenciesContext,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return utils.E.success({
|
|
56
|
+
context,
|
|
57
|
+
importContext: importContext,
|
|
58
|
+
typescriptContext,
|
|
59
|
+
importMode,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
exports.buildContext = buildContext;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DP, E } from "@duplojs/utils";
|
|
2
|
+
import { type createTransformer, type MapContext, type TransformerHook, type DataParserErrorEither, type DataParserNotSupportedEither, type DataParserGetDefinitionErrorEither, type ToTypescriptDataParserErrorEither, type ToTypescriptDataParserNotSupportedEither } from "./dataParserTransformer";
|
|
3
|
+
import type * as TST from "../toTypescript";
|
|
4
|
+
import { type createCheckerTransformer } from "./checkerTransformer";
|
|
5
|
+
export type ImportMode = "lite" | "extended";
|
|
6
|
+
export interface BuildedContext {
|
|
7
|
+
readonly context: MapContext;
|
|
8
|
+
readonly typescriptContext: TST.MapContext;
|
|
9
|
+
readonly importContext: TST.MapImportContext;
|
|
10
|
+
readonly importMode: ImportMode;
|
|
11
|
+
}
|
|
12
|
+
export interface BuildContextParams {
|
|
13
|
+
readonly identifier: string;
|
|
14
|
+
readonly dataParserTransformers: readonly ReturnType<typeof createTransformer>[];
|
|
15
|
+
readonly checkerTransformers: readonly ReturnType<typeof createCheckerTransformer>[];
|
|
16
|
+
readonly typescriptTransformers: readonly ReturnType<typeof TST.createTransformer>[];
|
|
17
|
+
readonly context?: MapContext;
|
|
18
|
+
readonly typescriptContext?: TST.MapContext;
|
|
19
|
+
readonly importContext?: TST.MapImportContext;
|
|
20
|
+
readonly importMode?: ImportMode;
|
|
21
|
+
readonly hooks?: readonly TransformerHook[];
|
|
22
|
+
readonly toTypescript?: {
|
|
23
|
+
readonly mode?: TST.TransformerMode;
|
|
24
|
+
readonly hooks?: readonly TST.TransformerHook[];
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare function buildContext(schema: DP.DataParser, params: BuildContextParams): (E.Success<BuildedContext> | DataParserNotSupportedEither | DataParserErrorEither | DataParserGetDefinitionErrorEither | ToTypescriptDataParserNotSupportedEither | ToTypescriptDataParserErrorEither);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { E, DP, unwrap } from '@duplojs/utils';
|
|
2
|
+
import './dataParserTransformer/index.mjs';
|
|
3
|
+
import '../utils/index.mjs';
|
|
4
|
+
import { factory } from 'typescript';
|
|
5
|
+
import { transformer } from './dataParserTransformer/transformer.mjs';
|
|
6
|
+
import { getRecursiveDataParser } from '../utils/getRecursiveDataParser.mjs';
|
|
7
|
+
import { createIdentifier } from './dataParserTransformer/createIdentifier.mjs';
|
|
8
|
+
|
|
9
|
+
function buildContext(schema, params) {
|
|
10
|
+
const context = params.context ?? new Map();
|
|
11
|
+
const typescriptContext = params.typescriptContext ?? new Map();
|
|
12
|
+
const importContext = params.importContext ?? new Map();
|
|
13
|
+
const dependenciesContext = new Set();
|
|
14
|
+
const importMode = params.importMode ?? "lite";
|
|
15
|
+
importContext.set("@duplojs/utils/dataParser", {
|
|
16
|
+
namespace: ["DP"],
|
|
17
|
+
});
|
|
18
|
+
if (importMode === "extended") {
|
|
19
|
+
importContext.set("@duplojs/utils/dataParserExtended", {
|
|
20
|
+
namespace: ["DPE"],
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
const result = transformer(schema, {
|
|
24
|
+
...params,
|
|
25
|
+
context,
|
|
26
|
+
typescriptContext,
|
|
27
|
+
importContext: importContext,
|
|
28
|
+
hooks: params.hooks ?? [],
|
|
29
|
+
recursiveDataParsers: getRecursiveDataParser(schema),
|
|
30
|
+
dependencyIdentifier: factory.createIdentifier(importMode === "extended" ? "DPE" : "DP"),
|
|
31
|
+
dependenciesContext,
|
|
32
|
+
});
|
|
33
|
+
if (E.isLeft(result)) {
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
if (!schema.definition.identifier) {
|
|
37
|
+
context.set(DP.empty(), {
|
|
38
|
+
identifier: factory.createIdentifier(createIdentifier(params.identifier)),
|
|
39
|
+
expression: unwrap(result),
|
|
40
|
+
typeIdentifier: null,
|
|
41
|
+
dependencies: dependenciesContext,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else if (schema.definition.identifier !== params.identifier) {
|
|
45
|
+
dependenciesContext.add(schema);
|
|
46
|
+
context.set(DP.empty(), {
|
|
47
|
+
identifier: factory.createIdentifier(createIdentifier(params.identifier)),
|
|
48
|
+
expression: factory.createIdentifier(createIdentifier(schema.definition.identifier)),
|
|
49
|
+
typeIdentifier: null,
|
|
50
|
+
dependencies: dependenciesContext,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return E.success({
|
|
54
|
+
context,
|
|
55
|
+
importContext: importContext,
|
|
56
|
+
typescriptContext,
|
|
57
|
+
importMode,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { buildContext };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
|
|
5
|
+
function createCheckerTransformer(support, builder) {
|
|
6
|
+
return (checker, params) => support(checker)
|
|
7
|
+
? builder(checker, params)
|
|
8
|
+
: utils.E.left("checkerNotSupport", checker);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createCheckerTransformer = createCheckerTransformer;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CallExpression, ObjectLiteralExpression, PropertyAssignment } from "typescript";
|
|
2
|
+
import { type DP, E } from "@duplojs/utils";
|
|
3
|
+
import type * as TST from "../../toTypescript";
|
|
4
|
+
export type CheckerTransformerSuccessEither = E.Right<"buildSuccess", CallExpression>;
|
|
5
|
+
export type CheckerTransformerCheckerNotSupportedEither = E.Left<"checkerNotSupport", DP.DataParserChecker>;
|
|
6
|
+
export type CheckerTransformerBuildErrorEither = E.Left<"buildCheckerError", DP.DataParserChecker>;
|
|
7
|
+
export type CheckerTransformerEither = CheckerTransformerSuccessEither | CheckerTransformerCheckerNotSupportedEither | CheckerTransformerBuildErrorEither;
|
|
8
|
+
export interface CheckerTransformerParams {
|
|
9
|
+
readonly importContext: TST.MapImportContext;
|
|
10
|
+
success(result: CallExpression): CheckerTransformerSuccessEither;
|
|
11
|
+
buildError(): CheckerTransformerBuildErrorEither;
|
|
12
|
+
addImport(path: string, typeName: string, type?: "default" | "namespace" | "direct"): void;
|
|
13
|
+
getDefinition(customProperties?: readonly PropertyAssignment[]): readonly [ObjectLiteralExpression] | readonly [];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated
|
|
17
|
+
*/
|
|
18
|
+
export type DataParserCheckers = (DP.DataParserChecker | DP.DataParserCheckerArrayMax | DP.DataParserCheckerArrayMin | DP.DataParserCheckerBigIntMax | DP.DataParserCheckerBigIntMin | DP.DataParserCheckerNumberMax | DP.DataParserCheckerNumberMin | DP.DataParserCheckerInt | DP.DataParserCheckerStringMax | DP.DataParserCheckerStringMin | DP.DataParserCheckerEmail | DP.DataParserCheckerRegex | DP.DataParserCheckerUrl | DP.DataParserCheckerUuid | DP.DataParserCheckerRefine | DP.DataParserCheckerTimeMin | DP.DataParserCheckerTimeMax);
|
|
19
|
+
export type CheckerTransformerBuildFunction<GenericChecker extends DataParserCheckers = DataParserCheckers> = (checker: GenericChecker, params: CheckerTransformerParams) => CheckerTransformerEither;
|
|
20
|
+
export declare function createCheckerTransformer<GenericChecker extends DataParserCheckers>(support: (checker: DataParserCheckers) => checker is GenericChecker, builder: CheckerTransformerBuildFunction<GenericChecker>): (checker: DataParserCheckers, params: CheckerTransformerParams) => CheckerTransformerEither;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var create = require('../../create.cjs');
|
|
5
|
+
var typescript = require('typescript');
|
|
6
|
+
|
|
7
|
+
const checkerArrayMaxTransformer = create.createCheckerTransformer(utils.DP.checkerArrayMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerArrayMax")), undefined, [
|
|
9
|
+
typescript.factory.createNumericLiteral(checker.definition.max),
|
|
10
|
+
...getDefinition(),
|
|
11
|
+
]);
|
|
12
|
+
return success(expression);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
exports.checkerArrayMaxTransformer = checkerArrayMaxTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerArrayMaxTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerArrayMaxTransformer = createCheckerTransformer(DP.checkerArrayMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerArrayMax")), undefined, [
|
|
7
|
+
factory.createNumericLiteral(checker.definition.max),
|
|
8
|
+
...getDefinition(),
|
|
9
|
+
]);
|
|
10
|
+
return success(expression);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { checkerArrayMaxTransformer };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var create = require('../../create.cjs');
|
|
5
|
+
var typescript = require('typescript');
|
|
6
|
+
|
|
7
|
+
const checkerArrayMinTransformer = create.createCheckerTransformer(utils.DP.checkerArrayMinKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerArrayMin")), undefined, [
|
|
9
|
+
typescript.factory.createNumericLiteral(checker.definition.min),
|
|
10
|
+
...getDefinition(),
|
|
11
|
+
]);
|
|
12
|
+
return success(expression);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
exports.checkerArrayMinTransformer = checkerArrayMinTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerArrayMinTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerArrayMinTransformer = createCheckerTransformer(DP.checkerArrayMinKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerArrayMin")), undefined, [
|
|
7
|
+
factory.createNumericLiteral(checker.definition.min),
|
|
8
|
+
...getDefinition(),
|
|
9
|
+
]);
|
|
10
|
+
return success(expression);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { checkerArrayMinTransformer };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var create = require('../../create.cjs');
|
|
5
|
+
var typescript = require('typescript');
|
|
6
|
+
|
|
7
|
+
const checkerBigIntMaxTransformer = create.createCheckerTransformer(utils.DP.checkerBigIntMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerBigIntMax")), undefined, [
|
|
9
|
+
typescript.factory.createBigIntLiteral(`${checker.definition.max.toString()}n`),
|
|
10
|
+
...getDefinition(),
|
|
11
|
+
]);
|
|
12
|
+
return success(expression);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
exports.checkerBigIntMaxTransformer = checkerBigIntMaxTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerBigIntMaxTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerBigIntMaxTransformer = createCheckerTransformer(DP.checkerBigIntMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerBigIntMax")), undefined, [
|
|
7
|
+
factory.createBigIntLiteral(`${checker.definition.max.toString()}n`),
|
|
8
|
+
...getDefinition(),
|
|
9
|
+
]);
|
|
10
|
+
return success(expression);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { checkerBigIntMaxTransformer };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var create = require('../../create.cjs');
|
|
5
|
+
var typescript = require('typescript');
|
|
6
|
+
|
|
7
|
+
const checkerBigIntMinTransformer = create.createCheckerTransformer(utils.DP.checkerBigIntMinKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerBigIntMin")), undefined, [
|
|
9
|
+
typescript.factory.createBigIntLiteral(`${checker.definition.min.toString()}n`),
|
|
10
|
+
...getDefinition(),
|
|
11
|
+
]);
|
|
12
|
+
return success(expression);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
exports.checkerBigIntMinTransformer = checkerBigIntMinTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerBigIntMinTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerBigIntMinTransformer = createCheckerTransformer(DP.checkerBigIntMinKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerBigIntMin")), undefined, [
|
|
7
|
+
factory.createBigIntLiteral(`${checker.definition.min.toString()}n`),
|
|
8
|
+
...getDefinition(),
|
|
9
|
+
]);
|
|
10
|
+
return success(expression);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { checkerBigIntMinTransformer };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./number/index.cjs');
|
|
4
|
+
require('./string/index.cjs');
|
|
5
|
+
require('./array/index.cjs');
|
|
6
|
+
require('./bigint/index.cjs');
|
|
7
|
+
require('./time/index.cjs');
|
|
8
|
+
var refine = require('./refine.cjs');
|
|
9
|
+
var max = require('./number/max.cjs');
|
|
10
|
+
var min = require('./number/min.cjs');
|
|
11
|
+
var int = require('./number/int.cjs');
|
|
12
|
+
var max$1 = require('./string/max.cjs');
|
|
13
|
+
var min$1 = require('./string/min.cjs');
|
|
14
|
+
var email = require('./string/email.cjs');
|
|
15
|
+
var regex = require('./string/regex.cjs');
|
|
16
|
+
var uuid = require('./string/uuid.cjs');
|
|
17
|
+
var url = require('./string/url.cjs');
|
|
18
|
+
var max$2 = require('./array/max.cjs');
|
|
19
|
+
var min$2 = require('./array/min.cjs');
|
|
20
|
+
var max$3 = require('./bigint/max.cjs');
|
|
21
|
+
var min$3 = require('./bigint/min.cjs');
|
|
22
|
+
var max$4 = require('./time/max.cjs');
|
|
23
|
+
var min$4 = require('./time/min.cjs');
|
|
24
|
+
|
|
25
|
+
const defaultCheckerTransformers = [
|
|
26
|
+
refine.checkerRefineTransformer,
|
|
27
|
+
// number
|
|
28
|
+
max.checkerNumberMaxTransformer,
|
|
29
|
+
min.checkerNumberMinTransformer,
|
|
30
|
+
int.checkerIntTransformer,
|
|
31
|
+
// string
|
|
32
|
+
max$1.checkerStringMaxTransformer,
|
|
33
|
+
min$1.checkerStringMinTransformer,
|
|
34
|
+
email.checkerEmailTransformer,
|
|
35
|
+
regex.checkerRegexTransformer,
|
|
36
|
+
uuid.checkerUuidTransformer,
|
|
37
|
+
url.checkerUrlTransformer,
|
|
38
|
+
// array
|
|
39
|
+
max$2.checkerArrayMaxTransformer,
|
|
40
|
+
min$2.checkerArrayMinTransformer,
|
|
41
|
+
// bigint
|
|
42
|
+
max$3.checkerBigIntMaxTransformer,
|
|
43
|
+
min$3.checkerBigIntMinTransformer,
|
|
44
|
+
// time
|
|
45
|
+
max$4.checkerTimeMaxTransformer,
|
|
46
|
+
min$4.checkerTimeMinTransformer,
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
exports.checkerNumberMaxTransformer = max.checkerNumberMaxTransformer;
|
|
50
|
+
exports.checkerNumberMinTransformer = min.checkerNumberMinTransformer;
|
|
51
|
+
exports.checkerIntTransformer = int.checkerIntTransformer;
|
|
52
|
+
exports.checkerStringMaxTransformer = max$1.checkerStringMaxTransformer;
|
|
53
|
+
exports.checkerStringMinTransformer = min$1.checkerStringMinTransformer;
|
|
54
|
+
exports.checkerEmailTransformer = email.checkerEmailTransformer;
|
|
55
|
+
exports.checkerRegexTransformer = regex.checkerRegexTransformer;
|
|
56
|
+
exports.checkerUuidTransformer = uuid.checkerUuidTransformer;
|
|
57
|
+
exports.checkerUrlTransformer = url.checkerUrlTransformer;
|
|
58
|
+
exports.checkerArrayMaxTransformer = max$2.checkerArrayMaxTransformer;
|
|
59
|
+
exports.checkerArrayMinTransformer = min$2.checkerArrayMinTransformer;
|
|
60
|
+
exports.defaultCheckerTransformers = defaultCheckerTransformers;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./number";
|
|
2
|
+
export * from "./string";
|
|
3
|
+
export * from "./array";
|
|
4
|
+
export declare const defaultCheckerTransformers: readonly [(checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither, (checker: import("..").DataParserCheckers, params: import("..").CheckerTransformerParams) => import("..").CheckerTransformerEither];
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import './number/index.mjs';
|
|
2
|
+
import './string/index.mjs';
|
|
3
|
+
import './array/index.mjs';
|
|
4
|
+
import './bigint/index.mjs';
|
|
5
|
+
import './time/index.mjs';
|
|
6
|
+
import { checkerRefineTransformer } from './refine.mjs';
|
|
7
|
+
import { checkerNumberMaxTransformer } from './number/max.mjs';
|
|
8
|
+
import { checkerNumberMinTransformer } from './number/min.mjs';
|
|
9
|
+
import { checkerIntTransformer } from './number/int.mjs';
|
|
10
|
+
import { checkerStringMaxTransformer } from './string/max.mjs';
|
|
11
|
+
import { checkerStringMinTransformer } from './string/min.mjs';
|
|
12
|
+
import { checkerEmailTransformer } from './string/email.mjs';
|
|
13
|
+
import { checkerRegexTransformer } from './string/regex.mjs';
|
|
14
|
+
import { checkerUuidTransformer } from './string/uuid.mjs';
|
|
15
|
+
import { checkerUrlTransformer } from './string/url.mjs';
|
|
16
|
+
import { checkerArrayMaxTransformer } from './array/max.mjs';
|
|
17
|
+
import { checkerArrayMinTransformer } from './array/min.mjs';
|
|
18
|
+
import { checkerBigIntMaxTransformer } from './bigint/max.mjs';
|
|
19
|
+
import { checkerBigIntMinTransformer } from './bigint/min.mjs';
|
|
20
|
+
import { checkerTimeMaxTransformer } from './time/max.mjs';
|
|
21
|
+
import { checkerTimeMinTransformer } from './time/min.mjs';
|
|
22
|
+
|
|
23
|
+
const defaultCheckerTransformers = [
|
|
24
|
+
checkerRefineTransformer,
|
|
25
|
+
// number
|
|
26
|
+
checkerNumberMaxTransformer,
|
|
27
|
+
checkerNumberMinTransformer,
|
|
28
|
+
checkerIntTransformer,
|
|
29
|
+
// string
|
|
30
|
+
checkerStringMaxTransformer,
|
|
31
|
+
checkerStringMinTransformer,
|
|
32
|
+
checkerEmailTransformer,
|
|
33
|
+
checkerRegexTransformer,
|
|
34
|
+
checkerUuidTransformer,
|
|
35
|
+
checkerUrlTransformer,
|
|
36
|
+
// array
|
|
37
|
+
checkerArrayMaxTransformer,
|
|
38
|
+
checkerArrayMinTransformer,
|
|
39
|
+
// bigint
|
|
40
|
+
checkerBigIntMaxTransformer,
|
|
41
|
+
checkerBigIntMinTransformer,
|
|
42
|
+
// time
|
|
43
|
+
checkerTimeMaxTransformer,
|
|
44
|
+
checkerTimeMinTransformer,
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
export { checkerArrayMaxTransformer, checkerArrayMinTransformer, checkerEmailTransformer, checkerIntTransformer, checkerNumberMaxTransformer, checkerNumberMinTransformer, checkerRegexTransformer, checkerStringMaxTransformer, checkerStringMinTransformer, checkerUrlTransformer, checkerUuidTransformer, defaultCheckerTransformers };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var int = require('./int.cjs');
|
|
4
|
+
var min = require('./min.cjs');
|
|
5
|
+
var max = require('./max.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.checkerIntTransformer = int.checkerIntTransformer;
|
|
10
|
+
exports.checkerNumberMinTransformer = min.checkerNumberMinTransformer;
|
|
11
|
+
exports.checkerNumberMaxTransformer = max.checkerNumberMaxTransformer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var create = require('../../create.cjs');
|
|
5
|
+
var typescript = require('typescript');
|
|
6
|
+
|
|
7
|
+
const checkerIntTransformer = create.createCheckerTransformer(utils.DP.checkerIntKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerInt")), undefined, getDefinition());
|
|
9
|
+
return success(expression);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
exports.checkerIntTransformer = checkerIntTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerIntTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerIntTransformer = createCheckerTransformer(DP.checkerIntKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerInt")), undefined, getDefinition());
|
|
7
|
+
return success(expression);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export { checkerIntTransformer };
|
|
@@ -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 checkerNumberMaxTransformer = create.createCheckerTransformer(utils.DP.checkerNumberMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
8
|
+
const checkerDefinition = [];
|
|
9
|
+
if (checker.definition.exclusive) {
|
|
10
|
+
checkerDefinition.push(typescript.factory.createPropertyAssignment(typescript.factory.createIdentifier("exclusive"), typescript.factory.createTrue()));
|
|
11
|
+
}
|
|
12
|
+
const expression = typescript.factory.createCallExpression(typescript.factory.createPropertyAccessExpression(typescript.factory.createIdentifier("DP"), typescript.factory.createIdentifier("checkerNumberMax")), undefined, [
|
|
13
|
+
typescript.factory.createNumericLiteral(checker.definition.max),
|
|
14
|
+
...getDefinition(checkerDefinition),
|
|
15
|
+
]);
|
|
16
|
+
return success(expression);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
exports.checkerNumberMaxTransformer = checkerNumberMaxTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkerNumberMaxTransformer: (checker: import("../..").DataParserCheckers, params: import("../..").CheckerTransformerParams) => import("../..").CheckerTransformerEither;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DP } from '@duplojs/utils';
|
|
2
|
+
import { createCheckerTransformer } from '../../create.mjs';
|
|
3
|
+
import { factory } from 'typescript';
|
|
4
|
+
|
|
5
|
+
const checkerNumberMaxTransformer = createCheckerTransformer(DP.checkerNumberMaxKind.has, (checker, { success, getDefinition, }) => {
|
|
6
|
+
const checkerDefinition = [];
|
|
7
|
+
if (checker.definition.exclusive) {
|
|
8
|
+
checkerDefinition.push(factory.createPropertyAssignment(factory.createIdentifier("exclusive"), factory.createTrue()));
|
|
9
|
+
}
|
|
10
|
+
const expression = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("DP"), factory.createIdentifier("checkerNumberMax")), undefined, [
|
|
11
|
+
factory.createNumericLiteral(checker.definition.max),
|
|
12
|
+
...getDefinition(checkerDefinition),
|
|
13
|
+
]);
|
|
14
|
+
return success(expression);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export { checkerNumberMaxTransformer };
|