@cdktn/hcl-tools 0.23.0-pre.4 → 0.23.0-pre.41

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAkFA,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ // Copyright (c) HashiCorp, Inc
3
+ // SPDX-License-Identifier: MPL-2.0
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.format = format;
39
+ /// <reference lib="dom" />
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path_1 = require("path");
42
+ const zlib_1 = require("zlib");
43
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
44
+ const jsRoot = {};
45
+ function sleep() {
46
+ return new Promise((resolve) => {
47
+ setTimeout(resolve, 0);
48
+ });
49
+ }
50
+ function goBridge(getBytes) {
51
+ let ready = false;
52
+ async function init() {
53
+ // After: https://github.com/golang/go/commit/680caf15355057ca84857a2a291b6f5c44e73329
54
+ // Go 1.19+ has a different entrypoint
55
+ await Promise.resolve().then(() => __importStar(require(`../wasm/bridge_wasm_exec.js`)));
56
+ const go = new global.Go();
57
+ const bytes = await getBytes;
58
+ const result = await WebAssembly.instantiate(bytes, go.importObject);
59
+ global.__hcl_helpers_config_wasm__ = jsRoot;
60
+ void go.run(result.instance);
61
+ ready = true;
62
+ }
63
+ init().catch((error) => {
64
+ throw error;
65
+ });
66
+ const proxy = new Proxy({}, {
67
+ get: (_, key) => {
68
+ return async (...args) => {
69
+ while (!ready) {
70
+ await sleep();
71
+ }
72
+ if (!(key in jsRoot)) {
73
+ throw new Error(`There is nothing defined with the name "${key.toString()}"`);
74
+ }
75
+ if (typeof jsRoot[key] !== "function") {
76
+ return jsRoot[key];
77
+ }
78
+ return new Promise((resolve, reject) => {
79
+ const cb = (err, ...msg) =>
80
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
81
+ // @ts-ignore
82
+ err ? reject(new Error(err)) : resolve(...msg);
83
+ const run = () => {
84
+ jsRoot[key].apply(undefined, [...args, cb]);
85
+ };
86
+ run();
87
+ });
88
+ };
89
+ },
90
+ });
91
+ return proxy;
92
+ }
93
+ const loadWasm = async () => {
94
+ return (0, zlib_1.gunzipSync)(await fs.readFile((0, path_1.join)(__dirname, "..", "main.wasm.gz")));
95
+ };
96
+ const wasm = goBridge(loadWasm());
97
+ async function format(contents) {
98
+ const res = await wasm.format(contents);
99
+ return res;
100
+ }
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpRm5DLHdCQUdDO0FBbEZELDJCQUEyQjtBQUMzQiw2Q0FBK0I7QUFDL0IsK0JBQTRCO0FBQzVCLCtCQUFrQztBQU1sQyxzRUFBc0U7QUFDdEUsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztBQUU1QyxTQUFTLEtBQUs7SUFDWixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDN0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxRQUF5QjtJQUN6QyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFbEIsS0FBSyxVQUFVLElBQUk7UUFDakIsc0ZBQXNGO1FBQ3RGLHNDQUFzQztRQUN0Qyx3REFBYSw2QkFBNkIsR0FBQyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUssTUFBYyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQWMsQ0FBQywyQkFBMkIsR0FBRyxNQUFNLENBQUM7UUFDckQsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3JCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFjLEVBQUU7UUFDdEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZCxNQUFNLEtBQUssRUFBRSxDQUFDO2dCQUNoQixDQUFDO2dCQUVELElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNyQixNQUFNLElBQUksS0FBSyxDQUNiLDJDQUEyQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDN0QsQ0FBQztnQkFDSixDQUFDO2dCQUVELElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixDQUFDO2dCQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQUcsR0FBYSxFQUFFLEVBQUU7b0JBQzNDLDZEQUE2RDtvQkFDN0QsYUFBYTtvQkFDYixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFFakQsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFO3dCQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDOUMsQ0FBQyxDQUFDO29CQUVGLEdBQUcsRUFBRSxDQUFDO2dCQUNSLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzFCLE9BQU8sSUFBQSxpQkFBVSxFQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUUzQixLQUFLLFVBQVUsTUFBTSxDQUFDLFFBQWdCO0lBQzNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG4vLy8gPHJlZmVyZW5jZSBsaWI9XCJkb21cIiAvPlxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGd1bnppcFN5bmMgfSBmcm9tIFwiemxpYlwiO1xuXG5pbnRlcmZhY2UgR29CcmlkZ2Uge1xuICBmb3JtYXQ6IChoY2w6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG5jb25zdCBqc1Jvb3Q6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPiA9IHt9O1xuXG5mdW5jdGlvbiBzbGVlcCgpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCAwKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdvQnJpZGdlKGdldEJ5dGVzOiBQcm9taXNlPEJ1ZmZlcj4pIHtcbiAgbGV0IHJlYWR5ID0gZmFsc2U7XG5cbiAgYXN5bmMgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAvLyBBZnRlcjogaHR0cHM6Ly9naXRodWIuY29tL2dvbGFuZy9nby9jb21taXQvNjgwY2FmMTUzNTUwNTdjYTg0ODU3YTJhMjkxYjZmNWM0NGU3MzMyOVxuICAgIC8vIEdvIDEuMTkrIGhhcyBhIGRpZmZlcmVudCBlbnRyeXBvaW50XG4gICAgYXdhaXQgaW1wb3J0KGAuLi93YXNtL2JyaWRnZV93YXNtX2V4ZWMuanNgKTtcbiAgICBjb25zdCBnbyA9IG5ldyAoZ2xvYmFsIGFzIGFueSkuR28oKTtcbiAgICBjb25zdCBieXRlcyA9IGF3YWl0IGdldEJ5dGVzO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ5dGVzLCBnby5pbXBvcnRPYmplY3QpO1xuICAgIChnbG9iYWwgYXMgYW55KS5fX2hjbF9oZWxwZXJzX2NvbmZpZ193YXNtX18gPSBqc1Jvb3Q7XG4gICAgdm9pZCBnby5ydW4ocmVzdWx0Lmluc3RhbmNlKTtcbiAgICByZWFkeSA9IHRydWU7XG4gIH1cblxuICBpbml0KCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0pO1xuXG4gIGNvbnN0IHByb3h5ID0gbmV3IFByb3h5KHt9IGFzIEdvQnJpZGdlLCB7XG4gICAgZ2V0OiAoXywga2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBhc3luYyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgICAgIHdoaWxlICghcmVhZHkpIHtcbiAgICAgICAgICBhd2FpdCBzbGVlcCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEoa2V5IGluIGpzUm9vdCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVGhlcmUgaXMgbm90aGluZyBkZWZpbmVkIHdpdGggdGhlIG5hbWUgXCIke2tleS50b1N0cmluZygpfVwiYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBqc1Jvb3Rba2V5XSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIGpzUm9vdFtrZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCBjYiA9IChlcnI6IHN0cmluZywgLi4ubXNnOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGVyciA/IHJlamVjdChuZXcgRXJyb3IoZXJyKSkgOiByZXNvbHZlKC4uLm1zZyk7XG5cbiAgICAgICAgICBjb25zdCBydW4gPSAoKSA9PiB7XG4gICAgICAgICAgICBqc1Jvb3Rba2V5XS5hcHBseSh1bmRlZmluZWQsIFsuLi5hcmdzLCBjYl0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBydW4oKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiBwcm94eTtcbn1cblxuY29uc3QgbG9hZFdhc20gPSBhc3luYyAoKSA9PiB7XG4gIHJldHVybiBndW56aXBTeW5jKGF3YWl0IGZzLnJlYWRGaWxlKGpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwibWFpbi53YXNtLmd6XCIpKSk7XG59O1xuXG5jb25zdCB3YXNtID0gZ29CcmlkZ2UobG9hZFdhc20oKSk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmb3JtYXQoY29udGVudHM6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IHdhc20uZm9ybWF0KGNvbnRlbnRzKTtcbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -7,4 +7,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.format = void 0;
8
8
  var bridge_1 = require("./bridge");
