nxus-qbd 0.7.2 → 1.0.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/README.md +269 -91
- package/dist/client.d.ts +81 -77
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +77 -71
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +1 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/generated/count-capabilities.d.ts +64 -0
- package/dist/generated/count-capabilities.d.ts.map +1 -0
- package/dist/generated/count-capabilities.js +64 -0
- package/dist/generated/count-capabilities.js.map +1 -0
- package/dist/generated/index.d.ts +1 -1
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/resource-capabilities.d.ts +506 -0
- package/dist/generated/resource-capabilities.d.ts.map +1 -0
- package/dist/generated/resource-capabilities.js +506 -0
- package/dist/generated/resource-capabilities.js.map +1 -0
- package/dist/generated/types.gen.d.ts +29531 -20897
- package/dist/generated/types.gen.d.ts.map +1 -1
- package/dist/generated/types.gen.js +80 -0
- package/dist/generated/types.gen.js.map +1 -1
- package/dist/helpers/enums.d.ts +29 -0
- package/dist/helpers/enums.d.ts.map +1 -0
- package/dist/helpers/enums.js +38 -0
- package/dist/helpers/enums.js.map +1 -0
- package/dist/helpers/errors.d.ts +14 -3
- package/dist/helpers/errors.d.ts.map +1 -1
- package/dist/helpers/errors.js +274 -23
- package/dist/helpers/errors.js.map +1 -1
- package/dist/helpers/index.d.ts +4 -2
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +4 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/pagination.d.ts +11 -1
- package/dist/helpers/pagination.d.ts.map +1 -1
- package/dist/helpers/pagination.js.map +1 -1
- package/dist/helpers/response.d.ts +93 -0
- package/dist/helpers/response.d.ts.map +1 -0
- package/dist/helpers/response.js +84 -0
- package/dist/helpers/response.js.map +1 -0
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -8
- package/dist/index.js.map +1 -1
- package/dist/models/core/auth_session.d.ts +1 -1
- package/dist/models/core/auth_session.d.ts.map +1 -1
- package/dist/models/core/connections.d.ts +1 -1
- package/dist/models/core/connections.d.ts.map +1 -1
- package/dist/models/core/index.d.ts +3 -3
- package/dist/models/core/index.d.ts.map +1 -1
- package/dist/models/core/index.js +3 -3
- package/dist/models/core/index.js.map +1 -1
- package/dist/models/core/qwc_auth_setup.d.ts +1 -1
- package/dist/models/core/qwc_auth_setup.d.ts.map +1 -1
- package/dist/models/index.d.ts +6 -6
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +5 -5
- package/dist/models/index.js.map +1 -1
- package/dist/models/qbd/account.d.ts +2 -2
- package/dist/models/qbd/account.d.ts.map +1 -1
- package/dist/models/qbd/account.js +1 -1
- package/dist/models/qbd/account.js.map +1 -1
- package/dist/models/qbd/account_tax_line_info.d.ts +1 -1
- package/dist/models/qbd/account_tax_line_info.d.ts.map +1 -1
- package/dist/models/qbd/ar_refund_credit_card.d.ts +1 -1
- package/dist/models/qbd/ar_refund_credit_card.d.ts.map +1 -1
- package/dist/models/qbd/bar_code.d.ts +1 -1
- package/dist/models/qbd/bar_code.d.ts.map +1 -1
- package/dist/models/qbd/bill.d.ts +1 -1
- package/dist/models/qbd/bill.d.ts.map +1 -1
- package/dist/models/qbd/bill_payment_or_credit.d.ts +1 -1
- package/dist/models/qbd/bill_payment_or_credit.d.ts.map +1 -1
- package/dist/models/qbd/billing_rate.d.ts +1 -1
- package/dist/models/qbd/billing_rate.d.ts.map +1 -1
- package/dist/models/qbd/build_assembly.d.ts +1 -1
- package/dist/models/qbd/build_assembly.d.ts.map +1 -1
- package/dist/models/qbd/charge.d.ts +1 -1
- package/dist/models/qbd/charge.d.ts.map +1 -1
- package/dist/models/qbd/check.d.ts +1 -1
- package/dist/models/qbd/check.d.ts.map +1 -1
- package/dist/models/qbd/check_bill_payment.d.ts +1 -1
- package/dist/models/qbd/check_bill_payment.d.ts.map +1 -1
- package/dist/models/qbd/class_.d.ts +1 -1
- package/dist/models/qbd/class_.d.ts.map +1 -1
- package/dist/models/qbd/credit_card_bill_payment.d.ts +1 -1
- package/dist/models/qbd/credit_card_bill_payment.d.ts.map +1 -1
- package/dist/models/qbd/credit_card_charge.d.ts +1 -1
- package/dist/models/qbd/credit_card_charge.d.ts.map +1 -1
- package/dist/models/qbd/credit_card_credit.d.ts +1 -1
- package/dist/models/qbd/credit_card_credit.d.ts.map +1 -1
- package/dist/models/qbd/credit_memo.d.ts +1 -1
- package/dist/models/qbd/credit_memo.d.ts.map +1 -1
- package/dist/models/qbd/currency.d.ts +2 -1
- package/dist/models/qbd/currency.d.ts.map +1 -1
- package/dist/models/qbd/currency.js +2 -1
- package/dist/models/qbd/currency.js.map +1 -1
- package/dist/models/qbd/custom_field_definitions.d.ts +1 -1
- package/dist/models/qbd/custom_field_definitions.d.ts.map +1 -1
- package/dist/models/qbd/custom_fields.d.ts +2 -2
- package/dist/models/qbd/custom_fields.d.ts.map +1 -1
- package/dist/models/qbd/custom_fields.js +1 -1
- package/dist/models/qbd/custom_fields.js.map +1 -1
- package/dist/models/qbd/customer.d.ts +2 -2
- package/dist/models/qbd/customer.d.ts.map +1 -1
- package/dist/models/qbd/customer.js +1 -1
- package/dist/models/qbd/customer.js.map +1 -1
- package/dist/models/qbd/customer_type.d.ts +1 -1
- package/dist/models/qbd/customer_type.d.ts.map +1 -1
- package/dist/models/qbd/date_driven_term.d.ts +1 -1
- package/dist/models/qbd/date_driven_term.d.ts.map +1 -1
- package/dist/models/qbd/deposit.d.ts +1 -1
- package/dist/models/qbd/deposit.d.ts.map +1 -1
- package/dist/models/qbd/employee.d.ts +2 -2
- package/dist/models/qbd/employee.d.ts.map +1 -1
- package/dist/models/qbd/employee.js +1 -1
- package/dist/models/qbd/employee.js.map +1 -1
- package/dist/models/qbd/estimate.d.ts +1 -1
- package/dist/models/qbd/estimate.d.ts.map +1 -1
- package/dist/models/qbd/index.d.ts +66 -66
- package/dist/models/qbd/index.d.ts.map +1 -1
- package/dist/models/qbd/index.js +66 -66
- package/dist/models/qbd/index.js.map +1 -1
- package/dist/models/qbd/inventory_adjustment.d.ts +1 -1
- package/dist/models/qbd/inventory_adjustment.d.ts.map +1 -1
- package/dist/models/qbd/inventory_site.d.ts +1 -1
- package/dist/models/qbd/inventory_site.d.ts.map +1 -1
- package/dist/models/qbd/invoice.d.ts +2 -1
- package/dist/models/qbd/invoice.d.ts.map +1 -1
- package/dist/models/qbd/invoice.js +2 -1
- package/dist/models/qbd/invoice.js.map +1 -1
- package/dist/models/qbd/item.d.ts +2 -2
- package/dist/models/qbd/item.d.ts.map +1 -1
- package/dist/models/qbd/item.js +1 -1
- package/dist/models/qbd/item.js.map +1 -1
- package/dist/models/qbd/item_discount.d.ts +1 -1
- package/dist/models/qbd/item_discount.d.ts.map +1 -1
- package/dist/models/qbd/item_fixed_asset.d.ts +1 -1
- package/dist/models/qbd/item_fixed_asset.d.ts.map +1 -1
- package/dist/models/qbd/item_group.d.ts +1 -1
- package/dist/models/qbd/item_group.d.ts.map +1 -1
- package/dist/models/qbd/item_inventory.d.ts +1 -1
- package/dist/models/qbd/item_inventory.d.ts.map +1 -1
- package/dist/models/qbd/item_inventory_assembly.d.ts +1 -1
- package/dist/models/qbd/item_inventory_assembly.d.ts.map +1 -1
- package/dist/models/qbd/item_non_inventory.d.ts +1 -1
- package/dist/models/qbd/item_non_inventory.d.ts.map +1 -1
- package/dist/models/qbd/item_other_charge.d.ts +1 -1
- package/dist/models/qbd/item_other_charge.d.ts.map +1 -1
- package/dist/models/qbd/item_payment.d.ts +1 -1
- package/dist/models/qbd/item_payment.d.ts.map +1 -1
- package/dist/models/qbd/item_receipt.d.ts +1 -1
- package/dist/models/qbd/item_receipt.d.ts.map +1 -1
- package/dist/models/qbd/item_sales_tax.d.ts +1 -1
- package/dist/models/qbd/item_sales_tax.d.ts.map +1 -1
- package/dist/models/qbd/item_sales_tax_group.d.ts +1 -1
- package/dist/models/qbd/item_sales_tax_group.d.ts.map +1 -1
- package/dist/models/qbd/item_service.d.ts +1 -1
- package/dist/models/qbd/item_service.d.ts.map +1 -1
- package/dist/models/qbd/item_subtotal.d.ts +1 -1
- package/dist/models/qbd/item_subtotal.d.ts.map +1 -1
- package/dist/models/qbd/journal_entry.d.ts +1 -1
- package/dist/models/qbd/journal_entry.d.ts.map +1 -1
- package/dist/models/qbd/other_name.d.ts +1 -1
- package/dist/models/qbd/other_name.d.ts.map +1 -1
- package/dist/models/qbd/payment_method.d.ts +1 -1
- package/dist/models/qbd/payment_method.d.ts.map +1 -1
- package/dist/models/qbd/payroll_item_non_wage.d.ts +1 -1
- package/dist/models/qbd/payroll_item_non_wage.d.ts.map +1 -1
- package/dist/models/qbd/payroll_item_wage.d.ts +1 -1
- package/dist/models/qbd/payroll_item_wage.d.ts.map +1 -1
- package/dist/models/qbd/price_level.d.ts +1 -1
- package/dist/models/qbd/price_level.d.ts.map +1 -1
- package/dist/models/qbd/purchase_order.d.ts +1 -1
- package/dist/models/qbd/purchase_order.d.ts.map +1 -1
- package/dist/models/qbd/receive_payment.d.ts +1 -1
- package/dist/models/qbd/receive_payment.d.ts.map +1 -1
- package/dist/models/qbd/report.d.ts +1 -1
- package/dist/models/qbd/report.d.ts.map +1 -1
- package/dist/models/qbd/sales_order.d.ts +1 -1
- package/dist/models/qbd/sales_order.d.ts.map +1 -1
- package/dist/models/qbd/sales_receipt.d.ts +1 -1
- package/dist/models/qbd/sales_receipt.d.ts.map +1 -1
- package/dist/models/qbd/sales_tax_code.d.ts +1 -1
- package/dist/models/qbd/sales_tax_code.d.ts.map +1 -1
- package/dist/models/qbd/sales_tax_payment_check.d.ts +1 -1
- package/dist/models/qbd/sales_tax_payment_check.d.ts.map +1 -1
- package/dist/models/qbd/ship_method.d.ts +1 -1
- package/dist/models/qbd/ship_method.d.ts.map +1 -1
- package/dist/models/qbd/special_item.d.ts +1 -1
- package/dist/models/qbd/special_item.d.ts.map +1 -1
- package/dist/models/qbd/tenant_me.d.ts +1 -1
- package/dist/models/qbd/tenant_me.d.ts.map +1 -1
- package/dist/models/qbd/term.d.ts +1 -1
- package/dist/models/qbd/term.d.ts.map +1 -1
- package/dist/models/qbd/time_tracking_activity.d.ts +1 -1
- package/dist/models/qbd/time_tracking_activity.d.ts.map +1 -1
- package/dist/models/qbd/transaction.d.ts +1 -1
- package/dist/models/qbd/transaction.d.ts.map +1 -1
- package/dist/models/qbd/unit_of_measure_set.d.ts +1 -1
- package/dist/models/qbd/unit_of_measure_set.d.ts.map +1 -1
- package/dist/models/qbd/vendor.d.ts +1 -1
- package/dist/models/qbd/vendor.d.ts.map +1 -1
- package/dist/models/qbd/vendor_credit.d.ts +1 -1
- package/dist/models/qbd/vendor_credit.d.ts.map +1 -1
- package/dist/models/qbd/vendor_type.d.ts +1 -1
- package/dist/models/qbd/vendor_type.d.ts.map +1 -1
- package/dist/models/qbd/workers_comp_code.d.ts +1 -1
- package/dist/models/qbd/workers_comp_code.d.ts.map +1 -1
- package/dist/resources/base.d.ts +159 -29
- package/dist/resources/base.d.ts.map +1 -1
- package/dist/resources/base.js +417 -151
- package/dist/resources/base.js.map +1 -1
- package/dist/resources/connections.d.ts +17 -4
- package/dist/resources/connections.d.ts.map +1 -1
- package/dist/resources/connections.js +39 -13
- package/dist/resources/connections.js.map +1 -1
- package/dist/resources/custom-fields.d.ts +35 -32
- package/dist/resources/custom-fields.d.ts.map +1 -1
- package/dist/resources/custom-fields.js +121 -119
- package/dist/resources/custom-fields.js.map +1 -1
- package/dist/resources/reports.d.ts +23 -10
- package/dist/resources/reports.d.ts.map +1 -1
- package/dist/resources/reports.js +40 -29
- package/dist/resources/reports.js.map +1 -1
- package/dist/transport.d.ts +61 -10
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +522 -113
- package/dist/transport.js.map +1 -1
- package/package.json +8 -4
package/dist/helpers/errors.js
CHANGED
|
@@ -11,6 +11,81 @@ function readBoolean(source, key) {
|
|
|
11
11
|
const value = source?.[key];
|
|
12
12
|
return typeof value === 'boolean' ? value : undefined;
|
|
13
13
|
}
|
|
14
|
+
function coerceRetryAfter(value) {
|
|
15
|
+
if (typeof value === 'number') {
|
|
16
|
+
return Number.isFinite(value) && value >= 0 ? value : undefined;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'string' && value.trim()) {
|
|
19
|
+
const seconds = Number(value);
|
|
20
|
+
return Number.isFinite(seconds) && seconds >= 0 ? seconds : undefined;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Normalize a per-field error map into `{ field: [message, ...] }`.
|
|
26
|
+
*
|
|
27
|
+
* The API emits `{ "PayeeId": ["Entity is required"] }`, but a bare string or
|
|
28
|
+
* scalar per field is tolerated rather than dropping the detail. Returns
|
|
29
|
+
* `undefined` for anything that is not a non-empty object, so an empty
|
|
30
|
+
* `errors: {}` is not misread as a validation failure.
|
|
31
|
+
*/
|
|
32
|
+
function coerceValidationErrors(value) {
|
|
33
|
+
const source = asRecord(value);
|
|
34
|
+
if (!source || Array.isArray(value))
|
|
35
|
+
return undefined;
|
|
36
|
+
const coerced = {};
|
|
37
|
+
for (const [field, messages] of Object.entries(source)) {
|
|
38
|
+
if (typeof messages === 'string') {
|
|
39
|
+
coerced[field] = [messages];
|
|
40
|
+
}
|
|
41
|
+
else if (Array.isArray(messages)) {
|
|
42
|
+
coerced[field] = messages
|
|
43
|
+
.filter((m) => m != null)
|
|
44
|
+
.map((m) => String(m));
|
|
45
|
+
}
|
|
46
|
+
else if (messages == null) {
|
|
47
|
+
coerced[field] = [];
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
coerced[field] = [String(messages)];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return Object.keys(coerced).length > 0 ? coerced : undefined;
|
|
54
|
+
}
|
|
55
|
+
/** Render a field map as `"PayeeId: Entity is required; Amount: ..."`. */
|
|
56
|
+
function describeValidationErrors(errors) {
|
|
57
|
+
return Object.entries(errors)
|
|
58
|
+
.map(([field, messages]) => {
|
|
59
|
+
const joined = messages
|
|
60
|
+
.map((m) => String(m).trim())
|
|
61
|
+
.filter(Boolean)
|
|
62
|
+
.join(' ');
|
|
63
|
+
return joined ? `${field}: ${joined}` : field;
|
|
64
|
+
})
|
|
65
|
+
.join('; ');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Append the offending fields to a primary error message.
|
|
69
|
+
*
|
|
70
|
+
* Without this, `err.message` — the string every logger, traceback and error
|
|
71
|
+
* monitor renders by default — reads only `Validation failed`, while the field
|
|
72
|
+
* names sit unread on `userMessage`/`validationErrors`. The structured
|
|
73
|
+
* properties stay authoritative for programmatic handling; this just makes the
|
|
74
|
+
* human-facing string say *where* the request was rejected.
|
|
75
|
+
*
|
|
76
|
+
* Kept identical to Python's `_with_validation_detail` and .NET's
|
|
77
|
+
* `WithValidationDetail` — the message text is public API in all three.
|
|
78
|
+
*/
|
|
79
|
+
function withValidationDetail(message, errors) {
|
|
80
|
+
if (!errors) {
|
|
81
|
+
return message;
|
|
82
|
+
}
|
|
83
|
+
const detail = describeValidationErrors(errors);
|
|
84
|
+
if (!detail || message.includes(detail)) {
|
|
85
|
+
return message;
|
|
86
|
+
}
|
|
87
|
+
return message ? `${message}: ${detail}` : detail;
|
|
88
|
+
}
|
|
14
89
|
// ---------------------------------------------------------------------------
|
|
15
90
|
// NxusApiError — the single error type consumers should work with
|
|
16
91
|
// ---------------------------------------------------------------------------
|
|
@@ -44,7 +119,9 @@ export class NxusApiError extends Error {
|
|
|
44
119
|
requestId;
|
|
45
120
|
/** QB Desktop integration-specific error code (HRESULT or QBXML status). */
|
|
46
121
|
integrationCode;
|
|
47
|
-
/**
|
|
122
|
+
/** Retry delay requested by the API, in seconds. */
|
|
123
|
+
retryAfter;
|
|
124
|
+
/** Per-field validation errors, when the API supplied them. */
|
|
48
125
|
validationErrors;
|
|
49
126
|
/** Connection lifecycle state when the API includes restriction context. */
|
|
50
127
|
lifecycleState;
|
|
@@ -67,6 +144,7 @@ export class NxusApiError extends Error {
|
|
|
67
144
|
this.userMessage = opts.userMessage;
|
|
68
145
|
this.requestId = opts.requestId;
|
|
69
146
|
this.integrationCode = opts.integrationCode;
|
|
147
|
+
this.retryAfter = opts.retryAfter;
|
|
70
148
|
this.validationErrors = opts.validationErrors;
|
|
71
149
|
this.lifecycleState = opts.lifecycleState;
|
|
72
150
|
this.restrictionReason = opts.restrictionReason;
|
|
@@ -83,12 +161,12 @@ export class NxusApiError extends Error {
|
|
|
83
161
|
get isAuthError() {
|
|
84
162
|
return (this.status === 401 ||
|
|
85
163
|
this.status === 403 ||
|
|
86
|
-
this.type === 'AUTHENTICATION_ERROR_TYPE'
|
|
164
|
+
this.type === 'AUTHENTICATION_ERROR_TYPE' ||
|
|
165
|
+
this.type === 'AUTHORIZATION_ERROR_TYPE');
|
|
87
166
|
}
|
|
88
|
-
/** Whether
|
|
167
|
+
/** Whether the API explicitly identified this as a validation error. */
|
|
89
168
|
get isValidationError() {
|
|
90
|
-
return (this.
|
|
91
|
-
this.code === 'VALIDATION_ERROR' ||
|
|
169
|
+
return (this.code === 'VALIDATION_ERROR' ||
|
|
92
170
|
this.type === 'VALIDATION_ERROR_TYPE' ||
|
|
93
171
|
this.validationErrors != null);
|
|
94
172
|
}
|
|
@@ -110,11 +188,20 @@ export class NxusApiError extends Error {
|
|
|
110
188
|
this.requiresPayment === true ||
|
|
111
189
|
this.restrictionReason != null ||
|
|
112
190
|
this.restrictionCode != null ||
|
|
113
|
-
this.type === '
|
|
191
|
+
this.type === 'RESTRICTION_ERROR_TYPE' ||
|
|
192
|
+
this.type === 'BILLING_ERROR_TYPE' ||
|
|
193
|
+
this.type === 'PAYMENT_REQUIRED_ERROR_TYPE');
|
|
194
|
+
}
|
|
195
|
+
/** Whether the QuickBooks Web Connector is not polling this connection. */
|
|
196
|
+
get isConnectorOffline() {
|
|
197
|
+
return (this.code === 'QWC_NOT_CONNECTED' ||
|
|
198
|
+
this.code === 'QWC_NEVER_CONNECTED' ||
|
|
199
|
+
this.type === 'INTEGRATION_CONNECTION_OFFLINE_TYPE');
|
|
114
200
|
}
|
|
115
201
|
/** Whether the connection appears to be archived. */
|
|
116
202
|
get isArchivedConnection() {
|
|
117
|
-
return this.lifecycleState === 'archived'
|
|
203
|
+
return (this.lifecycleState === 'archived' ||
|
|
204
|
+
this.code === 'CONNECTION_ARCHIVED');
|
|
118
205
|
}
|
|
119
206
|
/**
|
|
120
207
|
* Create a `NxusApiError` from any SDK error value.
|
|
@@ -122,6 +209,7 @@ export class NxusApiError extends Error {
|
|
|
122
209
|
* Handles:
|
|
123
210
|
* - `StandardErrorResponse` (`{ error: ErrorDetail }`)
|
|
124
211
|
* - `ProblemDetails` (`{ title, detail, status, errors }`)
|
|
212
|
+
* - nXus validation envelope (`{ success: false, message, errors }`)
|
|
125
213
|
* - Plain strings
|
|
126
214
|
* - Unknown shapes (wrapped with generic message)
|
|
127
215
|
*/
|
|
@@ -145,33 +233,74 @@ export class NxusApiError extends Error {
|
|
|
145
233
|
});
|
|
146
234
|
}
|
|
147
235
|
const obj = error;
|
|
236
|
+
const embeddedError = asRecord(obj.error);
|
|
148
237
|
const restriction = asRecord(obj.restriction);
|
|
149
238
|
const billing = asRecord(obj.billing);
|
|
150
239
|
const lifecycleState = readString(obj, 'lifecycleState') ??
|
|
151
|
-
readString(restriction, 'lifecycleState')
|
|
240
|
+
readString(restriction, 'lifecycleState') ??
|
|
241
|
+
readString(embeddedError, 'lifecycleState');
|
|
152
242
|
const restrictionReason = readString(obj, 'restrictionReason') ??
|
|
153
243
|
readString(restriction, 'reason') ??
|
|
154
|
-
readString(restriction, 'restrictionReason')
|
|
244
|
+
readString(restriction, 'restrictionReason') ??
|
|
245
|
+
readString(embeddedError, 'restrictionReason');
|
|
155
246
|
const restrictionCode = readString(obj, 'restrictionCode') ??
|
|
156
247
|
readString(restriction, 'code') ??
|
|
157
|
-
readString(restriction, 'restrictionCode')
|
|
248
|
+
readString(restriction, 'restrictionCode') ??
|
|
249
|
+
readString(embeddedError, 'restrictionCode');
|
|
158
250
|
const requiresPayment = readBoolean(obj, 'requiresPayment') ??
|
|
159
251
|
readBoolean(restriction, 'requiresPayment') ??
|
|
160
|
-
readBoolean(billing, 'requiresPayment')
|
|
252
|
+
readBoolean(billing, 'requiresPayment') ??
|
|
253
|
+
readBoolean(embeddedError, 'requiresPayment');
|
|
161
254
|
const checkoutUrl = readString(obj, 'checkoutUrl') ??
|
|
162
255
|
readString(restriction, 'checkoutUrl') ??
|
|
163
|
-
readString(billing, 'checkoutUrl')
|
|
256
|
+
readString(billing, 'checkoutUrl') ??
|
|
257
|
+
readString(embeddedError, 'checkoutUrl');
|
|
258
|
+
const retryAfter = coerceRetryAfter(embeddedError?.retryAfter) ??
|
|
259
|
+
coerceRetryAfter(obj.retryAfter);
|
|
260
|
+
// Failed QBD operation result returned with HTTP 200.
|
|
261
|
+
if (String(obj.status).toLowerCase() === 'failed') {
|
|
262
|
+
const detailMessage = readString(obj, 'errorMessage') ??
|
|
263
|
+
readString(obj, 'message') ??
|
|
264
|
+
'QuickBooks operation failed.';
|
|
265
|
+
return new NxusApiError({
|
|
266
|
+
message: detailMessage,
|
|
267
|
+
userMessage: detailMessage,
|
|
268
|
+
status: typeof obj.httpStatusCode === 'number'
|
|
269
|
+
? obj.httpStatusCode
|
|
270
|
+
: 0,
|
|
271
|
+
code: 'QBD_INTEGRATION_ERROR',
|
|
272
|
+
type: 'INTEGRATION_ERROR_TYPE',
|
|
273
|
+
requestId: readString(obj, 'requestId'),
|
|
274
|
+
integrationCode: obj.errorCode == null ? undefined : String(obj.errorCode),
|
|
275
|
+
retryAfter,
|
|
276
|
+
lifecycleState,
|
|
277
|
+
restrictionReason,
|
|
278
|
+
restrictionCode,
|
|
279
|
+
requiresPayment,
|
|
280
|
+
checkoutUrl,
|
|
281
|
+
raw: error,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
164
284
|
// StandardErrorResponse shape: { error: ErrorDetail }
|
|
165
|
-
if (obj.error &&
|
|
285
|
+
if (obj.error &&
|
|
286
|
+
typeof obj.error === 'object' &&
|
|
287
|
+
'message' in obj.error) {
|
|
166
288
|
const detail = obj.error;
|
|
289
|
+
const validationErrors = coerceValidationErrors(embeddedError?.errors);
|
|
290
|
+
const detailMessage = detail.message ?? 'Request failed.';
|
|
291
|
+
const userMessage = detail.userFacingMessage ?? detailMessage;
|
|
167
292
|
return new NxusApiError({
|
|
168
|
-
message:
|
|
169
|
-
userMessage:
|
|
293
|
+
message: withValidationDetail(detailMessage, validationErrors),
|
|
294
|
+
userMessage: validationErrors && !detail.userFacingMessage
|
|
295
|
+
? withValidationDetail(userMessage, validationErrors)
|
|
296
|
+
: userMessage,
|
|
170
297
|
status: detail.httpStatusCode ?? obj.status ?? 0,
|
|
171
298
|
code: detail.code,
|
|
172
299
|
type: detail.type,
|
|
173
|
-
requestId: detail.requestId,
|
|
300
|
+
requestId: detail.requestId ?? undefined,
|
|
174
301
|
integrationCode: detail.integrationCode ?? undefined,
|
|
302
|
+
retryAfter,
|
|
303
|
+
validationErrors,
|
|
175
304
|
lifecycleState,
|
|
176
305
|
restrictionReason,
|
|
177
306
|
restrictionCode,
|
|
@@ -180,15 +309,132 @@ export class NxusApiError extends Error {
|
|
|
180
309
|
raw: error,
|
|
181
310
|
});
|
|
182
311
|
}
|
|
183
|
-
//
|
|
312
|
+
// Legacy QbdErrorResponse: { statusCode, errorCode, message, detail,
|
|
313
|
+
// severity, suggestedAction, metadata }. Some transports add `status`,
|
|
314
|
+
// which previously let a 503 with `detail` masquerade as ProblemDetails.
|
|
315
|
+
// Preserve the legacy body during migration without inventing validation.
|
|
316
|
+
const legacyMetadata = asRecord(obj.metadata);
|
|
317
|
+
const legacyStandardCode = readString(legacyMetadata, 'standardCode');
|
|
318
|
+
const legacyErrorCode = readString(obj, 'errorCode');
|
|
319
|
+
if (typeof obj.message === 'string' &&
|
|
320
|
+
[
|
|
321
|
+
'statusCode',
|
|
322
|
+
'errorCode',
|
|
323
|
+
'severity',
|
|
324
|
+
'suggestedAction',
|
|
325
|
+
'traceId',
|
|
326
|
+
'metadata',
|
|
327
|
+
].some((key) => key in obj)) {
|
|
328
|
+
return new NxusApiError({
|
|
329
|
+
message: readString(obj, 'detail') ?? obj.message,
|
|
330
|
+
userMessage: obj.message,
|
|
331
|
+
status: typeof obj.status === 'number'
|
|
332
|
+
? obj.status
|
|
333
|
+
: typeof obj.statusCode === 'number'
|
|
334
|
+
? obj.statusCode
|
|
335
|
+
: 0,
|
|
336
|
+
code: legacyStandardCode ?? legacyErrorCode,
|
|
337
|
+
type: readString(legacyMetadata, 'type'),
|
|
338
|
+
requestId: readString(obj, 'requestId'),
|
|
339
|
+
integrationCode: legacyStandardCode
|
|
340
|
+
? legacyErrorCode
|
|
341
|
+
: undefined,
|
|
342
|
+
retryAfter,
|
|
343
|
+
lifecycleState,
|
|
344
|
+
restrictionReason,
|
|
345
|
+
restrictionCode,
|
|
346
|
+
requiresPayment,
|
|
347
|
+
checkoutUrl,
|
|
348
|
+
raw: error,
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
// RETIRED SHAPE — ProblemDetails is retained only for older deployments.
|
|
352
|
+
// Current API errors use StandardErrorResponse or the validation envelope.
|
|
184
353
|
if ('status' in obj && ('title' in obj || 'detail' in obj)) {
|
|
354
|
+
const problemErrors = coerceValidationErrors(obj.errors);
|
|
355
|
+
const isValidationProblem = problemErrors != null;
|
|
185
356
|
return new NxusApiError({
|
|
186
|
-
message: obj.detail || obj.title || 'Validation failed.',
|
|
187
|
-
userMessage: obj.detail ||
|
|
188
|
-
|
|
189
|
-
|
|
357
|
+
message: withValidationDetail(obj.detail || obj.title || 'Validation failed.', problemErrors),
|
|
358
|
+
userMessage: obj.detail ||
|
|
359
|
+
obj.title ||
|
|
360
|
+
'Please check your input and try again.',
|
|
361
|
+
status: typeof obj.status === 'number' ? obj.status : 0,
|
|
362
|
+
type: isValidationProblem ? 'VALIDATION_ERROR_TYPE' : undefined,
|
|
363
|
+
code: isValidationProblem ? 'VALIDATION_ERROR' : undefined,
|
|
364
|
+
validationErrors: problemErrors,
|
|
365
|
+
requestId: readString(obj, 'requestId'),
|
|
366
|
+
retryAfter,
|
|
367
|
+
lifecycleState,
|
|
368
|
+
restrictionReason,
|
|
369
|
+
restrictionCode,
|
|
370
|
+
requiresPayment,
|
|
371
|
+
checkoutUrl,
|
|
372
|
+
raw: error,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
// nXus validation envelope:
|
|
376
|
+
// { success: false, message, errors: { field: [msg] }, timestamp }
|
|
377
|
+
// It has no `error` wrapper and no `title`/`detail`, so it reaches
|
|
378
|
+
// neither branch above and would otherwise lose its per-field detail.
|
|
379
|
+
//
|
|
380
|
+
// Placed after ProblemDetails deliberately — a genuine ProblemDetails
|
|
381
|
+
// also carries `errors`, and going first would hijack it. It fires only
|
|
382
|
+
// on a non-empty `errors` map: `success: false` alone is not treated as
|
|
383
|
+
// validation, because labelling a 503 a VALIDATION_ERROR would be worse
|
|
384
|
+
// than losing the detail.
|
|
385
|
+
const envelopeErrors = coerceValidationErrors(obj.errors);
|
|
386
|
+
if (envelopeErrors) {
|
|
387
|
+
const envelopeMessage = readString(obj, 'message') ?? 'Validation failed.';
|
|
388
|
+
const detail = describeValidationErrors(envelopeErrors);
|
|
389
|
+
return new NxusApiError({
|
|
390
|
+
message: withValidationDetail(envelopeMessage, envelopeErrors),
|
|
391
|
+
userMessage: detail
|
|
392
|
+
? `${envelopeMessage}: ${detail}`
|
|
393
|
+
: envelopeMessage,
|
|
394
|
+
status: obj.status ?? obj.statusCode ?? 0,
|
|
190
395
|
code: 'VALIDATION_ERROR',
|
|
191
|
-
|
|
396
|
+
type: 'VALIDATION_ERROR_TYPE',
|
|
397
|
+
requestId: readString(obj, 'requestId'),
|
|
398
|
+
validationErrors: envelopeErrors,
|
|
399
|
+
retryAfter,
|
|
400
|
+
lifecycleState,
|
|
401
|
+
restrictionReason,
|
|
402
|
+
restrictionCode,
|
|
403
|
+
requiresPayment,
|
|
404
|
+
checkoutUrl,
|
|
405
|
+
raw: error,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
// Flat rich-error shape used by logical nxusApiError/qbdApiError
|
|
409
|
+
// envelopes after transport normalization.
|
|
410
|
+
if (typeof obj.message === 'string' &&
|
|
411
|
+
[
|
|
412
|
+
'code',
|
|
413
|
+
'type',
|
|
414
|
+
'requestId',
|
|
415
|
+
'httpStatusCode',
|
|
416
|
+
'integrationCode',
|
|
417
|
+
'retryAfter',
|
|
418
|
+
'userFacingMessage',
|
|
419
|
+
].some((key) => key in obj)) {
|
|
420
|
+
const validationErrors = coerceValidationErrors(obj.errors);
|
|
421
|
+
const userMessage = readString(obj, 'userFacingMessage') ?? obj.message;
|
|
422
|
+
return new NxusApiError({
|
|
423
|
+
message: withValidationDetail(obj.message, validationErrors),
|
|
424
|
+
userMessage: validationErrors && !readString(obj, 'userFacingMessage')
|
|
425
|
+
? withValidationDetail(userMessage, validationErrors)
|
|
426
|
+
: userMessage,
|
|
427
|
+
status: typeof obj.status === 'number'
|
|
428
|
+
? obj.status
|
|
429
|
+
: typeof obj.httpStatusCode === 'number'
|
|
430
|
+
? obj.httpStatusCode
|
|
431
|
+
: 0,
|
|
432
|
+
code: readString(obj, 'code'),
|
|
433
|
+
type: readString(obj, 'type'),
|
|
434
|
+
requestId: readString(obj, 'requestId'),
|
|
435
|
+
integrationCode: readString(obj, 'integrationCode'),
|
|
436
|
+
retryAfter,
|
|
437
|
+
validationErrors,
|
|
192
438
|
lifecycleState,
|
|
193
439
|
restrictionReason,
|
|
194
440
|
restrictionCode,
|
|
@@ -198,11 +444,16 @@ export class NxusApiError extends Error {
|
|
|
198
444
|
});
|
|
199
445
|
}
|
|
200
446
|
// Fallback: plain object with .message
|
|
201
|
-
const message = obj.message ||
|
|
447
|
+
const message = obj.message ||
|
|
448
|
+
obj.detail ||
|
|
449
|
+
obj.title ||
|
|
450
|
+
'An unexpected error occurred.';
|
|
202
451
|
return new NxusApiError({
|
|
203
452
|
message,
|
|
204
453
|
userMessage: message,
|
|
205
454
|
status: obj.status ?? obj.statusCode ?? 0,
|
|
455
|
+
requestId: readString(obj, 'requestId'),
|
|
456
|
+
retryAfter,
|
|
206
457
|
lifecycleState,
|
|
207
458
|
restrictionReason,
|
|
208
459
|
restrictionCode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { PaginationError, type AutoPaginationPromise, type CursorPage, type PaginatedPage, } from './pagination';
|
|
2
|
-
export { NxusApiError, isNxusApiError, throwIfError, extractErrorMessage, type NxusErrorCode, type NxusErrorType, } from './errors';
|
|
1
|
+
export { PaginationError, type AutoPaginationPromise, type CursorPage, type PaginatedPage, } from './pagination.js';
|
|
2
|
+
export { NxusApiError, isNxusApiError, throwIfError, extractErrorMessage, type NxusErrorCode, type NxusErrorType, } from './errors.js';
|
|
3
|
+
export { NxusResponse, isNxusResponse } from './response.js';
|
|
4
|
+
export { toActiveStatus, isActiveStatus } from './enums.js';
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/helpers/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { PaginationError, } from './pagination';
|
|
2
|
-
export { NxusApiError, isNxusApiError, throwIfError, extractErrorMessage, } from './errors';
|
|
1
|
+
export { PaginationError, } from './pagination.js';
|
|
2
|
+
export { NxusApiError, isNxusApiError, throwIfError, extractErrorMessage, } from './errors.js';
|
|
3
|
+
export { NxusResponse, isNxusResponse } from './response.js';
|
|
4
|
+
export { toActiveStatus, isActiveStatus } from './enums.js';
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAIhB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -5,13 +5,23 @@
|
|
|
5
5
|
* using the transport layer. This file exports the shared type definitions
|
|
6
6
|
* and the PaginationError class.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* A single page of a cursor-paginated list response.
|
|
10
|
+
*
|
|
11
|
+
* `count`, `limit` and `totalCount` are always present on the wire.
|
|
12
|
+
* `nextCursor`, `hasMore` and `remainingCount` are sent only while more
|
|
13
|
+
* records remain; the SDK normalizes their absence to `hasMore: false` /
|
|
14
|
+
* `nextCursor: null` so iteration stops on the final page.
|
|
15
|
+
*
|
|
16
|
+
* There is no page-number pagination — the envelope carries no `page` or
|
|
17
|
+
* `pageCount`, and nothing should be written against them.
|
|
18
|
+
*/
|
|
8
19
|
export type CursorPage<TItem = unknown> = {
|
|
9
20
|
count?: number;
|
|
10
21
|
data: TItem[];
|
|
11
22
|
hasMore: boolean;
|
|
12
23
|
limit?: number;
|
|
13
24
|
nextCursor: string | null;
|
|
14
|
-
page?: number;
|
|
15
25
|
remainingCount?: number;
|
|
16
26
|
totalCount?: number;
|
|
17
27
|
[key: string]: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/helpers/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,MAAM,UAAU,CAAC,KAAK,GAAG,OAAO,IAAI;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/helpers/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,KAAK,GAAG,OAAO,IAAI;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;IACvE,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,OAAO,CACpD,SAAQ,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EACvC,aAAa,CAAC,KAAK,CAAC;IACtB,KAAK,CAAC,OAAO,GAAG,KAAK,EACnB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GACxE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;IAC3C,OAAO,CACL,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAC9B,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;CAClC;AAMD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAOrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/helpers/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/helpers/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4CH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,SAAS,CAAW;IACpB,MAAM,CAAU;IAEzB,YACE,OAAe,EACf,OAAkD;QAElD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response metadata wrappers.
|
|
3
|
+
*
|
|
4
|
+
* Two types live here and the split is deliberate:
|
|
5
|
+
*
|
|
6
|
+
* - `TransportResponse<TWire>` — SDK-internal snapshot taken from the HTTP
|
|
7
|
+
* response before it is released. Never returned to consumers.
|
|
8
|
+
* - `NxusResponse<T>` — the immutable public wrapper handed back by
|
|
9
|
+
* `resource.withResponse.*`.
|
|
10
|
+
*
|
|
11
|
+
* Neither carries a `fetch` `Response`. That is the point: exposing the
|
|
12
|
+
* underlying object would put the runtime's body-stream semantics into the
|
|
13
|
+
* SDK's public contract, and a `Response` body can only be read once — any
|
|
14
|
+
* consumer holding one past the request would find it already consumed.
|
|
15
|
+
* Everything useful is copied out eagerly instead, so a wrapper is safe to
|
|
16
|
+
* keep, log, or pass around indefinitely.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* SDK-internal snapshot of a single HTTP response.
|
|
20
|
+
*
|
|
21
|
+
* Built inside the transport while the response is still readable, so the body
|
|
22
|
+
* is already materialized by the time this is returned.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export interface TransportResponse<TWire> {
|
|
27
|
+
/** Parsed body, or `undefined` for 204 / empty responses. */
|
|
28
|
+
readonly body: TWire;
|
|
29
|
+
/** HTTP status code. */
|
|
30
|
+
readonly status: number;
|
|
31
|
+
/** Response headers, with lower-cased names. */
|
|
32
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
33
|
+
/** Server-assigned request id, from the body or the `x-request-id` header. */
|
|
34
|
+
readonly requestId: string | undefined;
|
|
35
|
+
/** Undecoded response text — retained only when explicitly requested. */
|
|
36
|
+
readonly rawBody: string | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A parsed result plus the response metadata that came with it.
|
|
40
|
+
*
|
|
41
|
+
* Returned by `resource.withResponse.<method>(...)`. The `data` property is
|
|
42
|
+
* exactly what the plain call would have returned, so the two forms never
|
|
43
|
+
* diverge in parsing, validation, or error behavior.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const check = await nxus.checks.create({ payeeId });
|
|
48
|
+
* // -> Check
|
|
49
|
+
*
|
|
50
|
+
* const wrapped = await nxus.checks.withResponse.create({ payeeId });
|
|
51
|
+
* // -> NxusResponse<Check>
|
|
52
|
+
*
|
|
53
|
+
* wrapped.data; // the same Check
|
|
54
|
+
* wrapped.statusCode; // 200
|
|
55
|
+
* wrapped.requestId; // 'req_abc123'
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* Instances are frozen — assigning to a property is a no-op in sloppy mode and
|
|
59
|
+
* throws in strict mode (which ES modules always are).
|
|
60
|
+
*/
|
|
61
|
+
export declare class NxusResponse<T> {
|
|
62
|
+
/** The parsed model, exactly as the unwrapped call would return it. */
|
|
63
|
+
readonly data: T;
|
|
64
|
+
/** HTTP status code of the response that produced `data`. */
|
|
65
|
+
readonly statusCode: number;
|
|
66
|
+
/** Read-only response headers, with lower-cased names. */
|
|
67
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
68
|
+
/** Server-assigned request id, for support inquiries. */
|
|
69
|
+
readonly requestId: string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Undecoded response body — only present when the call opted in with
|
|
72
|
+
* `includeRawBody: true`. Retaining it for every request would keep a full
|
|
73
|
+
* second copy of every payload alive for the lifetime of the wrapper, which
|
|
74
|
+
* is wasteful for the common case of reading a status code or a request id.
|
|
75
|
+
*/
|
|
76
|
+
readonly rawBody: string | undefined;
|
|
77
|
+
constructor(opts: {
|
|
78
|
+
data: T;
|
|
79
|
+
statusCode: number;
|
|
80
|
+
headers?: Record<string, string>;
|
|
81
|
+
requestId?: string;
|
|
82
|
+
rawBody?: string;
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Build a public wrapper from an internal snapshot.
|
|
86
|
+
*
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
static fromTransport<T>(data: T, transportResponse: TransportResponse<unknown>): NxusResponse<T>;
|
|
90
|
+
}
|
|
91
|
+
/** Type guard for `NxusResponse`. */
|
|
92
|
+
export declare function isNxusResponse<T = unknown>(value: unknown): value is NxusResponse<T>;
|
|
93
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/helpers/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnD,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,IAAI,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IASD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,EACP,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAC5C,YAAY,CAAC,CAAC,CAAC;CASnB;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAE1B"}
|