@algorandfoundation/algokit-client-generator 3.0.6 → 3.1.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 (159) hide show
  1. package/README.md +4 -2
  2. package/client/{call-factory.d.ts → app-client.d.ts} +1 -1
  3. package/client/{call-client.d.ts → app-factory.d.ts} +1 -1
  4. package/client/deploy-types.d.ts +8 -4
  5. package/client/generate.d.ts +2 -2
  6. package/client/generator-context.d.ts +4 -4
  7. package/client/helpers/get-call-config-summary.d.ts +8 -3
  8. package/client/helpers/get-equivalent-type.d.ts +6 -1
  9. package/client/params-factory.d.ts +3 -0
  10. package/client/utility-types.d.ts +0 -7
  11. package/package.json +4 -3
  12. package/schema/load.d.ts +3 -3
  13. package/{cli.js → src/cli.js} +1 -1
  14. package/src/cli.js.map +1 -0
  15. package/{cli.mjs → src/cli.mjs} +1 -1
  16. package/src/cli.mjs.map +1 -0
  17. package/src/client/app-client.js +288 -0
  18. package/src/client/app-client.js.map +1 -0
  19. package/src/client/app-client.mjs +286 -0
  20. package/src/client/app-client.mjs.map +1 -0
  21. package/src/client/app-factory.js +238 -0
  22. package/src/client/app-factory.js.map +1 -0
  23. package/src/client/app-factory.mjs +236 -0
  24. package/src/client/app-factory.mjs.map +1 -0
  25. package/src/client/app-types.js +263 -0
  26. package/src/client/app-types.js.map +1 -0
  27. package/src/client/app-types.mjs +261 -0
  28. package/src/client/app-types.mjs.map +1 -0
  29. package/{client → src/client}/call-composer-types.js +23 -53
  30. package/src/client/call-composer-types.js.map +1 -0
  31. package/{client → src/client}/call-composer-types.mjs +23 -34
  32. package/src/client/call-composer-types.mjs.map +1 -0
  33. package/src/client/call-composer.js +135 -0
  34. package/src/client/call-composer.js.map +1 -0
  35. package/src/client/call-composer.mjs +133 -0
  36. package/src/client/call-composer.mjs.map +1 -0
  37. package/src/client/deploy-types.js +115 -0
  38. package/src/client/deploy-types.js.map +1 -0
  39. package/src/client/deploy-types.mjs +111 -0
  40. package/src/client/deploy-types.mjs.map +1 -0
  41. package/{client → src/client}/generate.js +18 -6
  42. package/src/client/generate.js.map +1 -0
  43. package/{client → src/client}/generate.mjs +18 -6
  44. package/src/client/generate.mjs.map +1 -0
  45. package/src/client/generator-context.js +23 -0
  46. package/src/client/generator-context.js.map +1 -0
  47. package/{client → src/client}/generator-context.mjs +5 -5
  48. package/src/client/generator-context.mjs.map +1 -0
  49. package/src/client/helpers/get-call-config-summary.js +60 -0
  50. package/src/client/helpers/get-call-config-summary.js.map +1 -0
  51. package/src/client/helpers/get-call-config-summary.mjs +57 -0
  52. package/src/client/helpers/get-call-config-summary.mjs.map +1 -0
  53. package/{client → src/client}/helpers/get-equivalent-type.js +10 -6
  54. package/src/client/helpers/get-equivalent-type.js.map +1 -0
  55. package/{client → src/client}/helpers/get-equivalent-type.mjs +10 -6
  56. package/src/client/helpers/get-equivalent-type.mjs.map +1 -0
  57. package/src/client/imports.js +25 -0
  58. package/src/client/imports.js.map +1 -0
  59. package/src/client/imports.mjs +23 -0
  60. package/src/client/imports.mjs.map +1 -0
  61. package/src/client/params-factory.js +126 -0
  62. package/src/client/params-factory.js.map +1 -0
  63. package/src/client/params-factory.mjs +124 -0
  64. package/src/client/params-factory.mjs.map +1 -0
  65. package/src/client/utility-types.js +44 -0
  66. package/src/client/utility-types.js.map +1 -0
  67. package/src/client/utility-types.mjs +42 -0
  68. package/src/client/utility-types.mjs.map +1 -0
  69. package/{output → src/output}/writer.js +17 -3
  70. package/src/output/writer.js.map +1 -0
  71. package/{output → src/output}/writer.mjs +17 -3
  72. package/src/output/writer.mjs.map +1 -0
  73. package/{schema → src/schema}/application.schema.json.js +2 -2
  74. package/{schema → src/schema}/application.schema.json.mjs +2 -2
  75. package/src/schema/arc56.schema.json.js +787 -0
  76. package/src/schema/arc56.schema.json.js.map +1 -0
  77. package/src/schema/arc56.schema.json.mjs +780 -0
  78. package/src/schema/arc56.schema.json.mjs.map +1 -0
  79. package/src/schema/load.js +40 -0
  80. package/src/schema/load.js.map +1 -0
  81. package/src/schema/load.mjs +37 -0
  82. package/src/schema/load.mjs.map +1 -0
  83. package/src/util/boom.js.map +1 -0
  84. package/src/util/boom.mjs.map +1 -0
  85. package/src/util/color-console.js.map +1 -0
  86. package/src/util/color-console.mjs.map +1 -0
  87. package/src/util/sanitization.js.map +1 -0
  88. package/src/util/sanitization.mjs.map +1 -0
  89. package/cli.js.map +0 -1
  90. package/cli.mjs.map +0 -1
  91. package/client/app-types.js +0 -165
  92. package/client/app-types.js.map +0 -1
  93. package/client/app-types.mjs +0 -144
  94. package/client/app-types.mjs.map +0 -1
  95. package/client/call-client.js +0 -341
  96. package/client/call-client.js.map +0 -1
  97. package/client/call-client.mjs +0 -320
  98. package/client/call-client.mjs.map +0 -1
  99. package/client/call-composer-types.js.map +0 -1
  100. package/client/call-composer-types.mjs.map +0 -1
  101. package/client/call-composer.js +0 -149
  102. package/client/call-composer.js.map +0 -1
  103. package/client/call-composer.mjs +0 -128
  104. package/client/call-composer.mjs.map +0 -1
  105. package/client/call-factory.js +0 -142
  106. package/client/call-factory.js.map +0 -1
  107. package/client/call-factory.mjs +0 -121
  108. package/client/call-factory.mjs.map +0 -1
  109. package/client/deploy-types.js +0 -97
  110. package/client/deploy-types.js.map +0 -1
  111. package/client/deploy-types.mjs +0 -94
  112. package/client/deploy-types.mjs.map +0 -1
  113. package/client/generate.js.map +0 -1
  114. package/client/generate.mjs.map +0 -1
  115. package/client/generator-context.js +0 -42
  116. package/client/generator-context.js.map +0 -1
  117. package/client/generator-context.mjs.map +0 -1
  118. package/client/helpers/get-call-config-summary.js +0 -58
  119. package/client/helpers/get-call-config-summary.js.map +0 -1
  120. package/client/helpers/get-call-config-summary.mjs +0 -55
  121. package/client/helpers/get-call-config-summary.mjs.map +0 -1
  122. package/client/helpers/get-equivalent-type.js.map +0 -1
  123. package/client/helpers/get-equivalent-type.mjs.map +0 -1
  124. package/client/imports.js +0 -31
  125. package/client/imports.js.map +0 -1
  126. package/client/imports.mjs +0 -29
  127. package/client/imports.mjs.map +0 -1
  128. package/client/utility-types.js +0 -57
  129. package/client/utility-types.js.map +0 -1
  130. package/client/utility-types.mjs +0 -54
  131. package/client/utility-types.mjs.map +0 -1
  132. package/output/writer.js.map +0 -1
  133. package/output/writer.mjs.map +0 -1
  134. package/schema/load.js +0 -26
  135. package/schema/load.js.map +0 -1
  136. package/schema/load.mjs +0 -23
  137. package/schema/load.mjs.map +0 -1
  138. package/util/boom.js.map +0 -1
  139. package/util/boom.mjs.map +0 -1
  140. package/util/color-console.js.map +0 -1
  141. package/util/color-console.mjs.map +0 -1
  142. package/util/sanitization.js.map +0 -1
  143. package/util/sanitization.mjs.map +0 -1
  144. /package/{index.js → src/index.js} +0 -0
  145. /package/{index.js.map → src/index.js.map} +0 -0
  146. /package/{index.mjs → src/index.mjs} +0 -0
  147. /package/{index.mjs.map → src/index.mjs.map} +0 -0
  148. /package/{schema → src/schema}/application.schema.json.js.map +0 -0
  149. /package/{schema → src/schema}/application.schema.json.mjs.map +0 -0
  150. /package/{schema → src/schema}/contract.schema.json.js +0 -0
  151. /package/{schema → src/schema}/contract.schema.json.js.map +0 -0
  152. /package/{schema → src/schema}/contract.schema.json.mjs +0 -0
  153. /package/{schema → src/schema}/contract.schema.json.mjs.map +0 -0
  154. /package/{util → src/util}/boom.js +0 -0
  155. /package/{util → src/util}/boom.mjs +0 -0
  156. /package/{util → src/util}/color-console.js +0 -0
  157. /package/{util → src/util}/color-console.mjs +0 -0
  158. /package/{util → src/util}/sanitization.js +0 -0
  159. /package/{util → src/util}/sanitization.mjs +0 -0
