@trpc/client 11.0.0-alpha-tmp-export-from-main.213 → 11.0.0-alpha-tmp-export-from-main.217

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 (45) hide show
  1. package/dist/{TRPCClientError-3414c3d5.mjs → TRPCClientError.mjs} +1 -1
  2. package/dist/createTRPCClient.js +50 -0
  3. package/dist/createTRPCClient.mjs +45 -0
  4. package/dist/createTRPCUntypedClient.js +10 -0
  5. package/dist/createTRPCUntypedClient.mjs +7 -0
  6. package/dist/getFetch.js +17 -0
  7. package/dist/getFetch.mjs +15 -0
  8. package/dist/index.js +32 -367
  9. package/dist/index.mjs +9 -351
  10. package/dist/internals/TRPCUntypedClient.js +113 -0
  11. package/dist/internals/TRPCUntypedClient.mjs +111 -0
  12. package/dist/{httpBatchLink-c5101526.mjs → internals/dataLoader.js} +2 -116
  13. package/dist/{httpBatchLink-63113d09.js → internals/dataLoader.mjs} +1 -120
  14. package/dist/internals/getAbortController.js +18 -0
  15. package/dist/internals/getAbortController.mjs +16 -0
  16. package/dist/links/httpBatchLink.js +37 -8
  17. package/dist/links/httpBatchLink.mjs +39 -4
  18. package/dist/links/httpBatchStreamLink.js +43 -0
  19. package/dist/links/httpBatchStreamLink.mjs +41 -0
  20. package/dist/links/httpFormDataLink.js +31 -0
  21. package/dist/links/httpFormDataLink.mjs +29 -0
  22. package/dist/links/httpLink.js +2 -4
  23. package/dist/links/httpLink.mjs +2 -2
  24. package/dist/{splitLink-f52aa788.js → links/internals/createChain.js} +0 -22
  25. package/dist/{splitLink-47716d78.mjs → links/internals/createChain.mjs} +1 -22
  26. package/dist/links/internals/createHTTPBatchLink.js +85 -0
  27. package/dist/links/internals/createHTTPBatchLink.mjs +83 -0
  28. package/dist/links/internals/getTextDecoder.js +18 -0
  29. package/dist/links/internals/getTextDecoder.mjs +16 -0
  30. package/dist/{httpUtils-60af4c3d.js → links/internals/httpUtils.js} +5 -33
  31. package/dist/{httpUtils-82ae6a64.mjs → links/internals/httpUtils.mjs} +4 -31
  32. package/dist/links/internals/parseJSONStream.js +118 -0
  33. package/dist/links/internals/parseJSONStream.mjs +115 -0
  34. package/dist/links/loggerLink.js +4 -2
  35. package/dist/links/loggerLink.mjs +4 -0
  36. package/dist/links/splitLink.js +23 -6
  37. package/dist/links/splitLink.mjs +25 -2
  38. package/dist/links/wsLink.js +1 -3
  39. package/dist/links/wsLink.mjs +1 -1
  40. package/package.json +4 -4
  41. package/dist/TRPCClientError-27d80214.js +0 -61
  42. package/dist/httpBatchLink-1de0fe31.js +0 -246
  43. package/dist/httpUtils-49fa3edc.js +0 -151
  44. package/dist/splitLink-7dca81ef.js +0 -41
  45. /package/dist/{TRPCClientError-67aefe1c.js → TRPCClientError.js} +0 -0
@@ -1,6 +1,4 @@
1
- import { observable, transformResult } from '@trpc/core';
2
- import { T as TRPCClientError } from './TRPCClientError-3414c3d5.mjs';
3
- import { r as resolveHTTPLinkOptions, g as getUrl, j as jsonHttpRequester } from './httpUtils-82ae6a64.mjs';
1
+ 'use strict';
4
2
 
