@algorandfoundation/algokit-client-generator 1.0.1-beta.2

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 (93) hide show
  1. package/README.md +1 -0
  2. package/bin/cli.js +3 -0
  3. package/cli.d.ts +2 -0
  4. package/cli.d.ts.map +1 -0
  5. package/cli.js +82 -0
  6. package/cli.js.map +1 -0
  7. package/client/app-types.d.ts +4 -0
  8. package/client/app-types.d.ts.map +1 -0
  9. package/client/app-types.js +135 -0
  10. package/client/app-types.js.map +1 -0
  11. package/client/call-client.d.ts +4 -0
  12. package/client/call-client.d.ts.map +1 -0
  13. package/client/call-client.js +278 -0
  14. package/client/call-client.js.map +1 -0
  15. package/client/call-factory.d.ts +4 -0
  16. package/client/call-factory.d.ts.map +1 -0
  17. package/client/call-factory.js +71 -0
  18. package/client/call-factory.js.map +1 -0
  19. package/client/deploy-types.d.ts +10 -0
  20. package/client/deploy-types.d.ts.map +1 -0
  21. package/client/deploy-types.js +79 -0
  22. package/client/deploy-types.js.map +1 -0
  23. package/client/generate.d.ts +4 -0
  24. package/client/generate.d.ts.map +1 -0
  25. package/client/generate.js +35 -0
  26. package/client/generate.js.map +1 -0
  27. package/client/generator-context.d.ts +15 -0
  28. package/client/generator-context.d.ts.map +1 -0
  29. package/client/generator-context.js +41 -0
  30. package/client/generator-context.js.map +1 -0
  31. package/client/helpers/extract-method-name-from-signature.d.ts +7 -0
  32. package/client/helpers/extract-method-name-from-signature.d.ts.map +1 -0
  33. package/client/helpers/extract-method-name-from-signature.js +13 -0
  34. package/client/helpers/extract-method-name-from-signature.js.map +1 -0
  35. package/client/helpers/get-call-config-summary.d.ts +15 -0
  36. package/client/helpers/get-call-config-summary.d.ts.map +1 -0
  37. package/client/helpers/get-call-config-summary.js +75 -0
  38. package/client/helpers/get-call-config-summary.js.map +1 -0
  39. package/client/helpers/get-create-methods.d.ts +3 -0
  40. package/client/helpers/get-create-methods.d.ts.map +1 -0
  41. package/client/helpers/get-create-methods.js +8 -0
  42. package/client/helpers/get-create-methods.js.map +1 -0
  43. package/client/helpers/get-equivalent-type.d.ts +2 -0
  44. package/client/helpers/get-equivalent-type.d.ts.map +1 -0
  45. package/client/helpers/get-equivalent-type.js +59 -0
  46. package/client/helpers/get-equivalent-type.js.map +1 -0
  47. package/client/imports.d.ts +3 -0
  48. package/client/imports.d.ts.map +1 -0
  49. package/client/imports.js +27 -0
  50. package/client/imports.js.map +1 -0
  51. package/client/return-types.d.ts +4 -0
  52. package/client/return-types.d.ts.map +1 -0
  53. package/client/return-types.js +48 -0
  54. package/client/return-types.js.map +1 -0
  55. package/client/utility-types.d.ts +10 -0
  56. package/client/utility-types.d.ts.map +1 -0
  57. package/client/utility-types.js +27 -0
  58. package/client/utility-types.js.map +1 -0
  59. package/index.d.ts +2 -0
  60. package/index.d.ts.map +1 -0
  61. package/index.js +5 -0
  62. package/index.js.map +1 -0
  63. package/output/writer.d.ts +22 -0
  64. package/output/writer.d.ts.map +1 -0
  65. package/output/writer.js +123 -0
  66. package/output/writer.js.map +1 -0
  67. package/package.json +24 -0
  68. package/schema/application.schema.json +255 -0
  69. package/schema/contract.schema.json +85 -0
  70. package/schema/load.d.ts +3 -0
  71. package/schema/load.d.ts.map +1 -0
  72. package/schema/load.js +47 -0
  73. package/schema/load.js.map +1 -0
  74. package/tests/approval-tests.spec.d.ts +2 -0
  75. package/tests/approval-tests.spec.d.ts.map +1 -0
  76. package/tests/approval-tests.spec.js +24 -0
  77. package/tests/approval-tests.spec.js.map +1 -0
  78. package/util/boom.d.ts +2 -0
  79. package/util/boom.d.ts.map +1 -0
  80. package/util/boom.js +8 -0
  81. package/util/boom.js.map +1 -0
  82. package/util/color-console.d.ts +7 -0
  83. package/util/color-console.d.ts.map +1 -0
  84. package/util/color-console.js +20 -0
  85. package/util/color-console.js.map +1 -0
  86. package/util/not-falsy.d.ts +2 -0
  87. package/util/not-falsy.d.ts.map +1 -0
  88. package/util/not-falsy.js +6 -0
  89. package/util/not-falsy.js.map +1 -0
  90. package/util/sanitization.d.ts +6 -0
  91. package/util/sanitization.d.ts.map +1 -0
  92. package/util/sanitization.js +17 -0
  93. package/util/sanitization.js.map +1 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.callFactory = void 0;
