@useparagon/cli 0.0.1-canary.1
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/codegen/codegen.types.d.ts +9 -0
- package/dist/codegen/codegen.types.js +3 -0
- package/dist/codegen/codegen.types.js.map +1 -0
- package/dist/codegen/codegen.utils.d.ts +4 -0
- package/dist/codegen/codegen.utils.js +70 -0
- package/dist/codegen/codegen.utils.js.map +1 -0
- package/dist/codegen/codegens/condition.codegen.d.ts +2 -0
- package/dist/codegen/codegens/condition.codegen.js +28 -0
- package/dist/codegen/codegens/condition.codegen.js.map +1 -0
- package/dist/codegen/codegens/event.codegen.d.ts +2 -0
- package/dist/codegen/codegens/event.codegen.js +35 -0
- package/dist/codegen/codegens/event.codegen.js.map +1 -0
- package/dist/codegen/codegens/integration.codegen.d.ts +2 -0
- package/dist/codegen/codegens/integration.codegen.js +18 -0
- package/dist/codegen/codegens/integration.codegen.js.map +1 -0
- package/dist/codegen/codegens/source.codegen.d.ts +5 -0
- package/dist/codegen/codegens/source.codegen.js +104 -0
- package/dist/codegen/codegens/source.codegen.js.map +1 -0
- package/dist/codegen/codegens/workflow.codegen.d.ts +3 -0
- package/dist/codegen/codegens/workflow.codegen.js +278 -0
- package/dist/codegen/codegens/workflow.codegen.js.map +1 -0
- package/dist/commands/build/build.action.d.ts +8 -0
- package/dist/commands/build/build.action.js +49 -0
- package/dist/commands/build/build.action.js.map +1 -0
- package/dist/commands/build/build.command.d.ts +8 -0
- package/dist/commands/build/build.command.js +27 -0
- package/dist/commands/build/build.command.js.map +1 -0
- package/dist/commands/build/build.types.d.ts +6 -0
- package/dist/commands/build/build.types.js +3 -0
- package/dist/commands/build/build.types.js.map +1 -0
- package/dist/commands/build/build.utils.d.ts +1 -0
- package/dist/commands/build/build.utils.js +17 -0
- package/dist/commands/build/build.utils.js.map +1 -0
- package/dist/commands/build/index.d.ts +1 -0
- package/dist/commands/build/index.js +5 -0
- package/dist/commands/build/index.js.map +1 -0
- package/dist/commands/command.interface.d.ts +7 -0
- package/dist/commands/command.interface.js +3 -0
- package/dist/commands/command.interface.js.map +1 -0
- package/dist/commands/command.loader.d.ts +5 -0
- package/dist/commands/command.loader.js +27 -0
- package/dist/commands/command.loader.js.map +1 -0
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.js +6 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init/index.d.ts +1 -0
- package/dist/commands/init/index.js +5 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/commands/init/init.action.d.ts +11 -0
- package/dist/commands/init/init.action.js +92 -0
- package/dist/commands/init/init.action.js.map +1 -0
- package/dist/commands/init/init.command.d.ts +8 -0
- package/dist/commands/init/init.command.js +27 -0
- package/dist/commands/init/init.command.js.map +1 -0
- package/dist/commands/init/init.constants.d.ts +1 -0
- package/dist/commands/init/init.constants.js +21 -0
- package/dist/commands/init/init.constants.js.map +1 -0
- package/dist/commands/init/init.types.d.ts +7 -0
- package/dist/commands/init/init.types.js +3 -0
- package/dist/commands/init/init.types.js.map +1 -0
- package/dist/commands/init/init.utils.d.ts +11 -0
- package/dist/commands/init/init.utils.js +50 -0
- package/dist/commands/init/init.utils.js.map +1 -0
- package/dist/commands/login/index.d.ts +1 -0
- package/dist/commands/login/index.js +5 -0
- package/dist/commands/login/index.js.map +1 -0
- package/dist/commands/login/login.command.d.ts +5 -0
- package/dist/commands/login/login.command.js +26 -0
- package/dist/commands/login/login.command.js.map +1 -0
- package/dist/commands/login/login.types.d.ts +3 -0
- package/dist/commands/login/login.types.js +3 -0
- package/dist/commands/login/login.types.js.map +1 -0
- package/dist/commands/login/login.utils.d.ts +2 -0
- package/dist/commands/login/login.utils.js +47 -0
- package/dist/commands/login/login.utils.js.map +1 -0
- package/dist/compilers/compiler.interface.d.ts +3 -0
- package/dist/compilers/compiler.interface.js +3 -0
- package/dist/compilers/compiler.interface.js.map +1 -0
- package/dist/compilers/compiler.types.d.ts +23 -0
- package/dist/compilers/compiler.types.js +3 -0
- package/dist/compilers/compiler.types.js.map +1 -0
- package/dist/compilers/compiler.utils.d.ts +2 -0
- package/dist/compilers/compiler.utils.js +25 -0
- package/dist/compilers/compiler.utils.js.map +1 -0
- package/dist/compilers/event.compiler.d.ts +7 -0
- package/dist/compilers/event.compiler.js +25 -0
- package/dist/compilers/event.compiler.js.map +1 -0
- package/dist/compilers/integration.compiler.d.ts +9 -0
- package/dist/compilers/integration.compiler.js +55 -0
- package/dist/compilers/integration.compiler.js.map +1 -0
- package/dist/compilers/project.compiler.d.ts +10 -0
- package/dist/compilers/project.compiler.js +50 -0
- package/dist/compilers/project.compiler.js.map +1 -0
- package/dist/compilers/ts.compiler.d.ts +11 -0
- package/dist/compilers/ts.compiler.js +70 -0
- package/dist/compilers/ts.compiler.js.map +1 -0
- package/dist/compilers/workflow.compiler.d.ts +10 -0
- package/dist/compilers/workflow.compiler.js +36 -0
- package/dist/compilers/workflow.compiler.js.map +1 -0
- package/dist/config/config.constants.d.ts +4 -0
- package/dist/config/config.constants.js +12 -0
- package/dist/config/config.constants.js.map +1 -0
- package/dist/config/config.types.d.ts +31 -0
- package/dist/config/config.types.js +18 -0
- package/dist/config/config.types.js.map +1 -0
- package/dist/config/config.utils.d.ts +9 -0
- package/dist/config/config.utils.js +136 -0
- package/dist/config/config.utils.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/helpers/constants.d.ts +2 -0
- package/dist/helpers/constants.js +6 -0
- package/dist/helpers/constants.js.map +1 -0
- package/dist/helpers/json.d.ts +1 -0
- package/dist/helpers/json.js +8 -0
- package/dist/helpers/json.js.map +1 -0
- package/dist/helpers/spinners.d.ts +3 -0
- package/dist/helpers/spinners.js +6 -0
- package/dist/helpers/spinners.js.map +1 -0
- package/dist/helpers/strings.d.ts +1 -0
- package/dist/helpers/strings.js +8 -0
- package/dist/helpers/strings.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/index.d.ts +1 -0
- package/dist/logger/index.js +9 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger.d.ts +3 -0
- package/dist/logger/logger.js +50 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/logger.type.d.ts +8 -0
- package/dist/logger/logger.type.js +3 -0
- package/dist/logger/logger.type.js.map +1 -0
- package/dist/templates/configurations/javascript/.prettierignore +2 -0
- package/dist/templates/configurations/javascript/.prettierrc +11 -0
- package/dist/templates/configurations/typescript/.prettierignore +2 -0
- package/dist/templates/configurations/typescript/.prettierrc +19 -0
- package/dist/templates/javascript/src/events/hello-world.js +13 -0
- package/dist/templates/javascript/src/integrations/slack/config.js +11 -0
- package/dist/templates/javascript/src/integrations/slack/workflows/example-workflow.js +30 -0
- package/dist/templates/typescript/src/events/hello-world.ts +21 -0
- package/dist/templates/typescript/src/integrations/slack/config.ts +18 -0
- package/dist/templates/typescript/src/integrations/slack/workflows/example-workflow.ts +30 -0
- package/dist/templates/typescript/tsconfig.json +31 -0
- package/package.json +56 -0
- package/paragon.json +3 -0
- package/sample/sample.js +404 -0
- package/src/codegen/codegen.types.ts +14 -0
- package/src/codegen/codegen.utils.ts +145 -0
- package/src/codegen/codegens/condition.codegen.ts +49 -0
- package/src/codegen/codegens/event.codegen.ts +39 -0
- package/src/codegen/codegens/integration.codegen.ts +23 -0
- package/src/codegen/codegens/source.codegen.ts +193 -0
- package/src/codegen/codegens/workflow.codegen.ts +495 -0
- package/src/commands/build/build.action.ts +73 -0
- package/src/commands/build/build.command.ts +61 -0
- package/src/commands/build/build.types.ts +7 -0
- package/src/commands/build/build.utils.ts +21 -0
- package/src/commands/build/index.ts +1 -0
- package/src/commands/command.interface.ts +22 -0
- package/src/commands/command.loader.ts +33 -0
- package/src/commands/index.ts +2 -0
- package/src/commands/init/index.ts +1 -0
- package/src/commands/init/init.action.ts +166 -0
- package/src/commands/init/init.command.ts +71 -0
- package/src/commands/init/init.constants.ts +29 -0
- package/src/commands/init/init.types.ts +8 -0
- package/src/commands/init/init.utils.ts +91 -0
- package/src/commands/login/index.ts +1 -0
- package/src/commands/login/login.command.ts +48 -0
- package/src/commands/login/login.types.ts +9 -0
- package/src/commands/login/login.utils.ts +68 -0
- package/src/compilers/compiler.interface.ts +9 -0
- package/src/compilers/compiler.types.ts +52 -0
- package/src/compilers/compiler.utils.ts +32 -0
- package/src/compilers/event.compiler.ts +33 -0
- package/src/compilers/integration.compiler.ts +84 -0
- package/src/compilers/project.compiler.ts +86 -0
- package/src/compilers/ts.compiler.ts +116 -0
- package/src/compilers/workflow.compiler.ts +69 -0
- package/src/config/config.constants.ts +27 -0
- package/src/config/config.types.ts +112 -0
- package/src/config/config.utils.ts +251 -0
- package/src/config/index.ts +2 -0
- package/src/helpers/constants.ts +9 -0
- package/src/helpers/json.ts +8 -0
- package/src/helpers/spinners.ts +3 -0
- package/src/helpers/strings.ts +9 -0
- package/src/index.ts +26 -0
- package/src/logger/index.ts +1 -0
- package/src/logger/logger.ts +97 -0
- package/src/logger/logger.type.ts +8 -0
- package/templates/configurations/javascript/.prettierignore +2 -0
- package/templates/configurations/javascript/.prettierrc +11 -0
- package/templates/configurations/typescript/.prettierignore +2 -0
- package/templates/configurations/typescript/.prettierrc +19 -0
- package/templates/javascript/src/events/hello-world.js +13 -0
- package/templates/javascript/src/integrations/slack/config.js +11 -0
- package/templates/javascript/src/integrations/slack/workflows/example-workflow.js +30 -0
- package/templates/typescript/src/events/hello-world.ts +21 -0
- package/templates/typescript/src/integrations/slack/config.ts +18 -0
- package/templates/typescript/src/integrations/slack/workflows/example-workflow.ts +30 -0
- package/templates/typescript/tsconfig.json +31 -0
- package/tsconfig.json +13 -0
- package/tsconfig.release.json +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.types.js","sourceRoot":"","sources":["../../src/codegen/codegen.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BuildOutput, IntegrationOutput, ProjectDependencies } from '../compilers/compiler.types';
|
|
2
|
+
export declare const wrapMultilineString: (value: string) => string;
|
|
3
|
+
export declare const generateIntegrationFiles: (integrationName: string, integrationOutput: IntegrationOutput, projectDependencies: ProjectDependencies, projectRoot: string) => Promise<void>;
|
|
4
|
+
export declare const generateProjectFiles: (projectBuild: BuildOutput, projectRoot: string) => Promise<void>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateProjectFiles = exports.generateIntegrationFiles = exports.wrapMultilineString = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const importSortOrderPlugin = tslib_1.__importStar(require("@trivago/prettier-plugin-sort-imports"));
|
|
6
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
|
+
const prettier_1 = tslib_1.__importDefault(require("prettier"));
|
|
9
|
+
const organiseImportPlugin = tslib_1.__importStar(require("prettier-plugin-organize-imports"));
|
|
10
|
+
const event_codegen_1 = require("./codegens/event.codegen");
|
|
11
|
+
const integration_codegen_1 = require("./codegens/integration.codegen");
|
|
12
|
+
const workflow_codegen_1 = require("./codegens/workflow.codegen");
|
|
13
|
+
const writeSourceToFile = (filePath, fileName, sourceCode) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
const sanitizeFileName = fileName;
|
|
15
|
+
const formattedCode = prettier_1.default.format(sourceCode, {
|
|
16
|
+
parser: 'typescript',
|
|
17
|
+
semi: true,
|
|
18
|
+
trailingComma: 'all',
|
|
19
|
+
singleQuote: true,
|
|
20
|
+
plugins: [organiseImportPlugin, importSortOrderPlugin],
|
|
21
|
+
importOrder: ['^@useparagon/(.*)$', '^[./]'],
|
|
22
|
+
importOrderSeparation: true,
|
|
23
|
+
importOrderCaseInsensitive: true,
|
|
24
|
+
});
|
|
25
|
+
yield fs_extra_1.default.promises.writeFile(path_1.default.join(filePath, `${sanitizeFileName}.ts`), formattedCode);
|
|
26
|
+
});
|
|
27
|
+
const wrapMultilineString = (value) => {
|
|
28
|
+
return '`' + value + '`';
|
|
29
|
+
};
|
|
30
|
+
exports.wrapMultilineString = wrapMultilineString;
|
|
31
|
+
const generateIntegrationFiles = (integrationName, integrationOutput, projectDependencies, projectRoot) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const integrationPath = path_1.default.join(projectRoot, 'integrations', integrationName);
|
|
33
|
+
yield fs_extra_1.default.promises.mkdir(integrationPath, {
|
|
34
|
+
recursive: true,
|
|
35
|
+
});
|
|
36
|
+
const configCode = (0, integration_codegen_1.integrationConfigToCode)(integrationOutput.config, integrationName);
|
|
37
|
+
yield writeSourceToFile(integrationPath, 'config', configCode);
|
|
38
|
+
const workflowOutputs = Object.values(integrationOutput.workflows);
|
|
39
|
+
const workflowPath = path_1.default.join(integrationPath, 'workflows');
|
|
40
|
+
if (workflowOutputs.length) {
|
|
41
|
+
fs_extra_1.default.promises.mkdir(workflowPath, {
|
|
42
|
+
recursive: true,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
for (const workflowOutput of workflowOutputs) {
|
|
46
|
+
const workflowCode = (0, workflow_codegen_1.workflowToCode)(workflowOutput, Object.assign(Object.assign({}, projectDependencies), { integration: { name: integrationName } }));
|
|
47
|
+
yield writeSourceToFile(workflowPath, workflowOutput.name, workflowCode);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
exports.generateIntegrationFiles = generateIntegrationFiles;
|
|
51
|
+
const generateProjectFiles = (projectBuild, projectRoot) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
yield fs_extra_1.default.promises.mkdir(projectRoot, { recursive: true });
|
|
53
|
+
const events = Object.values(projectBuild.events);
|
|
54
|
+
const eventPath = path_1.default.join(projectRoot, 'events');
|
|
55
|
+
if (events.length) {
|
|
56
|
+
yield fs_extra_1.default.promises.mkdir(eventPath, {
|
|
57
|
+
recursive: true,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
for (const event of events) {
|
|
61
|
+
const eventSourceCode = (0, event_codegen_1.eventToCode)(event);
|
|
62
|
+
yield writeSourceToFile(eventPath, event.name, eventSourceCode);
|
|
63
|
+
}
|
|
64
|
+
const integrationOutputs = Object.entries(projectBuild.integrations);
|
|
65
|
+
for (const [integrationName, integrationOutput] of integrationOutputs) {
|
|
66
|
+
yield (0, exports.generateIntegrationFiles)(integrationName, integrationOutput, { events: projectBuild.events }, projectRoot);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
exports.generateProjectFiles = generateProjectFiles;
|
|
70
|
+
//# sourceMappingURL=codegen.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.utils.js","sourceRoot":"","sources":["../../src/codegen/codegen.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.conditionToCode = void 0;
|
|
4
|
+
const resolvers_1 = require("@useparagon/core/resolvers");
|
|
5
|
+
const source_codegen_1 = require("./source.codegen");
|
|
6
|
+
const conditionToCode = (operatorCondition, stepIdToVariableMap) => {
|
|
7
|
+
let code = '';
|
|
8
|
+
const condition = operatorCondition.condition;
|
|
9
|
+
switch (condition.operator) {
|
|
10
|
+
case resolvers_1.Operator.BooleanTrue: {
|
|
11
|
+
const variable = (0, source_codegen_1.convertSourceToCode)(condition.variable, stepIdToVariableMap);
|
|
12
|
+
code = `Operators.BooleanTrue(${variable})`;
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
case resolvers_1.Operator.StringContains: {
|
|
16
|
+
const variable = (0, source_codegen_1.convertSourceToCode)(condition.variable, stepIdToVariableMap);
|
|
17
|
+
const argument = (0, source_codegen_1.convertSourceToCode)(condition.argument, stepIdToVariableMap);
|
|
18
|
+
code = `Operators.StringContains(${variable},${argument})`;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
default:
|
|
22
|
+
code = 'undefined';
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
return code;
|
|
26
|
+
};
|
|
27
|
+
exports.conditionToCode = conditionToCode;
|
|
28
|
+
//# sourceMappingURL=condition.codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/condition.codegen.ts"],"names":[],"mappings":";;;AAAA,0DAIoC;AAEpC,qDAAuD;AAOhD,MAAM,eAAe,GAAG,CAC7B,iBAAoC,EACpC,mBAA2C,EACnC,EAAE;IACV,IAAI,IAAI,GAAW,EAAE,CAAC;IAEtB,MAAM,SAAS,GAAc,iBAAiB,CAAC,SAAS,CAAC;IAEzD,QAAQ,SAAS,CAAC,QAAQ,EAAE;QAC1B,KAAK,oBAAQ,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,IAAI,GAAG,yBAAyB,QAAQ,GAAG,CAAC;YAC5C,MAAM;SACP;QAED,KAAK,oBAAQ,CAAC,cAAc,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,IAAI,GAAG,4BAA4B,QAAQ,IAAI,QAAQ,GAAG,CAAC;YAC3D,MAAM;SACP;QACD;YACE,IAAI,GAAG,WAAW,CAAC;YACnB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnCW,QAAA,eAAe,mBAmC1B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eventToCode = void 0;
|
|
4
|
+
const json_1 = require("../../helpers/json");
|
|
5
|
+
const eventToCode = (event) => {
|
|
6
|
+
const sourceCode = `
|
|
7
|
+
import { IEvent } from '@useparagon/core/event';
|
|
8
|
+
|
|
9
|
+
export type EventSchema = {
|
|
10
|
+
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const event: IEvent<EventSchema> = {
|
|
14
|
+
/**
|
|
15
|
+
* This property is maintained by Paragon. Do not edit this property.
|
|
16
|
+
*/
|
|
17
|
+
id: '${event.id}',
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* name of event
|
|
21
|
+
*/
|
|
22
|
+
name : '${event.name}',
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* schema of event payload
|
|
26
|
+
*/
|
|
27
|
+
schema:${(0, json_1.stringifyObject)(event.schema)}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default event;
|
|
31
|
+
`;
|
|
32
|
+
return sourceCode;
|
|
33
|
+
};
|
|
34
|
+
exports.eventToCode = eventToCode;
|
|
35
|
+
//# sourceMappingURL=event.codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/event.codegen.ts"],"names":[],"mappings":";;;AAEA,6CAAqD;AAO9C,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,MAAM,UAAU,GAAW;;;;;;;;;;;UAWnB,KAAK,CAAC,EAAE;;;;;aAKL,KAAK,CAAC,IAAI;;;;;YAKX,IAAA,sBAAe,EAAC,KAAK,CAAC,MAAM,CAAC;;;;EAIvC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.integrationConfigToCode = void 0;
|
|
4
|
+
const json_1 = require("../../helpers/json");
|
|
5
|
+
const integrationConfigToCode = (config, integrationName) => {
|
|
6
|
+
const sourceCode = `
|
|
7
|
+
import { IIntegrationConfig } from '@useparagon/core';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* configuration for a ${integrationName}
|
|
11
|
+
*/
|
|
12
|
+
const config: IIntegrationConfig = ${(0, json_1.stringifyObject)(config || {})}
|
|
13
|
+
|
|
14
|
+
export default config;`;
|
|
15
|
+
return sourceCode;
|
|
16
|
+
};
|
|
17
|
+
exports.integrationConfigToCode = integrationConfigToCode;
|
|
18
|
+
//# sourceMappingURL=integration.codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/integration.codegen.ts"],"names":[],"mappings":";;;AACA,6CAAqD;AAM9C,MAAM,uBAAuB,GAAG,CACrC,MAAmC,EACnC,eAAuB,EACf,EAAE;IACV,MAAM,UAAU,GAAW;;;;6BAIA,eAAe;;yCAEH,IAAA,sBAAe,EAAC,MAAM,IAAI,EAAE,CAAC;;2BAE3C,CAAC;IAE1B,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAfW,QAAA,uBAAuB,2BAelC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DataType, KeyedSource, Source, TokenizedSource } from '@useparagon/core/resolvers';
|
|
2
|
+
export declare const EMPTY_TOKENIZED_SOURCE: TokenizedSource<DataType.STRING>;
|
|
3
|
+
export declare const convertSourceToCode: (source: Source, stepIdToVariableMap: Record<string, string>, isTokenizedPart?: boolean) => string;
|
|
4
|
+
export declare const convertKeyedSourceToCode: (source: KeyedSource, stepIdToVariableMap: Record<string, string>) => [string, string];
|
|
5
|
+
export declare const covertKeyedSourceParamsToCode: (parameters: KeyedSource<DataType>[], stepIdToVariableMap: Record<string, string>) => string;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.covertKeyedSourceParamsToCode = exports.convertKeyedSourceToCode = exports.convertSourceToCode = exports.EMPTY_TOKENIZED_SOURCE = void 0;
|
|
4
|
+
const resolvers_1 = require("@useparagon/core/resolvers");
|
|
5
|
+
const condition_codegen_1 = require("./condition.codegen");
|
|
6
|
+
exports.EMPTY_TOKENIZED_SOURCE = {
|
|
7
|
+
type: 'TOKENIZED',
|
|
8
|
+
parts: [
|
|
9
|
+
{
|
|
10
|
+
dataType: resolvers_1.DataType.STRING,
|
|
11
|
+
type: 'VALUE',
|
|
12
|
+
value: '',
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
};
|
|
16
|
+
const convertSourceToCode = (source, stepIdToVariableMap, isTokenizedPart = false) => {
|
|
17
|
+
let value = '';
|
|
18
|
+
switch (source.type) {
|
|
19
|
+
case 'VALUE':
|
|
20
|
+
value = '"' + source.value + '"';
|
|
21
|
+
break;
|
|
22
|
+
case 'TOKENIZED':
|
|
23
|
+
value = source.parts.reduce((acc, currentSource) => {
|
|
24
|
+
return `${acc}${(0, exports.convertSourceToCode)(currentSource, stepIdToVariableMap, true)}`;
|
|
25
|
+
}, '');
|
|
26
|
+
value = '`' + value + '`';
|
|
27
|
+
break;
|
|
28
|
+
case 'VARIABLE':
|
|
29
|
+
const sanitizedPaths = source.path.filter((path) => Boolean(path));
|
|
30
|
+
value = `context.getOutput(${stepIdToVariableMap[source.stepId]})${sanitizedPaths.length ? `?.${sanitizedPaths.join('?.')}` : ''}`;
|
|
31
|
+
if (isTokenizedPart) {
|
|
32
|
+
value = '${' + value + '}';
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
case 'CONDITION':
|
|
36
|
+
const conditionWrapper = source.condition;
|
|
37
|
+
if (conditionWrapper.type !== 'JOIN' || conditionWrapper.join !== 'OR') {
|
|
38
|
+
return 'undefined';
|
|
39
|
+
}
|
|
40
|
+
const conditions = conditionWrapper.conditions
|
|
41
|
+
.map((condition) => {
|
|
42
|
+
if (condition.type === 'JOIN' && condition.join === 'AND') {
|
|
43
|
+
const andConditions = condition.conditions;
|
|
44
|
+
return andConditions;
|
|
45
|
+
}
|
|
46
|
+
return [];
|
|
47
|
+
})
|
|
48
|
+
.filter((conditions) => conditions.length);
|
|
49
|
+
const convertAndConditionsToCode = (conditions, stepIdToVariableMap) => {
|
|
50
|
+
return conditions.reduce((accumulator, condition, index) => {
|
|
51
|
+
const conditionCode = (0, condition_codegen_1.conditionToCode)(condition, stepIdToVariableMap);
|
|
52
|
+
if (index === conditions.length - 1) {
|
|
53
|
+
return `${accumulator}${conditionCode}]`;
|
|
54
|
+
}
|
|
55
|
+
return `${accumulator}${conditionCode},`;
|
|
56
|
+
}, '[');
|
|
57
|
+
};
|
|
58
|
+
if (conditions.length === 1 && conditions[0].length === 1) {
|
|
59
|
+
const condition = conditions[0][0];
|
|
60
|
+
value = (0, condition_codegen_1.conditionToCode)(condition, stepIdToVariableMap);
|
|
61
|
+
}
|
|
62
|
+
else if (conditions.length === 1) {
|
|
63
|
+
const andConditions = conditions[0];
|
|
64
|
+
value = convertAndConditionsToCode(andConditions, stepIdToVariableMap);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const orConditions = conditions;
|
|
68
|
+
value = orConditions.reduce((accumulator, andConditions, index) => {
|
|
69
|
+
const andConditionCode = convertAndConditionsToCode(andConditions, stepIdToVariableMap);
|
|
70
|
+
if (index === orConditions.length - 1) {
|
|
71
|
+
return `${accumulator}${andConditionCode}]`;
|
|
72
|
+
}
|
|
73
|
+
return `${accumulator}${andConditionCode},`;
|
|
74
|
+
}, '[');
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
default:
|
|
78
|
+
throw new Error(`source type ${source.type} not implemented.`);
|
|
79
|
+
}
|
|
80
|
+
return value;
|
|
81
|
+
};
|
|
82
|
+
exports.convertSourceToCode = convertSourceToCode;
|
|
83
|
+
const convertKeyedSourceToCode = (source, stepIdToVariableMap) => {
|
|
84
|
+
return [source.key, (0, exports.convertSourceToCode)(source.source, stepIdToVariableMap)];
|
|
85
|
+
};
|
|
86
|
+
exports.convertKeyedSourceToCode = convertKeyedSourceToCode;
|
|
87
|
+
const covertKeyedSourceParamsToCode = (parameters, stepIdToVariableMap) => {
|
|
88
|
+
if (!parameters.length) {
|
|
89
|
+
return '{}';
|
|
90
|
+
}
|
|
91
|
+
const value = parameters.reduce((accumulator, keyedSource, index) => {
|
|
92
|
+
const [key, value] = (0, exports.convertKeyedSourceToCode)(keyedSource, stepIdToVariableMap);
|
|
93
|
+
if (index > 0) {
|
|
94
|
+
accumulator += ',';
|
|
95
|
+
}
|
|
96
|
+
if (index === parameters.length - 1) {
|
|
97
|
+
return `${accumulator}${key} : ${value}}`;
|
|
98
|
+
}
|
|
99
|
+
return `${accumulator}${key} : ${value}`;
|
|
100
|
+
}, '{');
|
|
101
|
+
return value;
|
|
102
|
+
};
|
|
103
|
+
exports.covertKeyedSourceParamsToCode = covertKeyedSourceParamsToCode;
|
|
104
|
+
//# sourceMappingURL=source.codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/source.codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workflowToCode = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@useparagon/core");
|
|
6
|
+
const cron_1 = require("@useparagon/core/triggers/cron");
|
|
7
|
+
const json_1 = require("../../helpers/json");
|
|
8
|
+
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
9
|
+
const source_codegen_1 = require("./source.codegen");
|
|
10
|
+
const workflowToCode = (workflowBuild, dependencies) => {
|
|
11
|
+
const { id: workflowId, name: workflowName, stateMachine } = workflowBuild;
|
|
12
|
+
const startStepId = stateMachine.sequenceMap[stateMachine.start].start;
|
|
13
|
+
if (!startStepId) {
|
|
14
|
+
logger_1.default.fatal(`Workflow ${workflowName} with no start step id.`);
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
const stepIdToVariableMap = {};
|
|
18
|
+
const imports = [
|
|
19
|
+
'import { IContext} from "@useparagon/core/execution";',
|
|
20
|
+
'import { Workflow, ActionStep, CronStep, DelayStep, EventStep, FunctionStep, ConditionalStep, FanOutStep, ResponseStep, RequestStep, IntegrationEnabledStep} from "@useparagon/core";',
|
|
21
|
+
'import * as Operators from "@useparagon/core/operator";',
|
|
22
|
+
];
|
|
23
|
+
const statements = [];
|
|
24
|
+
const stepCode = getStepCodeParts(startStepId, stateMachine.stepMap, stepIdToVariableMap, dependencies);
|
|
25
|
+
imports.push(...new Set(stepCode.imports));
|
|
26
|
+
statements.push(...stepCode.varDeclarations);
|
|
27
|
+
const sourceCode = `
|
|
28
|
+
${imports.join('\n')}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* ${workflowName} Workflow impolementation
|
|
32
|
+
*/
|
|
33
|
+
export default class extends Workflow<any> {
|
|
34
|
+
/**
|
|
35
|
+
* This property is maintained by Paragon. Do not edit this property.
|
|
36
|
+
*/
|
|
37
|
+
readonly id: '${workflowId}'
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* defines the workflow
|
|
41
|
+
* @param integration
|
|
42
|
+
* @param context
|
|
43
|
+
* @param user
|
|
44
|
+
*/
|
|
45
|
+
define(_integration: any, context: IContext) {
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* declare all steps here
|
|
49
|
+
*/
|
|
50
|
+
${statements.join('\n')}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* chain steps correctly here
|
|
54
|
+
*/
|
|
55
|
+
${stepCode.stepChains}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* pass all steps here so that paragon can keep track of changes
|
|
59
|
+
*/
|
|
60
|
+
return this.register({ ${Object.values(stepIdToVariableMap).join(', ')} });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`;
|
|
64
|
+
return sourceCode;
|
|
65
|
+
};
|
|
66
|
+
exports.workflowToCode = workflowToCode;
|
|
67
|
+
const getStepCodeParts = (startStepId, stepMap, stepIdToVariableMap, dependencies) => {
|
|
68
|
+
var _a;
|
|
69
|
+
const imports = [];
|
|
70
|
+
const varDeclarations = [];
|
|
71
|
+
let stepChains = '';
|
|
72
|
+
let currentStep = stepMap[startStepId];
|
|
73
|
+
let stepCount = 1;
|
|
74
|
+
const totalKeys = Object.values(stepIdToVariableMap).length;
|
|
75
|
+
const prefix = totalKeys ? `${totalKeys}_` : '';
|
|
76
|
+
const variableChains = [];
|
|
77
|
+
while (currentStep != undefined) {
|
|
78
|
+
const variableName = (((_a = currentStep._migrations) === null || _a === void 0 ? void 0 : _a['name']) ||
|
|
79
|
+
`step${prefix}${stepCount}`);
|
|
80
|
+
stepIdToVariableMap[currentStep.id] = variableName;
|
|
81
|
+
const stepCode = getStepCodePart(currentStep, stepIdToVariableMap, stepMap, dependencies);
|
|
82
|
+
imports.push(...stepCode.imports);
|
|
83
|
+
varDeclarations.push(...stepCode.varDeclarations);
|
|
84
|
+
if (stepCode.stepChains.trim()) {
|
|
85
|
+
variableChains.push(`
|
|
86
|
+
${variableName}.${stepCode.stepChains}
|
|
87
|
+
`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
variableChains.push(variableName);
|
|
91
|
+
}
|
|
92
|
+
const nextStepId = currentStep.next;
|
|
93
|
+
currentStep = undefined;
|
|
94
|
+
if (nextStepId) {
|
|
95
|
+
currentStep = stepMap[nextStepId];
|
|
96
|
+
}
|
|
97
|
+
stepCount += 1;
|
|
98
|
+
}
|
|
99
|
+
if (variableChains.length) {
|
|
100
|
+
stepChains = `
|
|
101
|
+
${variableChains
|
|
102
|
+
.map((currentName, index) => {
|
|
103
|
+
if (index > 0) {
|
|
104
|
+
return `${currentName})`;
|
|
105
|
+
}
|
|
106
|
+
return currentName;
|
|
107
|
+
})
|
|
108
|
+
.join('.nextStep(')}
|
|
109
|
+
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
imports,
|
|
114
|
+
varDeclarations,
|
|
115
|
+
stepChains,
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
const getStepCodePart = (step, stepIdToVariableMap, stepMap, dependencies) => {
|
|
119
|
+
var _a, _b, _c, _d, _e, _f;
|
|
120
|
+
const varDeclarations = [];
|
|
121
|
+
const imports = [];
|
|
122
|
+
let stepChains = '';
|
|
123
|
+
switch (step.type) {
|
|
124
|
+
case core_1.StepType.ACTION:
|
|
125
|
+
varDeclarations.push(`
|
|
126
|
+
const ${stepIdToVariableMap[step.id]}:ActionStep = new ActionStep({
|
|
127
|
+
actionType : ${step.parameters.actionType},
|
|
128
|
+
intent : ${step.parameters.intent},
|
|
129
|
+
parameters : ${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.actionParameters, stepIdToVariableMap)}
|
|
130
|
+
});
|
|
131
|
+
`);
|
|
132
|
+
break;
|
|
133
|
+
case core_1.StepType.CRON:
|
|
134
|
+
varDeclarations.push(`
|
|
135
|
+
const ${stepIdToVariableMap[step.id]}:CronStep = new CronStep(${(0, json_1.stringifyObject)((0, cron_1.getCronOptions)(step.parameters.schedule))});
|
|
136
|
+
`);
|
|
137
|
+
break;
|
|
138
|
+
case core_1.StepType.CUSTOM_INTEGRATION_REQUEST:
|
|
139
|
+
const requestBodyType = (_a = step.parameters.bodyType) !== null && _a !== void 0 ? _a : 'json';
|
|
140
|
+
varDeclarations.push(`
|
|
141
|
+
const ${stepIdToVariableMap[step.id]}: RequestStep = new RequestStep({
|
|
142
|
+
path: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.url, stepIdToVariableMap)},
|
|
143
|
+
params:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
|
|
144
|
+
headers:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
|
|
145
|
+
body:${['xml', 'raw'].includes(requestBodyType)
|
|
146
|
+
? (0, source_codegen_1.convertSourceToCode)(step.parameters.rawBody || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
|
|
147
|
+
: (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.body, stepIdToVariableMap)},
|
|
148
|
+
${step.parameters.pagination ? '' : ''}
|
|
149
|
+
});
|
|
150
|
+
`);
|
|
151
|
+
break;
|
|
152
|
+
case core_1.StepType.DELAY:
|
|
153
|
+
varDeclarations.push(`
|
|
154
|
+
const ${stepIdToVariableMap[step.id]}:DelayStep = new DelayStep({
|
|
155
|
+
unit: '${step.parameters.unit}',
|
|
156
|
+
value: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.value, stepIdToVariableMap)},
|
|
157
|
+
});
|
|
158
|
+
`);
|
|
159
|
+
break;
|
|
160
|
+
case core_1.StepType.ENDPOINT:
|
|
161
|
+
varDeclarations.push(`
|
|
162
|
+
const ${stepIdToVariableMap[step.id]}:EndpointStep = new EndpointStep({
|
|
163
|
+
allowArbitraryPayload : ${step.parameters.allowArbitraryPayload},
|
|
164
|
+
${step.parameters.allowArbitraryPayload
|
|
165
|
+
? ''
|
|
166
|
+
: `
|
|
167
|
+
paramValidations:${(0, json_1.stringifyObject)(step.parameters.paramValidations)},
|
|
168
|
+
headerValidations:${(0, json_1.stringifyObject)(step.parameters.headerValidations)},
|
|
169
|
+
bodyValidations:${(0, json_1.stringifyObject)(step.parameters.bodyValidations)}
|
|
170
|
+
`}
|
|
171
|
+
});
|
|
172
|
+
`);
|
|
173
|
+
break;
|
|
174
|
+
case core_1.StepType.EVENT:
|
|
175
|
+
const eventName = dependencies.events[step.parameters.eventId].name;
|
|
176
|
+
imports.push(...[`import event from '../../../events/${eventName}';`]);
|
|
177
|
+
varDeclarations.push(`
|
|
178
|
+
const ${stepIdToVariableMap[step.id]}:EventStep = new EventStep(event);
|
|
179
|
+
`);
|
|
180
|
+
break;
|
|
181
|
+
case core_1.StepType.FUNCTION:
|
|
182
|
+
const paramsCode = (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.parameters, stepIdToVariableMap);
|
|
183
|
+
varDeclarations.push(`
|
|
184
|
+
const ${stepIdToVariableMap[step.id]}:FunctionStep = new FunctionStep({
|
|
185
|
+
code: ${step.parameters.code},
|
|
186
|
+
parameters: ${paramsCode}
|
|
187
|
+
});
|
|
188
|
+
`);
|
|
189
|
+
break;
|
|
190
|
+
case core_1.StepType.IFELSE:
|
|
191
|
+
const ifStepId = (_b = step.parameters.choices.find((choice) => choice.label === 'Yes')) === null || _b === void 0 ? void 0 : _b.next;
|
|
192
|
+
const elseStepId = (_c = step.parameters.choices.find((choice) => choice.label === 'No')) === null || _c === void 0 ? void 0 : _c.next;
|
|
193
|
+
if (ifStepId) {
|
|
194
|
+
const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(ifStepId, stepMap, stepIdToVariableMap, dependencies);
|
|
195
|
+
imports.push(...nextIterateImports);
|
|
196
|
+
varDeclarations.push(...nextIterateVarDeclartions);
|
|
197
|
+
stepChains += `whenTrue(${nextIterationStepChains})`;
|
|
198
|
+
}
|
|
199
|
+
if (elseStepId) {
|
|
200
|
+
const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(elseStepId, stepMap, stepIdToVariableMap, dependencies);
|
|
201
|
+
imports.push(...nextIterateImports);
|
|
202
|
+
varDeclarations.push(...nextIterateVarDeclartions);
|
|
203
|
+
stepChains += ifStepId
|
|
204
|
+
? `.whenFalse(${nextIterationStepChains})`
|
|
205
|
+
: `whenFalse(${nextIterationStepChains})`;
|
|
206
|
+
}
|
|
207
|
+
const ifCondition = (_d = step.parameters.choices.find((choice) => choice.label === 'Yes')) === null || _d === void 0 ? void 0 : _d.conditionWrapper;
|
|
208
|
+
varDeclarations.push(`
|
|
209
|
+
const ${stepIdToVariableMap[step.id]}:ConditionalStep = new ConditionalStep({
|
|
210
|
+
if : ${!ifCondition
|
|
211
|
+
? 'undefined'
|
|
212
|
+
: (0, source_codegen_1.convertSourceToCode)({
|
|
213
|
+
type: 'CONDITION',
|
|
214
|
+
condition: ifCondition,
|
|
215
|
+
}, stepIdToVariableMap)}
|
|
216
|
+
});
|
|
217
|
+
`);
|
|
218
|
+
break;
|
|
219
|
+
case core_1.StepType.INTEGRATION_ENABLED:
|
|
220
|
+
varDeclarations.push(`
|
|
221
|
+
const ${stepIdToVariableMap[step.id]}:IntegrationEnabledStep = new IntegrationEnabledStep({});
|
|
222
|
+
`);
|
|
223
|
+
break;
|
|
224
|
+
case core_1.StepType.MAP:
|
|
225
|
+
let nextStepId = step.parameters.nextToIterate;
|
|
226
|
+
if (nextStepId) {
|
|
227
|
+
const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(nextStepId, stepMap, stepIdToVariableMap, dependencies);
|
|
228
|
+
imports.push(...nextIterateImports);
|
|
229
|
+
varDeclarations.push(...nextIterateVarDeclartions);
|
|
230
|
+
stepChains = `branch(${nextIterationStepChains})`;
|
|
231
|
+
}
|
|
232
|
+
varDeclarations.push(`
|
|
233
|
+
const ${stepIdToVariableMap[step.id]}:FanOutStep = new FanOutStep({
|
|
234
|
+
iterator : ${(0, source_codegen_1.convertSourceToCode)(step.parameters.iterator, stepIdToVariableMap)},
|
|
235
|
+
});
|
|
236
|
+
`);
|
|
237
|
+
break;
|
|
238
|
+
case core_1.StepType.RESPONSE:
|
|
239
|
+
const responseType = (_e = step.parameters.responseType) !== null && _e !== void 0 ? _e : 'JSON';
|
|
240
|
+
varDeclarations.push(`
|
|
241
|
+
const ${stepIdToVariableMap[step.id]}: ResponseStep = new ResponseStep({
|
|
242
|
+
statusCode:${step.parameters.statusCode},
|
|
243
|
+
responseType:"${responseType}",
|
|
244
|
+
body: ${responseType === 'FILE'
|
|
245
|
+
? step.parameters.bodyFile
|
|
246
|
+
? (0, source_codegen_1.convertSourceToCode)(step.parameters.bodyFile || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
|
|
247
|
+
: '""'
|
|
248
|
+
: (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.bodyData, stepIdToVariableMap)}
|
|
249
|
+
});
|
|
250
|
+
`);
|
|
251
|
+
break;
|
|
252
|
+
case core_1.StepType.REQUEST:
|
|
253
|
+
const bodyType = (_f = step.parameters.bodyType) !== null && _f !== void 0 ? _f : 'json';
|
|
254
|
+
varDeclarations.push(`
|
|
255
|
+
const ${stepIdToVariableMap[step.id]}: RequestStep = new RequestStep({
|
|
256
|
+
url: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.url, stepIdToVariableMap)},
|
|
257
|
+
method:"${step.parameters.httpMethod}",
|
|
258
|
+
params:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
|
|
259
|
+
headers:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
|
|
260
|
+
${step.parameters.httpMethod === 'GET'
|
|
261
|
+
? ''
|
|
262
|
+
: `
|
|
263
|
+
body:${['xml', 'raw'].includes(bodyType)
|
|
264
|
+
? (0, source_codegen_1.convertSourceToCode)(step.parameters.rawBody || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
|
|
265
|
+
: (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.body, stepIdToVariableMap)}`}
|
|
266
|
+
});
|
|
267
|
+
`);
|
|
268
|
+
break;
|
|
269
|
+
default:
|
|
270
|
+
logger_1.default.fatal(`Invalid step type "${step['type']}`);
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
imports,
|
|
274
|
+
varDeclarations,
|
|
275
|
+
stepChains,
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
//# sourceMappingURL=workflow.codegen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/workflow.codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IAction } from '../command.interface';
|
|
2
|
+
import { ProjectCompiler } from '../../compilers/project.compiler';
|
|
3
|
+
import { BuildCommandOptions } from './build.types';
|
|
4
|
+
export declare class BuildAction implements IAction<BuildCommandOptions, void> {
|
|
5
|
+
projectCompiler: ProjectCompiler;
|
|
6
|
+
constructor();
|
|
7
|
+
handle(options: BuildCommandOptions): Promise<void>;
|
|
8
|
+
}
|