@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
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # algokit-client-generator
package/bin/cli.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('../index')
package/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function cli(workingDirectory: string, args: string[]): void;
2
+ //# sourceMappingURL=cli.d.ts.map
package/cli.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAQA,wBAAgB,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAyC3D"}
package/cli.js ADDED
@@ -0,0 +1,82 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.cli = void 0;
30
+ const commander_1 = require("commander");
31
+ const load_1 = require("./schema/load");
32
+ const path = __importStar(require("path"));
33
+ const generate_1 = require("./client/generate");
34
+ const writer_1 = require("./output/writer");
35
+ const fs_1 = __importDefault(require("fs"));
36
+ const color_console_1 = require("./util/color-console");
37
+ function cli(workingDirectory, args) {
38
+ const program = new commander_1.Command();
39
+ program
40
+ .command('generate')
41
+ .description('Generates a TypeScript client for the given application.json file')
42
+ .requiredOption('-a --application <path>', 'Specifies the application.json file')
43
+ .requiredOption('-o --output <path>', 'Specifies the output file path')
44
+ .action(({ application, output }) => {
45
+ const resolvedAppJsonPath = path.resolve(workingDirectory, application);
46
+ const resolvedOutPath = path.resolve(workingDirectory, output);
47
+ const resolvedOutDir = path.dirname(resolvedOutPath);
48
+ color_console_1.colorConsole.info `Reading application.json file from path ${resolvedAppJsonPath}`;
49
+ const spec = (0, load_1.load)(resolvedAppJsonPath);
50
+ color_console_1.colorConsole.info `Generating TS client for ${spec.contract.name}`;
51
+ const parts = (0, generate_1.generate)(spec);
52
+ if (!fs_1.default.existsSync(resolvedOutDir)) {
53
+ color_console_1.colorConsole.warn `Output directory ${resolvedOutDir} does not exist and will be created.`;
54
+ fs_1.default.mkdirSync(resolvedOutDir, { recursive: true });
55
+ }
56
+ color_console_1.colorConsole.info `Writing TS client to ${resolvedOutPath}`;
57
+ const file = fs_1.default.createWriteStream(resolvedOutPath, {
58
+ flags: 'w',
59
+ });
60
+ (0, writer_1.writeDocumentPartsToStream)(parts, file);
61
+ color_console_1.colorConsole.success `Operation completed successfully`;
62
+ })
63
+ .configureOutput({
64
+ writeErr(str) {
65
+ color_console_1.colorConsole.error `${str}`;
66
+ },
67
+ });
68
+ try {
69
+ program.parse(args);
70
+ }
71
+ catch (err) {
72
+ if (err instanceof Error) {
73
+ color_console_1.colorConsole.error `Unhandled error: \n\n${err.stack}`;
74
+ }
75
+ else {
76
+ color_console_1.colorConsole.error `Unhandled error: \n\n${err}`;
77
+ }
78
+ process.exit(-1);
79
+ }
80
+ }
81
+ exports.cli = cli;
82
+ //# sourceMappingURL=cli.js.map
package/cli.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,wCAAoC;AACpC,2CAA4B;AAC5B,gDAA4C;AAC5C,4CAA4D;AAC5D,4CAAmB;AACnB,wDAAmD;AAEnD,SAAgB,GAAG,CAAC,gBAAwB,EAAE,IAAc;IAC1D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;IAC7B,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,mEAAmE,CAAC;SAChF,cAAc,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;SAChF,cAAc,CAAC,oBAAoB,EAAE,gCAAgC,CAAC;SACtE,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAA2C,EAAQ,EAAE;QACjF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACpD,4BAAY,CAAC,IAAI,CAAA,2CAA2C,mBAAmB,EAAE,CAAA;QACjF,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,mBAAmB,CAAC,CAAA;QACtC,4BAAY,CAAC,IAAI,CAAA,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACjE,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAClC,4BAAY,CAAC,IAAI,CAAA,oBAAoB,cAAc,sCAAsC,CAAA;YACzF,YAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;SAClD;QACD,4BAAY,CAAC,IAAI,CAAA,wBAAwB,eAAe,EAAE,CAAA;QAC1D,MAAM,IAAI,GAAG,YAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE;YACjD,KAAK,EAAE,GAAG;SACX,CAAC,CAAA;QACF,IAAA,mCAA0B,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACvC,4BAAY,CAAC,OAAO,CAAA,kCAAkC,CAAA;IACxD,CAAC,CAAC;SACD,eAAe,CAAC;QACf,QAAQ,CAAC,GAAW;YAClB,4BAAY,CAAC,KAAK,CAAA,GAAG,GAAG,EAAE,CAAA;QAC5B,CAAC;KACF,CAAC,CAAA;IACJ,IAAI;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACpB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,4BAAY,CAAC,KAAK,CAAA,wBAAwB,GAAG,CAAC,KAAK,EAAE,CAAA;SACtD;aAAM;YACL,4BAAY,CAAC,KAAK,CAAA,wBAAwB,GAAG,EAAE,CAAA;SAChD;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;KACjB;AACH,CAAC;AAzCD,kBAyCC"}
@@ -0,0 +1,4 @@
1
+ import { GeneratorContext } from './generator-context';
2
+ import { DocumentParts } from '../output/writer';
3
+ export declare function appTypes(ctx: GeneratorContext): DocumentParts;
4
+ //# sourceMappingURL=app-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-types.d.ts","sourceRoot":"","sources":["../../src/client/app-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAqC,aAAa,EAA8B,MAAM,kBAAkB,CAAA;AAK/G,wBAAiB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CA4C9D"}
@@ -0,0 +1,135 @@
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.appTypes = void 0;
27
+ const writer_1 = require("../output/writer");
28
+ const algokit = __importStar(require("@algorandfoundation/algokit-utils"));
29
+ const get_equivalent_type_1 = require("./helpers/get-equivalent-type");
30
+ const sanitization_1 = require("../util/sanitization");
31
+ function* appTypes(ctx) {
32
+ var _a, _b, _c, _d;
33
+ const { app, methodSignatureToUniqueName, name } = ctx;
34
+ yield `export type ${name} = {`;
35
+ yield writer_1.IncIndent;
36
+ yield 'methods:';
37
+ yield writer_1.IncIndent;
38
+ for (const method of app.contract.methods) {
39
+ const methodSig = algokit.getABIMethodSignature(method);
40
+ const uniqueName = methodSignatureToUniqueName[methodSig];
41
+ yield `& Record<'${methodSig}'${methodSig !== uniqueName ? ` | '${uniqueName}'` : ''}, {`;
42
+ yield writer_1.IncIndent;
43
+ yield `argsObj: {`;
44
+ yield writer_1.IncIndent;
45
+ for (const arg of method.args) {
46
+ yield `${(0, sanitization_1.makeSafePropertyIdentifier)(arg.name)}: ${(0, get_equivalent_type_1.getEquivalentType)(arg.type, 'input')}`;
47
+ }
48
+ yield writer_1.DecIndentAndCloseBlock;
49
+ yield* (0, writer_1.inline)(`argsTuple: [`, method.args.map((t) => `${(0, sanitization_1.makeSafeVariableIdentifier)(t.name)}: ${(0, get_equivalent_type_1.getEquivalentType)(t.type, 'input')}`).join(', '), ']');
50
+ const outputStruct = (_c = (_b = (_a = ctx.app.hints) === null || _a === void 0 ? void 0 : _a[methodSig]) === null || _b === void 0 ? void 0 : _b.structs) === null || _c === void 0 ? void 0 : _c.output;
51
+ if (outputStruct) {
52
+ yield `returns: ${(0, sanitization_1.makeSafeTypeIdentifier)(outputStruct.name)}`;
53
+ }
54
+ else {
55
+ yield `returns: ${(0, get_equivalent_type_1.getEquivalentType)((_d = method.returns.type) !== null && _d !== void 0 ? _d : 'void', 'output')}`;
56
+ }
57
+ yield writer_1.DecIndent;
58
+ yield '}>';
59
+ }
60
+ yield writer_1.DecIndent;
61
+ yield* appState(ctx);
62
+ yield writer_1.DecIndentAndCloseBlock;
63
+ yield* structs(ctx);
64
+ yield `export type IntegerState = { asBigInt(): bigint, asNumber(): number }`;
65
+ yield `export type BinaryState = { asByteArray(): Uint8Array, asString(): string }`;
66
+ yield `export type MethodArgs<TSignature extends keyof ${name}['methods']> = ${name}['methods'][TSignature]['argsObj' | 'argsTuple']`;
67
+ yield `export type MethodReturn<TSignature extends keyof ${name}['methods']> = ${name}['methods'][TSignature]['returns']`;
68
+ yield `type MapperArgs<TSignature extends keyof ${name}['methods']> = TSignature extends any ? [signature: TSignature, args: MethodArgs<TSignature>, params: AppClientCallCoreParams & CoreAppCallArgs ] : never`;
69
+ yield writer_1.NewLine;
70
+ }
71
+ exports.appTypes = appTypes;
72
+ function* structs({ app }) {
73
+ if (app.hints === undefined)
74
+ return;
75
+ for (const methodHint of Object.values(app.hints)) {
76
+ if (methodHint.structs === undefined)
77
+ continue;
78
+ for (const struct of Object.values(methodHint.structs)) {
79
+ yield `export type ${(0, sanitization_1.makeSafeTypeIdentifier)(struct.name)} = {`;
80
+ yield writer_1.IncIndent;
81
+ for (const [key, type] of struct.elements) {
82
+ yield `${(0, sanitization_1.makeSafePropertyIdentifier)(key)}: ${(0, get_equivalent_type_1.getEquivalentType)(type, 'output')}`;
83
+ }
84
+ yield writer_1.DecIndentAndCloseBlock;
85
+ yield* (0, writer_1.inline)(`export function ${(0, sanitization_1.makeSafeTypeIdentifier)(struct.name)}(`, `[${struct.elements.map(([key]) => (0, sanitization_1.makeSafeVariableIdentifier)(key)).join(', ')}]: `, `[${struct.elements.map(([_, type]) => (0, get_equivalent_type_1.getEquivalentType)(type, 'output')).join(', ')}] ) {`);
86
+ yield writer_1.IncIndent;
87
+ yield `return {`;
88
+ yield writer_1.IncIndent;
89
+ for (const [key] of struct.elements) {
90
+ const prop = (0, sanitization_1.makeSafePropertyIdentifier)(key);
91
+ const param = (0, sanitization_1.makeSafeVariableIdentifier)(key);
92
+ yield `${prop}${prop !== param ? `: ${param}` : ''},`;
93
+ }
94
+ yield writer_1.DecIndentAndCloseBlock;
95
+ yield writer_1.DecIndentAndCloseBlock;
96
+ }
97
+ }
98
+ }
99
+ function* appState({ app }) {
100
+ var _a, _b;
101
+ const hasLocal = ((_a = app.schema.local) === null || _a === void 0 ? void 0 : _a.declared) && Object.keys(app.schema.local.declared).length;
102
+ const hasGlobal = ((_b = app.schema.global) === null || _b === void 0 ? void 0 : _b.declared) && Object.keys(app.schema.global.declared).length;
103
+ if (hasLocal || hasGlobal) {
104
+ yield 'state: {';
105
+ yield writer_1.IncIndent;
106
+ if (hasGlobal) {
107
+ yield 'global: {';
108
+ yield writer_1.IncIndent;
109
+ for (const prop of Object.values(app.schema.global.declared)) {
110
+ if (prop.descr) {
111
+ yield '/**';
112
+ yield ` * ${prop.descr}`;
113
+ yield ' */';
114
+ }
115
+ yield `'${prop.key}'?: ${prop.type === 'uint64' ? 'IntegerState' : 'BinaryState'}`;
116
+ }
117
+ yield writer_1.DecIndentAndCloseBlock;
118
+ }
119
+ if (hasLocal) {
120
+ yield 'local: {';
121
+ yield writer_1.IncIndent;
122
+ for (const prop of Object.values(app.schema.local.declared)) {
123
+ if (prop.descr) {
124
+ yield '/**';
125
+ yield ` * ${prop.descr}`;
126
+ yield ' */';
127
+ }
128
+ yield `'${prop.key}'?: ${prop.type === 'uint64' ? 'IntegerState' : 'BinaryState'}`;
129
+ }
130
+ yield writer_1.DecIndentAndCloseBlock;
131
+ }
132
+ yield writer_1.DecIndentAndCloseBlock;
133
+ }
134
+ }
135
+ //# sourceMappingURL=app-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-types.js","sourceRoot":"","sources":["../../src/client/app-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ import { GeneratorContext } from './generator-context';
3
+ export declare function callClient(ctx: GeneratorContext): DocumentParts;
4
+ //# sourceMappingURL=call-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-client.d.ts","sourceRoot":"","sources":["../../src/client/call-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,aAAa,EAAsC,MAAM,kBAAkB,CAAA;AAGvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,wBAAiB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CA2DhE"}
@@ -0,0 +1,278 @@
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.callClient = 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_call_config_summary_1 = require("./helpers/get-call-config-summary");
31
+ const deploy_types_1 = require("./deploy-types");
32
+ function* callClient(ctx) {
33
+ const { app, name } = ctx;
34
+ yield `/** A client to make calls to the ${app.contract.name} smart contract */`;
35
+ yield `export class ${(0, sanitization_1.makeSafeTypeIdentifier)(app.contract.name)}Client {`;
36
+ yield writer_1.IncIndent;
37
+ yield '/** The underlying `ApplicationClient` for when you want to have more flexibility */';
38
+ yield 'public readonly appClient: ApplicationClient';
39
+ yield writer_1.NewLine;
40
+ yield '/**';
41
+ yield ` * Creates a new instance of \`${(0, sanitization_1.makeSafeTypeIdentifier)(app.contract.name)}Client\``;
42
+ yield ' * @param appDetails The details to identify the app to deploy';
43
+ yield ' * @param algod An algod client instance';
44
+ yield ' */';
45
+ yield `constructor(appDetails: AppDetails, algod: Algodv2) {`;
46
+ yield writer_1.IncIndent;
47
+ yield 'this.appClient = algokit.getAppClient({';
48
+ yield* (0, writer_1.indent)('...appDetails,', 'app: APP_SPEC');
49
+ yield '}, algod)';
50
+ yield writer_1.DecIndent;
51
+ yield '}';
52
+ yield writer_1.NewLine;
53
+ yield* (0, writer_1.inline)(`protected async mapReturnValue<TReturn>`, `(resultPromise: Promise<AppCallTransactionResult> | AppCallTransactionResult, returnValueFormatter?: (value: any) => TReturn): `, `Promise<AppCallTransactionResultOfType<TReturn>> {`);
54
+ yield writer_1.IncIndent;
55
+ yield `const result = await resultPromise`;
56
+ yield `if(result.return?.decodeError) {`;
57
+ yield* (0, writer_1.indent)(`throw result.return.decodeError`);
58
+ yield `}`;
59
+ yield `const returnValue = result.return?.returnValue !== undefined && returnValueFormatter !== undefined`;
60
+ yield writer_1.IncIndent;
61
+ yield `? returnValueFormatter(result.return.returnValue)`;
62
+ yield `: result.return?.returnValue as TReturn | undefined`;
63
+ yield `return { ...result, return: returnValue }`;
64
+ yield writer_1.DecIndent;
65
+ yield writer_1.DecIndentAndCloseBlock;
66
+ yield writer_1.NewLine;
67
+ yield `/**`;
68
+ yield ` * Calls the ABI method with the matching signature using an onCompletion code of NO_OP`;
69
+ yield ` * @param request A request object containing the method signature, args, and any other relevant properties`;
70
+ yield ` * @param returnValueFormatter An optional delegate which when provided will be used to map non-undefined return values to the target type`;
71
+ yield ` */`;
72
+ yield `public call<TSignature extends keyof ${name}['methods']>(request: CallRequest<TSignature, any>, returnValueFormatter?: (value: any) => MethodReturn<TSignature>) {`;
73
+ yield writer_1.IncIndent;
74
+ yield `return this.mapReturnValue<MethodReturn<TSignature>>(this.appClient.call(request), returnValueFormatter)`;
75
+ yield writer_1.DecIndentAndCloseBlock;
76
+ yield writer_1.NewLine;
77
+ yield* deployMethods(ctx);
78
+ yield* clearState(ctx);
79
+ yield* clientCallMethods(ctx);
80
+ yield* getStateMethods(ctx);
81
+ yield writer_1.DecIndentAndCloseBlock;
82
+ }
83
+ exports.callClient = callClient;
84
+ function* deployMethods(ctx) {
85
+ const { app, callConfig, name } = ctx;
86
+ yield `/**`;
87
+ yield ` * Idempotently deploys the ${app.contract.name} smart contract.`;
88
+ yield ` * @param params The arguments for the contract calls and any additional parameters for the call`;
89
+ yield ` * @returns The deployment result`;
90
+ yield ` */`;
91
+ yield `public deploy(params: ${name}DeployArgs & AppClientDeployCoreParams = {}) {`;
92
+ yield writer_1.IncIndent;
93
+ yield `return this.appClient.deploy({`;
94
+ yield writer_1.IncIndent;
95
+ yield `...params,`;
96
+ if (callConfig.createMethods.length) {
97
+ yield `createArgs: Array.isArray(params.createArgs) ? mapBySignature(...params.createArgs as [any, any, any]): params.createArgs,`;
98
+ yield `createOnCompleteAction: Array.isArray(params.createArgs) ? params.createArgs[2]?.onCompleteAction : ${callConfig.createMethods.find((m) => m === get_call_config_summary_1.BARE_CALL) ? `params.createArgs?.onCompleteAction` : `undefined`},`;
99
+ }
100
+ if (callConfig.deleteMethods.length)
101
+ yield `deleteArgs: Array.isArray(params.deleteArgs) ? mapBySignature(...params.deleteArgs as [any, any, any]): params.deleteArgs,`;
102
+ if (callConfig.updateMethods.length)
103
+ yield `updateArgs: Array.isArray(params.updateArgs) ? mapBySignature(...params.updateArgs as [any, any, any]): params.updateArgs,`;
104
+ yield writer_1.DecIndent;
105
+ yield `})`;
106
+ yield writer_1.DecIndentAndCloseBlock;
107
+ yield writer_1.NewLine;
108
+ yield* overloadedMethod(ctx, `Creates a new instance of the ${app.contract.name} smart contract`, callConfig.createMethods, 'create', true);
109
+ yield* overloadedMethod(ctx, `Updates an existing instance of the ${app.contract.name} smart contract`, callConfig.updateMethods, 'update', true);
110
+ yield* overloadedMethod(ctx, `Deletes an existing instance of the ${app.contract.name} smart contract`, callConfig.deleteMethods, 'delete');
111
+ yield* overloadedMethod(ctx, `Opts the user into an existing instance of the ${app.contract.name} smart contract`, callConfig.optInMethods, 'optIn');
112
+ yield* overloadedMethod(ctx, `Makes a close out call to an existing instance of the ${app.contract.name} smart contract`, callConfig.closeOutMethods, 'closeOut');
113
+ }
114
+ function* overloadedMethod({ app, methodSignatureToUniqueName }, description, methods, verb, includeCompilation) {
115
+ if (methods.length) {
116
+ for (const methodSig of methods) {
117
+ const onComplete = verb === 'create' ? (0, deploy_types_1.getCreateOnCompleteOptions)(methodSig, app) : undefined;
118
+ if (methodSig === get_call_config_summary_1.BARE_CALL) {
119
+ yield `/**`;
120
+ yield ` * ${description} using a bare call.`;
121
+ yield ` * @param args The arguments for the bare call`;
122
+ yield ` * @returns The ${verb} result`;
123
+ yield ` */`;
124
+ yield `public ${verb}(args: BareCallArgs & AppClientCallCoreParams ${includeCompilation ? '& AppClientCompilationParams ' : ''}& CoreAppCallArgs${(onComplete === null || onComplete === void 0 ? void 0 : onComplete.type) ? ` & ${onComplete.type}` : ''}): Promise<AppCallTransactionResultOfType<undefined>>;`;
125
+ }
126
+ else {
127
+ const uniqueName = methodSignatureToUniqueName[methodSig];
128
+ yield `/**`;
129
+ yield ` * ${description} using the ${methodSig} ABI method.`;
130
+ yield ` * @param method The ABI method to use`;
131
+ yield ` * @param args The arguments for the contract call`;
132
+ yield ` * @param params Any additional parameters for the call`;
133
+ yield ` * @returns The ${verb} result`;
134
+ yield ` */`;
135
+ yield `public ${verb}(method: '${methodSig}'${methodSig === uniqueName ? '' : ` | '${uniqueName}'`}, args: MethodArgs<'${methodSig}'>, params?: AppClientCallCoreParams ${includeCompilation ? '& AppClientCompilationParams ' : ''}${(onComplete === null || onComplete === void 0 ? void 0 : onComplete.type) ? ` & ${onComplete.type}` : ''}): Promise<AppCallTransactionResultOfType<MethodReturn<'${methodSig}'>>>;`;
136
+ }
137
+ }
138
+ yield `public ${verb}(...args: any[]): Promise<AppCallTransactionResultOfType<unknown>> {`;
139
+ yield writer_1.IncIndent;
140
+ yield `if(typeof args[0] !== 'string') {`;
141
+ yield* (0, writer_1.indent)(`return this.appClient.${verb}({...args[0], })`);
142
+ yield '} else {';
143
+ yield* (0, writer_1.indent)(`return this.mapReturnValue(this.appClient.${verb}({ ...mapBySignature(args[0] as any, args[1], args[2]), }))`);
144
+ yield '}';
145
+ yield writer_1.DecIndentAndCloseBlock;
146
+ yield writer_1.NewLine;
147
+ }
148
+ }
149
+ function* clearState({ app }) {
150
+ yield `/**`;
151
+ yield ` * Makes a clear_state call to an existing instance of the ${app.contract.name} smart contract.`;
152
+ yield ` * @param args The arguments for the contract call`;
153
+ yield ` * @param params Any additional parameters for the call`;
154
+ yield ` * @returns The clear_state result`;
155
+ yield ` */`;
156
+ yield `public clearState(args: BareCallArgs, params?: AppClientCallCoreParams & CoreAppCallArgs) {`;
157
+ yield writer_1.IncIndent;
158
+ yield `return this.appClient.clearState({ ...args, ...params, })`;
159
+ yield writer_1.DecIndentAndCloseBlock;
160
+ yield writer_1.NewLine;
161
+ }
162
+ function* clientCallMethods({ app, name, callConfig, methodSignatureToUniqueName }) {
163
+ var _a, _b, _c, _d;
164
+ for (const method of app.contract.methods) {
165
+ const methodSignature = algokit.getABIMethodSignature(method);
166
+ const methodName = (0, sanitization_1.makeSafeMethodIdentifier)(methodSignatureToUniqueName[methodSignature]);
167
+ // Skip methods which don't support a no_op call config
168
+ if (!callConfig.callMethods.includes(methodSignature))
169
+ continue;
170
+ yield `/**`;
171
+ if (method.desc) {
172
+ yield ` * ${method.desc}`;
173
+ yield ` *`;
174
+ }
175
+ yield ` * Calls the ${algokit.getABIMethodSignature(method)} ABI method.`;
176
+ yield ` *`;
177
+ yield ` * @param args The arguments for the ABI method`;
178
+ yield ` * @param params Any additional parameters for the call`;
179
+ yield ` * @returns The result of the call`;
180
+ yield ` */`;
181
+ yield `public ${methodName}(args: MethodArgs<'${methodSignature}'>, params?: AppClientCallCoreParams & CoreAppCallArgs) {`;
182
+ yield writer_1.IncIndent;
183
+ const outputTypeName = (_d = (_c = (_b = (_a = app.hints) === null || _a === void 0 ? void 0 : _a[methodSignature]) === null || _b === void 0 ? void 0 : _b.structs) === null || _c === void 0 ? void 0 : _c.output) === null || _d === void 0 ? void 0 : _d.name;
184
+ yield `return this.call(${name}CallFactory.${methodName}(args, params)${outputTypeName === undefined ? '' : `, ${(0, sanitization_1.makeSafeTypeIdentifier)(outputTypeName)}`})`;
185
+ yield writer_1.DecIndent;
186
+ yield '}';
187
+ yield writer_1.NewLine;
188
+ }
189
+ }
190
+ function* getStateMethods({ app, name }) {
191
+ var _a, _b, _c, _d;
192
+ const globalStateValues = ((_a = app.schema.global) === null || _a === void 0 ? void 0 : _a.declared) && Object.values((_b = app.schema.global) === null || _b === void 0 ? void 0 : _b.declared);
193
+ const localStateValues = ((_c = app.schema.local) === null || _c === void 0 ? void 0 : _c.declared) && Object.values((_d = app.schema.local) === null || _d === void 0 ? void 0 : _d.declared);
194
+ if ((globalStateValues === null || globalStateValues === void 0 ? void 0 : globalStateValues.length) || (localStateValues === null || localStateValues === void 0 ? void 0 : localStateValues.length)) {
195
+ yield `private static getBinaryState(state: AppState, key: string): BinaryState | undefined {`;
196
+ yield writer_1.IncIndent;
197
+ yield `const value = state[key]`;
198
+ yield `if (!value) return undefined`;
199
+ yield `if (!('valueRaw' in value))`;
200
+ yield* (0, writer_1.indent)(`throw new Error(\`Failed to parse state value for \${key}; received an int when expected a byte array\`)`);
201
+ yield `return {`;
202
+ yield writer_1.IncIndent;
203
+ yield `asString(): string {`;
204
+ yield* (0, writer_1.indent)(`return value.value`);
205
+ yield `},`;
206
+ yield `asByteArray(): Uint8Array {`;
207
+ yield* (0, writer_1.indent)(`return value.valueRaw`);
208
+ yield `}`;
209
+ yield writer_1.DecIndentAndCloseBlock;
210
+ yield writer_1.DecIndentAndCloseBlock;
211
+ yield writer_1.NewLine;
212
+ yield `private static getIntegerState(state: AppState, key: string): IntegerState | undefined {`;
213
+ yield writer_1.IncIndent;
214
+ yield `const value = state[key]`;
215
+ yield `if (!value) return undefined`;
216
+ yield `if ('valueRaw' in value)`;
217
+ yield* (0, writer_1.indent)(`throw new Error(\`Failed to parse state value for \${key}; received a byte array when expected a number\`)`);
218
+ yield `return {`;
219
+ yield writer_1.IncIndent;
220
+ yield `asBigInt() {`;
221
+ yield* (0, writer_1.indent)(`return typeof value.value === 'bigint' ? value.value : BigInt(value.value)`);
222
+ yield `},`;
223
+ yield `asNumber(): number {`;
224
+ yield* (0, writer_1.indent)(`return typeof value.value === 'bigint' ? Number(value.value) : value.value`);
225
+ yield `},`;
226
+ yield writer_1.DecIndentAndCloseBlock;
227
+ yield writer_1.DecIndentAndCloseBlock;
228
+ yield writer_1.NewLine;
229
+ }
230
+ if (globalStateValues === null || globalStateValues === void 0 ? void 0 : globalStateValues.length) {
231
+ yield `/**`;
232
+ yield ` * Returns the application's global state wrapped in a strongly typed accessor with options to format the stored value`;
233
+ yield ` */`;
234
+ yield `public async getGlobalState(): Promise<${name}['state']['global']> {`;
235
+ yield writer_1.IncIndent;
236
+ yield `const state = await this.appClient.getGlobalState()`;
237
+ yield `return {`;
238
+ yield writer_1.IncIndent;
239
+ for (const stateValue of globalStateValues) {
240
+ yield `get ${stateValue.key}() {`;
241
+ if (stateValue.type === 'uint64') {
242
+ yield* (0, writer_1.indent)(`return ${name}Client.getIntegerState(state, '${stateValue.key}')`);
243
+ }
244
+ else {
245
+ yield* (0, writer_1.indent)(`return ${name}Client.getBinaryState(state, '${stateValue.key}')`);
246
+ }
247
+ yield '},';
248
+ }
249
+ yield writer_1.DecIndentAndCloseBlock;
250
+ yield writer_1.DecIndentAndCloseBlock;
251
+ yield writer_1.NewLine;
252
+ }
253
+ if (localStateValues === null || localStateValues === void 0 ? void 0 : localStateValues.length) {
254
+ yield `/**`;
255
+ yield ` * Returns the application's local state for a given account wrapped in a strongly typed accessor with options to format the stored value`;
256
+ yield ` * @param account The address of the account for which to read local state from.`;
257
+ yield ` */`;
258
+ yield `public async getLocalState(account: string | SendTransactionFrom): Promise<${name}['state']['local']> {`;
259
+ yield writer_1.IncIndent;
260
+ yield `const state = await this.appClient.getLocalState(account)`;
261
+ yield `return {`;
262
+ yield writer_1.IncIndent;
263
+ for (const stateValue of localStateValues) {
264
+ yield `get ${stateValue.key}() {`;
265
+ if (stateValue.type === 'uint64') {
266
+ yield* (0, writer_1.indent)(`return ${name}Client.getIntegerState(state, '${stateValue.key}')`);
267
+ }
268
+ else {
269
+ yield* (0, writer_1.indent)(`return ${name}Client.getBinaryState(state, '${stateValue.key}')`);
270
+ }
271
+ yield '},';
272
+ }
273
+ yield writer_1.DecIndentAndCloseBlock;
274
+ yield writer_1.DecIndentAndCloseBlock;
275
+ yield writer_1.NewLine;
276
+ }
277
+ }
278
+ //# sourceMappingURL=call-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-client.js","sourceRoot":"","sources":["../../src/client/call-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA4D;AAC5D,6CAAuH;AACvH,uDAAuF;AACvF,+EAAyE;AAEzE,iDAA2D;AAE3D,QAAe,CAAC,CAAC,UAAU,CAAC,GAAqB;IAC/C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;IAEzB,MAAM,qCAAqC,GAAG,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAA;IAChF,MAAM,gBAAgB,IAAA,qCAAsB,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAA;IACzE,MAAM,kBAAS,CAAA;IACf,MAAM,sFAAsF,CAAA;IAC5F,MAAM,8CAA8C,CAAA;IACpD,MAAM,gBAAO,CAAA;IACb,MAAM,KAAK,CAAA;IACX,MAAM,kCAAkC,IAAA,qCAAsB,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAA;IAC3F,MAAM,gEAAgE,CAAA;IACtE,MAAM,0CAA0C,CAAA;IAChD,MAAM,KAAK,CAAA;IACX,MAAM,uDAAuD,CAAA;IAC7D,MAAM,kBAAS,CAAA;IACf,MAAM,yCAAyC,CAAA;IAC/C,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;IAChD,MAAM,WAAW,CAAA;IACjB,MAAM,kBAAS,CAAA;IACf,MAAM,GAAG,CAAA;IACT,MAAM,gBAAO,CAAA;IAEb,KAAK,CAAC,CAAC,IAAA,eAAM,EACX,yCAAyC,EACzC,iIAAiI,EACjI,oDAAoD,CACrD,CAAA;IACD,MAAM,kBAAS,CAAA;IACf,MAAM,oCAAoC,CAAA;IAC1C,MAAM,kCAAkC,CAAA;IACxC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,iCAAiC,CAAC,CAAA;IAChD,MAAM,GAAG,CAAA;IACT,MAAM,oGAAoG,CAAA;IAC1G,MAAM,kBAAS,CAAA;IACf,MAAM,mDAAmD,CAAA;IACzD,MAAM,qDAAqD,CAAA;IAC3D,MAAM,2CAA2C,CAAA;IACjD,MAAM,kBAAS,CAAA;IACf,MAAM,+BAAsB,CAAA;IAC5B,MAAM,gBAAO,CAAA;IAEb,MAAM,KAAK,CAAA;IACX,MAAM,yFAAyF,CAAA;IAC/F,MAAM,6GAA6G,CAAA;IACnH,MAAM,4IAA4I,CAAA;IAClJ,MAAM,KAAK,CAAA;IACX,MAAM,wCAAwC,IAAI,wHAAwH,CAAA;IAC1K,MAAM,kBAAS,CAAA;IACf,MAAM,0GAA0G,CAAA;IAChH,MAAM,+BAAsB,CAAA;IAC5B,MAAM,gBAAO,CAAA;IAEb,KAAK,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACtB,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAE3B,MAAM,+BAAsB,CAAA;AAC9B,CAAC;AA3DD,gCA2DC;AAED,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAqB;IAC3C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;IACrC,MAAM,KAAK,CAAA;IACX,MAAM,+BAA+B,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAA;IACxE,MAAM,kGAAkG,CAAA;IACxG,MAAM,mCAAmC,CAAA;IACzC,MAAM,KAAK,CAAA;IACX,MAAM,yBAAyB,IAAI,gDAAgD,CAAA;IACnF,MAAM,kBAAS,CAAA;IACf,MAAM,gCAAgC,CAAA;IACtC,MAAM,kBAAS,CAAA;IACf,MAAM,YAAY,CAAA;IAClB,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE;QACnC,MAAM,4HAA4H,CAAA;QAClI,MAAM,uGACJ,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mCAAS,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,WAClG,GAAG,CAAA;KACJ;IACD,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM;QACjC,MAAM,4HAA4H,CAAA;IACpI,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM;QACjC,MAAM,4HAA4H,CAAA;IACpI,MAAM,kBAAS,CAAA;IACf,MAAM,IAAI,CAAA;IACV,MAAM,+BAAsB,CAAA;IAC5B,MAAM,gBAAO,CAAA;IACb,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAG,EACH,iCAAiC,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EACnE,UAAU,CAAC,aAAa,EACxB,QAAQ,EACR,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAG,EACH,uCAAuC,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EACzE,UAAU,CAAC,aAAa,EACxB,QAAQ,EACR,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAG,EACH,uCAAuC,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EACzE,UAAU,CAAC,aAAa,EACxB,QAAQ,CACT,CAAA;IACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAG,EACH,kDAAkD,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EACpF,UAAU,CAAC,YAAY,EACvB,OAAO,CACR,CAAA;IACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,GAAG,EACH,yDAAyD,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAC3F,UAAU,CAAC,eAAe,EAC1B,UAAU,CACX,CAAA;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,gBAAgB,CACxB,EAAE,GAAG,EAAE,2BAA2B,EAAoB,EACtD,WAAmB,EACnB,OAAmB,EACnB,IAA2D,EAC3D,kBAA4B;IAE5B,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,yCAA0B,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC7F,IAAI,SAAS,KAAK,mCAAS,EAAE;gBAC3B,MAAM,KAAK,CAAA;gBACX,MAAM,MAAM,WAAW,qBAAqB,CAAA;gBAC5C,MAAM,gDAAgD,CAAA;gBACtD,MAAM,mBAAmB,IAAI,SAAS,CAAA;gBACtC,MAAM,KAAK,CAAA;gBACX,MAAM,UAAU,IAAI,iDAClB,kBAAkB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EACzD,oBAAoB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,wDAAwD,CAAA;aAC5H;iBAAM;gBACL,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAA;gBACzD,MAAM,KAAK,CAAA;gBACX,MAAM,MAAM,WAAW,cAAc,SAAS,cAAc,CAAA;gBAC5D,MAAM,wCAAwC,CAAA;gBAC9C,MAAM,oDAAoD,CAAA;gBAC1D,MAAM,yDAAyD,CAAA;gBAC/D,MAAM,mBAAmB,IAAI,SAAS,CAAA;gBACtC,MAAM,KAAK,CAAA;gBACX,MAAM,UAAU,IAAI,aAAa,SAAS,IACxC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,UAAU,GACnD,uBAAuB,SAAS,wCAAwC,kBAAkB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,GAC/H,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAC/C,2DAA2D,SAAS,OAAO,CAAA;aAC5E;SACF;QACD,MAAM,UAAU,IAAI,sEAAsE,CAAA;QAC1F,MAAM,kBAAS,CAAA;QACf,MAAM,mCAAmC,CAAA;QACzC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,yBAAyB,IAAI,kBAAkB,CAAC,CAAA;QAC9D,MAAM,UAAU,CAAA;QAChB,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,6CAA6C,IAAI,6DAA6D,CAAC,CAAA;QAC7H,MAAM,GAAG,CAAA;QACT,MAAM,+BAAsB,CAAA;QAC5B,MAAM,gBAAO,CAAA;KACd;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAoB;IAC5C,MAAM,KAAK,CAAA;IACX,MAAM,8DAA8D,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAA;IACvG,MAAM,oDAAoD,CAAA;IAC1D,MAAM,yDAAyD,CAAA;IAC/D,MAAM,oCAAoC,CAAA;IAC1C,MAAM,KAAK,CAAA;IACX,MAAM,6FAA6F,CAAA;IACnG,MAAM,kBAAS,CAAA;IACf,MAAM,2DAA2D,CAAA;IACjE,MAAM,+BAAsB,CAAA;IAC5B,MAAM,gBAAO,CAAA;AACf,CAAC;AAED,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,2BAA2B,EAAoB;;IAClG,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE;QACzC,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,IAAA,uCAAwB,EAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAA;QACzF,uDAAuD;QACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,SAAQ;QAC/D,MAAM,KAAK,CAAA;QACX,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACzB,MAAM,IAAI,CAAA;SACX;QACD,MAAM,gBAAgB,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAA;QACzE,MAAM,IAAI,CAAA;QACV,MAAM,iDAAiD,CAAA;QACvD,MAAM,yDAAyD,CAAA;QAC/D,MAAM,oCAAoC,CAAA;QAC1C,MAAM,KAAK,CAAA;QACX,MAAM,UAAU,UAAU,sBAAsB,eAAe,2DAA2D,CAAA;QAC1H,MAAM,kBAAS,CAAA;QACf,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,MAAA,GAAG,CAAC,KAAK,0CAAG,eAAe,CAAC,0CAAE,OAAO,0CAAE,MAAM,0CAAE,IAAI,CAAA;QAC1E,MAAM,oBAAoB,IAAI,eAAe,UAAU,iBACrD,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAA,qCAAsB,EAAC,cAAc,CAAC,EACjF,GAAG,CAAA;QACH,MAAM,kBAAS,CAAA;QACf,MAAM,GAAG,CAAA;QACT,MAAM,gBAAO,CAAA;KACd;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,EAAoB;;IACvD,MAAM,iBAAiB,GAAG,CAAA,MAAA,GAAG,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,KAAI,MAAM,CAAC,MAAM,CAAC,MAAA,GAAG,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,CAAC,CAAA;IACnG,MAAM,gBAAgB,GAAG,CAAA,MAAA,GAAG,CAAC,MAAM,CAAC,KAAK,0CAAE,QAAQ,KAAI,MAAM,CAAC,MAAM,CAAC,MAAA,GAAG,CAAC,MAAM,CAAC,KAAK,0CAAE,QAAQ,CAAC,CAAA;IAChG,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,MAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE;QACzD,MAAM,wFAAwF,CAAA;QAC9F,MAAM,kBAAS,CAAA;QACf,MAAM,0BAA0B,CAAA;QAChC,MAAM,8BAA8B,CAAA;QACpC,MAAM,6BAA6B,CAAA;QACnC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,0GAA0G,CAAC,CAAA;QACzH,MAAM,UAAU,CAAA;QAChB,MAAM,kBAAS,CAAA;QACf,MAAM,sBAAsB,CAAA;QAC5B,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,oBAAoB,CAAC,CAAA;QACnC,MAAM,IAAI,CAAA;QACV,MAAM,6BAA6B,CAAA;QACnC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;QACtC,MAAM,GAAG,CAAA;QACT,MAAM,+BAAsB,CAAA;QAC5B,MAAM,+BAAsB,CAAA;QAC5B,MAAM,gBAAO,CAAA;QAEb,MAAM,0FAA0F,CAAA;QAChG,MAAM,kBAAS,CAAA;QACf,MAAM,0BAA0B,CAAA;QAChC,MAAM,8BAA8B,CAAA;QACpC,MAAM,0BAA0B,CAAA;QAChC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,4GAA4G,CAAC,CAAA;QAC3H,MAAM,UAAU,CAAA;QAChB,MAAM,kBAAS,CAAA;QACf,MAAM,cAAc,CAAA;QACpB,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,4EAA4E,CAAC,CAAA;QAC3F,MAAM,IAAI,CAAA;QACV,MAAM,sBAAsB,CAAA;QAC5B,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,4EAA4E,CAAC,CAAA;QAC3F,MAAM,IAAI,CAAA;QACV,MAAM,+BAAsB,CAAA;QAC5B,MAAM,+BAAsB,CAAA;QAC5B,MAAM,gBAAO,CAAA;KACd;IAED,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,EAAE;QAC7B,MAAM,KAAK,CAAA;QACX,MAAM,wHAAwH,CAAA;QAC9H,MAAM,KAAK,CAAA;QACX,MAAM,0CAA0C,IAAI,wBAAwB,CAAA;QAC5E,MAAM,kBAAS,CAAA;QACf,MAAM,qDAAqD,CAAA;QAC3D,MAAM,UAAU,CAAA;QAChB,MAAM,kBAAS,CAAA;QACf,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE;YAC1C,MAAM,OAAO,UAAU,CAAC,GAAG,MAAM,CAAA;YACjC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,UAAU,IAAI,kCAAkC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;aAClF;iBAAM;gBACL,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,UAAU,IAAI,iCAAiC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;aACjF;YACD,MAAM,IAAI,CAAA;SACX;QACD,MAAM,+BAAsB,CAAA;QAC5B,MAAM,+BAAsB,CAAA;QAC5B,MAAM,gBAAO,CAAA;KACd;IAED,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE;QAC5B,MAAM,KAAK,CAAA;QACX,MAAM,2IAA2I,CAAA;QACjJ,MAAM,kFAAkF,CAAA;QACxF,MAAM,KAAK,CAAA;QACX,MAAM,8EAA8E,IAAI,uBAAuB,CAAA;QAC/G,MAAM,kBAAS,CAAA;QACf,MAAM,2DAA2D,CAAA;QACjE,MAAM,UAAU,CAAA;QAChB,MAAM,kBAAS,CAAA;QACf,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;YACzC,MAAM,OAAO,UAAU,CAAC,GAAG,MAAM,CAAA;YACjC,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,UAAU,IAAI,kCAAkC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;aAClF;iBAAM;gBACL,KAAK,CAAC,CAAC,IAAA,eAAM,EAAC,UAAU,IAAI,iCAAiC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;aACjF;YACD,MAAM,IAAI,CAAA;SACX;QACD,MAAM,+BAAsB,CAAA;QAC5B,MAAM,+BAAsB,CAAA;QAC5B,MAAM,gBAAO,CAAA;KACd;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { DocumentParts } from '../output/writer';
2
+ import { GeneratorContext } from './generator-context';
3
+ export declare function callFactory(ctx: GeneratorContext): DocumentParts;
4
+ //# sourceMappingURL=call-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-factory.d.ts","sourceRoot":"","sources":["../../src/client/call-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,aAAa,EAAqB,MAAM,kBAAkB,CAAA;AAGtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,wBAAiB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CA6BjE"}