5
3
  /* eslint-disable @typescript-eslint/no-non-null-assertion */ /**
6
4
  * A function that should never be called unless we messed something up.
@@ -132,116 +130,4 @@ import { r as resolveHTTPLinkOptions, g as getUrl, j as jsonHttpRequester } from
132
130
  };
133
131
  }
134
132
 
135
- /**
136
- * @internal
137
- */ function createHTTPBatchLink(requester) {
138
- return function httpBatchLink(opts) {
139
- const resolvedOpts = resolveHTTPLinkOptions(opts);
140
- const maxURLLength = opts.maxURLLength ?? Infinity;
141
- // initialized config
142
- return (runtime)=>{
143
- const batchLoader = (type)=>{
144
- const validate = (batchOps)=>{
145
- if (maxURLLength === Infinity) {
146
- // escape hatch for quick calcs
147
- return true;
148
- }
149
- const path = batchOps.map((op)=>op.path).join(',');
150
- const inputs = batchOps.map((op)=>op.input);
151
- const url = getUrl({
152
- ...resolvedOpts,
153
- runtime,
154
- type,
155
- path,
156
- inputs
157
- });
158
- return url.length <= maxURLLength;
159
- };
160
- const fetch = requester({
161
- ...resolvedOpts,
162
- runtime,
163
- type,
164
- opts
165
- });
166
- return {
167
- validate,
168
- fetch
169
- };
170
- };
171
- const query = dataLoader(batchLoader('query'));
172
- const mutation = dataLoader(batchLoader('mutation'));
173
- const subscription = dataLoader(batchLoader('subscription'));
174
- const loaders = {
175
- query,
176
- subscription,
177
- mutation
178
- };
179
- return ({ op })=>{
180
- return observable((observer)=>{
181
- const loader = loaders[op.type];
182
- const { promise , cancel } = loader.load(op);
183
- let _res = undefined;
184
- promise.then((res)=>{
185
- _res = res;
186
- const transformed = transformResult(res.json, runtime.transformer);
187
- if (!transformed.ok) {
188
- observer.error(TRPCClientError.from(transformed.error, {
189
- meta: res.meta
190
- }));
191
- return;
192
- }
193
- observer.next({
194
- context: res.meta,
195
- result: transformed.result
196
- });
197
- observer.complete();
198
- }).catch((err)=>{
199
- observer.error(TRPCClientError.from(err, {
200
- meta: _res?.meta
201
- }));
202
- });
203
- return ()=>{
204
- cancel();
205
- };
206
- });
207
- };
208
- };
209
- };
210
- }
211
-
212
- const batchRequester = (requesterOpts)=>{
213
- return (batchOps)=>{
214
- const path = batchOps.map((op)=>op.path).join(',');
215
- const inputs = batchOps.map((op)=>op.input);
216
- const { promise , cancel } = jsonHttpRequester({
217
- ...requesterOpts,
218
- path,
219
- inputs,
220
- headers () {
221
- if (!requesterOpts.opts.headers) {
222
- return {};
223
- }
224
- if (typeof requesterOpts.opts.headers === 'function') {
225
- return requesterOpts.opts.headers({
226
- opList: batchOps
227
- });
228
- }
229
- return requesterOpts.opts.headers;
230
- }
231
- });
232
- return {
233
- promise: promise.then((res)=>{
234
- const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
235
- const result = resJSON.map((item)=>({
236
- meta: res.meta,
237
- json: item
238
- }));
239
- return result;
240
- }),
241
- cancel
242
- };
243
- };
244
- };
245
- const httpBatchLink = createHTTPBatchLink(batchRequester);
246
-
247
- export { createHTTPBatchLink as c, httpBatchLink as h };
133
+ exports.dataLoader = dataLoader;
@@ -1,9 +1,3 @@
1
- 'use strict';
2
-
3
- var core = require('@trpc/core');
4
- var TRPCClientError = require('./TRPCClientError-67aefe1c.js');
5
- var httpUtils = require('./httpUtils-60af4c3d.js');
6
-
7
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */ /**
8
2
  * A function that should never be called unless we messed something up.
9
3
  */ const throwFatalError = ()=>{
@@ -134,117 +128,4 @@ var httpUtils = require('./httpUtils-60af4c3d.js');
134
128
  };
135
129
  }
136
130
 