9
9
  Object.defineProperty(exports, "format", { enumerable: true, get: function () { return bridge_1.format; } });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCxtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5leHBvcnQgeyBmb3JtYXQgfSBmcm9tIFwiLi9icmlkZ2VcIjtcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUgsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuZXhwb3J0IHsgZm9ybWF0IH0gZnJvbSBcIi4vYnJpZGdlXCI7XG4iXX0=
package/main.wasm.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdktn/hcl-tools",
3
- "version": "0.23.0-pre.4",
3
+ "version": "0.23.0-pre.41",
4
4
  "description": "Interact with HCL helper libraries for output of HCL configuration",
5
5
  "keywords": [
6
6
  "cdk",
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "homepage": "https://github.com/open-constructs/cdk-terrain",
17
17
  "license": "MPL-2.0",
18
- "main": "src/index.js",
19
- "types": "src/index.d.ts",
18
+ "main": "build/index.js",
19
+ "types": "build/index.d.ts",
20
20
  "scripts": {
21
21
  "build": "tsc && ./build-go.sh",
22
22
  "watch": "tsc -w",
@@ -45,10 +45,10 @@
45
45
  "fs-extra": "^11.3.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/jest": "29.5.14",
48
+ "@types/jest": "30.0.0",
49
49
  "@types/node": "20.17.51",
50
- "jest": "^29.7.0",
51
- "ts-jest": "29.2.5",
50
+ "jest": "^30.3.0",
51
+ "ts-jest": "29.4.9",
52
52
  "typescript": "^5.7.3"
53
53
  }
54
54
  }