@@ -1,94 +0,0 @@
1
- import { jsDoc, IncIndent, DecIndent, DecIndentAndCloseBlock, NewLine } from '../output/writer.mjs';
2
- import { BARE_CALL } from './helpers/get-call-config-summary.mjs';
3
- import { OnCompleteCodeMap } from './utility-types.mjs';
4
-
5
- function getCreateOnCompleteOptions(method, app) {
6
- const callConfig = method === BARE_CALL ? app.bare_call_config : app.hints?.[method]?.call_config;
7
- const hasNoOp = callConfig?.no_op === 'ALL' || callConfig?.no_op === 'CREATE';
8
- const onCompleteType = callConfig
9
- ? `(${Object.entries(callConfig)
10
- .filter(([_, value]) => value === 'ALL' || value === 'CREATE')
11
- .map(([oc]) => OnCompleteCodeMap[oc])
12
- .join(' | ')})`
13
- : {};
14
- return {
15
- type: onCompleteType,
16
- isOptional: hasNoOp,
17
- };
18
- }
19
- function* deployTypes({ app, callConfig, sanitizer }) {
20
- const name = sanitizer.makeSafeTypeIdentifier(app.contract.name);
21
- if (callConfig.createMethods.length > 0) {
22
- yield* jsDoc(`A factory for available 'create' calls`);
23
- yield `export type ${name}CreateCalls = (typeof ${name}CallFactory)['create']`;
24
- yield* jsDoc('Defines supported create methods for this smart contract');
25
- yield `export type ${name}CreateCallParams =`;
26
- yield IncIndent;
27
- for (const method of callConfig.createMethods) {
28
- const onComplete = getCreateOnCompleteOptions(method, app);
29
- if (method === BARE_CALL) {
30
- yield `| (TypedCallParams<undefined> & ${onComplete.type})`;
31
- }
32
- else {
33
- const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method);
34
- yield `| (TypedCallParams<'${methodSigSafe}'> & ${onComplete.type})`;
35
- }
36
- }
37
- yield DecIndent;
38
- }
39
- if (callConfig.updateMethods.length > 0) {
40
- yield* jsDoc(`A factory for available 'update' calls`);
41
- yield `export type ${name}UpdateCalls = (typeof ${name}CallFactory)['update']`;
42
- yield* jsDoc('Defines supported update methods for this smart contract');
43
- yield `export type ${name}UpdateCallParams =`;
44
- yield IncIndent;
45
- for (const method of callConfig.updateMethods) {
46
- if (method === BARE_CALL) {
47
- yield `| TypedCallParams<undefined>`;
48
- }
49
- else {
50
- const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method);
51
- yield `| TypedCallParams<'${methodSigSafe}'>`;
52
- }
53
- }
54
- yield DecIndent;
55
- }
56
- if (callConfig.deleteMethods.length > 0) {
57
- yield* jsDoc(`A factory for available 'delete' calls`);
58
- yield `export type ${name}DeleteCalls = (typeof ${name}CallFactory)['delete']`;
59
- yield* jsDoc('Defines supported delete methods for this smart contract');
60
- yield `export type ${name}DeleteCallParams =`;
61
- yield IncIndent;
62
- for (const method of callConfig.deleteMethods) {
63
- if (method === BARE_CALL) {
64
- yield `| TypedCallParams<undefined>`;
65
- }
66
- else {
67
- const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method);
68
- yield `| TypedCallParams<'${methodSigSafe}'>`;
69
- }
70
- }
71
- yield DecIndent;
72
- }
73
- yield* jsDoc('Defines arguments required for the deploy method.');
74
- yield `export type ${name}DeployArgs = {`;
75
- yield IncIndent;
76
- yield `deployTimeParams?: TealTemplateParams`;
77
- if (callConfig.createMethods.length) {
78
- yield* jsDoc('A delegate which takes a create call factory and returns the create call params for this smart contract');
79
- yield `createCall?: (callFactory: ${name}CreateCalls) => ${name}CreateCallParams`;
80
- }
81
- if (callConfig.updateMethods.length) {
82
- yield* jsDoc('A delegate which takes a update call factory and returns the update call params for this smart contract');
83
- yield `updateCall?: (callFactory: ${name}UpdateCalls) => ${name}UpdateCallParams`;
84
- }
85
- if (callConfig.deleteMethods.length) {
86
- yield* jsDoc('A delegate which takes a delete call factory and returns the delete call params for this smart contract');
87
- yield `deleteCall?: (callFactory: ${name}DeleteCalls) => ${name}DeleteCallParams`;
88
- }
89
- yield DecIndentAndCloseBlock;
90
- yield NewLine;
91
- }
92
-
93
- export { deployTypes, getCreateOnCompleteOptions };
94
- //# sourceMappingURL=deploy-types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-types.mjs","sources":["../../src/client/deploy-types.ts"],"sourcesContent":["import { DecIndent, DecIndentAndCloseBlock, DocumentParts, IncIndent, jsDoc, NewLine } from '../output/writer'\n\nimport { BARE_CALL, MethodIdentifier } from './helpers/get-call-config-summary'\nimport { GeneratorContext } from './generator-context'\nimport { AlgoAppSpec, CallConfig } from '../schema/application'\nimport { OnCompleteCodeMap } from './utility-types'\n\nexport function getCreateOnCompleteOptions(method: MethodIdentifier, app: AlgoAppSpec) {\n const callConfig = method === BARE_CALL ? app.bare_call_config : app.hints?.[method]?.call_config\n const hasNoOp = callConfig?.no_op === 'ALL' || callConfig?.no_op === 'CREATE'\n const onCompleteType = callConfig\n ? `(${Object.entries(callConfig)\n .filter(([_, value]) => value === 'ALL' || value === 'CREATE')\n .map(([oc]) => OnCompleteCodeMap[oc as keyof CallConfig])\n .join(' | ')})`\n : {}\n return {\n type: onCompleteType,\n isOptional: hasNoOp,\n }\n}\n\nexport function* deployTypes({ app, callConfig, sanitizer }: GeneratorContext): DocumentParts {\n const name = sanitizer.makeSafeTypeIdentifier(app.contract.name)\n\n if (callConfig.createMethods.length > 0) {\n yield* jsDoc(`A factory for available 'create' calls`)\n yield `export type ${name}CreateCalls = (typeof ${name}CallFactory)['create']`\n yield* jsDoc('Defines supported create methods for this smart contract')\n yield `export type ${name}CreateCallParams =`\n yield IncIndent\n for (const method of callConfig.createMethods) {\n const onComplete = getCreateOnCompleteOptions(method, app)\n if (method === BARE_CALL) {\n yield `| (TypedCallParams<undefined> & ${onComplete.type})`\n } else {\n const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method)\n yield `| (TypedCallParams<'${methodSigSafe}'> & ${onComplete.type})`\n }\n }\n yield DecIndent\n }\n if (callConfig.updateMethods.length > 0) {\n yield* jsDoc(`A factory for available 'update' calls`)\n\n yield `export type ${name}UpdateCalls = (typeof ${name}CallFactory)['update']`\n yield* jsDoc('Defines supported update methods for this smart contract')\n yield `export type ${name}UpdateCallParams =`\n yield IncIndent\n for (const method of callConfig.updateMethods) {\n if (method === BARE_CALL) {\n yield `| TypedCallParams<undefined>`\n } else {\n const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method)\n\n yield `| TypedCallParams<'${methodSigSafe}'>`\n }\n }\n yield DecIndent\n }\n\n if (callConfig.deleteMethods.length > 0) {\n yield* jsDoc(`A factory for available 'delete' calls`)\n\n yield `export type ${name}DeleteCalls = (typeof ${name}CallFactory)['delete']`\n\n yield* jsDoc('Defines supported delete methods for this smart contract')\n yield `export type ${name}DeleteCallParams =`\n yield IncIndent\n for (const method of callConfig.deleteMethods) {\n if (method === BARE_CALL) {\n yield `| TypedCallParams<undefined>`\n } else {\n const methodSigSafe = sanitizer.makeSafeStringTypeLiteral(method)\n\n yield `| TypedCallParams<'${methodSigSafe}'>`\n }\n }\n yield DecIndent\n }\n\n yield* jsDoc('Defines arguments required for the deploy method.')\n yield `export type ${name}DeployArgs = {`\n yield IncIndent\n yield `deployTimeParams?: TealTemplateParams`\n if (callConfig.createMethods.length) {\n yield* jsDoc('A delegate which takes a create call factory and returns the create call params for this smart contract')\n yield `createCall?: (callFactory: ${name}CreateCalls) => ${name}CreateCallParams`\n }\n if (callConfig.updateMethods.length) {\n yield* jsDoc('A delegate which takes a update call factory and returns the update call params for this smart contract')\n yield `updateCall?: (callFactory: ${name}UpdateCalls) => ${name}UpdateCallParams`\n }\n if (callConfig.deleteMethods.length) {\n yield* jsDoc('A delegate which takes a delete call factory and returns the delete call params for this smart contract')\n yield `deleteCall?: (callFactory: ${name}DeleteCalls) => ${name}DeleteCallParams`\n }\n yield DecIndentAndCloseBlock\n yield NewLine\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.js","sources":["../../src/client/generate.ts"],"sourcesContent":["import { DocumentParts, inline, NewLine } from '../output/writer'\nimport { AlgoAppSpec } from '../schema/application'\nimport { callFactory } from './call-factory'\nimport { callClient } from './call-client'\nimport { deployTypes } from './deploy-types'\nimport { utilityTypes } from './utility-types'\nimport { imports } from './imports'\nimport { createGeneratorContext, GeneratorOptions } from './generator-context'\nimport { appTypes } from './app-types'\nimport { callComposerType } from './call-composer-types'\n\nexport function* generate(app: AlgoAppSpec, options: GeneratorOptions = { preserveNames: false }): DocumentParts {\n const ctx = createGeneratorContext(app, options)\n yield `/* eslint-disable */`\n yield `// @ts-nocheck`\n yield `/**`\n yield ` * This file was automatically generated by @algorandfoundation/algokit-client-generator.`\n yield ` * DO NOT MODIFY IT BY HAND.`\n yield ` * requires: @algorandfoundation/algokit-utils: ^2`\n yield ` */`\n\n yield* imports()\n yield* inline('export const APP_SPEC: AppSpec = ', JSON.stringify(app, undefined, 2))\n yield NewLine\n\n yield* utilityTypes()\n yield NewLine\n yield* appTypes(ctx)\n yield* deployTypes(ctx)\n yield NewLine\n\n // Write a call factory\n yield* callFactory(ctx)\n yield NewLine\n // Write a client\n yield* callClient(ctx)\n\n yield* callComposerType(ctx)\n}\n"],"names":["createGeneratorContext","imports","inline","NewLine","utilityTypes","appTypes","deployTypes","callFactory","callClient","callComposerType"],"mappings":";;;;;;;;;;;;AAWe,UAAE,QAAQ,CAAC,GAAgB,EAAE,OAAA,GAA4B,EAAE,aAAa,EAAE,KAAK,EAAE,EAAA;IAC9F,MAAM,GAAG,GAAGA,uCAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAChD,IAAA,MAAM,sBAAsB,CAAA;AAC5B,IAAA,MAAM,gBAAgB,CAAA;AACtB,IAAA,MAAM,KAAK,CAAA;AACX,IAAA,MAAM,2FAA2F,CAAA;AACjG,IAAA,MAAM,8BAA8B,CAAA;AACpC,IAAA,MAAM,oDAAoD,CAAA;AAC1D,IAAA,MAAM,KAAK,CAAA;AAEX,IAAA,OAAOC,eAAO,EAAE,CAAA;AAChB,IAAA,OAAOC,aAAM,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;AACrF,IAAA,MAAMC,cAAO,CAAA;AAEb,IAAA,OAAOC,yBAAY,EAAE,CAAA;AACrB,IAAA,MAAMD,cAAO,CAAA;AACb,IAAA,OAAOE,iBAAQ,CAAC,GAAG,CAAC,CAAA;AACpB,IAAA,OAAOC,uBAAW,CAAC,GAAG,CAAC,CAAA;AACvB,IAAA,MAAMH,cAAO,CAAA;;AAGb,IAAA,OAAOI,uBAAW,CAAC,GAAG,CAAC,CAAA;AACvB,IAAA,MAAMJ,cAAO,CAAA;;AAEb,IAAA,OAAOK,qBAAU,CAAC,GAAG,CAAC,CAAA;AAEtB,IAAA,OAAOC,kCAAgB,CAAC,GAAG,CAAC,CAAA;AAC9B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.mjs","sources":["../../src/client/generate.ts"],"sourcesContent":["import { DocumentParts, inline, NewLine } from '../output/writer'\nimport { AlgoAppSpec } from '../schema/application'\nimport { callFactory } from './call-factory'\nimport { callClient } from './call-client'\nimport { deployTypes } from './deploy-types'\nimport { utilityTypes } from './utility-types'\nimport { imports } from './imports'\nimport { createGeneratorContext, GeneratorOptions } from './generator-context'\nimport { appTypes } from './app-types'\nimport { callComposerType } from './call-composer-types'\n\nexport function* generate(app: AlgoAppSpec, options: GeneratorOptions = { preserveNames: false }): DocumentParts {\n const ctx = createGeneratorContext(app, options)\n yield `/* eslint-disable */`\n yield `// @ts-nocheck`\n yield `/**`\n yield ` * This file was automatically generated by @algorandfoundation/algokit-client-generator.`\n yield ` * DO NOT MODIFY IT BY HAND.`\n yield ` * requires: @algorandfoundation/algokit-utils: ^2`\n yield ` */`\n\n yield* imports()\n yield* inline('export const APP_SPEC: AppSpec = ', JSON.stringify(app, undefined, 2))\n yield NewLine\n\n yield* utilityTypes()\n yield NewLine\n yield* appTypes(ctx)\n yield* deployTypes(ctx)\n yield NewLine\n\n // Write a call factory\n yield* callFactory(ctx)\n yield NewLine\n // Write a client\n yield* callClient(ctx)\n\n yield* callComposerType(ctx)\n}\n"],"names":[],"mappings":";;;;;;;;;;AAWe,UAAE,QAAQ,CAAC,GAAgB,EAAE,OAAA,GAA4B,EAAE,aAAa,EAAE,KAAK,EAAE,EAAA;IAC9F,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAChD,IAAA,MAAM,sBAAsB,CAAA;AAC5B,IAAA,MAAM,gBAAgB,CAAA;AACtB,IAAA,MAAM,KAAK,CAAA;AACX,IAAA,MAAM,2FAA2F,CAAA;AACjG,IAAA,MAAM,8BAA8B,CAAA;AACpC,IAAA,MAAM,oDAAoD,CAAA;AAC1D,IAAA,MAAM,KAAK,CAAA;AAEX,IAAA,OAAO,OAAO,EAAE,CAAA;AAChB,IAAA,OAAO,MAAM,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;AACrF,IAAA,MAAM,OAAO,CAAA;AAEb,IAAA,OAAO,YAAY,EAAE,CAAA;AACrB,IAAA,MAAM,OAAO,CAAA;AACb,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;AACpB,IAAA,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;AACvB,IAAA,MAAM,OAAO,CAAA;;AAGb,IAAA,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;AACvB,IAAA,MAAM,OAAO,CAAA;;AAEb,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;AAEtB,IAAA,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC9B;;;;"}
@@ -1,42 +0,0 @@
1
- 'use strict';
2
-
3
- var getCallConfigSummary = require('./helpers/get-call-config-summary.js');
4
- var sanitization = require('../util/sanitization.js');
5
- var algokit = require('@algorandfoundation/algokit-utils');
6
-
7
- function _interopNamespaceDefault(e) {
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () { return e[k]; }
16
- });
17
- }
18
- });
19
- }
20
- n.default = e;
21
- return Object.freeze(n);
22
- }
23
-
24
- var algokit__namespace = /*#__PURE__*/_interopNamespaceDefault(algokit);
25
-
26
- const createGeneratorContext = (app, options) => {
27
- const sanitizer = sanitization.getSanitizer(options);
28
- return {
29
- sanitizer,
30
- app,
31
- name: sanitizer.makeSafeTypeIdentifier(app.contract.name),
32
- callConfig: getCallConfigSummary.getCallConfigSummary(app),
33
- methodSignatureToUniqueName: app.contract.methods.reduce((acc, cur) => {
34
- const signature = algokit__namespace.getABIMethodSignature(cur);
35
- acc[signature] = app.contract.methods.some((m) => m.name === cur.name && m !== cur) ? signature : cur.name;
36
- return acc;
37
- }, {}),
38
- };
39
- };
40
-
41
- exports.createGeneratorContext = createGeneratorContext;
42
- //# sourceMappingURL=generator-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator-context.js","sources":["../../src/client/generator-context.ts"],"sourcesContent":["import { AlgoAppSpec } from '../schema/application'\nimport { CallConfigSummary, getCallConfigSummary } from './helpers/get-call-config-summary'\nimport { getSanitizer, Sanitizer } from '../util/sanitization'\nimport * as algokit from '@algorandfoundation/algokit-utils'\n\nexport type GeneratorContext = {\n app: AlgoAppSpec\n name: string\n callConfig: CallConfigSummary\n methodSignatureToUniqueName: Record<string, string>\n sanitizer: Sanitizer\n}\n\nexport type GeneratorOptions = {\n preserveNames: boolean\n}\n\nexport const createGeneratorContext = (app: AlgoAppSpec, options: GeneratorOptions) => {\n const sanitizer = getSanitizer(options)\n return {\n sanitizer,\n app,\n name: sanitizer.makeSafeTypeIdentifier(app.contract.name),\n callConfig: getCallConfigSummary(app),\n methodSignatureToUniqueName: app.contract.methods.reduce(\n (acc, cur) => {\n const signature = algokit.getABIMethodSignature(cur)\n acc[signature] = app.contract.methods.some((m) => m.name === cur.name && m !== cur) ? signature : cur.name\n return acc\n },\n {} as Record<string, string>,\n ),\n }\n}\n"],"names":["getSanitizer","getCallConfigSummary","algokit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAiBa,sBAAsB,GAAG,CAAC,GAAgB,EAAE,OAAyB,KAAI;AACpF,IAAA,MAAM,SAAS,GAAGA,yBAAY,CAAC,OAAO,CAAC,CAAA;IACvC,OAAO;QACL,SAAS;QACT,GAAG;QACH,IAAI,EAAE,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzD,QAAA,UAAU,EAAEC,yCAAoB,CAAC,GAAG,CAAC;AACrC,QAAA,2BAA2B,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,GAAG,KAAI;YACX,MAAM,SAAS,GAAGC,kBAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACpD,YAAA,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,IAAI,CAAA;AAC1G,YAAA,OAAO,GAAG,CAAA;SACX,EACD,EAA4B,CAC7B;KACF,CAAA;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator-context.mjs","sources":["../../src/client/generator-context.ts"],"sourcesContent":["import { AlgoAppSpec } from '../schema/application'\nimport { CallConfigSummary, getCallConfigSummary } from './helpers/get-call-config-summary'\nimport { getSanitizer, Sanitizer } from '../util/sanitization'\nimport * as algokit from '@algorandfoundation/algokit-utils'\n\nexport type GeneratorContext = {\n app: AlgoAppSpec\n name: string\n callConfig: CallConfigSummary\n methodSignatureToUniqueName: Record<string, string>\n sanitizer: Sanitizer\n}\n\nexport type GeneratorOptions = {\n preserveNames: boolean\n}\n\nexport const createGeneratorContext = (app: AlgoAppSpec, options: GeneratorOptions) => {\n const sanitizer = getSanitizer(options)\n return {\n sanitizer,\n app,\n name: sanitizer.makeSafeTypeIdentifier(app.contract.name),\n callConfig: getCallConfigSummary(app),\n methodSignatureToUniqueName: app.contract.methods.reduce(\n (acc, cur) => {\n const signature = algokit.getABIMethodSignature(cur)\n acc[signature] = app.contract.methods.some((m) => m.name === cur.name && m !== cur) ? signature : cur.name\n return acc\n },\n {} as Record<string, string>,\n ),\n }\n}\n"],"names":[],"mappings":";;;;MAiBa,sBAAsB,GAAG,CAAC,GAAgB,EAAE,OAAyB,KAAI;AACpF,IAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,OAAO;QACL,SAAS;QACT,GAAG;QACH,IAAI,EAAE,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzD,QAAA,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC;AACrC,QAAA,2BAA2B,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,GAAG,KAAI;YACX,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACpD,YAAA,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,IAAI,CAAA;AAC1G,YAAA,OAAO,GAAG,CAAA;SACX,EACD,EAA4B,CAC7B;KACF,CAAA;AACH;;;;"}
@@ -1,58 +0,0 @@
1
- 'use strict';
2
-
3
- const BARE_CALL = Symbol('bare');
4
- const getCallConfigSummary = (app) => {
5
- const result = {
6
- createMethods: [],
7
- callMethods: [],
8
- deleteMethods: [],
9
- updateMethods: [],
10
- optInMethods: [],
11
- closeOutMethods: [],
12
- };
13
- if (app.bare_call_config) {
14
- addToConfig(result, BARE_CALL, app.bare_call_config);
15
- }
16
- if (app.hints) {
17
- for (const [method, hints] of Object.entries(app.hints)) {
18
- if (hints.call_config) {
19
- addToConfig(result, method, hints.call_config);
20
- }
21
- }
22
- }
23
- return result;
24
- };
25
- const addToConfig = (result, method, config) => {
26
- if (hasCall(config.no_op)) {
27
- result.callMethods.push(method);
28
- }
29
- if (hasCreate(config.no_op) ||
30
- hasCreate(config.opt_in) ||
31
- hasCreate(config.close_out) ||
32
- hasCreate(config.update_application) ||
33
- hasCreate(config.delete_application)) {
34
- result.createMethods.push(method);
35
- }
36
- if (hasCall(config.delete_application)) {
37
- result.deleteMethods.push(method);
38
- }
39
- if (hasCall(config.update_application)) {
40
- result.updateMethods.push(method);
41
- }
42
- if (hasCall(config.opt_in)) {
43
- result.optInMethods.push(method);
44
- }
45
- if (hasCall(config.close_out)) {
46
- result.closeOutMethods.push(method);
47
- }
48
- };
49
- const hasCall = (config) => {
50
- return config === 'CALL' || config === 'ALL';
51
- };
52
- const hasCreate = (config) => {
53
- return config === 'CREATE' || config === 'ALL';
54
- };
55
-
56
- exports.BARE_CALL = BARE_CALL;
57
- exports.getCallConfigSummary = getCallConfigSummary;
58
- //# sourceMappingURL=get-call-config-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-call-config-summary.js","sources":["../../../src/client/helpers/get-call-config-summary.ts"],"sourcesContent":["import { pascalCase } from 'change-case'\nimport { AlgoAppSpec, CallConfig, CallConfigValue } from '../../schema/application.js'\n\nexport const BARE_CALL = Symbol('bare')\n\nexport type MethodIdentifier = string | typeof BARE_CALL\n\nexport type MethodList = Array<MethodIdentifier>\n\nexport type CallConfigSummary = {\n createMethods: MethodList\n callMethods: MethodList\n deleteMethods: MethodList\n updateMethods: MethodList\n optInMethods: MethodList\n closeOutMethods: MethodList\n}\nexport const getCallConfigSummary = (app: AlgoAppSpec) => {\n const result: CallConfigSummary = {\n createMethods: [],\n callMethods: [],\n deleteMethods: [],\n updateMethods: [],\n optInMethods: [],\n closeOutMethods: [],\n }\n if (app.bare_call_config) {\n addToConfig(result, BARE_CALL, app.bare_call_config)\n }\n if (app.hints) {\n for (const [method, hints] of Object.entries(app.hints)) {\n if (hints.call_config) {\n addToConfig(result, method, hints.call_config)\n }\n }\n }\n return result\n}\n\nexport const getCreateOnComplete = (app: AlgoAppSpec, method: MethodIdentifier) => {\n const callConfig = method === BARE_CALL ? app.bare_call_config : app.hints?.[method]?.call_config\n if (!callConfig) {\n return ''\n }\n const hasNoOp = callConfig.no_op === 'ALL' || callConfig.no_op === 'CREATE'\n return `{ onCompleteAction${hasNoOp ? '?' : ''}: ${getCreateOnCompleteTypes(callConfig)} }`\n}\n\nconst getCreateOnCompleteTypes = (config: CallConfig) => {\n return Object.keys(config)\n .map((oc) => oc as keyof CallConfig)\n .filter((oc) => config[oc] === 'ALL' || config[oc] === 'CREATE')\n .map((oc) => `'${oc}' | OnApplicationComplete.${pascalCase(oc)}OC`)\n .join(' | ')\n}\n\nconst addToConfig = (result: CallConfigSummary, method: MethodIdentifier, config: CallConfig) => {\n if (hasCall(config.no_op)) {\n result.callMethods.push(method)\n }\n if (\n hasCreate(config.no_op) ||\n hasCreate(config.opt_in) ||\n hasCreate(config.close_out) ||\n hasCreate(config.update_application) ||\n hasCreate(config.delete_application)\n ) {\n result.createMethods.push(method)\n }\n if (hasCall(config.delete_application)) {\n result.deleteMethods.push(method)\n }\n if (hasCall(config.update_application)) {\n result.updateMethods.push(method)\n }\n if (hasCall(config.opt_in)) {\n result.optInMethods.push(method)\n }\n if (hasCall(config.close_out)) {\n result.closeOutMethods.push(method)\n }\n}\n\nconst hasCall = (config: CallConfigValue | undefined) => {\n return config === 'CALL' || config === 'ALL'\n}\nconst hasCreate = (config: CallConfigValue | undefined) => {\n return config === 'CREATE' || config === 'ALL'\n}\n"],"names":[],"mappings":";;MAGa,SAAS,GAAG,MAAM,CAAC,MAAM,EAAC;AAc1B,MAAA,oBAAoB,GAAG,CAAC,GAAgB,KAAI;AACvD,IAAA,MAAM,MAAM,GAAsB;AAChC,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,eAAe,EAAE,EAAE;KACpB,CAAA;AACD,IAAA,IAAI,GAAG,CAAC,gBAAgB,EAAE;QACxB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;KACrD;AACD,IAAA,IAAI,GAAG,CAAC,KAAK,EAAE;AACb,QAAA,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;aAC/C;SACF;KACF;AACD,IAAA,OAAO,MAAM,CAAA;AACf,EAAC;AAmBD,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAE,MAAwB,EAAE,MAAkB,KAAI;AAC9F,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAChC;AACD,IAAA,IACE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;AACvB,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,QAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3B,QAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACpC,QAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EACpC;AACA,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACtC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACtC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACjC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AAC7B,QAAA,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACpC;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,MAAmC,KAAI;AACtD,IAAA,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAA;AAC9C,CAAC,CAAA;AACD,MAAM,SAAS,GAAG,CAAC,MAAmC,KAAI;AACxD,IAAA,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAA;AAChD,CAAC;;;;;"}
@@ -1,55 +0,0 @@
1
- const BARE_CALL = Symbol('bare');
2
- const getCallConfigSummary = (app) => {
3
- const result = {
4
- createMethods: [],
5
- callMethods: [],
6
- deleteMethods: [],
7
- updateMethods: [],
8
- optInMethods: [],
9
- closeOutMethods: [],
10
- };
11
- if (app.bare_call_config) {
12
- addToConfig(result, BARE_CALL, app.bare_call_config);
13
- }
14
- if (app.hints) {
15
- for (const [method, hints] of Object.entries(app.hints)) {
16
- if (hints.call_config) {
17
- addToConfig(result, method, hints.call_config);
18
- }
19
- }
20
- }
21
- return result;
22
- };
23
- const addToConfig = (result, method, config) => {
24
- if (hasCall(config.no_op)) {
25
- result.callMethods.push(method);
26
- }
27
- if (hasCreate(config.no_op) ||
28
- hasCreate(config.opt_in) ||
29
- hasCreate(config.close_out) ||
30
- hasCreate(config.update_application) ||
31
- hasCreate(config.delete_application)) {
32
- result.createMethods.push(method);
33
- }
34
- if (hasCall(config.delete_application)) {
35
- result.deleteMethods.push(method);
36
- }
37
- if (hasCall(config.update_application)) {
38
- result.updateMethods.push(method);
39
- }
40
- if (hasCall(config.opt_in)) {
41
- result.optInMethods.push(method);
42
- }
43
- if (hasCall(config.close_out)) {
44
- result.closeOutMethods.push(method);
45
- }
46
- };
47
- const hasCall = (config) => {
48
- return config === 'CALL' || config === 'ALL';
49
- };
50
- const hasCreate = (config) => {
51
- return config === 'CREATE' || config === 'ALL';
52
- };
53
-
54
- export { BARE_CALL, getCallConfigSummary };
55
- //# sourceMappingURL=get-call-config-summary.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-call-config-summary.mjs","sources":["../../../src/client/helpers/get-call-config-summary.ts"],"sourcesContent":["import { pascalCase } from 'change-case'\nimport { AlgoAppSpec, CallConfig, CallConfigValue } from '../../schema/application.js'\n\nexport const BARE_CALL = Symbol('bare')\n\nexport type MethodIdentifier = string | typeof BARE_CALL\n\nexport type MethodList = Array<MethodIdentifier>\n\nexport type CallConfigSummary = {\n createMethods: MethodList\n callMethods: MethodList\n deleteMethods: MethodList\n updateMethods: MethodList\n optInMethods: MethodList\n closeOutMethods: MethodList\n}\nexport const getCallConfigSummary = (app: AlgoAppSpec) => {\n const result: CallConfigSummary = {\n createMethods: [],\n callMethods: [],\n deleteMethods: [],\n updateMethods: [],\n optInMethods: [],\n closeOutMethods: [],\n }\n if (app.bare_call_config) {\n addToConfig(result, BARE_CALL, app.bare_call_config)\n }\n if (app.hints) {\n for (const [method, hints] of Object.entries(app.hints)) {\n if (hints.call_config) {\n addToConfig(result, method, hints.call_config)\n }\n }\n }\n return result\n}\n\nexport const getCreateOnComplete = (app: AlgoAppSpec, method: MethodIdentifier) => {\n const callConfig = method === BARE_CALL ? app.bare_call_config : app.hints?.[method]?.call_config\n if (!callConfig) {\n return ''\n }\n const hasNoOp = callConfig.no_op === 'ALL' || callConfig.no_op === 'CREATE'\n return `{ onCompleteAction${hasNoOp ? '?' : ''}: ${getCreateOnCompleteTypes(callConfig)} }`\n}\n\nconst getCreateOnCompleteTypes = (config: CallConfig) => {\n return Object.keys(config)\n .map((oc) => oc as keyof CallConfig)\n .filter((oc) => config[oc] === 'ALL' || config[oc] === 'CREATE')\n .map((oc) => `'${oc}' | OnApplicationComplete.${pascalCase(oc)}OC`)\n .join(' | ')\n}\n\nconst addToConfig = (result: CallConfigSummary, method: MethodIdentifier, config: CallConfig) => {\n if (hasCall(config.no_op)) {\n result.callMethods.push(method)\n }\n if (\n hasCreate(config.no_op) ||\n hasCreate(config.opt_in) ||\n hasCreate(config.close_out) ||\n hasCreate(config.update_application) ||\n hasCreate(config.delete_application)\n ) {\n result.createMethods.push(method)\n }\n if (hasCall(config.delete_application)) {\n result.deleteMethods.push(method)\n }\n if (hasCall(config.update_application)) {\n result.updateMethods.push(method)\n }\n if (hasCall(config.opt_in)) {\n result.optInMethods.push(method)\n }\n if (hasCall(config.close_out)) {\n result.closeOutMethods.push(method)\n }\n}\n\nconst hasCall = (config: CallConfigValue | undefined) => {\n return config === 'CALL' || config === 'ALL'\n}\nconst hasCreate = (config: CallConfigValue | undefined) => {\n return config === 'CREATE' || config === 'ALL'\n}\n"],"names":[],"mappings":"MAGa,SAAS,GAAG,MAAM,CAAC,MAAM,EAAC;AAc1B,MAAA,oBAAoB,GAAG,CAAC,GAAgB,KAAI;AACvD,IAAA,MAAM,MAAM,GAAsB;AAChC,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,eAAe,EAAE,EAAE;KACpB,CAAA;AACD,IAAA,IAAI,GAAG,CAAC,gBAAgB,EAAE;QACxB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;KACrD;AACD,IAAA,IAAI,GAAG,CAAC,KAAK,EAAE;AACb,QAAA,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;aAC/C;SACF;KACF;AACD,IAAA,OAAO,MAAM,CAAA;AACf,EAAC;AAmBD,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAE,MAAwB,EAAE,MAAkB,KAAI;AAC9F,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAChC;AACD,IAAA,IACE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;AACvB,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,QAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3B,QAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACpC,QAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EACpC;AACA,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACtC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;AACtC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KAClC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACjC;AACD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AAC7B,QAAA,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACpC;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,MAAmC,KAAI;AACtD,IAAA,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAA;AAC9C,CAAC,CAAA;AACD,MAAM,SAAS,GAAG,CAAC,MAAmC,KAAI;AACxD,IAAA,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAA;AAChD,CAAC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-equivalent-type.js","sources":["../../../src/client/helpers/get-equivalent-type.ts"],"sourcesContent":["import {\n ABIAddressType,\n ABIArrayDynamicType,\n ABIArrayStaticType,\n ABIBoolType,\n ABIByteType,\n ABIReferenceType,\n ABIStringType,\n ABITupleType,\n ABIType,\n ABIUfixedType,\n ABIUintType,\n abiTypeIsTransaction,\n} from 'algosdk'\n\nexport function getEquivalentType(abiTypeStr: string, ioType: 'input' | 'output'): string {\n if (abiTypeStr == 'void') {\n return 'void'\n }\n if (abiTypeIsTransaction(abiTypeStr)) {\n return 'TransactionToSign | Transaction | Promise<SendTransactionResult>'\n }\n if (abiTypeStr == ABIReferenceType.account) {\n return 'string | Uint8Array'\n }\n if (abiTypeStr == ABIReferenceType.application || abiTypeStr == ABIReferenceType.asset) {\n return 'number | bigint'\n }\n\n const abiType = ABIType.from(abiTypeStr)\n\n return abiTypeToTs(abiType, ioType)\n\n function abiTypeToTs(abiType: ABIType, ioType: 'input' | 'output'): string {\n if (abiType instanceof ABIUintType) {\n if (abiType.bitSize <= 51) return 'number'\n return ioType === 'input' ? 'bigint | number' : 'bigint'\n }\n if (abiType instanceof ABIArrayDynamicType) {\n if (abiType.childType instanceof ABIByteType) return 'Uint8Array'\n\n const childTsType = abiTypeToTs(abiType.childType, ioType)\n if (childTsType === 'bigint | number') {\n return 'bigint[] | number[]'\n }\n\n return `${childTsType}[]`\n }\n if (abiType instanceof ABIArrayStaticType) {\n if (abiType.childType instanceof ABIByteType) return 'Uint8Array'\n return `[${new Array(abiType.staticLength).fill(abiTypeToTs(abiType.childType, ioType)).join(', ')}]`\n }\n if (abiType instanceof ABIAddressType) {\n return 'string'\n }\n if (abiType instanceof ABIBoolType) {\n return 'boolean'\n }\n if (abiType instanceof ABIUfixedType) {\n return 'number'\n }\n if (abiType instanceof ABITupleType) {\n return `[${abiType.childTypes.map((c) => abiTypeToTs(c, ioType)).join(', ')}]`\n }\n if (abiType instanceof ABIByteType) {\n return 'number'\n }\n if (abiType instanceof ABIStringType) {\n return 'string'\n }\n return 'unknown'\n }\n}\n"],"names":["abiTypeIsTransaction","ABIReferenceType","ABIType","ABIUintType","ABIArrayDynamicType","ABIByteType","ABIArrayStaticType","ABIAddressType","ABIBoolType","ABIUfixedType","ABITupleType","ABIStringType"],"mappings":";;;;AAegB,SAAA,iBAAiB,CAAC,UAAkB,EAAE,MAA0B,EAAA;AAC9E,IAAA,IAAI,UAAU,IAAI,MAAM,EAAE;AACxB,QAAA,OAAO,MAAM,CAAA;KACd;AACD,IAAA,IAAIA,4BAAoB,CAAC,UAAU,CAAC,EAAE;AACpC,QAAA,OAAO,kEAAkE,CAAA;KAC1E;AACD,IAAA,IAAI,UAAU,IAAIC,wBAAgB,CAAC,OAAO,EAAE;AAC1C,QAAA,OAAO,qBAAqB,CAAA;KAC7B;AACD,IAAA,IAAI,UAAU,IAAIA,wBAAgB,CAAC,WAAW,IAAI,UAAU,IAAIA,wBAAgB,CAAC,KAAK,EAAE;AACtF,QAAA,OAAO,iBAAiB,CAAA;KACzB;IAED,MAAM,OAAO,GAAGC,eAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAExC,IAAA,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AAEnC,IAAA,SAAS,WAAW,CAAC,OAAgB,EAAE,MAA0B,EAAA;AAC/D,QAAA,IAAI,OAAO,YAAYC,mBAAW,EAAE;AAClC,YAAA,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;AAAE,gBAAA,OAAO,QAAQ,CAAA;YAC1C,OAAO,MAAM,KAAK,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAA;SACzD;AACD,QAAA,IAAI,OAAO,YAAYC,2BAAmB,EAAE;AAC1C,YAAA,IAAI,OAAO,CAAC,SAAS,YAAYC,mBAAW;AAAE,gBAAA,OAAO,YAAY,CAAA;YAEjE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC1D,YAAA,IAAI,WAAW,KAAK,iBAAiB,EAAE;AACrC,gBAAA,OAAO,qBAAqB,CAAA;aAC7B;YAED,OAAO,CAAA,EAAG,WAAW,CAAA,EAAA,CAAI,CAAA;SAC1B;AACD,QAAA,IAAI,OAAO,YAAYC,0BAAkB,EAAE;AACzC,YAAA,IAAI,OAAO,CAAC,SAAS,YAAYD,mBAAW;AAAE,gBAAA,OAAO,YAAY,CAAA;YACjE,OAAO,CAAA,CAAA,EAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA;SACtG;AACD,QAAA,IAAI,OAAO,YAAYE,sBAAc,EAAE;AACrC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAYC,mBAAW,EAAE;AAClC,YAAA,OAAO,SAAS,CAAA;SACjB;AACD,QAAA,IAAI,OAAO,YAAYC,qBAAa,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAYC,oBAAY,EAAE;YACnC,OAAO,CAAA,CAAA,EAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA;SAC/E;AACD,QAAA,IAAI,OAAO,YAAYL,mBAAW,EAAE;AAClC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAYM,qBAAa,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,OAAO,SAAS,CAAA;KACjB;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-equivalent-type.mjs","sources":["../../../src/client/helpers/get-equivalent-type.ts"],"sourcesContent":["import {\n ABIAddressType,\n ABIArrayDynamicType,\n ABIArrayStaticType,\n ABIBoolType,\n ABIByteType,\n ABIReferenceType,\n ABIStringType,\n ABITupleType,\n ABIType,\n ABIUfixedType,\n ABIUintType,\n abiTypeIsTransaction,\n} from 'algosdk'\n\nexport function getEquivalentType(abiTypeStr: string, ioType: 'input' | 'output'): string {\n if (abiTypeStr == 'void') {\n return 'void'\n }\n if (abiTypeIsTransaction(abiTypeStr)) {\n return 'TransactionToSign | Transaction | Promise<SendTransactionResult>'\n }\n if (abiTypeStr == ABIReferenceType.account) {\n return 'string | Uint8Array'\n }\n if (abiTypeStr == ABIReferenceType.application || abiTypeStr == ABIReferenceType.asset) {\n return 'number | bigint'\n }\n\n const abiType = ABIType.from(abiTypeStr)\n\n return abiTypeToTs(abiType, ioType)\n\n function abiTypeToTs(abiType: ABIType, ioType: 'input' | 'output'): string {\n if (abiType instanceof ABIUintType) {\n if (abiType.bitSize <= 51) return 'number'\n return ioType === 'input' ? 'bigint | number' : 'bigint'\n }\n if (abiType instanceof ABIArrayDynamicType) {\n if (abiType.childType instanceof ABIByteType) return 'Uint8Array'\n\n const childTsType = abiTypeToTs(abiType.childType, ioType)\n if (childTsType === 'bigint | number') {\n return 'bigint[] | number[]'\n }\n\n return `${childTsType}[]`\n }\n if (abiType instanceof ABIArrayStaticType) {\n if (abiType.childType instanceof ABIByteType) return 'Uint8Array'\n return `[${new Array(abiType.staticLength).fill(abiTypeToTs(abiType.childType, ioType)).join(', ')}]`\n }\n if (abiType instanceof ABIAddressType) {\n return 'string'\n }\n if (abiType instanceof ABIBoolType) {\n return 'boolean'\n }\n if (abiType instanceof ABIUfixedType) {\n return 'number'\n }\n if (abiType instanceof ABITupleType) {\n return `[${abiType.childTypes.map((c) => abiTypeToTs(c, ioType)).join(', ')}]`\n }\n if (abiType instanceof ABIByteType) {\n return 'number'\n }\n if (abiType instanceof ABIStringType) {\n return 'string'\n }\n return 'unknown'\n }\n}\n"],"names":[],"mappings":";;AAegB,SAAA,iBAAiB,CAAC,UAAkB,EAAE,MAA0B,EAAA;AAC9E,IAAA,IAAI,UAAU,IAAI,MAAM,EAAE;AACxB,QAAA,OAAO,MAAM,CAAA;KACd;AACD,IAAA,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE;AACpC,QAAA,OAAO,kEAAkE,CAAA;KAC1E;AACD,IAAA,IAAI,UAAU,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC1C,QAAA,OAAO,qBAAqB,CAAA;KAC7B;AACD,IAAA,IAAI,UAAU,IAAI,gBAAgB,CAAC,WAAW,IAAI,UAAU,IAAI,gBAAgB,CAAC,KAAK,EAAE;AACtF,QAAA,OAAO,iBAAiB,CAAA;KACzB;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAExC,IAAA,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AAEnC,IAAA,SAAS,WAAW,CAAC,OAAgB,EAAE,MAA0B,EAAA;AAC/D,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;AAAE,gBAAA,OAAO,QAAQ,CAAA;YAC1C,OAAO,MAAM,KAAK,OAAO,GAAG,iBAAiB,GAAG,QAAQ,CAAA;SACzD;AACD,QAAA,IAAI,OAAO,YAAY,mBAAmB,EAAE;AAC1C,YAAA,IAAI,OAAO,CAAC,SAAS,YAAY,WAAW;AAAE,gBAAA,OAAO,YAAY,CAAA;YAEjE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC1D,YAAA,IAAI,WAAW,KAAK,iBAAiB,EAAE;AACrC,gBAAA,OAAO,qBAAqB,CAAA;aAC7B;YAED,OAAO,CAAA,EAAG,WAAW,CAAA,EAAA,CAAI,CAAA;SAC1B;AACD,QAAA,IAAI,OAAO,YAAY,kBAAkB,EAAE;AACzC,YAAA,IAAI,OAAO,CAAC,SAAS,YAAY,WAAW;AAAE,gBAAA,OAAO,YAAY,CAAA;YACjE,OAAO,CAAA,CAAA,EAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA;SACtG;AACD,QAAA,IAAI,OAAO,YAAY,cAAc,EAAE;AACrC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,OAAO,SAAS,CAAA;SACjB;AACD,QAAA,IAAI,OAAO,YAAY,aAAa,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAY,YAAY,EAAE;YACnC,OAAO,CAAA,CAAA,EAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA;SAC/E;AACD,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,IAAI,OAAO,YAAY,aAAa,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAA;SAChB;AACD,QAAA,OAAO,SAAS,CAAA;KACjB;AACH;;;;"}
package/client/imports.js DELETED
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- function* imports() {
4
- yield `import * as algokit from '@algorandfoundation/algokit-utils'
5
- import type {
6
- ABIAppCallArg,
7
- AppCallTransactionResult,
8
- AppCallTransactionResultOfType,
9
- AppCompilationResult,
10
- AppReference,
11
- AppState,
12
- AppStorageSchema,
13
- CoreAppCallArgs,
14
- RawAppCallArgs,
15
- TealTemplateParams,
16
- } from '@algorandfoundation/algokit-utils/types/app'
17
- import type {
18
- AppClientCallCoreParams,
19
- AppClientCompilationParams,
20
- AppClientDeployCoreParams,
21
- AppDetails,
22
- ApplicationClient,
23
- } from '@algorandfoundation/algokit-utils/types/app-client'
24
- import type { AppSpec } from '@algorandfoundation/algokit-utils/types/app-spec'
25
- import type { SendTransactionResult, TransactionToSign, SendTransactionFrom, SendTransactionParams } from '@algorandfoundation/algokit-utils/types/transaction'
26
- import type { ABIResult, TransactionWithSigner } from 'algosdk'
27
- import { Algodv2, OnApplicationComplete, Transaction, AtomicTransactionComposer, modelsv2 } from 'algosdk'`;
28
- }
29
-
30
- exports.imports = imports;
31
- //# sourceMappingURL=imports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imports.js","sources":["../../src/client/imports.ts"],"sourcesContent":["import { DocumentParts } from '../output/writer'\n\nexport function* imports(): DocumentParts {\n yield `import * as algokit from '@algorandfoundation/algokit-utils'\nimport type {\n ABIAppCallArg,\n AppCallTransactionResult,\n AppCallTransactionResultOfType,\n AppCompilationResult,\n AppReference,\n AppState,\n AppStorageSchema,\n CoreAppCallArgs,\n RawAppCallArgs,\n TealTemplateParams,\n} from '@algorandfoundation/algokit-utils/types/app'\nimport type {\n AppClientCallCoreParams,\n AppClientCompilationParams,\n AppClientDeployCoreParams,\n AppDetails,\n ApplicationClient,\n} from '@algorandfoundation/algokit-utils/types/app-client'\nimport type { AppSpec } from '@algorandfoundation/algokit-utils/types/app-spec'\nimport type { SendTransactionResult, TransactionToSign, SendTransactionFrom, SendTransactionParams } from '@algorandfoundation/algokit-utils/types/transaction'\nimport type { ABIResult, TransactionWithSigner } from 'algosdk'\nimport { Algodv2, OnApplicationComplete, Transaction, AtomicTransactionComposer, modelsv2 } from 'algosdk'`\n}\n"],"names":[],"mappings":";;AAEM,UAAW,OAAO,GAAA;IACtB,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;2GAuBmG,CAAA;AAC3G;;;;"}
@@ -1,29 +0,0 @@
1
- function* imports() {
2
- yield `import * as algokit from '@algorandfoundation/algokit-utils'
3
- import type {
4
- ABIAppCallArg,
5
- AppCallTransactionResult,
6
- AppCallTransactionResultOfType,
7
- AppCompilationResult,
8
- AppReference,
9
- AppState,
10
- AppStorageSchema,
11
- CoreAppCallArgs,
12
- RawAppCallArgs,
13
- TealTemplateParams,
14
- } from '@algorandfoundation/algokit-utils/types/app'
15
- import type {
16
- AppClientCallCoreParams,
17
- AppClientCompilationParams,
18
- AppClientDeployCoreParams,
19
- AppDetails,
20
- ApplicationClient,
21
- } from '@algorandfoundation/algokit-utils/types/app-client'
22
- import type { AppSpec } from '@algorandfoundation/algokit-utils/types/app-spec'
23
- import type { SendTransactionResult, TransactionToSign, SendTransactionFrom, SendTransactionParams } from '@algorandfoundation/algokit-utils/types/transaction'
24
- import type { ABIResult, TransactionWithSigner } from 'algosdk'
25
- import { Algodv2, OnApplicationComplete, Transaction, AtomicTransactionComposer, modelsv2 } from 'algosdk'`;
26
- }
27
-
28
- export { imports };
29
- //# sourceMappingURL=imports.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imports.mjs","sources":["../../src/client/imports.ts"],"sourcesContent":["import { DocumentParts } from '../output/writer'\n\nexport function* imports(): DocumentParts {\n yield `import * as algokit from '@algorandfoundation/algokit-utils'\nimport type {\n ABIAppCallArg,\n AppCallTransactionResult,\n AppCallTransactionResultOfType,\n AppCompilationResult,\n AppReference,\n AppState,\n AppStorageSchema,\n CoreAppCallArgs,\n RawAppCallArgs,\n TealTemplateParams,\n} from '@algorandfoundation/algokit-utils/types/app'\nimport type {\n AppClientCallCoreParams,\n AppClientCompilationParams,\n AppClientDeployCoreParams,\n AppDetails,\n ApplicationClient,\n} from '@algorandfoundation/algokit-utils/types/app-client'\nimport type { AppSpec } from '@algorandfoundation/algokit-utils/types/app-spec'\nimport type { SendTransactionResult, TransactionToSign, SendTransactionFrom, SendTransactionParams } from '@algorandfoundation/algokit-utils/types/transaction'\nimport type { ABIResult, TransactionWithSigner } from 'algosdk'\nimport { Algodv2, OnApplicationComplete, Transaction, AtomicTransactionComposer, modelsv2 } from 'algosdk'`\n}\n"],"names":[],"mappings":"AAEM,UAAW,OAAO,GAAA;IACtB,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;2GAuBmG,CAAA;AAC3G;;;;"}
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- var writer = require('../output/writer.js');
4
-
5
- function* utilityTypes() {
6
- yield* writer.jsDoc(`Defines an onCompletionAction of 'no_op'`);
7
- yield `export type OnCompleteNoOp = { onCompleteAction?: 'no_op' | OnApplicationComplete.NoOpOC }`;
8
- yield* writer.jsDoc(`Defines an onCompletionAction of 'opt_in'`);
9
- yield `export type OnCompleteOptIn = { onCompleteAction: 'opt_in' | OnApplicationComplete.OptInOC }`;
10
- yield* writer.jsDoc(`Defines an onCompletionAction of 'close_out'`);
11
- yield `export type OnCompleteCloseOut = { onCompleteAction: 'close_out' | OnApplicationComplete.CloseOutOC }`;
12
- yield* writer.jsDoc(`Defines an onCompletionAction of 'delete_application'`);
13
- yield `export type OnCompleteDelApp = { onCompleteAction: 'delete_application' | OnApplicationComplete.DeleteApplicationOC }`;
14
- yield* writer.jsDoc(`Defines an onCompletionAction of 'update_application'`);
15
- yield `export type OnCompleteUpdApp = { onCompleteAction: 'update_application' | OnApplicationComplete.UpdateApplicationOC }`;
16
- yield* writer.jsDoc('A state record containing a single unsigned integer');
17
- yield `export type IntegerState = {`;
18
- yield writer.IncIndent;
19
- yield* writer.jsDoc('Gets the state value as a BigInt.');
20
- yield `asBigInt(): bigint`;
21
- yield* writer.jsDoc('Gets the state value as a number.');
22
- yield `asNumber(): number`;
23
- yield writer.DecIndentAndCloseBlock;
24
- yield* writer.jsDoc('A state record containing binary data');
25
- yield `export type BinaryState = {`;
26
- yield writer.IncIndent;
27
- yield* writer.jsDoc('Gets the state value as a Uint8Array');
28
- yield `asByteArray(): Uint8Array`;
29
- yield* writer.jsDoc('Gets the state value as a string');
30
- yield `asString(): string`;
31
- yield writer.DecIndentAndCloseBlock;
32
- yield writer.NewLine;
33
- yield `export type AppCreateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult> & AppReference`;
34
- yield `export type AppUpdateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult>`;
35
- yield writer.NewLine;
36
- yield `export type AppClientComposeCallCoreParams = Omit<AppClientCallCoreParams, 'sendParams'> & {`;
37
- yield* writer.indent(`sendParams?: Omit<SendTransactionParams, 'skipSending' | 'atc' | 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources'>`);
38
- yield `}`;
39
- yield `export type AppClientComposeExecuteParams = Pick<SendTransactionParams, 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources' | 'suppressLog'>`;
40
- yield writer.NewLine;
41
- yield `export type IncludeSchema = {`;
42
- yield writer.IncIndent;
43
- yield* writer.jsDoc(`Any overrides for the storage schema to request for the created app; by default the schema indicated by the app spec is used.`);
44
- yield `schema?: Partial<AppStorageSchema>`;
45
- yield writer.DecIndentAndCloseBlock;
46
- }
47
- const OnCompleteCodeMap = {
48
- no_op: 'OnCompleteNoOp',
49
- opt_in: 'OnCompleteOptIn',
50
- close_out: 'OnCompleteCloseOut',
51
- delete_application: 'OnCompleteDelApp',
52
- update_application: 'OnCompleteUpdApp',
53
- };
54
-
55
- exports.OnCompleteCodeMap = OnCompleteCodeMap;
56
- exports.utilityTypes = utilityTypes;
57
- //# sourceMappingURL=utility-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utility-types.js","sources":["../../src/client/utility-types.ts"],"sourcesContent":["import { DecIndentAndCloseBlock, DocumentParts, IncIndent, indent, jsDoc, NewLine } from '../output/writer'\n\nexport function* utilityTypes(): DocumentParts {\n yield* jsDoc(`Defines an onCompletionAction of 'no_op'`)\n yield `export type OnCompleteNoOp = { onCompleteAction?: 'no_op' | OnApplicationComplete.NoOpOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'opt_in'`)\n yield `export type OnCompleteOptIn = { onCompleteAction: 'opt_in' | OnApplicationComplete.OptInOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'close_out'`)\n yield `export type OnCompleteCloseOut = { onCompleteAction: 'close_out' | OnApplicationComplete.CloseOutOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'delete_application'`)\n yield `export type OnCompleteDelApp = { onCompleteAction: 'delete_application' | OnApplicationComplete.DeleteApplicationOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'update_application'`)\n yield `export type OnCompleteUpdApp = { onCompleteAction: 'update_application' | OnApplicationComplete.UpdateApplicationOC }`\n\n yield* jsDoc('A state record containing a single unsigned integer')\n yield `export type IntegerState = {`\n yield IncIndent\n yield* jsDoc('Gets the state value as a BigInt.')\n yield `asBigInt(): bigint`\n yield* jsDoc('Gets the state value as a number.')\n yield `asNumber(): number`\n yield DecIndentAndCloseBlock\n yield* jsDoc('A state record containing binary data')\n yield `export type BinaryState = {`\n yield IncIndent\n yield* jsDoc('Gets the state value as a Uint8Array')\n yield `asByteArray(): Uint8Array`\n yield* jsDoc('Gets the state value as a string')\n yield `asString(): string`\n yield DecIndentAndCloseBlock\n\n yield NewLine\n yield `export type AppCreateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult> & AppReference`\n yield `export type AppUpdateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult>`\n\n yield NewLine\n yield `export type AppClientComposeCallCoreParams = Omit<AppClientCallCoreParams, 'sendParams'> & {`\n yield* indent(\n `sendParams?: Omit<SendTransactionParams, 'skipSending' | 'atc' | 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources'>`,\n )\n yield `}`\n yield `export type AppClientComposeExecuteParams = Pick<SendTransactionParams, 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources' | 'suppressLog'>`\n yield NewLine\n yield `export type IncludeSchema = {`\n yield IncIndent\n yield* jsDoc(\n `Any overrides for the storage schema to request for the created app; by default the schema indicated by the app spec is used.`,\n )\n yield `schema?: Partial<AppStorageSchema>`\n yield DecIndentAndCloseBlock\n}\n\nexport const OnCompleteCodeMap = {\n no_op: 'OnCompleteNoOp',\n opt_in: 'OnCompleteOptIn',\n close_out: 'OnCompleteCloseOut',\n delete_application: 'OnCompleteDelApp',\n update_application: 'OnCompleteUpdApp',\n}\n"],"names":["jsDoc","IncIndent","DecIndentAndCloseBlock","NewLine","indent"],"mappings":";;;;AAEM,UAAW,YAAY,GAAA;AAC3B,IAAA,OAAOA,YAAK,CAAC,CAAA,wCAAA,CAA0C,CAAC,CAAA;AACxD,IAAA,MAAM,6FAA6F,CAAA;AACnG,IAAA,OAAOA,YAAK,CAAC,CAAA,yCAAA,CAA2C,CAAC,CAAA;AACzD,IAAA,MAAM,+FAA+F,CAAA;AACrG,IAAA,OAAOA,YAAK,CAAC,CAAA,4CAAA,CAA8C,CAAC,CAAA;AAC5D,IAAA,MAAM,wGAAwG,CAAA;AAC9G,IAAA,OAAOA,YAAK,CAAC,CAAA,qDAAA,CAAuD,CAAC,CAAA;AACrE,IAAA,MAAM,wHAAwH,CAAA;AAC9H,IAAA,OAAOA,YAAK,CAAC,CAAA,qDAAA,CAAuD,CAAC,CAAA;AACrE,IAAA,MAAM,wHAAwH,CAAA;AAE9H,IAAA,OAAOA,YAAK,CAAC,qDAAqD,CAAC,CAAA;AACnE,IAAA,MAAM,8BAA8B,CAAA;AACpC,IAAA,MAAMC,gBAAS,CAAA;AACf,IAAA,OAAOD,YAAK,CAAC,mCAAmC,CAAC,CAAA;AACjD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,OAAOA,YAAK,CAAC,mCAAmC,CAAC,CAAA;AACjD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,MAAME,6BAAsB,CAAA;AAC5B,IAAA,OAAOF,YAAK,CAAC,uCAAuC,CAAC,CAAA;AACrD,IAAA,MAAM,6BAA6B,CAAA;AACnC,IAAA,MAAMC,gBAAS,CAAA;AACf,IAAA,OAAOD,YAAK,CAAC,sCAAsC,CAAC,CAAA;AACpD,IAAA,MAAM,2BAA2B,CAAA;AACjC,IAAA,OAAOA,YAAK,CAAC,kCAAkC,CAAC,CAAA;AAChD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,MAAME,6BAAsB,CAAA;AAE5B,IAAA,MAAMC,cAAO,CAAA;AACb,IAAA,MAAM,sHAAsH,CAAA;AAC5H,IAAA,MAAM,uGAAuG,CAAA;AAE7G,IAAA,MAAMA,cAAO,CAAA;AACb,IAAA,MAAM,8FAA8F,CAAA;AACpG,IAAA,OAAOC,aAAM,CACX,CAAA,+IAAA,CAAiJ,CAClJ,CAAA;AACD,IAAA,MAAM,GAAG,CAAA;AACT,IAAA,MAAM,wKAAwK,CAAA;AAC9K,IAAA,MAAMD,cAAO,CAAA;AACb,IAAA,MAAM,+BAA+B,CAAA;AACrC,IAAA,MAAMF,gBAAS,CAAA;AACf,IAAA,OAAOD,YAAK,CACV,CAAA,6HAAA,CAA+H,CAChI,CAAA;AACD,IAAA,MAAM,oCAAoC,CAAA;AAC1C,IAAA,MAAME,6BAAsB,CAAA;AAC9B,CAAC;AAEY,MAAA,iBAAiB,GAAG;AAC/B,IAAA,KAAK,EAAE,gBAAgB;AACvB,IAAA,MAAM,EAAE,iBAAiB;AACzB,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,kBAAkB,EAAE,kBAAkB;AACtC,IAAA,kBAAkB,EAAE,kBAAkB;;;;;;"}
@@ -1,54 +0,0 @@
1
- import { jsDoc, IncIndent, DecIndentAndCloseBlock, NewLine, indent } from '../output/writer.mjs';
2
-
3
- function* utilityTypes() {
4
- yield* jsDoc(`Defines an onCompletionAction of 'no_op'`);
5
- yield `export type OnCompleteNoOp = { onCompleteAction?: 'no_op' | OnApplicationComplete.NoOpOC }`;
6
- yield* jsDoc(`Defines an onCompletionAction of 'opt_in'`);
7
- yield `export type OnCompleteOptIn = { onCompleteAction: 'opt_in' | OnApplicationComplete.OptInOC }`;
8
- yield* jsDoc(`Defines an onCompletionAction of 'close_out'`);
9
- yield `export type OnCompleteCloseOut = { onCompleteAction: 'close_out' | OnApplicationComplete.CloseOutOC }`;
10
- yield* jsDoc(`Defines an onCompletionAction of 'delete_application'`);
11
- yield `export type OnCompleteDelApp = { onCompleteAction: 'delete_application' | OnApplicationComplete.DeleteApplicationOC }`;
12
- yield* jsDoc(`Defines an onCompletionAction of 'update_application'`);
13
- yield `export type OnCompleteUpdApp = { onCompleteAction: 'update_application' | OnApplicationComplete.UpdateApplicationOC }`;
14
- yield* jsDoc('A state record containing a single unsigned integer');
15
- yield `export type IntegerState = {`;
16
- yield IncIndent;
17
- yield* jsDoc('Gets the state value as a BigInt.');
18
- yield `asBigInt(): bigint`;
19
- yield* jsDoc('Gets the state value as a number.');
20
- yield `asNumber(): number`;
21
- yield DecIndentAndCloseBlock;
22
- yield* jsDoc('A state record containing binary data');
23
- yield `export type BinaryState = {`;
24
- yield IncIndent;
25
- yield* jsDoc('Gets the state value as a Uint8Array');
26
- yield `asByteArray(): Uint8Array`;
27
- yield* jsDoc('Gets the state value as a string');
28
- yield `asString(): string`;
29
- yield DecIndentAndCloseBlock;
30
- yield NewLine;
31
- yield `export type AppCreateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult> & AppReference`;
32
- yield `export type AppUpdateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult>`;
33
- yield NewLine;
34
- yield `export type AppClientComposeCallCoreParams = Omit<AppClientCallCoreParams, 'sendParams'> & {`;
35
- yield* indent(`sendParams?: Omit<SendTransactionParams, 'skipSending' | 'atc' | 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources'>`);
36
- yield `}`;
37
- yield `export type AppClientComposeExecuteParams = Pick<SendTransactionParams, 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources' | 'suppressLog'>`;
38
- yield NewLine;
39
- yield `export type IncludeSchema = {`;
40
- yield IncIndent;
41
- yield* jsDoc(`Any overrides for the storage schema to request for the created app; by default the schema indicated by the app spec is used.`);
42
- yield `schema?: Partial<AppStorageSchema>`;
43
- yield DecIndentAndCloseBlock;
44
- }
45
- const OnCompleteCodeMap = {
46
- no_op: 'OnCompleteNoOp',
47
- opt_in: 'OnCompleteOptIn',
48
- close_out: 'OnCompleteCloseOut',
49
- delete_application: 'OnCompleteDelApp',
50
- update_application: 'OnCompleteUpdApp',
51
- };
52
-
53
- export { OnCompleteCodeMap, utilityTypes };
54
- //# sourceMappingURL=utility-types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utility-types.mjs","sources":["../../src/client/utility-types.ts"],"sourcesContent":["import { DecIndentAndCloseBlock, DocumentParts, IncIndent, indent, jsDoc, NewLine } from '../output/writer'\n\nexport function* utilityTypes(): DocumentParts {\n yield* jsDoc(`Defines an onCompletionAction of 'no_op'`)\n yield `export type OnCompleteNoOp = { onCompleteAction?: 'no_op' | OnApplicationComplete.NoOpOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'opt_in'`)\n yield `export type OnCompleteOptIn = { onCompleteAction: 'opt_in' | OnApplicationComplete.OptInOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'close_out'`)\n yield `export type OnCompleteCloseOut = { onCompleteAction: 'close_out' | OnApplicationComplete.CloseOutOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'delete_application'`)\n yield `export type OnCompleteDelApp = { onCompleteAction: 'delete_application' | OnApplicationComplete.DeleteApplicationOC }`\n yield* jsDoc(`Defines an onCompletionAction of 'update_application'`)\n yield `export type OnCompleteUpdApp = { onCompleteAction: 'update_application' | OnApplicationComplete.UpdateApplicationOC }`\n\n yield* jsDoc('A state record containing a single unsigned integer')\n yield `export type IntegerState = {`\n yield IncIndent\n yield* jsDoc('Gets the state value as a BigInt.')\n yield `asBigInt(): bigint`\n yield* jsDoc('Gets the state value as a number.')\n yield `asNumber(): number`\n yield DecIndentAndCloseBlock\n yield* jsDoc('A state record containing binary data')\n yield `export type BinaryState = {`\n yield IncIndent\n yield* jsDoc('Gets the state value as a Uint8Array')\n yield `asByteArray(): Uint8Array`\n yield* jsDoc('Gets the state value as a string')\n yield `asString(): string`\n yield DecIndentAndCloseBlock\n\n yield NewLine\n yield `export type AppCreateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult> & AppReference`\n yield `export type AppUpdateCallTransactionResult = AppCallTransactionResult & Partial<AppCompilationResult>`\n\n yield NewLine\n yield `export type AppClientComposeCallCoreParams = Omit<AppClientCallCoreParams, 'sendParams'> & {`\n yield* indent(\n `sendParams?: Omit<SendTransactionParams, 'skipSending' | 'atc' | 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources'>`,\n )\n yield `}`\n yield `export type AppClientComposeExecuteParams = Pick<SendTransactionParams, 'skipWaiting' | 'maxRoundsToWaitForConfirmation' | 'populateAppCallResources' | 'suppressLog'>`\n yield NewLine\n yield `export type IncludeSchema = {`\n yield IncIndent\n yield* jsDoc(\n `Any overrides for the storage schema to request for the created app; by default the schema indicated by the app spec is used.`,\n )\n yield `schema?: Partial<AppStorageSchema>`\n yield DecIndentAndCloseBlock\n}\n\nexport const OnCompleteCodeMap = {\n no_op: 'OnCompleteNoOp',\n opt_in: 'OnCompleteOptIn',\n close_out: 'OnCompleteCloseOut',\n delete_application: 'OnCompleteDelApp',\n update_application: 'OnCompleteUpdApp',\n}\n"],"names":[],"mappings":";;AAEM,UAAW,YAAY,GAAA;AAC3B,IAAA,OAAO,KAAK,CAAC,CAAA,wCAAA,CAA0C,CAAC,CAAA;AACxD,IAAA,MAAM,6FAA6F,CAAA;AACnG,IAAA,OAAO,KAAK,CAAC,CAAA,yCAAA,CAA2C,CAAC,CAAA;AACzD,IAAA,MAAM,+FAA+F,CAAA;AACrG,IAAA,OAAO,KAAK,CAAC,CAAA,4CAAA,CAA8C,CAAC,CAAA;AAC5D,IAAA,MAAM,wGAAwG,CAAA;AAC9G,IAAA,OAAO,KAAK,CAAC,CAAA,qDAAA,CAAuD,CAAC,CAAA;AACrE,IAAA,MAAM,wHAAwH,CAAA;AAC9H,IAAA,OAAO,KAAK,CAAC,CAAA,qDAAA,CAAuD,CAAC,CAAA;AACrE,IAAA,MAAM,wHAAwH,CAAA;AAE9H,IAAA,OAAO,KAAK,CAAC,qDAAqD,CAAC,CAAA;AACnE,IAAA,MAAM,8BAA8B,CAAA;AACpC,IAAA,MAAM,SAAS,CAAA;AACf,IAAA,OAAO,KAAK,CAAC,mCAAmC,CAAC,CAAA;AACjD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,OAAO,KAAK,CAAC,mCAAmC,CAAC,CAAA;AACjD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,MAAM,sBAAsB,CAAA;AAC5B,IAAA,OAAO,KAAK,CAAC,uCAAuC,CAAC,CAAA;AACrD,IAAA,MAAM,6BAA6B,CAAA;AACnC,IAAA,MAAM,SAAS,CAAA;AACf,IAAA,OAAO,KAAK,CAAC,sCAAsC,CAAC,CAAA;AACpD,IAAA,MAAM,2BAA2B,CAAA;AACjC,IAAA,OAAO,KAAK,CAAC,kCAAkC,CAAC,CAAA;AAChD,IAAA,MAAM,oBAAoB,CAAA;AAC1B,IAAA,MAAM,sBAAsB,CAAA;AAE5B,IAAA,MAAM,OAAO,CAAA;AACb,IAAA,MAAM,sHAAsH,CAAA;AAC5H,IAAA,MAAM,uGAAuG,CAAA;AAE7G,IAAA,MAAM,OAAO,CAAA;AACb,IAAA,MAAM,8FAA8F,CAAA;AACpG,IAAA,OAAO,MAAM,CACX,CAAA,+IAAA,CAAiJ,CAClJ,CAAA;AACD,IAAA,MAAM,GAAG,CAAA;AACT,IAAA,MAAM,wKAAwK,CAAA;AAC9K,IAAA,MAAM,OAAO,CAAA;AACb,IAAA,MAAM,+BAA+B,CAAA;AACrC,IAAA,MAAM,SAAS,CAAA;AACf,IAAA,OAAO,KAAK,CACV,CAAA,6HAAA,CAA+H,CAChI,CAAA;AACD,IAAA,MAAM,oCAAoC,CAAA;AAC1C,IAAA,MAAM,sBAAsB,CAAA;AAC9B,CAAC;AAEY,MAAA,iBAAiB,GAAG;AAC/B,IAAA,KAAK,EAAE,gBAAgB;AACvB,IAAA,MAAM,EAAE,iBAAiB;AACzB,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,kBAAkB,EAAE,kBAAkB;AACtC,IAAA,kBAAkB,EAAE,kBAAkB;;;;;"}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
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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"}