@accordproject/template-engine 3.0.1 → 4.0.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/README.md +41 -0
- package/lib/JavaScriptEvaluator.d.ts +71 -0
- package/lib/JavaScriptEvaluator.js +245 -0
- package/lib/JavaScriptEvaluator.js.map +1 -0
- package/lib/TemplateArchiveProcessor.d.ts +61 -0
- package/lib/TemplateArchiveProcessor.js +152 -0
- package/lib/TemplateArchiveProcessor.js.map +1 -0
- package/lib/TemplateMarkInterpreter.d.ts +34 -0
- package/lib/TemplateMarkInterpreter.js +689 -0
- package/lib/TemplateMarkInterpreter.js.map +1 -0
- package/lib/TemplateMarkNodes.d.ts +19 -0
- package/lib/TemplateMarkNodes.js +45 -0
- package/lib/TemplateMarkNodes.js.map +1 -0
- package/lib/TemplateMarkToJavaScriptCompiler.d.ts +20 -0
- package/lib/TemplateMarkToJavaScriptCompiler.js +99 -0
- package/lib/TemplateMarkToJavaScriptCompiler.js.map +1 -0
- package/lib/TypeScriptCompilationContext.d.ts +15 -0
- package/lib/TypeScriptCompilationContext.js +57 -0
- package/lib/TypeScriptCompilationContext.js.map +1 -0
- package/lib/TypeScriptRuntime.d.ts +17 -0
- package/lib/TypeScriptRuntime.js +84 -0
- package/lib/TypeScriptRuntime.js.map +1 -0
- package/lib/TypeScriptToJavaScriptCompiler.d.ts +11 -0
- package/lib/TypeScriptToJavaScriptCompiler.js +169 -0
- package/lib/TypeScriptToJavaScriptCompiler.js.map +1 -0
- package/lib/drafting/Boolean/index.d.ts +6 -0
- package/lib/drafting/Boolean/index.js +30 -0
- package/lib/drafting/Boolean/index.js.map +1 -0
- package/lib/drafting/DateTime/index.d.ts +8 -0
- package/lib/drafting/DateTime/index.js +33 -0
- package/lib/drafting/DateTime/index.js.map +1 -0
- package/lib/drafting/Double/format.d.ts +14 -0
- package/lib/drafting/Double/format.js +62 -0
- package/lib/drafting/Double/format.js.map +1 -0
- package/lib/drafting/Double/index.d.ts +8 -0
- package/lib/drafting/Double/index.js +33 -0
- package/lib/drafting/Double/index.js.map +1 -0
- package/lib/drafting/DraftFormat.d.ts +5 -0
- package/lib/drafting/DraftFormat.js +18 -0
- package/lib/drafting/DraftFormat.js.map +1 -0
- package/lib/drafting/Duration/index.d.ts +6 -0
- package/lib/drafting/Duration/index.js +39 -0
- package/lib/drafting/Duration/index.js.map +1 -0
- package/lib/drafting/Integer/format.d.ts +14 -0
- package/lib/drafting/Integer/format.js +52 -0
- package/lib/drafting/Integer/format.js.map +1 -0
- package/lib/drafting/Integer/index.d.ts +8 -0
- package/lib/drafting/Integer/index.js +33 -0
- package/lib/drafting/Integer/index.js.map +1 -0
- package/lib/drafting/Long/index.d.ts +8 -0
- package/lib/drafting/Long/index.js +33 -0
- package/lib/drafting/Long/index.js.map +1 -0
- package/lib/drafting/MonetaryAmount/currencycode.d.ts +35 -0
- package/lib/drafting/MonetaryAmount/currencycode.js +53 -0
- package/lib/drafting/MonetaryAmount/currencycode.js.map +1 -0
- package/lib/drafting/MonetaryAmount/index.d.ts +13 -0
- package/lib/drafting/MonetaryAmount/index.js +67 -0
- package/lib/drafting/MonetaryAmount/index.js.map +1 -0
- package/lib/drafting/String/index.d.ts +6 -0
- package/lib/drafting/String/index.js +25 -0
- package/lib/drafting/String/index.js.map +1 -0
- package/lib/drafting/index.d.ts +2 -0
- package/lib/drafting/index.js +43 -0
- package/lib/drafting/index.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +42 -0
- package/lib/index.js.map +1 -0
- package/lib/model-gen/concerto.d.ts +13 -0
- package/lib/model-gen/concerto.js +4 -0
- package/lib/model-gen/concerto.js.map +1 -0
- package/lib/model-gen/concerto.metamodel@1.0.0.d.ts +196 -0
- package/lib/model-gen/concerto.metamodel@1.0.0.js +4 -0
- package/lib/model-gen/concerto.metamodel@1.0.0.js.map +1 -0
- package/lib/model-gen/concerto@1.0.0.d.ts +19 -0
- package/lib/model-gen/concerto@1.0.0.js +4 -0
- package/lib/model-gen/concerto@1.0.0.js.map +1 -0
- package/lib/model-gen/org.accordproject.ciceromark@0.6.0.d.ts +49 -0
- package/lib/model-gen/org.accordproject.ciceromark@0.6.0.js +4 -0
- package/lib/model-gen/org.accordproject.ciceromark@0.6.0.js.map +1 -0
- package/lib/model-gen/org.accordproject.commonmark@0.5.0.d.ts +89 -0
- package/lib/model-gen/org.accordproject.commonmark@0.5.0.js +4 -0
- package/lib/model-gen/org.accordproject.commonmark@0.5.0.js.map +1 -0
- package/lib/model-gen/org.accordproject.templatemark@0.5.0.d.ts +76 -0
- package/lib/model-gen/org.accordproject.templatemark@0.5.0.js +11 -0
- package/lib/model-gen/org.accordproject.templatemark@0.5.0.js.map +1 -0
- package/lib/runtime/declarations.d.ts +3 -0
- package/lib/runtime/declarations.js +22 -0
- package/lib/runtime/declarations.js.map +1 -0
- package/lib/slc/model-gen/concerto.d.ts +13 -0
- package/lib/slc/model-gen/concerto.decorator@1.0.0.d.ts +6 -0
- package/lib/slc/model-gen/concerto.decorator@1.0.0.js +5 -0
- package/lib/slc/model-gen/concerto.decorator@1.0.0.js.map +1 -0
- package/lib/slc/model-gen/concerto.js +5 -0
- package/lib/slc/model-gen/concerto.js.map +1 -0
- package/lib/slc/model-gen/concerto@1.0.0.d.ts +24 -0
- package/lib/slc/model-gen/concerto@1.0.0.js +6 -0
- package/lib/slc/model-gen/concerto@1.0.0.js.map +1 -0
- package/lib/slc/model-gen/org.accordproject.contract@0.2.0.d.ts +7 -0
- package/lib/slc/model-gen/org.accordproject.contract@0.2.0.js +5 -0
- package/lib/slc/model-gen/org.accordproject.contract@0.2.0.js.map +1 -0
- package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.d.ts +15 -0
- package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.js +4 -0
- package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.js.map +1 -0
- package/lib/slc/model-gen/org.accordproject.time@0.3.0.d.ts +46 -0
- package/lib/slc/model-gen/org.accordproject.time@0.3.0.js +48 -0
- package/lib/slc/model-gen/org.accordproject.time@0.3.0.js.map +1 -0
- package/lib/utils.d.ts +6 -0
- package/lib/utils.js +71 -0
- package/lib/utils.js.map +1 -0
- package/lib/worker.d.ts +1 -0
- package/{dist → lib}/worker.js +12 -10
- package/lib/worker.js.map +1 -0
- package/package.json +37 -25
- package/umd/template-engine.js +13 -0
- package/umd/template-engine.js.LICENSE.txt +21 -0
- package/dist/index.d.ts +0 -174
- package/dist/index.js +0 -1244
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -1217
- package/dist/index.mjs.map +0 -1
- package/dist/worker.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateMarkInterpreter.js","sourceRoot":"","sources":["../src/TemplateMarkInterpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const TEMPLATEMARK_RE: RegExp;
|
|
2
|
+
export declare const FORMULA_DEFINITION_RE: RegExp;
|
|
3
|
+
export declare const VARIABLE_DEFINITION_RE: RegExp;
|
|
4
|
+
export declare const CONDITIONAL_DEFINITION_RE: RegExp;
|
|
5
|
+
export declare const ENUM_VARIABLE_DEFINITION_RE: RegExp;
|
|
6
|
+
export declare const FORMATTED_VARIABLE_DEFINITION_RE: RegExp;
|
|
7
|
+
export declare const WITH_DEFINITION_RE: RegExp;
|
|
8
|
+
export declare const LISTBLOCK_DEFINITION_RE: RegExp;
|
|
9
|
+
export declare const JOIN_DEFINITION_RE: RegExp;
|
|
10
|
+
export declare const OPTIONAL_DEFINITION_RE: RegExp;
|
|
11
|
+
export declare const CLAUSE_DEFINITION_RE: RegExp;
|
|
12
|
+
export declare const CONTRACT_DEFINITION_RE: RegExp;
|
|
13
|
+
export declare const FOREACH_DEFINITION_RE: RegExp;
|
|
14
|
+
export type TemplateData = Record<string, unknown>;
|
|
15
|
+
/**
|
|
16
|
+
* TemplateMark nodes that implicitly change the data access scope
|
|
17
|
+
* by specifying the name of a property on the node.
|
|
18
|
+
*/
|
|
19
|
+
export declare const NAVIGATION_NODES: string[];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.NAVIGATION_NODES = exports.FOREACH_DEFINITION_RE = exports.CONTRACT_DEFINITION_RE = exports.CLAUSE_DEFINITION_RE = exports.OPTIONAL_DEFINITION_RE = exports.JOIN_DEFINITION_RE = exports.LISTBLOCK_DEFINITION_RE = exports.WITH_DEFINITION_RE = exports.FORMATTED_VARIABLE_DEFINITION_RE = exports.ENUM_VARIABLE_DEFINITION_RE = exports.CONDITIONAL_DEFINITION_RE = exports.VARIABLE_DEFINITION_RE = exports.FORMULA_DEFINITION_RE = exports.TEMPLATEMARK_RE = void 0;
|
|
17
|
+
const markdown_common_1 = require("@accordproject/markdown-common");
|
|
18
|
+
// use to create agreementmark from templatemark
|
|
19
|
+
exports.TEMPLATEMARK_RE = /^(org\.accordproject\.templatemark)@(.+)\.(\w+)Definition$/;
|
|
20
|
+
exports.FORMULA_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.FormulaDefinition$/;
|
|
21
|
+
exports.VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.VariableDefinition$/;
|
|
22
|
+
exports.CONDITIONAL_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ConditionalDefinition$/;
|
|
23
|
+
exports.ENUM_VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.EnumVariableDefinition$/;
|
|
24
|
+
exports.FORMATTED_VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.FormattedVariableDefinition$/;
|
|
25
|
+
exports.WITH_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.WithDefinition$/;
|
|
26
|
+
exports.LISTBLOCK_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ListBlockDefinition$/;
|
|
27
|
+
exports.JOIN_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.JoinDefinition$/;
|
|
28
|
+
exports.OPTIONAL_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.OptionalDefinition$/;
|
|
29
|
+
exports.CLAUSE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ClauseDefinition$/;
|
|
30
|
+
exports.CONTRACT_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ContractDefinition$/;
|
|
31
|
+
exports.FOREACH_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ForeachDefinition$/;
|
|
32
|
+
/**
|
|
33
|
+
* TemplateMark nodes that implicitly change the data access scope
|
|
34
|
+
* by specifying the name of a property on the node.
|
|
35
|
+
*/
|
|
36
|
+
exports.NAVIGATION_NODES = [
|
|
37
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ListBlockDefinition`,
|
|
38
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.WithDefinition`,
|
|
39
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.JoinDefinition`,
|
|
40
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.OptionalDefinition`,
|
|
41
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ClauseDefinition`,
|
|
42
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ContractDefinition`,
|
|
43
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ForeachBlockDefinition`
|
|
44
|
+
];
|
|
45
|
+
//# sourceMappingURL=TemplateMarkNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateMarkNodes.js","sourceRoot":"","sources":["../src/TemplateMarkNodes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,oEAAmE;AAEnE,gDAAgD;AACnC,QAAA,eAAe,GAAG,4DAA4D,CAAC;AAC/E,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AACvF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,yBAAyB,GAAG,kEAAkE,CAAC;AAC/F,QAAA,2BAA2B,GAAG,mEAAmE,CAAC;AAClG,QAAA,gCAAgC,GAAG,wEAAwE,CAAC;AAC5G,QAAA,kBAAkB,GAAG,2DAA2D,CAAC;AACjF,QAAA,uBAAuB,GAAG,gEAAgE,CAAC;AAC3F,QAAA,kBAAkB,GAAG,2DAA2D,CAAC;AACjF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,oBAAoB,GAAG,6DAA6D,CAAC;AACrF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AAIpG;;;GAGG;AACU,QAAA,gBAAgB,GAAG;IAC5B,GAAG,mCAAiB,CAAC,SAAS,sBAAsB;IACpD,GAAG,mCAAiB,CAAC,SAAS,iBAAiB;IAC/C,GAAG,mCAAiB,CAAC,SAAS,iBAAiB;IAC/C,GAAG,mCAAiB,CAAC,SAAS,qBAAqB;IACnD,GAAG,mCAAiB,CAAC,SAAS,mBAAmB;IACjD,GAAG,mCAAiB,CAAC,SAAS,qBAAqB;IACnD,GAAG,mCAAiB,CAAC,SAAS,yBAAyB;CAC1D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ClassDeclaration, ModelManager } from '@accordproject/concerto-core';
|
|
2
|
+
import { TypeScriptToJavaScriptCompiler } from './TypeScriptToJavaScriptCompiler';
|
|
3
|
+
import { TwoSlashReturn } from '@typescript/twoslash';
|
|
4
|
+
export type CompilerError = {
|
|
5
|
+
nodeId: string;
|
|
6
|
+
code: string;
|
|
7
|
+
errors: TwoSlashReturn['errors'];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Compiles all the Typescript nodes in a TemplateMark JSON
|
|
11
|
+
* to ES_2020 and returns a modified TemplateMark JSON.
|
|
12
|
+
*/
|
|
13
|
+
export declare class TemplateMarkToJavaScriptCompiler {
|
|
14
|
+
modelManager: ModelManager;
|
|
15
|
+
compiler: TypeScriptToJavaScriptCompiler;
|
|
16
|
+
templateClass: ClassDeclaration;
|
|
17
|
+
constructor(modelManager: ModelManager, templateConceptFqn?: string);
|
|
18
|
+
initialize(): Promise<void>;
|
|
19
|
+
compile(templateJson: any): any;
|
|
20
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.TemplateMarkToJavaScriptCompiler = void 0;
|
|
20
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
21
|
+
const traverse_1 = __importDefault(require("traverse"));
|
|
22
|
+
const markdown_common_1 = require("@accordproject/markdown-common");
|
|
23
|
+
const TypeScriptToJavaScriptCompiler_1 = require("./TypeScriptToJavaScriptCompiler");
|
|
24
|
+
const org_accordproject_templatemark_0_5_0_1 = require("./model-gen/org.accordproject.templatemark@0.5.0");
|
|
25
|
+
const utils_1 = require("./utils");
|
|
26
|
+
const CODE_NODES = [
|
|
27
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.FormulaDefinition`,
|
|
28
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ConditionalDefinition`,
|
|
29
|
+
`${markdown_common_1.TemplateMarkModel.NAMESPACE}.ClauseDefinition`,
|
|
30
|
+
];
|
|
31
|
+
function checkCode(code) {
|
|
32
|
+
if (code.type !== org_accordproject_templatemark_0_5_0_1.CodeType.TYPESCRIPT) {
|
|
33
|
+
throw new Error(`Cannot compile ${code.contents} as it is not Typescript.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Compiles all the Typescript nodes in a TemplateMark JSON
|
|
38
|
+
* to ES_2020 and returns a modified TemplateMark JSON.
|
|
39
|
+
*/
|
|
40
|
+
class TemplateMarkToJavaScriptCompiler {
|
|
41
|
+
constructor(modelManager, templateConceptFqn) {
|
|
42
|
+
this.modelManager = modelManager;
|
|
43
|
+
this.compiler = new TypeScriptToJavaScriptCompiler_1.TypeScriptToJavaScriptCompiler(modelManager, templateConceptFqn);
|
|
44
|
+
this.templateClass = (0, utils_1.getTemplateClassDeclaration)(modelManager, templateConceptFqn);
|
|
45
|
+
}
|
|
46
|
+
async initialize() {
|
|
47
|
+
await this.compiler.initialize();
|
|
48
|
+
}
|
|
49
|
+
compile(templateJson) {
|
|
50
|
+
const namedTemplateMark = (0, utils_1.nameUserCode)(templateJson);
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
52
|
+
const that = this;
|
|
53
|
+
const errors = Array();
|
|
54
|
+
const compiled = (0, traverse_1.default)(namedTemplateMark).map(function (x) {
|
|
55
|
+
if (x && CODE_NODES.includes(x.$class)) {
|
|
56
|
+
if (x.code) { // formula
|
|
57
|
+
checkCode(x.code);
|
|
58
|
+
const result = that.compiler.compile((0, utils_1.writeFunctionToString)(that.templateClass, x.name, 'any', x.code.contents));
|
|
59
|
+
if (result.errors.length === 0) {
|
|
60
|
+
x.code.contents = result.code;
|
|
61
|
+
x.code.type = org_accordproject_templatemark_0_5_0_1.CodeType.ES_2020;
|
|
62
|
+
this.update(x);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
errors.push({
|
|
66
|
+
nodeId: x.name,
|
|
67
|
+
code: x.code.contents,
|
|
68
|
+
errors: result.errors
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else if (x.condition) { // condition or clause (boolean condition)
|
|
73
|
+
checkCode(x.condition);
|
|
74
|
+
const result = that.compiler.compile((0, utils_1.writeFunctionToString)(that.templateClass, x.functionName, 'boolean', x.condition.contents));
|
|
75
|
+
if (result.errors.length === 0) {
|
|
76
|
+
x.condition.contents = result.code;
|
|
77
|
+
x.condition.type = org_accordproject_templatemark_0_5_0_1.CodeType.ES_2020;
|
|
78
|
+
this.update(x);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
errors.push({
|
|
82
|
+
nodeId: x.functionName,
|
|
83
|
+
code: x.condition.contents,
|
|
84
|
+
errors: result.errors
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
if (errors.length === 0) {
|
|
91
|
+
return compiled;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw errors;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.TemplateMarkToJavaScriptCompiler = TemplateMarkToJavaScriptCompiler;
|
|
99
|
+
//# sourceMappingURL=TemplateMarkToJavaScriptCompiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateMarkToJavaScriptCompiler.js","sourceRoot":"","sources":["../src/TemplateMarkToJavaScriptCompiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ClassDeclaration, ModelManager } from '@accordproject/concerto-core';
|
|
2
|
+
/**
|
|
3
|
+
* This class creates the typescript types
|
|
4
|
+
* required to compile Typescript expressions (used in
|
|
5
|
+
* formulae, conditions and clauses) to JavaScript. It uses
|
|
6
|
+
* these to create a compilation context for '@typescript/twoslash'
|
|
7
|
+
* which is used to compile the typescript code.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TypeScriptCompilationContext {
|
|
10
|
+
modelManager: ModelManager;
|
|
11
|
+
templateClass: ClassDeclaration;
|
|
12
|
+
constructor(modelManager: ModelManager, templateConceptFqn?: string);
|
|
13
|
+
getTypeScriptFiles(): Record<string, string>;
|
|
14
|
+
getCompilationContext(): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeScriptCompilationContext = void 0;
|
|
4
|
+
const concerto_codegen_1 = require("@accordproject/concerto-codegen");
|
|
5
|
+
const concerto_util_1 = require("@accordproject/concerto-util");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
/**
|
|
8
|
+
* This class creates the typescript types
|
|
9
|
+
* required to compile Typescript expressions (used in
|
|
10
|
+
* formulae, conditions and clauses) to JavaScript. It uses
|
|
11
|
+
* these to create a compilation context for '@typescript/twoslash'
|
|
12
|
+
* which is used to compile the typescript code.
|
|
13
|
+
*/
|
|
14
|
+
class TypeScriptCompilationContext {
|
|
15
|
+
constructor(modelManager, templateConceptFqn) {
|
|
16
|
+
this.modelManager = modelManager;
|
|
17
|
+
this.templateClass = (0, utils_1.getTemplateClassDeclaration)(this.modelManager, templateConceptFqn);
|
|
18
|
+
}
|
|
19
|
+
getTypeScriptFiles() {
|
|
20
|
+
const result = {};
|
|
21
|
+
const visitor = new concerto_codegen_1.CodeGen.TypescriptVisitor();
|
|
22
|
+
const writer = new concerto_util_1.InMemoryWriter();
|
|
23
|
+
const params = {
|
|
24
|
+
fileWriter: writer
|
|
25
|
+
};
|
|
26
|
+
this.modelManager.accept(visitor, params);
|
|
27
|
+
writer.getFilesInMemory().forEach((value, key) => {
|
|
28
|
+
result[key] = value;
|
|
29
|
+
});
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
getCompilationContext() {
|
|
33
|
+
const files = this.getTypeScriptFiles();
|
|
34
|
+
let result = '';
|
|
35
|
+
Object.keys(files).forEach(key => {
|
|
36
|
+
const content = files[key];
|
|
37
|
+
result += `
|
|
38
|
+
// @filename: ${key}
|
|
39
|
+
${content}
|
|
40
|
+
`;
|
|
41
|
+
});
|
|
42
|
+
result += `
|
|
43
|
+
// @filename: code.ts
|
|
44
|
+
import * as TemplateModel from './${this.templateClass.getNamespace()}';
|
|
45
|
+
import dayjs from 'dayjs';
|
|
46
|
+
import jp from 'jsonpath';
|
|
47
|
+
|
|
48
|
+
type GenerationOptions = {
|
|
49
|
+
now?:string,
|
|
50
|
+
locale?:string
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.TypeScriptCompilationContext = TypeScriptCompilationContext;
|
|
57
|
+
//# sourceMappingURL=TypeScriptCompilationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeScriptCompilationContext.js","sourceRoot":"","sources":["../src/TypeScriptCompilationContext.ts"],"names":[],"mappings":";;;AAcA,sEAA0D;AAC1D,gEAA8D;AAC9D,mCAAsD;AAEtD;;;;;;GAMG;AACH,MAAa,4BAA4B;IAKrC,YAAY,YAAyB,EAAC,kBAA2B;QAC7D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAA,mCAA2B,EAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAC5F,CAAC;IAED,kBAAkB;QACd,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,IAAI,0BAAO,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,8BAAc,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG;YACX,UAAU,EAAE,MAAM;SACrB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAE,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,qBAAqB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAExC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAE,GAAG,CAAC,EAAE;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI;gBACN,GAAG;EACjB,OAAO;CACR,CAAC;QACM,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI;;oCAEkB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;;;;;;;CAQpE,CAAC;QACM,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,oEAoDC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BEWARE - this type is duplicated in TypeScriptCompilationContext
|
|
3
|
+
* for use by code generation
|
|
4
|
+
*/
|
|
5
|
+
export type GenerationOptions = {
|
|
6
|
+
now?: string;
|
|
7
|
+
locale?: string;
|
|
8
|
+
disableJavaScriptEvaluation?: boolean;
|
|
9
|
+
childProcessJavaScriptEvaluation?: boolean;
|
|
10
|
+
timeout?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function joinList(data: Array<string>, joinDef: any, options?: GenerationOptions): string;
|
|
13
|
+
export declare function peek($data: any[]): any;
|
|
14
|
+
export declare function peekProperty($data: any[], propertyName: string, allowUndefined?: boolean): any;
|
|
15
|
+
export declare function push($data: any[], item: any): number;
|
|
16
|
+
export declare function addChild($data: any[], item: any): void;
|
|
17
|
+
export declare function pop($data: any[]): any;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.joinList = joinList;
|
|
18
|
+
exports.peek = peek;
|
|
19
|
+
exports.peekProperty = peekProperty;
|
|
20
|
+
exports.push = push;
|
|
21
|
+
exports.addChild = addChild;
|
|
22
|
+
exports.pop = pop;
|
|
23
|
+
const DEBUG = false;
|
|
24
|
+
function joinList(data, joinDef, options) {
|
|
25
|
+
if (joinDef.separator) {
|
|
26
|
+
return data.join(joinDef.separator);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const formatter = new Intl.ListFormat(joinDef.locale ? joinDef.locale : options?.locale, {
|
|
30
|
+
style: joinDef.style,
|
|
31
|
+
type: joinDef.type
|
|
32
|
+
});
|
|
33
|
+
return formatter.format(data);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* These utility functions are used by the typescript code that
|
|
38
|
+
* is generated from TemplateMark. They manage a stack to improve
|
|
39
|
+
* debuggability.
|
|
40
|
+
*/
|
|
41
|
+
function dump(op, $data) {
|
|
42
|
+
if (DEBUG) {
|
|
43
|
+
console.log(`${op}: ${JSON.stringify($data)}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function peek($data) {
|
|
47
|
+
if ($data.length <= 0) {
|
|
48
|
+
throw new Error('Empty array');
|
|
49
|
+
}
|
|
50
|
+
const result = $data[$data.length - 1];
|
|
51
|
+
dump('peek', $data);
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
function peekProperty($data, propertyName, allowUndefined = false) {
|
|
55
|
+
const head = peek($data);
|
|
56
|
+
const result = head[propertyName];
|
|
57
|
+
if (!allowUndefined && result === undefined) {
|
|
58
|
+
throw new Error(`Undefined property ${propertyName}. Current stack is ${JSON.stringify($data)}`);
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
function push($data, item) {
|
|
63
|
+
const result = $data.push(item);
|
|
64
|
+
dump('push', $data);
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
function addChild($data, item) {
|
|
68
|
+
const node = peek($data);
|
|
69
|
+
if (node.nodes) {
|
|
70
|
+
node.nodes.push(item);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
node.nodes = [item];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function pop($data) {
|
|
77
|
+
if ($data.length <= 0) {
|
|
78
|
+
throw new Error('Empty array');
|
|
79
|
+
}
|
|
80
|
+
const result = $data.pop();
|
|
81
|
+
dump('pop', $data);
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=TypeScriptRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeScriptRuntime.js","sourceRoot":"","sources":["../src/TypeScriptRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TwoSlashReturn } from '@typescript/twoslash';
|
|
2
|
+
import { ModelManager } from '@accordproject/concerto-core';
|
|
3
|
+
export declare class TypeScriptToJavaScriptCompiler {
|
|
4
|
+
context: string;
|
|
5
|
+
fsMap: Map<string, string> | undefined;
|
|
6
|
+
ts: any;
|
|
7
|
+
typescriptUrl: string;
|
|
8
|
+
constructor(modelManager: ModelManager, templateConceptFqn?: string);
|
|
9
|
+
initialize(typescriptUrl?: string): Promise<void>;
|
|
10
|
+
compile(typescript: string): TwoSlashReturn;
|
|
11
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.TypeScriptToJavaScriptCompiler = void 0;
|
|
50
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
51
|
+
const vfs_1 = require("@typescript/vfs");
|
|
52
|
+
const twoslash_1 = require("@typescript/twoslash");
|
|
53
|
+
const TypeScriptCompilationContext_1 = require("./TypeScriptCompilationContext");
|
|
54
|
+
const declarations_1 = require("./runtime/declarations");
|
|
55
|
+
const lzstring = __importStar(require("lz-string"));
|
|
56
|
+
/**
|
|
57
|
+
* Compiles user Typescript code to JavaScript. This uses the '@typescript/twoslash'
|
|
58
|
+
* project which is maintained by the Typescript team and powers their web playground.
|
|
59
|
+
* It uses the TypeScriptCompilationContext class to construct a payload for twoslash
|
|
60
|
+
* that is composed of multiple TS files to compile, along with their 3rd-party module
|
|
61
|
+
* dependencies.
|
|
62
|
+
*
|
|
63
|
+
* Note that the 'typescript' module is either dynamically loaded from node_modules (Node.js)
|
|
64
|
+
* or from the CDN (browser). This module is used by twoslash.
|
|
65
|
+
*
|
|
66
|
+
* The 'updateRuntimeDependencies' script it used to package type declarations for 3rd-party
|
|
67
|
+
* modules that we need to expose to user TS code: dayjs and jsonpath, these also need to be
|
|
68
|
+
* added to the twoslash compilation context.
|
|
69
|
+
*/
|
|
70
|
+
const TYPESCRIPT_URL = process.env.TYPESCRIPT_URL ? process.env.TYPESCRIPT_URL : 'https://cdn.jsdelivr.net/npm/typescript@4.9.4/+esm';
|
|
71
|
+
// https://microsoft.github.io/monaco-editor/typedoc/enums/languages.typescript.ScriptTarget.html#ES2020
|
|
72
|
+
// enum ScriptTarget {
|
|
73
|
+
// /** @deprecated */
|
|
74
|
+
// ES3 = 0,
|
|
75
|
+
// ES5 = 1,
|
|
76
|
+
// ES2015 = 2,
|
|
77
|
+
// ES2016 = 3,
|
|
78
|
+
// ES2017 = 4,
|
|
79
|
+
// ES2018 = 5,
|
|
80
|
+
// ES2019 = 6,
|
|
81
|
+
// ES2020 = 7,
|
|
82
|
+
// ES2021 = 8,
|
|
83
|
+
// ES2022 = 9,
|
|
84
|
+
// ES2023 = 10,
|
|
85
|
+
// ES2024 = 11,
|
|
86
|
+
// ESNext = 99,
|
|
87
|
+
// JSON = 100,
|
|
88
|
+
// Latest = 99,
|
|
89
|
+
// }
|
|
90
|
+
const SCRIPT_TARGET = 9;
|
|
91
|
+
// enum ModuleKind {
|
|
92
|
+
// None = 0,
|
|
93
|
+
// CommonJS = 1,
|
|
94
|
+
// AMD = 2,
|
|
95
|
+
// UMD = 3,
|
|
96
|
+
// System = 4,
|
|
97
|
+
// ES2015 = 5,
|
|
98
|
+
// ES2020 = 6,
|
|
99
|
+
// ES2022 = 7,
|
|
100
|
+
// ESNext = 99,
|
|
101
|
+
// Node16 = 100,
|
|
102
|
+
// Node18 = 101,
|
|
103
|
+
// NodeNext = 199,
|
|
104
|
+
// Preserve = 200,
|
|
105
|
+
// }
|
|
106
|
+
const MODULE_KIND = 6;
|
|
107
|
+
class TypeScriptToJavaScriptCompiler {
|
|
108
|
+
constructor(modelManager, templateConceptFqn) {
|
|
109
|
+
this.context = new TypeScriptCompilationContext_1.TypeScriptCompilationContext(modelManager, templateConceptFqn).getCompilationContext();
|
|
110
|
+
this.typescriptUrl = TYPESCRIPT_URL;
|
|
111
|
+
}
|
|
112
|
+
async initialize(typescriptUrl) {
|
|
113
|
+
if (typescriptUrl) {
|
|
114
|
+
this.typescriptUrl = typescriptUrl;
|
|
115
|
+
}
|
|
116
|
+
if (typeof window === 'undefined') {
|
|
117
|
+
// node does not (yet) support http(s) imports
|
|
118
|
+
// see: https://nodejs.org/api/esm.html#https-and-http-imports
|
|
119
|
+
this.ts = (await Promise.resolve().then(() => __importStar(require('typescript')))).default;
|
|
120
|
+
if (!this.ts) {
|
|
121
|
+
throw new Error('Failed to load typescript module');
|
|
122
|
+
}
|
|
123
|
+
this.fsMap = (0, vfs_1.createDefaultMapFromNodeModules)({
|
|
124
|
+
target: SCRIPT_TARGET,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Use the bundled typescript in the browser rather than a dynamic CDN module
|
|
129
|
+
// import: webpack cannot resolve the runtime CDN URL ('Cannot find module
|
|
130
|
+
// https://...'), and twoslash already pulls typescript into the browser bundle.
|
|
131
|
+
this.ts = (await Promise.resolve().then(() => __importStar(require('typescript')))).default;
|
|
132
|
+
if (!this.ts) {
|
|
133
|
+
throw new Error('Failed to load typescript module');
|
|
134
|
+
}
|
|
135
|
+
// lib.d.ts files are still fetched from the CDN at runtime (a browser fetch).
|
|
136
|
+
this.fsMap = await (0, vfs_1.createDefaultMapFromCDN)({ target: SCRIPT_TARGET }, this.ts.version, false, this.ts);
|
|
137
|
+
}
|
|
138
|
+
this.fsMap.set('/node_modules/@types/dayjs/index.d.ts', Buffer.from(declarations_1.DAYJS_BASE64, 'base64').toString());
|
|
139
|
+
this.fsMap.set('/node_modules/@types/jsonpath/index.d.ts', Buffer.from(declarations_1.JSONPATH_BASE64, 'base64').toString());
|
|
140
|
+
}
|
|
141
|
+
compile(typescript) {
|
|
142
|
+
if (!this.fsMap) {
|
|
143
|
+
throw new Error('initialize must be awaited before compile is called.');
|
|
144
|
+
}
|
|
145
|
+
const twoSlashCode = `
|
|
146
|
+
${this.context}
|
|
147
|
+
${typescript}
|
|
148
|
+
`;
|
|
149
|
+
const options = {
|
|
150
|
+
fsMap: this.fsMap,
|
|
151
|
+
tsModule: this.ts,
|
|
152
|
+
defaultCompilerOptions: {
|
|
153
|
+
target: SCRIPT_TARGET,
|
|
154
|
+
module: MODULE_KIND,
|
|
155
|
+
},
|
|
156
|
+
lzstringModule: lzstring,
|
|
157
|
+
defaultOptions: {
|
|
158
|
+
showEmit: true,
|
|
159
|
+
noErrorValidation: true,
|
|
160
|
+
showEmittedFile: 'code.js'
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
// console.log(twoSlashCode);
|
|
164
|
+
const result = (0, twoslash_1.twoslasher)(twoSlashCode, 'ts', options);
|
|
165
|
+
return result;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.TypeScriptToJavaScriptCompiler = TypeScriptToJavaScriptCompiler;
|
|
169
|
+
//# sourceMappingURL=TypeScriptToJavaScriptCompiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeScriptToJavaScriptCompiler.js","sourceRoot":"","sources":["../src/TypeScriptToJavaScriptCompiler.ts"],"names":[],"mappings":"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"}
|