package/wasm/wasm_exec.js CHANGED
@@ -14,13 +14,13 @@
14
14
  if (!globalThis.fs) {
15
15
  let outputBuf = "";
16
16
  globalThis.fs = {
17
- constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 }, // unused
17
+ constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1, O_DIRECTORY: -1 }, // unused
18
18
  writeSync(fd, buf) {
19
19
  outputBuf += decoder.decode(buf);
20
20
  const nl = outputBuf.lastIndexOf("\n");
21
21
  if (nl != -1) {
22
- console.log(outputBuf.substr(0, nl));
23
- outputBuf = outputBuf.substr(nl + 1);
22
+ console.log(outputBuf.substring(0, nl));
23
+ outputBuf = outputBuf.substring(nl + 1);
24
24
  }
25
25
  return buf.length;
26
26
  },
@@ -73,6 +73,14 @@
73
73
  }
74
74
  }
75
75
 
76
+ if (!globalThis.path) {
77
+ globalThis.path = {
78
+ resolve(...pathSegments) {
79
+ return pathSegments.join("/");
80
+ }
81
+ }
82
+ }
83
+
76
84
  if (!globalThis.crypto) {
77
85
  throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");
78
86
  }
@@ -113,6 +121,10 @@
113
121
  this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);
114
122
  }
115
123
 
124
+ const setInt32 = (addr, v) => {
125
+ this.mem.setUint32(addr + 0, v, true);
126
+ }
127
+
116
128
  const getInt64 = (addr) => {
117
129
  const low = this.mem.getUint32(addr + 0, true);
118
130
  const high = this.mem.getInt32(addr + 4, true);
@@ -204,9 +216,18 @@
204
216
  return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));
205
217
  }
206
218
 
219
+ const testCallExport = (a, b) => {
220
+ this._inst.exports.testExport0();
221
+ return this._inst.exports.testExport(a, b);
222
+ }
223
+
207
224
  const timeOrigin = Date.now() - performance.now();
208
225
  this.importObject = {
209
- go: {
226
+ _gotest: {
227
+ add: (a, b) => a + b,
228
+ callExport: testCallExport,
229
+ },
230
+ gojs: {
210
231
  // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)
211
232
  // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported
212
233
  // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).
@@ -269,7 +290,7 @@
269
290
  this._resume();
270
291
  }
271
292
  },
272
- getInt64(sp + 8) + 1, // setTimeout has been seen to fire up to 1 millisecond early
293
+ getInt64(sp + 8),
273
294
  ));
274
295
  this.mem.setInt32(sp + 16, id, true);
