@hyperweb/telescope 1.15.0
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.
- package/README.md +1529 -0
- package/main/build.js +183 -0
- package/main/builder.js +229 -0
- package/main/bundle.js +162 -0
- package/main/bundler.js +100 -0
- package/main/cli.js +71 -0
- package/main/cmds.js +28 -0
- package/main/commands/download.js +122 -0
- package/main/commands/generate.js +151 -0
- package/main/commands/install.js +143 -0
- package/main/commands/transpile.js +197 -0
- package/main/contracts/generate.js +31 -0
- package/main/contracts/install.js +107 -0
- package/main/contracts/message-composer.js +31 -0
- package/main/contracts/react-query.js +31 -0
- package/main/contracts/recoil.js +31 -0
- package/main/file.js +20 -0
- package/main/generators/create-aggregated-lcd-client.js +87 -0
- package/main/generators/create-all-stargate-clients.js +96 -0
- package/main/generators/create-amino-converters.js +43 -0
- package/main/generators/create-bundle.js +83 -0
- package/main/generators/create-cosmwasm-bundle.js +15 -0
- package/main/generators/create-custom-stargate-clients.js +100 -0
- package/main/generators/create-helpers.js +119 -0
- package/main/generators/create-index.js +75 -0
- package/main/generators/create-lcd-client-all.js +116 -0
- package/main/generators/create-lcd-client-scoped.js +89 -0
- package/main/generators/create-lcd-clients.js +78 -0
- package/main/generators/create-mcp-server.js +1853 -0
- package/main/generators/create-mobx-bundle.js +52 -0
- package/main/generators/create-msg-funcs.js +132 -0
- package/main/generators/create-pinia-store-bundle.js +50 -0
- package/main/generators/create-pinia-store.js +90 -0
- package/main/generators/create-query-funcs.js +133 -0
- package/main/generators/create-react-query-bundle.js +103 -0
- package/main/generators/create-registries.js +49 -0
- package/main/generators/create-root-readme.js +259 -0
- package/main/generators/create-rpc-msg-client-all.js +135 -0
- package/main/generators/create-rpc-msg-client-scoped.js +114 -0
- package/main/generators/create-rpc-msg-clients.js +116 -0
- package/main/generators/create-rpc-ops-bundle.js +119 -0
- package/main/generators/create-rpc-query-client-all.js +137 -0
- package/main/generators/create-rpc-query-client-scoped.js +110 -0
- package/main/generators/create-rpc-query-clients.js +198 -0
- package/main/generators/create-sdk-module-stargate-clients.js +95 -0
- package/main/generators/create-stargate-clients.js +96 -0
- package/main/generators/create-types.js +164 -0
- package/main/generators/customize-utils.js +50 -0
- package/main/helpers/__test__/internalTimestamp.js +49 -0
- package/main/helpers/__test__/internalTimestampBigint.js +45 -0
- package/main/helpers/binary-coder.js +535 -0
- package/main/helpers/decimals.js +111 -0
- package/main/helpers/external-comet.js +52 -0
- package/main/helpers/external-icjs.js +36 -0
- package/main/helpers/external.js +31 -0
- package/main/helpers/grpc-gateway.js +348 -0
- package/main/helpers/grpc-web.js +14 -0
- package/main/helpers/helper-func-types-interface.js +106 -0
- package/main/helpers/helper-func-types.js +93 -0
- package/main/helpers/index.js +38 -0
- package/main/helpers/internal-for-bigint.js +259 -0
- package/main/helpers/internal.js +240 -0
- package/main/helpers/json-safe.js +12 -0
- package/main/helpers/mobx.js +80 -0
- package/main/helpers/pinia-endpoint.js +20 -0
- package/main/helpers/react-query-hooks-icjs.js +223 -0
- package/main/helpers/react-query-hooks.js +258 -0
- package/main/helpers/react-query.js +93 -0
- package/main/helpers/registry-helper.js +229 -0
- package/main/helpers/types-helper.js +165 -0
- package/main/helpers/utf8-helper.js +146 -0
- package/main/helpers/varint.js +486 -0
- package/main/helpers/vue-query-hooks.js +226 -0
- package/main/imports.js +416 -0
- package/main/index.js +24 -0
- package/main/parse.js +194 -0
- package/main/prompt.js +64 -0
- package/main/protod/bufbuild.js +87 -0
- package/main/protod/config.js +30 -0
- package/main/protod/git-repo.js +58 -0
- package/main/protod/index.js +17 -0
- package/main/protod/recursive.js +134 -0
- package/main/protod/types.js +2 -0
- package/main/protod/utils.js +91 -0
- package/main/telescope.js +10 -0
- package/main/types.js +2 -0
- package/main/utils/common-create-bundle.js +29 -0
- package/main/utils/contracts.js +39 -0
- package/main/utils/files.js +138 -0
- package/main/utils/index.js +163 -0
- package/main/utils/unused.js +73 -0
- package/module/build.js +176 -0
- package/module/builder.js +222 -0
- package/module/bundle.js +128 -0
- package/module/bundler.js +96 -0
- package/module/cli.js +44 -0
- package/module/cmds.js +22 -0
- package/module/commands/download.js +94 -0
- package/module/commands/generate.js +123 -0
- package/module/commands/install.js +141 -0
- package/module/commands/transpile.js +169 -0
- package/module/contracts/generate.js +29 -0
- package/module/contracts/install.js +105 -0
- package/module/contracts/message-composer.js +29 -0
- package/module/contracts/react-query.js +29 -0
- package/module/contracts/recoil.js +29 -0
- package/module/file.js +18 -0
- package/module/generators/create-aggregated-lcd-client.js +83 -0
- package/module/generators/create-all-stargate-clients.js +92 -0
- package/module/generators/create-amino-converters.js +39 -0
- package/module/generators/create-bundle.js +79 -0
- package/module/generators/create-cosmwasm-bundle.js +11 -0
- package/module/generators/create-custom-stargate-clients.js +96 -0
- package/module/generators/create-helpers.js +112 -0
- package/module/generators/create-index.js +45 -0
- package/module/generators/create-lcd-client-all.js +89 -0
- package/module/generators/create-lcd-client-scoped.js +62 -0
- package/module/generators/create-lcd-clients.js +74 -0
- package/module/generators/create-mcp-server.js +1849 -0
- package/module/generators/create-mobx-bundle.js +25 -0
- package/module/generators/create-msg-funcs.js +128 -0
- package/module/generators/create-pinia-store-bundle.js +23 -0
- package/module/generators/create-pinia-store.js +86 -0
- package/module/generators/create-query-funcs.js +129 -0
- package/module/generators/create-react-query-bundle.js +76 -0
- package/module/generators/create-registries.js +45 -0
- package/module/generators/create-root-readme.js +255 -0
- package/module/generators/create-rpc-msg-client-all.js +108 -0
- package/module/generators/create-rpc-msg-client-scoped.js +87 -0
- package/module/generators/create-rpc-msg-clients.js +112 -0
- package/module/generators/create-rpc-ops-bundle.js +92 -0
- package/module/generators/create-rpc-query-client-all.js +110 -0
- package/module/generators/create-rpc-query-client-scoped.js +83 -0
- package/module/generators/create-rpc-query-clients.js +198 -0
- package/module/generators/create-sdk-module-stargate-clients.js +91 -0
- package/module/generators/create-stargate-clients.js +92 -0
- package/module/generators/create-types.js +137 -0
- package/module/generators/customize-utils.js +46 -0
- package/module/helpers/__test__/internalTimestamp.js +39 -0
- package/module/helpers/__test__/internalTimestampBigint.js +38 -0
- package/module/helpers/binary-coder.js +531 -0
- package/module/helpers/decimals.js +108 -0
- package/module/helpers/external-comet.js +49 -0
- package/module/helpers/external-icjs.js +33 -0
- package/module/helpers/external.js +28 -0
- package/module/helpers/grpc-gateway.js +345 -0
- package/module/helpers/grpc-web.js +11 -0
- package/module/helpers/helper-func-types-interface.js +102 -0
- package/module/helpers/helper-func-types.js +89 -0
- package/module/helpers/index.js +22 -0
- package/module/helpers/internal-for-bigint.js +255 -0
- package/module/helpers/internal.js +236 -0
- package/module/helpers/json-safe.js +9 -0
- package/module/helpers/mobx.js +77 -0
- package/module/helpers/pinia-endpoint.js +17 -0
- package/module/helpers/react-query-hooks-icjs.js +219 -0
- package/module/helpers/react-query-hooks.js +254 -0
- package/module/helpers/react-query.js +89 -0
- package/module/helpers/registry-helper.js +225 -0
- package/module/helpers/types-helper.js +161 -0
- package/module/helpers/utf8-helper.js +143 -0
- package/module/helpers/varint.js +483 -0
- package/module/helpers/vue-query-hooks.js +222 -0
- package/module/imports.js +382 -0
- package/module/index.js +8 -0
- package/module/parse.js +185 -0
- package/module/prompt.js +58 -0
- package/module/protod/bufbuild.js +76 -0
- package/module/protod/config.js +27 -0
- package/module/protod/git-repo.js +54 -0
- package/module/protod/index.js +1 -0
- package/module/protod/recursive.js +125 -0
- package/module/protod/types.js +1 -0
- package/module/protod/utils.js +77 -0
- package/module/telescope.js +8 -0
- package/module/types.js +1 -0
- package/module/utils/common-create-bundle.js +25 -0
- package/module/utils/contracts.js +33 -0
- package/module/utils/files.js +106 -0
- package/module/utils/index.js +143 -0
- package/module/utils/unused.js +47 -0
- package/package.json +115 -0
- package/src/build.ts +255 -0
- package/src/builder.ts +302 -0
- package/src/bundle.ts +160 -0
- package/src/bundler.ts +153 -0
- package/src/cli.js +51 -0
- package/src/cmds.js +25 -0
- package/src/commands/download.ts +120 -0
- package/src/commands/generate.ts +156 -0
- package/src/commands/install.ts +154 -0
- package/src/commands/transpile.ts +198 -0
- package/src/contracts/generate.ts +33 -0
- package/src/contracts/install.ts +118 -0
- package/src/contracts/message-composer.ts +34 -0
- package/src/contracts/react-query.ts +33 -0
- package/src/contracts/recoil.ts +32 -0
- package/src/file.js +20 -0
- package/src/generators/create-aggregated-lcd-client.ts +133 -0
- package/src/generators/create-all-stargate-clients.ts +121 -0
- package/src/generators/create-amino-converters.ts +62 -0
- package/src/generators/create-bundle.ts +97 -0
- package/src/generators/create-cosmwasm-bundle.ts +17 -0
- package/src/generators/create-custom-stargate-clients.ts +128 -0
- package/src/generators/create-helpers.ts +196 -0
- package/src/generators/create-index.ts +72 -0
- package/src/generators/create-lcd-client-all.ts +139 -0
- package/src/generators/create-lcd-client-scoped.ts +109 -0
- package/src/generators/create-lcd-clients.ts +108 -0
- package/src/generators/create-mcp-server.ts +1902 -0
- package/src/generators/create-mobx-bundle.ts +31 -0
- package/src/generators/create-msg-funcs.ts +219 -0
- package/src/generators/create-pinia-store-bundle.ts +35 -0
- package/src/generators/create-pinia-store.ts +121 -0
- package/src/generators/create-query-funcs.ts +224 -0
- package/src/generators/create-react-query-bundle.ts +111 -0
- package/src/generators/create-registries.ts +70 -0
- package/src/generators/create-root-readme.ts +316 -0
- package/src/generators/create-rpc-msg-client-all.ts +167 -0
- package/src/generators/create-rpc-msg-client-scoped.ts +147 -0
- package/src/generators/create-rpc-msg-clients.ts +165 -0
- package/src/generators/create-rpc-ops-bundle.ts +155 -0
- package/src/generators/create-rpc-query-client-all.ts +173 -0
- package/src/generators/create-rpc-query-client-scoped.ts +142 -0
- package/src/generators/create-rpc-query-clients.ts +304 -0
- package/src/generators/create-sdk-module-stargate-clients.ts +120 -0
- package/src/generators/create-stargate-clients.ts +123 -0
- package/src/generators/create-types.ts +236 -0
- package/src/generators/customize-utils.ts +54 -0
- package/src/helpers/__test__/internalTimestamp.test.ts +79 -0
- package/src/helpers/__test__/internalTimestamp.ts +58 -0
- package/src/helpers/__test__/internalTimestampBigint.test.ts +78 -0
- package/src/helpers/__test__/internalTimestampBigint.ts +58 -0
- package/src/helpers/binary-coder.ts +533 -0
- package/src/helpers/decimals.ts +108 -0
- package/src/helpers/external-comet.ts +49 -0
- package/src/helpers/external-icjs.ts +33 -0
- package/src/helpers/external.ts +28 -0
- package/src/helpers/grpc-gateway.ts +345 -0
- package/src/helpers/grpc-web.ts +11 -0
- package/src/helpers/helper-func-types-interface.ts +104 -0
- package/src/helpers/helper-func-types.ts +91 -0
- package/src/helpers/index.ts +22 -0
- package/src/helpers/internal-for-bigint.ts +257 -0
- package/src/helpers/internal.ts +238 -0
- package/src/helpers/json-safe.ts +11 -0
- package/src/helpers/mobx.ts +77 -0
- package/src/helpers/pinia-endpoint.ts +17 -0
- package/src/helpers/react-query-hooks-icjs.ts +223 -0
- package/src/helpers/react-query-hooks.ts +266 -0
- package/src/helpers/react-query.ts +101 -0
- package/src/helpers/registry-helper.ts +227 -0
- package/src/helpers/types-helper.ts +169 -0
- package/src/helpers/utf8-helper.ts +143 -0
- package/src/helpers/varint.ts +483 -0
- package/src/helpers/vue-query-hooks.ts +224 -0
- package/src/imports.ts +499 -0
- package/src/index.ts +12 -0
- package/src/parse.ts +243 -0
- package/src/prompt.js +65 -0
- package/src/protod/bufbuild.spec.ts +80 -0
- package/src/protod/bufbuild.ts +95 -0
- package/src/protod/config.ts +30 -0
- package/src/protod/git-repo.ts +74 -0
- package/src/protod/index.ts +1 -0
- package/src/protod/recursive.spec.ts +164 -0
- package/src/protod/recursive.ts +180 -0
- package/src/protod/test-data/.protod.config.json +42 -0
- package/src/protod/test-data/buf.lock +23 -0
- package/src/protod/test-data/buf.yaml +25 -0
- package/src/protod/test-data/buf2.yaml +20 -0
- package/src/protod/test-data/cosmos/buf.lock +23 -0
- package/src/protod/test-data/cosmos/crypto/secp256k1/keys.proto +38 -0
- package/src/protod/test-data/model.proto +101 -0
- package/src/protod/types.ts +55 -0
- package/src/protod/utils.spec.ts +68 -0
- package/src/protod/utils.ts +90 -0
- package/src/telescope.js +9 -0
- package/src/types.ts +46 -0
- package/src/utils/common-create-bundle.ts +62 -0
- package/src/utils/contracts.ts +37 -0
- package/src/utils/files.ts +145 -0
- package/src/utils/index.ts +150 -0
- package/src/utils/unused.ts +52 -0
- package/types/build.d.ts +41 -0
- package/types/builder.d.ts +50 -0
- package/types/bundle.d.ts +30 -0
- package/types/bundler.d.ts +31 -0
- package/types/cli.d.ts +1 -0
- package/types/cmds.d.ts +11 -0
- package/types/commands/download.d.ts +5 -0
- package/types/commands/generate.d.ts +2 -0
- package/types/commands/install.d.ts +2 -0
- package/types/commands/transpile.d.ts +4 -0
- package/types/contracts/generate.d.ts +2 -0
- package/types/contracts/install.d.ts +2 -0
- package/types/contracts/message-composer.d.ts +2 -0
- package/types/contracts/react-query.d.ts +2 -0
- package/types/contracts/recoil.d.ts +2 -0
- package/types/file.d.ts +2 -0
- package/types/generators/create-aggregated-lcd-client.d.ts +2 -0
- package/types/generators/create-all-stargate-clients.d.ts +3 -0
- package/types/generators/create-amino-converters.d.ts +3 -0
- package/types/generators/create-bundle.d.ts +3 -0
- package/types/generators/create-combined-stargate-clients.d.ts +3 -0
- package/types/generators/create-cosmwasm-bundle.d.ts +2 -0
- package/types/generators/create-custom-stargate-clients.d.ts +3 -0
- package/types/generators/create-helpers.d.ts +2 -0
- package/types/generators/create-index.d.ts +2 -0
- package/types/generators/create-lcd-client-all.d.ts +3 -0
- package/types/generators/create-lcd-client-scoped.d.ts +3 -0
- package/types/generators/create-lcd-clients.d.ts +3 -0
- package/types/generators/create-mcp-server.d.ts +3 -0
- package/types/generators/create-mobx-bundle.d.ts +2 -0
- package/types/generators/create-msg-funcs.d.ts +3 -0
- package/types/generators/create-pinia-store-bundle.d.ts +2 -0
- package/types/generators/create-pinia-store.d.ts +3 -0
- package/types/generators/create-query-funcs.d.ts +3 -0
- package/types/generators/create-react-query-bundle.d.ts +2 -0
- package/types/generators/create-registries.d.ts +3 -0
- package/types/generators/create-root-readme.d.ts +2 -0
- package/types/generators/create-rpc-msg-client-all.d.ts +3 -0
- package/types/generators/create-rpc-msg-client-scoped.d.ts +3 -0
- package/types/generators/create-rpc-msg-clients.d.ts +3 -0
- package/types/generators/create-rpc-ops-bundle.d.ts +2 -0
- package/types/generators/create-rpc-query-client-all.d.ts +3 -0
- package/types/generators/create-rpc-query-client-scoped.d.ts +3 -0
- package/types/generators/create-rpc-query-clients.d.ts +3 -0
- package/types/generators/create-scoped-stargate-clients.d.ts +3 -0
- package/types/generators/create-sdk-module-stargate-clients.d.ts +3 -0
- package/types/generators/create-stargate-clients.d.ts +3 -0
- package/types/generators/create-types.d.ts +3 -0
- package/types/generators/create-unified-stargate-clients.d.ts +3 -0
- package/types/generators/customize-utils.d.ts +2 -0
- package/types/helpers/__test__/internalTimestamp.d.ts +21 -0
- package/types/helpers/__test__/internalTimestampBigint.d.ts +20 -0
- package/types/helpers/binary-coder.d.ts +2 -0
- package/types/helpers/decimals.d.ts +1 -0
- package/types/helpers/external-comet.d.ts +1 -0
- package/types/helpers/external-icjs.d.ts +1 -0
- package/types/helpers/external.d.ts +1 -0
- package/types/helpers/generated-type.d.ts +1 -0
- package/types/helpers/grpc-gateway.d.ts +1 -0
- package/types/helpers/grpc-web.d.ts +1 -0
- package/types/helpers/helper-func-types-interface.d.ts +2 -0
- package/types/helpers/helper-func-types.d.ts +2 -0
- package/types/helpers/index.d.ts +22 -0
- package/types/helpers/internal-for-bigint.d.ts +2 -0
- package/types/helpers/internal.d.ts +2 -0
- package/types/helpers/internalForBigInt.d.ts +1 -0
- package/types/helpers/json-safe.d.ts +1 -0
- package/types/helpers/mobx.d.ts +1 -0
- package/types/helpers/pinia-endpoint.d.ts +1 -0
- package/types/helpers/react-query-hooks-icjs.d.ts +2 -0
- package/types/helpers/react-query-hooks.d.ts +2 -0
- package/types/helpers/react-query.d.ts +2 -0
- package/types/helpers/registry-helper.d.ts +2 -0
- package/types/helpers/types-helper.d.ts +2 -0
- package/types/helpers/types.d.ts +1 -0
- package/types/helpers/utf8-helper.d.ts +1 -0
- package/types/helpers/varint.d.ts +1 -0
- package/types/helpers/vue-query-hooks.d.ts +2 -0
- package/types/helpers/vue-query.d.ts +2 -0
- package/types/imports.d.ts +17 -0
- package/types/index.d.ts +6 -0
- package/types/parse.d.ts +15 -0
- package/types/prompt.d.ts +3 -0
- package/types/protod/bufbuild.d.ts +6 -0
- package/types/protod/config.d.ts +7 -0
- package/types/protod/git-repo.d.ts +11 -0
- package/types/protod/index.d.ts +1 -0
- package/types/protod/proto-download.d.ts +2 -0
- package/types/protod/recursive.d.ts +4 -0
- package/types/protod/types.d.ts +49 -0
- package/types/protod/utils.d.ts +11 -0
- package/types/telescope.d.ts +2 -0
- package/types/types.d.ts +43 -0
- package/types/utils/common-create-bundle.d.ts +18 -0
- package/types/utils/contracts.d.ts +6 -0
- package/types/utils/files.d.ts +5 -0
- package/types/utils/index.d.ts +16 -0
- package/types/utils/unused.d.ts +5 -0
|
@@ -0,0 +1,52 @@
|
|
|
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.plugin = void 0;
|
|
27
|
+
const ast_1 = require("@cosmology/ast");
|
|
28
|
+
const dotty = __importStar(require("dotty"));
|
|
29
|
+
const utils_1 = require("../utils");
|
|
30
|
+
const plugin = (builder) => {
|
|
31
|
+
// if mobx is enabled
|
|
32
|
+
// generate stores.ts based on query hooks generated in each package.
|
|
33
|
+
// eg: __fixtures__/output1/stores.ts
|
|
34
|
+
if (!builder.options.mobx?.enabled) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// get mapping of packages and rpc query filenames.
|
|
38
|
+
const obj = {};
|
|
39
|
+
const bundlerFiles = builder.stateManagers["mobx"];
|
|
40
|
+
if (!bundlerFiles || !bundlerFiles.length) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
bundlerFiles.map((queryClient) => {
|
|
44
|
+
const path = `./${queryClient.localname.replace(/\.ts$/, '')}`;
|
|
45
|
+
dotty.put(obj, queryClient.package, path);
|
|
46
|
+
});
|
|
47
|
+
(0, utils_1.commonBundlePlugin)(builder, 'mobx.stores.ts', obj, (context, obj) => {
|
|
48
|
+
// generate code for createRpcQueryHooks and imports of related packages.
|
|
49
|
+
return (0, ast_1.createMobxQueryFactory)(context, obj);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.plugin = void 0;
|
|
4
|
+
const imports_1 = require("../imports");
|
|
5
|
+
const ast_1 = require("@cosmology/ast");
|
|
6
|
+
const proto_parser_1 = require("@cosmology/proto-parser");
|
|
7
|
+
const parse_1 = require("../parse");
|
|
8
|
+
const utils_1 = require("@cosmology/utils");
|
|
9
|
+
const types_1 = require("@cosmology/types");
|
|
10
|
+
const files_1 = require("../utils/files");
|
|
11
|
+
const plugin = (builder, bundler) => {
|
|
12
|
+
const mutationContexts = bundler.contexts.filter((context) => context.mutations.length > 0);
|
|
13
|
+
const clients = mutationContexts
|
|
14
|
+
.map((c) => {
|
|
15
|
+
const enabled = c.proto.pluginValue("helperFunctions.enabled");
|
|
16
|
+
if (!enabled)
|
|
17
|
+
return;
|
|
18
|
+
const serviceTypes = c.proto.pluginValue("helperFunctions.include.serviceTypes");
|
|
19
|
+
if (serviceTypes && !serviceTypes.includes("Tx")) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (c.proto.isExcluded())
|
|
23
|
+
return;
|
|
24
|
+
const localname = bundler.getLocalFilename(c.ref, "rpc.func");
|
|
25
|
+
const localnameReact = bundler.getLocalFilename(c.ref, `rpc.react`);
|
|
26
|
+
const localnameVue = bundler.getLocalFilename(c.ref, `rpc.vue`);
|
|
27
|
+
const filename = bundler.getFilename(localname);
|
|
28
|
+
const filenameReact = bundler.getFilename(localnameReact);
|
|
29
|
+
const filenameVue = bundler.getFilename(localnameVue);
|
|
30
|
+
const ctx = bundler.getFreshContext(c);
|
|
31
|
+
// get mutations, services
|
|
32
|
+
(0, parse_1.parse)(ctx);
|
|
33
|
+
const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
|
|
34
|
+
// hard-coding, for now, only Msg service
|
|
35
|
+
if (!proto?.Msg || proto.Msg?.type !== "Service") {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const asts = [];
|
|
39
|
+
const reactAsts = [];
|
|
40
|
+
const vueAsts = [];
|
|
41
|
+
const helperCreatorNameList = [];
|
|
42
|
+
const bundlerFile = {
|
|
43
|
+
proto: c.ref.filename,
|
|
44
|
+
package: c.ref.proto.package,
|
|
45
|
+
localname,
|
|
46
|
+
filename,
|
|
47
|
+
isMsg: true,
|
|
48
|
+
};
|
|
49
|
+
types_1.TX_SVC_TYPES.forEach((svcKey) => {
|
|
50
|
+
if (proto[svcKey]) {
|
|
51
|
+
const svc = proto[svcKey];
|
|
52
|
+
const patterns = c.proto.pluginValue("helperFunctions.include.patterns");
|
|
53
|
+
const nameMappers = c.proto.pluginValue("helperFunctions.nameMappers");
|
|
54
|
+
const methodKeys = (0, utils_1.getQueryMethodNames)(bundlerFile.package, Object.keys(proto[svcKey].methods ?? {}), patterns || ["**"], String);
|
|
55
|
+
// see if the function is excluded.
|
|
56
|
+
if (!methodKeys || !methodKeys.length) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// for each method key, create creators, hooks.
|
|
60
|
+
methodKeys.forEach((methodKey) => {
|
|
61
|
+
// get helperCreatorName
|
|
62
|
+
// get hookName
|
|
63
|
+
const { creator: helperCreatorName, hook: hookName } = (0, utils_1.getHelperFuncName)(bundlerFile.package, methodKey, [nameMappers?.Msg, nameMappers?.All], "unchanged");
|
|
64
|
+
helperCreatorNameList.push(helperCreatorName);
|
|
65
|
+
const genCustomHooks = c.proto.pluginValue("helperFunctions.hooks.react");
|
|
66
|
+
const genCustomHooksVue = c.proto.pluginValue("helperFunctions.hooks.vue");
|
|
67
|
+
// Store the mapping in builder
|
|
68
|
+
builder.addFunctionMapping(bundlerFile.package, svcKey, methodKey, helperCreatorName, hookName, svc.methods[methodKey].comment, svc.methods[methodKey].requestType, svc.methods[methodKey].responseType, localname, // function source file
|
|
69
|
+
genCustomHooks ? localnameReact : undefined, // hook source file (React)
|
|
70
|
+
bundler.getLocalFilename(c.ref) // type source file (main types file)
|
|
71
|
+
);
|
|
72
|
+
// gen helper funcs
|
|
73
|
+
asts.push((0, ast_1.createMsgHelperCreator)(ctx.generic, svc.methods[methodKey], helperCreatorName));
|
|
74
|
+
if (genCustomHooks) {
|
|
75
|
+
// gen custom react hooks
|
|
76
|
+
reactAsts.push((0, ast_1.createMsgHooks)(ctx.generic, svc.methods[methodKey], helperCreatorName, hookName));
|
|
77
|
+
}
|
|
78
|
+
if (genCustomHooksVue) {
|
|
79
|
+
// gen custom vue hooks
|
|
80
|
+
vueAsts.push((0, ast_1.createVueMsgHooks)(ctx.generic, svc.methods[methodKey], helperCreatorName, hookName));
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
if (!asts.length) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const serviceImports = (0, imports_1.getDepsFromQueries)(ctx.mutations, localname);
|
|
89
|
+
const serviceImportsReact = (0, imports_1.getDepsFromQueries)(ctx.mutations, localnameReact);
|
|
90
|
+
const serviceImportsVue = (0, imports_1.getDepsFromQueries)(ctx.mutations, localnameVue);
|
|
91
|
+
// add imports from func file like query.rpc.func.ts without the .ts extension
|
|
92
|
+
const funcFileName = "./".concat(localname.substring(localname.lastIndexOf("/") + 1).replace(/\.ts$/, ""));
|
|
93
|
+
serviceImportsReact[funcFileName] = helperCreatorNameList;
|
|
94
|
+
serviceImportsVue[funcFileName] = helperCreatorNameList;
|
|
95
|
+
const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
|
|
96
|
+
const importsReact = (0, imports_1.buildAllImports)(ctx, serviceImportsReact, localnameReact);
|
|
97
|
+
const importsVue = (0, imports_1.buildAllImports)(ctx, serviceImportsVue, localnameReact);
|
|
98
|
+
const prog = [].concat(imports).concat(ctx.body).concat(asts);
|
|
99
|
+
const progReact = [].concat(importsReact).concat(reactAsts);
|
|
100
|
+
const progVue = [].concat(importsVue).concat(vueAsts);
|
|
101
|
+
const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
|
|
102
|
+
const exportedTypeNamesReact = (0, files_1.getExportedTypeNames)(progReact);
|
|
103
|
+
const exportedTypeNamesVue = (0, files_1.getExportedTypeNames)(progVue);
|
|
104
|
+
exportedTypeNames.forEach((name) => {
|
|
105
|
+
builder.store.setHelperFuncFilesMapping(name, localname);
|
|
106
|
+
});
|
|
107
|
+
exportedTypeNamesReact.forEach((name) => {
|
|
108
|
+
builder.store.setHelperFuncFilesMapping(name, localnameReact);
|
|
109
|
+
});
|
|
110
|
+
exportedTypeNamesVue.forEach((name) => {
|
|
111
|
+
builder.store.setHelperFuncFilesMapping(name, localnameVue);
|
|
112
|
+
});
|
|
113
|
+
bundler.writeAst(prog, filename);
|
|
114
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames, true);
|
|
115
|
+
if (reactAsts.length) {
|
|
116
|
+
bundler.writeAst(progReact, filenameReact);
|
|
117
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localnameReact, exportedTypeNamesReact, true);
|
|
118
|
+
}
|
|
119
|
+
if (vueAsts.length) {
|
|
120
|
+
bundler.writeAst(progVue, filenameVue);
|
|
121
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localnameVue, exportedTypeNamesVue, true);
|
|
122
|
+
}
|
|
123
|
+
bundler.addToBundle(c, localname);
|
|
124
|
+
return {
|
|
125
|
+
package: c.ref.proto.package,
|
|
126
|
+
localname,
|
|
127
|
+
filename,
|
|
128
|
+
};
|
|
129
|
+
})
|
|
130
|
+
.filter(Boolean);
|
|
131
|
+
};
|
|
132
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,50 @@
|
|
|
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.plugin = void 0;
|
|
27
|
+
const utils_1 = require("../utils");
|
|
28
|
+
const dotty = __importStar(require("dotty"));
|
|
29
|
+
const ast_1 = require("@cosmology/ast");
|
|
30
|
+
const plugin = (builder) => {
|
|
31
|
+
// if not enabled, exit
|
|
32
|
+
if (!builder.options?.pinia?.enabled) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// get mapping of packages and rpc query filenames.
|
|
36
|
+
const obj = {};
|
|
37
|
+
const bundlerFiles = builder.stateManagers['pinia'];
|
|
38
|
+
if (!bundlerFiles || !bundlerFiles.length) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
bundlerFiles.map((queryClient) => {
|
|
42
|
+
const path = `./${queryClient.localname.replace(/\.ts$/, '')}`;
|
|
43
|
+
dotty.put(obj, queryClient.package, path);
|
|
44
|
+
});
|
|
45
|
+
(0, utils_1.commonBundlePlugin)(builder, 'pinia.store.ts', obj, (context, obj) => {
|
|
46
|
+
// generate code for createRpcQueryHooks and imports of related packages.
|
|
47
|
+
return (0, ast_1.createPiniaStoreFactory)(context, obj);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.plugin = void 0;
|
|
4
|
+
const imports_1 = require("../imports");
|
|
5
|
+
const parse_1 = require("../parse");
|
|
6
|
+
const proto_parser_1 = require("@cosmology/proto-parser");
|
|
7
|
+
const ast_1 = require("@cosmology/ast");
|
|
8
|
+
const plugin = (builder, bundler) => {
|
|
9
|
+
if (!builder.options.pinia?.enabled) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
// get mapping of packages and rpc query filenames.
|
|
13
|
+
if (!builder.options.lcdClients?.enabled) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const queryContexts = bundler.contexts.filter((context) => context.queries.length > 0 || context.services.length > 0);
|
|
17
|
+
if (queryContexts.length > 0) {
|
|
18
|
+
const piniaBundlerFiles = [];
|
|
19
|
+
// [x] write out one registry helper for all contexts w/mutations
|
|
20
|
+
queryContexts.forEach((c) => {
|
|
21
|
+
const enabled = c.proto.pluginValue('lcdClients.enabled');
|
|
22
|
+
if (!enabled)
|
|
23
|
+
return;
|
|
24
|
+
const includePinia = c.proto.pluginValue('pinia.enabled') &&
|
|
25
|
+
(0, proto_parser_1.isRefIncluded)(c.ref, c.proto.pluginValue('pinia.include'));
|
|
26
|
+
if (!includePinia)
|
|
27
|
+
return;
|
|
28
|
+
if (c.proto.isExcluded())
|
|
29
|
+
return;
|
|
30
|
+
const ctx = bundler.getFreshContext(c);
|
|
31
|
+
// get mutations, services
|
|
32
|
+
(0, parse_1.parse)(ctx);
|
|
33
|
+
const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
|
|
34
|
+
//// Anything except Msg Service OK...
|
|
35
|
+
const allowedRpcServices = builder.options.rpcClients.enabledServices.filter((a) => a !== 'Msg');
|
|
36
|
+
let name, getImportsFrom;
|
|
37
|
+
// get imports
|
|
38
|
+
allowedRpcServices.forEach((svcKey) => {
|
|
39
|
+
if (proto[svcKey]) {
|
|
40
|
+
if (svcKey === 'Query') {
|
|
41
|
+
getImportsFrom = ctx.queries;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
getImportsFrom = ctx.services;
|
|
45
|
+
}
|
|
46
|
+
name = svcKey;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const localname = bundler.getLocalFilename(c.ref, 'pinia.store');
|
|
50
|
+
const filename = bundler.getFilename(localname);
|
|
51
|
+
const bundlerFile = {
|
|
52
|
+
package: c.ref.proto.package,
|
|
53
|
+
localname,
|
|
54
|
+
filename
|
|
55
|
+
};
|
|
56
|
+
let ast = null;
|
|
57
|
+
allowedRpcServices.forEach((svcKey) => {
|
|
58
|
+
if (proto[svcKey]) {
|
|
59
|
+
ast = (0, ast_1.createPiniaStore)(ctx.generic, proto[svcKey]);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
if (!ast) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
piniaBundlerFiles.push(bundlerFile);
|
|
66
|
+
const serviceImports = (0, imports_1.getDepsFromQueries)(getImportsFrom, localname);
|
|
67
|
+
const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
|
|
68
|
+
const piniaImport = (0, imports_1.getImportStatements)('pinia', [
|
|
69
|
+
{
|
|
70
|
+
type: 'import',
|
|
71
|
+
name: 'defineStore',
|
|
72
|
+
path: 'pinia'
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'import',
|
|
76
|
+
name: 'LCDQueryClient',
|
|
77
|
+
path: './query.lcd'
|
|
78
|
+
}
|
|
79
|
+
], builder.options);
|
|
80
|
+
const prog = []
|
|
81
|
+
.concat([...imports, ...piniaImport])
|
|
82
|
+
.concat(ctx.body)
|
|
83
|
+
.concat(ast);
|
|
84
|
+
bundler.writeAst(prog, filename);
|
|
85
|
+
bundler.addToBundle(c, localname);
|
|
86
|
+
});
|
|
87
|
+
bundler.addStateManagers('pinia', piniaBundlerFiles);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.plugin = void 0;
|
|
4
|
+
const imports_1 = require("../imports");
|
|
5
|
+
const ast_1 = require("@cosmology/ast");
|
|
6
|
+
const proto_parser_1 = require("@cosmology/proto-parser");
|
|
7
|
+
const parse_1 = require("../parse");
|
|
8
|
+
const types_1 = require("@cosmology/types");
|
|
9
|
+
const utils_1 = require("@cosmology/utils");
|
|
10
|
+
const files_1 = require("../utils/files");
|
|
11
|
+
const plugin = (builder, bundler) => {
|
|
12
|
+
const clients = bundler.contexts
|
|
13
|
+
.map((c) => {
|
|
14
|
+
const enabled = c.proto.pluginValue("helperFunctions.enabled");
|
|
15
|
+
if (!enabled)
|
|
16
|
+
return;
|
|
17
|
+
const serviceTypes = c.proto.pluginValue("helperFunctions.include.serviceTypes");
|
|
18
|
+
if (serviceTypes &&
|
|
19
|
+
!serviceTypes.includes("Query") &&
|
|
20
|
+
!serviceTypes.includes("All")) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (c.proto.isExcluded())
|
|
24
|
+
return;
|
|
25
|
+
const ctx = bundler.getFreshContext(c);
|
|
26
|
+
// get mutations, services
|
|
27
|
+
(0, parse_1.parse)(ctx);
|
|
28
|
+
const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
|
|
29
|
+
//// Anything except Msg Service OK...
|
|
30
|
+
if (proto?.Msg) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let getImportsFrom;
|
|
34
|
+
if (proto.Query) {
|
|
35
|
+
getImportsFrom = ctx.queries;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
getImportsFrom = ctx.services;
|
|
39
|
+
}
|
|
40
|
+
const localname = bundler.getLocalFilename(c.ref, `rpc.func`);
|
|
41
|
+
const localnameReact = bundler.getLocalFilename(c.ref, `rpc.react`);
|
|
42
|
+
const localnameVue = bundler.getLocalFilename(c.ref, `rpc.vue`);
|
|
43
|
+
const filename = bundler.getFilename(localname);
|
|
44
|
+
const filenameReact = bundler.getFilename(localnameReact);
|
|
45
|
+
const filenameVue = bundler.getFilename(localnameVue);
|
|
46
|
+
const bundlerFile = {
|
|
47
|
+
proto: c.ref.filename,
|
|
48
|
+
package: c.ref.proto.package,
|
|
49
|
+
localname,
|
|
50
|
+
filename,
|
|
51
|
+
};
|
|
52
|
+
const asts = [];
|
|
53
|
+
const reactAsts = [];
|
|
54
|
+
const vueAsts = [];
|
|
55
|
+
const helperCreatorNameList = [];
|
|
56
|
+
types_1.QUERY_SVC_TYPES.forEach((svcKey) => {
|
|
57
|
+
if (proto[svcKey]) {
|
|
58
|
+
const svc = proto[svcKey];
|
|
59
|
+
const patterns = c.proto.pluginValue("helperFunctions.include.patterns");
|
|
60
|
+
const nameMappers = c.proto.pluginValue("helperFunctions.nameMappers");
|
|
61
|
+
const methodKeys = (0, utils_1.getQueryMethodNames)(bundlerFile.package, Object.keys(proto[svcKey].methods ?? {}), patterns || ["**"], String);
|
|
62
|
+
// see if the function is excluded.
|
|
63
|
+
if (!methodKeys || !methodKeys.length) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// for each method key, create creators, hooks.
|
|
67
|
+
methodKeys.forEach((methodKey) => {
|
|
68
|
+
// get helperCreatorName
|
|
69
|
+
// get hookName
|
|
70
|
+
const { creator: helperCreatorName, hook: hookName } = (0, utils_1.getHelperFuncName)(bundlerFile.package, methodKey, [nameMappers?.Query, nameMappers?.All], "get");
|
|
71
|
+
helperCreatorNameList.push(helperCreatorName);
|
|
72
|
+
const genCustomHooksReact = c.proto.pluginValue("helperFunctions.hooks.react");
|
|
73
|
+
const genCustomHooksVue = c.proto.pluginValue("helperFunctions.hooks.vue");
|
|
74
|
+
// Store the mapping in builder
|
|
75
|
+
builder.addFunctionMapping(bundlerFile.package, svcKey, methodKey, helperCreatorName, hookName, svc.methods[methodKey].comment, svc.methods[methodKey].requestType, svc.methods[methodKey].responseType, localname, genCustomHooksReact ? localnameReact : undefined, bundler.getLocalFilename(c.ref));
|
|
76
|
+
// gen helper funcs
|
|
77
|
+
asts.push((0, ast_1.createQueryHelperCreator)(ctx.generic, svc.methods[methodKey], svc.name, methodKey, helperCreatorName));
|
|
78
|
+
if (genCustomHooksReact) {
|
|
79
|
+
// gen custom react hooks
|
|
80
|
+
reactAsts.push((0, ast_1.createQueryHooks)(ctx.generic, svc.methods[methodKey], methodKey, helperCreatorName, hookName));
|
|
81
|
+
}
|
|
82
|
+
if (genCustomHooksVue) {
|
|
83
|
+
// gen custom vue hooks
|
|
84
|
+
vueAsts.push((0, ast_1.createVueQueryHooks)(ctx.generic, svc.methods[methodKey], methodKey, helperCreatorName, hookName));
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
if (!asts.length) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const serviceImports = (0, imports_1.getDepsFromQueries)(getImportsFrom, localname);
|
|
93
|
+
const serviceImportsReact = (0, imports_1.getDepsFromQueries)(getImportsFrom, localnameReact);
|
|
94
|
+
const serviceImportsVue = (0, imports_1.getDepsFromQueries)(getImportsFrom, localnameVue);
|
|
95
|
+
// add imports from func file like query.rpc.func.ts without the .ts extension
|
|
96
|
+
const funcFileName = "./".concat(localname.substring(localname.lastIndexOf("/") + 1).replace(/\.ts$/, ""));
|
|
97
|
+
serviceImportsReact[funcFileName] = helperCreatorNameList;
|
|
98
|
+
serviceImportsVue[funcFileName] = helperCreatorNameList;
|
|
99
|
+
// TODO we do NOT need all imports...
|
|
100
|
+
const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
|
|
101
|
+
const importsReact = (0, imports_1.buildAllImports)(ctx, serviceImportsReact, localnameReact);
|
|
102
|
+
const importsVue = (0, imports_1.buildAllImports)(ctx, serviceImportsVue, localnameReact);
|
|
103
|
+
const prog = [].concat(imports).concat(ctx.body).concat(asts);
|
|
104
|
+
const progReact = [].concat(importsReact).concat(reactAsts);
|
|
105
|
+
const progVue = [].concat(importsVue).concat(vueAsts);
|
|
106
|
+
const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
|
|
107
|
+
const exportedTypeNamesReact = (0, files_1.getExportedTypeNames)(progReact);
|
|
108
|
+
const exportedTypeNamesVue = (0, files_1.getExportedTypeNames)(progVue);
|
|
109
|
+
exportedTypeNames.forEach((name) => {
|
|
110
|
+
builder.store.setHelperFuncFilesMapping(name, localname);
|
|
111
|
+
});
|
|
112
|
+
exportedTypeNamesReact.forEach((name) => {
|
|
113
|
+
builder.store.setHelperFuncFilesMapping(name, localnameReact);
|
|
114
|
+
});
|
|
115
|
+
exportedTypeNamesVue.forEach((name) => {
|
|
116
|
+
builder.store.setHelperFuncFilesMapping(name, localnameVue);
|
|
117
|
+
});
|
|
118
|
+
bundler.writeAst(prog, filename);
|
|
119
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames, true);
|
|
120
|
+
if (reactAsts.length) {
|
|
121
|
+
bundler.writeAst(progReact, filenameReact);
|
|
122
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localnameReact, exportedTypeNamesReact, true);
|
|
123
|
+
}
|
|
124
|
+
if (vueAsts.length) {
|
|
125
|
+
bundler.writeAst(progVue, filenameVue);
|
|
126
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localnameVue, exportedTypeNamesVue, true);
|
|
127
|
+
}
|
|
128
|
+
bundler.addToBundle(c, localname);
|
|
129
|
+
return bundlerFile;
|
|
130
|
+
})
|
|
131
|
+
.filter(Boolean);
|
|
132
|
+
};
|
|
133
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,103 @@
|
|
|
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.plugin = void 0;
|
|
27
|
+
const imports_1 = require("../imports");
|
|
28
|
+
const path_1 = require("path");
|
|
29
|
+
const ast_1 = require("@cosmology/ast");
|
|
30
|
+
const build_1 = require("../build");
|
|
31
|
+
const files_1 = require("../utils/files");
|
|
32
|
+
const utils_1 = require("../utils");
|
|
33
|
+
const dotty = __importStar(require("dotty"));
|
|
34
|
+
const proto_parser_1 = require("@cosmology/proto-parser");
|
|
35
|
+
const utils_2 = require("@cosmology/utils");
|
|
36
|
+
const utils_3 = require("@cosmology/utils");
|
|
37
|
+
const utils_4 = require("@cosmology/utils");
|
|
38
|
+
const plugin = (builder) => {
|
|
39
|
+
// if react query is enabled
|
|
40
|
+
// generate hooks.ts based on query hooks generated in each package.
|
|
41
|
+
// eg: __fixtures__/output1/hooks.ts
|
|
42
|
+
if (!builder.options.reactQuery.enabled) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const localname = 'hooks.ts';
|
|
46
|
+
// get mapping of packages and rpc query filenames.
|
|
47
|
+
const obj = {};
|
|
48
|
+
const instantHooksMapping = {};
|
|
49
|
+
const methodSet = new Set();
|
|
50
|
+
const bundlerFiles = builder.stateManagers["reactQuery"];
|
|
51
|
+
if (!bundlerFiles || !bundlerFiles.length) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
let nameMapping = builder.options.reactQuery?.instantExport?.nameMapping;
|
|
55
|
+
nameMapping = (0, utils_4.swapKeyValue)(nameMapping ?? {});
|
|
56
|
+
bundlerFiles.map(bundlerFile => {
|
|
57
|
+
const path = `./${bundlerFile.localname.replace(/\.ts$/, '')}`;
|
|
58
|
+
dotty.put(obj, bundlerFile.package, path);
|
|
59
|
+
// build instantHooksMapping
|
|
60
|
+
bundlerFile.instantExportedMethods?.forEach((method) => {
|
|
61
|
+
const methodName = method.name;
|
|
62
|
+
const useHookName = (0, utils_2.makeUseHookName)((0, utils_2.camel)(methodName));
|
|
63
|
+
const hookNameWithPkg = `${bundlerFile.package}.${useHookName}`;
|
|
64
|
+
let instantHookName = null;
|
|
65
|
+
if (nameMapping[hookNameWithPkg]) {
|
|
66
|
+
instantHookName = nameMapping[hookNameWithPkg];
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
if (methodSet.has(useHookName)) {
|
|
70
|
+
instantHookName = (0, utils_2.makeUsePkgHookName)(bundlerFile.package, methodName);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
instantHookName = useHookName;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
dotty.put(instantHooksMapping, instantHookName, {
|
|
77
|
+
useHookName,
|
|
78
|
+
importedVarName: (0, utils_3.variableSlug)(path),
|
|
79
|
+
comment: `${bundlerFile.package}.${useHookName}\n${method.comment ?? methodName}`
|
|
80
|
+
});
|
|
81
|
+
methodSet.add(instantHookName);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
// create proto ref for context
|
|
85
|
+
const pkg = '@root';
|
|
86
|
+
const ref = (0, proto_parser_1.createEmptyProtoRef)(pkg, localname);
|
|
87
|
+
// create context
|
|
88
|
+
const pCtx = new build_1.TelescopeParseContext(ref, builder.store, builder.options);
|
|
89
|
+
// generate code for createRpcQueryHooks and imports of related packages.
|
|
90
|
+
const ast = (0, ast_1.createScopedRpcHookFactory)(pCtx.proto, obj, 'createRpcQueryHooks', instantHooksMapping);
|
|
91
|
+
// generate imports added by context.addUtil
|
|
92
|
+
const imports = (0, utils_1.fixlocalpaths)((0, imports_1.aggregateImports)(pCtx, {}, localname));
|
|
93
|
+
const importStmts = (0, imports_1.getImportStatements)(localname, imports, builder.options);
|
|
94
|
+
// construct the AST
|
|
95
|
+
const prog = []
|
|
96
|
+
.concat(importStmts)
|
|
97
|
+
.concat(ast);
|
|
98
|
+
// write the file.
|
|
99
|
+
const filename = (0, path_1.join)(builder.outPath, localname);
|
|
100
|
+
builder.files.push(localname);
|
|
101
|
+
(0, files_1.writeAstToFile)(builder.outPath, builder.options, prog, filename);
|
|
102
|
+
};
|
|
103
|
+
exports.plugin = plugin;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.plugin = void 0;
|
|
4
|
+
const imports_1 = require("../imports");
|
|
5
|
+
const parse_1 = require("../parse");
|
|
6
|
+
const files_1 = require("../utils/files");
|
|
7
|
+
const plugin = (builder, bundler) => {
|
|
8
|
+
if (!builder.options.aminoEncoding?.enabled) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const mutationContexts = bundler
|
|
12
|
+
.contexts
|
|
13
|
+
.filter(context => context.mutations.length > 0);
|
|
14
|
+
// [x] write out one registry helper for all contexts w/mutations
|
|
15
|
+
const registries = mutationContexts.map(c => {
|
|
16
|
+
const enabled = c.amino.pluginValue('aminoEncoding.enabled');
|
|
17
|
+
if (!enabled)
|
|
18
|
+
return;
|
|
19
|
+
if (c.proto.isExcluded())
|
|
20
|
+
return;
|
|
21
|
+
const localname = bundler.getLocalFilename(c.ref, 'registry');
|
|
22
|
+
const filename = bundler.getFilename(localname);
|
|
23
|
+
const ctx = bundler.getFreshContext(c);
|
|
24
|
+
// get mutations, services
|
|
25
|
+
(0, parse_1.parse)(ctx);
|
|
26
|
+
ctx.buildRegistry();
|
|
27
|
+
ctx.buildRegistryLoader();
|
|
28
|
+
ctx.buildHelperObject();
|
|
29
|
+
const serviceImports = (0, imports_1.getDepsFromMutations)(ctx.mutations, localname);
|
|
30
|
+
const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
|
|
31
|
+
const prog = []
|
|
32
|
+
.concat(imports)
|
|
33
|
+
.concat(ctx.body);
|
|
34
|
+
const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
|
|
35
|
+
exportedTypeNames.forEach((name) => {
|
|
36
|
+
builder.store.setTypeFilesMapping(name, localname);
|
|
37
|
+
});
|
|
38
|
+
bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames);
|
|
39
|
+
bundler.writeAst(prog, filename);
|
|
40
|
+
bundler.addToBundle(c, localname);
|
|
41
|
+
return {
|
|
42
|
+
package: c.ref.proto.package,
|
|
43
|
+
localname,
|
|
44
|
+
filename
|
|
45
|
+
};
|
|
46
|
+
}).filter(Boolean);
|
|
47
|
+
bundler.addRegistries(registries);
|
|
48
|
+
};
|
|
49
|
+
exports.plugin = plugin;
|