27
+ const writer_1 = require("../output/writer");
28
+ const sanitization_1 = require("../util/sanitization");
29
+ const algokit = __importStar(require("@algorandfoundation/algokit-utils"));
30
+ function* callFactory(ctx) {
31
+ yield `export abstract class ${ctx.name}CallFactory {`;
32
+ yield writer_1.IncIndent;
33
+ for (const method of ctx.app.contract.methods) {
34
+ yield* callFactoryMethod(ctx, method);
35
+ }
36
+ yield writer_1.DecIndent;
37
+ yield '}';
38
+ yield `function mapBySignature(...[signature, args, params]: MapperArgs<keyof ${ctx.name}['methods']>) {`;
39
+ yield writer_1.IncIndent;
40
+ yield 'switch(signature) {';
41
+ yield writer_1.IncIndent;
42
+ for (const method of ctx.app.contract.methods) {
43
+ const methodSignature = algokit.getABIMethodSignature(method);
44
+ const uniqueName = ctx.methodSignatureToUniqueName[methodSignature];
45
+ yield `case '${methodSignature}':`;
46
+ if (uniqueName !== methodSignature) {
47
+ yield `case '${uniqueName}':`;
48
+ }
49
+ yield* (0, writer_1.indent)(`return ${ctx.name}CallFactory.${(0, sanitization_1.makeSafeMethodIdentifier)(ctx.methodSignatureToUniqueName[methodSignature])}(args, params)`);
50
+ }
51
+ yield writer_1.DecIndentAndCloseBlock;
52
+ yield writer_1.DecIndentAndCloseBlock;
53
+ }
54
+ exports.callFactory = callFactory;
55
+ function* callFactoryMethod({ methodSignatureToUniqueName }, method) {
56
+ const methodSignature = algokit.getABIMethodSignature(method);
57
+ yield `static ${(0, sanitization_1.makeSafeMethodIdentifier)(methodSignatureToUniqueName[methodSignature])}(args: MethodArgs<'${methodSignature}'>, params: AppClientCallCoreParams & CoreAppCallArgs = {}) {`;
58
+ yield writer_1.IncIndent;
59
+ yield `return {`;
60
+ yield writer_1.IncIndent;
61
+ yield `method: '${methodSignature}' as const,`;
62
+ yield `methodArgs: Array.isArray(args) ? args : [${method.args
63
+ .map((a) => ((0, sanitization_1.isSafeVariableIdentifier)(a.name) ? `args.${a.name}` : `args['${(0, sanitization_1.makeSafePropertyIdentifier)(a.name)}']`))
64
+ .join(', ')}],`;
65
+ yield '...params,';
66
+ yield writer_1.DecIndent;
67
+ yield '}';
68
+ yield writer_1.DecIndent;
69
+ yield '}';
70
+ }
71
+ //# sourceMappingURL=call-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-factory.js","sourceRoot":"","sources":["../../src/client/call-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAAsG;AACtG,uDAAqH;AACrH,2EAA4D;AAG5D,QAAe,CAAC,CAAC,WAAW,CAAC,GAAqB;IAChD,MAAM,yBAAyB,GAAG,CAAC,IAAI,eAAe,CAAA;IACtD,MAAM,kBAAS,CAAA;IACf,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC7C,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;KACtC;IAED,MAAM,kBAAS,CAAA;IAEf,MAAM,GAAG,CAAA;IAET,MAAM,0EAA0E,GAAG,CAAC,IAAI,iBAAiB,CAAA;IACzG,MAAM,kBAAS,CAAA;IACf,MAAM,qBAAqB,CAAA;IAC3B,MAAM,kBAAS,CAAA;IACf,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAA;QAEnE,MAAM,SAAS,eAAe,IAAI,CAAA;QAClC,IAAI,UAAU,KAAK,eAAe,EAAE;YAClC,MAAM,SAAS,UAAU,IAAI,CAAA;SAC9B;QACD,KAAK,CAAC,CAAC,IAAA,eAAM,EACX,UAAU,GAAG,CAAC,IAAI,eAAe,IAAA,uCAAwB,EAAC,GAAG,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAC5H,CAAA;KACF;IACD,MAAM,+BAAsB,CAAA;IAC5B,MAAM,+BAAsB,CAAA;AAC9B,CAAC;AA7BD,kCA6BC;AAED,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,2BAA2B,EAAoB,EAAE,MAAsB;IACnG,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,UAAU,IAAA,uCAAwB,EACtC,2BAA2B,CAAC,eAAe,CAAC,CAC7C,sBAAsB,eAAe,+DAA+D,CAAA;IACrG,MAAM,kBAAS,CAAA;IACf,MAAM,UAAU,CAAA;IAChB,MAAM,kBAAS,CAAA;IACf,MAAM,YAAY,eAAe,aAAa,CAAA;IAC9C,MAAM,6CAA6C,MAAM,CAAC,IAAI;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,uCAAwB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,IAAA,yCAA0B,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACjB,MAAM,YAAY,CAAA;IAClB,MAAM,kBAAS,CAAA;IACf,MAAM,GAAG,CAAA;IACT,MAAM,kBAAS,CAAA;IACf,MAAM,GAAG,CAAA;AACX,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ import { MethodIdentifier } from './helpers/get-call-config-summary';
3
+ import { GeneratorContext } from './generator-context';
4
+ import { AlgoAppSpec } from '../schema/application';
5
+ export declare function getCreateOnCompleteOptions(method: MethodIdentifier, app: AlgoAppSpec): {
6
+ type: {};
7
+ isOptional: boolean;
8
+ };
9
+ export declare function deployTypes({ app, callConfig }: GeneratorContext): DocumentParts;
10
+ //# sourceMappingURL=deploy-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-types.d.ts","sourceRoot":"","sources":["../../src/client/deploy-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,aAAa,EAAsB,MAAM,kBAAkB,CAAA;AAEvG,OAAO,EAAa,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAc,MAAM,uBAAuB,CAAA;AAG/D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW;;;EAapF;AAED,wBAAiB,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAAG,aAAa,CAkDjF"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deployTypes = exports.getCreateOnCompleteOptions = void 0;
4
+ const writer_1 = require("../output/writer");
5
+ const sanitization_1 = require("../util/sanitization");
6
+ const get_call_config_summary_1 = require("./helpers/get-call-config-summary");
7
+ const utility_types_1 = require("./utility-types");
8
+ function getCreateOnCompleteOptions(method, app) {
9
+ var _a, _b;
10
+ const callConfig = method === get_call_config_summary_1.BARE_CALL ? app.bare_call_config : (_b = (_a = app.hints) === null || _a === void 0 ? void 0 : _a[method]) === null || _b === void 0 ? void 0 : _b.call_config;
11
+ const hasNoOp = (callConfig === null || callConfig === void 0 ? void 0 : callConfig.no_op) === 'ALL' || (callConfig === null || callConfig === void 0 ? void 0 : callConfig.no_op) === 'CREATE';
12
+ const onCompleteType = callConfig
13
+ ? `(${Object.entries(callConfig)
14
+ .filter(([_, value]) => value === 'ALL' || value === 'CREATE')
15
+ .map(([oc]) => utility_types_1.OnCompleteCodeMap[oc])
16
+ .join(' | ')})`
17
+ : {};
18
+ return {
19
+ type: onCompleteType,
20
+ isOptional: hasNoOp,
21
+ };
22
+ }
23
+ exports.getCreateOnCompleteOptions = getCreateOnCompleteOptions;
24
+ function* deployTypes({ app, callConfig }) {
25
+ const name = (0, sanitization_1.makeSafeTypeIdentifier)(app.contract.name);
26
+ if (callConfig.createMethods.length > 0) {
27
+ yield `export type ${name}CreateArgs =`;
28
+ yield writer_1.IncIndent;
29
+ for (const method of callConfig.createMethods) {
30
+ const onComplete = getCreateOnCompleteOptions(method, app);
31
+ if (method === get_call_config_summary_1.BARE_CALL) {
32
+ yield `| (BareCallArgs & CoreAppCallArgs & ${onComplete.type})`;
33
+ }
34
+ else {
35
+ yield `| ['${method}', MethodArgs<'${method}'>, (CoreAppCallArgs & ${onComplete.type})${onComplete.isOptional ? '?' : ''}]`;
36
+ }
37
+ }
38
+ yield writer_1.DecIndent;
39
+ }
40
+ if (callConfig.updateMethods.length > 0) {
41
+ yield `export type ${name}UpdateArgs =`;
42
+ yield writer_1.IncIndent;
43
+ for (const method of callConfig.updateMethods) {
44
+ if (method === get_call_config_summary_1.BARE_CALL) {
45
+ yield `| BareCallArgs & CoreAppCallArgs`;
46
+ }
47
+ else {
48
+ yield `| ['${method}', MethodArgs<'${method}'>, CoreAppCallArgs]`;
49
+ }
50
+ }
51
+ yield writer_1.DecIndent;
52
+ }
53
+ if (callConfig.deleteMethods.length > 0) {
54
+ yield `export type ${name}DeleteArgs =`;
55
+ yield writer_1.IncIndent;
56
+ for (const method of callConfig.deleteMethods) {
57
+ if (method === get_call_config_summary_1.BARE_CALL) {
58
+ yield `| BareCallArgs & CoreAppCallArgs`;
59
+ }
60
+ else {
61
+ yield `| ['${method}', MethodArgs<'${method}'>, CoreAppCallArgs]`;
62
+ }
63
+ }
64
+ yield writer_1.DecIndent;
65
+ }
66
+ yield `export type ${name}DeployArgs = {`;
67
+ yield writer_1.IncIndent;
68
+ yield `deployTimeParams?: TealTemplateParams`;
69
+ if (callConfig.createMethods.length)
70
+ yield `createArgs?: ${name}CreateArgs`;
71
+ if (callConfig.updateMethods.length)
72
+ yield `updateArgs?: ${name}UpdateArgs`;
73
+ if (callConfig.deleteMethods.length)
74
+ yield `deleteArgs?: ${name}DeleteArgs`;
75
+ yield writer_1.DecIndentAndCloseBlock;
76
+ yield writer_1.NewLine;
77
+ }
78
+ exports.deployTypes = deployTypes;
79
+ //# sourceMappingURL=deploy-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-types.js","sourceRoot":"","sources":["../../src/client/deploy-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ import { AlgoAppSpec } from '../schema/application';
3
+ export declare function generate(app: AlgoAppSpec): DocumentParts;
4
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/client/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AASnD,wBAAiB,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAwBzD"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generate = void 0;
4
+ const writer_1 = require("../output/writer");
5
+ const call_factory_1 = require("./call-factory");
6
+ const call_client_1 = require("./call-client");
7
+ const deploy_types_1 = require("./deploy-types");
8
+ const utility_types_1 = require("./utility-types");
9
+ const imports_1 = require("./imports");
10
+ const generator_context_1 = require("./generator-context");
11
+ const app_types_1 = require("./app-types");
12
+ function* generate(app) {
13
+ const ctx = (0, generator_context_1.createGeneratorContext)(app);
14
+ yield `/* eslint-disable */`;
15
+ yield `/**`;
16
+ yield ` * This file was automatically generated by algokit-client-generator.`;
17
+ yield ` * DO NOT MODIFY IT BY HAND.`;
18
+ yield ` */`;
19
+ yield* (0, imports_1.imports)();
20
+ yield* (0, writer_1.inline)('export const APP_SPEC: AppSpec = ', JSON.stringify(app, undefined, 2));
21
+ yield writer_1.NewLine;
22
+ yield* (0, utility_types_1.utilityTypes)();
23
+ yield writer_1.NewLine;
24
+ yield* (0, app_types_1.appTypes)(ctx);
25
+ //
26
+ // yield NewLine
27
+ yield* (0, deploy_types_1.deployTypes)(ctx);
28
+ // Write a call factory
29
+ yield* (0, call_factory_1.callFactory)(ctx);
30
+ yield writer_1.NewLine;
31
+ // Write a client
32
+ yield* (0, call_client_1.callClient)(ctx);
33
+ }
34
+ exports.generate = generate;
35
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/client/generate.ts"],"names":[],"mappings":";;;AAAA,6CAAiE;AAEjE,iDAA4C;AAC5C,+CAA0C;AAC1C,iDAA4C;AAC5C,mDAA8C;AAC9C,uCAAmC;AACnC,2DAA4D;AAC5D,2CAAsC;AAEtC,QAAe,CAAC,CAAC,QAAQ,CAAC,GAAgB;IACxC,MAAM,GAAG,GAAG,IAAA,0CAAsB,EAAC,GAAG,CAAC,CAAA;IACvC,MAAM,sBAAsB,CAAA;IAC5B,MAAM,KAAK,CAAA;IACX,MAAM,uEAAuE,CAAA;IAC7E,MAAM,8BAA8B,CAAA;IACpC,MAAM,KAAK,CAAA;IAEX,KAAK,CAAC,CAAC,IAAA,iBAAO,GAAE,CAAA;IAChB,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,gBAAO,CAAA;IAEb,KAAK,CAAC,CAAC,IAAA,4BAAY,GAAE,CAAA;IACrB,MAAM,gBAAO,CAAA;IACb,KAAK,CAAC,CAAC,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;IACpB,EAAE;IACF,gBAAgB;IAChB,KAAK,CAAC,CAAC,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAA;IAEvB,uBAAuB;IACvB,KAAK,CAAC,CAAC,IAAA,0BAAW,EAAC,GAAG,CAAC,CAAA;IACvB,MAAM,gBAAO,CAAA;IACb,iBAAiB;IACjB,KAAK,CAAC,CAAC,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAxBD,4BAwBC"}
@@ -0,0 +1,15 @@
1
+ import { AlgoAppSpec } from '../schema/application';
2
+ import { CallConfigSummary } from './helpers/get-call-config-summary';
3
+ export type GeneratorContext = {
4
+ app: AlgoAppSpec;
5
+ name: string;
6
+ callConfig: CallConfigSummary;
7
+ methodSignatureToUniqueName: Record<string, string>;
8
+ };
9
+ export declare const createGeneratorContext: (app: AlgoAppSpec) => {
10
+ app: AlgoAppSpec;
11
+ name: string;
12
+ callConfig: CallConfigSummary;
13
+ methodSignatureToUniqueName: Record<string, string>;
14
+ };
15
+ //# sourceMappingURL=generator-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-context.d.ts","sourceRoot":"","sources":["../../src/client/generator-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,mCAAmC,CAAA;AAI3F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,iBAAiB,CAAA;IAC7B,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,sBAAsB,QAAS,WAAW;;;;;CASrD,CAAA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createGeneratorContext = void 0;
27
+ const get_call_config_summary_1 = require("./helpers/get-call-config-summary");
28
+ const sanitization_1 = require("../util/sanitization");
29
+ const algokit = __importStar(require("@algorandfoundation/algokit-utils"));
30
+ const createGeneratorContext = (app) => ({
31
+ app,
32
+ name: (0, sanitization_1.makeSafeTypeIdentifier)(app.contract.name),
33
+ callConfig: (0, get_call_config_summary_1.getCallConfigSummary)(app),
34
+ methodSignatureToUniqueName: app.contract.methods.reduce((acc, cur) => {
35
+ const signature = algokit.getABIMethodSignature(cur);
36
+ acc[signature] = app.contract.methods.some((m) => m.name === cur.name && m !== cur) ? signature : cur.name;
37
+ return acc;
38
+ }, {}),
39
+ });
40
+ exports.createGeneratorContext = createGeneratorContext;
41
+ //# sourceMappingURL=generator-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator-context.js","sourceRoot":"","sources":["../../src/client/generator-context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+EAA2F;AAC3F,uDAA6D;AAC7D,2EAA4D;AASrD,MAAM,sBAAsB,GAAG,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC;IAC3D,GAAG;IACH,IAAI,EAAE,IAAA,qCAAsB,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC/C,UAAU,EAAE,IAAA,8CAAoB,EAAC,GAAG,CAAC;IACrC,2BAA2B,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;QACpD,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QAC1G,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAA4B,CAAC;CACjC,CAAC,CAAA;AATW,QAAA,sBAAsB,0BASjC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Given a method signature (eg. my_method(string,uint)void) will extract the
3
+ * method name (ie. my_method)
4
+ * @param methodSignature An ABI method signature
5
+ */
6
+ export declare function extractMethodNameFromSignature(methodSignature: string): string;
7
+ //# sourceMappingURL=extract-method-name-from-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-method-name-from-signature.d.ts","sourceRoot":"","sources":["../../../src/client/helpers/extract-method-name-from-signature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractMethodNameFromSignature = void 0;
4
+ /**
5
+ * Given a method signature (eg. my_method(string,uint)void) will extract the
6
+ * method name (ie. my_method)
7
+ * @param methodSignature An ABI method signature
8
+ */
9
+ function extractMethodNameFromSignature(methodSignature) {
10
+ return methodSignature.split('(')[0];
11
+ }
12
+ exports.extractMethodNameFromSignature = extractMethodNameFromSignature;
13
+ //# sourceMappingURL=extract-method-name-from-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-method-name-from-signature.js","sourceRoot":"","sources":["../../../src/client/helpers/extract-method-name-from-signature.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,8BAA8B,CAAC,eAAuB;IACpE,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC;AAFD,wEAEC"}
@@ -0,0 +1,15 @@
1
+ import { AlgoAppSpec } from '../../schema/application';
2
+ export declare const BARE_CALL: unique symbol;
3
+ export type MethodIdentifier = string | typeof BARE_CALL;
4
+ export type MethodList = Array<MethodIdentifier>;
5
+ export type CallConfigSummary = {
6
+ createMethods: MethodList;
7
+ callMethods: MethodList;
8
+ deleteMethods: MethodList;
9
+ updateMethods: MethodList;
10
+ optInMethods: MethodList;
11
+ closeOutMethods: MethodList;
12
+ };
13
+ export declare const getCallConfigSummary: (app: AlgoAppSpec) => CallConfigSummary;
14
+ export declare const getCreateOnComplete: (app: AlgoAppSpec, method: MethodIdentifier) => string;
15
+ //# sourceMappingURL=get-call-config-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-call-config-summary.d.ts","sourceRoot":"","sources":["../../../src/client/helpers/get-call-config-summary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA+B,MAAM,0BAA0B,CAAA;AAEnF,eAAO,MAAM,SAAS,eAAiB,CAAA;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,SAAS,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,UAAU,CAAA;IACzB,WAAW,EAAE,UAAU,CAAA;IACvB,aAAa,EAAE,UAAU,CAAA;IACzB,aAAa,EAAE,UAAU,CAAA;IACzB,YAAY,EAAE,UAAU,CAAA;IACxB,eAAe,EAAE,UAAU,CAAA;CAC5B,CAAA;AACD,eAAO,MAAM,oBAAoB,QAAS,WAAW,sBAoBpD,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,WAAW,UAAU,gBAAgB,WAO7E,CAAA"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCreateOnComplete = exports.getCallConfigSummary = exports.BARE_CALL = void 0;
4
+ const change_case_1 = require("change-case");
5
+ exports.BARE_CALL = Symbol('bare');
6
+ const getCallConfigSummary = (app) => {
7
+ const result = {
8
+ createMethods: [],
9
+ callMethods: [],
10
+ deleteMethods: [],
11
+ updateMethods: [],
12
+ optInMethods: [],
13
+ closeOutMethods: [],
14
+ };
15
+ if (app.bare_call_config) {
16
+ addToConfig(result, exports.BARE_CALL, app.bare_call_config);
17
+ }
18
+ if (app.hints) {
19
+ for (const [method, hints] of Object.entries(app.hints)) {
20
+ if (hints.call_config) {
21
+ addToConfig(result, method, hints.call_config);
22
+ }
23
+ }
24
+ }
25
+ return result;
26
+ };
27
+ exports.getCallConfigSummary = getCallConfigSummary;
28
+ const getCreateOnComplete = (app, method) => {
29
+ var _a, _b;
30
+ const callConfig = method === exports.BARE_CALL ? app.bare_call_config : (_b = (_a = app.hints) === null || _a === void 0 ? void 0 : _a[method]) === null || _b === void 0 ? void 0 : _b.call_config;
31
+ if (!callConfig) {
32
+ return '';
33
+ }
34
+ const hasNoOp = callConfig.no_op === 'ALL' || callConfig.no_op === 'CREATE';
35
+ return `{ onCompleteAction${hasNoOp ? '?' : ''}: ${getCreateOnCompleteTypes(callConfig)} }`;
36
+ };
37
+ exports.getCreateOnComplete = getCreateOnComplete;
38
+ const getCreateOnCompleteTypes = (config) => {
39
+ return Object.keys(config)
40
+ .map((oc) => oc)
41
+ .filter((oc) => config[oc] === 'ALL' || config[oc] === 'CREATE')
42
+ .map((oc) => `'${oc}' | OnApplicationComplete.${(0, change_case_1.pascalCase)(oc)}OC`)
43
+ .join(' | ');
44
+ };
45
+ const addToConfig = (result, method, config) => {
46
+ if (hasCall(config.no_op)) {
47
+ result.callMethods.push(method);
48
+ }
49
+ if (hasCreate(config.no_op) ||
50
+ hasCreate(config.opt_in) ||
51
+ hasCreate(config.close_out) ||
52
+ hasCreate(config.update_application) ||
53
+ hasCreate(config.delete_application)) {
54
+ result.createMethods.push(method);
55
+ }
56
+ if (hasCall(config.delete_application)) {
57
+ result.deleteMethods.push(method);
58
+ }
59
+ if (hasCall(config.update_application)) {
60
+ result.updateMethods.push(method);
61
+ }
62
+ if (hasCall(config.opt_in)) {
63
+ result.optInMethods.push(method);
64
+ }
65
+ if (hasCall(config.close_out)) {
66
+ result.closeOutMethods.push(method);
67
+ }
68
+ };
69
+ const hasCall = (config) => {
70
+ return config === 'CALL' || config === 'ALL';
71
+ };
72
+ const hasCreate = (config) => {
73
+ return config === 'CREATE' || config === 'ALL';
74
+ };
75
+ //# sourceMappingURL=get-call-config-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-call-config-summary.js","sourceRoot":"","sources":["../../../src/client/helpers/get-call-config-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AlgoAppSpec } from '../../schema/application';
2
+ export declare function getCreateMethods(app: AlgoAppSpec): [string, import("../../schema/application").Hint][] | undefined;
3
+ //# sourceMappingURL=get-create-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-methods.d.ts","sourceRoot":"","sources":["../../../src/client/helpers/get-create-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,mEAEhD"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCreateMethods = void 0;
4
+ function getCreateMethods(app) {
5
+ return app.hints && Object.entries(app.hints).filter(([_, { call_config }]) => (call_config === null || call_config === void 0 ? void 0 : call_config.no_op) === 'CREATE');
6
+ }
7
+ exports.getCreateMethods = getCreateMethods;
8
+ //# sourceMappingURL=get-create-methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-create-methods.js","sourceRoot":"","sources":["../../../src/client/helpers/get-create-methods.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,GAAgB;IAC/C,OAAO,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,MAAK,QAAQ,CAAC,CAAA;AACjH,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,2 @@
1
+ export declare function getEquivalentType(abiTypeStr: string, ioType: 'input' | 'output'): string;
2
+ //# sourceMappingURL=get-equivalent-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-equivalent-type.d.ts","sourceRoot":"","sources":["../../../src/client/helpers/get-equivalent-type.ts"],"names":[],"mappings":"AAaA,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAoDxF"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEquivalentType = void 0;
4
+ const algosdk_1 = require("algosdk");
5
+ function getEquivalentType(abiTypeStr, ioType) {
6
+ switch (abiTypeStr) {
7
+ case 'void':
8
+ return 'void';
9
+ case 'txn':
10
+ case 'pay':
11
+ case 'keyreg':
12
+ case 'acfg':
13
+ case 'axfer':
14
+ case 'afrz':
15
+ case 'appl':
16
+ case 'application':
17
+ return 'TransactionToSign | Transaction | Promise<SendTransactionResult>';
18
+ }
19
+ const abiType = algosdk_1.ABIType.from(abiTypeStr);
20
+ return abiTypeToTs(abiType, ioType);
21
+ function abiTypeToTs(abiType, ioType) {
22
+ if (abiType instanceof algosdk_1.ABIUintType) {
23
+ if (abiType.bitSize <= 51)
24
+ return 'number';
25
+ return ioType === 'input' ? 'bigint | number' : 'bigint';
26
+ }
27
+ if (abiType instanceof algosdk_1.ABIArrayDynamicType) {
28
+ if (abiType.childType instanceof algosdk_1.ABIByteType)
29
+ return 'Uint8Array';
30
+ return `${abiTypeToTs(abiType.childType, ioType)}[]`;
31
+ }
32
+ if (abiType instanceof algosdk_1.ABIArrayStaticType) {
33
+ if (abiType.childType instanceof algosdk_1.ABIByteType)
34
+ return 'Uint8Array';
35
+ return `[${new Array(abiType.staticLength).fill(abiTypeToTs(abiType.childType, ioType)).join(', ')}]`;
36
+ }
37
+ if (abiType instanceof algosdk_1.ABIAddressType) {
38
+ return 'string';
39
+ }
40
+ if (abiType instanceof algosdk_1.ABIBoolType) {
41
+ return 'boolean';
42
+ }
43
+ if (abiType instanceof algosdk_1.ABIUfixedType) {
44
+ return 'number';
45
+ }
46
+ if (abiType instanceof algosdk_1.ABITupleType) {
47
+ return `[${abiType.childTypes.map((c) => abiTypeToTs(c, ioType)).join(', ')}]`;
48
+ }
49
+ if (abiType instanceof algosdk_1.ABIByteType) {
50
+ return 'number';
51
+ }
52
+ if (abiType instanceof algosdk_1.ABIStringType) {
53
+ return 'string';
54
+ }
55
+ return 'unknown';
56
+ }
57
+ }
58
+ exports.getEquivalentType = getEquivalentType;
59
+ //# sourceMappingURL=get-equivalent-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-equivalent-type.js","sourceRoot":"","sources":["../../../src/client/helpers/get-equivalent-type.ts"],"names":[],"mappings":";;;AAAA,qCAWgB;AAEhB,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,MAA0B;IAC9E,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAA;QACf,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,kEAAkE,CAAA;KAC5E;IAED,MAAM,OAAO,GAAG,iBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAExC,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEnC,SAAS,WAAW,CAAC,OAAgB,EAAE,MAA0B;QAC/D,IAAI,OAAO,YAAY,qBAAW,EAAE;YAClC,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;gBAAE,OAAO,QAAQ,CAAA;YAC1C,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAA;SACzD;QACD,IAAI,OAAO,YAAY,6BAAmB,EAAE;YAC1C,IAAI,OAAO,CAAC,SAAS,YAAY,qBAAW;gBAAE,OAAO,YAAY,CAAA;YACjE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAA;SACrD;QACD,IAAI,OAAO,YAAY,4BAAkB,EAAE;YACzC,IAAI,OAAO,CAAC,SAAS,YAAY,qBAAW;gBAAE,OAAO,YAAY,CAAA;YACjE,OAAO,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;SACtG;QACD,IAAI,OAAO,YAAY,wBAAc,EAAE;YACrC,OAAO,QAAQ,CAAA;SAChB;QACD,IAAI,OAAO,YAAY,qBAAW,EAAE;YAClC,OAAO,SAAS,CAAA;SACjB;QACD,IAAI,OAAO,YAAY,uBAAa,EAAE;YACpC,OAAO,QAAQ,CAAA;SAChB;QACD,IAAI,OAAO,YAAY,sBAAY,EAAE;YACnC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;SAC/E;QACD,IAAI,OAAO,YAAY,qBAAW,EAAE;YAClC,OAAO,QAAQ,CAAA;SAChB;QACD,IAAI,OAAO,YAAY,uBAAa,EAAE;YACpC,OAAO,QAAQ,CAAA;SAChB;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AApDD,8CAoDC"}
@@ -0,0 +1,3 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ export declare function imports(): DocumentParts;
3
+ //# sourceMappingURL=imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/client/imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,wBAAiB,OAAO,IAAI,aAAa,CAqBxC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imports = void 0;
4
+ function* imports() {
5
+ yield `import * as algokit from '@algorandfoundation/algokit-utils'
6
+ import {
7
+ AppCallTransactionResult,
8
+ AppCallTransactionResultOfType,
9
+ CoreAppCallArgs,
10
+ RawAppCallArgs,
11
+ AppState,
12
+ TealTemplateParams,
13
+ } from '@algorandfoundation/algokit-utils/types/app'
14
+ import {
15
+ AppClientCallArgs,
16
+ AppClientCallCoreParams,
17
+ AppClientCompilationParams,
18
+ AppClientDeployCoreParams,
19
+ AppDetails,
20
+ ApplicationClient,
21
+ } from '@algorandfoundation/algokit-utils/types/app-client'
22
+ import { AppSpec } from '@algorandfoundation/algokit-utils/types/app-spec'
23
+ import { SendTransactionResult, TransactionToSign, SendTransactionFrom } from '@algorandfoundation/algokit-utils/types/transaction'
24
+ import { Algodv2, OnApplicationComplete, Transaction } from 'algosdk'`;
25
+ }
26
+ exports.imports = imports;
27
+ //# sourceMappingURL=imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/client/imports.ts"],"names":[],"mappings":";;;AAEA,QAAe,CAAC,CAAC,OAAO;IACtB,MAAM;;;;;;;;;;;;;;;;;;;sEAmB8D,CAAA;AACtE,CAAC;AArBD,0BAqBC"}
@@ -0,0 +1,4 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ import { AlgoAppSpec } from '../schema/application';
3
+ export declare function returnTypes(app: AlgoAppSpec): DocumentParts;
4
+ //# sourceMappingURL=return-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"return-types.d.ts","sourceRoot":"","sources":["../../src/client/return-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,aAAa,EAAa,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,wBAAiB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAc5D"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.returnTypes = void 0;
27
+ const algokit = __importStar(require("@algorandfoundation/algokit-utils"));
28
+ const writer_1 = require("../output/writer");
29
+ const sanitization_1 = require("../util/sanitization");
30
+ const get_equivalent_type_1 = require("./helpers/get-equivalent-type");
31
+ function* returnTypes(app) {
32
+ var _a, _b;
33
+ const appName = (0, sanitization_1.makeSafeTypeIdentifier)(app.contract.name);
34
+ yield `export type ${appName}ReturnTypes = {`;
35
+ yield writer_1.IncIndent;
36
+ for (const method of app.contract.methods) {
37
+ yield `'${algokit.getABIMethodSignature(method)}': ${(0, get_equivalent_type_1.getEquivalentType)((_a = method.returns.type) !== null && _a !== void 0 ? _a : 'void', 'output')}`;
38
+ yield `'${method.name}': ${(0, get_equivalent_type_1.getEquivalentType)((_b = method.returns.type) !== null && _b !== void 0 ? _b : 'void', 'output')}`;
39
+ }
40
+ yield writer_1.DecIndentAndCloseBlock;
41
+ yield `export type ${appName}ReturnTypeFor<TSignatureOrMethod> = TSignatureOrMethod extends keyof ${appName}ReturnTypes`;
42
+ yield writer_1.IncIndent;
43
+ yield `? ${appName}ReturnTypes[TSignatureOrMethod]`;
44
+ yield `: undefined`;
45
+ yield writer_1.DecIndent;
46
+ }
47
+ exports.returnTypes = returnTypes;
48
+ //# sourceMappingURL=return-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"return-types.js","sourceRoot":"","sources":["../../src/client/return-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA4D;AAC5D,6CAA8F;AAE9F,uDAA6D;AAC7D,uEAAiE;AAEjE,QAAe,CAAC,CAAC,WAAW,CAAC,GAAgB;;IAC3C,MAAM,OAAO,GAAG,IAAA,qCAAsB,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzD,MAAM,eAAe,OAAO,iBAAiB,CAAA;IAC7C,MAAM,kBAAS,CAAA;IACf,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;QACzC,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,IAAA,uCAAiB,EAAC,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,mCAAI,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAA;QACjH,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,IAAA,uCAAiB,EAAC,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,mCAAI,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAA;KACxF;IACD,MAAM,+BAAsB,CAAA;IAC5B,MAAM,eAAe,OAAO,wEAAwE,OAAO,aAAa,CAAA;IACxH,MAAM,kBAAS,CAAA;IACf,MAAM,KAAK,OAAO,iCAAiC,CAAA;IACnD,MAAM,aAAa,CAAA;IACnB,MAAM,kBAAS,CAAA;AACjB,CAAC;AAdD,kCAcC"}