275
296
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["bridge.ts"],"names":[],"mappings":"AAkFA,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D"}
package/src/bridge.js DELETED
@@ -1,102 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.format = format;
37
- // Copyright (c) HashiCorp, Inc
38
- // SPDX-License-Identifier: MPL-2.0
39
- // eslint-disable-next-line @typescript-eslint/triple-slash-reference
40
- /// <reference lib="dom" />
41
- const fs = __importStar(require("fs-extra"));
42
- const path_1 = require("path");
43
- const zlib_1 = require("zlib");
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
45
- const jsRoot = {};
46
- function sleep() {
47
- return new Promise((resolve) => {
48
- setTimeout(resolve, 0);
49
- });
50
- }
51
- function goBridge(getBytes) {
52
- let ready = false;
53
- async function init() {
54
- // After: https://github.com/golang/go/commit/680caf15355057ca84857a2a291b6f5c44e73329
55
- // Go 1.19+ has a different entrypoint
56
- await Promise.resolve().then(() => __importStar(require(`../wasm/bridge_wasm_exec.js`)));
57
- const go = new global.Go();
58
- const bytes = await getBytes;
59
- const result = await WebAssembly.instantiate(bytes, go.importObject);
60
- global.__hcl_helpers_config_wasm__ = jsRoot;
61
- void go.run(result.instance);
62
- ready = true;
63
- }
64
- init().catch((error) => {
65
- throw error;
66
- });
67
- const proxy = new Proxy({}, {
68
- get: (_, key) => {
69
- return async (...args) => {
70
- while (!ready) {
71
- await sleep();
72
- }
73
- if (!(key in jsRoot)) {
74
- throw new Error(`There is nothing defined with the name "${key.toString()}"`);
75
- }
76
- if (typeof jsRoot[key] !== "function") {
77
- return jsRoot[key];
78
- }
79
- return new Promise((resolve, reject) => {
80
- const cb = (err, ...msg) =>
81
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
82
- // @ts-ignore
83
- err ? reject(new Error(err)) : resolve(...msg);
84
- const run = () => {
85
- jsRoot[key].apply(undefined, [...args, cb]);
86
- };
87
- run();
88
- });
89
- };
90
- },
91
- });
92
- return proxy;
93
- }
94
- const loadWasm = async () => {
95
- return (0, zlib_1.gunzipSync)(await fs.readFile((0, path_1.join)(__dirname, "..", "main.wasm.gz")));
96
- };
97
- const wasm = goBridge(loadWasm());
98
- async function format(contents) {
99
- const res = await wasm.format(contents);
100
- return res;
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0ZBLHdCQUdDO0FBckZELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMscUVBQXFFO0FBQ3JFLDJCQUEyQjtBQUMzQiw2Q0FBK0I7QUFDL0IsK0JBQTRCO0FBQzVCLCtCQUFrQztBQU1sQyxzRUFBc0U7QUFDdEUsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztBQUU1QyxTQUFTLEtBQUs7SUFDWixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDN0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxRQUF5QjtJQUN6QyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFbEIsS0FBSyxVQUFVLElBQUk7UUFDakIsc0ZBQXNGO1FBQ3RGLHNDQUFzQztRQUN0Qyx3REFBYSw2QkFBNkIsR0FBQyxDQUFDO1FBQzVDLE1BQU0sRUFBRSxHQUFHLElBQUssTUFBYyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQWMsQ0FBQywyQkFBMkIsR0FBRyxNQUFNLENBQUM7UUFDckQsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3JCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFjLEVBQUU7UUFDdEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZCxNQUFNLEtBQUssRUFBRSxDQUFDO2dCQUNoQixDQUFDO2dCQUVELElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNyQixNQUFNLElBQUksS0FBSyxDQUNiLDJDQUEyQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDN0QsQ0FBQztnQkFDSixDQUFDO2dCQUVELElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixDQUFDO2dCQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQUcsR0FBYSxFQUFFLEVBQUU7b0JBQzNDLDZEQUE2RDtvQkFDN0QsYUFBYTtvQkFDYixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFFakQsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFO3dCQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDOUMsQ0FBQyxDQUFDO29CQUVGLEdBQUcsRUFBRSxDQUFDO2dCQUNSLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzFCLE9BQU8sSUFBQSxpQkFBVSxFQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUUzQixLQUFLLFVBQVUsTUFBTSxDQUFDLFFBQWdCO0lBQzNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC90cmlwbGUtc2xhc2gtcmVmZXJlbmNlXG4vLy8gPHJlZmVyZW5jZSBsaWI9XCJkb21cIiAvPlxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGd1bnppcFN5bmMgfSBmcm9tIFwiemxpYlwiO1xuXG5pbnRlcmZhY2UgR29CcmlkZ2Uge1xuICBmb3JtYXQ6IChoY2w6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG5jb25zdCBqc1Jvb3Q6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPiA9IHt9O1xuXG5mdW5jdGlvbiBzbGVlcCgpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCAwKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdvQnJpZGdlKGdldEJ5dGVzOiBQcm9taXNlPEJ1ZmZlcj4pIHtcbiAgbGV0IHJlYWR5ID0gZmFsc2U7XG5cbiAgYXN5bmMgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAvLyBBZnRlcjogaHR0cHM6Ly9naXRodWIuY29tL2dvbGFuZy9nby9jb21taXQvNjgwY2FmMTUzNTUwNTdjYTg0ODU3YTJhMjkxYjZmNWM0NGU3MzMyOVxuICAgIC8vIEdvIDEuMTkrIGhhcyBhIGRpZmZlcmVudCBlbnRyeXBvaW50XG4gICAgYXdhaXQgaW1wb3J0KGAuLi93YXNtL2JyaWRnZV93YXNtX2V4ZWMuanNgKTtcbiAgICBjb25zdCBnbyA9IG5ldyAoZ2xvYmFsIGFzIGFueSkuR28oKTtcbiAgICBjb25zdCBieXRlcyA9IGF3YWl0IGdldEJ5dGVzO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ5dGVzLCBnby5pbXBvcnRPYmplY3QpO1xuICAgIChnbG9iYWwgYXMgYW55KS5fX2hjbF9oZWxwZXJzX2NvbmZpZ193YXNtX18gPSBqc1Jvb3Q7XG4gICAgdm9pZCBnby5ydW4ocmVzdWx0Lmluc3RhbmNlKTtcbiAgICByZWFkeSA9IHRydWU7XG4gIH1cblxuICBpbml0KCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH0pO1xuXG4gIGNvbnN0IHByb3h5ID0gbmV3IFByb3h5KHt9IGFzIEdvQnJpZGdlLCB7XG4gICAgZ2V0OiAoXywga2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBhc3luYyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgICAgIHdoaWxlICghcmVhZHkpIHtcbiAgICAgICAgICBhd2FpdCBzbGVlcCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEoa2V5IGluIGpzUm9vdCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVGhlcmUgaXMgbm90aGluZyBkZWZpbmVkIHdpdGggdGhlIG5hbWUgXCIke2tleS50b1N0cmluZygpfVwiYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBqc1Jvb3Rba2V5XSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIGpzUm9vdFtrZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCBjYiA9IChlcnI6IHN0cmluZywgLi4ubXNnOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGVyciA/IHJlamVjdChuZXcgRXJyb3IoZXJyKSkgOiByZXNvbHZlKC4uLm1zZyk7XG5cbiAgICAgICAgICBjb25zdCBydW4gPSAoKSA9PiB7XG4gICAgICAgICAgICBqc1Jvb3Rba2V5XS5hcHBseSh1bmRlZmluZWQsIFsuLi5hcmdzLCBjYl0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBydW4oKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiBwcm94eTtcbn1cblxuY29uc3QgbG9hZFdhc20gPSBhc3luYyAoKSA9PiB7XG4gIHJldHVybiBndW56aXBTeW5jKGF3YWl0IGZzLnJlYWRGaWxlKGpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwibWFpbi53YXNtLmd6XCIpKSk7XG59O1xuXG5jb25zdCB3YXNtID0gZ29CcmlkZ2UobG9hZFdhc20oKSk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmb3JtYXQoY29udGVudHM6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IHdhc20uZm9ybWF0KGNvbnRlbnRzKTtcbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
File without changes
File without changes