@algorandfoundation/algokit-client-generator 2.6.0 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/bin/cli.mjs +4 -0
  2. package/cli.d.ts +0 -1
  3. package/cli.js +47 -49
  4. package/cli.js.map +1 -1
  5. package/cli.mjs +56 -0
  6. package/cli.mjs.map +1 -0
  7. package/client/app-types.d.ts +0 -1
  8. package/client/app-types.js +92 -97
  9. package/client/app-types.js.map +1 -1
  10. package/client/app-types.mjs +135 -0
  11. package/client/app-types.mjs.map +1 -0
  12. package/client/call-client.d.ts +0 -1
  13. package/client/call-client.js +145 -143
  14. package/client/call-client.js.map +1 -1
  15. package/client/call-client.mjs +320 -0
  16. package/client/call-client.mjs.map +1 -0
  17. package/client/call-composer-types.d.ts +0 -1
  18. package/client/call-composer-types.js +60 -62
  19. package/client/call-composer-types.js.map +1 -1
  20. package/client/call-composer-types.mjs +122 -0
  21. package/client/call-composer-types.mjs.map +1 -0
  22. package/client/call-composer.d.ts +0 -1
  23. package/client/call-composer.js +76 -78
  24. package/client/call-composer.js.map +1 -1
  25. package/client/call-composer.mjs +128 -0
  26. package/client/call-composer.mjs.map +1 -0
  27. package/client/call-factory.d.ts +0 -1
  28. package/client/call-factory.js +62 -62
  29. package/client/call-factory.js.map +1 -1
  30. package/client/call-factory.mjs +121 -0
  31. package/client/call-factory.mjs.map +1 -0
  32. package/client/deploy-types.d.ts +1 -2
  33. package/client/deploy-types.js +42 -40
  34. package/client/deploy-types.js.map +1 -1
  35. package/client/deploy-types.mjs +94 -0
  36. package/client/deploy-types.mjs.map +1 -0
  37. package/client/generate.d.ts +2 -2
  38. package/client/generate.js +28 -27
  39. package/client/generate.js.map +1 -1
  40. package/client/generate.mjs +36 -0
  41. package/client/generate.mjs.map +1 -0
  42. package/client/generator-context.d.ts +7 -2
  43. package/client/generator-context.js +39 -38
  44. package/client/generator-context.js.map +1 -1
  45. package/client/generator-context.mjs +21 -0
  46. package/client/generator-context.mjs.map +1 -0
  47. package/client/helpers/get-call-config-summary.d.ts +1 -2
  48. package/client/helpers/get-call-config-summary.js +8 -25
  49. package/client/helpers/get-call-config-summary.js.map +1 -1
  50. package/client/helpers/get-call-config-summary.mjs +55 -0
  51. package/client/helpers/get-call-config-summary.mjs.map +1 -0
  52. package/client/helpers/get-equivalent-type.d.ts +0 -1
  53. package/client/helpers/get-equivalent-type.js +21 -20
  54. package/client/helpers/get-equivalent-type.js.map +1 -1
  55. package/client/helpers/get-equivalent-type.mjs +57 -0
  56. package/client/helpers/get-equivalent-type.mjs.map +1 -0
  57. package/client/imports.d.ts +0 -1
  58. package/client/imports.js +4 -4
  59. package/client/imports.js.map +1 -1
  60. package/client/imports.mjs +28 -0
  61. package/client/imports.mjs.map +1 -0
  62. package/client/utility-types.d.ts +0 -1
  63. package/client/utility-types.js +27 -25
  64. package/client/utility-types.js.map +1 -1
  65. package/client/utility-types.mjs +48 -0
  66. package/client/utility-types.mjs.map +1 -0
  67. package/dev.d.ts +0 -1
  68. package/index.d.ts +0 -1
  69. package/index.js +14 -12
  70. package/index.js.map +1 -1
  71. package/index.mjs +4 -0
  72. package/index.mjs.map +1 -0
  73. package/output/writer.d.ts +0 -1
  74. package/output/writer.js +45 -38
  75. package/output/writer.js.map +1 -1
  76. package/output/writer.mjs +140 -0
  77. package/output/writer.mjs.map +1 -0
  78. package/package.json +9 -4
  79. package/schema/application.schema.json.js +375 -0
  80. package/schema/application.schema.json.js.map +1 -0
  81. package/schema/application.schema.json.mjs +364 -0
  82. package/schema/application.schema.json.mjs.map +1 -0
  83. package/schema/contract.schema.json.js +160 -0
  84. package/schema/contract.schema.json.js.map +1 -0
  85. package/schema/contract.schema.json.mjs +149 -0
  86. package/schema/contract.schema.json.mjs.map +1 -0
  87. package/schema/load.d.ts +0 -1
  88. package/schema/load.js +16 -41
  89. package/schema/load.js.map +1 -1
  90. package/schema/load.mjs +23 -0
  91. package/schema/load.mjs.map +1 -0
  92. package/tests/approval-tests.spec.d.ts +0 -1
  93. package/tests/util.d.ts +1 -0
  94. package/util/boom.d.ts +0 -1
  95. package/util/boom.js +4 -4
  96. package/util/boom.js.map +1 -1
  97. package/util/boom.mjs +6 -0
  98. package/util/boom.mjs.map +1 -0
  99. package/util/color-console.d.ts +0 -1
  100. package/util/color-console.js +12 -13
  101. package/util/color-console.js.map +1 -1
  102. package/util/color-console.mjs +17 -0
  103. package/util/color-console.mjs.map +1 -0
  104. package/util/not-falsy.d.ts +0 -1
  105. package/util/sanitization.d.ts +12 -6
  106. package/util/sanitization.js +54 -15
  107. package/util/sanitization.js.map +1 -1
  108. package/util/sanitization.mjs +54 -0
  109. package/util/sanitization.mjs.map +1 -0
  110. package/bin/cli.js +0 -4
  111. package/cli.d.ts.map +0 -1
  112. package/client/app-types.d.ts.map +0 -1
  113. package/client/call-client.d.ts.map +0 -1
  114. package/client/call-composer-types.d.ts.map +0 -1
  115. package/client/call-composer.d.ts.map +0 -1
  116. package/client/call-factory.d.ts.map +0 -1
  117. package/client/deploy-types.d.ts.map +0 -1
  118. package/client/generate.d.ts.map +0 -1
  119. package/client/generator-context.d.ts.map +0 -1
  120. package/client/helpers/get-call-config-summary.d.ts.map +0 -1
  121. package/client/helpers/get-equivalent-type.d.ts.map +0 -1
  122. package/client/imports.d.ts.map +0 -1
  123. package/client/utility-types.d.ts.map +0 -1
  124. package/dev.d.ts.map +0 -1
  125. package/dev.js +0 -5
  126. package/dev.js.map +0 -1
  127. package/index.d.ts.map +0 -1
  128. package/output/writer.d.ts.map +0 -1
  129. package/schema/application.schema.json +0 -354
  130. package/schema/contract.schema.json +0 -139
  131. package/schema/load.d.ts.map +0 -1
  132. package/tests/approval-tests.spec.d.ts.map +0 -1
  133. package/tests/approval-tests.spec.js +0 -24
  134. package/tests/approval-tests.spec.js.map +0 -1
  135. package/util/boom.d.ts.map +0 -1
  136. package/util/color-console.d.ts.map +0 -1
  137. package/util/not-falsy.d.ts.map +0 -1
  138. package/util/not-falsy.js +0 -6
  139. package/util/not-falsy.js.map +0 -1
  140. package/util/sanitization.d.ts.map +0 -1
