@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,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const generate_1 = require("../client/generate");
9
+ const writer_1 = require("../output/writer");
10
+ const load_1 = require("../schema/load");
11
+ const writeActual = process.env.TEST_ENV !== 'ci';
12
+ const testContracts = ['helloworld', 'lifecycle', 'state', 'voting'];
13
+ describe('When generating a ts client for a the contract', () => {
14
+ test.each(testContracts)('%s approval', (contractName) => {
15
+ const dir = path_1.default.join(__dirname, `../../examples/${contractName}/`);
16
+ const spec = (0, load_1.load)(path_1.default.join(dir, `application.json`));
17
+ const result = (0, writer_1.writeDocumentPartsToString)((0, generate_1.generate)(spec));
18
+ if (writeActual)
19
+ fs_1.default.writeFileSync(path_1.default.join(dir, `client.generated.ts`), result);
20
+ const approvedClient = fs_1.default.readFileSync(path_1.default.join(dir, `client.ts`), 'utf-8');
21
+ expect(result).toBe(approvedClient);
22
+ });
23
+ });
24
+ //# sourceMappingURL=approval-tests.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval-tests.spec.js","sourceRoot":"","sources":["../../src/tests/approval-tests.spec.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,gDAAuB;AACvB,iDAA6C;AAC7C,6CAA6D;AAC7D,yCAAqC;AAErC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAA;AAEjD,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAA;AAE7E,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE;QACvD,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,YAAY,GAAG,CAAC,CAAA;QACnE,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAErD,MAAM,MAAM,GAAG,IAAA,mCAA0B,EAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAA;QACzD,IAAI,WAAW;YAAE,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAA;QAEhF,MAAM,cAAc,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;QAE5E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/util/boom.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const boom: (reason: string) => never;
2
+ //# sourceMappingURL=boom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boom.d.ts","sourceRoot":"","sources":["../../src/util/boom.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,WAAY,MAAM,KAAG,KAErC,CAAA"}
package/util/boom.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.boom = void 0;
4
+ const boom = (reason) => {
5
+ throw new Error(reason);
6
+ };
7
+ exports.boom = boom;
8
+ //# sourceMappingURL=boom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boom.js","sourceRoot":"","sources":["../../src/util/boom.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAAC,MAAc,EAAS,EAAE;IAC5C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC,CAAA;AAFY,QAAA,IAAI,QAEhB"}
@@ -0,0 +1,7 @@
1
+ export declare const colorConsole: {
2
+ info: (textParts: TemplateStringsArray, ...args: unknown[]) => void;
3
+ warn: (textParts: TemplateStringsArray, ...args: unknown[]) => void;
4
+ success: (textParts: TemplateStringsArray, ...args: unknown[]) => void;
5
+ error: (textParts: TemplateStringsArray, ...args: unknown[]) => void;
6
+ };
7
+ //# sourceMappingURL=color-console.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-console.d.ts","sourceRoot":"","sources":["../../src/util/color-console.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY;sBATX,oBAAoB,WAAW,OAAO,EAAE,KAAG,IAAI;sBAA/C,oBAAoB,WAAW,OAAO,EAAE,KAAG,IAAI;yBAA/C,oBAAoB,WAAW,OAAO,EAAE,KAAG,IAAI;uBAA/C,oBAAoB,WAAW,OAAO,EAAE,KAAG,IAAI;CAc5D,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.colorConsole = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const createColorFormatter = (textColor, argColor, consoleFn) => (textParts, ...args) => {
9
+ // eslint-disable-next-line no-console
10
+ console[consoleFn](textParts
11
+ .flatMap((t, i) => (args.length > i ? [textColor(t), argColor(`${args[i]}`)] : textColor(t)))
12
+ .reduce((acc, cur) => acc + cur, ''));
13
+ };
14
+ exports.colorConsole = {
15
+ info: createColorFormatter(chalk_1.default.cyan, chalk_1.default.blue, 'info'),
16
+ warn: createColorFormatter(chalk_1.default.yellow, chalk_1.default.yellow.bold, 'warn'),
17
+ success: createColorFormatter(chalk_1.default.green, chalk_1.default.green.bold, 'info'),
18
+ error: createColorFormatter(chalk_1.default.red, chalk_1.default.red.bold, 'error'),
19
+ };
20
+ //# sourceMappingURL=color-console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-console.js","sourceRoot":"","sources":["../../src/util/color-console.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAIzB,MAAM,oBAAoB,GACxB,CAAC,SAAkB,EAAE,QAAiB,EAAE,SAA4C,EAAE,EAAE,CACxF,CAAC,SAA+B,EAAE,GAAG,IAAe,EAAQ,EAAE;IAC5D,sCAAsC;IACtC,OAAO,CAAC,SAAS,CAAC,CAChB,SAAS;SACN,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5F,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CACvC,CAAA;AACH,CAAC,CAAA;AAEU,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,oBAAoB,CAAC,eAAK,CAAC,IAAI,EAAE,eAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1D,IAAI,EAAE,oBAAoB,CAAC,eAAK,CAAC,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IACnE,OAAO,EAAE,oBAAoB,CAAC,eAAK,CAAC,KAAK,EAAE,eAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACpE,KAAK,EAAE,oBAAoB,CAAC,eAAK,CAAC,GAAG,EAAE,eAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;CAChE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const notFalsy: <T>(value: T) => value is Exclude<T, false | "" | 0 | null | undefined>;
2
+ //# sourceMappingURL=not-falsy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-falsy.d.ts","sourceRoot":"","sources":["../../src/util/not-falsy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,yEAA0F,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notFalsy = void 0;
4
+ const notFalsy = (value) => Boolean(value);
5
+ exports.notFalsy = notFalsy;
6
+ //# sourceMappingURL=not-falsy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-falsy.js","sourceRoot":"","sources":["../../src/util/not-falsy.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAA0D,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAAlG,QAAA,QAAQ,YAA0F"}
@@ -0,0 +1,6 @@
1
+ export declare const makeSafeTypeIdentifier: (value: string) => string;
2
+ export declare const makeSafeMethodIdentifier: (value: string) => string;
3
+ export declare const isSafeVariableIdentifier: (value: string) => boolean;
4
+ export declare const makeSafeVariableIdentifier: (value: string) => string;
5
+ export declare const makeSafePropertyIdentifier: (value: string) => string;
6
+ //# sourceMappingURL=sanitization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../src/util/sanitization.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,UAAW,MAAM,WAAoD,CAAA;AACxG,eAAO,MAAM,wBAAwB,UAAW,MAAM,WAAmD,CAAA;AAEzG,eAAO,MAAM,wBAAwB,UAAW,MAAM,YAAwC,CAAA;AAE9F,eAAO,MAAM,0BAA0B,UAAW,MAAM,WAC2C,CAAA;AAInG,eAAO,MAAM,0BAA0B,UAAW,MAAM,WAA2E,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSafePropertyIdentifier = exports.makeSafeVariableIdentifier = exports.isSafeVariableIdentifier = exports.makeSafeMethodIdentifier = exports.makeSafeTypeIdentifier = void 0;
4
+ const change_case_1 = require("change-case");
5
+ const replaceInvalidWithUnderscore = (value) => value.replace(/[^a-z0-9_$]+/gi, '_');
6
+ const makeSafeTypeIdentifier = (value) => (0, change_case_1.pascalCase)(replaceInvalidWithUnderscore(value));
7
+ exports.makeSafeTypeIdentifier = makeSafeTypeIdentifier;
8
+ const makeSafeMethodIdentifier = (value) => (0, change_case_1.camelCase)(replaceInvalidWithUnderscore(value));
9
+ exports.makeSafeMethodIdentifier = makeSafeMethodIdentifier;
10
+ const isSafeVariableIdentifier = (value) => /^[a-z$_][a-z0-9_$]*$/i.test(value);
11
+ exports.isSafeVariableIdentifier = isSafeVariableIdentifier;
12
+ const makeSafeVariableIdentifier = (value) => (0, exports.isSafeVariableIdentifier)(value) ? value : (0, change_case_1.camelCase)(replaceInvalidWithUnderscore(value)) || 'arg';
13
+ exports.makeSafeVariableIdentifier = makeSafeVariableIdentifier;
14
+ const escapeQuotes = (value) => value.replace(/['"]/g, (val) => `\\${val}`);
15
+ const makeSafePropertyIdentifier = (value) => ((0, exports.isSafeVariableIdentifier)(value) ? value : `'${escapeQuotes(value)}'`);
16
+ exports.makeSafePropertyIdentifier = makeSafePropertyIdentifier;
17
+ //# sourceMappingURL=sanitization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../src/util/sanitization.ts"],"names":[],"mappings":";;;AAAA,6CAAmD;AAEnD,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;AAErF,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,wBAAU,EAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAA;AAA3F,QAAA,sBAAsB,0BAAqE;AACjG,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,uBAAS,EAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAA;AAA5F,QAAA,wBAAwB,4BAAoE;AAElG,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAAjF,QAAA,wBAAwB,4BAAyD;AAEvF,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAE,EAAE,CAC1D,IAAA,gCAAwB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,uBAAS,EAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAA;AADtF,QAAA,0BAA0B,8BAC4D;AAEnG,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;AAE5E,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAA,gCAAwB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAAtH,QAAA,0BAA0B,8BAA4F"}