137
- /**
138
- * @internal
139
- */ function createHTTPBatchLink(requester) {
140
- return function httpBatchLink(opts) {
141
- const resolvedOpts = httpUtils.resolveHTTPLinkOptions(opts);
142
- const maxURLLength = opts.maxURLLength ?? Infinity;
143
- // initialized config
144
- return (runtime)=>{
145
- const batchLoader = (type)=>{
146
- const validate = (batchOps)=>{
147
- if (maxURLLength === Infinity) {
148
- // escape hatch for quick calcs
149
- return true;
150
- }
151
- const path = batchOps.map((op)=>op.path).join(',');
152
- const inputs = batchOps.map((op)=>op.input);
153
- const url = httpUtils.getUrl({
154
- ...resolvedOpts,
155
- runtime,
156
- type,
157
- path,
158
- inputs
159
- });
160
- return url.length <= maxURLLength;
161
- };
162
- const fetch = requester({
163
- ...resolvedOpts,
164
- runtime,
165
- type,
166
- opts
167
- });
168
- return {
169
- validate,
170
- fetch
171
- };
172
- };
173
- const query = dataLoader(batchLoader('query'));
174
- const mutation = dataLoader(batchLoader('mutation'));
175
- const subscription = dataLoader(batchLoader('subscription'));
176
- const loaders = {
177
- query,
178
- subscription,
179
- mutation
180
- };
181
- return ({ op })=>{
182
- return core.observable((observer)=>{
183
- const loader = loaders[op.type];
184
- const { promise , cancel } = loader.load(op);
185
- let _res = undefined;
186
- promise.then((res)=>{
187
- _res = res;
188
- const transformed = core.transformResult(res.json, runtime.transformer);
189
- if (!transformed.ok) {
190
- observer.error(TRPCClientError.TRPCClientError.from(transformed.error, {
191
- meta: res.meta
192
- }));
193
- return;
194
- }
195
- observer.next({
196
- context: res.meta,
197
- result: transformed.result
198
- });
199
- observer.complete();
200
- }).catch((err)=>{
201
- observer.error(TRPCClientError.TRPCClientError.from(err, {
202
- meta: _res?.meta
203
- }));
204
- });
205
- return ()=>{
206
- cancel();
207
- };
208
- });
209
- };
210
- };
211
- };
212
- }
213
-
214
- const batchRequester = (requesterOpts)=>{
215
- return (batchOps)=>{
216
- const path = batchOps.map((op)=>op.path).join(',');
217
- const inputs = batchOps.map((op)=>op.input);
218
- const { promise , cancel } = httpUtils.jsonHttpRequester({
219
- ...requesterOpts,
220
- path,
221
- inputs,
222
- headers () {
223
- if (!requesterOpts.opts.headers) {
224
- return {};
225
- }
226
- if (typeof requesterOpts.opts.headers === 'function') {
227
- return requesterOpts.opts.headers({
228
- opList: batchOps
229
- });
230
- }
231
- return requesterOpts.opts.headers;
232
- }
233
- });
234
- return {
235
- promise: promise.then((res)=>{
236
- const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
237
- const result = resJSON.map((item)=>({
238
- meta: res.meta,
239
- json: item
240
- }));
241
- return result;
242
- }),
243
- cancel
244
- };
245
- };
246
- };
247
- const httpBatchLink = createHTTPBatchLink(batchRequester);
248
-
249
- exports.createHTTPBatchLink = createHTTPBatchLink;
250
- exports.httpBatchLink = httpBatchLink;
131
+ export { dataLoader };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ function getAbortController(customAbortControllerImpl) {
4
+ if (customAbortControllerImpl) {
5
+ return customAbortControllerImpl;
6
+ }
7
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
8
+ if (typeof window !== 'undefined' && window.AbortController) {
9
+ return window.AbortController;
10
+ }
11
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
12
+ if (typeof globalThis !== 'undefined' && globalThis.AbortController) {
13
+ return globalThis.AbortController;
14
+ }
15
+ return null;
16
+ }
17
+
18
+ exports.getAbortController = getAbortController;
@@ -0,0 +1,16 @@
1
+ function getAbortController(customAbortControllerImpl) {
2
+ if (customAbortControllerImpl) {
3
+ return customAbortControllerImpl;
4
+ }
5
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
6
+ if (typeof window !== 'undefined' && window.AbortController) {
7
+ return window.AbortController;
8
+ }
9
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
10
+ if (typeof globalThis !== 'undefined' && globalThis.AbortController) {
11
+ return globalThis.AbortController;
12
+ }
13
+ return null;
14
+ }
15
+
16
+ export { getAbortController };
@@ -1,12 +1,41 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ var createHTTPBatchLink = require('./internals/createHTTPBatchLink.js');
4
+ var httpUtils = require('./internals/httpUtils.js');
4
5
 