package/output/writer.js CHANGED
@@ -1,14 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsDoc = exports.indent = exports.inline = exports.writeDocumentPartsToString = exports.writeDocumentPartsToStream = exports.NewLine = exports.InlineMode = exports.PropertyDelimiter = exports.RestoreLineMode = exports.NewLineMode = exports.DecIndentAndCloseBlock = exports.DecIndent = exports.IncIndent = void 0;
4
- exports.IncIndent = Symbol('Increase Indent');
5
- exports.DecIndent = Symbol('Decrease Indent');
6
- exports.DecIndentAndCloseBlock = Symbol('Decrease Indent and write a closing brace');
7
- exports.NewLineMode = Symbol('New Line Mode');
8
- exports.RestoreLineMode = Symbol('Restore Line Mode');
9
- exports.PropertyDelimiter = Symbol('Property Delimiter');
10
- exports.InlineMode = Symbol('Inline Mode');
11
- exports.NewLine = Symbol('New Line');
1
+ 'use strict';
2
+
3
+ const IncIndent = Symbol('Increase Indent');
4
+ const DecIndent = Symbol('Decrease Indent');
5
+ const DecIndentAndCloseBlock = Symbol('Decrease Indent and write a closing brace');
6
+ const NewLineMode = Symbol('New Line Mode');
7
+ const RestoreLineMode = Symbol('Restore Line Mode');
8
+ const PropertyDelimiter = Symbol('Property Delimiter');
9
+ const InlineMode = Symbol('Inline Mode');
10
+ const NewLine = Symbol('New Line');
12
11
  function writeDocumentPartsToStream(document, stream, options = {}) {
13
12
  const writer = {
14
13
  _last: '',
@@ -22,7 +21,6 @@ function writeDocumentPartsToStream(document, stream, options = {}) {
22
21
  };
23
22
  writeDocumentPartsTo(document, options, writer);
24
23
  }
25
- exports.writeDocumentPartsToStream = writeDocumentPartsToStream;
26
24
  function writeDocumentPartsToString(document, options = {}) {
27
25
  const writer = {
28
26
  result: [],
@@ -41,31 +39,27 @@ function writeDocumentPartsToString(document, options = {}) {
41
39
  writeDocumentPartsTo(document, options, writer);
42
40
  return writer.toString();
43
41
  }
44
- exports.writeDocumentPartsToString = writeDocumentPartsToString;
45
42
  function* inline(...parts) {
46
- yield exports.InlineMode;
43
+ yield InlineMode;
47
44
  for (const part of parts) {
48
45
  if (typeof part === 'string' || typeof part === 'symbol')
49
46
  yield part;
50
47
  else
51
48
  yield* part;
52
49
  }
53
- yield exports.RestoreLineMode;
50
+ yield RestoreLineMode;
54
51
  }
55
- exports.inline = inline;
56
52
  function* indent(...parts) {
57
- yield exports.IncIndent;
53
+ yield IncIndent;
58
54
  for (const part of parts) {
59
55
  if (typeof part === 'string' || typeof part === 'symbol')
60
56
  yield part;
61
57
  else
62
58
  yield* part;
63
59
  }
64
- yield exports.DecIndent;
60
+ yield DecIndent;
65
61
  }
66
- exports.indent = indent;
67
62
  function* jsDoc(docs) {
68
- var _a;
69
63
  yield `/**`;
70
64
  if (typeof docs === 'string') {
71
65
  yield ` * ${docs}`;
@@ -79,7 +73,7 @@ function* jsDoc(docs) {
79
73
  if (docs.params || docs.returns) {
80
74
  yield ' *';
81
75
  }
82
- for (const [paramName, paramDesc] of Object.entries((_a = docs.params) !== null && _a !== void 0 ? _a : {})) {
76
+ for (const [paramName, paramDesc] of Object.entries(docs.params ?? {})) {
83
77
  yield ` * @param ${paramName} ${paramDesc}`;
84
78
  }
85
79
  if (docs.returns)
@@ -87,61 +81,74 @@ function* jsDoc(docs) {
87
81
  }
88
82
  yield ' */';
89
83
  }
90
- exports.jsDoc = jsDoc;
91
84
  function writeDocumentPartsTo(document, { indent = ' ', ...options }, writer) {
92
85
  if (options.header)
93
86
  writer.write(`${options.header}\n`);
94
87
  if (options.disableEslint)
95
88
  writer.write('/* eslint-disable */\n');
96
- const lineModes = [exports.NewLineMode];
97
- const currentLineMode = () => { var _a; return (_a = lineModes.at(-1)) !== null && _a !== void 0 ? _a : exports.NewLineMode; };
89
+ const lineModes = [NewLineMode];
90
+ const currentLineMode = () => lineModes.at(-1) ?? NewLineMode;
98
91
  let curIndent = '';
99
92
  for (const part of document) {
100
93
  switch (part) {
101
- case exports.IncIndent:
94
+ case IncIndent:
102
95
  curIndent += indent;
103
96
  break;
104
- case exports.DecIndent:
97
+ case DecIndent:
105
98
  curIndent = curIndent.slice(0, -indent.length);
106
99
  break;
107
- case exports.DecIndentAndCloseBlock:
100
+ case DecIndentAndCloseBlock:
108
101
  curIndent = curIndent.slice(0, -indent.length);
109
102
  writer.write(`${curIndent}}\n`);
110
103
  break;
111
- case exports.NewLineMode:
112
- lineModes.push(exports.NewLineMode);
104
+ case NewLineMode:
105
+ lineModes.push(NewLineMode);
113
106
  if (writer.last.slice(-1)[0] !== '\n') {
114
107
  writer.write('\n');
115
108
  }
116
109
  break;
117
- case exports.InlineMode:
118
- lineModes.push(exports.InlineMode);
110
+ case InlineMode:
111
+ lineModes.push(InlineMode);
119
112
  break;
120
- case exports.RestoreLineMode:
113
+ case RestoreLineMode:
121
114
  lineModes.pop();
122
- if (currentLineMode() === exports.NewLineMode && writer.last.slice(-1)[0] !== '\n') {
115
+ if (currentLineMode() === NewLineMode && writer.last.slice(-1)[0] !== '\n') {
123
116
  writer.write('\n');
124
117
  }
125
118
  break;
126
- case exports.PropertyDelimiter:
127
- if (currentLineMode() === exports.NewLineMode) {
119
+ case PropertyDelimiter:
120
+ if (currentLineMode() === NewLineMode) {
128
121
  writer.write('\n');
129
122
  }
130
123
  else {
131
124
  writer.write(', ');
132
125
  }
133
126
  break;
134
- case exports.NewLine:
127
+ case NewLine:
135
128
  writer.write('\n');
136
129
  break;
137
130
  default:
138
131
  if (writer.last.slice(-1)[0] === '\n')
139
132
  writer.write(curIndent);
140
133
  writer.write(part);
141
- if (currentLineMode() === exports.NewLineMode)
134
+ if (currentLineMode() === NewLineMode)
142
135
  writer.write('\n');
143
136
  break;
144
137
  }
145
138
  }
146
139
  }
147
- //# sourceMappingURL=writer.js.map
140
+
141
+ exports.DecIndent = DecIndent;
142
+ exports.DecIndentAndCloseBlock = DecIndentAndCloseBlock;
143
+ exports.IncIndent = IncIndent;
144
+ exports.InlineMode = InlineMode;
145
+ exports.NewLine = NewLine;
146
+ exports.NewLineMode = NewLineMode;
147
+ exports.PropertyDelimiter = PropertyDelimiter;
148
+ exports.RestoreLineMode = RestoreLineMode;
149
+ exports.indent = indent;
150
+ exports.inline = inline;
151
+ exports.jsDoc = jsDoc;
152
+ exports.writeDocumentPartsToStream = writeDocumentPartsToStream;
153
+ exports.writeDocumentPartsToString = writeDocumentPartsToString;
154
+ //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/output/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sources":["../../src/output/writer.ts"],"sourcesContent":["import type fs from 'fs'\n\nexport const IncIndent = Symbol('Increase Indent')\nexport const DecIndent = Symbol('Decrease Indent')\nexport const DecIndentAndCloseBlock = Symbol('Decrease Indent and write a closing brace')\nexport const NewLineMode = Symbol('New Line Mode')\nexport const RestoreLineMode = Symbol('Restore Line Mode')\nexport const PropertyDelimiter = Symbol('Property Delimiter')\nexport const InlineMode = Symbol('Inline Mode')\nexport const NewLine = Symbol('New Line')\n\nexport type Part =\n | string\n | typeof IncIndent\n | typeof DecIndent\n | typeof NewLineMode\n | typeof DecIndentAndCloseBlock\n | typeof InlineMode\n | typeof NewLine\n | typeof RestoreLineMode\n | typeof PropertyDelimiter\nexport type DocumentParts = Generator<Part, void>\n\nexport type WriteOptions = {\n indent?: string\n disableEslint?: boolean\n header?: string\n}\n\ninterface StringWriter {\n write(value: string): void\n get last(): string\n}\n\nexport function writeDocumentPartsToStream(document: DocumentParts, stream: fs.WriteStream, options: WriteOptions = {}) {\n const writer = {\n _last: '',\n write(val: string) {\n this._last = val\n stream.write(val)\n },\n get last() {\n return this._last\n },\n }\n writeDocumentPartsTo(document, options, writer)\n}\n\nexport function writeDocumentPartsToString(document: DocumentParts, options: WriteOptions = {}) {\n const writer = {\n result: [] as string[],\n _last: '',\n write(val: string) {\n this._last = val\n this.result.push(val)\n },\n get last() {\n return this._last\n },\n toString() {\n return this.result.join('')\n },\n }\n writeDocumentPartsTo(document, options, writer)\n return writer.toString()\n}\n\nexport function* inline(...parts: Array<Part | DocumentParts>) {\n yield InlineMode\n for (const part of parts) {\n if (typeof part === 'string' || typeof part === 'symbol') yield part\n else yield* part\n }\n yield RestoreLineMode\n}\n\nexport function* indent(...parts: Array<Part | DocumentParts>) {\n yield IncIndent\n for (const part of parts) {\n if (typeof part === 'string' || typeof part === 'symbol') yield part\n else yield* part\n }\n yield DecIndent\n}\n\nexport function* jsDoc(docs: string | { description: string; abiDescription?: string; params?: Record<string, string>; returns?: string }) {\n yield `/**`\n if (typeof docs === 'string') {\n yield ` * ${docs}`\n } else {\n yield ` * ${docs.description}`\n if (docs.abiDescription) {\n yield ' *'\n yield ` * ${docs.abiDescription}`\n }\n if (docs.params || docs.returns) {\n yield ' *'\n }\n for (const [paramName, paramDesc] of Object.entries(docs.params ?? {})) {\n yield ` * @param ${paramName} ${paramDesc}`\n }\n if (docs.returns) yield ` * @returns ${docs.returns}`\n }\n yield ' */'\n}\n\nfunction writeDocumentPartsTo(document: DocumentParts, { indent = ' ', ...options }: WriteOptions, writer: StringWriter): void {\n if (options.header) writer.write(`${options.header}\\n`)\n if (options.disableEslint) writer.write('/* eslint-disable */\\n')\n\n const lineModes = [NewLineMode]\n const currentLineMode = () => lineModes.at(-1) ?? NewLineMode\n\n let curIndent = ''\n for (const part of document) {\n switch (part) {\n case IncIndent:\n curIndent += indent\n break\n case DecIndent:\n curIndent = curIndent.slice(0, -indent.length)\n break\n case DecIndentAndCloseBlock:\n curIndent = curIndent.slice(0, -indent.length)\n writer.write(`${curIndent}}\\n`)\n break\n case NewLineMode:\n lineModes.push(NewLineMode)\n if (writer.last.slice(-1)[0] !== '\\n') {\n writer.write('\\n')\n }\n break\n case InlineMode:\n lineModes.push(InlineMode)\n break\n case RestoreLineMode:\n lineModes.pop()\n\n if (currentLineMode() === NewLineMode && writer.last.slice(-1)[0] !== '\\n') {\n writer.write('\\n')\n }\n break\n case PropertyDelimiter:\n if (currentLineMode() === NewLineMode) {\n writer.write('\\n')\n } else {\n writer.write(', ')\n }\n break\n case NewLine:\n writer.write('\\n')\n break\n default:\n if (writer.last.slice(-1)[0] === '\\n') writer.write(curIndent)\n writer.write(part)\n if (currentLineMode() === NewLineMode) writer.write('\\n')\n break\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ const IncIndent = Symbol('Increase Indent');
2
+ const DecIndent = Symbol('Decrease Indent');
3
+ const DecIndentAndCloseBlock = Symbol('Decrease Indent and write a closing brace');
4
+ const NewLineMode = Symbol('New Line Mode');
5
+ const RestoreLineMode = Symbol('Restore Line Mode');
6
+ const PropertyDelimiter = Symbol('Property Delimiter');
7
+ const InlineMode = Symbol('Inline Mode');
8
+ const NewLine = Symbol('New Line');
9
+ function writeDocumentPartsToStream(document, stream, options = {}) {
10
+ const writer = {
11
+ _last: '',
12
+ write(val) {
13
+ this._last = val;
14
+ stream.write(val);
15
+ },
16
+ get last() {
17
+ return this._last;
18
+ },
19
+ };
20
+ writeDocumentPartsTo(document, options, writer);
21
+ }
22
+ function writeDocumentPartsToString(document, options = {}) {
23
+ const writer = {
24
+ result: [],
25
+ _last: '',
26
+ write(val) {
27
+ this._last = val;
28
+ this.result.push(val);
29
+ },
30
+ get last() {
31
+ return this._last;
32
+ },
33
+ toString() {
34
+ return this.result.join('');
35
+ },
36
+ };
37
+ writeDocumentPartsTo(document, options, writer);
38
+ return writer.toString();
39
+ }
40
+ function* inline(...parts) {
41
+ yield InlineMode;
42
+ for (const part of parts) {
43
+ if (typeof part === 'string' || typeof part === 'symbol')
44
+ yield part;
45
+ else
46
+ yield* part;
47
+ }
48
+ yield RestoreLineMode;
49
+ }
50
+ function* indent(...parts) {
51
+ yield IncIndent;
52
+ for (const part of parts) {
53
+ if (typeof part === 'string' || typeof part === 'symbol')
54
+ yield part;
55
+ else
56
+ yield* part;
57
+ }
58
+ yield DecIndent;
59
+ }
60
+ function* jsDoc(docs) {
61
+ yield `/**`;
62
+ if (typeof docs === 'string') {
63
+ yield ` * ${docs}`;
64
+ }
65
+ else {
66
+ yield ` * ${docs.description}`;
67
+ if (docs.abiDescription) {
68
+ yield ' *';
69
+ yield ` * ${docs.abiDescription}`;
70
+ }
71
+ if (docs.params || docs.returns) {
72
+ yield ' *';
73
+ }
74
+ for (const [paramName, paramDesc] of Object.entries(docs.params ?? {})) {
75
+ yield ` * @param ${paramName} ${paramDesc}`;
76
+ }
77
+ if (docs.returns)
78
+ yield ` * @returns ${docs.returns}`;
79
+ }
80
+ yield ' */';
81
+ }
82
+ function writeDocumentPartsTo(document, { indent = ' ', ...options }, writer) {
83
+ if (options.header)
84
+ writer.write(`${options.header}\n`);
85
+ if (options.disableEslint)
86
+ writer.write('/* eslint-disable */\n');
87
+ const lineModes = [NewLineMode];
88
+ const currentLineMode = () => lineModes.at(-1) ?? NewLineMode;
89
+ let curIndent = '';
90
+ for (const part of document) {
91
+ switch (part) {
92
+ case IncIndent:
93
+ curIndent += indent;
94
+ break;
95
+ case DecIndent:
96
+ curIndent = curIndent.slice(0, -indent.length);
97
+ break;
98
+ case DecIndentAndCloseBlock:
99
+ curIndent = curIndent.slice(0, -indent.length);
100
+ writer.write(`${curIndent}}\n`);
101
+ break;
102
+ case NewLineMode:
103
+ lineModes.push(NewLineMode);
104
+ if (writer.last.slice(-1)[0] !== '\n') {
105
+ writer.write('\n');
106
+ }
107
+ break;
108
+ case InlineMode:
109
+ lineModes.push(InlineMode);
110
+ break;
111
+ case RestoreLineMode:
112
+ lineModes.pop();
113
+ if (currentLineMode() === NewLineMode && writer.last.slice(-1)[0] !== '\n') {
114
+ writer.write('\n');
115
+ }
116
+ break;
117
+ case PropertyDelimiter:
118
+ if (currentLineMode() === NewLineMode) {
119
+ writer.write('\n');
120
+ }
121
+ else {
122
+ writer.write(', ');
123
+ }
124
+ break;
125
+ case NewLine:
126
+ writer.write('\n');
127
+ break;
128
+ default:
129
+ if (writer.last.slice(-1)[0] === '\n')
130
+ writer.write(curIndent);
131
+ writer.write(part);
132
+ if (currentLineMode() === NewLineMode)
133
+ writer.write('\n');
134
+ break;
135
+ }
136
+ }
137
+ }
138
+
139
+ export { DecIndent, DecIndentAndCloseBlock, IncIndent, InlineMode, NewLine, NewLineMode, PropertyDelimiter, RestoreLineMode, indent, inline, jsDoc, writeDocumentPartsToStream, writeDocumentPartsToString };
140
+ //# sourceMappingURL=writer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.mjs","sources":["../../src/output/writer.ts"],"sourcesContent":["import type fs from 'fs'\n\nexport const IncIndent = Symbol('Increase Indent')\nexport const DecIndent = Symbol('Decrease Indent')\nexport const DecIndentAndCloseBlock = Symbol('Decrease Indent and write a closing brace')\nexport const NewLineMode = Symbol('New Line Mode')\nexport const RestoreLineMode = Symbol('Restore Line Mode')\nexport const PropertyDelimiter = Symbol('Property Delimiter')\nexport const InlineMode = Symbol('Inline Mode')\nexport const NewLine = Symbol('New Line')\n\nexport type Part =\n | string\n | typeof IncIndent\n | typeof DecIndent\n | typeof NewLineMode\n | typeof DecIndentAndCloseBlock\n | typeof InlineMode\n | typeof NewLine\n | typeof RestoreLineMode\n | typeof PropertyDelimiter\nexport type DocumentParts = Generator<Part, void>\n\nexport type WriteOptions = {\n indent?: string\n disableEslint?: boolean\n header?: string\n}\n\ninterface StringWriter {\n write(value: string): void\n get last(): string\n}\n\nexport function writeDocumentPartsToStream(document: DocumentParts, stream: fs.WriteStream, options: WriteOptions = {}) {\n const writer = {\n _last: '',\n write(val: string) {\n this._last = val\n stream.write(val)\n },\n get last() {\n return this._last\n },\n }\n writeDocumentPartsTo(document, options, writer)\n}\n\nexport function writeDocumentPartsToString(document: DocumentParts, options: WriteOptions = {}) {\n const writer = {\n result: [] as string[],\n _last: '',\n write(val: string) {\n this._last = val\n this.result.push(val)\n },\n get last() {\n return this._last\n },\n toString() {\n return this.result.join('')\n },\n }\n writeDocumentPartsTo(document, options, writer)\n return writer.toString()\n}\n\nexport function* inline(...parts: Array<Part | DocumentParts>) {\n yield InlineMode\n for (const part of parts) {\n if (typeof part === 'string' || typeof part === 'symbol') yield part\n else yield* part\n }\n yield RestoreLineMode\n}\n\nexport function* indent(...parts: Array<Part | DocumentParts>) {\n yield IncIndent\n for (const part of parts) {\n if (typeof part === 'string' || typeof part === 'symbol') yield part\n else yield* part\n }\n yield DecIndent\n}\n\nexport function* jsDoc(docs: string | { description: string; abiDescription?: string; params?: Record<string, string>; returns?: string }) {\n yield `/**`\n if (typeof docs === 'string') {\n yield ` * ${docs}`\n } else {\n yield ` * ${docs.description}`\n if (docs.abiDescription) {\n yield ' *'\n yield ` * ${docs.abiDescription}`\n }\n if (docs.params || docs.returns) {\n yield ' *'\n }\n for (const [paramName, paramDesc] of Object.entries(docs.params ?? {})) {\n yield ` * @param ${paramName} ${paramDesc}`\n }\n if (docs.returns) yield ` * @returns ${docs.returns}`\n }\n yield ' */'\n}\n\nfunction writeDocumentPartsTo(document: DocumentParts, { indent = ' ', ...options }: WriteOptions, writer: StringWriter): void {\n if (options.header) writer.write(`${options.header}\\n`)\n if (options.disableEslint) writer.write('/* eslint-disable */\\n')\n\n const lineModes = [NewLineMode]\n const currentLineMode = () => lineModes.at(-1) ?? NewLineMode\n\n let curIndent = ''\n for (const part of document) {\n switch (part) {\n case IncIndent:\n curIndent += indent\n break\n case DecIndent:\n curIndent = curIndent.slice(0, -indent.length)\n break\n case DecIndentAndCloseBlock:\n curIndent = curIndent.slice(0, -indent.length)\n writer.write(`${curIndent}}\\n`)\n break\n case NewLineMode:\n lineModes.push(NewLineMode)\n if (writer.last.slice(-1)[0] !== '\\n') {\n writer.write('\\n')\n }\n break\n case InlineMode:\n lineModes.push(InlineMode)\n break\n case RestoreLineMode:\n lineModes.pop()\n\n if (currentLineMode() === NewLineMode && writer.last.slice(-1)[0] !== '\\n') {\n writer.write('\\n')\n }\n break\n case PropertyDelimiter:\n if (currentLineMode() === NewLineMode) {\n writer.write('\\n')\n } else {\n writer.write(', ')\n }\n break\n case NewLine:\n writer.write('\\n')\n break\n default:\n if (writer.last.slice(-1)[0] === '\\n') writer.write(curIndent)\n writer.write(part)\n if (currentLineMode() === NewLineMode) writer.write('\\n')\n break\n }\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,12 +2,17 @@
2
2
  "main": "index.js",
3
3
  "types": "index.d.ts",
4
4
  "name": "@algorandfoundation/algokit-client-generator",
5
- "version": "2.6.0",
5
+ "version": "3.0.0-beta.1",
6
6
  "description": "Generates a TypeScript client for interacting with, and deploying ARC-0032 smart contracts on the Algorand Blockchain.",
7
+ "module": "index.mjs",
7
8
  "private": false,
9
+ "engines": {
10
+ "node": ">=19.0"
11
+ },
12
+ "type": "commonjs",
8
13
  "bin": {
9
- "@algorandfoundation/algokit-client-generator": "bin/cli.js",
10
- "algokitgen": "bin/cli.js"
14
+ "@algorandfoundation/algokit-client-generator": "bin/cli.mjs",
15
+ "algokitgen": "bin/cli.mjs"
11
16
  },
12
17
  "author": "Algorand Foundation",
13
18
  "license": "MIT",
@@ -19,7 +24,7 @@
19
24
  "algosdk": "^2.7.0",
20
25
  "chalk": "^4.1.2",
21
26
  "change-case": "^4.1.2",
22
- "commander": "^11.0.0",
27
+ "commander": "^11.1.0",
23
28
  "jsonschema": "^1.4.1"
24
29
  },
25
30
  "publishConfig": {