satuchain-api 1.0.3 → 1.0.7
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/dist/cjs/client.cjs +66 -4
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.cjs +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/client.d.ts +51 -3
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +65 -3
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +57 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/types/client.d.ts +51 -3
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +57 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/client.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SatuChainAPI = void 0;
|
|
3
|
+
exports.SatuChain = exports.SatuChainAPI = void 0;
|
|
4
4
|
const errors_js_1 = require("./errors.js");
|
|
5
5
|
const DEFAULT_BASE_URL = "https://dev.satuchain.com";
|
|
6
6
|
const DEFAULT_TIMEOUT = 10000;
|
|
@@ -37,7 +37,7 @@ class SatuChainAPI {
|
|
|
37
37
|
headers: {
|
|
38
38
|
"X-API-Key": this.apiKey,
|
|
39
39
|
"Accept": "application/json",
|
|
40
|
-
"User-Agent": "satuchain-sdk/1.0.
|
|
40
|
+
"User-Agent": "satuchain-sdk/1.0.7",
|
|
41
41
|
},
|
|
42
42
|
signal,
|
|
43
43
|
});
|
|
@@ -80,13 +80,12 @@ class SatuChainAPI {
|
|
|
80
80
|
return json;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
* Fetch live commodity, forex, and crypto price data.
|
|
83
|
+
* Fetch live commodity, forex, and crypto price data in one call.
|
|
84
84
|
*
|
|
85
85
|
* @example
|
|
86
86
|
* const data = await api.getCommodities();
|
|
87
87
|
* console.log(data.forex.IDR.value); // IDR per 1 USD
|
|
88
88
|
* console.log(data.crypto.BTC.value); // BTC price in USD
|
|
89
|
-
* console.log(data.crypto.ETH.value); // ETH price in USD
|
|
90
89
|
* console.log(data.commodities.XAU.value); // Gold USD/troy oz
|
|
91
90
|
* console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
|
|
92
91
|
* console.log(data.tier); // "basic" or "pro"
|
|
@@ -94,6 +93,52 @@ class SatuChainAPI {
|
|
|
94
93
|
async getCommodities(opts) {
|
|
95
94
|
return this.request("/api/commodities", opts);
|
|
96
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the price of a single symbol (forex, crypto, or commodity).
|
|
98
|
+
* Returns value in USD and IDR, plus change_percent for commodities.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* const btc = await api.getTicker("BTC");
|
|
102
|
+
* console.log(btc.value); // BTC price in USD
|
|
103
|
+
* console.log(btc.value_idr); // BTC price in IDR
|
|
104
|
+
*
|
|
105
|
+
* const gold = await api.getTicker("XAU");
|
|
106
|
+
* console.log(gold.change_percent); // % change from previous close
|
|
107
|
+
*/
|
|
108
|
+
async getTicker(symbol, opts) {
|
|
109
|
+
return this.request(`/api/ticker/${symbol.toUpperCase()}`, opts);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convert between any two supported symbols (forex, crypto, commodity).
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
|
|
116
|
+
* console.log(result.result); // IDR amount
|
|
117
|
+
* console.log(result.rate); // 1 BTC in IDR
|
|
118
|
+
*
|
|
119
|
+
* const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
|
|
120
|
+
* console.log(myr.result); // MYR equivalent of 100 USD
|
|
121
|
+
*/
|
|
122
|
+
async convert(options) {
|
|
123
|
+
const { from, to, amount = 1, ...reqOpts } = options;
|
|
124
|
+
const params = new URLSearchParams({
|
|
125
|
+
from: from.toUpperCase(),
|
|
126
|
+
to: to.toUpperCase(),
|
|
127
|
+
amount: String(amount),
|
|
128
|
+
});
|
|
129
|
+
return this.request(`/api/convert?${params}`, reqOpts);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* const bi = await api.getBiRate();
|
|
136
|
+
* console.log(bi.rate_percent); // e.g. "6.00%"
|
|
137
|
+
* console.log(bi.since); // effective since date
|
|
138
|
+
*/
|
|
139
|
+
async getBiRate(opts) {
|
|
140
|
+
return this.request("/api/bi-rate", opts);
|
|
141
|
+
}
|
|
97
142
|
/**
|
|
98
143
|
* Get just the forex rates (subset of getCommodities).
|
|
99
144
|
*/
|
|
@@ -121,6 +166,23 @@ class SatuChainAPI {
|
|
|
121
166
|
async getMetals(opts) {
|
|
122
167
|
return this.getCommodityPrices(opts);
|
|
123
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Get the icon URL for a symbol (forex, crypto, or commodity).
|
|
171
|
+
* Returns a URL string — no API key required to fetch the icon itself.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* const url = api.getIconUrl("BTC");
|
|
175
|
+
* // "https://dev.satuchain.com/api/icon/BTC"
|
|
176
|
+
* // → redirects to the real brand logo (Trustwallet CDN etc.)
|
|
177
|
+
*
|
|
178
|
+
* // Use in HTML:
|
|
179
|
+
* img.src = api.getIconUrl("XAU");
|
|
180
|
+
*/
|
|
181
|
+
getIconUrl(symbol) {
|
|
182
|
+
return `${this.baseUrl}/api/icon/${symbol.toUpperCase()}`;
|
|
183
|
+
}
|
|
124
184
|
}
|
|
125
185
|
exports.SatuChainAPI = SatuChainAPI;
|
|
186
|
+
/** Alias for SatuChainAPI */
|
|
187
|
+
exports.SatuChain = SatuChainAPI;
|
|
126
188
|
//# sourceMappingURL=client.js.map
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SatuChainUpstreamError = exports.SatuChainRateLimitError = exports.SatuChainAuthError = exports.SatuChainError = exports.SatuChainAPI = void 0;
|
|
3
|
+
exports.SatuChainUpstreamError = exports.SatuChainRateLimitError = exports.SatuChainAuthError = exports.SatuChainError = exports.SatuChain = exports.SatuChainAPI = void 0;
|
|
4
4
|
var client_js_1 = require("./client.js");
|
|
5
5
|
Object.defineProperty(exports, "SatuChainAPI", { enumerable: true, get: function () { return client_js_1.SatuChainAPI; } });
|
|
6
|
+
Object.defineProperty(exports, "SatuChain", { enumerable: true, get: function () { return client_js_1.SatuChain; } });
|
|
6
7
|
var errors_js_1 = require("./errors.js");
|
|
7
8
|
Object.defineProperty(exports, "SatuChainError", { enumerable: true, get: function () { return errors_js_1.SatuChainError; } });
|
|
8
9
|
Object.defineProperty(exports, "SatuChainAuthError", { enumerable: true, get: function () { return errors_js_1.SatuChainAuthError; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AAA7C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAChC,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA"}
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, RateLimitInfo } from "./types.js";
|
|
1
|
+
import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, RateLimitInfo } from "./types.js";
|
|
2
2
|
export declare class SatuChainAPI {
|
|
3
3
|
private readonly apiKey;
|
|
4
4
|
private readonly baseUrl;
|
|
@@ -8,18 +8,51 @@ export declare class SatuChainAPI {
|
|
|
8
8
|
constructor(options: SatuChainAPIOptions | string);
|
|
9
9
|
private request;
|
|
10
10
|
/**
|
|
11
|
-
* Fetch live commodity, forex, and crypto price data.
|
|
11
|
+
* Fetch live commodity, forex, and crypto price data in one call.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* const data = await api.getCommodities();
|
|
15
15
|
* console.log(data.forex.IDR.value); // IDR per 1 USD
|
|
16
16
|
* console.log(data.crypto.BTC.value); // BTC price in USD
|
|
17
|
-
* console.log(data.crypto.ETH.value); // ETH price in USD
|
|
18
17
|
* console.log(data.commodities.XAU.value); // Gold USD/troy oz
|
|
19
18
|
* console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
|
|
20
19
|
* console.log(data.tier); // "basic" or "pro"
|
|
21
20
|
*/
|
|
22
21
|
getCommodities(opts?: RequestOptions): Promise<CommoditiesResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Get the price of a single symbol (forex, crypto, or commodity).
|
|
24
|
+
* Returns value in USD and IDR, plus change_percent for commodities.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const btc = await api.getTicker("BTC");
|
|
28
|
+
* console.log(btc.value); // BTC price in USD
|
|
29
|
+
* console.log(btc.value_idr); // BTC price in IDR
|
|
30
|
+
*
|
|
31
|
+
* const gold = await api.getTicker("XAU");
|
|
32
|
+
* console.log(gold.change_percent); // % change from previous close
|
|
33
|
+
*/
|
|
34
|
+
getTicker(symbol: string, opts?: RequestOptions): Promise<TickerResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Convert between any two supported symbols (forex, crypto, commodity).
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
|
|
40
|
+
* console.log(result.result); // IDR amount
|
|
41
|
+
* console.log(result.rate); // 1 BTC in IDR
|
|
42
|
+
*
|
|
43
|
+
* const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
|
|
44
|
+
* console.log(myr.result); // MYR equivalent of 100 USD
|
|
45
|
+
*/
|
|
46
|
+
convert(options: ConvertOptions): Promise<ConvertResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const bi = await api.getBiRate();
|
|
52
|
+
* console.log(bi.rate_percent); // e.g. "6.00%"
|
|
53
|
+
* console.log(bi.since); // effective since date
|
|
54
|
+
*/
|
|
55
|
+
getBiRate(opts?: RequestOptions): Promise<BiRateResponse>;
|
|
23
56
|
/**
|
|
24
57
|
* Get just the forex rates (subset of getCommodities).
|
|
25
58
|
*/
|
|
@@ -36,5 +69,20 @@ export declare class SatuChainAPI {
|
|
|
36
69
|
* @deprecated Use getCommodityPrices() instead.
|
|
37
70
|
*/
|
|
38
71
|
getMetals(opts?: RequestOptions): Promise<CommoditiesResponse["commodities"]>;
|
|
72
|
+
/**
|
|
73
|
+
* Get the icon URL for a symbol (forex, crypto, or commodity).
|
|
74
|
+
* Returns a URL string — no API key required to fetch the icon itself.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* const url = api.getIconUrl("BTC");
|
|
78
|
+
* // "https://dev.satuchain.com/api/icon/BTC"
|
|
79
|
+
* // → redirects to the real brand logo (Trustwallet CDN etc.)
|
|
80
|
+
*
|
|
81
|
+
* // Use in HTML:
|
|
82
|
+
* img.src = api.getIconUrl("XAU");
|
|
83
|
+
*/
|
|
84
|
+
getIconUrl(symbol: string): string;
|
|
39
85
|
}
|
|
86
|
+
/** Alias for SatuChainAPI */
|
|
87
|
+
export declare const SatuChain: typeof SatuChainAPI;
|
|
40
88
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E;;;;;;;;;;OAUG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhE;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAInF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGnC;AAED,6BAA6B;AAC7B,eAAO,MAAM,SAAS,qBAAe,CAAC"}
|
package/dist/esm/client.js
CHANGED
|
@@ -34,7 +34,7 @@ export class SatuChainAPI {
|
|
|
34
34
|
headers: {
|
|
35
35
|
"X-API-Key": this.apiKey,
|
|
36
36
|
"Accept": "application/json",
|
|
37
|
-
"User-Agent": "satuchain-sdk/1.0.
|
|
37
|
+
"User-Agent": "satuchain-sdk/1.0.7",
|
|
38
38
|
},
|
|
39
39
|
signal,
|
|
40
40
|
});
|
|
@@ -77,13 +77,12 @@ export class SatuChainAPI {
|
|
|
77
77
|
return json;
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
|
-
* Fetch live commodity, forex, and crypto price data.
|
|
80
|
+
* Fetch live commodity, forex, and crypto price data in one call.
|
|
81
81
|
*
|
|
82
82
|
* @example
|
|
83
83
|
* const data = await api.getCommodities();
|
|
84
84
|
* console.log(data.forex.IDR.value); // IDR per 1 USD
|
|
85
85
|
* console.log(data.crypto.BTC.value); // BTC price in USD
|
|
86
|
-
* console.log(data.crypto.ETH.value); // ETH price in USD
|
|
87
86
|
* console.log(data.commodities.XAU.value); // Gold USD/troy oz
|
|
88
87
|
* console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
|
|
89
88
|
* console.log(data.tier); // "basic" or "pro"
|
|
@@ -91,6 +90,52 @@ export class SatuChainAPI {
|
|
|
91
90
|
async getCommodities(opts) {
|
|
92
91
|
return this.request("/api/commodities", opts);
|
|
93
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Get the price of a single symbol (forex, crypto, or commodity).
|
|
95
|
+
* Returns value in USD and IDR, plus change_percent for commodities.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* const btc = await api.getTicker("BTC");
|
|
99
|
+
* console.log(btc.value); // BTC price in USD
|
|
100
|
+
* console.log(btc.value_idr); // BTC price in IDR
|
|
101
|
+
*
|
|
102
|
+
* const gold = await api.getTicker("XAU");
|
|
103
|
+
* console.log(gold.change_percent); // % change from previous close
|
|
104
|
+
*/
|
|
105
|
+
async getTicker(symbol, opts) {
|
|
106
|
+
return this.request(`/api/ticker/${symbol.toUpperCase()}`, opts);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Convert between any two supported symbols (forex, crypto, commodity).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
|
|
113
|
+
* console.log(result.result); // IDR amount
|
|
114
|
+
* console.log(result.rate); // 1 BTC in IDR
|
|
115
|
+
*
|
|
116
|
+
* const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
|
|
117
|
+
* console.log(myr.result); // MYR equivalent of 100 USD
|
|
118
|
+
*/
|
|
119
|
+
async convert(options) {
|
|
120
|
+
const { from, to, amount = 1, ...reqOpts } = options;
|
|
121
|
+
const params = new URLSearchParams({
|
|
122
|
+
from: from.toUpperCase(),
|
|
123
|
+
to: to.toUpperCase(),
|
|
124
|
+
amount: String(amount),
|
|
125
|
+
});
|
|
126
|
+
return this.request(`/api/convert?${params}`, reqOpts);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* const bi = await api.getBiRate();
|
|
133
|
+
* console.log(bi.rate_percent); // e.g. "6.00%"
|
|
134
|
+
* console.log(bi.since); // effective since date
|
|
135
|
+
*/
|
|
136
|
+
async getBiRate(opts) {
|
|
137
|
+
return this.request("/api/bi-rate", opts);
|
|
138
|
+
}
|
|
94
139
|
/**
|
|
95
140
|
* Get just the forex rates (subset of getCommodities).
|
|
96
141
|
*/
|
|
@@ -118,5 +163,22 @@ export class SatuChainAPI {
|
|
|
118
163
|
async getMetals(opts) {
|
|
119
164
|
return this.getCommodityPrices(opts);
|
|
120
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Get the icon URL for a symbol (forex, crypto, or commodity).
|
|
168
|
+
* Returns a URL string — no API key required to fetch the icon itself.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* const url = api.getIconUrl("BTC");
|
|
172
|
+
* // "https://dev.satuchain.com/api/icon/BTC"
|
|
173
|
+
* // → redirects to the real brand logo (Trustwallet CDN etc.)
|
|
174
|
+
*
|
|
175
|
+
* // Use in HTML:
|
|
176
|
+
* img.src = api.getIconUrl("XAU");
|
|
177
|
+
*/
|
|
178
|
+
getIconUrl(symbol) {
|
|
179
|
+
return `${this.baseUrl}/api/icon/${symbol.toUpperCase()}`;
|
|
180
|
+
}
|
|
121
181
|
}
|
|
182
|
+
/** Alias for SatuChainAPI */
|
|
183
|
+
export const SatuChain = SatuChainAPI;
|
|
122
184
|
//# sourceMappingURL=client.js.map
|
package/dist/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SatuChainAPI } from "./client.js";
|
|
1
|
+
export { SatuChainAPI, SatuChain } from "./client.js";
|
|
2
2
|
export { SatuChainError, SatuChainAuthError, SatuChainRateLimitError, SatuChainUpstreamError, } from "./errors.js";
|
|
3
|
-
export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
|
|
3
|
+
export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export interface CryptoEntry {
|
|
|
7
7
|
name: string;
|
|
8
8
|
/** Price in USD */
|
|
9
9
|
value: number | null;
|
|
10
|
+
/** 24-hour price change in percent (positive = up, negative = down) */
|
|
11
|
+
change24h: number | null;
|
|
10
12
|
}
|
|
11
13
|
export interface CommodityEntry {
|
|
12
14
|
name: string;
|
|
@@ -35,6 +37,12 @@ export interface CommoditiesResponse {
|
|
|
35
37
|
ETH: CryptoEntry;
|
|
36
38
|
BNB: CryptoEntry;
|
|
37
39
|
SOL: CryptoEntry;
|
|
40
|
+
XRP: CryptoEntry;
|
|
41
|
+
TRX: CryptoEntry;
|
|
42
|
+
DOGE: CryptoEntry;
|
|
43
|
+
HYPE: CryptoEntry;
|
|
44
|
+
ADA: CryptoEntry;
|
|
45
|
+
TON: CryptoEntry;
|
|
38
46
|
ARB: CryptoEntry;
|
|
39
47
|
STU: CryptoEntry;
|
|
40
48
|
};
|
|
@@ -60,8 +68,57 @@ export interface CommoditiesResponse {
|
|
|
60
68
|
WTI: CommodityEntry;
|
|
61
69
|
/** Brent Crude Oil — USD/barrel */
|
|
62
70
|
BRENT: CommodityEntry;
|
|
71
|
+
/** Coal (Rotterdam) — USD/metric ton */
|
|
72
|
+
COAL: CommodityEntry;
|
|
73
|
+
/** Nickel (LME) — USD/metric ton */
|
|
74
|
+
NICKEL: CommodityEntry;
|
|
63
75
|
};
|
|
64
76
|
}
|
|
77
|
+
export interface TickerResponse {
|
|
78
|
+
ok: true;
|
|
79
|
+
symbol: string;
|
|
80
|
+
name: string;
|
|
81
|
+
type: "forex" | "crypto" | "commodity";
|
|
82
|
+
/** Price in USD */
|
|
83
|
+
value: number | null;
|
|
84
|
+
/** Price in IDR */
|
|
85
|
+
value_idr: number | null;
|
|
86
|
+
/** Percentage change (24h for crypto, previous close for commodities) */
|
|
87
|
+
change_percent: number | null;
|
|
88
|
+
/** Unit description e.g. "USD", "USD/troy oz", "USD/barrel" */
|
|
89
|
+
unit: string;
|
|
90
|
+
updatedAtUnix: number | null;
|
|
91
|
+
}
|
|
92
|
+
export interface ConvertResponse {
|
|
93
|
+
ok: true;
|
|
94
|
+
from: string;
|
|
95
|
+
to: string;
|
|
96
|
+
amount: number;
|
|
97
|
+
/** Converted amount */
|
|
98
|
+
result: number;
|
|
99
|
+
/** 1 unit of `from` expressed in `to` */
|
|
100
|
+
rate: number;
|
|
101
|
+
updatedAtUnix: number | null;
|
|
102
|
+
}
|
|
103
|
+
export interface BiRateResponse {
|
|
104
|
+
ok: true;
|
|
105
|
+
/** Numeric rate e.g. 6.00 */
|
|
106
|
+
rate: number;
|
|
107
|
+
/** Formatted rate e.g. "6.00%" */
|
|
108
|
+
rate_percent: string;
|
|
109
|
+
/** Effective since date e.g. "2024-10-17" */
|
|
110
|
+
since: string;
|
|
111
|
+
/** Next BI board meeting date (if available) */
|
|
112
|
+
next_meeting: string | null;
|
|
113
|
+
description: string;
|
|
114
|
+
source: string;
|
|
115
|
+
note: string;
|
|
116
|
+
}
|
|
117
|
+
export interface ConvertOptions extends RequestOptions {
|
|
118
|
+
from: string;
|
|
119
|
+
to: string;
|
|
120
|
+
amount?: number;
|
|
121
|
+
}
|
|
65
122
|
export interface SatuChainAPIOptions {
|
|
66
123
|
/** Your API key — starts with sk_live_ */
|
|
67
124
|
apiKey: string;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, RateLimitInfo } from "./types.js";
|
|
1
|
+
import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, RateLimitInfo } from "./types.js";
|
|
2
2
|
export declare class SatuChainAPI {
|
|
3
3
|
private readonly apiKey;
|
|
4
4
|
private readonly baseUrl;
|
|
@@ -8,18 +8,51 @@ export declare class SatuChainAPI {
|
|
|
8
8
|
constructor(options: SatuChainAPIOptions | string);
|
|
9
9
|
private request;
|
|
10
10
|
/**
|
|
11
|
-
* Fetch live commodity, forex, and crypto price data.
|
|
11
|
+
* Fetch live commodity, forex, and crypto price data in one call.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* const data = await api.getCommodities();
|
|
15
15
|
* console.log(data.forex.IDR.value); // IDR per 1 USD
|
|
16
16
|
* console.log(data.crypto.BTC.value); // BTC price in USD
|
|
17
|
-
* console.log(data.crypto.ETH.value); // ETH price in USD
|
|
18
17
|
* console.log(data.commodities.XAU.value); // Gold USD/troy oz
|
|
19
18
|
* console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
|
|
20
19
|
* console.log(data.tier); // "basic" or "pro"
|
|
21
20
|
*/
|
|
22
21
|
getCommodities(opts?: RequestOptions): Promise<CommoditiesResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Get the price of a single symbol (forex, crypto, or commodity).
|
|
24
|
+
* Returns value in USD and IDR, plus change_percent for commodities.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const btc = await api.getTicker("BTC");
|
|
28
|
+
* console.log(btc.value); // BTC price in USD
|
|
29
|
+
* console.log(btc.value_idr); // BTC price in IDR
|
|
30
|
+
*
|
|
31
|
+
* const gold = await api.getTicker("XAU");
|
|
32
|
+
* console.log(gold.change_percent); // % change from previous close
|
|
33
|
+
*/
|
|
34
|
+
getTicker(symbol: string, opts?: RequestOptions): Promise<TickerResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Convert between any two supported symbols (forex, crypto, commodity).
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
|
|
40
|
+
* console.log(result.result); // IDR amount
|
|
41
|
+
* console.log(result.rate); // 1 BTC in IDR
|
|
42
|
+
*
|
|
43
|
+
* const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
|
|
44
|
+
* console.log(myr.result); // MYR equivalent of 100 USD
|
|
45
|
+
*/
|
|
46
|
+
convert(options: ConvertOptions): Promise<ConvertResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const bi = await api.getBiRate();
|
|
52
|
+
* console.log(bi.rate_percent); // e.g. "6.00%"
|
|
53
|
+
* console.log(bi.since); // effective since date
|
|
54
|
+
*/
|
|
55
|
+
getBiRate(opts?: RequestOptions): Promise<BiRateResponse>;
|
|
23
56
|
/**
|
|
24
57
|
* Get just the forex rates (subset of getCommodities).
|
|
25
58
|
*/
|
|
@@ -36,5 +69,20 @@ export declare class SatuChainAPI {
|
|
|
36
69
|
* @deprecated Use getCommodityPrices() instead.
|
|
37
70
|
*/
|
|
38
71
|
getMetals(opts?: RequestOptions): Promise<CommoditiesResponse["commodities"]>;
|
|
72
|
+
/**
|
|
73
|
+
* Get the icon URL for a symbol (forex, crypto, or commodity).
|
|
74
|
+
* Returns a URL string — no API key required to fetch the icon itself.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* const url = api.getIconUrl("BTC");
|
|
78
|
+
* // "https://dev.satuchain.com/api/icon/BTC"
|
|
79
|
+
* // → redirects to the real brand logo (Trustwallet CDN etc.)
|
|
80
|
+
*
|
|
81
|
+
* // Use in HTML:
|
|
82
|
+
* img.src = api.getIconUrl("XAU");
|
|
83
|
+
*/
|
|
84
|
+
getIconUrl(symbol: string): string;
|
|
39
85
|
}
|
|
86
|
+
/** Alias for SatuChainAPI */
|
|
87
|
+
export declare const SatuChain: typeof SatuChainAPI;
|
|
40
88
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E;;;;;;;;;;OAUG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhE;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAInF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGnC;AAED,6BAA6B;AAC7B,eAAO,MAAM,SAAS,qBAAe,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SatuChainAPI } from "./client.js";
|
|
1
|
+
export { SatuChainAPI, SatuChain } from "./client.js";
|
|
2
2
|
export { SatuChainError, SatuChainAuthError, SatuChainRateLimitError, SatuChainUpstreamError, } from "./errors.js";
|
|
3
|
-
export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
|
|
3
|
+
export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export interface CryptoEntry {
|
|
|
7
7
|
name: string;
|
|
8
8
|
/** Price in USD */
|
|
9
9
|
value: number | null;
|
|
10
|
+
/** 24-hour price change in percent (positive = up, negative = down) */
|
|
11
|
+
change24h: number | null;
|
|
10
12
|
}
|
|
11
13
|
export interface CommodityEntry {
|
|
12
14
|
name: string;
|
|
@@ -35,6 +37,12 @@ export interface CommoditiesResponse {
|
|
|
35
37
|
ETH: CryptoEntry;
|
|
36
38
|
BNB: CryptoEntry;
|
|
37
39
|
SOL: CryptoEntry;
|
|
40
|
+
XRP: CryptoEntry;
|
|
41
|
+
TRX: CryptoEntry;
|
|
42
|
+
DOGE: CryptoEntry;
|
|
43
|
+
HYPE: CryptoEntry;
|
|
44
|
+
ADA: CryptoEntry;
|
|
45
|
+
TON: CryptoEntry;
|
|
38
46
|
ARB: CryptoEntry;
|
|
39
47
|
STU: CryptoEntry;
|
|
40
48
|
};
|
|
@@ -60,8 +68,57 @@ export interface CommoditiesResponse {
|
|
|
60
68
|
WTI: CommodityEntry;
|
|
61
69
|
/** Brent Crude Oil — USD/barrel */
|
|
62
70
|
BRENT: CommodityEntry;
|
|
71
|
+
/** Coal (Rotterdam) — USD/metric ton */
|
|
72
|
+
COAL: CommodityEntry;
|
|
73
|
+
/** Nickel (LME) — USD/metric ton */
|
|
74
|
+
NICKEL: CommodityEntry;
|
|
63
75
|
};
|
|
64
76
|
}
|
|
77
|
+
export interface TickerResponse {
|
|
78
|
+
ok: true;
|
|
79
|
+
symbol: string;
|
|
80
|
+
name: string;
|
|
81
|
+
type: "forex" | "crypto" | "commodity";
|
|
82
|
+
/** Price in USD */
|
|
83
|
+
value: number | null;
|
|
84
|
+
/** Price in IDR */
|
|
85
|
+
value_idr: number | null;
|
|
86
|
+
/** Percentage change (24h for crypto, previous close for commodities) */
|
|
87
|
+
change_percent: number | null;
|
|
88
|
+
/** Unit description e.g. "USD", "USD/troy oz", "USD/barrel" */
|
|
89
|
+
unit: string;
|
|
90
|
+
updatedAtUnix: number | null;
|
|
91
|
+
}
|
|
92
|
+
export interface ConvertResponse {
|
|
93
|
+
ok: true;
|
|
94
|
+
from: string;
|
|
95
|
+
to: string;
|
|
96
|
+
amount: number;
|
|
97
|
+
/** Converted amount */
|
|
98
|
+
result: number;
|
|
99
|
+
/** 1 unit of `from` expressed in `to` */
|
|
100
|
+
rate: number;
|
|
101
|
+
updatedAtUnix: number | null;
|
|
102
|
+
}
|
|
103
|
+
export interface BiRateResponse {
|
|
104
|
+
ok: true;
|
|
105
|
+
/** Numeric rate e.g. 6.00 */
|
|
106
|
+
rate: number;
|
|
107
|
+
/** Formatted rate e.g. "6.00%" */
|
|
108
|
+
rate_percent: string;
|
|
109
|
+
/** Effective since date e.g. "2024-10-17" */
|
|
110
|
+
since: string;
|
|
111
|
+
/** Next BI board meeting date (if available) */
|
|
112
|
+
next_meeting: string | null;
|
|
113
|
+
description: string;
|
|
114
|
+
source: string;
|
|
115
|
+
note: string;
|
|
116
|
+
}
|
|
117
|
+
export interface ConvertOptions extends RequestOptions {
|
|
118
|
+
from: string;
|
|
119
|
+
to: string;
|
|
120
|
+
amount?: number;
|
|
121
|
+
}
|
|
65
122
|
export interface SatuChainAPIOptions {
|
|
66
123
|
/** Your API key — starts with sk_live_ */
|
|
67
124
|
apiKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|