@accordproject/template-engine 2.1.1 → 2.2.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.
Files changed (127) hide show
  1. package/dist/index.d.ts +123 -2
  2. package/dist/index.js +1437 -21
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +1414 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/runtime.tgz +0 -0
  7. package/package.json +6 -2
  8. package/dist/Common.d.ts +0 -20
  9. package/dist/Common.js +0 -55
  10. package/dist/Common.js.map +0 -1
  11. package/dist/TemplateMarkInterpreter.d.ts +0 -34
  12. package/dist/TemplateMarkInterpreter.js +0 -402
  13. package/dist/TemplateMarkInterpreter.js.map +0 -1
  14. package/dist/TemplateMarkToJavaScriptCompiler.d.ts +0 -20
  15. package/dist/TemplateMarkToJavaScriptCompiler.js +0 -99
  16. package/dist/TemplateMarkToJavaScriptCompiler.js.map +0 -1
  17. package/dist/TemplateMarkToTypeScriptCompiler.d.ts +0 -77
  18. package/dist/TemplateMarkToTypeScriptCompiler.js +0 -311
  19. package/dist/TemplateMarkToTypeScriptCompiler.js.map +0 -1
  20. package/dist/TypeScriptCompilationContext.d.ts +0 -15
  21. package/dist/TypeScriptCompilationContext.js +0 -57
  22. package/dist/TypeScriptCompilationContext.js.map +0 -1
  23. package/dist/TypeScriptRuntime.d.ts +0 -14
  24. package/dist/TypeScriptRuntime.js +0 -79
  25. package/dist/TypeScriptRuntime.js.map +0 -1
  26. package/dist/TypeScriptToJavaScriptCompiler.d.ts +0 -16
  27. package/dist/TypeScriptToJavaScriptCompiler.js +0 -69
  28. package/dist/TypeScriptToJavaScriptCompiler.js.map +0 -1
  29. package/dist/compilers/Clause.d.ts +0 -14
  30. package/dist/compilers/Clause.js +0 -43
  31. package/dist/compilers/Clause.js.map +0 -1
  32. package/dist/compilers/Common.d.ts +0 -66
  33. package/dist/compilers/Common.js +0 -180
  34. package/dist/compilers/Common.js.map +0 -1
  35. package/dist/compilers/Conditional.d.ts +0 -12
  36. package/dist/compilers/Conditional.js +0 -36
  37. package/dist/compilers/Conditional.js.map +0 -1
  38. package/dist/compilers/ContractDefinition.d.ts +0 -8
  39. package/dist/compilers/ContractDefinition.js +0 -33
  40. package/dist/compilers/ContractDefinition.js.map +0 -1
  41. package/dist/compilers/EnumVariable.d.ts +0 -8
  42. package/dist/compilers/EnumVariable.js +0 -28
  43. package/dist/compilers/EnumVariable.js.map +0 -1
  44. package/dist/compilers/FormattedVariable.d.ts +0 -8
  45. package/dist/compilers/FormattedVariable.js +0 -29
  46. package/dist/compilers/FormattedVariable.js.map +0 -1
  47. package/dist/compilers/Formula.d.ts +0 -8
  48. package/dist/compilers/Formula.js +0 -24
  49. package/dist/compilers/Formula.js.map +0 -1
  50. package/dist/compilers/Join.d.ts +0 -8
  51. package/dist/compilers/Join.js +0 -23
  52. package/dist/compilers/Join.js.map +0 -1
  53. package/dist/compilers/ListBlock.d.ts +0 -11
  54. package/dist/compilers/ListBlock.js +0 -39
  55. package/dist/compilers/ListBlock.js.map +0 -1
  56. package/dist/compilers/NodeCompilers.d.ts +0 -7
  57. package/dist/compilers/NodeCompilers.js +0 -89
  58. package/dist/compilers/NodeCompilers.js.map +0 -1
  59. package/dist/compilers/Optional.d.ts +0 -11
  60. package/dist/compilers/Optional.js +0 -48
  61. package/dist/compilers/Optional.js.map +0 -1
  62. package/dist/compilers/Variable.d.ts +0 -8
  63. package/dist/compilers/Variable.js +0 -28
  64. package/dist/compilers/Variable.js.map +0 -1
  65. package/dist/compilers/With.d.ts +0 -10
  66. package/dist/compilers/With.js +0 -23
  67. package/dist/compilers/With.js.map +0 -1
  68. package/dist/drafting/Boolean/index.d.ts +0 -6
  69. package/dist/drafting/Boolean/index.js +0 -30
  70. package/dist/drafting/Boolean/index.js.map +0 -1
  71. package/dist/drafting/DateTime/index.d.ts +0 -7
  72. package/dist/drafting/DateTime/index.js +0 -33
  73. package/dist/drafting/DateTime/index.js.map +0 -1
  74. package/dist/drafting/Double/format.d.ts +0 -13
  75. package/dist/drafting/Double/format.js +0 -55
  76. package/dist/drafting/Double/format.js.map +0 -1
  77. package/dist/drafting/Double/index.d.ts +0 -7
  78. package/dist/drafting/Double/index.js +0 -33
  79. package/dist/drafting/Double/index.js.map +0 -1
  80. package/dist/drafting/Integer/format.d.ts +0 -13
  81. package/dist/drafting/Integer/format.js +0 -45
  82. package/dist/drafting/Integer/format.js.map +0 -1
  83. package/dist/drafting/Integer/index.d.ts +0 -7
  84. package/dist/drafting/Integer/index.js +0 -33
  85. package/dist/drafting/Integer/index.js.map +0 -1
  86. package/dist/drafting/Long/index.d.ts +0 -7
  87. package/dist/drafting/Long/index.js +0 -33
  88. package/dist/drafting/Long/index.js.map +0 -1
  89. package/dist/drafting/MonetaryAmount/currencycode.d.ts +0 -35
  90. package/dist/drafting/MonetaryAmount/currencycode.js +0 -53
  91. package/dist/drafting/MonetaryAmount/currencycode.js.map +0 -1
  92. package/dist/drafting/MonetaryAmount/index.d.ts +0 -12
  93. package/dist/drafting/MonetaryAmount/index.js +0 -67
  94. package/dist/drafting/MonetaryAmount/index.js.map +0 -1
  95. package/dist/drafting/String/index.d.ts +0 -6
  96. package/dist/drafting/String/index.js +0 -25
  97. package/dist/drafting/String/index.js.map +0 -1
  98. package/dist/drafting/index.d.ts +0 -1
  99. package/dist/drafting/index.js +0 -40
  100. package/dist/drafting/index.js.map +0 -1
  101. package/dist/model-gen/concerto.d.ts +0 -13
  102. package/dist/model-gen/concerto.js +0 -5
  103. package/dist/model-gen/concerto.js.map +0 -1
  104. package/dist/model-gen/concerto.metamodel@1.0.0.d.ts +0 -196
  105. package/dist/model-gen/concerto.metamodel@1.0.0.js +0 -5
  106. package/dist/model-gen/concerto.metamodel@1.0.0.js.map +0 -1
  107. package/dist/model-gen/concerto@1.0.0.d.ts +0 -19
  108. package/dist/model-gen/concerto@1.0.0.js +0 -5
  109. package/dist/model-gen/concerto@1.0.0.js.map +0 -1
  110. package/dist/model-gen/org.accordproject.ciceromark@0.6.0.d.ts +0 -49
  111. package/dist/model-gen/org.accordproject.ciceromark@0.6.0.js +0 -5
  112. package/dist/model-gen/org.accordproject.ciceromark@0.6.0.js.map +0 -1
  113. package/dist/model-gen/org.accordproject.commonmark@0.5.0.d.ts +0 -89
  114. package/dist/model-gen/org.accordproject.commonmark@0.5.0.js +0 -5
  115. package/dist/model-gen/org.accordproject.commonmark@0.5.0.js.map +0 -1
  116. package/dist/model-gen/org.accordproject.templatemark@0.5.0.d.ts +0 -76
  117. package/dist/model-gen/org.accordproject.templatemark@0.5.0.js +0 -12
  118. package/dist/model-gen/org.accordproject.templatemark@0.5.0.js.map +0 -1
  119. package/dist/runtime/declarations.d.ts +0 -2
  120. package/dist/runtime/declarations.js +0 -21
  121. package/dist/runtime/declarations.js.map +0 -1
  122. package/dist/runtime/runtime.d.ts +0 -1
  123. package/dist/runtime/runtime.js +0 -20
  124. package/dist/runtime/runtime.js.map +0 -1
  125. package/dist/utils.d.ts +0 -5
  126. package/dist/utils.js +0 -43
  127. package/dist/utils.js.map +0 -1
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypeScriptToJavaScriptCompiler = void 0;
7
- /*
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- */
20
- const typescript_1 = __importDefault(require("typescript"));
21
- const vfs_1 = require("@typescript/vfs");
22
- const twoslash_1 = require("@typescript/twoslash");
23
- const TypeScriptCompilationContext_1 = require("./TypeScriptCompilationContext");
24
- const declarations_1 = require("./runtime/declarations");
25
- /**
26
- * Compiles user Typescript code to JavaScript, This uses the '@typescript/twoslash'
27
- * project which is maintained by the Typescript team and powers their web playground.
28
- * It uses the TypeScriptCompilationContext class to construct a payload for twoslash
29
- * that is composed of multiple TS files to compile, along with their 3rd-party module
30
- * dependencies.
31
- */
32
- class TypeScriptToJavaScriptCompiler {
33
- constructor(modelManager, templateConceptFqn) {
34
- this.context = new TypeScriptCompilationContext_1.TypeScriptCompilationContext(modelManager, templateConceptFqn).getCompilationContext();
35
- }
36
- async initialize() {
37
- if (process.env.TEMPLATE_ENGINE_TYPESCRIPT_LOCAL_MAP) {
38
- this.fsMap = (0, vfs_1.createDefaultMapFromNodeModules)({
39
- target: typescript_1.default.ScriptTarget.ES2020,
40
- });
41
- }
42
- else {
43
- this.fsMap = await (0, vfs_1.createDefaultMapFromCDN)({ target: typescript_1.default.ScriptTarget.ES2020 }, typescript_1.default.version, false, typescript_1.default);
44
- }
45
- this.fsMap.set('/node_modules/@types/dayjs/index.d.ts', Buffer.from(declarations_1.DAYJS_BASE64, 'base64').toString());
46
- this.fsMap.set('/node_modules/@types/jsonpath/index.d.ts', Buffer.from(declarations_1.JSONPATH_BASE64, 'base64').toString());
47
- }
48
- compile(typescript) {
49
- if (!this.fsMap) {
50
- throw new Error('initialize must be awaited before compile is called.');
51
- }
52
- const twoSlashCode = `
53
- ${this.context}
54
- ${typescript}
55
- `;
56
- const options = {
57
- fsMap: this.fsMap,
58
- defaultOptions: {
59
- showEmit: true,
60
- noErrorValidation: true,
61
- showEmittedFile: 'code.js'
62
- }
63
- };
64
- const result = (0, twoslash_1.twoslasher)(twoSlashCode, 'ts', options);
65
- return result;
66
- }
67
- }
68
- exports.TypeScriptToJavaScriptCompiler = TypeScriptToJavaScriptCompiler;
69
- //# sourceMappingURL=TypeScriptToJavaScriptCompiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeScriptToJavaScriptCompiler.js","sourceRoot":"","sources":["../src/TypeScriptToJavaScriptCompiler.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;GAYG;AACH,4DAA4B;AAC5B,yCAA2F;AAC3F,mDAAmF;AAEnF,iFAA8E;AAC9E,yDAAuE;AAEvE;;;;;;GAMG;AACH,MAAa,8BAA8B;IAIvC,YAAY,YAA0B,EAAE,kBAA2B;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,2DAA4B,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE;YACjD,IAAI,CAAC,KAAK,GAAG,IAAA,qCAA+B,EAAC;gBACzC,MAAM,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM;aACjC,CAAC,CAAC;SACN;aACI;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,IAAA,6BAAuB,EAAC,EAAE,MAAM,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,oBAAE,CAAC,OAAO,EAAE,KAAK,EAAE,oBAAE,CAAC,CAAC;SACzG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,IAAI,CAAC,2BAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,8BAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,CAAC,UAAkB;QACtB,IAAG,CAAC,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SAC3E;QACD,MAAM,YAAY,GAAE;EAC1B,IAAI,CAAC,OAAO;EACZ,UAAU;CACX,CAAC;QAEM,MAAM,OAAO,GAAoB;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE;gBACZ,QAAQ,EAAE,IAAI;gBACd,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,SAAS;aAC7B;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAzCD,wEAyCC"}
@@ -1,14 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IClauseDefinition, IWithDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- interface INamedClauseDefinition extends IClauseDefinition {
5
- readonly functionName: string;
6
- }
7
- export declare class Clause extends AbstractComplexCompiler {
8
- static TYPE: string;
9
- constructor();
10
- enter(fw: FileWriter, level: number, templateMarkNode: IWithDefinition): void;
11
- generate(fw: FileWriter, level: number, templateMarkNode: INamedClauseDefinition): void;
12
- exit(fw: FileWriter, level: number): void;
13
- }
14
- export {};
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Clause = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const Common_1 = require("./Common");
6
- class Clause extends Common_1.AbstractComplexCompiler {
7
- constructor() {
8
- super(false);
9
- }
10
- enter(fw, level, templateMarkNode) {
11
- (0, Common_1.writeDebug)(fw, level, templateMarkNode);
12
- (0, Common_1.writeOpenNodeScope)(fw, level);
13
- (0, Common_1.writeOpenDataScope)(fw, level, templateMarkNode.name);
14
- }
15
- generate(fw, level, templateMarkNode) {
16
- const clone = (0, Common_1.makeCiceroMark)(templateMarkNode);
17
- delete clone.condition;
18
- delete clone.functionName;
19
- const para = { $class: `${markdown_common_1.CommonMarkModel.NAMESPACE}.Paragraph` };
20
- (0, Common_1.writeOpenGenerateScope)(fw, level);
21
- if (templateMarkNode.condition) {
22
- fw.writeLine(level, `const isTrue:boolean = UserCode.${templateMarkNode.functionName}(data,library,options)`);
23
- }
24
- else {
25
- fw.writeLine(level, 'const isTrue:boolean = true;');
26
- }
27
- fw.writeLine(level, 'if(isTrue) {');
28
- fw.writeLine(level, `return ${JSON.stringify(clone)} as ${(0, Common_1.getTypeScriptType)(clone.$class)};`);
29
- fw.writeLine(level, '}');
30
- fw.writeLine(level, 'else {');
31
- fw.writeLine(level, `return ${JSON.stringify(para)} as ${(0, Common_1.getTypeScriptType)(para.$class)};`);
32
- fw.writeLine(level, '}');
33
- (0, Common_1.writeCloseGenerateScope)(fw, level);
34
- delete templateMarkNode.condition;
35
- }
36
- exit(fw, level) {
37
- (0, Common_1.writeCloseDataScope)(fw, level);
38
- (0, Common_1.writeCloseNodeScope)(fw, level);
39
- }
40
- }
41
- exports.Clause = Clause;
42
- Clause.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ClauseDefinition`;
43
- //# sourceMappingURL=Clause.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Clause.js","sourceRoot":"","sources":["../../src/compilers/Clause.ts"],"names":[],"mappings":";;;AAcA,oEAAmF;AAInF,qCAAqO;AAMrO,MAAa,MAAO,SAAQ,gCAAuB;IAE/C;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,EAAa,EAAE,KAAY,EAAC,gBAAgC;QAC9D,IAAA,mBAAU,EAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACxC,IAAA,2BAAkB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QAC7B,IAAA,2BAAkB,EAAC,EAAE,EAAC,KAAK,EAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,EAAa,EAAE,KAAY,EAAE,gBAAuC;QACzE,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,CAAY,CAAC;QAC1D,OAAQ,KAAa,CAAC,SAAS,CAAC;QAChC,OAAQ,KAAa,CAAC,YAAY,CAAC;QACnC,MAAM,IAAI,GAAG,EAAC,MAAM,EAAE,GAAG,iCAAe,CAAC,SAAS,YAAY,EAAe,CAAC;QAC9E,IAAA,+BAAsB,EAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,IAAG,gBAAgB,CAAC,SAAS,EAAE;YAC3B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,mCAAmC,gBAAgB,CAAC,YAAY,wBAAwB,CAAC,CAAC;SACjH;aACI;YACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;SACvD;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACpC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9F,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAA,0BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzB,IAAA,gCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC,SAAS,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,EAAa,EAAE,KAAY;QAC5B,IAAA,4BAAmB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QAC9B,IAAA,4BAAmB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;IAClC,CAAC;;AArCL,wBAsCC;AArCU,WAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,mBAAmB,CAAC"}
@@ -1,66 +0,0 @@
1
- import { INode } from '../model-gen/org.accordproject.commonmark@0.5.0';
2
- import { FileWriter } from '@accordproject/concerto-util';
3
- import { ClassDeclaration } from '@accordproject/concerto-core';
4
- import { ProcessingFunction } from '../TemplateMarkToTypeScriptCompiler';
5
- export declare function writeDebug(fw: FileWriter, level: number, concept: any): void;
6
- export declare const RUNTIME_DIR = "runtime";
7
- export declare function writeImports(fw: FileWriter, level: number, templateClass: ClassDeclaration): void;
8
- export declare function writeProlog(fw: FileWriter, level: number, templateClass: ClassDeclaration): void;
9
- export declare function writeEpilog(fw: FileWriter, level: number): void;
10
- export declare function writeOpenGenerateScope(fw: FileWriter, level: number): void;
11
- export declare function writeCloseGenerateScope(fw: FileWriter, level: number): void;
12
- export declare function writeOpenNodeScope(fw: FileWriter, level: number): void;
13
- export declare function writeCloseNodeScope(fw: FileWriter, level: number): void;
14
- export declare function writeOpenDataScope(fw: FileWriter, level: number, name: string, allowUndefined?: boolean): void;
15
- export declare function writeCloseDataScope(fw: FileWriter, level: number): void;
16
- export declare function getTypeScriptType(ctoFqn: string): string;
17
- /**
18
- * Map of a node from template mark to ciceromark
19
- * @param {INode} templateMarkNode the template mark.
20
- * @param {boolean} deep when deep is false (the default) child nodes are not copied
21
- * @returns {INode} the mapped node
22
- */
23
- export declare function makeCiceroMark(templateMarkNode: INode, deep?: boolean): INode;
24
- export interface INodeCompiler {
25
- enter(fw: FileWriter, level: number, templateMarkNode: INode): void;
26
- generate(fw: FileWriter, level: number, templateMarkNode: INode, doIt: ProcessingFunction): void;
27
- exit(fw: FileWriter, level: number, templateMarkNode: INode): void;
28
- }
29
- /**
30
- * A node compiler that allows code to run on node enter, exit and
31
- * with a generate method to generate code for the node.
32
- */
33
- export declare abstract class AbstractComplexCompiler implements INodeCompiler {
34
- leaf: boolean;
35
- constructor(leaf: boolean);
36
- isLeaf(): boolean;
37
- enter(fw: FileWriter, level: number, templateMarkNode: INode): void;
38
- abstract generate(fw: FileWriter, level: number, templateMarkNode: INode, doIt: ProcessingFunction): void;
39
- exit(fw: FileWriter, level: number): void;
40
- }
41
- /**
42
- * A node compiler that allows a JSON node to be constructed from
43
- * the data in a templatemark node.
44
- */
45
- export declare abstract class AbstractSimpleCompiler extends AbstractComplexCompiler {
46
- constructor(leaf: boolean);
47
- abstract getNode(templateMarkNode: INode): INode;
48
- generate(fw: FileWriter, level: number, templateMarkNode: INode): void;
49
- }
50
- /**
51
- * PassThroughNode simply maps data from TemplateMark to
52
- * CiceroMark, updating namespaces but otherwise leaving
53
- * the data alone.
54
- */
55
- export declare class PassThrough extends AbstractSimpleCompiler {
56
- constructor(leaf: boolean);
57
- getNode(templateMarkNode: INode): INode;
58
- }
59
- /**
60
- * Ignore doesn't write any output for a node type
61
- */
62
- export declare class Ignore implements INodeCompiler {
63
- enter(fw: FileWriter, level: number, templateMarkNode: INode): void;
64
- generate(fw: FileWriter, level: number, templateMarkNode: INode): void;
65
- exit(fw: FileWriter, level: number, templateMarkNode: INode): void;
66
- }
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Ignore = exports.PassThrough = exports.AbstractSimpleCompiler = exports.AbstractComplexCompiler = exports.makeCiceroMark = exports.getTypeScriptType = exports.writeCloseDataScope = exports.writeOpenDataScope = exports.writeCloseNodeScope = exports.writeOpenNodeScope = exports.writeCloseGenerateScope = exports.writeOpenGenerateScope = exports.writeEpilog = exports.writeProlog = exports.writeImports = exports.RUNTIME_DIR = exports.writeDebug = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const concerto_core_1 = require("@accordproject/concerto-core");
6
- function writeDebug(fw, level, concept) {
7
- fw.writeLine(level, `// ${concerto_core_1.ModelUtil.getShortName(concept.$class)} ${concept.name ? `(${concept.name})` : ''}`);
8
- }
9
- exports.writeDebug = writeDebug;
10
- exports.RUNTIME_DIR = 'runtime';
11
- function writeImports(fw, level, templateClass) {
12
- fw.writeLine(level, `import * as CommonMark from './${markdown_common_1.CommonMarkModel.NAMESPACE}';`);
13
- fw.writeLine(level, `import * as CiceroMark from './${markdown_common_1.CiceroMarkModel.NAMESPACE}';`);
14
- fw.writeLine(level, `import * as TemplateModel from './${templateClass.getNamespace()}';`);
15
- fw.writeLine(level, 'import * as UserCode from \'./usercode\';');
16
- fw.writeLine(level, `import { getDrafter as $getDrafter } from './${exports.RUNTIME_DIR}/drafting';`);
17
- fw.writeLine(level, `import * as Runtime from './${exports.RUNTIME_DIR}/TypeScriptRuntime';`);
18
- }
19
- exports.writeImports = writeImports;
20
- function writeProlog(fw, level, templateClass) {
21
- fw.writeLine(level, `export function generator(data:TemplateModel.I${templateClass.getName()}, library:any, options:Runtime.GenerationOptions) : CommonMark.IDocument {`);
22
- fw.writeLine(level, `const docNode = {$class: '${markdown_common_1.CommonMarkModel.NAMESPACE}.Document', xmlns: '${markdown_common_1.CommonMarkModel.NAMESPACE}', nodes: []} as CommonMark.INode;`);
23
- fw.writeLine(level, 'const $nodes:CommonMark.INode[] = [];'); // the stack of output CiceroMark nodes
24
- fw.writeLine(level, 'const $data:any[] = [];'); // the stack of 'this' used for data access
25
- fw.writeLine(level, 'let $result:any = docNode;'); // document root, or the return value
26
- fw.writeLine(level, 'Runtime.push($data, data);'); // push the 'data' to the stack so we have an initial 'this';
27
- }
28
- exports.writeProlog = writeProlog;
29
- function writeEpilog(fw, level) {
30
- fw.writeLine(level, 'return $result as CommonMark.IDocument;');
31
- fw.writeLine(level, '}');
32
- }
33
- exports.writeEpilog = writeEpilog;
34
- // allows us to declare local variables without fear of collision
35
- function writeOpenGenerateScope(fw, level) {
36
- fw.writeLine(level, '$result = (() => {');
37
- }
38
- exports.writeOpenGenerateScope = writeOpenGenerateScope;
39
- // closes the scope, calling the anon-function
40
- // and then pushes the result as a child of the last element of $nodes
41
- function writeCloseGenerateScope(fw, level) {
42
- fw.writeLine(level, '})();');
43
- fw.writeLine(level, 'Runtime.addChild($nodes, $result);');
44
- }
45
- exports.writeCloseGenerateScope = writeCloseGenerateScope;
46
- // save $curNode into $stack, so we can pop it when the scope closes
47
- function writeOpenNodeScope(fw, level) {
48
- fw.writeLine(level, 'Runtime.push($nodes, $result);');
49
- }
50
- exports.writeOpenNodeScope = writeOpenNodeScope;
51
- // closes the scope, popping the stack and setting $curNode
52
- function writeCloseNodeScope(fw, level) {
53
- fw.writeLine(level, '$result = Runtime.pop($nodes);');
54
- }
55
- exports.writeCloseNodeScope = writeCloseNodeScope;
56
- // save $curNode into $stack, so we can pop it when the scope closes
57
- function writeOpenDataScope(fw, level, name, allowUndefined = false) {
58
- fw.writeLine(level, `Runtime.push($data, Runtime.peekProperty($data, '${name}', ${allowUndefined}));`);
59
- }
60
- exports.writeOpenDataScope = writeOpenDataScope;
61
- // closes the scope, popping the stack and setting $curNode
62
- function writeCloseDataScope(fw, level) {
63
- fw.writeLine(level, 'Runtime.pop($data);');
64
- }
65
- exports.writeCloseDataScope = writeCloseDataScope;
66
- function getTypeScriptType(ctoFqn) {
67
- const ns = concerto_core_1.ModelUtil.getNamespace(ctoFqn);
68
- const type = concerto_core_1.ModelUtil.getShortName(ctoFqn);
69
- if (ns === markdown_common_1.CommonMarkModel.NAMESPACE) {
70
- return `CommonMark.I${type}`;
71
- }
72
- else if (ns === markdown_common_1.CiceroMarkModel.NAMESPACE) {
73
- return `CiceroMark.I${type}`;
74
- }
75
- else if (ns === markdown_common_1.TemplateMarkModel.NAMESPACE) {
76
- return `CiceroMark.I${type.substring(0, type.length - 'Definition'.length)}`;
77
- }
78
- else {
79
- throw new Error(`No type mapping for ${ctoFqn}`);
80
- }
81
- }
82
- exports.getTypeScriptType = getTypeScriptType;
83
- /**
84
- * Map of a node from template mark to ciceromark
85
- * @param {INode} templateMarkNode the template mark.
86
- * @param {boolean} deep when deep is false (the default) child nodes are not copied
87
- * @returns {INode} the mapped node
88
- */
89
- function makeCiceroMark(templateMarkNode, deep = false) {
90
- if (!templateMarkNode.$class) {
91
- throw new Error('Not a concerto type.');
92
- }
93
- const json = JSON.parse(JSON.stringify(templateMarkNode));
94
- delete json.elementType;
95
- if (!deep) {
96
- delete json.nodes;
97
- }
98
- else {
99
- if (json.nodes) {
100
- json.nodes = json.nodes.map((n) => makeCiceroMark(n, deep));
101
- }
102
- }
103
- const ns = concerto_core_1.ModelUtil.getNamespace(json.$class);
104
- const type = concerto_core_1.ModelUtil.getShortName(json.$class);
105
- if (ns === markdown_common_1.TemplateMarkModel.NAMESPACE) {
106
- json.$class = `${markdown_common_1.CiceroMarkModel.NAMESPACE}.${type.substring(0, type.length - 'Definition'.length)}`;
107
- }
108
- return json;
109
- }
110
- exports.makeCiceroMark = makeCiceroMark;
111
- /**
112
- * A node compiler that allows code to run on node enter, exit and
113
- * with a generate method to generate code for the node.
114
- */
115
- class AbstractComplexCompiler {
116
- constructor(leaf) {
117
- this.leaf = leaf;
118
- }
119
- isLeaf() {
120
- return this.leaf;
121
- }
122
- enter(fw, level, templateMarkNode) {
123
- writeDebug(fw, level, templateMarkNode);
124
- writeOpenNodeScope(fw, level);
125
- }
126
- // eslint-disable-next-line @typescript-eslint/no-empty-function
127
- exit(fw, level) {
128
- writeCloseNodeScope(fw, level);
129
- }
130
- }
131
- exports.AbstractComplexCompiler = AbstractComplexCompiler;
132
- /**
133
- * A node compiler that allows a JSON node to be constructed from
134
- * the data in a templatemark node.
135
- */
136
- class AbstractSimpleCompiler extends AbstractComplexCompiler {
137
- constructor(leaf) {
138
- super(leaf);
139
- }
140
- generate(fw, level, templateMarkNode) {
141
- const node = this.getNode(templateMarkNode);
142
- if (this.isLeaf()) {
143
- node.nodes = []; // we are a leaf node, null out child nodes
144
- }
145
- writeOpenGenerateScope(fw, level);
146
- fw.writeLine(level, `return ${JSON.stringify(node)} as ${getTypeScriptType(node.$class)};`);
147
- writeCloseGenerateScope(fw, level);
148
- }
149
- }
150
- exports.AbstractSimpleCompiler = AbstractSimpleCompiler;
151
- /**
152
- * PassThroughNode simply maps data from TemplateMark to
153
- * CiceroMark, updating namespaces but otherwise leaving
154
- * the data alone.
155
- */
156
- class PassThrough extends AbstractSimpleCompiler {
157
- constructor(leaf) {
158
- super(leaf);
159
- }
160
- getNode(templateMarkNode) {
161
- return makeCiceroMark(templateMarkNode);
162
- }
163
- }
164
- exports.PassThrough = PassThrough;
165
- /**
166
- * Ignore doesn't write any output for a node type
167
- */
168
- class Ignore {
169
- // eslint-disable-next-line @typescript-eslint/no-empty-function
170
- enter(fw, level, templateMarkNode) {
171
- }
172
- // eslint-disable-next-line @typescript-eslint/no-empty-function
173
- generate(fw, level, templateMarkNode) {
174
- }
175
- // eslint-disable-next-line @typescript-eslint/no-empty-function
176
- exit(fw, level, templateMarkNode) {
177
- }
178
- }
179
- exports.Ignore = Ignore;
180
- //# sourceMappingURL=Common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../src/compilers/Common.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IConditionalDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- interface INamedConditionalDefinition extends IConditionalDefinition {
5
- readonly functionName: string;
6
- }
7
- export declare class Conditional extends AbstractComplexCompiler {
8
- static TYPE: string;
9
- constructor();
10
- generate(fw: FileWriter, level: number, templateMarkNode: INamedConditionalDefinition): void;
11
- }
12
- export {};
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Conditional = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const Common_1 = require("./Common");
6
- class Conditional extends Common_1.AbstractComplexCompiler {
7
- constructor() {
8
- super(false);
9
- }
10
- generate(fw, level, templateMarkNode) {
11
- const clone = (0, Common_1.makeCiceroMark)(templateMarkNode, true);
12
- delete clone.condition;
13
- delete clone.dependencies;
14
- delete clone.functionName;
15
- clone.isTrue = true;
16
- (0, Common_1.writeOpenGenerateScope)(fw, level);
17
- if (templateMarkNode.condition) {
18
- fw.writeLine(level, `const isTrue:boolean = UserCode.${templateMarkNode.functionName}(data,library,options)`);
19
- }
20
- else {
21
- (0, Common_1.writeOpenDataScope)(fw, level, templateMarkNode.name);
22
- fw.writeLine(level, 'const isTrue:boolean = Runtime.peek($data);');
23
- (0, Common_1.writeCloseDataScope)(fw, level);
24
- }
25
- fw.writeLine(level, `const curNode = ${JSON.stringify(clone)} as ${(0, Common_1.getTypeScriptType)(templateMarkNode.$class)};`);
26
- fw.writeLine(level, '(curNode as CiceroMark.IConditional).isTrue = isTrue;');
27
- fw.writeLine(level, 'return curNode;');
28
- (0, Common_1.writeCloseGenerateScope)(fw, level);
29
- delete templateMarkNode.condition;
30
- delete templateMarkNode.whenTrue;
31
- delete templateMarkNode.whenFalse;
32
- }
33
- }
34
- exports.Conditional = Conditional;
35
- Conditional.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ConditionalDefinition`;
36
- //# sourceMappingURL=Conditional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Conditional.js","sourceRoot":"","sources":["../../src/compilers/Conditional.ts"],"names":[],"mappings":";;;AAcA,oEAAmE;AAGnE,qCAAgL;AAMhL,MAAa,WAAY,SAAQ,gCAAuB;IAEpD;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,EAAa,EAAE,KAAY,EAAE,gBAA4C;QAC9E,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,EAAE,IAAI,CAAiB,CAAC;QACrE,OAAQ,KAAa,CAAC,SAAS,CAAC;QAChC,OAAQ,KAAa,CAAC,YAAY,CAAC;QACnC,OAAQ,KAAa,CAAC,YAAY,CAAC;QACnC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAA,+BAAsB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QACjC,IAAG,gBAAgB,CAAC,SAAS,EAAE;YAC3B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,mCAAmC,gBAAgB,CAAC,YAAY,wBAAwB,CAAC,CAAC;SACjH;aACI;YACD,IAAA,2BAAkB,EAAC,EAAE,EAAC,KAAK,EAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;YACnE,IAAA,4BAAmB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;SACjC;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAA,0BAAiB,EAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClH,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,uDAAuD,CAAC,CAAC;QAC7E,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACvC,IAAA,gCAAuB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QAClC,OAAO,gBAAgB,CAAC,SAAS,CAAC;QAClC,OAAQ,gBAAwB,CAAC,QAAQ,CAAC;QAC1C,OAAQ,gBAAwB,CAAC,SAAS,CAAC;IAE/C,CAAC;;AA5BL,kCA6BC;AA5BU,gBAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,wBAAwB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { IContract } from '../model-gen/org.accordproject.ciceromark@0.6.0';
2
- import { IContractDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractSimpleCompiler } from './Common';
4
- export declare class ContractDefinition extends AbstractSimpleCompiler {
5
- static TYPE: string;
6
- constructor();
7
- getNode(templateMarkNode: IContractDefinition): IContract;
8
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContractDefinition = void 0;
4
- /*
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- const markdown_common_1 = require("@accordproject/markdown-common");
18
- const Common_1 = require("./Common");
19
- class ContractDefinition extends Common_1.AbstractSimpleCompiler {
20
- constructor() {
21
- super(false);
22
- }
23
- getNode(templateMarkNode) {
24
- return {
25
- $class: `${markdown_common_1.CiceroMarkModel.NAMESPACE}.Contract`,
26
- name: templateMarkNode.name,
27
- nodes: []
28
- };
29
- }
30
- }
31
- exports.ContractDefinition = ContractDefinition;
32
- ContractDefinition.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ContractDefinition`;
33
- //# sourceMappingURL=ContractDefinition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContractDefinition.js","sourceRoot":"","sources":["../../src/compilers/ContractDefinition.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,oEAAmF;AAGnF,qCAAkD;AAElD,MAAa,kBAAmB,SAAQ,+BAAsB;IAE1D;QACI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,gBAAoC;QACxC,OAAO;YACH,MAAM,EAAE,GAAG,iCAAe,CAAC,SAAS,WAAW;YAC/C,IAAI,EAAE,gBAAgB,CAAC,IAAI;YAC3B,KAAK,EAAE,EAAE;SACC,CAAC;IACnB,CAAC;;AAXL,gDAYC;AAXU,uBAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,qBAAqB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IEnumVariableDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- export declare class EnumVariable extends AbstractComplexCompiler {
5
- static TYPE: string;
6
- constructor();
7
- generate(fw: FileWriter, level: number, templateMarkNode: IEnumVariableDefinition): void;
8
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnumVariable = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const Common_1 = require("./Common");
6
- class EnumVariable extends Common_1.AbstractComplexCompiler {
7
- constructor() {
8
- super(true);
9
- }
10
- generate(fw, level, templateMarkNode) {
11
- const clone = (0, Common_1.makeCiceroMark)(templateMarkNode);
12
- (0, Common_1.writeOpenGenerateScope)(fw, level);
13
- if (templateMarkNode.name !== 'this') {
14
- (0, Common_1.writeOpenDataScope)(fw, level, templateMarkNode.name);
15
- }
16
- fw.writeLine(level, 'const text = JSON.stringify(Runtime.peek($data)) as string;');
17
- if (templateMarkNode.name !== 'this') {
18
- (0, Common_1.writeCloseDataScope)(fw, level);
19
- }
20
- fw.writeLine(level, `const variable:any = ${JSON.stringify(clone)};`);
21
- fw.writeLine(level, 'variable.value = text;');
22
- fw.writeLine(level, `return variable as ${(0, Common_1.getTypeScriptType)(clone.$class)};`);
23
- (0, Common_1.writeCloseGenerateScope)(fw, level);
24
- }
25
- }
26
- exports.EnumVariable = EnumVariable;
27
- EnumVariable.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.EnumVariableDefinition`;
28
- //# sourceMappingURL=EnumVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnumVariable.js","sourceRoot":"","sources":["../../src/compilers/EnumVariable.ts"],"names":[],"mappings":";;;AAcA,oEAAmE;AAGnE,qCAAgL;AAEhL,MAAa,YAAa,SAAQ,gCAAuB;IAErD;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,EAAa,EAAE,KAAY,EAAE,gBAAwC;QAC1E,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,CAAkB,CAAC;QAChE,IAAA,+BAAsB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QACjC,IAAG,gBAAgB,CAAC,IAAI,KAAK,MAAM,EAAE;YACjC,IAAA,2BAAkB,EAAC,EAAE,EAAC,KAAK,EAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtD;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,6DAA6D,CAAC,CAAC;QACnF,IAAG,gBAAgB,CAAC,IAAI,KAAK,MAAM,EAAE;YACjC,IAAA,4BAAmB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;SACjC;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAC9C,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAA,gCAAuB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;AAnBL,oCAoBC;AAnBU,iBAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,yBAAyB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IFormattedVariableDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- export declare class FormattedVariable extends AbstractComplexCompiler {
5
- static TYPE: string;
6
- constructor();
7
- generate(fw: FileWriter, level: number, templateMarkNode: IFormattedVariableDefinition): void;
8
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormattedVariable = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const Common_1 = require("./Common");
6
- class FormattedVariable extends Common_1.AbstractComplexCompiler {
7
- constructor() {
8
- super(true);
9
- }
10
- generate(fw, level, templateMarkNode) {
11
- const clone = (0, Common_1.makeCiceroMark)(templateMarkNode);
12
- (0, Common_1.writeOpenGenerateScope)(fw, level);
13
- if (templateMarkNode.name !== 'this') {
14
- (0, Common_1.writeOpenDataScope)(fw, level, templateMarkNode.name);
15
- }
16
- fw.writeLine(level, `const drafter = $getDrafter('${templateMarkNode.elementType}');`);
17
- fw.writeLine(level, `const text = drafter ? drafter(Runtime.peek($data), '${templateMarkNode.format}') : JSON.stringify(Runtime.peek($data)) as string;`);
18
- if (templateMarkNode.name !== 'this') {
19
- (0, Common_1.writeCloseDataScope)(fw, level);
20
- }
21
- fw.writeLine(level, `const variable:any = ${JSON.stringify(clone)};`);
22
- fw.writeLine(level, 'variable.value = text;');
23
- fw.writeLine(level, `return variable as ${(0, Common_1.getTypeScriptType)(clone.$class)};`);
24
- (0, Common_1.writeCloseGenerateScope)(fw, level);
25
- }
26
- }
27
- exports.FormattedVariable = FormattedVariable;
28
- FormattedVariable.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.FormattedVariableDefinition`;
29
- //# sourceMappingURL=FormattedVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormattedVariable.js","sourceRoot":"","sources":["../../src/compilers/FormattedVariable.ts"],"names":[],"mappings":";;;AAcA,oEAAmE;AAGnE,qCAAgL;AAEhL,MAAa,iBAAkB,SAAQ,gCAAuB;IAE1D;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,EAAa,EAAE,KAAY,EAAE,gBAA6C;QAC/E,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,CAAuB,CAAC;QACrE,IAAA,+BAAsB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QACjC,IAAG,gBAAgB,CAAC,IAAI,KAAK,MAAM,EAAE;YACjC,IAAA,2BAAkB,EAAC,EAAE,EAAC,KAAK,EAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACtD;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,gCAAgC,gBAAgB,CAAC,WAAW,KAAK,CAAC,CAAC;QACvF,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,wDAAwD,gBAAgB,CAAC,MAAM,qDAAqD,CAAC,CAAC;QAC1J,IAAG,gBAAgB,CAAC,IAAI,KAAK,MAAM,EAAE;YACjC,IAAA,4BAAmB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;SACjC;QACD,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAC9C,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAA,gCAAuB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;AApBL,8CAqBC;AApBU,sBAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,8BAA8B,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IFormulaDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- export declare class Formula extends AbstractComplexCompiler {
5
- static TYPE: string;
6
- constructor();
7
- generate(fw: FileWriter, level: number, templateMarkNode: IFormulaDefinition): void;
8
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Formula = void 0;
4
- const markdown_common_1 = require("@accordproject/markdown-common");
5
- const Common_1 = require("./Common");
6
- class Formula extends Common_1.AbstractComplexCompiler {
7
- constructor() {
8
- super(true);
9
- }
10
- generate(fw, level, templateMarkNode) {
11
- const clone = (0, Common_1.makeCiceroMark)(templateMarkNode);
12
- (0, Common_1.writeOpenGenerateScope)(fw, level);
13
- fw.writeLine(level, `const formulaResult = UserCode.${templateMarkNode.name}(data,library,options);`);
14
- fw.writeLine(level, 'const text = JSON.stringify(formulaResult);');
15
- fw.writeLine(level, `const formula:any = ${JSON.stringify(clone)};`);
16
- fw.writeLine(level, 'formula.value = text;');
17
- fw.writeLine(level, `formula.code = ${JSON.stringify(templateMarkNode.code.contents)};`); // HACK - update model
18
- fw.writeLine(level, `return formula as ${(0, Common_1.getTypeScriptType)(clone.$class)};`);
19
- (0, Common_1.writeCloseGenerateScope)(fw, level);
20
- }
21
- }
22
- exports.Formula = Formula;
23
- Formula.TYPE = `${markdown_common_1.TemplateMarkModel.NAMESPACE}.FormulaDefinition`;
24
- //# sourceMappingURL=Formula.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Formula.js","sourceRoot":"","sources":["../../src/compilers/Formula.ts"],"names":[],"mappings":";;;AAcA,oEAAmE;AAGnE,qCAAuI;AAEvI,MAAa,OAAQ,SAAQ,gCAAuB;IAEhD;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,EAAa,EAAE,KAAY,EAAE,gBAAmC;QACrE,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,gBAAgB,CAAa,CAAC;QAC3D,IAAA,+BAAsB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,kCAAkC,gBAAgB,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACtG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAC7C,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAChH,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,qBAAqB,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7E,IAAA,gCAAuB,EAAC,EAAE,EAAC,KAAK,CAAC,CAAC;IACtC,CAAC;;AAfL,0BAgBC;AAfU,YAAI,GAAG,GAAG,mCAAiB,CAAC,SAAS,oBAAoB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FileWriter } from '@accordproject/concerto-util';
2
- import { IJoinDefinition } from '../model-gen/org.accordproject.templatemark@0.5.0';
3
- import { AbstractComplexCompiler } from './Common';
4
- export declare class Join extends AbstractComplexCompiler {
5
- static TYPE: string;
6
- constructor();
7
- generate(fw: FileWriter, level: number, templateMarkNode: IJoinDefinition): void;
8
- }