typia 6.7.0-dev.20240803-4 → 6.7.0-dev.20240803-5
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/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.ts +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +11 -7
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.d.ts +5 -2
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +22 -14
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.d.ts +4 -3
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +43 -9
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.d.ts +1 -1
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +8 -4
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.d.ts +5 -2
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +22 -16
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.d.ts +3 -2
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +43 -10
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +1 -1
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +8 -4
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.d.ts +5 -2
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +48 -30
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.d.ts +3 -2
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +44 -14
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +10 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +58 -14
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +11 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +59 -14
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +3 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpHeadersProgrammer.d.ts +9 -1
- package/lib/programmers/http/HttpHeadersProgrammer.js +48 -29
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsFormDataProgrammer.d.ts +9 -1
- package/lib/programmers/http/HttpIsFormDataProgrammer.js +59 -15
- package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsHeadersProgrammer.d.ts +9 -1
- package/lib/programmers/http/HttpIsHeadersProgrammer.js +59 -15
- package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQueryProgrammer.d.ts +10 -1
- package/lib/programmers/http/HttpIsQueryProgrammer.js +60 -15
- package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.d.ts +10 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +38 -27
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.d.ts +10 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js +57 -9
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateHeadersProgrammer.d.ts +10 -1
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js +57 -9
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.d.ts +11 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.js +58 -9
- package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
- package/package.json +1 -1
- package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +32 -21
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +48 -21
- package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +40 -19
- package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +27 -16
- package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +52 -24
- package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +52 -30
- package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +26 -16
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +164 -100
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +60 -41
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +68 -66
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +70 -64
- package/src/programmers/http/HttpFormDataProgrammer.ts +3 -1
- package/src/programmers/http/HttpHeadersProgrammer.ts +52 -30
- package/src/programmers/http/HttpIsFormDataProgrammer.ts +81 -69
- package/src/programmers/http/HttpIsHeadersProgrammer.ts +81 -71
- package/src/programmers/http/HttpIsQueryProgrammer.ts +83 -69
- package/src/programmers/http/HttpQueryProgrammer.ts +54 -30
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +66 -56
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +66 -58
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +68 -56
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalAssertFunctionProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.CallExpression;
|
|
5
5
|
const errorFactoryWrapper: (modulo: ts.LeftHandSideExpression) => (paramters: readonly ts.ParameterDeclaration[]) => (init: ts.Expression | undefined) => {
|
|
6
6
|
name: string;
|
|
7
7
|
variable: ts.VariableStatement;
|
|
@@ -30,6 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.FunctionalAssertFunctionProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
33
34
|
var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
34
35
|
var TypeFactory_1 = require("../../factories/TypeFactory");
|
|
35
36
|
var StringUtil_1 = require("../../utils/StringUtil");
|
|
@@ -43,14 +44,17 @@ var FunctionalAssertFunctionProgrammer;
|
|
|
43
44
|
return function (equals) {
|
|
44
45
|
return function (expression, declaration, init) {
|
|
45
46
|
var wrapper = FunctionalAssertFunctionProgrammer.errorFactoryWrapper(modulo)(declaration.parameters)(init);
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
: undefined, undefined, declaration.parameters, declaration.type, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
47
|
+
var p = FunctionalAssertParametersProgrammer_1.FunctionalAssertParametersProgrammer.decompose(project)(modulo)(equals)(declaration.parameters, wrapper.name);
|
|
48
|
+
var r = FunctionalAssertReturnProgrammer_1.FunctionAssertReturnProgrammer.decompose(project)(modulo)(equals)(expression, declaration, wrapper.name);
|
|
49
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([
|
|
50
50
|
wrapper.variable
|
|
51
|
-
], __read(
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
], __read(p.functions), false), __read(r.functions), false), [
|
|
52
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(r.async
|
|
53
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
54
|
+
: undefined, undefined, declaration.parameters, declaration.type, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(p.expressions.map(typescript_1.default.factory.createExpressionStatement)), false), [
|
|
55
|
+
typescript_1.default.factory.createReturnStatement(r.value),
|
|
56
|
+
], false)))),
|
|
57
|
+
], false), true));
|
|
54
58
|
};
|
|
55
59
|
};
|
|
56
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalAssertFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,2DAA0D;AAI1D,qDAAoD;AAEpD,wDAAuD;AACvD,+FAA8F;AAC9F,uFAAoF;AAEpF,IAAiB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"FunctionalAssertFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalAssertParametersProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.
|
|
5
|
-
const
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.CallExpression;
|
|
5
|
+
const decompose: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (parameters: readonly ts.ParameterDeclaration[], wrapper: string) => {
|
|
6
|
+
functions: ts.Statement[];
|
|
7
|
+
expressions: ts.Expression[];
|
|
8
|
+
};
|
|
6
9
|
}
|
|
@@ -30,6 +30,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.FunctionalAssertParametersProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
34
|
+
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
33
35
|
var TypeFactory_1 = require("../../factories/TypeFactory");
|
|
34
36
|
var AssertProgrammer_1 = require("../AssertProgrammer");
|
|
35
37
|
var FunctionalAssertFunctionProgrammer_1 = require("./FunctionalAssertFunctionProgrammer");
|
|
@@ -42,32 +44,38 @@ var FunctionalAssertParametersProgrammer;
|
|
|
42
44
|
return function (expression, declaration, init) {
|
|
43
45
|
var wrapper = FunctionalAssertFunctionProgrammer_1.FunctionalAssertFunctionProgrammer.errorFactoryWrapper(modulo)(declaration.parameters)(init);
|
|
44
46
|
var async = FunctionalGeneralProgrammer_1.FunctionalGeneralProgrammer.getReturnType(project.checker)(declaration).async;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
: undefined, undefined, declaration.parameters, declaration.type, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
47
|
+
var result = FunctionalAssertParametersProgrammer.decompose(project)(modulo)(equals)(declaration.parameters, wrapper.name);
|
|
48
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
48
49
|
wrapper.variable
|
|
49
|
-
], __read(
|
|
50
|
-
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
], __read(result.functions), false), [
|
|
51
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(async
|
|
52
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
53
|
+
: undefined, undefined, declaration.parameters, declaration.type, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(result.expressions.map(typescript_1.default.factory.createExpressionStatement)), false), [
|
|
54
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(expression, undefined, declaration.parameters.map(function (p) {
|
|
55
|
+
return typescript_1.default.factory.createIdentifier(p.name.getText());
|
|
56
|
+
}))),
|
|
57
|
+
], false), true))),
|
|
53
58
|
], false), true));
|
|
54
59
|
};
|
|
55
60
|
};
|
|
56
61
|
};
|
|
57
62
|
};
|
|
58
|
-
FunctionalAssertParametersProgrammer.
|
|
63
|
+
FunctionalAssertParametersProgrammer.decompose = function (project) {
|
|
59
64
|
return function (modulo) {
|
|
60
65
|
return function (equals) {
|
|
61
|
-
return function (parameters, wrapper) {
|
|
62
|
-
|
|
63
|
-
return
|
|
66
|
+
return function (parameters, wrapper) { return ({
|
|
67
|
+
functions: parameters.map(function (p, i) {
|
|
68
|
+
return StatementFactory_1.StatementFactory.constant("__assert_param_".concat(i), AssertProgrammer_1.AssertProgrammer.write(project)(modulo)(equals)(p.type
|
|
64
69
|
? project.checker.getTypeFromTypeNode(p.type)
|
|
65
70
|
: project.checker.getTypeFromTypeNode(TypeFactory_1.TypeFactory.keyword("any")), undefined, FunctionalAssertFunctionProgrammer_1.FunctionalAssertFunctionProgrammer.hookPath({
|
|
66
71
|
wrapper: wrapper,
|
|
67
72
|
replacer: "$input.parameters[".concat(i, "]"),
|
|
68
|
-
}))
|
|
69
|
-
})
|
|
70
|
-
|
|
73
|
+
})));
|
|
74
|
+
}),
|
|
75
|
+
expressions: parameters.map(function (p, i) {
|
|
76
|
+
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__assert_param_".concat(i)), undefined, [typescript_1.default.factory.createIdentifier(p.name.getText())]);
|
|
77
|
+
}),
|
|
78
|
+
}); };
|
|
71
79
|
};
|
|
72
80
|
};
|
|
73
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalAssertParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertParametersProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2DAA0D;AAI1D,wDAAuD;AACvD,2FAA0F;AAC1F,sFAAqF;AAErF,IAAiB,oCAAoC,
|
|
1
|
+
{"version":3,"file":"FunctionalAssertParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertParametersProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionAssertReturnProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.
|
|
5
|
-
const
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, init?: ts.Expression) => ts.CallExpression;
|
|
5
|
+
const decompose: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration, wrapper: string) => {
|
|
6
6
|
async: boolean;
|
|
7
|
-
|
|
7
|
+
functions: ts.Statement[];
|
|
8
|
+
value: ts.Expression;
|
|
8
9
|
};
|
|
9
10
|
}
|
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
2
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
29
|
};
|
|
5
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
31
|
exports.FunctionAssertReturnProgrammer = void 0;
|
|
7
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
34
|
+
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
8
35
|
var AssertProgrammer_1 = require("../AssertProgrammer");
|
|
9
36
|
var FunctionalAssertFunctionProgrammer_1 = require("./FunctionalAssertFunctionProgrammer");
|
|
10
37
|
var FunctionalGeneralProgrammer_1 = require("./internal/FunctionalGeneralProgrammer");
|
|
@@ -15,15 +42,19 @@ var FunctionAssertReturnProgrammer;
|
|
|
15
42
|
return function (equals) {
|
|
16
43
|
return function (expression, declaration, init) {
|
|
17
44
|
var wrapper = FunctionalAssertFunctionProgrammer_1.FunctionalAssertFunctionProgrammer.errorFactoryWrapper(modulo)(declaration.parameters)(init);
|
|
18
|
-
var
|
|
19
|
-
return typescript_1.default.factory.
|
|
20
|
-
|
|
21
|
-
|
|
45
|
+
var result = FunctionAssertReturnProgrammer.decompose(project)(modulo)(equals)(expression, declaration, wrapper.name);
|
|
46
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
47
|
+
wrapper.variable
|
|
48
|
+
], __read(result.functions), false), [
|
|
49
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(result.async
|
|
50
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
51
|
+
: undefined, undefined, declaration.parameters, declaration.type, undefined, result.value)),
|
|
52
|
+
], false), true));
|
|
22
53
|
};
|
|
23
54
|
};
|
|
24
55
|
};
|
|
25
56
|
};
|
|
26
|
-
FunctionAssertReturnProgrammer.
|
|
57
|
+
FunctionAssertReturnProgrammer.decompose = function (project) {
|
|
27
58
|
return function (modulo) {
|
|
28
59
|
return function (equals) {
|
|
29
60
|
return function (expression, declaration, wrapper) {
|
|
@@ -33,10 +64,13 @@ var FunctionAssertReturnProgrammer;
|
|
|
33
64
|
}));
|
|
34
65
|
return {
|
|
35
66
|
async: async,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
67
|
+
functions: [
|
|
68
|
+
StatementFactory_1.StatementFactory.constant("__assert_return", AssertProgrammer_1.AssertProgrammer.write(project)(modulo)(equals)(type, undefined, FunctionalAssertFunctionProgrammer_1.FunctionalAssertFunctionProgrammer.hookPath({
|
|
69
|
+
wrapper: wrapper,
|
|
70
|
+
replacer: "$input.return",
|
|
71
|
+
}))),
|
|
72
|
+
],
|
|
73
|
+
value: typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__assert_return"), undefined, [async ? typescript_1.default.factory.createAwaitExpression(caller) : caller]),
|
|
40
74
|
};
|
|
41
75
|
};
|
|
42
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalAssertReturnProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertReturnProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FunctionalAssertReturnProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalAssertReturnProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AAIpE,wDAAuD;AACvD,2FAA0F;AAC1F,sFAAqF;AAErF,IAAiB,8BAA8B,CAsF9C;AAtFD,WAAiB,8BAA8B;IAChC,oCAAK,GAChB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,MAAe;gBAChB,OAAA,UACE,UAAyB,EACzB,WAAmC,EACnC,IAAoB;oBAEpB,IAAM,OAAO,GAAG,uEAAkC,CAAC,mBAAmB,CACpE,MAAM,CACP,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAM,MAAM,GAAG,+BAAA,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC/C,UAAU,EACV,WAAW,EACX,OAAO,CAAC,IAAI,CACb,CAAC;oBACF,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW;wBAElB,OAAO,CAAC,QAAQ;8BACb,MAAM,CAAC,SAAS;wBACnB,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,MAAM,CAAC,KAAK;4BACV,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BACzD,CAAC,CAAC,SAAS,EACb,SAAS,EACT,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,IAAI,EAChB,SAAS,EACT,MAAM,CAAC,KAAK,CACb,CACF;+BAEH,IAAI,CACL,CACF,CAAC;gBACJ,CAAC;YAlCD,CAkCC;QAnCD,CAmCC;IApCD,CAoCC,CAAC;IAES,wCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,MAAe;gBAChB,OAAA,UACE,UAAyB,EACzB,WAAmC,EACnC,OAAe;oBAMT,IAAA,KAAkB,yDAA2B,CAAC,aAAa,CAC/D,OAAO,CAAC,OAAO,CAChB,CAAC,WAAW,CAAC,EAFN,IAAI,UAAA,EAAE,KAAK,WAEL,CAAC;oBACf,IAAM,MAAM,GAAsB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC/D,UAAU,EACV,SAAS,EACT,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC;wBAC3B,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAA7C,CAA6C,CAC9C,CACF,CAAC;oBACF,OAAO;wBACL,KAAK,OAAA;wBACL,SAAS,EAAE;4BACT,mCAAgB,CAAC,QAAQ,CACvB,iBAAiB,EACjB,mCAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC7C,IAAI,EACJ,SAAS,EACT,uEAAkC,CAAC,QAAQ,CAAC;gCAC1C,OAAO,SAAA;gCACP,QAAQ,EAAE,eAAe;6BAC1B,CAAC,CACH,CACF;yBACF;wBACD,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC9C,SAAS,EACT,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5D;qBACF,CAAC;gBACJ,CAAC;YAxCD,CAwCC;QAzCD,CAyCC;IA1CD,CA0CC,CAAC;AACN,CAAC,EAtFgB,8BAA8B,8CAA9B,8BAA8B,QAsF9C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalIsFunctionProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.CallExpression;
|
|
5
5
|
const getReturnTypeNode: (declaration: ts.FunctionDeclaration, async: boolean) => ts.TypeNode | undefined;
|
|
6
6
|
}
|
|
@@ -30,6 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.FunctionalIsFunctionProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
33
34
|
var FunctionalIsParametersProgrammer_1 = require("./FunctionalIsParametersProgrammer");
|
|
34
35
|
var FunctionalIsReturnProgrammer_1 = require("./FunctionalIsReturnProgrammer");
|
|
35
36
|
var FunctionalIsFunctionProgrammer;
|
|
@@ -38,10 +39,13 @@ var FunctionalIsFunctionProgrammer;
|
|
|
38
39
|
return function (modulo) {
|
|
39
40
|
return function (equals) {
|
|
40
41
|
return function (expression, declaration) {
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
var p = FunctionalIsParametersProgrammer_1.FunctionalIsParametersProgrammer.decompose(project)(modulo)(equals)(declaration);
|
|
43
|
+
var r = FunctionalIsReturnProgrammer_1.FunctionalIsReturnProgrammer.decompose(project)(modulo)(equals)(expression, declaration);
|
|
44
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(p.functions), false), __read(r.functions), false), [
|
|
45
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(r.async
|
|
46
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
47
|
+
: undefined, undefined, declaration.parameters, FunctionalIsFunctionProgrammer.getReturnTypeNode(declaration, r.async), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(p.statements), false), __read(r.statements), false), true))),
|
|
48
|
+
], false), true));
|
|
45
49
|
};
|
|
46
50
|
};
|
|
47
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalIsFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"FunctionalIsFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,uFAAsF;AACtF,+EAA8E;AAE9E,IAAiB,8BAA8B,CA8D9C;AA9DD,WAAiB,8BAA8B;IAChC,oCAAK,GAChB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,MAAe;gBAChB,OAAA,UACE,UAAyB,EACzB,WAAmC;oBAEnC,IAAM,CAAC,GACL,mEAAgC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CACjE,WAAW,CACZ,CAAC;oBACJ,IAAM,CAAC,GAAG,2DAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CACvE,UAAU,EACV,WAAW,CACZ,CAAC;oBACF,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW,sDAEf,CAAC,CAAC,SAAS,kBACX,CAAC,CAAC,SAAS;wBACd,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,CAAC,CAAC,KAAK;4BACL,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;4BACzD,CAAC,CAAC,SAAS,EACb,SAAS,EACT,WAAW,CAAC,UAAU,EACtB,+BAAA,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,EACvC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,wCAChB,CAAC,CAAC,UAAU,kBAAK,CAAC,CAAC,UAAU,WACjC,IAAI,CACL,CACF,CACF;+BAEH,IAAI,CACL,CACF,CAAC;gBACJ,CAAC;YApCD,CAoCC;QArCD,CAqCC;IAtCD,CAsCC,CAAC;IAES,gDAAiB,GAAG,UAC/B,WAAmC,EACnC,KAAc;;QAEd,OAAA,WAAW,CAAC,IAAI;YACd,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,CAAC,CAAC,CAAA,MAAC,WAAW,CAAC,IAA8B,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;oBAChE,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;wBAC5C,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;4BAC5B,WAAW,CAAC,IAA8B,CAAC,aAAc,CAAC,CAAC,CAAE;4BAC9D,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC;yBAC3C,CAAC;qBACH,CAAC;oBACJ,CAAC,CAAC,SAAS;gBACb,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBAC7B,WAAW,CAAC,IAAI;oBAChB,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC;iBAC3C,CAAC;YACN,CAAC,CAAC,SAAS,CAAA;KAAA,CAAC;AAClB,CAAC,EA9DgB,8BAA8B,8CAA9B,8BAA8B,QA8D9C"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalIsParametersProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.
|
|
5
|
-
const
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.CallExpression;
|
|
5
|
+
const decompose: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (declaration: ts.FunctionDeclaration) => {
|
|
6
|
+
functions: ts.Statement[];
|
|
7
|
+
statements: ts.Statement[];
|
|
8
|
+
};
|
|
6
9
|
}
|
|
@@ -30,6 +30,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.FunctionalIsParametersProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
34
|
+
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
33
35
|
var TypeFactory_1 = require("../../factories/TypeFactory");
|
|
34
36
|
var IsProgrammer_1 = require("../IsProgrammer");
|
|
35
37
|
var FunctionalIsFunctionProgrammer_1 = require("./FunctionalIsFunctionProgrammer");
|
|
@@ -41,30 +43,34 @@ var FunctionalIsParametersProgrammer;
|
|
|
41
43
|
return function (equals) {
|
|
42
44
|
return function (expression, declaration) {
|
|
43
45
|
var async = FunctionalGeneralProgrammer_1.FunctionalGeneralProgrammer.getReturnType(project.checker)(declaration).async;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
var result = FunctionalIsParametersProgrammer.decompose(project)(modulo)(equals)(declaration);
|
|
47
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(result.functions), false), [
|
|
48
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(async
|
|
49
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
50
|
+
: undefined, undefined, declaration.parameters, FunctionalIsFunctionProgrammer_1.FunctionalIsFunctionProgrammer.getReturnTypeNode(declaration, async), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(result.statements), false), [
|
|
51
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(expression, undefined, declaration.parameters.map(function (p) {
|
|
52
|
+
return typescript_1.default.factory.createIdentifier(p.name.getText());
|
|
53
|
+
}))),
|
|
54
|
+
], false), true))),
|
|
50
55
|
], false), true));
|
|
51
56
|
};
|
|
52
57
|
};
|
|
53
58
|
};
|
|
54
59
|
};
|
|
55
|
-
FunctionalIsParametersProgrammer.
|
|
60
|
+
FunctionalIsParametersProgrammer.decompose = function (project) {
|
|
56
61
|
return function (modulo) {
|
|
57
62
|
return function (equals) {
|
|
58
|
-
return function (declaration) {
|
|
59
|
-
|
|
60
|
-
.map(function (p) {
|
|
63
|
+
return function (declaration) { return ({
|
|
64
|
+
functions: declaration.parameters.map(function (p, i) {
|
|
61
65
|
var _a;
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.
|
|
67
|
-
|
|
66
|
+
return StatementFactory_1.StatementFactory.constant("__is_param_".concat(i), IsProgrammer_1.IsProgrammer.write(project)(modulo)(equals)(project.checker.getTypeFromTypeNode((_a = p.type) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.keyword("any"))));
|
|
67
|
+
}),
|
|
68
|
+
statements: declaration.parameters
|
|
69
|
+
.map(function (p, i) { return [
|
|
70
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__is_param_".concat(i)), undefined, [typescript_1.default.factory.createIdentifier(p.name.getText())])), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createNull())),
|
|
71
|
+
]; })
|
|
72
|
+
.flat(),
|
|
73
|
+
}); };
|
|
68
74
|
};
|
|
69
75
|
};
|
|
70
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalIsParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsParametersProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2DAA0D;AAI1D,gDAA+C;AAC/C,mFAAkF;AAClF,sFAAqF;AAErF,IAAiB,gCAAgC,
|
|
1
|
+
{"version":3,"file":"FunctionalIsParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsParametersProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalIsReturnProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.
|
|
5
|
-
const
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.CallExpression;
|
|
5
|
+
const decompose: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => {
|
|
6
6
|
async: boolean;
|
|
7
|
+
functions: ts.Statement[];
|
|
7
8
|
statements: ts.Statement[];
|
|
8
9
|
};
|
|
9
10
|
}
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
2
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
29
|
};
|
|
5
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
31
|
exports.FunctionalIsReturnProgrammer = void 0;
|
|
7
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
8
34
|
var StatementFactory_1 = require("../../factories/StatementFactory");
|
|
9
35
|
var StringUtil_1 = require("../../utils/StringUtil");
|
|
10
36
|
var IsProgrammer_1 = require("../IsProgrammer");
|
|
@@ -16,15 +42,17 @@ var FunctionalIsReturnProgrammer;
|
|
|
16
42
|
return function (modulo) {
|
|
17
43
|
return function (equals) {
|
|
18
44
|
return function (expression, declaration) {
|
|
19
|
-
var
|
|
20
|
-
return typescript_1.default.factory.
|
|
21
|
-
|
|
22
|
-
|
|
45
|
+
var result = FunctionalIsReturnProgrammer.decompose(project)(modulo)(equals)(expression, declaration);
|
|
46
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(result.functions), false), [
|
|
47
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(result.async
|
|
48
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
49
|
+
: undefined, undefined, declaration.parameters, FunctionalIsFunctionProgrammer_1.FunctionalIsFunctionProgrammer.getReturnTypeNode(declaration, result.async), undefined, typescript_1.default.factory.createBlock(result.statements, true))),
|
|
50
|
+
], false), true));
|
|
23
51
|
};
|
|
24
52
|
};
|
|
25
53
|
};
|
|
26
54
|
};
|
|
27
|
-
FunctionalIsReturnProgrammer.
|
|
55
|
+
FunctionalIsReturnProgrammer.decompose = function (project) {
|
|
28
56
|
return function (modulo) {
|
|
29
57
|
return function (equals) {
|
|
30
58
|
return function (expression, declaration) {
|
|
@@ -33,11 +61,16 @@ var FunctionalIsReturnProgrammer;
|
|
|
33
61
|
return typescript_1.default.factory.createIdentifier(p.name.getText());
|
|
34
62
|
}));
|
|
35
63
|
var name = StringUtil_1.StringUtil.escapeDuplicate(declaration.parameters.map(function (p) { return p.name.getText(); }))("result");
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
64
|
+
return {
|
|
65
|
+
async: async,
|
|
66
|
+
functions: [
|
|
67
|
+
StatementFactory_1.StatementFactory.constant("__is_return", IsProgrammer_1.IsProgrammer.write(project)(modulo)(equals)(type)),
|
|
68
|
+
],
|
|
69
|
+
statements: [
|
|
70
|
+
StatementFactory_1.StatementFactory.constant(name, async ? typescript_1.default.factory.createAwaitExpression(caller) : caller),
|
|
71
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__is_return"), undefined, [typescript_1.default.factory.createIdentifier(name)]), undefined, typescript_1.default.factory.createIdentifier(name), undefined, typescript_1.default.factory.createNull())),
|
|
72
|
+
],
|
|
73
|
+
};
|
|
41
74
|
};
|
|
42
75
|
};
|
|
43
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalIsReturnProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsReturnProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FunctionalIsReturnProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalIsReturnProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { IProject } from "../../transformers/IProject";
|
|
3
3
|
export declare namespace FunctionalValidateFunctionProgrammer {
|
|
4
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (expression: ts.Expression, declaration: ts.FunctionDeclaration) => ts.CallExpression;
|
|
5
5
|
const hookErrors: (props: {
|
|
6
6
|
expression: ts.Expression;
|
|
7
7
|
replacer: ts.Expression;
|
|
@@ -30,6 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
exports.FunctionalValidateFunctionProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
33
34
|
var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
34
35
|
var FunctionalValidateParametersProgrammer_1 = require("./FunctionalValidateParametersProgrammer");
|
|
35
36
|
var FunctionalValidateReturnProgrammer_1 = require("./FunctionalValidateReturnProgrammer");
|
|
@@ -39,10 +40,13 @@ var FunctionalValidateFunctionProgrammer;
|
|
|
39
40
|
return function (modulo) {
|
|
40
41
|
return function (equals) {
|
|
41
42
|
return function (expression, declaration) {
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
var p = FunctionalValidateParametersProgrammer_1.FunctionalValidateParametersProgrammer.decompose(project)(modulo)(equals)(declaration);
|
|
44
|
+
var r = FunctionalValidateReturnProgrammer_1.FunctionalValidateReturnProgrammer.decompose(project)(modulo)(equals)(expression, declaration);
|
|
45
|
+
return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(p.functions), false), __read(r.functions), false), [
|
|
46
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createArrowFunction(r.async
|
|
47
|
+
? [typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)]
|
|
48
|
+
: undefined, undefined, declaration.parameters, FunctionalValidateFunctionProgrammer.getReturnTypeNode(declaration, r.async), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(p.statements), false), __read(r.statements), false), true))),
|
|
49
|
+
], false), true));
|
|
46
50
|
};
|
|
47
51
|
};
|
|
48
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalValidateFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalValidateFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,mGAAkG;AAClG,2FAA0F;AAE1F,IAAiB,oCAAoC,
|
|
1
|
+
{"version":3,"file":"FunctionalValidateFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/functional/FunctionalValidateFunctionProgrammer.ts"],"names":[],"mappings":"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"}
|