5
- var links_httpBatchLink = require('../httpBatchLink-63113d09.js');
6
- require('../httpUtils-60af4c3d.js');
7
- require('@trpc/core');
8
- require('../TRPCClientError-67aefe1c.js');
6
+ const batchRequester = (requesterOpts)=>{
7
+ return (batchOps)=>{
8
+ const path = batchOps.map((op)=>op.path).join(',');
9
+ const inputs = batchOps.map((op)=>op.input);
10
+ const { promise , cancel } = httpUtils.jsonHttpRequester({
11
+ ...requesterOpts,
12
+ path,
13
+ inputs,
14
+ headers () {
15
+ if (!requesterOpts.opts.headers) {
16
+ return {};
17
+ }
18
+ if (typeof requesterOpts.opts.headers === 'function') {
19
+ return requesterOpts.opts.headers({
20
+ opList: batchOps
21
+ });
22
+ }
23
+ return requesterOpts.opts.headers;
24
+ }
25
+ });
26
+ return {
27
+ promise: promise.then((res)=>{
28
+ const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
29
+ const result = resJSON.map((item)=>({
30
+ meta: res.meta,
31
+ json: item
32
+ }));
33
+ return result;
34
+ }),
35
+ cancel
36
+ };
37
+ };
38
+ };
39
+ const httpBatchLink = createHTTPBatchLink.createHTTPBatchLink(batchRequester);
9
40
 
