@untools/pay-paystack 0.1.0 → 0.2.1
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/CHANGELOG.md +26 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +213 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.2.1](https://github.com/aevrHQ/pay/compare/pay-paystack@v0.2.0...pay-paystack@v0.2.1) (2026-05-09)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **pay-paystack:** add bank payout support ([753935e](https://github.com/aevrHQ/pay/commit/753935ec6ec5621cdf83d66005ab0275d914675f))
|
|
11
|
+
* **payout:** add payout verification button and functionality ([ae99eec](https://github.com/aevrHQ/pay/commit/ae99eec88bf948c288709be0b8fe8c28e2273b06))
|
|
12
|
+
* **paystack:** add payout capabilities and bank listing functionality ([1dbb920](https://github.com/aevrHQ/pay/commit/1dbb920594797f1e902f4f1526f7bbb0d8837403))
|
|
13
|
+
|
|
14
|
+
## [0.2.0](https://github.com/aevrHQ/pay/compare/pay-paystack@v0.1.0...pay-paystack@v0.2.0) (2026-05-09)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add callback URL support for Flutterwave payouts and resolved name handling ([17e622a](https://github.com/aevrHQ/pay/commit/17e622a5a1eb6dce00edc2833f614cd2f9e1b965))
|
|
20
|
+
* add Flutterwave payout support with account resolution, recipient creation, and payout verification ([71b28ec](https://github.com/aevrHQ/pay/commit/71b28ec59cf80cbf453a0b4ff3c127a2d71fd679))
|
|
21
|
+
* add paymentReference to PayoutWebhookEvent and update lookup strategy in createPayoutsDomain ([5878f88](https://github.com/aevrHQ/pay/commit/5878f88aca9ed6a91e40bac0dba5a06f44ca28bf))
|
|
22
|
+
* add payout functionality with provider selection, recipient registration, and transaction processing ([f10828c](https://github.com/aevrHQ/pay/commit/f10828c2cf214c1e1e58ca40d457a28135e5d6ce))
|
|
23
|
+
* add payouts domain for managing payout recipients and operations ([9f93523](https://github.com/aevrHQ/pay/commit/9f93523479d114873f497cb478fbea5885d8b6fc))
|
|
24
|
+
* **docs:** add SPEC-PAYOUTS guidelines for payouts and rewards ([26daed3](https://github.com/aevrHQ/pay/commit/26daed3002e627d269b20ae239c3f55fcb4e6997))
|
|
25
|
+
* enhance payout functionality with bank search, log export, and recipient management ([5d41162](https://github.com/aevrHQ/pay/commit/5d411622b35f3741055ad7291f1c34578827a6cc))
|
|
26
|
+
* enhance payout functionality with recipient details and asset transfer support ([fb75021](https://github.com/aevrHQ/pay/commit/fb7502167a36f6e84599642cedee4580763b527b))
|
|
27
|
+
* implement payout fee policy with flat, percentage, and cap configurations ([829d271](https://github.com/aevrHQ/pay/commit/829d271add629c786daa2dacaea968466784ec81))
|
|
28
|
+
* implement payout functionality with recipient management and asset transfer support ([e63ddcf](https://github.com/aevrHQ/pay/commit/e63ddcf0ba461683c15a703532f932f1a7a5984d))
|
|
29
|
+
* **pay-flutterwave:** add bank payout support ([f56ee23](https://github.com/aevrHQ/pay/commit/f56ee232846d2fff55c6b483eac469c83b43ff26))
|
|
30
|
+
|
|
5
31
|
## 0.1.0 (2026-05-08)
|
|
6
32
|
|
|
7
33
|
### Features
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,25 @@ export interface PaystackAdapterConfig {
|
|
|
7
7
|
/** HMAC-SHA512 webhook secret. Set to the value from your Paystack dashboard. */
|
|
8
8
|
webhookSecret?: string;
|
|
9
9
|
}
|
|
10
|
+
interface PaystackBankEntry {
|
|
11
|
+
id: number;
|
|
12
|
+
name: string;
|
|
13
|
+
slug: string;
|
|
14
|
+
code: string;
|
|
15
|
+
type: string;
|
|
16
|
+
currency: string;
|
|
17
|
+
country: string;
|
|
18
|
+
supports_transfer: boolean;
|
|
19
|
+
active: boolean;
|
|
20
|
+
is_deleted: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Fetch the full list of Paystack-supported banks for a country.
|
|
24
|
+
* @param secretKey - Paystack secret key.
|
|
25
|
+
* @param country - ISO country name (default: "nigeria").
|
|
26
|
+
* @param baseUrl - API base URL override.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listPaystackBanks(secretKey: string, country?: string, baseUrl?: string): Promise<PaystackBankEntry[]>;
|
|
10
29
|
export declare function createPaystackAdapter(config: PaystackAdapterConfig): PaymentProviderAdapter;
|
|
30
|
+
export {};
|
|
11
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAavB,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuCD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAqcD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,SAAY,EACnB,OAAO,SAA4B,GAClC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoB9B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,sBAAsB,CAExB"}
|
package/dist/index.js
CHANGED
|
@@ -156,6 +156,219 @@ class PaystackAdapter {
|
|
|
156
156
|
raw: json,
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
|
+
// ─── Payout capabilities ──────────────────────────────────────────────────
|
|
160
|
+
supportsPayout() {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
supportsRecipientRegistration() {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Resolve a bank account without registering a recipient.
|
|
168
|
+
* Calls GET /bank/resolve?account_number=&bank_code=
|
|
169
|
+
*/
|
|
170
|
+
async resolveAccount(input) {
|
|
171
|
+
const accountNumber = input.details["accountNumber"];
|
|
172
|
+
const bankCode = input.details["bankCode"];
|
|
173
|
+
if (!accountNumber || !bankCode) {
|
|
174
|
+
throw new Error("Paystack resolveAccount: details must include accountNumber and bankCode");
|
|
175
|
+
}
|
|
176
|
+
const url = `${this.baseUrl}/bank/resolve?account_number=${encodeURIComponent(accountNumber)}&bank_code=${encodeURIComponent(bankCode)}`;
|
|
177
|
+
const response = await fetch(url, {
|
|
178
|
+
headers: { Authorization: `Bearer ${this.secretKey}` },
|
|
179
|
+
});
|
|
180
|
+
const text = await response.text();
|
|
181
|
+
if (!response.ok) {
|
|
182
|
+
throw new Error(`Paystack resolveAccount failed (${response.status}): ${text}`);
|
|
183
|
+
}
|
|
184
|
+
let json;
|
|
185
|
+
try {
|
|
186
|
+
json = JSON.parse(text);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
throw new Error(`Paystack resolveAccount returned non-JSON: ${text}`);
|
|
190
|
+
}
|
|
191
|
+
if (!json.status) {
|
|
192
|
+
throw new Error(`Paystack resolveAccount error: ${json.message}`);
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
resolvedName: json.data.account_name,
|
|
196
|
+
verified: true,
|
|
197
|
+
raw: json,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Register a transfer recipient on Paystack.
|
|
202
|
+
* Calls POST /transferrecipient.
|
|
203
|
+
* `details` must include `accountNumber` and `bankCode`.
|
|
204
|
+
* `details.accountName` (or `details.resolvedName`) is used as the recipient name.
|
|
205
|
+
*/
|
|
206
|
+
async createRecipient(input) {
|
|
207
|
+
const accountNumber = input.details["accountNumber"];
|
|
208
|
+
const bankCode = input.details["bankCode"];
|
|
209
|
+
const accountName = input.details["accountName"] ??
|
|
210
|
+
input.details["resolvedName"] ??
|
|
211
|
+
"";
|
|
212
|
+
if (!accountNumber || !bankCode) {
|
|
213
|
+
throw new Error("Paystack createRecipient: details must include accountNumber and bankCode");
|
|
214
|
+
}
|
|
215
|
+
const body = JSON.stringify({
|
|
216
|
+
type: "nuban",
|
|
217
|
+
name: accountName,
|
|
218
|
+
account_number: accountNumber,
|
|
219
|
+
bank_code: bankCode,
|
|
220
|
+
currency: input.currency.toUpperCase(),
|
|
221
|
+
});
|
|
222
|
+
const response = await fetch(`${this.baseUrl}/transferrecipient`, {
|
|
223
|
+
method: "POST",
|
|
224
|
+
headers: {
|
|
225
|
+
Authorization: `Bearer ${this.secretKey}`,
|
|
226
|
+
"Content-Type": "application/json",
|
|
227
|
+
},
|
|
228
|
+
body,
|
|
229
|
+
});
|
|
230
|
+
const text = await response.text();
|
|
231
|
+
if (!response.ok) {
|
|
232
|
+
throw new Error(`Paystack createRecipient failed (${response.status}): ${text}`);
|
|
233
|
+
}
|
|
234
|
+
let json;
|
|
235
|
+
try {
|
|
236
|
+
json = JSON.parse(text);
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
throw new Error(`Paystack createRecipient returned non-JSON: ${text}`);
|
|
240
|
+
}
|
|
241
|
+
if (!json.status) {
|
|
242
|
+
throw new Error(`Paystack createRecipient error: ${json.message}`);
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
providerRecipientCode: json.data.recipient_code,
|
|
246
|
+
resolvedName: json.data.name,
|
|
247
|
+
raw: json,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Initiate a bank transfer via Paystack.
|
|
252
|
+
* Calls POST /transfer.
|
|
253
|
+
* Amounts are in kobo (minor units) — no conversion needed.
|
|
254
|
+
* Returns `transfer_code` as `providerReference`.
|
|
255
|
+
*/
|
|
256
|
+
async initPayout(input) {
|
|
257
|
+
const body = JSON.stringify({
|
|
258
|
+
source: "balance",
|
|
259
|
+
amount: input.amountMinor, // Paystack uses minor units (kobo) — matches @untools/pay
|
|
260
|
+
recipient: input.providerRecipientCode,
|
|
261
|
+
reference: input.paymentReference ?? input.operationId,
|
|
262
|
+
reason: input.narration ?? "Payout",
|
|
263
|
+
});
|
|
264
|
+
const response = await fetch(`${this.baseUrl}/transfer`, {
|
|
265
|
+
method: "POST",
|
|
266
|
+
headers: {
|
|
267
|
+
Authorization: `Bearer ${this.secretKey}`,
|
|
268
|
+
"Content-Type": "application/json",
|
|
269
|
+
},
|
|
270
|
+
body,
|
|
271
|
+
});
|
|
272
|
+
const text = await response.text();
|
|
273
|
+
if (!response.ok) {
|
|
274
|
+
throw new Error(`Paystack initPayout failed (${response.status}): ${text}`);
|
|
275
|
+
}
|
|
276
|
+
let json;
|
|
277
|
+
try {
|
|
278
|
+
json = JSON.parse(text);
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
throw new Error(`Paystack initPayout returned non-JSON: ${text}`);
|
|
282
|
+
}
|
|
283
|
+
if (!json.status) {
|
|
284
|
+
throw new Error(`Paystack initPayout error: ${json.message}`);
|
|
285
|
+
}
|
|
286
|
+
const providerStatus = (json.data.status ?? "").toLowerCase();
|
|
287
|
+
let status;
|
|
288
|
+
if (providerStatus === "success") {
|
|
289
|
+
status = "completed";
|
|
290
|
+
}
|
|
291
|
+
else if (providerStatus === "failed" || providerStatus === "reversed") {
|
|
292
|
+
status = "failed";
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
status = "pending";
|
|
296
|
+
}
|
|
297
|
+
return {
|
|
298
|
+
providerReference: json.data.transfer_code,
|
|
299
|
+
status,
|
|
300
|
+
raw: json,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Poll the status of a payout by calling GET /transfer/verify/:reference.
|
|
305
|
+
* `reference` here is the `paymentReference` we sent (stored as operation.externalId
|
|
306
|
+
* is the transfer_code, but Paystack's verify endpoint accepts our own reference).
|
|
307
|
+
* Paystack does not send webhooks for bank transfers — use this for settlement.
|
|
308
|
+
*/
|
|
309
|
+
async verifyPayout(reference) {
|
|
310
|
+
// Paystack offers two endpoints:
|
|
311
|
+
// GET /transfer/verify/:reference → our own reference (paymentReference)
|
|
312
|
+
// GET /transfer/:transfer_code → Paystack's transfer_code
|
|
313
|
+
// The domain passes operation.externalId which we store as transfer_code,
|
|
314
|
+
// so we use GET /transfer/:transfer_code here.
|
|
315
|
+
const response = await fetch(`${this.baseUrl}/transfer/${encodeURIComponent(reference)}`, { headers: { Authorization: `Bearer ${this.secretKey}` } });
|
|
316
|
+
const text = await response.text();
|
|
317
|
+
if (!response.ok) {
|
|
318
|
+
throw new Error(`Paystack verifyPayout failed (${response.status}): ${text}`);
|
|
319
|
+
}
|
|
320
|
+
let json;
|
|
321
|
+
try {
|
|
322
|
+
json = JSON.parse(text);
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
throw new Error(`Paystack verifyPayout returned non-JSON: ${text}`);
|
|
326
|
+
}
|
|
327
|
+
if (!json.status) {
|
|
328
|
+
throw new Error(`Paystack verifyPayout error: ${json.message}`);
|
|
329
|
+
}
|
|
330
|
+
const providerStatus = (json.data.status ?? "").toLowerCase();
|
|
331
|
+
let status;
|
|
332
|
+
if (providerStatus === "success") {
|
|
333
|
+
status = "completed";
|
|
334
|
+
}
|
|
335
|
+
else if (providerStatus === "failed" || providerStatus === "reversed") {
|
|
336
|
+
status = "failed";
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
status = "pending";
|
|
340
|
+
}
|
|
341
|
+
return {
|
|
342
|
+
providerReference: json.data.transfer_code,
|
|
343
|
+
status,
|
|
344
|
+
fees: json.data.fee_charged,
|
|
345
|
+
feesCurrency: json.data.currency,
|
|
346
|
+
raw: json,
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Fetch the full list of Paystack-supported banks for a country.
|
|
352
|
+
* @param secretKey - Paystack secret key.
|
|
353
|
+
* @param country - ISO country name (default: "nigeria").
|
|
354
|
+
* @param baseUrl - API base URL override.
|
|
355
|
+
*/
|
|
356
|
+
export async function listPaystackBanks(secretKey, country = "nigeria", baseUrl = "https://api.paystack.co") {
|
|
357
|
+
// use_cursor=true changes the response format — avoid it.
|
|
358
|
+
// perPage=200 covers the full Nigerian bank list in one request.
|
|
359
|
+
const url = `${baseUrl}/bank?country=${encodeURIComponent(country)}&perPage=200`;
|
|
360
|
+
const response = await fetch(url, {
|
|
361
|
+
headers: { Authorization: `Bearer ${secretKey}` },
|
|
362
|
+
});
|
|
363
|
+
const text = await response.text();
|
|
364
|
+
if (!response.ok) {
|
|
365
|
+
throw new Error(`Paystack listBanks failed (${response.status}): ${text}`);
|
|
366
|
+
}
|
|
367
|
+
const json = JSON.parse(text);
|
|
368
|
+
if (!json.status) {
|
|
369
|
+
throw new Error(`Paystack listBanks error: ${json.message}`);
|
|
370
|
+
}
|
|
371
|
+
return json.data.filter((b) => b.active && !b.is_deleted && b.supports_transfer);
|
|
159
372
|
}
|
|
160
373
|
export function createPaystackAdapter(config) {
|
|
161
374
|
return new PaystackAdapter(config);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA8C1D;;;;;GAKG;AACH,MAAM,eAAe;IACV,IAAI,GAAG,UAAU,CAAC;IACV,SAAS,CAAS;IAClB,SAAS,CAAU;IACnB,OAAO,CAAS;IAChB,aAAa,CAAS;IAEvC,YAAY,MAA6B;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,yBAAyB,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,oBAAoB,CAAC,IAA2B;QAC9C,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;YACtC,KAAK,EAAE,KAAK,CAAC,aAAa,IAAI,sBAAsB;YACpD,SAAS,EAAE,KAAK,CAAC,WAAW;YAC5B,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,YAAY,EAAE,KAAK,CAAC,WAAW;gBAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;oBAC/B,CAAC,CAAC;wBACE;4BACE,YAAY,EAAE,MAAM;4BACpB,aAAa,EAAE,MAAM;4BACrB,KAAK,EAAE,KAAK,CAAC,YAAY;yBAC1B;qBACF;oBACH,CAAC,CAAC,EAAE;aACP;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,yBAAyB,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;gBACzC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACtC,GAAG,EAAE;gBACH,GAAG,IAAI,CAAC,IAAI;gBACZ,eAAe,EAAE;oBACf,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;oBACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;oBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACtC,KAAK,EAAE,KAAK,CAAC,aAAa,IAAI,sBAAsB;oBACpD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,4DAA4D;QAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,wBAAwB,CAChC,UAAU,EACV,qCAAqC,CACtC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;aACtD,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE/C,IACE,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;YACrC,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,wBAAwB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,OAA+B,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA2B,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,wBAAwB,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAEzB,IAAI,MAA8B,CAAC;QACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,MAAM,GAAG,WAAW,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACR;gBACE,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;QAED,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,OAAO,uBAAuB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EACrE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAC3D,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAClE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,MAAyC,CAAC;QAC9C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,MAAM,GAAG,WAAW,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACR;gBACE,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,OAAO;YACL,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA6B;IAE7B,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|