@cedros/pay-react 0.1.0
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/LICENSE +21 -0
- package/README.md +1731 -0
- package/dist/CedrosContext-B3iCqN6e.js +11 -0
- package/dist/CedrosContext-vX9uqZKp.mjs +1796 -0
- package/dist/ar-LVoQZTFI.js +1 -0
- package/dist/ar-w27mU-4x.mjs +19 -0
- package/dist/bn-BR5Cv1T4.js +1 -0
- package/dist/bn-Ba_k3Kex.mjs +19 -0
- package/dist/components/CedrosPay.d.ts +54 -0
- package/dist/components/CedrosPay.d.ts.map +1 -0
- package/dist/components/CryptoButton.d.ts +26 -0
- package/dist/components/CryptoButton.d.ts.map +1 -0
- package/dist/components/PaymentModal.d.ts +28 -0
- package/dist/components/PaymentModal.d.ts.map +1 -0
- package/dist/components/ProductPrice.d.ts +56 -0
- package/dist/components/ProductPrice.d.ts.map +1 -0
- package/dist/components/PurchaseButton.d.ts +52 -0
- package/dist/components/PurchaseButton.d.ts.map +1 -0
- package/dist/components/StripeButton.d.ts +27 -0
- package/dist/components/StripeButton.d.ts.map +1 -0
- package/dist/context/CedrosContext.d.ts +46 -0
- package/dist/context/CedrosContext.d.ts.map +1 -0
- package/dist/context/ThemeContext.d.ts +30 -0
- package/dist/context/ThemeContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/crypto-only.d.ts +33 -0
- package/dist/crypto-only.d.ts.map +1 -0
- package/dist/crypto-only.js +1 -0
- package/dist/crypto-only.mjs +35 -0
- package/dist/de-CoZiPFN7.mjs +19 -0
- package/dist/de-pQxy-oD1.js +1 -0
- package/dist/en-CSsJl3nf.mjs +19 -0
- package/dist/en-D-uY3ltT.js +1 -0
- package/dist/es-BWGIBp2f.mjs +19 -0
- package/dist/es-D24cg8dD.js +1 -0
- package/dist/fil-BOBft9G-.js +1 -0
- package/dist/fil-Czo27xmj.mjs +19 -0
- package/dist/fr-Ct9ub8Fa.js +1 -0
- package/dist/fr-DQ-2ThBv.mjs +19 -0
- package/dist/he-DpV1WnBQ.mjs +19 -0
- package/dist/he-DtQqRKRq.js +1 -0
- package/dist/hooks/usePaymentMode.d.ts +39 -0
- package/dist/hooks/usePaymentMode.d.ts.map +1 -0
- package/dist/hooks/useRefundVerification.d.ts +30 -0
- package/dist/hooks/useRefundVerification.d.ts.map +1 -0
- package/dist/hooks/useStripeCheckout.d.ts +20 -0
- package/dist/hooks/useStripeCheckout.d.ts.map +1 -0
- package/dist/hooks/useX402Payment.d.ts +24 -0
- package/dist/hooks/useX402Payment.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +107 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/useTranslation.d.ts +55 -0
- package/dist/i18n/useTranslation.d.ts.map +1 -0
- package/dist/id-BJMqsu19.mjs +19 -0
- package/dist/id-CiM2mL7C.js +1 -0
- package/dist/in-BxgxKLQH.mjs +19 -0
- package/dist/in-Bzcjmxcc.js +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +626 -0
- package/dist/it-Blb_pIJl.js +1 -0
- package/dist/it-DZFFPALf.mjs +19 -0
- package/dist/jp-9NHyIuwY.js +1 -0
- package/dist/jp-ZExTrlHK.mjs +19 -0
- package/dist/kr-DHX3i4Ht.mjs +19 -0
- package/dist/kr-DvzJ-0yX.js +1 -0
- package/dist/managers/ManagerCache.d.ts +49 -0
- package/dist/managers/ManagerCache.d.ts.map +1 -0
- package/dist/managers/RouteDiscoveryManager.d.ts +72 -0
- package/dist/managers/RouteDiscoveryManager.d.ts.map +1 -0
- package/dist/managers/StripeManager.d.ts +110 -0
- package/dist/managers/StripeManager.d.ts.map +1 -0
- package/dist/managers/WalletManager.d.ts +150 -0
- package/dist/managers/WalletManager.d.ts.map +1 -0
- package/dist/managers/X402Manager.d.ts +176 -0
- package/dist/managers/X402Manager.d.ts.map +1 -0
- package/dist/ms-BOAu5pUB.js +1 -0
- package/dist/ms-Cv1fdIi2.mjs +19 -0
- package/dist/nl-BmGonsKb.mjs +19 -0
- package/dist/nl-WHh_DfO8.js +1 -0
- package/dist/pa-B7kIhZCF.js +1 -0
- package/dist/pa-BfwcJIar.mjs +19 -0
- package/dist/pay-react.css +1 -0
- package/dist/pl-DE5IB9xv.mjs +19 -0
- package/dist/pl-H0hBKdvF.js +1 -0
- package/dist/pt-CLzkqDzf.mjs +19 -0
- package/dist/pt-DwGrViQ3.js +1 -0
- package/dist/ru-CB2m0UDT.js +1 -0
- package/dist/ru-DM6-oUR0.mjs +19 -0
- package/dist/stripe-only.d.ts +31 -0
- package/dist/stripe-only.d.ts.map +1 -0
- package/dist/stripe-only.js +1 -0
- package/dist/stripe-only.mjs +33 -0
- package/dist/styles-D3XGpsqb.js +1 -0
- package/dist/styles-zgmHs6Hs.mjs +1601 -0
- package/dist/ta-A5HnrGb5.mjs +19 -0
- package/dist/ta-CAS197uN.js +1 -0
- package/dist/telemetry.d.ts +27 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +1 -0
- package/dist/telemetry.mjs +127 -0
- package/dist/testing/__tests__/providers.test.d.ts +10 -0
- package/dist/testing/__tests__/providers.test.d.ts.map +1 -0
- package/dist/testing/helpers.d.ts +242 -0
- package/dist/testing/helpers.d.ts.map +1 -0
- package/dist/testing/index.d.ts +12 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.mjs +374 -0
- package/dist/testing/mocks.d.ts +225 -0
- package/dist/testing/mocks.d.ts.map +1 -0
- package/dist/testing/providers.d.ts +89 -0
- package/dist/testing/providers.d.ts.map +1 -0
- package/dist/th-3fbB3Ytp.mjs +19 -0
- package/dist/th-Cpz2cFcg.js +1 -0
- package/dist/tr-BrgfFFdq.mjs +19 -0
- package/dist/tr-hQrEFk86.js +1 -0
- package/dist/types/componentOptions.d.ts +138 -0
- package/dist/types/componentOptions.d.ts.map +1 -0
- package/dist/types/errors.d.ts +213 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +248 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/uk-0hFun_g_.mjs +19 -0
- package/dist/uk-DrK2Sv8C.js +1 -0
- package/dist/ur-CaOjJXai.mjs +19 -0
- package/dist/ur-D5-7mN9a.js +1 -0
- package/dist/utils/__tests__/cspHelper.test.d.ts +9 -0
- package/dist/utils/__tests__/cspHelper.test.d.ts.map +1 -0
- package/dist/utils/__tests__/fetchWithTimeout.test.d.ts +11 -0
- package/dist/utils/__tests__/fetchWithTimeout.test.d.ts.map +1 -0
- package/dist/utils/cartHelpers.d.ts +105 -0
- package/dist/utils/cartHelpers.d.ts.map +1 -0
- package/dist/utils/circuitBreaker.d.ts +112 -0
- package/dist/utils/circuitBreaker.d.ts.map +1 -0
- package/dist/utils/couponHelpers.d.ts +50 -0
- package/dist/utils/couponHelpers.d.ts.map +1 -0
- package/dist/utils/cspHelper.d.ts +162 -0
- package/dist/utils/cspHelper.d.ts.map +1 -0
- package/dist/utils/deprecation.d.ts +128 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/errorHandling.d.ts +30 -0
- package/dist/utils/errorHandling.d.ts.map +1 -0
- package/dist/utils/errorMessages.d.ts +47 -0
- package/dist/utils/errorMessages.d.ts.map +1 -0
- package/dist/utils/errorParser.d.ts +37 -0
- package/dist/utils/errorParser.d.ts.map +1 -0
- package/dist/utils/eventEmitter.d.ts +119 -0
- package/dist/utils/eventEmitter.d.ts.map +1 -0
- package/dist/utils/exponentialBackoff.d.ts +104 -0
- package/dist/utils/exponentialBackoff.d.ts.map +1 -0
- package/dist/utils/fetchWithTimeout.d.ts +13 -0
- package/dist/utils/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +76 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/modalStyles.d.ts +13 -0
- package/dist/utils/modalStyles.d.ts.map +1 -0
- package/dist/utils/rateLimiter.d.ts +88 -0
- package/dist/utils/rateLimiter.d.ts.map +1 -0
- package/dist/utils/requestDeduplication.d.ts +124 -0
- package/dist/utils/requestDeduplication.d.ts.map +1 -0
- package/dist/utils/securityValidation.d.ts +75 -0
- package/dist/utils/securityValidation.d.ts.map +1 -0
- package/dist/utils/solanaCheck.d.ts +10 -0
- package/dist/utils/solanaCheck.d.ts.map +1 -0
- package/dist/utils/telemetry.d.ts +277 -0
- package/dist/utils/telemetry.d.ts.map +1 -0
- package/dist/utils/tokenMintValidator.d.ts +77 -0
- package/dist/utils/tokenMintValidator.d.ts.map +1 -0
- package/dist/utils/uuid.d.ts +13 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/validateConfig.d.ts +13 -0
- package/dist/utils/validateConfig.d.ts.map +1 -0
- package/dist/utils/walletDetection.d.ts +6 -0
- package/dist/utils/walletDetection.d.ts.map +1 -0
- package/dist/utils/walletPool.d.ts +57 -0
- package/dist/utils/walletPool.d.ts.map +1 -0
- package/dist/uuid-C0iMjdcc.js +1 -0
- package/dist/uuid-UlzrVY8Y.mjs +17 -0
- package/dist/vn-0nlIZFLP.mjs +19 -0
- package/dist/vn-B_iut9YL.js +1 -0
- package/dist/walletDetection-JZR3UCOa.mjs +27 -0
- package/dist/walletDetection-bNmV5ItZ.js +1 -0
- package/dist/zh-B4Endr1F.mjs +19 -0
- package/dist/zh-PR82dCHr.js +1 -0
- package/package.json +139 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Cedros Pay
|
|
3
|
+
*
|
|
4
|
+
* VERSIONING POLICY:
|
|
5
|
+
* - Types are exported in versioned namespaces (v1, v2, etc.)
|
|
6
|
+
* - Current version is always re-exported at top level for convenience
|
|
7
|
+
* - Breaking changes require a new namespace version
|
|
8
|
+
* - Older versions remain available for backward compatibility
|
|
9
|
+
*
|
|
10
|
+
* Example:
|
|
11
|
+
* import { X402Requirement } from '@cedros/pay-react'; // Current version (v1)
|
|
12
|
+
* import { v1 } from '@cedros/pay-react'; // Explicit v1
|
|
13
|
+
* import { v2 } from '@cedros/pay-react'; // Future version
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Version 1 Types (Current)
|
|
17
|
+
* Stable API - changes here require bumping to v2
|
|
18
|
+
*/
|
|
19
|
+
export declare namespace v1 {
|
|
20
|
+
type SolanaCluster = 'mainnet-beta' | 'devnet' | 'testnet';
|
|
21
|
+
type PaymentStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
22
|
+
type Currency = 'USD' | 'EUR' | 'GBP';
|
|
23
|
+
/**
|
|
24
|
+
* Cart item for multi-item purchases
|
|
25
|
+
* Used across multiple components for cart and checkout flows
|
|
26
|
+
*/
|
|
27
|
+
interface CartItem {
|
|
28
|
+
resource: string;
|
|
29
|
+
quantity?: number;
|
|
30
|
+
metadata?: Record<string, string>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Configuration for the Cedros Pay provider
|
|
34
|
+
*/
|
|
35
|
+
interface CedrosConfig {
|
|
36
|
+
stripePublicKey: string;
|
|
37
|
+
serverUrl?: string;
|
|
38
|
+
solanaCluster: SolanaCluster;
|
|
39
|
+
tokenMint?: string;
|
|
40
|
+
solanaEndpoint?: string;
|
|
41
|
+
theme?: CedrosThemeMode;
|
|
42
|
+
themeOverrides?: Partial<CedrosThemeTokens>;
|
|
43
|
+
unstyled?: boolean;
|
|
44
|
+
logLevel?: number;
|
|
45
|
+
/**
|
|
46
|
+
* SAFETY: Allow unknown token mints (NOT RECOMMENDED)
|
|
47
|
+
*
|
|
48
|
+
* By default, CedrosPay validates token mints against known stablecoins (USDC, USDT, PYUSD, CASH).
|
|
49
|
+
* Using an unrecognized token mint will throw an error to prevent sending funds to the wrong token.
|
|
50
|
+
*
|
|
51
|
+
* Set this to `true` ONLY if you are intentionally using a custom token, testnet token, or new stablecoin.
|
|
52
|
+
*
|
|
53
|
+
* ⚠️ WARNING: Typos in token mint addresses cause PERMANENT loss of funds.
|
|
54
|
+
*
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
dangerouslyAllowUnknownMint?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* x402 payment requirement (official spec)
|
|
61
|
+
* From the accepts array in 402 response
|
|
62
|
+
*/
|
|
63
|
+
interface X402Requirement {
|
|
64
|
+
scheme: string;
|
|
65
|
+
network: string;
|
|
66
|
+
maxAmountRequired: string;
|
|
67
|
+
resource: string;
|
|
68
|
+
description: string;
|
|
69
|
+
mimeType: string;
|
|
70
|
+
payTo: string;
|
|
71
|
+
maxTimeoutSeconds: number;
|
|
72
|
+
asset: string;
|
|
73
|
+
extra?: {
|
|
74
|
+
recipientTokenAccount?: string;
|
|
75
|
+
decimals?: number;
|
|
76
|
+
tokenSymbol?: string;
|
|
77
|
+
memo?: string;
|
|
78
|
+
feePayer?: string;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
type CedrosThemeMode = 'light' | 'dark';
|
|
82
|
+
interface CedrosThemeTokens {
|
|
83
|
+
surfaceBackground: string;
|
|
84
|
+
surfaceText: string;
|
|
85
|
+
surfaceBorder: string;
|
|
86
|
+
stripeBackground: string;
|
|
87
|
+
stripeText: string;
|
|
88
|
+
stripeShadow: string;
|
|
89
|
+
cryptoBackground: string;
|
|
90
|
+
cryptoText: string;
|
|
91
|
+
cryptoShadow: string;
|
|
92
|
+
errorBackground: string;
|
|
93
|
+
errorBorder: string;
|
|
94
|
+
errorText: string;
|
|
95
|
+
successBackground: string;
|
|
96
|
+
successBorder: string;
|
|
97
|
+
successText: string;
|
|
98
|
+
modalOverlay: string;
|
|
99
|
+
modalBackground: string;
|
|
100
|
+
modalBorder: string;
|
|
101
|
+
buttonBorderRadius: string;
|
|
102
|
+
buttonPadding: string;
|
|
103
|
+
buttonFontSize: string;
|
|
104
|
+
buttonFontWeight: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Verification error details
|
|
108
|
+
*/
|
|
109
|
+
interface VerificationError {
|
|
110
|
+
code: string;
|
|
111
|
+
message: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* x402 HTTP 402 response structure (official spec)
|
|
115
|
+
*/
|
|
116
|
+
interface X402Response {
|
|
117
|
+
x402Version: number;
|
|
118
|
+
error: string;
|
|
119
|
+
accepts: X402Requirement[];
|
|
120
|
+
verificationError?: VerificationError;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* x402 payment payload (official spec)
|
|
124
|
+
* Sent in X-Payment header
|
|
125
|
+
*/
|
|
126
|
+
interface PaymentPayload {
|
|
127
|
+
x402Version: number;
|
|
128
|
+
scheme: string;
|
|
129
|
+
network: string;
|
|
130
|
+
payload: {
|
|
131
|
+
signature: string;
|
|
132
|
+
transaction: string;
|
|
133
|
+
payer?: string;
|
|
134
|
+
memo?: string;
|
|
135
|
+
recipientTokenAccount?: string;
|
|
136
|
+
metadata?: Record<string, unknown>;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* x402 settlement response (official spec)
|
|
141
|
+
* Received in X-PAYMENT-RESPONSE header
|
|
142
|
+
*/
|
|
143
|
+
interface SettlementResponse {
|
|
144
|
+
success: boolean;
|
|
145
|
+
error: string | null;
|
|
146
|
+
txHash: string | null;
|
|
147
|
+
networkId: string | null;
|
|
148
|
+
metadata?: {
|
|
149
|
+
coupon_codes?: string;
|
|
150
|
+
original_amount?: string;
|
|
151
|
+
discounted_amount?: string;
|
|
152
|
+
[key: string]: string | undefined;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Stripe session creation request
|
|
157
|
+
* Matches backend createSessionRequest struct JSON tags (server.go:130-136)
|
|
158
|
+
* Note: Backend uses camelCase JSON tags for HTTP API layer
|
|
159
|
+
* The resource corresponds to a resource in the backend paywall config which
|
|
160
|
+
* contains both Stripe (price_id, fiat_amount) and x402 (crypto_amount, token) info
|
|
161
|
+
*/
|
|
162
|
+
interface StripeSessionRequest {
|
|
163
|
+
resource: string;
|
|
164
|
+
customerEmail?: string;
|
|
165
|
+
metadata?: Record<string, string>;
|
|
166
|
+
successUrl?: string;
|
|
167
|
+
cancelUrl?: string;
|
|
168
|
+
couponCode?: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Stripe session response from backend
|
|
172
|
+
*/
|
|
173
|
+
interface StripeSessionResponse {
|
|
174
|
+
sessionId: string;
|
|
175
|
+
url: string;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Payment result for both flows
|
|
179
|
+
*/
|
|
180
|
+
interface PaymentResult {
|
|
181
|
+
success: boolean;
|
|
182
|
+
transactionId?: string;
|
|
183
|
+
error?: string;
|
|
184
|
+
settlement?: SettlementResponse;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Payment metadata
|
|
188
|
+
*/
|
|
189
|
+
interface PaymentMetadata {
|
|
190
|
+
resource: string;
|
|
191
|
+
amount: number;
|
|
192
|
+
currency?: Currency;
|
|
193
|
+
metadata?: Record<string, unknown>;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Payment state
|
|
197
|
+
*/
|
|
198
|
+
interface PaymentState {
|
|
199
|
+
status: PaymentStatus;
|
|
200
|
+
error: string | null;
|
|
201
|
+
transactionId: string | null;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Product from /paywall/v1/products endpoint
|
|
205
|
+
* Includes payment-method-specific pricing and coupons
|
|
206
|
+
*/
|
|
207
|
+
interface Product {
|
|
208
|
+
id: string;
|
|
209
|
+
description: string;
|
|
210
|
+
fiatAmount: number;
|
|
211
|
+
fiatCurrency: string;
|
|
212
|
+
cryptoAmount: number;
|
|
213
|
+
cryptoToken: string;
|
|
214
|
+
effectiveFiatAmount: number;
|
|
215
|
+
effectiveCryptoAmount: number;
|
|
216
|
+
hasStripeCoupon: boolean;
|
|
217
|
+
hasCryptoCoupon: boolean;
|
|
218
|
+
stripeCouponCode: string;
|
|
219
|
+
cryptoCouponCode: string;
|
|
220
|
+
stripeDiscountPercent: number;
|
|
221
|
+
cryptoDiscountPercent: number;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Current stable version (v1)
|
|
226
|
+
* Re-exported at top level for convenience
|
|
227
|
+
*/
|
|
228
|
+
export type SolanaCluster = v1.SolanaCluster;
|
|
229
|
+
export type PaymentStatus = v1.PaymentStatus;
|
|
230
|
+
export type Currency = v1.Currency;
|
|
231
|
+
export type CedrosThemeMode = v1.CedrosThemeMode;
|
|
232
|
+
export type CartItem = v1.CartItem;
|
|
233
|
+
export type CedrosConfig = v1.CedrosConfig;
|
|
234
|
+
export type X402Requirement = v1.X402Requirement;
|
|
235
|
+
export type CedrosThemeTokens = v1.CedrosThemeTokens;
|
|
236
|
+
export type VerificationError = v1.VerificationError;
|
|
237
|
+
export type X402Response = v1.X402Response;
|
|
238
|
+
export type PaymentPayload = v1.PaymentPayload;
|
|
239
|
+
export type SettlementResponse = v1.SettlementResponse;
|
|
240
|
+
export type StripeSessionRequest = v1.StripeSessionRequest;
|
|
241
|
+
export type StripeSessionResponse = v1.StripeSessionResponse;
|
|
242
|
+
export type PaymentResult = v1.PaymentResult;
|
|
243
|
+
export type PaymentMetadata = v1.PaymentMetadata;
|
|
244
|
+
export type PaymentState = v1.PaymentState;
|
|
245
|
+
export type Product = v1.Product;
|
|
246
|
+
export { PaymentErrorCode, PaymentError, ERROR_CATEGORIES, type ErrorResponse } from './errors';
|
|
247
|
+
export type { PaymentMethod, FuturePaymentMethod, PaymentSuccessResult, PaymentErrorDetail, CheckoutOptions, DisplayOptions, ModalRenderProps, CallbackOptions, AdvancedOptions, } from './componentOptions';
|
|
248
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const e = "CEDROS PAY - Початковий файл перекладу (українська)", a = "1.0.0", i = "uk", n = { pay_with_card: "Оплатити карткою", pay_with_crypto: "Оплатити USDC", pay_with_usdc: "Оплатити USDC", purchase: "Купівля", card: "Картка", usdc_solana: "USDC (Solana)", crypto: "Криптовалюта", connect_wallet: "Під’єднати гаманець", connecting: "Під’єднання...", processing: "Обробка...", loading: "Завантаження...", close: "Закрити", cancel: "Скасувати", confirm: "Підтвердити", retry: "Спробувати ще раз", go_back: "Назад", contact_support: "Зв’язатися з підтримкою" }, o = { invalid_payment_proof: { message: "Не вдалося підтвердити оплату", action: "Повторіть спробу оплати. Якщо проблема не зникає, зверніться до служби підтримки." }, invalid_signature: { message: "Підпис транзакції недійсний", action: "Підтвердьте транзакцію у вашому гаманці та спробуйте ще раз." }, invalid_transaction: { message: "Неправильний формат транзакції", action: "Повторіть спробу оплати. Якщо проблема триває, оновіть застосунок гаманця." }, transaction_not_found: { message: "Транзакцію не знайдено в блокчейні", action: "Ваша транзакція може ще оброблятися. Зачекайте трохи та перевірте гаманець або спробуйте ще раз." }, transaction_not_confirmed: { message: "Транзакція ще обробляється", action: "Зачекайте підтвердження в блокчейні, потім спробуйте ще раз." }, transaction_failed: { message: "Помилка транзакції в блокчейні", action: "Перевірте деталі у гаманці. Можливо, потрібно змінити параметри транзакції або додати SOL для комісій." }, transaction_expired: { message: "Час обробки транзакції вичерпано", action: "Повторіть спробу оплати. За можливості підвищте пріоритет транзакції у вашому гаманці." }, invalid_recipient: { message: "Платіж надіслано на неправильну адресу", action: "Спробуйте ще раз і переконайтеся, що ви схвалюєте правильну транзакцію у гаманці." }, invalid_sender: { message: "Гаманець відправника недійсний", action: "Під’єднайте гаманець повторно та спробуйте ще раз." }, unauthorized_refund_issuer: { message: "У вас немає прав оформлювати повернення", action: "Повернення можуть обробляти лише авторизовані облікові записи. Зверніться до підтримки, якщо це помилка." }, amount_below_minimum: { message: "Сума платежу надто мала", action: "Перевірте потрібну суму та спробуйте ще раз." }, amount_mismatch: { message: "Сума платежу не відповідає розрахунковій сумі", action: "Ціна могла змінитися. Оновіть сторінку та повторіть оплату." }, insufficient_funds_sol: { message: "Недостатньо SOL для мережевих комісій", action: "Додайте щонайменше 0.001 SOL на гаманець для оплати комісій і спробуйте ще раз." }, insufficient_funds_token: { message: "Недостатній баланс у гаманці", action: "Поповніть гаманець і спробуйте ще раз." }, invalid_token_mint: { message: "Неправильний токен оплати", action: "Оплатіть правильним токеном, вказаним у деталях платежу." }, not_spl_transfer: { message: "Транзакція не є коректним переказом токенів", action: "Переконайтеся, що надсилаєте токен потрібного типу зі свого гаманця." }, missing_token_account: { message: "Токен-рахунок не знайдено", action: "Вашому гаманцю може знадобитися спершу створити токен-рахунок. Спробуйте ще раз або використайте інший гаманець." }, invalid_token_program: { message: "Недійсна програма токена", action: "Повторіть спробу оплати. Якщо проблема триває, спробуйте інший гаманець." }, missing_memo: { message: "Потрібна примітка (memo) до платежу, але її не додано", action: "Повторіть оплату та переконайтеся, що у гаманці схвалені всі деталі транзакції." }, invalid_memo: { message: "Неправильний формат примітки (memo)", action: "Повторіть спробу оплати." }, payment_already_used: { message: "Цей платіж уже оброблено", action: "Перевірте історію транзакцій. Якщо потрібен новий платіж, створіть нову транзакцію." }, signature_reused: { message: "Підпис транзакції вже використано", action: "Створіть нову платіжну транзакцію." }, quote_expired: { message: "Строк дії цінової пропозиції закінчився", action: "Ціни часто оновлюються. Оновіть сторінку та повторіть оплату." }, missing_field: { message: "Відсутня обов’язкова інформація", action: "Перевірте всі обов’язкові поля й спробуйте ще раз." }, invalid_field: { message: "Деякі дані вказано некоректно", action: "Перевірте введені дані та спробуйте ще раз." }, invalid_amount: { message: "Некоректна сума платежу", action: "Перевірте суму та спробуйте ще раз." }, invalid_wallet: { message: "Недійсна адреса гаманця", action: "Під’єднайте гаманець повторно та спробуйте ще раз." }, invalid_resource: { message: "Некоректний вибір товару", action: "Оновіть сторінку та спробуйте ще раз." }, invalid_coupon: { message: "Недійсний промокод", action: "Перевірте промокод і спробуйте ще раз." }, invalid_cart_item: { message: "Один або кілька товарів у кошику некоректні", action: "Перегляньте кошик і спробуйте ще раз." }, empty_cart: { message: "Ваш кошик порожній", action: "Додайте товари до кошика перед оформленням." }, resource_not_found: { message: "Товар не знайдено", action: "Можливо, товар більше недоступний. Оновіть сторінку та спробуйте ще раз." }, cart_not_found: { message: "Кошик не знайдено", action: "Строк дії кошика міг закінчитися. Почніть нове замовлення." }, refund_not_found: { message: "Повернення коштів не знайдено", action: "Перевірте номер повернення або зверніться до підтримки." }, product_not_found: { message: "Товар недоступний", action: "Можливо, товар більше недоступний. Перегляньте актуальний асортимент." }, coupon_not_found: { message: "Промокод не знайдено", action: "Перевірте код або видаліть його, щоб продовжити." }, session_not_found: { message: "Сеанс оплати закінчився", action: "Почніть новий платіж." }, cart_already_paid: { message: "Це замовлення вже оплачено", action: "Перевірте історію замовлень. Якщо потрібна нова покупка, почніть нове замовлення." }, refund_already_processed: { message: "Це повернення вже оброблено", action: "Перевірте історію транзакцій або зверніться до підтримки для деталей." }, coupon_expired: { message: "Строк дії промокоду минув", action: "Видаліть промокод або використайте інший." }, coupon_usage_limit_reached: { message: "Досягнуто ліміт використання промокоду", action: "Цей промокод уже вичерпано. Спробуйте інший код." }, coupon_not_applicable: { message: "Промокод не застосовується до цієї покупки", action: "Перевірте умови промокоду або видаліть його, щоб продовжити." }, coupon_wrong_payment_method: { message: "Промокод недійсний для цього способу оплати", action: "Виберіть інший спосіб оплати або видаліть промокод." }, stripe_error: { message: "Сервіс оплати карткою тимчасово недоступний", action: "Спробуйте трохи пізніше або скористайтеся оплатою криптовалютою." }, rpc_error: { message: "Мережа блокчейну тимчасово недоступна", action: "Спробуйте трохи пізніше або оплатіть карткою." }, network_error: { message: "Проблеми з мережевим підключенням", action: "Перевірте підключення до інтернету та спробуйте ще раз." }, internal_error: { message: "Сталася помилка на нашому боці", action: "Спробуйте ще раз. Якщо проблема не зникає, зверніться до підтримки." }, database_error: { message: "Сервіс тимчасово недоступний", action: "Спробуйте трохи пізніше." }, config_error: { message: "Помилка конфігурації сервісу", action: "Зверніться до підтримки за допомогою." }, unknown_error: { message: "Сталася непередбачена помилка", action: "Спробуйте ще раз або зверніться до підтримки, якщо проблема повторюється." } }, s = { unknown_token_mint: "Попередження: Невідома адреса mint токена. Ретельно перевірте, що це правильний токен, щоб уникнути втрати коштів.", token_typo_warning: "Адреса токена не відповідає відомим стейблкоїнам (USDC, USDT, PYUSD, CASH). Перевіряйте уважно, щоб запобігти безповоротній втраті коштів." }, t = { no_wallet_detected: "Гаманець Solana не виявлено", install_wallet: "Встановіть гаманець Solana, наприклад Phantom, Solflare або Backpack.", wallet_not_connected: "Гаманець не під’єднаний", connect_your_wallet: "Під’єднайте гаманець, щоб продовжити.", wallet_connection_failed: "Не вдалося під’єднати гаманець", try_again: "Спробуйте під’єднатися ще раз.", transaction_rejected: "Транзакцію відхилено", approve_in_wallet: "Підтвердіть транзакцію у своєму гаманці, щоб продовжити." }, c = {
|
|
2
|
+
comment: e,
|
|
3
|
+
version: a,
|
|
4
|
+
locale: "uk",
|
|
5
|
+
ui: n,
|
|
6
|
+
errors: o,
|
|
7
|
+
validation: s,
|
|
8
|
+
wallet: t
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
e as comment,
|
|
12
|
+
c as default,
|
|
13
|
+
o as errors,
|
|
14
|
+
i as locale,
|
|
15
|
+
n as ui,
|
|
16
|
+
s as validation,
|
|
17
|
+
a as version,
|
|
18
|
+
t as wallet
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="CEDROS PAY - Початковий файл перекладу (українська)",a="1.0.0",n="uk",o={pay_with_card:"Оплатити карткою",pay_with_crypto:"Оплатити USDC",pay_with_usdc:"Оплатити USDC",purchase:"Купівля",card:"Картка",usdc_solana:"USDC (Solana)",crypto:"Криптовалюта",connect_wallet:"Під’єднати гаманець",connecting:"Під’єднання...",processing:"Обробка...",loading:"Завантаження...",close:"Закрити",cancel:"Скасувати",confirm:"Підтвердити",retry:"Спробувати ще раз",go_back:"Назад",contact_support:"Зв’язатися з підтримкою"},t={invalid_payment_proof:{message:"Не вдалося підтвердити оплату",action:"Повторіть спробу оплати. Якщо проблема не зникає, зверніться до служби підтримки."},invalid_signature:{message:"Підпис транзакції недійсний",action:"Підтвердьте транзакцію у вашому гаманці та спробуйте ще раз."},invalid_transaction:{message:"Неправильний формат транзакції",action:"Повторіть спробу оплати. Якщо проблема триває, оновіть застосунок гаманця."},transaction_not_found:{message:"Транзакцію не знайдено в блокчейні",action:"Ваша транзакція може ще оброблятися. Зачекайте трохи та перевірте гаманець або спробуйте ще раз."},transaction_not_confirmed:{message:"Транзакція ще обробляється",action:"Зачекайте підтвердження в блокчейні, потім спробуйте ще раз."},transaction_failed:{message:"Помилка транзакції в блокчейні",action:"Перевірте деталі у гаманці. Можливо, потрібно змінити параметри транзакції або додати SOL для комісій."},transaction_expired:{message:"Час обробки транзакції вичерпано",action:"Повторіть спробу оплати. За можливості підвищте пріоритет транзакції у вашому гаманці."},invalid_recipient:{message:"Платіж надіслано на неправильну адресу",action:"Спробуйте ще раз і переконайтеся, що ви схвалюєте правильну транзакцію у гаманці."},invalid_sender:{message:"Гаманець відправника недійсний",action:"Під’єднайте гаманець повторно та спробуйте ще раз."},unauthorized_refund_issuer:{message:"У вас немає прав оформлювати повернення",action:"Повернення можуть обробляти лише авторизовані облікові записи. Зверніться до підтримки, якщо це помилка."},amount_below_minimum:{message:"Сума платежу надто мала",action:"Перевірте потрібну суму та спробуйте ще раз."},amount_mismatch:{message:"Сума платежу не відповідає розрахунковій сумі",action:"Ціна могла змінитися. Оновіть сторінку та повторіть оплату."},insufficient_funds_sol:{message:"Недостатньо SOL для мережевих комісій",action:"Додайте щонайменше 0.001 SOL на гаманець для оплати комісій і спробуйте ще раз."},insufficient_funds_token:{message:"Недостатній баланс у гаманці",action:"Поповніть гаманець і спробуйте ще раз."},invalid_token_mint:{message:"Неправильний токен оплати",action:"Оплатіть правильним токеном, вказаним у деталях платежу."},not_spl_transfer:{message:"Транзакція не є коректним переказом токенів",action:"Переконайтеся, що надсилаєте токен потрібного типу зі свого гаманця."},missing_token_account:{message:"Токен-рахунок не знайдено",action:"Вашому гаманцю може знадобитися спершу створити токен-рахунок. Спробуйте ще раз або використайте інший гаманець."},invalid_token_program:{message:"Недійсна програма токена",action:"Повторіть спробу оплати. Якщо проблема триває, спробуйте інший гаманець."},missing_memo:{message:"Потрібна примітка (memo) до платежу, але її не додано",action:"Повторіть оплату та переконайтеся, що у гаманці схвалені всі деталі транзакції."},invalid_memo:{message:"Неправильний формат примітки (memo)",action:"Повторіть спробу оплати."},payment_already_used:{message:"Цей платіж уже оброблено",action:"Перевірте історію транзакцій. Якщо потрібен новий платіж, створіть нову транзакцію."},signature_reused:{message:"Підпис транзакції вже використано",action:"Створіть нову платіжну транзакцію."},quote_expired:{message:"Строк дії цінової пропозиції закінчився",action:"Ціни часто оновлюються. Оновіть сторінку та повторіть оплату."},missing_field:{message:"Відсутня обов’язкова інформація",action:"Перевірте всі обов’язкові поля й спробуйте ще раз."},invalid_field:{message:"Деякі дані вказано некоректно",action:"Перевірте введені дані та спробуйте ще раз."},invalid_amount:{message:"Некоректна сума платежу",action:"Перевірте суму та спробуйте ще раз."},invalid_wallet:{message:"Недійсна адреса гаманця",action:"Під’єднайте гаманець повторно та спробуйте ще раз."},invalid_resource:{message:"Некоректний вибір товару",action:"Оновіть сторінку та спробуйте ще раз."},invalid_coupon:{message:"Недійсний промокод",action:"Перевірте промокод і спробуйте ще раз."},invalid_cart_item:{message:"Один або кілька товарів у кошику некоректні",action:"Перегляньте кошик і спробуйте ще раз."},empty_cart:{message:"Ваш кошик порожній",action:"Додайте товари до кошика перед оформленням."},resource_not_found:{message:"Товар не знайдено",action:"Можливо, товар більше недоступний. Оновіть сторінку та спробуйте ще раз."},cart_not_found:{message:"Кошик не знайдено",action:"Строк дії кошика міг закінчитися. Почніть нове замовлення."},refund_not_found:{message:"Повернення коштів не знайдено",action:"Перевірте номер повернення або зверніться до підтримки."},product_not_found:{message:"Товар недоступний",action:"Можливо, товар більше недоступний. Перегляньте актуальний асортимент."},coupon_not_found:{message:"Промокод не знайдено",action:"Перевірте код або видаліть його, щоб продовжити."},session_not_found:{message:"Сеанс оплати закінчився",action:"Почніть новий платіж."},cart_already_paid:{message:"Це замовлення вже оплачено",action:"Перевірте історію замовлень. Якщо потрібна нова покупка, почніть нове замовлення."},refund_already_processed:{message:"Це повернення вже оброблено",action:"Перевірте історію транзакцій або зверніться до підтримки для деталей."},coupon_expired:{message:"Строк дії промокоду минув",action:"Видаліть промокод або використайте інший."},coupon_usage_limit_reached:{message:"Досягнуто ліміт використання промокоду",action:"Цей промокод уже вичерпано. Спробуйте інший код."},coupon_not_applicable:{message:"Промокод не застосовується до цієї покупки",action:"Перевірте умови промокоду або видаліть його, щоб продовжити."},coupon_wrong_payment_method:{message:"Промокод недійсний для цього способу оплати",action:"Виберіть інший спосіб оплати або видаліть промокод."},stripe_error:{message:"Сервіс оплати карткою тимчасово недоступний",action:"Спробуйте трохи пізніше або скористайтеся оплатою криптовалютою."},rpc_error:{message:"Мережа блокчейну тимчасово недоступна",action:"Спробуйте трохи пізніше або оплатіть карткою."},network_error:{message:"Проблеми з мережевим підключенням",action:"Перевірте підключення до інтернету та спробуйте ще раз."},internal_error:{message:"Сталася помилка на нашому боці",action:"Спробуйте ще раз. Якщо проблема не зникає, зверніться до підтримки."},database_error:{message:"Сервіс тимчасово недоступний",action:"Спробуйте трохи пізніше."},config_error:{message:"Помилка конфігурації сервісу",action:"Зверніться до підтримки за допомогою."},unknown_error:{message:"Сталася непередбачена помилка",action:"Спробуйте ще раз або зверніться до підтримки, якщо проблема повторюється."}},s={unknown_token_mint:"Попередження: Невідома адреса mint токена. Ретельно перевірте, що це правильний токен, щоб уникнути втрати коштів.",token_typo_warning:"Адреса токена не відповідає відомим стейблкоїнам (USDC, USDT, PYUSD, CASH). Перевіряйте уважно, щоб запобігти безповоротній втраті коштів."},i={no_wallet_detected:"Гаманець Solana не виявлено",install_wallet:"Встановіть гаманець Solana, наприклад Phantom, Solflare або Backpack.",wallet_not_connected:"Гаманець не під’єднаний",connect_your_wallet:"Під’єднайте гаманець, щоб продовжити.",wallet_connection_failed:"Не вдалося під’єднати гаманець",try_again:"Спробуйте під’єднатися ще раз.",transaction_rejected:"Транзакцію відхилено",approve_in_wallet:"Підтвердіть транзакцію у своєму гаманці, щоб продовжити."},c={comment:e,version:a,locale:n,ui:o,errors:t,validation:s,wallet:i};exports.comment=e;exports.default=c;exports.errors=t;exports.locale=n;exports.ui=o;exports.validation=s;exports.version=a;exports.wallet=i;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const e = "CEDROS PAY - ترجمہ ماخذ فائل (اردو)", a = "1.0.0", i = "ur", n = { pay_with_card: "کارڈ کے ذریعے ادائیگی", pay_with_crypto: "USDC کے ذریعے ادائیگی", pay_with_usdc: "USDC کے ذریعے ادائیگی", purchase: "خریداری", card: "کارڈ", usdc_solana: "USDC (Solana)", crypto: "کرپٹو", connect_wallet: "والیٹ منسلک کریں", connecting: "منسلک کیا جا رہا ہے...", processing: "کارروائی جاری ہے...", loading: "لوڈ ہو رہا ہے...", close: "بند کریں", cancel: "منسوخ کریں", confirm: "تصدیق کریں", retry: "دوبارہ کوشش کریں", go_back: "واپس جائیں", contact_support: "سپورٹ سے رابطہ کریں" }, o = { invalid_payment_proof: { message: "ادائیگی کی تصدیق ناکام رہی", action: "براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔" }, invalid_signature: { message: "ٹرانزیکشن کا دستخط غیر معتبر ہے", action: "براہِ کرم اپنے والیٹ میں ٹرانزیکشن منظور کریں اور دوبارہ کوشش کریں۔" }, invalid_transaction: { message: "ٹرانزیکشن فارمیٹ غیر معتبر ہے", action: "براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو اپنے والیٹ ایپ کو اپڈیٹ کرنے کی کوشش کریں۔" }, transaction_not_found: { message: "ٹرانزیکشن بلاک چین پر نہیں ملی", action: "آپ کی ٹرانزیکشن ابھی پروسیسنگ میں ہو سکتی ہے۔ براہِ کرم کچھ لمحہ انتظار کریں اور اپنے والیٹ کو چیک کریں، یا دوبارہ کوشش کریں۔" }, transaction_not_confirmed: { message: "ٹرانزیکشن ابھی پروسیسنگ میں ہے", action: "براہِ کرم بلاک چین سے تصدیق کا انتظار کریں، پھر دوبارہ کوشش کریں۔" }, transaction_failed: { message: "ٹرانزیکشن بلاک چین پر ناکام ہو گئی", action: "تفصیلات کے لیے اپنا والیٹ چیک کریں۔ ہو سکتا ہے آپ کو ٹرانزیکشن سیٹنگز ایڈجسٹ کرنی ہوں یا فیس کے لیے مزید SOL شامل کرنا ہو۔" }, transaction_expired: { message: "ٹرانزیکشن میں زیادہ وقت لگ گیا", action: "براہِ کرم ادائیگی دوبارہ کریں۔ اگر آپ کے والیٹ میں دستیاب ہو تو ٹرانزیکشن کی ترجیح بڑھانے پر غور کریں۔" }, invalid_recipient: { message: "ادائیگی غلط پتے پر بھیجی گئی", action: "براہِ کرم دوبارہ کوشش کریں اور یقینی بنائیں کہ آپ اپنے والیٹ میں درست ٹرانزیکشن منظور کر رہے ہیں۔" }, invalid_sender: { message: "ادائیگی بھیجنے والا والیٹ غیر معتبر ہے", action: "براہِ کرم اپنا والیٹ دوبارہ منسلک کریں اور دوبارہ کوشش کریں۔" }, unauthorized_refund_issuer: { message: "آپ ریفنڈ جاری کرنے کے مجاز نہیں", action: "ریفنڈ صرف مجاز اکاؤنٹس پروسیس کر سکتے ہیں۔ اگر آپ اسے غلطی سمجھتے ہیں تو سپورٹ سے رابطہ کریں۔" }, amount_below_minimum: { message: "ادائیگی کی رقم بہت کم ہے", action: "براہِ کرم مطلوبہ رقم چیک کریں اور دوبارہ کوشش کریں۔" }, amount_mismatch: { message: "ادائیگی کی رقم کوٹ سے مطابقت نہیں رکھتی", action: "قیمت تبدیل ہو سکتی ہے۔ براہِ کرم ریفریش کریں اور ادائیگی دوبارہ کریں۔" }, insufficient_funds_sol: { message: "ٹرانزیکشن فیس کے لیے SOL ناکافی", action: "نیٹ ورک فیس کے لیے اپنے والیٹ میں کم از کم 0.001 SOL شامل کریں، پھر دوبارہ کوشش کریں۔" }, insufficient_funds_token: { message: "آپ کے والیٹ میں بیلنس ناکافی ہے", action: "براہِ کرم مزید رقوم شامل کریں اور دوبارہ کوشش کریں۔" }, invalid_token_mint: { message: "غلط ادائیگی ٹوکن", action: "براہِ کرم ادائیگی کی تفصیلات کے مطابق درست ٹوکن سے ادائیگی کریں۔" }, not_spl_transfer: { message: "یہ ٹرانزیکشن درست ٹوکن ٹرانسفر نہیں", action: "براہِ کرم یقینی بنائیں کہ آپ اپنے والیٹ سے درست ٹوکن قسم بھیج رہے ہیں۔" }, missing_token_account: { message: "ٹوکن اکاؤنٹ نہیں ملا", action: "آپ کے والیٹ کو پہلے ٹوکن اکاؤنٹ بنانے کی ضرورت ہو سکتی ہے۔ دوبارہ کوشش کریں یا دوسرا والیٹ استعمال کریں۔" }, invalid_token_program: { message: "غلط ٹوکن پروگرام", action: "براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو دوسرا والیٹ استعمال کرنے کی کوشش کریں۔" }, missing_memo: { message: "ادائیگی میمو درکار ہے مگر شامل نہیں کیا گیا", action: "براہِ کرم ادائیگی دوبارہ کریں اور یقینی بنائیں کہ آپ نے والیٹ میں ٹرانزیکشن کی تفصیلات منظور کی ہیں۔" }, invalid_memo: { message: "ادائیگی میمو کا فارمیٹ غلط ہے", action: "براہِ کرم ادائیگی دوبارہ کریں۔" }, payment_already_used: { message: "یہ ادائیگی پہلے ہی پروسیس کی جا چکی ہے", action: "اپنی ٹرانزیکشن ہسٹری چیک کریں۔ اگر دوبارہ ادائیگی درکار ہو تو نئی ٹرانزیکشن شروع کریں۔" }, signature_reused: { message: "ٹرانزیکشن دستخط پہلے ہی استعمال ہو چکا ہے", action: "براہِ کرم نئی ادائیگی کی ٹرانزیکشن بنائیں۔" }, quote_expired: { message: "ادائیگی کا کوٹ ختم ہو گیا ہے", action: "قیمتیں کثرت سے اپڈیٹ ہوتی ہیں۔ براہِ کرم ریفریش کریں اور ادائیگی دوبارہ کریں۔" }, missing_field: { message: "ضروری معلومات موجود نہیں", action: "براہِ کرم تمام مطلوبہ فیلڈز چیک کریں اور دوبارہ کوشش کریں۔" }, invalid_field: { message: "کچھ معلومات غلط ہیں", action: "براہِ کرم اپنی ان پٹ چیک کریں اور دوبارہ کوشش کریں۔" }, invalid_amount: { message: "ادائیگی کی رقم غلط ہے", action: "براہِ کرم رقم چیک کریں اور دوبارہ کوشش کریں۔" }, invalid_wallet: { message: "والیٹ ایڈریس غلط ہے", action: "براہِ کرم اپنا والیٹ دوبارہ منسلک کریں اور دوبارہ کوشش کریں۔" }, invalid_resource: { message: "غلط آئٹم کا انتخاب", action: "براہِ کرم صفحہ ریفریش کریں اور دوبارہ کوشش کریں۔" }, invalid_coupon: { message: "غلط کوپن کوڈ", action: "براہِ کرم کوپن کوڈ چیک کریں اور دوبارہ کوشش کریں۔" }, invalid_cart_item: { message: "کارٹ میں ایک یا زائد آئٹمز غلط ہیں", action: "براہِ کرم اپنا کارٹ دیکھیں اور دوبارہ کوشش کریں۔" }, empty_cart: { message: "آپ کا کارٹ خالی ہے", action: "براہِ کرم چیک آؤٹ سے پہلے آئٹمز شامل کریں۔" }, resource_not_found: { message: "آئٹم نہیں ملا", action: "ممکن ہے یہ آئٹم دستیاب نہ ہو۔ براہِ کرم ریفریش کریں اور دوبارہ کوشش کریں۔" }, cart_not_found: { message: "شاپنگ کارٹ نہیں ملا", action: "آپ کا کارٹ میعاد ختم ہو سکتا ہے۔ براہِ کرم نیا آرڈر شروع کریں۔" }, refund_not_found: { message: "ریفنڈ نہیں ملا", action: "براہِ کرم ریفنڈ ریفرنس نمبر چیک کریں یا سپورٹ سے رابطہ کریں۔" }, product_not_found: { message: "پروڈکٹ دستیاب نہیں", action: "ممکن ہے یہ پروڈکٹ اب دستیاب نہ ہو۔ براہِ کرم موجودہ انتخاب دیکھیں۔" }, coupon_not_found: { message: "کوپن کوڈ نہیں ملا", action: "براہِ کرم کوپن کوڈ چیک کریں یا اسے ہٹا کر آگے بڑھیں۔" }, session_not_found: { message: "ادائیگی سیشن کی میعاد ختم ہو گئی", action: "براہِ کرم نئی ادائیگی شروع کریں۔" }, cart_already_paid: { message: "یہ آرڈر پہلے ہی ادا کیا جا چکا ہے", action: "اپنی آرڈر ہسٹری چیک کریں۔ اگر مزید خریداری درکار ہو تو نیا آرڈر شروع کریں۔" }, refund_already_processed: { message: "یہ ریفنڈ پہلے ہی پروسیس ہو چکا ہے", action: "اپنی ٹرانزیکشن ہسٹری چیک کریں یا تفصیلات کے لیے سپورٹ سے رابطہ کریں۔" }, coupon_expired: { message: "کوپن کی میعاد ختم ہو گئی ہے", action: "براہِ کرم کوپن ہٹا دیں یا دوسرا کوڈ استعمال کریں۔" }, coupon_usage_limit_reached: { message: "کوپن کے استعمال کی حد پوری ہو گئی ہے", action: "یہ کوپن مکمل طور پر ری ڈیم ہو چکا ہے۔ براہِ کرم دوسرا کوڈ آزمائیں۔" }, coupon_not_applicable: { message: "یہ کوپن اس خریداری پر لاگو نہیں ہوتا", action: "براہِ کرم کوپن کی شرائط چیک کریں یا اسے ہٹا کر آگے بڑھیں۔" }, coupon_wrong_payment_method: { message: "یہ کوپن اس ادائیگی کے طریقے کے لیے درست نہیں", action: "کوئی اور ادائیگی طریقہ آزمائیں یا کوپن کوڈ ہٹا دیں۔" }, stripe_error: { message: "کارڈ ادائیگی کی سروس عارضی طور پر دستیاب نہیں", action: "براہِ کرم کچھ دیر بعد کوشش کریں، یا اس کے بجائے کرپٹو ادائیگی استعمال کریں۔" }, rpc_error: { message: "بلاک چین نیٹ ورک عارضی طور پر دستیاب نہیں", action: "براہِ کرم کچھ دیر بعد کوشش کریں، یا کارڈ ادائیگی استعمال کریں۔" }, network_error: { message: "نیٹ ورک کنکشن کا مسئلہ", action: "براہِ کرم اپنی انٹرنیٹ کنکشن چیک کریں اور دوبارہ کوشش کریں۔" }, internal_error: { message: "ہماری جانب سے کوئی مسئلہ پیش آ گیا", action: "براہِ کرم دوبارہ کوشش کریں۔ مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔" }, database_error: { message: "سروس عارضی طور پر دستیاب نہیں", action: "براہِ کرم کچھ دیر بعد دوبارہ کوشش کریں۔" }, config_error: { message: "سروس کنفیگریشن میں خرابی", action: "براہِ کرم مدد کے لیے سپورٹ سے رابطہ کریں۔" }, unknown_error: { message: "غیر متوقع خرابی پیش آ گئی", action: "براہِ کرم دوبارہ کوشش کریں یا مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔" } }, s = { unknown_token_mint: "انتباہ: غیر معروف ٹوکن منٹ ایڈریس۔ فنڈز کے نقصان سے بچنے کے لیے تصدیق کریں کہ یہ درست ٹوکن ہے۔", token_typo_warning: "ٹوکن ایڈریس معروف اسٹیبل کوائنز (USDC، USDT، PYUSD، CASH) سے مطابقت نہیں رکھتا۔ مستقل نقصان سے بچنے کے لیے احتیاط سے تصدیق کریں۔" }, t = { no_wallet_detected: "کوئی سولانا والیٹ نہیں ملا", install_wallet: "براہِ کرم Phantom، Solflare یا Backpack جیسے سولانا والیٹ انسٹال کریں۔", wallet_not_connected: "والیٹ منسلک نہیں", connect_your_wallet: "جاری رکھنے کے لیے اپنا والیٹ منسلک کریں۔", wallet_connection_failed: "والیٹ منسلک نہیں ہو سکا", try_again: "براہِ کرم دوبارہ منسلک کرنے کی کوشش کریں۔", transaction_rejected: "ٹرانزیکشن مسترد کر دی گئی", approve_in_wallet: "جاری رکھنے کے لیے اپنے والیٹ میں ٹرانزیکشن کی منظوری دیں۔" }, c = {
|
|
2
|
+
comment: e,
|
|
3
|
+
version: a,
|
|
4
|
+
locale: "ur",
|
|
5
|
+
ui: n,
|
|
6
|
+
errors: o,
|
|
7
|
+
validation: s,
|
|
8
|
+
wallet: t
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
e as comment,
|
|
12
|
+
c as default,
|
|
13
|
+
o as errors,
|
|
14
|
+
i as locale,
|
|
15
|
+
n as ui,
|
|
16
|
+
s as validation,
|
|
17
|
+
a as version,
|
|
18
|
+
t as wallet
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="CEDROS PAY - ترجمہ ماخذ فائل (اردو)",a="1.0.0",n="ur",o={pay_with_card:"کارڈ کے ذریعے ادائیگی",pay_with_crypto:"USDC کے ذریعے ادائیگی",pay_with_usdc:"USDC کے ذریعے ادائیگی",purchase:"خریداری",card:"کارڈ",usdc_solana:"USDC (Solana)",crypto:"کرپٹو",connect_wallet:"والیٹ منسلک کریں",connecting:"منسلک کیا جا رہا ہے...",processing:"کارروائی جاری ہے...",loading:"لوڈ ہو رہا ہے...",close:"بند کریں",cancel:"منسوخ کریں",confirm:"تصدیق کریں",retry:"دوبارہ کوشش کریں",go_back:"واپس جائیں",contact_support:"سپورٹ سے رابطہ کریں"},s={invalid_payment_proof:{message:"ادائیگی کی تصدیق ناکام رہی",action:"براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔"},invalid_signature:{message:"ٹرانزیکشن کا دستخط غیر معتبر ہے",action:"براہِ کرم اپنے والیٹ میں ٹرانزیکشن منظور کریں اور دوبارہ کوشش کریں۔"},invalid_transaction:{message:"ٹرانزیکشن فارمیٹ غیر معتبر ہے",action:"براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو اپنے والیٹ ایپ کو اپڈیٹ کرنے کی کوشش کریں۔"},transaction_not_found:{message:"ٹرانزیکشن بلاک چین پر نہیں ملی",action:"آپ کی ٹرانزیکشن ابھی پروسیسنگ میں ہو سکتی ہے۔ براہِ کرم کچھ لمحہ انتظار کریں اور اپنے والیٹ کو چیک کریں، یا دوبارہ کوشش کریں۔"},transaction_not_confirmed:{message:"ٹرانزیکشن ابھی پروسیسنگ میں ہے",action:"براہِ کرم بلاک چین سے تصدیق کا انتظار کریں، پھر دوبارہ کوشش کریں۔"},transaction_failed:{message:"ٹرانزیکشن بلاک چین پر ناکام ہو گئی",action:"تفصیلات کے لیے اپنا والیٹ چیک کریں۔ ہو سکتا ہے آپ کو ٹرانزیکشن سیٹنگز ایڈجسٹ کرنی ہوں یا فیس کے لیے مزید SOL شامل کرنا ہو۔"},transaction_expired:{message:"ٹرانزیکشن میں زیادہ وقت لگ گیا",action:"براہِ کرم ادائیگی دوبارہ کریں۔ اگر آپ کے والیٹ میں دستیاب ہو تو ٹرانزیکشن کی ترجیح بڑھانے پر غور کریں۔"},invalid_recipient:{message:"ادائیگی غلط پتے پر بھیجی گئی",action:"براہِ کرم دوبارہ کوشش کریں اور یقینی بنائیں کہ آپ اپنے والیٹ میں درست ٹرانزیکشن منظور کر رہے ہیں۔"},invalid_sender:{message:"ادائیگی بھیجنے والا والیٹ غیر معتبر ہے",action:"براہِ کرم اپنا والیٹ دوبارہ منسلک کریں اور دوبارہ کوشش کریں۔"},unauthorized_refund_issuer:{message:"آپ ریفنڈ جاری کرنے کے مجاز نہیں",action:"ریفنڈ صرف مجاز اکاؤنٹس پروسیس کر سکتے ہیں۔ اگر آپ اسے غلطی سمجھتے ہیں تو سپورٹ سے رابطہ کریں۔"},amount_below_minimum:{message:"ادائیگی کی رقم بہت کم ہے",action:"براہِ کرم مطلوبہ رقم چیک کریں اور دوبارہ کوشش کریں۔"},amount_mismatch:{message:"ادائیگی کی رقم کوٹ سے مطابقت نہیں رکھتی",action:"قیمت تبدیل ہو سکتی ہے۔ براہِ کرم ریفریش کریں اور ادائیگی دوبارہ کریں۔"},insufficient_funds_sol:{message:"ٹرانزیکشن فیس کے لیے SOL ناکافی",action:"نیٹ ورک فیس کے لیے اپنے والیٹ میں کم از کم 0.001 SOL شامل کریں، پھر دوبارہ کوشش کریں۔"},insufficient_funds_token:{message:"آپ کے والیٹ میں بیلنس ناکافی ہے",action:"براہِ کرم مزید رقوم شامل کریں اور دوبارہ کوشش کریں۔"},invalid_token_mint:{message:"غلط ادائیگی ٹوکن",action:"براہِ کرم ادائیگی کی تفصیلات کے مطابق درست ٹوکن سے ادائیگی کریں۔"},not_spl_transfer:{message:"یہ ٹرانزیکشن درست ٹوکن ٹرانسفر نہیں",action:"براہِ کرم یقینی بنائیں کہ آپ اپنے والیٹ سے درست ٹوکن قسم بھیج رہے ہیں۔"},missing_token_account:{message:"ٹوکن اکاؤنٹ نہیں ملا",action:"آپ کے والیٹ کو پہلے ٹوکن اکاؤنٹ بنانے کی ضرورت ہو سکتی ہے۔ دوبارہ کوشش کریں یا دوسرا والیٹ استعمال کریں۔"},invalid_token_program:{message:"غلط ٹوکن پروگرام",action:"براہِ کرم ادائیگی دوبارہ کریں۔ مسئلہ برقرار رہے تو دوسرا والیٹ استعمال کرنے کی کوشش کریں۔"},missing_memo:{message:"ادائیگی میمو درکار ہے مگر شامل نہیں کیا گیا",action:"براہِ کرم ادائیگی دوبارہ کریں اور یقینی بنائیں کہ آپ نے والیٹ میں ٹرانزیکشن کی تفصیلات منظور کی ہیں۔"},invalid_memo:{message:"ادائیگی میمو کا فارمیٹ غلط ہے",action:"براہِ کرم ادائیگی دوبارہ کریں۔"},payment_already_used:{message:"یہ ادائیگی پہلے ہی پروسیس کی جا چکی ہے",action:"اپنی ٹرانزیکشن ہسٹری چیک کریں۔ اگر دوبارہ ادائیگی درکار ہو تو نئی ٹرانزیکشن شروع کریں۔"},signature_reused:{message:"ٹرانزیکشن دستخط پہلے ہی استعمال ہو چکا ہے",action:"براہِ کرم نئی ادائیگی کی ٹرانزیکشن بنائیں۔"},quote_expired:{message:"ادائیگی کا کوٹ ختم ہو گیا ہے",action:"قیمتیں کثرت سے اپڈیٹ ہوتی ہیں۔ براہِ کرم ریفریش کریں اور ادائیگی دوبارہ کریں۔"},missing_field:{message:"ضروری معلومات موجود نہیں",action:"براہِ کرم تمام مطلوبہ فیلڈز چیک کریں اور دوبارہ کوشش کریں۔"},invalid_field:{message:"کچھ معلومات غلط ہیں",action:"براہِ کرم اپنی ان پٹ چیک کریں اور دوبارہ کوشش کریں۔"},invalid_amount:{message:"ادائیگی کی رقم غلط ہے",action:"براہِ کرم رقم چیک کریں اور دوبارہ کوشش کریں۔"},invalid_wallet:{message:"والیٹ ایڈریس غلط ہے",action:"براہِ کرم اپنا والیٹ دوبارہ منسلک کریں اور دوبارہ کوشش کریں۔"},invalid_resource:{message:"غلط آئٹم کا انتخاب",action:"براہِ کرم صفحہ ریفریش کریں اور دوبارہ کوشش کریں۔"},invalid_coupon:{message:"غلط کوپن کوڈ",action:"براہِ کرم کوپن کوڈ چیک کریں اور دوبارہ کوشش کریں۔"},invalid_cart_item:{message:"کارٹ میں ایک یا زائد آئٹمز غلط ہیں",action:"براہِ کرم اپنا کارٹ دیکھیں اور دوبارہ کوشش کریں۔"},empty_cart:{message:"آپ کا کارٹ خالی ہے",action:"براہِ کرم چیک آؤٹ سے پہلے آئٹمز شامل کریں۔"},resource_not_found:{message:"آئٹم نہیں ملا",action:"ممکن ہے یہ آئٹم دستیاب نہ ہو۔ براہِ کرم ریفریش کریں اور دوبارہ کوشش کریں۔"},cart_not_found:{message:"شاپنگ کارٹ نہیں ملا",action:"آپ کا کارٹ میعاد ختم ہو سکتا ہے۔ براہِ کرم نیا آرڈر شروع کریں۔"},refund_not_found:{message:"ریفنڈ نہیں ملا",action:"براہِ کرم ریفنڈ ریفرنس نمبر چیک کریں یا سپورٹ سے رابطہ کریں۔"},product_not_found:{message:"پروڈکٹ دستیاب نہیں",action:"ممکن ہے یہ پروڈکٹ اب دستیاب نہ ہو۔ براہِ کرم موجودہ انتخاب دیکھیں۔"},coupon_not_found:{message:"کوپن کوڈ نہیں ملا",action:"براہِ کرم کوپن کوڈ چیک کریں یا اسے ہٹا کر آگے بڑھیں۔"},session_not_found:{message:"ادائیگی سیشن کی میعاد ختم ہو گئی",action:"براہِ کرم نئی ادائیگی شروع کریں۔"},cart_already_paid:{message:"یہ آرڈر پہلے ہی ادا کیا جا چکا ہے",action:"اپنی آرڈر ہسٹری چیک کریں۔ اگر مزید خریداری درکار ہو تو نیا آرڈر شروع کریں۔"},refund_already_processed:{message:"یہ ریفنڈ پہلے ہی پروسیس ہو چکا ہے",action:"اپنی ٹرانزیکشن ہسٹری چیک کریں یا تفصیلات کے لیے سپورٹ سے رابطہ کریں۔"},coupon_expired:{message:"کوپن کی میعاد ختم ہو گئی ہے",action:"براہِ کرم کوپن ہٹا دیں یا دوسرا کوڈ استعمال کریں۔"},coupon_usage_limit_reached:{message:"کوپن کے استعمال کی حد پوری ہو گئی ہے",action:"یہ کوپن مکمل طور پر ری ڈیم ہو چکا ہے۔ براہِ کرم دوسرا کوڈ آزمائیں۔"},coupon_not_applicable:{message:"یہ کوپن اس خریداری پر لاگو نہیں ہوتا",action:"براہِ کرم کوپن کی شرائط چیک کریں یا اسے ہٹا کر آگے بڑھیں۔"},coupon_wrong_payment_method:{message:"یہ کوپن اس ادائیگی کے طریقے کے لیے درست نہیں",action:"کوئی اور ادائیگی طریقہ آزمائیں یا کوپن کوڈ ہٹا دیں۔"},stripe_error:{message:"کارڈ ادائیگی کی سروس عارضی طور پر دستیاب نہیں",action:"براہِ کرم کچھ دیر بعد کوشش کریں، یا اس کے بجائے کرپٹو ادائیگی استعمال کریں۔"},rpc_error:{message:"بلاک چین نیٹ ورک عارضی طور پر دستیاب نہیں",action:"براہِ کرم کچھ دیر بعد کوشش کریں، یا کارڈ ادائیگی استعمال کریں۔"},network_error:{message:"نیٹ ورک کنکشن کا مسئلہ",action:"براہِ کرم اپنی انٹرنیٹ کنکشن چیک کریں اور دوبارہ کوشش کریں۔"},internal_error:{message:"ہماری جانب سے کوئی مسئلہ پیش آ گیا",action:"براہِ کرم دوبارہ کوشش کریں۔ مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔"},database_error:{message:"سروس عارضی طور پر دستیاب نہیں",action:"براہِ کرم کچھ دیر بعد دوبارہ کوشش کریں۔"},config_error:{message:"سروس کنفیگریشن میں خرابی",action:"براہِ کرم مدد کے لیے سپورٹ سے رابطہ کریں۔"},unknown_error:{message:"غیر متوقع خرابی پیش آ گئی",action:"براہِ کرم دوبارہ کوشش کریں یا مسئلہ برقرار رہے تو سپورٹ سے رابطہ کریں۔"}},t={unknown_token_mint:"انتباہ: غیر معروف ٹوکن منٹ ایڈریس۔ فنڈز کے نقصان سے بچنے کے لیے تصدیق کریں کہ یہ درست ٹوکن ہے۔",token_typo_warning:"ٹوکن ایڈریس معروف اسٹیبل کوائنز (USDC، USDT، PYUSD، CASH) سے مطابقت نہیں رکھتا۔ مستقل نقصان سے بچنے کے لیے احتیاط سے تصدیق کریں۔"},i={no_wallet_detected:"کوئی سولانا والیٹ نہیں ملا",install_wallet:"براہِ کرم Phantom، Solflare یا Backpack جیسے سولانا والیٹ انسٹال کریں۔",wallet_not_connected:"والیٹ منسلک نہیں",connect_your_wallet:"جاری رکھنے کے لیے اپنا والیٹ منسلک کریں۔",wallet_connection_failed:"والیٹ منسلک نہیں ہو سکا",try_again:"براہِ کرم دوبارہ منسلک کرنے کی کوشش کریں۔",transaction_rejected:"ٹرانزیکشن مسترد کر دی گئی",approve_in_wallet:"جاری رکھنے کے لیے اپنے والیٹ میں ٹرانزیکشن کی منظوری دیں۔"},c={comment:e,version:a,locale:n,ui:o,errors:s,validation:t,wallet:i};exports.comment=e;exports.default=c;exports.errors=s;exports.locale=n;exports.ui=o;exports.validation=t;exports.version=a;exports.wallet=i;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for CSP helper utility
|
|
3
|
+
*
|
|
4
|
+
* Regression test for SEC-002:
|
|
5
|
+
* - Verify 'self' appears in frame-src across all presets
|
|
6
|
+
* - Verify crypto-only mode excludes Stripe but includes 'self'
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=cspHelper.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cspHelper.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/cspHelper.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for fetchWithTimeout utility
|
|
3
|
+
*
|
|
4
|
+
* Regression tests for STAB-001 and STAB-003:
|
|
5
|
+
* - Timeout abort scenario
|
|
6
|
+
* - Caller abort before timeout
|
|
7
|
+
* - Already-aborted signal
|
|
8
|
+
* - Cleanup of event listeners
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=fetchWithTimeout.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchWithTimeout.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/fetchWithTimeout.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cart utility functions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Normalized cart item for backend API
|
|
6
|
+
*/
|
|
7
|
+
export interface NormalizedCartItem {
|
|
8
|
+
resource: string;
|
|
9
|
+
quantity: number;
|
|
10
|
+
metadata?: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Normalize cart items for backend API consumption
|
|
14
|
+
*
|
|
15
|
+
* Ensures all items have a quantity (defaults to 1) and preserves metadata
|
|
16
|
+
* Sanitizes negative, zero, and fractional quantities to prevent undercharging
|
|
17
|
+
*
|
|
18
|
+
* @param items - Array of cart items with optional quantity and metadata
|
|
19
|
+
* @returns Array of normalized cart items ready for API submission
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* normalizeCartItems([
|
|
23
|
+
* {resource: 'item1', metadata: {sku: 'ABC123'}},
|
|
24
|
+
* {resource: 'item2', quantity: 3, metadata: {sku: 'XYZ789'}}
|
|
25
|
+
* ])
|
|
26
|
+
* // Returns: [
|
|
27
|
+
* // {resource: 'item1', quantity: 1, metadata: {sku: 'ABC123'}},
|
|
28
|
+
* // {resource: 'item2', quantity: 3, metadata: {sku: 'XYZ789'}}
|
|
29
|
+
* // ]
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Sanitizes invalid quantities
|
|
33
|
+
* normalizeCartItems([
|
|
34
|
+
* {resource: 'item1', quantity: -3}, // becomes 1
|
|
35
|
+
* {resource: 'item2', quantity: 0}, // becomes 1
|
|
36
|
+
* {resource: 'item3', quantity: 2.7} // becomes 2
|
|
37
|
+
* ])
|
|
38
|
+
*/
|
|
39
|
+
export declare function normalizeCartItems(items: Array<{
|
|
40
|
+
resource: string;
|
|
41
|
+
quantity?: number;
|
|
42
|
+
metadata?: Record<string, string>;
|
|
43
|
+
}>): NormalizedCartItem[];
|
|
44
|
+
/**
|
|
45
|
+
* Get total number of items in cart (sum of all quantities)
|
|
46
|
+
*
|
|
47
|
+
* @param items - Array of cart items with optional quantity
|
|
48
|
+
* @returns Total item count (sanitized to positive integers)
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* getCartItemCount([
|
|
52
|
+
* {resource: 'item1', quantity: 2},
|
|
53
|
+
* {resource: 'item2', quantity: 3}
|
|
54
|
+
* ])
|
|
55
|
+
* // Returns: 5
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* getCartItemCount([{resource: 'item1'}])
|
|
59
|
+
* // Returns: 1 (defaults to quantity 1)
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* getCartItemCount([
|
|
63
|
+
* {quantity: -2}, // treated as 1
|
|
64
|
+
* {quantity: 0}, // treated as 1
|
|
65
|
+
* {quantity: 2.7} // treated as 2
|
|
66
|
+
* ])
|
|
67
|
+
* // Returns: 4
|
|
68
|
+
*/
|
|
69
|
+
export declare function getCartItemCount(items: Array<{
|
|
70
|
+
quantity?: number;
|
|
71
|
+
}>): number;
|
|
72
|
+
/**
|
|
73
|
+
* Determine if the current payment flow is a cart checkout
|
|
74
|
+
*
|
|
75
|
+
* A cart checkout is defined as:
|
|
76
|
+
* - Multiple items in the cart, OR
|
|
77
|
+
* - A single item with quantity > 1
|
|
78
|
+
*
|
|
79
|
+
* @param items - Array of cart items with optional quantity
|
|
80
|
+
* @returns true if this is a cart checkout, false otherwise
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* // Multiple items
|
|
84
|
+
* isCartCheckout([{resource: 'item1', quantity: 1}, {resource: 'item2', quantity: 1}])
|
|
85
|
+
* // Returns: true
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* // Single item with quantity > 1
|
|
89
|
+
* isCartCheckout([{resource: 'item1', quantity: 2}])
|
|
90
|
+
* // Returns: true
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* // Single item with quantity 1
|
|
94
|
+
* isCartCheckout([{resource: 'item1', quantity: 1}])
|
|
95
|
+
* // Returns: false
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* // No items
|
|
99
|
+
* isCartCheckout([])
|
|
100
|
+
* // Returns: false
|
|
101
|
+
*/
|
|
102
|
+
export declare function isCartCheckout(items?: Array<{
|
|
103
|
+
quantity?: number;
|
|
104
|
+
}>): boolean;
|
|
105
|
+
//# sourceMappingURL=cartHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/cartHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,GACvF,kBAAkB,EAAE,CAMtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAO5E"}
|