10
-
11
-
12
- exports.httpBatchLink = links_httpBatchLink.httpBatchLink;
41
+ exports.httpBatchLink = httpBatchLink;
@@ -1,4 +1,39 @@
1
- export { h as httpBatchLink } from '../httpBatchLink-c5101526.mjs';
2
- import '../httpUtils-82ae6a64.mjs';
3
- import '@trpc/core';
4
- import '../TRPCClientError-3414c3d5.mjs';
1
+ import { createHTTPBatchLink } from './internals/createHTTPBatchLink.mjs';
2
+ import { jsonHttpRequester } from './internals/httpUtils.mjs';
3
+
4
+ const batchRequester = (requesterOpts)=>{
5
+ return (batchOps)=>{
6
+ const path = batchOps.map((op)=>op.path).join(',');
7
+ const inputs = batchOps.map((op)=>op.input);
8
+ const { promise , cancel } = jsonHttpRequester({
9
+ ...requesterOpts,
10
+ path,
11
+ inputs,
12
+ headers () {
13
+ if (!requesterOpts.opts.headers) {
14
+ return {};
15
+ }
16
+ if (typeof requesterOpts.opts.headers === 'function') {
17
+ return requesterOpts.opts.headers({
18
+ opList: batchOps
19
+ });
20
+ }
21
+ return requesterOpts.opts.headers;
22
+ }
23
+ });
24
+ return {
25
+ promise: promise.then((res)=>{
26
+ const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);
27
+ const result = resJSON.map((item)=>({
28
+ meta: res.meta,
29
+ json: item
30
+ }));
31
+ return result;
32
+ }),
33
+ cancel
34
+ };
35
+ };
36
+ };
37
+ const httpBatchLink = createHTTPBatchLink(batchRequester);
38
+
39
+ export { httpBatchLink };
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var createHTTPBatchLink = require('./internals/createHTTPBatchLink.js');
4
+ var getTextDecoder = require('./internals/getTextDecoder.js');
5
+ var parseJSONStream = require('./internals/parseJSONStream.js');
6
+
7
+ const streamRequester = (requesterOpts)=>{
8
+ const textDecoder = getTextDecoder.getTextDecoder(requesterOpts.opts.textDecoder);
9
+ return (batchOps, unitResolver)=>{
10
+ const path = batchOps.map((op)=>op.path).join(',');
11
+ const inputs = batchOps.map((op)=>op.input);
12
+ const { cancel , promise } = parseJSONStream.streamingJsonHttpRequester({
13
+ ...requesterOpts,
14
+ textDecoder,
15
+ path,
16
+ inputs,
17
+ headers () {
18
+ if (!requesterOpts.opts.headers) {
19
+ return {};
20
+ }
21
+ if (typeof requesterOpts.opts.headers === 'function') {
22
+ return requesterOpts.opts.headers({
23
+ opList: batchOps
24
+ });
25
+ }
26
+ return requesterOpts.opts.headers;
27
+ }
28
+ }, (index, res)=>{
29
+ unitResolver(index, res);
30
+ });
31
+ return {
32
+ /**
33
+ * return an empty array because the batchLoader expects an array of results
34
+ * but we've already called the `unitResolver` for each of them, there's
35
+ * nothing left to do here.
36
+ */ promise: promise.then(()=>[]),
37
+ cancel
38
+ };
39
+ };
40
+ };
41
+ const unstable_httpBatchStreamLink = createHTTPBatchLink.createHTTPBatchLink(streamRequester);
42
+
43
+ exports.unstable_httpBatchStreamLink = unstable_httpBatchStreamLink;
@@ -0,0 +1,41 @@
1
+ import { createHTTPBatchLink } from './internals/createHTTPBatchLink.mjs';
2
+ import { getTextDecoder } from './internals/getTextDecoder.mjs';
3
+ import { streamingJsonHttpRequester } from './internals/parseJSONStream.mjs';
4
+
5
+ const streamRequester = (requesterOpts)=>{
6
+ const textDecoder = getTextDecoder(requesterOpts.opts.textDecoder);
7
+ return (batchOps, unitResolver)=>{
8
+ const path = batchOps.map((op)=>op.path).join(',');
9
+ const inputs = batchOps.map((op)=>op.input);
10
+ const { cancel , promise } = streamingJsonHttpRequester({
11
+ ...requesterOpts,
12
+ textDecoder,
13
+ path,
14
+ inputs,
15
+ headers () {
16
+ if (!requesterOpts.opts.headers) {
17
+ return {};
18
+ }
19
+ if (typeof requesterOpts.opts.headers === 'function') {
20
+ return requesterOpts.opts.headers({
21
+ opList: batchOps
22
+ });
23
+ }
24
+ return requesterOpts.opts.headers;
25
+ }
26
+ }, (index, res)=>{
27
+ unitResolver(index, res);
28
+ });
29
+ return {
30
+ /**
31
+ * return an empty array because the batchLoader expects an array of results
32
+ * but we've already called the `unitResolver` for each of them, there's
33
+ * nothing left to do here.
34
+ */ promise: promise.then(()=>[]),
35
+ cancel
36
+ };
37
+ };
38
+ };
39
+ const unstable_httpBatchStreamLink = createHTTPBatchLink(streamRequester);
40
+
41
+ export { unstable_httpBatchStreamLink };
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var httpLink = require('./httpLink.js');
4
+ var httpUtils = require('./internals/httpUtils.js');
5
+
6
+ const formDataRequester = (opts)=>{
7
+ if (opts.type !== 'mutation') {
8
+ // TODO(?) handle formdata queries
9
+ throw new Error('We only handle mutations with formdata');
10
+ }
11
+ return httpUtils.httpRequest({
12
+ ...opts,
13
+ getUrl () {
14
+ return `${opts.url}/${opts.path}`;
15
+ },
16
+ getBody (opts) {
17
+ if (!('input' in opts)) {
18
+ return undefined;
19
+ }
20
+ if (!(opts.input instanceof FormData)) {
21
+ throw new Error('Input is not FormData');
22
+ }
23
+ return opts.input;
24
+ }
25
+ });
26
+ };
27
+ const experimental_formDataLink = httpLink.httpLinkFactory({
28
+ requester: formDataRequester
29
+ });
30
+
31
+ exports.experimental_formDataLink = experimental_formDataLink;
@@ -0,0 +1,29 @@
1
+ import { httpLinkFactory } from './httpLink.mjs';
2
+ import { httpRequest } from './internals/httpUtils.mjs';
3
+
4
+ const formDataRequester = (opts)=>{
5
+ if (opts.type !== 'mutation') {
6
+ // TODO(?) handle formdata queries
7
+ throw new Error('We only handle mutations with formdata');
8
+ }
9
+ return httpRequest({
10
+ ...opts,
11
+ getUrl () {
12
+ return `${opts.url}/${opts.path}`;
13
+ },
14
+ getBody (opts) {
15
+ if (!('input' in opts)) {
16
+ return undefined;
17
+ }
18
+ if (!(opts.input instanceof FormData)) {
19
+ throw new Error('Input is not FormData');
20
+ }
21
+ return opts.input;
22
+ }
23
+ });
24
+ };
25
+ const experimental_formDataLink = httpLinkFactory({
26
+ requester: formDataRequester
27
+ });
28
+
29
+ export { experimental_formDataLink };
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@trpc/core');
6
- var TRPCClientError = require('../TRPCClientError-67aefe1c.js');
7
- var httpUtils = require('../httpUtils-60af4c3d.js');
4
+ var TRPCClientError = require('../TRPCClientError.js');
5
+ var httpUtils = require('./internals/httpUtils.js');
8
6
 
