@n8n/workflow-sdk 0.31.0 → 0.32.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/ast-interpreter/errors.d.ts +4 -0
- package/dist/ast-interpreter/errors.js +9 -1
- package/dist/ast-interpreter/errors.js.map +1 -1
- package/dist/ast-interpreter/index.d.ts +1 -1
- package/dist/ast-interpreter/index.js +2 -1
- package/dist/ast-interpreter/index.js.map +1 -1
- package/dist/ast-interpreter/interpreter.js +193 -70
- package/dist/ast-interpreter/interpreter.js.map +1 -1
- package/dist/ast-interpreter/validators.js +1 -0
- package/dist/ast-interpreter/validators.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/codegen/code-generator.d.ts +1 -0
- package/dist/codegen/code-generator.js +10 -9
- package/dist/codegen/code-generator.js.map +1 -1
- package/dist/codegen/index.d.ts +2 -1
- package/dist/codegen/index.js +5 -2
- package/dist/codegen/index.js.map +1 -1
- package/dist/codegen/locate-node-declarations.d.ts +6 -0
- package/dist/codegen/locate-node-declarations.js +65 -0
- package/dist/codegen/locate-node-declarations.js.map +1 -0
- package/dist/codegen/string-utils.d.ts +4 -0
- package/dist/codegen/string-utils.js +75 -0
- package/dist/codegen/string-utils.js.map +1 -1
- package/dist/codegen/subnode-generator.d.ts +1 -0
- package/dist/codegen/subnode-generator.js +30 -13
- package/dist/codegen/subnode-generator.js.map +1 -1
- package/dist/generate-types/generate-node-defs-cli.d.ts +1 -1
- package/dist/generate-types/generate-node-defs-cli.js +8 -3
- package/dist/generate-types/generate-node-defs-cli.js.map +1 -1
- package/dist/generate-types/generate-types.d.ts +5 -0
- package/dist/generate-types/generate-types.js +129 -36
- package/dist/generate-types/generate-types.js.map +1 -1
- package/dist/generate-types/schema-coverage-cli.d.ts +1 -0
- package/dist/generate-types/schema-coverage-cli.js +58 -0
- package/dist/generate-types/schema-coverage-cli.js.map +1 -0
- package/dist/generate-types/schema-coverage.d.ts +27 -0
- package/dist/generate-types/schema-coverage.js +101 -0
- package/dist/generate-types/schema-coverage.js.map +1 -0
- package/dist/generate-types/schema-harvest-cli.d.ts +1 -0
- package/dist/generate-types/schema-harvest-cli.js +65 -0
- package/dist/generate-types/schema-harvest-cli.js.map +1 -0
- package/dist/generate-types/schema-harvest.d.ts +26 -0
- package/dist/generate-types/schema-harvest.js +303 -0
- package/dist/generate-types/schema-harvest.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/mock-data/ai-root-shapes.d.ts +1 -0
- package/dist/mock-data/ai-root-shapes.js +19 -0
- package/dist/mock-data/ai-root-shapes.js.map +1 -1
- package/dist/mock-data/index.d.ts +2 -1
- package/dist/mock-data/index.js +4 -1
- package/dist/mock-data/index.js.map +1 -1
- package/dist/mock-data/placeholder.d.ts +5 -0
- package/dist/mock-data/placeholder.js +187 -0
- package/dist/mock-data/placeholder.js.map +1 -0
- package/dist/node-deprecation.d.ts +2 -0
- package/dist/node-deprecation.js +11 -0
- package/dist/node-deprecation.js.map +1 -0
- package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.js +9 -1
- package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
- package/dist/validation/validate-workflow-builder.js +5 -4
- package/dist/validation/validate-workflow-builder.js.map +1 -1
- package/dist/validation/validate-workflow.d.ts +1 -1
- package/dist/validation/validate-workflow.js +19 -0
- package/dist/validation/validate-workflow.js.map +1 -1
- package/package.json +13 -11
|
@@ -13,6 +13,7 @@ export interface ExecutionContextOptions {
|
|
|
13
13
|
}
|
|
14
14
|
export interface GenerateCodeOptions extends ExecutionContextOptions {
|
|
15
15
|
includeNodeIds?: boolean;
|
|
16
|
+
includePositions?: boolean;
|
|
16
17
|
}
|
|
17
18
|
export declare function collectNestedMultiOutputs(node: CompositeNode, collected: MultiOutputNode[], visited?: WeakSet<CompositeNode>): void;
|
|
18
19
|
export declare function generateCode(tree: CompositeTree, json: WorkflowJSON, graph: SemanticGraph, executionContext?: GenerateCodeOptions): string;
|
|
@@ -45,7 +45,7 @@ function generateSubnodeCall(subnodeNode, builderName, ctx) {
|
|
|
45
45
|
configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(subnodeNode.json.credentials)}`);
|
|
46
46
|
}
|
|
47
47
|
const pos = subnodeNode.json.position;
|
|
48
|
-
if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
48
|
+
if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
49
49
|
configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
|
|
50
50
|
}
|
|
51
51
|
appendNodeConfigOptions(configParts, subnodeNode);
|
|
@@ -179,7 +179,7 @@ function generateSubnodeCallWithVarRefs(subnodeNode, builderName, ctx) {
|
|
|
179
179
|
configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(subnodeNode.json.credentials)}`);
|
|
180
180
|
}
|
|
181
181
|
const pos = subnodeNode.json.position;
|
|
182
|
-
if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
182
|
+
if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
183
183
|
configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
|
|
184
184
|
}
|
|
185
185
|
appendNodeConfigOptions(configParts, subnodeNode);
|
|
@@ -259,13 +259,13 @@ function generateNodeConfig(node, ctx) {
|
|
|
259
259
|
configParts.push(`name: '${(0, string_utils_1.escapeString)(node.json.name)}'`);
|
|
260
260
|
}
|
|
261
261
|
if (node.json.parameters && Object.keys(node.json.parameters).length > 0) {
|
|
262
|
-
configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, ctx)}`);
|
|
262
|
+
configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, { ...ctx, indent: ctx.indent + 2 })}`);
|
|
263
263
|
}
|
|
264
264
|
if (node.json.credentials && Object.keys(node.json.credentials).length > 0) {
|
|
265
265
|
configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(node.json.credentials)}`);
|
|
266
266
|
}
|
|
267
267
|
const pos = node.json.position;
|
|
268
|
-
if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
268
|
+
if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
269
269
|
configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
|
|
270
270
|
}
|
|
271
271
|
appendNodeConfigOptions(configParts, node);
|
|
@@ -347,7 +347,7 @@ function getNodesInsideSticky(stickyNode, ctx) {
|
|
|
347
347
|
return containedNodes;
|
|
348
348
|
}
|
|
349
349
|
function generateStickyCall(node, ctx) {
|
|
350
|
-
const content = (0, string_utils_1.
|
|
350
|
+
const content = (0, string_utils_1.formatStringLiteral)(node.json.parameters?.content ?? '');
|
|
351
351
|
const nodesInside = getNodesInsideSticky(node, ctx);
|
|
352
352
|
const nodesStr = `[${nodesInside.join(', ')}]`;
|
|
353
353
|
const options = [];
|
|
@@ -371,11 +371,11 @@ function generateStickyCall(node, ctx) {
|
|
|
371
371
|
options.push(`height: ${Number(params.height)}`);
|
|
372
372
|
}
|
|
373
373
|
const pos = node.json.position;
|
|
374
|
-
if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
374
|
+
if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
375
375
|
options.push(`position: [${pos[0]}, ${pos[1]}]`);
|
|
376
376
|
}
|
|
377
377
|
const optionsStr = options.length > 0 ? `, { ${options.join(', ')} }` : '';
|
|
378
|
-
return `sticky(
|
|
378
|
+
return `sticky(${content}, ${nodesStr}${optionsStr})`;
|
|
379
379
|
}
|
|
380
380
|
function generateMergeCall(node, ctx) {
|
|
381
381
|
const indent = getIndent(ctx);
|
|
@@ -388,13 +388,13 @@ function generateMergeCall(node, ctx) {
|
|
|
388
388
|
configParts.push(`name: '${(0, string_utils_1.escapeString)(node.json.name)}'`);
|
|
389
389
|
}
|
|
390
390
|
if (node.json.parameters && Object.keys(node.json.parameters).length > 0) {
|
|
391
|
-
configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, ctx)}`);
|
|
391
|
+
configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, { ...ctx, indent: ctx.indent + 2 })}`);
|
|
392
392
|
}
|
|
393
393
|
if (node.json.credentials && Object.keys(node.json.credentials).length > 0) {
|
|
394
394
|
configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(node.json.credentials)}`);
|
|
395
395
|
}
|
|
396
396
|
const pos = node.json.position;
|
|
397
|
-
if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
397
|
+
if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
|
|
398
398
|
configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
|
|
399
399
|
}
|
|
400
400
|
appendNodeConfigOptions(configParts, node);
|
|
@@ -852,6 +852,7 @@ function generateCode(tree, json, graph, executionContext) {
|
|
|
852
852
|
nodesWithEmittableId: executionContext?.includeNodeIds
|
|
853
853
|
? collectNodesWithEmittableId(graph)
|
|
854
854
|
: undefined,
|
|
855
|
+
omitPositions: executionContext?.includePositions === false,
|
|
855
856
|
};
|
|
856
857
|
for (const nodeName of graph.nodes.keys()) {
|
|
857
858
|
(0, variable_names_1.getUniqueVarName)(nodeName, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/codegen/code-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/codegen/code-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/codegen/index.d.ts
CHANGED
|
@@ -12,11 +12,12 @@ export interface GenerateWorkflowCodeOptions {
|
|
|
12
12
|
valuesExcluded?: boolean;
|
|
13
13
|
pinnedNodes?: string[];
|
|
14
14
|
includeNodeIds?: boolean;
|
|
15
|
+
includePositions?: boolean;
|
|
15
16
|
}
|
|
16
17
|
export { buildSemanticGraph } from './semantic-graph';
|
|
17
18
|
export { annotateGraph } from './graph-annotator';
|
|
18
19
|
export { buildCompositeTree } from './composite-builder';
|
|
19
20
|
export { generateCode } from './code-generator';
|
|
20
|
-
export { emitInstanceAi, SDK_IMPORTABLE_FUNCTIONS, type EmitInstanceAiOptions, } from './emit-instance-ai';
|
|
21
|
+
export { emitInstanceAi, buildImports, SDK_IMPORTABLE_FUNCTIONS, type EmitInstanceAiOptions, } from './emit-instance-ai';
|
|
21
22
|
export { getOutputName, getInputName, getCompositeType, getNodeSemantics, isCycleOutput, } from './semantic-registry';
|
|
22
23
|
export declare function generateWorkflowCode(input: WorkflowJSON | GenerateWorkflowCodeOptions): string;
|
package/dist/codegen/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCycleOutput = exports.getNodeSemantics = exports.getCompositeType = exports.getInputName = exports.getOutputName = exports.SDK_IMPORTABLE_FUNCTIONS = exports.emitInstanceAi = exports.generateCode = exports.buildCompositeTree = exports.annotateGraph = exports.buildSemanticGraph = void 0;
|
|
3
|
+
exports.isCycleOutput = exports.getNodeSemantics = exports.getCompositeType = exports.getInputName = exports.getOutputName = exports.SDK_IMPORTABLE_FUNCTIONS = exports.buildImports = exports.emitInstanceAi = exports.generateCode = exports.buildCompositeTree = exports.annotateGraph = exports.buildSemanticGraph = void 0;
|
|
4
4
|
exports.generateWorkflowCode = generateWorkflowCode;
|
|
5
5
|
const code_generator_1 = require("./code-generator");
|
|
6
6
|
const composite_builder_1 = require("./composite-builder");
|
|
@@ -18,6 +18,7 @@ var code_generator_2 = require("./code-generator");
|
|
|
18
18
|
Object.defineProperty(exports, "generateCode", { enumerable: true, get: function () { return code_generator_2.generateCode; } });
|
|
19
19
|
var emit_instance_ai_1 = require("./emit-instance-ai");
|
|
20
20
|
Object.defineProperty(exports, "emitInstanceAi", { enumerable: true, get: function () { return emit_instance_ai_1.emitInstanceAi; } });
|
|
21
|
+
Object.defineProperty(exports, "buildImports", { enumerable: true, get: function () { return emit_instance_ai_1.buildImports; } });
|
|
21
22
|
Object.defineProperty(exports, "SDK_IMPORTABLE_FUNCTIONS", { enumerable: true, get: function () { return emit_instance_ai_1.SDK_IMPORTABLE_FUNCTIONS; } });
|
|
22
23
|
var semantic_registry_1 = require("./semantic-registry");
|
|
23
24
|
Object.defineProperty(exports, "getOutputName", { enumerable: true, get: function () { return semantic_registry_1.getOutputName; } });
|
|
@@ -29,7 +30,7 @@ function isOptionsObject(input) {
|
|
|
29
30
|
return 'workflow' in input && input.workflow !== undefined;
|
|
30
31
|
}
|
|
31
32
|
function generateWorkflowCode(input) {
|
|
32
|
-
const { workflow, executionSchema, expressionValues, executionData, valuesExcluded, pinnedNodes, includeNodeIds, } = isOptionsObject(input)
|
|
33
|
+
const { workflow, executionSchema, expressionValues, executionData, valuesExcluded, pinnedNodes, includeNodeIds, includePositions, } = isOptionsObject(input)
|
|
33
34
|
? input
|
|
34
35
|
: {
|
|
35
36
|
workflow: input,
|
|
@@ -39,6 +40,7 @@ function generateWorkflowCode(input) {
|
|
|
39
40
|
valuesExcluded: undefined,
|
|
40
41
|
pinnedNodes: undefined,
|
|
41
42
|
includeNodeIds: undefined,
|
|
43
|
+
includePositions: undefined,
|
|
42
44
|
};
|
|
43
45
|
const graph = (0, semantic_graph_1.buildSemanticGraph)(workflow);
|
|
44
46
|
(0, graph_annotator_1.annotateGraph)(graph);
|
|
@@ -60,6 +62,7 @@ function generateWorkflowCode(input) {
|
|
|
60
62
|
valuesExcluded,
|
|
61
63
|
pinnedNodes: pinnedNodes ? new Set(pinnedNodes) : undefined,
|
|
62
64
|
includeNodeIds,
|
|
65
|
+
includePositions,
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":";;;;AAcA,qDAAgD;AAChD,2DAAyD;AACzD,yDAA0F;AAC1F,iEAAoE;AACpE,uDAAkD;AAClD,qDAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":";;;;AAcA,qDAAgD;AAChD,2DAAyD;AACzD,yDAA0F;AAC1F,iEAAoE;AACpE,uDAAkD;AAClD,qDAAsD;AA8CtD,mDAAsD;AAA7C,oHAAA,kBAAkB,OAAA;AAC3B,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,yDAAyD;AAAhD,uHAAA,kBAAkB,OAAA;AAC3B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,uDAK4B;AAJ3B,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,4HAAA,wBAAwB,OAAA;AAGzB,yDAM6B;AAL5B,kHAAA,aAAa,OAAA;AACb,iHAAA,YAAY,OAAA;AACZ,qHAAA,gBAAgB,OAAA;AAChB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AAMd,SAAS,eAAe,CACvB,KAAiD;IAEjD,OAAO,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5D,CAAC;AAuBD,8BAAqC,KAAiD;IAErF,MAAM,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,GAChB,GAAG,eAAe,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACA,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,SAAS;YAC1B,gBAAgB,EAAE,SAAS;YAC3B,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,SAAS;YACzB,gBAAgB,EAAE,SAAS;SAC3B,CAAC;IAGJ,MAAM,KAAK,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;IAG3C,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC;IAGrB,MAAM,IAAI,GAAG,IAAA,sCAAkB,EAAC,KAAK,CAAC,CAAC;IAGvC,MAAM,qBAAqB,GAAG,IAAA,iDAA0B,EAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,IAAA,2CAAwB,EAAC,aAAa,CAAC,CAAC;IAGpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAGD,MAAM,mBAAmB,GAAG,IAAA,6CAA0B,EAAC,aAAa,CAAC,CAAC;IAGtE,OAAO,IAAA,6BAAY,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,qBAAqB,EAAE,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QACzF,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACnF,WAAW,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC3D,mBAAmB,EAAE,mBAAmB,IAAI,SAAS;QACrD,cAAc;QACd,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,cAAc;QACd,gBAAgB;KAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.locateNodeDeclarations = locateNodeDeclarations;
|
|
4
|
+
const ast_interpreter_1 = require("../ast-interpreter");
|
|
5
|
+
const ast_walk_1 = require("../lint/ast-walk");
|
|
6
|
+
const workflow_sdk_lint_1 = require("../lint/sdk/workflow-sdk-lint");
|
|
7
|
+
function locateNodeDeclarations(source) {
|
|
8
|
+
let program;
|
|
9
|
+
try {
|
|
10
|
+
program = (0, ast_interpreter_1.parseSDKCode)((0, workflow_sdk_lint_1.prepareSourceForLint)(source).code);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
const found = [];
|
|
16
|
+
(0, ast_walk_1.walkAst)(program, (node) => {
|
|
17
|
+
if (node.type !== 'CallExpression')
|
|
18
|
+
return;
|
|
19
|
+
const head = declaredNodeHead(node);
|
|
20
|
+
if (!head)
|
|
21
|
+
return;
|
|
22
|
+
found.push({ ...readIdentity(head), line: node.loc?.start.line ?? 0 });
|
|
23
|
+
});
|
|
24
|
+
return found;
|
|
25
|
+
}
|
|
26
|
+
function declaredNodeHead(call) {
|
|
27
|
+
const args = call.arguments;
|
|
28
|
+
if (call.callee.type === 'Identifier' && call.callee.name === 'sticky') {
|
|
29
|
+
const options = args.length >= 2 ? args[args.length - 1] : undefined;
|
|
30
|
+
return options?.type === 'ObjectExpression' ? options : undefined;
|
|
31
|
+
}
|
|
32
|
+
const first = args[0];
|
|
33
|
+
if (first?.type !== 'ObjectExpression')
|
|
34
|
+
return undefined;
|
|
35
|
+
const config = directProperty(first, 'config');
|
|
36
|
+
return config?.type === 'ObjectExpression' ? config : undefined;
|
|
37
|
+
}
|
|
38
|
+
function readIdentity(head) {
|
|
39
|
+
const name = stringValue(directProperty(head, 'name'));
|
|
40
|
+
const id = stringValue(directProperty(head, 'id'));
|
|
41
|
+
return { ...(name !== undefined ? { name } : {}), ...(id !== undefined ? { id } : {}) };
|
|
42
|
+
}
|
|
43
|
+
function directProperty(object, key) {
|
|
44
|
+
for (const property of object.properties) {
|
|
45
|
+
if (property.type !== 'Property' || property.computed)
|
|
46
|
+
continue;
|
|
47
|
+
const propertyKey = property.key;
|
|
48
|
+
const matches = (propertyKey.type === 'Identifier' && propertyKey.name === key) ||
|
|
49
|
+
(propertyKey.type === 'Literal' && propertyKey.value === key);
|
|
50
|
+
if (matches)
|
|
51
|
+
return property.value;
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
function stringValue(value) {
|
|
56
|
+
if (!value)
|
|
57
|
+
return undefined;
|
|
58
|
+
if (value.type === 'Literal' && typeof value.value === 'string')
|
|
59
|
+
return value.value;
|
|
60
|
+
if (value.type === 'TemplateLiteral' && value.expressions.length === 0) {
|
|
61
|
+
return value.quasis[0]?.value.cooked ?? undefined;
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=locate-node-declarations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locate-node-declarations.js","sourceRoot":"","sources":["../../src/codegen/locate-node-declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare function escapeString(str: string): string;
|
|
2
|
+
export declare function escapeTemplateLiteral(str: string): string;
|
|
3
|
+
export declare function isMultilineStringValue(str: string): boolean;
|
|
4
|
+
export declare function formatStringLiteral(str: string): string;
|
|
5
|
+
export declare function indentContinuationLines(text: string, indent: string): string;
|
|
2
6
|
export declare function needsQuoting(key: string): boolean;
|
|
3
7
|
export declare function formatKey(key: string): string;
|
|
4
8
|
export declare function escapeRegexChars(str: string): string;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.escapeString = escapeString;
|
|
4
|
+
exports.escapeTemplateLiteral = escapeTemplateLiteral;
|
|
5
|
+
exports.isMultilineStringValue = isMultilineStringValue;
|
|
6
|
+
exports.formatStringLiteral = formatStringLiteral;
|
|
7
|
+
exports.indentContinuationLines = indentContinuationLines;
|
|
4
8
|
exports.needsQuoting = needsQuoting;
|
|
5
9
|
exports.formatKey = formatKey;
|
|
6
10
|
exports.escapeRegexChars = escapeRegexChars;
|
|
@@ -17,6 +21,77 @@ function escapeString(str) {
|
|
|
17
21
|
.replace(/\n/g, '\\n')
|
|
18
22
|
.replace(/\r/g, '\\r');
|
|
19
23
|
}
|
|
24
|
+
function escapeTemplateLiteral(str) {
|
|
25
|
+
return str
|
|
26
|
+
.replace(/\\/g, '\\\\')
|
|
27
|
+
.replace(/\r/g, '\\r')
|
|
28
|
+
.replace(/`/g, '\\`')
|
|
29
|
+
.replace(/\$\{/g, '\\${');
|
|
30
|
+
}
|
|
31
|
+
function isMultilineStringValue(str) {
|
|
32
|
+
return str.includes('\n');
|
|
33
|
+
}
|
|
34
|
+
function formatStringLiteral(str) {
|
|
35
|
+
if (isMultilineStringValue(str)) {
|
|
36
|
+
return `\`${escapeTemplateLiteral(str)}\``;
|
|
37
|
+
}
|
|
38
|
+
return `'${escapeString(str)}'`;
|
|
39
|
+
}
|
|
40
|
+
function scanLine(line, state) {
|
|
41
|
+
for (let i = 0; i < line.length; i++) {
|
|
42
|
+
const ch = line[i];
|
|
43
|
+
switch (state) {
|
|
44
|
+
case 'code':
|
|
45
|
+
if (ch === "'")
|
|
46
|
+
state = 'single';
|
|
47
|
+
else if (ch === '"')
|
|
48
|
+
state = 'double';
|
|
49
|
+
else if (ch === '`')
|
|
50
|
+
state = 'template';
|
|
51
|
+
else if (ch === '/' && line[i + 1] === '*') {
|
|
52
|
+
state = 'block-comment';
|
|
53
|
+
i++;
|
|
54
|
+
}
|
|
55
|
+
else if (ch === '/' && line[i + 1] === '/') {
|
|
56
|
+
return state;
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
case 'single':
|
|
60
|
+
case 'double':
|
|
61
|
+
case 'template': {
|
|
62
|
+
if (ch === '\\') {
|
|
63
|
+
i++;
|
|
64
|
+
}
|
|
65
|
+
else if ((state === 'single' && ch === "'") ||
|
|
66
|
+
(state === 'double' && ch === '"') ||
|
|
67
|
+
(state === 'template' && ch === '`')) {
|
|
68
|
+
state = 'code';
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case 'block-comment':
|
|
73
|
+
if (ch === '*' && line[i + 1] === '/') {
|
|
74
|
+
state = 'code';
|
|
75
|
+
i++;
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return state === 'single' || state === 'double' ? 'code' : state;
|
|
81
|
+
}
|
|
82
|
+
function indentContinuationLines(text, indent) {
|
|
83
|
+
const lines = text.split('\n');
|
|
84
|
+
if (lines.length === 1)
|
|
85
|
+
return text;
|
|
86
|
+
let state = 'code';
|
|
87
|
+
return lines
|
|
88
|
+
.map((line, index) => {
|
|
89
|
+
const result = index === 0 || state === 'template' ? line : `${indent}${line}`;
|
|
90
|
+
state = scanLine(line, state);
|
|
91
|
+
return result;
|
|
92
|
+
})
|
|
93
|
+
.join('\n');
|
|
94
|
+
}
|
|
20
95
|
function needsQuoting(key) {
|
|
21
96
|
return !/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key);
|
|
22
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/codegen/string-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/codegen/string-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ interface SubnodeGenerationContext {
|
|
|
7
7
|
graph: SemanticGraph;
|
|
8
8
|
nodeNameToVarName: Map<string, string>;
|
|
9
9
|
expressionAnnotations?: Map<string, string>;
|
|
10
|
+
omitPositions?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface FormatValueContext {
|
|
12
13
|
expressionAnnotations?: Map<string, string>;
|