@strimz/sdk 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 +111 -0
- package/dist/browser-client-DlZg0Aae.d.cts +223 -0
- package/dist/browser-client-DlZg0Aae.d.ts +223 -0
- package/dist/browser-client.cjs +443 -0
- package/dist/browser-client.cjs.map +1 -0
- package/dist/browser-client.d.cts +4 -0
- package/dist/browser-client.d.ts +4 -0
- package/dist/browser-client.js +439 -0
- package/dist/browser-client.js.map +1 -0
- package/dist/eip712.cjs +70 -0
- package/dist/eip712.cjs.map +1 -0
- package/dist/eip712.d.cts +181 -0
- package/dist/eip712.d.ts +181 -0
- package/dist/eip712.js +65 -0
- package/dist/eip712.js.map +1 -0
- package/dist/errors.cjs +102 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +56 -0
- package/dist/errors.d.ts +56 -0
- package/dist/errors.js +90 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.cjs +831 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +193 -0
- package/dist/index.d.ts +193 -0
- package/dist/index.js +806 -0
- package/dist/index.js.map +1 -0
- package/dist/webhooks.cjs +54 -0
- package/dist/webhooks.cjs.map +1 -0
- package/dist/webhooks.d.cts +19 -0
- package/dist/webhooks.d.ts +19 -0
- package/dist/webhooks.js +13 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +94 -0
- package/src/browser-client.ts +97 -0
- package/src/client.ts +122 -0
- package/src/eip712/index.ts +25 -0
- package/src/eip712/permit.ts +74 -0
- package/src/eip712/receive-with-authorization.ts +88 -0
- package/src/eip712/types.ts +46 -0
- package/src/errors.ts +138 -0
- package/src/http/fetcher.ts +226 -0
- package/src/http/headers.ts +32 -0
- package/src/idempotency.ts +20 -0
- package/src/index.ts +77 -0
- package/src/pagination.ts +48 -0
- package/src/resources/agents.ts +64 -0
- package/src/resources/api-keys.ts +29 -0
- package/src/resources/base-resource.ts +116 -0
- package/src/resources/checkout.ts +32 -0
- package/src/resources/customers.ts +25 -0
- package/src/resources/invoices.ts +31 -0
- package/src/resources/merchants.ts +26 -0
- package/src/resources/payment-sessions.ts +41 -0
- package/src/resources/refunds.ts +36 -0
- package/src/resources/storefronts.ts +62 -0
- package/src/resources/subscription-plans.ts +32 -0
- package/src/resources/subscriptions.ts +37 -0
- package/src/resources/tokens.ts +70 -0
- package/src/resources/transactions.ts +20 -0
- package/src/resources/webhook-deliveries.ts +29 -0
- package/src/resources/webhook-endpoints.ts +56 -0
- package/src/webhooks.ts +64 -0
package/dist/errors.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// src/errors.ts
|
|
2
|
+
var StrimzError = class extends Error {
|
|
3
|
+
code;
|
|
4
|
+
httpStatus;
|
|
5
|
+
requestId;
|
|
6
|
+
param;
|
|
7
|
+
details;
|
|
8
|
+
constructor(body, httpStatus) {
|
|
9
|
+
super(body.message);
|
|
10
|
+
this.name = "StrimzError";
|
|
11
|
+
this.code = body.code;
|
|
12
|
+
this.httpStatus = httpStatus;
|
|
13
|
+
this.requestId = body.requestId;
|
|
14
|
+
this.param = body.param;
|
|
15
|
+
this.details = body.details;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var StrimzAuthenticationError = class extends StrimzError {
|
|
19
|
+
constructor(body, httpStatus) {
|
|
20
|
+
super(body, httpStatus);
|
|
21
|
+
this.name = "StrimzAuthenticationError";
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var StrimzPermissionError = class extends StrimzError {
|
|
25
|
+
constructor(body, httpStatus) {
|
|
26
|
+
super(body, httpStatus);
|
|
27
|
+
this.name = "StrimzPermissionError";
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var StrimzValidationError = class extends StrimzError {
|
|
31
|
+
constructor(body, httpStatus) {
|
|
32
|
+
super(body, httpStatus);
|
|
33
|
+
this.name = "StrimzValidationError";
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var StrimzNotFoundError = class extends StrimzError {
|
|
37
|
+
constructor(body, httpStatus) {
|
|
38
|
+
super(body, httpStatus);
|
|
39
|
+
this.name = "StrimzNotFoundError";
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var StrimzIdempotencyError = class extends StrimzError {
|
|
43
|
+
constructor(body, httpStatus) {
|
|
44
|
+
super(body, httpStatus);
|
|
45
|
+
this.name = "StrimzIdempotencyError";
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var StrimzRateLimitError = class extends StrimzError {
|
|
49
|
+
retryAfterMs;
|
|
50
|
+
constructor(body, httpStatus, retryAfterMs) {
|
|
51
|
+
super(body, httpStatus);
|
|
52
|
+
this.name = "StrimzRateLimitError";
|
|
53
|
+
this.retryAfterMs = retryAfterMs;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var StrimzNetworkError = class extends StrimzError {
|
|
57
|
+
cause;
|
|
58
|
+
constructor(message, cause) {
|
|
59
|
+
super({ code: "network_error", message });
|
|
60
|
+
this.name = "StrimzNetworkError";
|
|
61
|
+
this.cause = cause;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var StrimzTimeoutError = class extends StrimzError {
|
|
65
|
+
constructor(message) {
|
|
66
|
+
super({ code: "timeout", message });
|
|
67
|
+
this.name = "StrimzTimeoutError";
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var StrimzModeMismatchError = class extends StrimzError {
|
|
71
|
+
constructor(message) {
|
|
72
|
+
super({ code: "mode_mismatch", message });
|
|
73
|
+
this.name = "StrimzModeMismatchError";
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
function classifyError(httpStatus, body, retryAfterMs) {
|
|
77
|
+
if (httpStatus === 401) return new StrimzAuthenticationError(body, httpStatus);
|
|
78
|
+
if (httpStatus === 403) return new StrimzPermissionError(body, httpStatus);
|
|
79
|
+
if (httpStatus === 404) return new StrimzNotFoundError(body, httpStatus);
|
|
80
|
+
if (httpStatus === 409 && body.code === "idempotency_error") {
|
|
81
|
+
return new StrimzIdempotencyError(body, httpStatus);
|
|
82
|
+
}
|
|
83
|
+
if (httpStatus === 422) return new StrimzValidationError(body, httpStatus);
|
|
84
|
+
if (httpStatus === 429) return new StrimzRateLimitError(body, httpStatus, retryAfterMs);
|
|
85
|
+
return new StrimzError(body, httpStatus);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { StrimzAuthenticationError, StrimzError, StrimzIdempotencyError, StrimzModeMismatchError, StrimzNetworkError, StrimzNotFoundError, StrimzPermissionError, StrimzRateLimitError, StrimzTimeoutError, StrimzValidationError, classifyError };
|
|
89
|
+
//# sourceMappingURL=errors.js.map
|
|
90
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts"],"names":[],"mappings":"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","file":"errors.js","sourcesContent":["/**\n * Error hierarchy for the Strimz SDK.\n *\n * Every error thrown by the SDK extends `StrimzError`. The SDK never\n * resolves to `{ ok: false }` — it throws. This matches the Stripe / GitHub\n * SDK convention and keeps call sites linear.\n */\n\nexport type StrimzErrorCode =\n | 'authentication_error'\n | 'permission_denied'\n | 'invalid_request'\n | 'not_found'\n | 'idempotency_error'\n | 'rate_limited'\n | 'mode_mismatch'\n | 'merchant_not_found'\n | 'merchant_inactive'\n | 'token_not_whitelisted'\n | 'compliance_blocked'\n | 'session_expired'\n | 'session_invalid_state'\n | 'webhook_signature_invalid'\n | 'api_error'\n | 'network_error'\n | 'timeout'\n | 'parse_error'\n | 'unknown'\n\nexport interface StrimzErrorBody {\n code: StrimzErrorCode\n message: string\n param?: string\n requestId?: string\n details?: Record<string, unknown>\n}\n\nexport class StrimzError extends Error {\n public readonly code: StrimzErrorCode\n public readonly httpStatus: number | undefined\n public readonly requestId: string | undefined\n public readonly param: string | undefined\n public readonly details: Record<string, unknown> | undefined\n\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body.message)\n this.name = 'StrimzError'\n this.code = body.code\n this.httpStatus = httpStatus\n this.requestId = body.requestId\n this.param = body.param\n this.details = body.details\n }\n}\n\nexport class StrimzAuthenticationError extends StrimzError {\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body, httpStatus)\n this.name = 'StrimzAuthenticationError'\n }\n}\n\nexport class StrimzPermissionError extends StrimzError {\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body, httpStatus)\n this.name = 'StrimzPermissionError'\n }\n}\n\nexport class StrimzValidationError extends StrimzError {\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body, httpStatus)\n this.name = 'StrimzValidationError'\n }\n}\n\nexport class StrimzNotFoundError extends StrimzError {\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body, httpStatus)\n this.name = 'StrimzNotFoundError'\n }\n}\n\nexport class StrimzIdempotencyError extends StrimzError {\n constructor(body: StrimzErrorBody, httpStatus?: number) {\n super(body, httpStatus)\n this.name = 'StrimzIdempotencyError'\n }\n}\n\nexport class StrimzRateLimitError extends StrimzError {\n public readonly retryAfterMs: number | undefined\n constructor(body: StrimzErrorBody, httpStatus?: number, retryAfterMs?: number) {\n super(body, httpStatus)\n this.name = 'StrimzRateLimitError'\n this.retryAfterMs = retryAfterMs\n }\n}\n\nexport class StrimzNetworkError extends StrimzError {\n public override readonly cause: unknown\n constructor(message: string, cause: unknown) {\n super({ code: 'network_error', message })\n this.name = 'StrimzNetworkError'\n this.cause = cause\n }\n}\n\nexport class StrimzTimeoutError extends StrimzError {\n constructor(message: string) {\n super({ code: 'timeout', message })\n this.name = 'StrimzTimeoutError'\n }\n}\n\nexport class StrimzModeMismatchError extends StrimzError {\n constructor(message: string) {\n super({ code: 'mode_mismatch', message })\n this.name = 'StrimzModeMismatchError'\n }\n}\n\n/** Map an HTTP status + body to the right StrimzError subclass. */\nexport function classifyError(\n httpStatus: number,\n body: StrimzErrorBody,\n retryAfterMs?: number,\n): StrimzError {\n if (httpStatus === 401) return new StrimzAuthenticationError(body, httpStatus)\n if (httpStatus === 403) return new StrimzPermissionError(body, httpStatus)\n if (httpStatus === 404) return new StrimzNotFoundError(body, httpStatus)\n if (httpStatus === 409 && body.code === 'idempotency_error') {\n return new StrimzIdempotencyError(body, httpStatus)\n }\n if (httpStatus === 422) return new StrimzValidationError(body, httpStatus)\n if (httpStatus === 429) return new StrimzRateLimitError(body, httpStatus, retryAfterMs)\n return new StrimzError(body, httpStatus)\n}\n"]}
|