9
7
  function httpLinkFactory(factoryOpts) {
10
8
  return (opts)=>{
@@ -1,6 +1,6 @@
1
1
  import { observable, transformResult } from '@trpc/core';
2
- import { T as TRPCClientError } from '../TRPCClientError-3414c3d5.mjs';
3
- import { r as resolveHTTPLinkOptions, j as jsonHttpRequester } from '../httpUtils-82ae6a64.mjs';
2
+ import { TRPCClientError } from '../TRPCClientError.mjs';
3
+ import { resolveHTTPLinkOptions, jsonHttpRequester } from './internals/httpUtils.mjs';
4
4
 
5
5
  function httpLinkFactory(factoryOpts) {
6
6
  return (opts)=>{
@@ -23,26 +23,4 @@ var core = require('@trpc/core');
23
23
  });
24
24
  }
25
25
 
26
- function asArray(value) {
27
- return Array.isArray(value) ? value : [
28
- value
29
- ];
30
- }
31
- function splitLink(opts) {
32
- return (runtime)=>{
33
- const yes = asArray(opts.true).map((link)=>link(runtime));
34
- const no = asArray(opts.false).map((link)=>link(runtime));
35
- return (props)=>{
36
- return core.observable((observer)=>{
37
- const links = opts.condition(props.op) ? yes : no;
38
- return createChain({
39
- op: props.op,
40
- links
41
- }).subscribe(observer);
42
- });
43
- };
44
- };
45
- }
46
-
47
26
  exports.createChain = createChain;
48
- exports.splitLink = splitLink;
@@ -21,25 +21,4 @@ import { observable } from '@trpc/core';
21
21
  });
22
22
  }
23
23
 
24
- function asArray(value) {
25
- return Array.isArray(value) ? value : [
26
- value
27
- ];
28
- }
29
- function splitLink(opts) {
30
- return (runtime)=>{
31
- const yes = asArray(opts.true).map((link)=>link(runtime));
32
- const no = asArray(opts.false).map((link)=>link(runtime));
33
- return (props)=>{
34
- return observable((observer)=>{
35
- const links = opts.condition(props.op) ? yes : no;
36
- return createChain({
37
- op: props.op,
38
- links
39
- }).subscribe(observer);
40
- });
41
- };
42
- };
43
- }
44
-
45
- export { createChain as c, splitLink as s };
24
+ export { createChain };