pi-kiosk-shared 2.1.19 → 2.1.20
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/api.d.ts +7 -5
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +8 -6
- package/dist/api.js.map +1 -1
- package/dist/hooks/useDatabaseHealth.d.ts +5 -5
- package/dist/hooks/useDatabaseHealth.d.ts.map +1 -1
- package/dist/hooks/useDatabaseHealth.js +55 -31
- package/dist/hooks/useDatabaseHealth.js.map +1 -1
- package/dist/types.d.ts +12 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/api.d.ts
CHANGED
|
@@ -14,10 +14,12 @@ export declare const API_ENDPOINTS: {
|
|
|
14
14
|
readonly PAYMENT_CANCEL: "/api/payments/cancel";
|
|
15
15
|
readonly PAYMENT_START_MONITORING: "/api/payments/start-monitoring";
|
|
16
16
|
readonly PAYMENT_STOP_MONITORING: "/api/payments/stop-monitoring";
|
|
17
|
-
readonly
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
17
|
+
readonly PAYMENT_GATEWAY_CREATE: "/api/payments/create-gateway";
|
|
18
|
+
readonly PAYMENT_GATEWAY_STATUS: "/api/payments/gateway-status/:paymentId";
|
|
19
|
+
readonly PAYMENT_GATEWAY_CANCEL: "/api/payments/gateway-cancel";
|
|
20
|
+
readonly PAYMENT_GATEWAY_METHODS: "/api/payments/gateway-methods";
|
|
21
|
+
readonly PAYMENT_BANK_TRANSFER_WEBHOOK: "/api/payments/bank-transfer-webhook";
|
|
22
|
+
readonly PAYMENT_TEST_BANK_TRANSFER_CHECK: "/api/payments/test-bank-transfer-check";
|
|
21
23
|
readonly CONSENT_ANALYTICS: "/api/consents/analytics";
|
|
22
24
|
readonly CONSENT_MARKETING: "/api/consents/marketing";
|
|
23
25
|
readonly ANALYTICS_EVENTS: "/api/analytics/events";
|
|
@@ -33,7 +35,7 @@ export declare const API_ENDPOINTS: {
|
|
|
33
35
|
readonly ADMIN_CATEGORIES: "/api/v1/admin/categories";
|
|
34
36
|
readonly HEALTH: "/health";
|
|
35
37
|
readonly HEALTH_PAYMENT_PROVIDERS: "/health/payment-providers";
|
|
36
|
-
readonly
|
|
38
|
+
readonly HEALTH_PAYMENT_PROVIDERS_CHECK_BANK_TRANSFER: "/health/payment-providers/check-bank-transfer";
|
|
37
39
|
readonly CHECK_TRANSACTIONS: "/api/check-new-transactions";
|
|
38
40
|
readonly EVENTS: "/events/:kioskId";
|
|
39
41
|
};
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ChB,CAAC;AAIX;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAStE,OAAO,CAAC,wBAAwB;YAalB,OAAO;IAyCf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOrD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOpD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,EAAE,aAAa,MAAM,KAAG,SAK7F,CAAC"}
|
package/dist/api.js
CHANGED
|
@@ -17,11 +17,13 @@ export const API_ENDPOINTS = {
|
|
|
17
17
|
PAYMENT_CANCEL: '/api/payments/cancel',
|
|
18
18
|
PAYMENT_START_MONITORING: '/api/payments/start-monitoring',
|
|
19
19
|
PAYMENT_STOP_MONITORING: '/api/payments/stop-monitoring',
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
// Redirect gateway payment endpoints (e.g. ThePay.eu)
|
|
21
|
+
PAYMENT_GATEWAY_CREATE: '/api/payments/create-gateway',
|
|
22
|
+
PAYMENT_GATEWAY_STATUS: '/api/payments/gateway-status/:paymentId',
|
|
23
|
+
PAYMENT_GATEWAY_CANCEL: '/api/payments/gateway-cancel',
|
|
24
|
+
PAYMENT_GATEWAY_METHODS: '/api/payments/gateway-methods',
|
|
25
|
+
PAYMENT_BANK_TRANSFER_WEBHOOK: '/api/payments/bank-transfer-webhook',
|
|
26
|
+
PAYMENT_TEST_BANK_TRANSFER_CHECK: '/api/payments/test-bank-transfer-check',
|
|
25
27
|
// Consent endpoints
|
|
26
28
|
CONSENT_ANALYTICS: '/api/consents/analytics',
|
|
27
29
|
CONSENT_MARKETING: '/api/consents/marketing',
|
|
@@ -40,7 +42,7 @@ export const API_ENDPOINTS = {
|
|
|
40
42
|
// System endpoints
|
|
41
43
|
HEALTH: '/health',
|
|
42
44
|
HEALTH_PAYMENT_PROVIDERS: '/health/payment-providers',
|
|
43
|
-
|
|
45
|
+
HEALTH_PAYMENT_PROVIDERS_CHECK_BANK_TRANSFER: '/health/payment-providers/check-bank-transfer',
|
|
44
46
|
CHECK_TRANSACTIONS: '/api/check-new-transactions',
|
|
45
47
|
EVENTS: '/events/:kioskId'
|
|
46
48
|
};
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4BAA4B;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oBAAoB;IACpB,QAAQ,EAAE,eAAe;IACzB,aAAa,EAAE,yBAAyB;IACxC,sBAAsB,EAAE,8BAA8B;IAEtD,oBAAoB;IACpB,iBAAiB,EAAE,yBAAyB;IAC5C,oBAAoB,EAAE,uCAAuC;IAC7D,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,sBAAsB;IACtC,wBAAwB,EAAE,gCAAgC;IAC1D,uBAAuB,EAAE,+BAA+B;IAExD,8BAA8B;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Database Health Check Hook
|
|
3
3
|
*
|
|
4
|
-
* Polls backend health endpoint to determine database availability
|
|
4
|
+
* Polls backend health endpoint to determine database availability.
|
|
5
5
|
* Features:
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
6
|
+
* - At most one request in flight at a time (prevents duplicate/burst requests)
|
|
7
|
+
* - Minimum 15s between automatic checks when unhealthy (prevents rapid retry storm)
|
|
8
|
+
* - Poll interval when healthy: 60s default (1 request/min)
|
|
9
|
+
* - User-triggered retry is not throttled (only automatic checks use the 15s minimum interval)
|
|
10
10
|
*/
|
|
11
11
|
interface UseDatabaseHealthOptions {
|
|
12
12
|
pollInterval?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDatabaseHealth.d.ts","sourceRoot":"","sources":["../../src/hooks/useDatabaseHealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"useDatabaseHealth.d.ts","sourceRoot":"","sources":["../../src/hooks/useDatabaseHealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,uBAAuB;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAmKzB"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Database Health Check Hook
|
|
3
3
|
*
|
|
4
|
-
* Polls backend health endpoint to determine database availability
|
|
4
|
+
* Polls backend health endpoint to determine database availability.
|
|
5
5
|
* Features:
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
6
|
+
* - At most one request in flight at a time (prevents duplicate/burst requests)
|
|
7
|
+
* - Minimum 15s between automatic checks when unhealthy (prevents rapid retry storm)
|
|
8
|
+
* - Poll interval when healthy: 60s default (1 request/min)
|
|
9
|
+
* - User-triggered retry is not throttled (only automatic checks use the 15s minimum interval)
|
|
10
10
|
*/
|
|
11
11
|
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
12
|
+
const MIN_AUTO_INTERVAL_MS = 15000; // Minimum 15s between automatic checks to avoid hammering /health
|
|
12
13
|
export function useDatabaseHealth(options = {}) {
|
|
13
14
|
const { pollInterval = 60000, maxRetries = 5, retryDelay = 1000, enabled = true, } = options;
|
|
14
15
|
const [isDatabaseAvailable, setIsDatabaseAvailable] = useState(true);
|
|
@@ -16,9 +17,6 @@ export function useDatabaseHealth(options = {}) {
|
|
|
16
17
|
const [retryCount, setRetryCount] = useState(0);
|
|
17
18
|
const [nextRetryDelay, setNextRetryDelay] = useState(0);
|
|
18
19
|
const [error, setError] = useState(null);
|
|
19
|
-
// Read runtime config synchronously on first render (already loaded by main.tsx bootstrap)
|
|
20
|
-
// This avoids a race condition where the first health check fires with localhost before
|
|
21
|
-
// a useEffect can update the endpoint from __RUNTIME_CONFIG__
|
|
22
20
|
const [healthEndpoint] = useState(() => {
|
|
23
21
|
if (typeof window !== 'undefined') {
|
|
24
22
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -31,13 +29,21 @@ export function useDatabaseHealth(options = {}) {
|
|
|
31
29
|
return 'http://localhost:3015/health';
|
|
32
30
|
});
|
|
33
31
|
const retryCountRef = useRef(0);
|
|
34
|
-
const backoffMultiplierRef = useRef(2);
|
|
35
32
|
const currentDelayRef = useRef(retryDelay);
|
|
36
33
|
const pollTimeoutRef = useRef(null);
|
|
37
34
|
const retryTimeoutRef = useRef(null);
|
|
35
|
+
const checkHealthRef = useRef(null);
|
|
36
|
+
const isCheckingRef = useRef(false);
|
|
37
|
+
const lastCheckTimeRef = useRef(0);
|
|
38
38
|
const checkHealth = useCallback(async () => {
|
|
39
|
-
if (!enabled)
|
|
39
|
+
if (!enabled) {
|
|
40
40
|
return;
|
|
41
|
+
}
|
|
42
|
+
// Prevent overlapping requests (e.g. Strict Mode double-mount or poll + retry at once)
|
|
43
|
+
if (isCheckingRef.current) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
isCheckingRef.current = true;
|
|
41
47
|
setIsChecking(true);
|
|
42
48
|
setError(null);
|
|
43
49
|
try {
|
|
@@ -60,67 +66,85 @@ export function useDatabaseHealth(options = {}) {
|
|
|
60
66
|
setNextRetryDelay(0);
|
|
61
67
|
retryCountRef.current = 0;
|
|
62
68
|
currentDelayRef.current = retryDelay;
|
|
63
|
-
backoffMultiplierRef.current = 2;
|
|
64
69
|
}
|
|
65
70
|
else {
|
|
66
71
|
throw new Error('Database reported unhealthy status');
|
|
67
72
|
}
|
|
68
73
|
}
|
|
69
74
|
catch (err) {
|
|
70
|
-
const
|
|
71
|
-
setError(
|
|
75
|
+
const e = err instanceof Error ? err : new Error('Health check failed');
|
|
76
|
+
setError(e);
|
|
72
77
|
setIsDatabaseAvailable(false);
|
|
73
78
|
const newRetryCount = retryCountRef.current + 1;
|
|
74
79
|
retryCountRef.current = newRetryCount;
|
|
75
80
|
setRetryCount(newRetryCount);
|
|
81
|
+
const nextDelay = Math.min(currentDelayRef.current * 2, retryDelay * 30);
|
|
82
|
+
currentDelayRef.current = nextDelay;
|
|
83
|
+
const delayMs = Math.max(nextDelay, MIN_AUTO_INTERVAL_MS);
|
|
84
|
+
setNextRetryDelay(delayMs);
|
|
76
85
|
if (newRetryCount < maxRetries) {
|
|
77
|
-
const nextDelay = Math.min(currentDelayRef.current * backoffMultiplierRef.current, retryDelay * 30);
|
|
78
|
-
currentDelayRef.current = nextDelay;
|
|
79
|
-
setNextRetryDelay(nextDelay);
|
|
80
86
|
retryTimeoutRef.current = setTimeout(() => {
|
|
81
|
-
void
|
|
82
|
-
},
|
|
87
|
+
void checkHealthRef.current?.();
|
|
88
|
+
}, delayMs);
|
|
83
89
|
}
|
|
84
90
|
else {
|
|
85
|
-
setNextRetryDelay(pollInterval);
|
|
86
91
|
retryTimeoutRef.current = setTimeout(() => {
|
|
87
|
-
void
|
|
88
|
-
}, pollInterval);
|
|
92
|
+
void checkHealthRef.current?.();
|
|
93
|
+
}, Math.max(pollInterval, MIN_AUTO_INTERVAL_MS));
|
|
89
94
|
}
|
|
90
95
|
}
|
|
91
96
|
finally {
|
|
97
|
+
lastCheckTimeRef.current = Date.now();
|
|
98
|
+
isCheckingRef.current = false;
|
|
92
99
|
setIsChecking(false);
|
|
93
100
|
}
|
|
94
101
|
}, [enabled, healthEndpoint, maxRetries, retryDelay, pollInterval]);
|
|
102
|
+
checkHealthRef.current = checkHealth;
|
|
95
103
|
useEffect(() => {
|
|
96
|
-
if (!enabled)
|
|
104
|
+
if (!enabled) {
|
|
97
105
|
return;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
}
|
|
107
|
+
const doCheck = () => {
|
|
108
|
+
const now = Date.now();
|
|
109
|
+
if (now - lastCheckTimeRef.current < MIN_AUTO_INTERVAL_MS) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (checkHealthRef.current) {
|
|
113
|
+
void checkHealthRef.current();
|
|
114
|
+
}
|
|
115
|
+
};
|
|
101
116
|
const startPolling = () => {
|
|
102
|
-
if (pollTimeoutRef.current)
|
|
117
|
+
if (pollTimeoutRef.current) {
|
|
103
118
|
clearTimeout(pollTimeoutRef.current);
|
|
119
|
+
}
|
|
104
120
|
pollTimeoutRef.current = setTimeout(() => {
|
|
105
|
-
|
|
121
|
+
doCheck();
|
|
106
122
|
startPolling();
|
|
107
123
|
}, pollInterval);
|
|
108
124
|
};
|
|
125
|
+
doCheck();
|
|
109
126
|
startPolling();
|
|
110
127
|
return () => {
|
|
111
|
-
if (pollTimeoutRef.current)
|
|
128
|
+
if (pollTimeoutRef.current) {
|
|
112
129
|
clearTimeout(pollTimeoutRef.current);
|
|
113
|
-
|
|
130
|
+
pollTimeoutRef.current = null;
|
|
131
|
+
}
|
|
132
|
+
if (retryTimeoutRef.current) {
|
|
114
133
|
clearTimeout(retryTimeoutRef.current);
|
|
134
|
+
retryTimeoutRef.current = null;
|
|
135
|
+
}
|
|
115
136
|
};
|
|
116
|
-
}, [enabled,
|
|
137
|
+
}, [enabled, healthEndpoint, pollInterval]);
|
|
138
|
+
const checkHealthPublic = useCallback(() => {
|
|
139
|
+
return checkHealthRef.current?.() ?? Promise.resolve();
|
|
140
|
+
}, []);
|
|
117
141
|
return {
|
|
118
142
|
isDatabaseAvailable,
|
|
119
143
|
isChecking,
|
|
120
144
|
retryCount,
|
|
121
145
|
nextRetryDelay,
|
|
122
146
|
error,
|
|
123
|
-
checkHealth,
|
|
147
|
+
checkHealth: checkHealthPublic,
|
|
124
148
|
};
|
|
125
149
|
}
|
|
126
150
|
//# sourceMappingURL=useDatabaseHealth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDatabaseHealth.js","sourceRoot":"","sources":["../../src/hooks/useDatabaseHealth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useDatabaseHealth.js","sourceRoot":"","sources":["../../src/hooks/useDatabaseHealth.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -83,9 +83,9 @@ export interface Transaction {
|
|
|
83
83
|
qrCodeData?: string;
|
|
84
84
|
variableSymbol?: string;
|
|
85
85
|
receiptType: ReceiptType;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
externalBankReferenceId?: string;
|
|
87
|
+
lastBankCheckAt?: string;
|
|
88
|
+
bankCheckCount: number;
|
|
89
89
|
createdAt: string;
|
|
90
90
|
updatedAt: string;
|
|
91
91
|
}
|
|
@@ -179,7 +179,7 @@ export interface StartMonitoringResponse {
|
|
|
179
179
|
status: string;
|
|
180
180
|
monitoringStartTime?: number;
|
|
181
181
|
}
|
|
182
|
-
export interface
|
|
182
|
+
export interface GatewayCreateRequest {
|
|
183
183
|
items: Array<{
|
|
184
184
|
productId: number;
|
|
185
185
|
quantity: number;
|
|
@@ -189,21 +189,23 @@ export interface ThePayCreateRequest {
|
|
|
189
189
|
customerEmail: string;
|
|
190
190
|
kioskId: number;
|
|
191
191
|
}
|
|
192
|
-
export interface
|
|
192
|
+
export interface GatewayCreateResponse {
|
|
193
193
|
paymentId: string;
|
|
194
|
-
|
|
194
|
+
gatewayPaymentId: string;
|
|
195
195
|
paymentUrl: string;
|
|
196
196
|
amount: number;
|
|
197
197
|
customerEmail: string;
|
|
198
198
|
kioskId: number;
|
|
199
199
|
}
|
|
200
|
-
export interface
|
|
200
|
+
export interface GatewayStatusResponse {
|
|
201
201
|
paymentId: string;
|
|
202
|
+
externalPaymentUid: string;
|
|
202
203
|
status: string;
|
|
203
|
-
|
|
204
|
-
|
|
204
|
+
gatewayState: string;
|
|
205
|
+
amount?: number;
|
|
206
|
+
customerEmail?: string;
|
|
205
207
|
}
|
|
206
|
-
export interface
|
|
208
|
+
export interface GatewayMethodsResponse {
|
|
207
209
|
methods: Array<{
|
|
208
210
|
name: string;
|
|
209
211
|
enabled: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAGD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|