@subsquid/evm-typegen 2.0.1 → 2.0.3
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/lib/multicall.d.ts +3 -3
- package/lib/multicall.d.ts.map +1 -1
- package/lib/typegen.js.map +1 -1
- package/lib/util/fetch.d.ts +0 -5
- package/lib/util/fetch.d.ts.map +1 -1
- package/lib/util/fetch.js +8 -100
- package/lib/util/fetch.js.map +1 -1
- package/lib/util/types.js +1 -1
- package/lib/util/types.js.map +1 -1
- package/package.json +9 -10
- package/src/util/fetch.ts +7 -76
- package/src/util/types.ts +1 -1
package/lib/multicall.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as ethers from 'ethers';
|
|
2
2
|
import { ContractBase, Func } from './abi.support';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
3
|
+
type AnyFunc = Func<any, {}, any>;
|
|
4
|
+
type Call = [address: string, bytes: string];
|
|
5
|
+
export type MulticallResult<T> = {
|
|
6
6
|
success: true;
|
|
7
7
|
value: T;
|
|
8
8
|
} | {
|
package/lib/multicall.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAoDhD,
|
|
1
|
+
{"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAoDhD,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AACjC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAa5C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACX,GAAG;IACA,OAAO,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAGD,qBAAa,SAAU,SAAQ,YAAY;IACvC,MAAM,CAAC,SAAS;;;OAAY;IAC5B,MAAM,CAAC,aAAa;;;SAAgB;IAEpC,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC;IAEf,SAAS,CACL,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC;IAgBjB,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EACvB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhC,YAAY,CACR,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EACtD,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IA2BlC,OAAO,CAAC,SAAS;CA2CpB"}
|
package/lib/typegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
|
package/lib/util/fetch.d.ts
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
export declare function GET<T = any>(url: string): Promise<T>;
|
|
2
|
-
export declare class HttpError extends Error {
|
|
3
|
-
readonly status: number;
|
|
4
|
-
readonly body?: string | undefined;
|
|
5
|
-
constructor(status: number, body?: string | undefined);
|
|
6
|
-
}
|
|
7
2
|
//# sourceMappingURL=fetch.d.ts.map
|
package/lib/util/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":"AAUA,wBAAgB,GAAG,CAAC,CAAC,GAAC,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAElD"}
|
package/lib/util/fetch.js
CHANGED
|
@@ -1,106 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
3
|
+
exports.GET = void 0;
|
|
30
4
|
const logger_1 = require("@subsquid/logger");
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
headers: {
|
|
39
|
-
'accept': 'application/json',
|
|
40
|
-
'accept-encoding': 'gzip, br'
|
|
41
|
-
},
|
|
42
|
-
timeout: 10000
|
|
43
|
-
};
|
|
44
|
-
let backoff = [1000, 2000];
|
|
45
|
-
let errors = 0;
|
|
46
|
-
while (true) {
|
|
47
|
-
let result = await performFetch(url, init).catch(err => {
|
|
48
|
-
(0, assert_1.default)(err instanceof Error);
|
|
49
|
-
return err;
|
|
50
|
-
});
|
|
51
|
-
if (errors < backoff.length && isRetryableError(result)) {
|
|
52
|
-
let timeout = backoff[errors];
|
|
53
|
-
LOG.warn(`${result.toString()}. Trying again in ${timeout / 1000} seconds`);
|
|
54
|
-
errors += 1;
|
|
55
|
-
await (0, util_internal_1.wait)(timeout);
|
|
56
|
-
}
|
|
57
|
-
else if (result instanceof Error) {
|
|
58
|
-
throw result;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
5
|
+
const util_internal_http_client_1 = require("@subsquid/util-internal-http-client");
|
|
6
|
+
const http = new util_internal_http_client_1.HttpClient({
|
|
7
|
+
log: (0, logger_1.createLogger)('sqd:evm-typegen:fetch'),
|
|
8
|
+
retryAttempts: 3
|
|
9
|
+
});
|
|
10
|
+
function GET(url) {
|
|
11
|
+
return http.get(url);
|
|
64
12
|
}
|
|
65
13
|
exports.GET = GET;
|
|
66
|
-
async function performFetch(url, init) {
|
|
67
|
-
let response = await (0, node_fetch_1.default)(url, init);
|
|
68
|
-
if (response.ok)
|
|
69
|
-
return response.json();
|
|
70
|
-
let body = await response.text();
|
|
71
|
-
throw new HttpError(response.status, body);
|
|
72
|
-
}
|
|
73
|
-
function isRetryableError(err) {
|
|
74
|
-
if (err instanceof HttpError) {
|
|
75
|
-
switch (err.status) {
|
|
76
|
-
case 429:
|
|
77
|
-
case 502:
|
|
78
|
-
case 503:
|
|
79
|
-
case 504:
|
|
80
|
-
return true;
|
|
81
|
-
default:
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (err instanceof node_fetch_1.FetchError) {
|
|
86
|
-
switch (err.type) {
|
|
87
|
-
case 'body-timeout':
|
|
88
|
-
case 'request-timeout':
|
|
89
|
-
return true;
|
|
90
|
-
case 'system':
|
|
91
|
-
return err.message.startsWith('request to');
|
|
92
|
-
default:
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
class HttpError extends Error {
|
|
99
|
-
constructor(status, body) {
|
|
100
|
-
super(`Got http ${status}`);
|
|
101
|
-
this.status = status;
|
|
102
|
-
this.body = body;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.HttpError = HttpError;
|
|
106
14
|
//# sourceMappingURL=fetch.js.map
|
package/lib/util/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/util/fetch.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,mFAA8D;AAG9D,MAAM,IAAI,GAAG,IAAI,sCAAU,CAAC;IACxB,GAAG,EAAE,IAAA,qBAAY,EAAC,uBAAuB,CAAC;IAC1C,aAAa,EAAE,CAAC;CACnB,CAAC,CAAA;AAGF,SAAgB,GAAG,CAAQ,GAAW;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAFD,kBAEC"}
|
package/lib/util/types.js
CHANGED
|
@@ -38,7 +38,7 @@ function getFullTupleType(params) {
|
|
|
38
38
|
exports.getFullTupleType = getFullTupleType;
|
|
39
39
|
function getTupleType(params) {
|
|
40
40
|
return '[' + params.map(p => {
|
|
41
|
-
return p.name ? `${p.name}: ${getType(p)}` : getType(p)
|
|
41
|
+
return p.name ? `${p.name}: ${getType(p)}` : `_: ${getType(p)}`;
|
|
42
42
|
}).join(', ') + ']';
|
|
43
43
|
}
|
|
44
44
|
exports.getTupleType = getTupleType;
|
package/lib/util/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":";;;AAGA,yIAAyI;AACzI,SAAgB,OAAO,CAAC,KAAgB;IACpC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC5B,OAAO,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,CAAA;KACvD;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC5B,OAAO,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;KAC5C;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QACrD,OAAO,QAAQ,CAAA;KAClB;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QACvB,OAAO,SAAS,CAAA;KACnB;IAED,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACjD,IAAI,KAAK,EAAE;QACP,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAA;KACjE;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;QACxC,OAAO,QAAQ,CAAA;KAClB;IAED,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;AACnC,CAAC;AA3BD,0BA2BC;AAGD,SAAgB,gBAAgB,CAAC,MAAmB;IAChD,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,OAAO,KAAK,CAAA;KACf;SAAM;QACH,OAAO,IAAI,KAAK,MAAM,MAAM,GAAG,CAAA;KAClC;AACL,CAAC;AARD,4CAQC;AAGD,SAAgB,YAAY,CAAC,MAAmB;IAC5C,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subsquid/evm-typegen",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "CLI for generating typescript types and decode implementations for evm logs",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": "git@github.com:subsquid/squid.git",
|
|
@@ -16,20 +16,19 @@
|
|
|
16
16
|
"squid-evm-typegen": "bin/run.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"commander": "^9.3.0",
|
|
20
19
|
"@ethersproject/abi": "^5.7.0",
|
|
21
20
|
"@ethersproject/address": "^5.7.0",
|
|
22
|
-
"@subsquid/logger": "^0.3.
|
|
23
|
-
"@subsquid/util-internal
|
|
24
|
-
"@subsquid/util-internal-
|
|
25
|
-
"@subsquid/util-internal": "^
|
|
26
|
-
"
|
|
21
|
+
"@subsquid/logger": "^0.3.1",
|
|
22
|
+
"@subsquid/util-internal": "^1.1.0",
|
|
23
|
+
"@subsquid/util-internal-code-printer": "^0.1.1",
|
|
24
|
+
"@subsquid/util-internal-commander": "^0.0.2",
|
|
25
|
+
"@subsquid/util-internal-http-client": "^0.0.0",
|
|
26
|
+
"commander": "^10.0.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/node": "^16.
|
|
30
|
-
"@types/node-fetch": "^2.6.2",
|
|
29
|
+
"@types/node": "^16.18.12",
|
|
31
30
|
"ethers": "^5.7.2",
|
|
32
|
-
"typescript": "~4.
|
|
31
|
+
"typescript": "~4.9.5"
|
|
33
32
|
},
|
|
34
33
|
"scripts": {
|
|
35
34
|
"build": "rm -rf lib && tsc"
|
package/src/util/fetch.ts
CHANGED
|
@@ -1,82 +1,13 @@
|
|
|
1
1
|
import {createLogger} from '@subsquid/logger'
|
|
2
|
-
import {
|
|
3
|
-
import assert from 'assert'
|
|
4
|
-
import fetch, {FetchError, RequestInit} from 'node-fetch'
|
|
2
|
+
import {HttpClient} from '@subsquid/util-internal-http-client'
|
|
5
3
|
|
|
6
4
|
|
|
7
|
-
const
|
|
5
|
+
const http = new HttpClient({
|
|
6
|
+
log: createLogger('sqd:evm-typegen:fetch'),
|
|
7
|
+
retryAttempts: 3
|
|
8
|
+
})
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
method: 'GET',
|
|
13
|
-
headers: {
|
|
14
|
-
'accept': 'application/json',
|
|
15
|
-
'accept-encoding': 'gzip, br'
|
|
16
|
-
},
|
|
17
|
-
timeout: 10_000
|
|
18
|
-
}
|
|
19
|
-
let backoff = [1000, 2000]
|
|
20
|
-
let errors = 0
|
|
21
|
-
while (true) {
|
|
22
|
-
let result = await performFetch(url, init).catch(err => {
|
|
23
|
-
assert(err instanceof Error)
|
|
24
|
-
return err
|
|
25
|
-
})
|
|
26
|
-
if (errors < backoff.length && isRetryableError(result)) {
|
|
27
|
-
let timeout = backoff[errors]
|
|
28
|
-
LOG.warn(`${result.toString()}. Trying again in ${timeout/1000} seconds`)
|
|
29
|
-
errors += 1
|
|
30
|
-
await wait(timeout)
|
|
31
|
-
} else if (result instanceof Error) {
|
|
32
|
-
throw result
|
|
33
|
-
} else {
|
|
34
|
-
return result
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
async function performFetch(url: string, init: RequestInit): Promise<any> {
|
|
41
|
-
let response = await fetch(url, init)
|
|
42
|
-
if (response.ok) return response.json()
|
|
43
|
-
let body = await response.text()
|
|
44
|
-
throw new HttpError(response.status, body)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
function isRetryableError(err: unknown): err is Error {
|
|
49
|
-
if (err instanceof HttpError) {
|
|
50
|
-
switch(err.status) {
|
|
51
|
-
case 429:
|
|
52
|
-
case 502:
|
|
53
|
-
case 503:
|
|
54
|
-
case 504:
|
|
55
|
-
return true
|
|
56
|
-
default:
|
|
57
|
-
return false
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
if (err instanceof FetchError) {
|
|
61
|
-
switch(err.type) {
|
|
62
|
-
case 'body-timeout':
|
|
63
|
-
case 'request-timeout':
|
|
64
|
-
return true
|
|
65
|
-
case 'system':
|
|
66
|
-
return err.message.startsWith('request to')
|
|
67
|
-
default:
|
|
68
|
-
return false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return false
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export class HttpError extends Error {
|
|
76
|
-
constructor(
|
|
77
|
-
public readonly status: number,
|
|
78
|
-
public readonly body?: string
|
|
79
|
-
) {
|
|
80
|
-
super(`Got http ${status}`)
|
|
81
|
-
}
|
|
11
|
+
export function GET<T=any>(url: string): Promise<T> {
|
|
12
|
+
return http.get(url)
|
|
82
13
|
}
|
package/src/util/types.ts
CHANGED
|
@@ -45,7 +45,7 @@ export function getFullTupleType(params: ParamType[]): string {
|
|
|
45
45
|
|
|
46
46
|
export function getTupleType(params: ParamType[]): string {
|
|
47
47
|
return '[' + params.map(p => {
|
|
48
|
-
return p.name ? `${p.name}: ${getType(p)}` : getType(p)
|
|
48
|
+
return p.name ? `${p.name}: ${getType(p)}` : `_: ${getType(p)}`
|
|
49
49
|
}).join(', ') + ']'
|
|
50
50
|
}
|
|
51
51
|
|