nxus-qbd 0.8.0 → 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.
Files changed (231) hide show
  1. package/README.md +269 -91
  2. package/dist/client.d.ts +81 -77
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +77 -71
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts.d.ts +1 -1
  7. package/dist/contracts.d.ts.map +1 -1
  8. package/dist/generated/count-capabilities.d.ts +64 -0
  9. package/dist/generated/count-capabilities.d.ts.map +1 -0
  10. package/dist/generated/count-capabilities.js +64 -0
  11. package/dist/generated/count-capabilities.js.map +1 -0
  12. package/dist/generated/index.d.ts +1 -1
  13. package/dist/generated/index.d.ts.map +1 -1
  14. package/dist/generated/index.js +1 -1
  15. package/dist/generated/index.js.map +1 -1
  16. package/dist/generated/resource-capabilities.d.ts +506 -0
  17. package/dist/generated/resource-capabilities.d.ts.map +1 -0
  18. package/dist/generated/resource-capabilities.js +506 -0
  19. package/dist/generated/resource-capabilities.js.map +1 -0
  20. package/dist/generated/types.gen.d.ts +29410 -20818
  21. package/dist/generated/types.gen.d.ts.map +1 -1
  22. package/dist/generated/types.gen.js +80 -0
  23. package/dist/generated/types.gen.js.map +1 -1
  24. package/dist/helpers/enums.d.ts +29 -0
  25. package/dist/helpers/enums.d.ts.map +1 -0
  26. package/dist/helpers/enums.js +38 -0
  27. package/dist/helpers/enums.js.map +1 -0
  28. package/dist/helpers/errors.d.ts +14 -3
  29. package/dist/helpers/errors.d.ts.map +1 -1
  30. package/dist/helpers/errors.js +274 -23
  31. package/dist/helpers/errors.js.map +1 -1
  32. package/dist/helpers/index.d.ts +4 -2
  33. package/dist/helpers/index.d.ts.map +1 -1
  34. package/dist/helpers/index.js +4 -2
  35. package/dist/helpers/index.js.map +1 -1
  36. package/dist/helpers/pagination.d.ts +11 -1
  37. package/dist/helpers/pagination.d.ts.map +1 -1
  38. package/dist/helpers/pagination.js.map +1 -1
  39. package/dist/helpers/response.d.ts +93 -0
  40. package/dist/helpers/response.d.ts.map +1 -0
  41. package/dist/helpers/response.js +84 -0
  42. package/dist/helpers/response.js.map +1 -0
  43. package/dist/index.d.ts +10 -10
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +17 -8
  46. package/dist/index.js.map +1 -1
  47. package/dist/models/core/auth_session.d.ts +1 -1
  48. package/dist/models/core/auth_session.d.ts.map +1 -1
  49. package/dist/models/core/connections.d.ts +1 -1
  50. package/dist/models/core/connections.d.ts.map +1 -1
  51. package/dist/models/core/index.d.ts +3 -3
  52. package/dist/models/core/index.d.ts.map +1 -1
  53. package/dist/models/core/index.js +3 -3
  54. package/dist/models/core/index.js.map +1 -1
  55. package/dist/models/core/qwc_auth_setup.d.ts +1 -1
  56. package/dist/models/core/qwc_auth_setup.d.ts.map +1 -1
  57. package/dist/models/index.d.ts +6 -6
  58. package/dist/models/index.d.ts.map +1 -1
  59. package/dist/models/index.js +5 -5
  60. package/dist/models/index.js.map +1 -1
  61. package/dist/models/qbd/account.d.ts +2 -2
  62. package/dist/models/qbd/account.d.ts.map +1 -1
  63. package/dist/models/qbd/account.js +1 -1
  64. package/dist/models/qbd/account.js.map +1 -1
  65. package/dist/models/qbd/account_tax_line_info.d.ts +1 -1
  66. package/dist/models/qbd/account_tax_line_info.d.ts.map +1 -1
  67. package/dist/models/qbd/ar_refund_credit_card.d.ts +1 -1
  68. package/dist/models/qbd/ar_refund_credit_card.d.ts.map +1 -1
  69. package/dist/models/qbd/bar_code.d.ts +1 -1
  70. package/dist/models/qbd/bar_code.d.ts.map +1 -1
  71. package/dist/models/qbd/bill.d.ts +1 -1
  72. package/dist/models/qbd/bill.d.ts.map +1 -1
  73. package/dist/models/qbd/bill_payment_or_credit.d.ts +1 -1
  74. package/dist/models/qbd/bill_payment_or_credit.d.ts.map +1 -1
  75. package/dist/models/qbd/billing_rate.d.ts +1 -1
  76. package/dist/models/qbd/billing_rate.d.ts.map +1 -1
  77. package/dist/models/qbd/build_assembly.d.ts +1 -1
  78. package/dist/models/qbd/build_assembly.d.ts.map +1 -1
  79. package/dist/models/qbd/charge.d.ts +1 -1
  80. package/dist/models/qbd/charge.d.ts.map +1 -1
  81. package/dist/models/qbd/check.d.ts +1 -1
  82. package/dist/models/qbd/check.d.ts.map +1 -1
  83. package/dist/models/qbd/check_bill_payment.d.ts +1 -1
  84. package/dist/models/qbd/check_bill_payment.d.ts.map +1 -1
  85. package/dist/models/qbd/class_.d.ts +1 -1
  86. package/dist/models/qbd/class_.d.ts.map +1 -1
  87. package/dist/models/qbd/credit_card_bill_payment.d.ts +1 -1
  88. package/dist/models/qbd/credit_card_bill_payment.d.ts.map +1 -1
  89. package/dist/models/qbd/credit_card_charge.d.ts +1 -1
  90. package/dist/models/qbd/credit_card_charge.d.ts.map +1 -1
  91. package/dist/models/qbd/credit_card_credit.d.ts +1 -1
  92. package/dist/models/qbd/credit_card_credit.d.ts.map +1 -1
  93. package/dist/models/qbd/credit_memo.d.ts +1 -1
  94. package/dist/models/qbd/credit_memo.d.ts.map +1 -1
  95. package/dist/models/qbd/currency.d.ts +2 -1
  96. package/dist/models/qbd/currency.d.ts.map +1 -1
  97. package/dist/models/qbd/currency.js +2 -1
  98. package/dist/models/qbd/currency.js.map +1 -1
  99. package/dist/models/qbd/custom_field_definitions.d.ts +1 -1
  100. package/dist/models/qbd/custom_field_definitions.d.ts.map +1 -1
  101. package/dist/models/qbd/custom_fields.d.ts +2 -2
  102. package/dist/models/qbd/custom_fields.d.ts.map +1 -1
  103. package/dist/models/qbd/custom_fields.js +1 -1
  104. package/dist/models/qbd/custom_fields.js.map +1 -1
  105. package/dist/models/qbd/customer.d.ts +2 -2
  106. package/dist/models/qbd/customer.d.ts.map +1 -1
  107. package/dist/models/qbd/customer.js +1 -1
  108. package/dist/models/qbd/customer.js.map +1 -1
  109. package/dist/models/qbd/customer_type.d.ts +1 -1
  110. package/dist/models/qbd/customer_type.d.ts.map +1 -1
  111. package/dist/models/qbd/date_driven_term.d.ts +1 -1
  112. package/dist/models/qbd/date_driven_term.d.ts.map +1 -1
  113. package/dist/models/qbd/deposit.d.ts +1 -1
  114. package/dist/models/qbd/deposit.d.ts.map +1 -1
  115. package/dist/models/qbd/employee.d.ts +2 -2
  116. package/dist/models/qbd/employee.d.ts.map +1 -1
  117. package/dist/models/qbd/employee.js +1 -1
  118. package/dist/models/qbd/employee.js.map +1 -1
  119. package/dist/models/qbd/estimate.d.ts +1 -1
  120. package/dist/models/qbd/estimate.d.ts.map +1 -1
  121. package/dist/models/qbd/index.d.ts +66 -66
  122. package/dist/models/qbd/index.d.ts.map +1 -1
  123. package/dist/models/qbd/index.js +66 -66
  124. package/dist/models/qbd/index.js.map +1 -1
  125. package/dist/models/qbd/inventory_adjustment.d.ts +1 -1
  126. package/dist/models/qbd/inventory_adjustment.d.ts.map +1 -1
  127. package/dist/models/qbd/inventory_site.d.ts +1 -1
  128. package/dist/models/qbd/inventory_site.d.ts.map +1 -1
  129. package/dist/models/qbd/invoice.d.ts +2 -1
  130. package/dist/models/qbd/invoice.d.ts.map +1 -1
  131. package/dist/models/qbd/invoice.js +2 -1
  132. package/dist/models/qbd/invoice.js.map +1 -1
  133. package/dist/models/qbd/item.d.ts +2 -2
  134. package/dist/models/qbd/item.d.ts.map +1 -1
  135. package/dist/models/qbd/item.js +1 -1
  136. package/dist/models/qbd/item.js.map +1 -1
  137. package/dist/models/qbd/item_discount.d.ts +1 -1
  138. package/dist/models/qbd/item_discount.d.ts.map +1 -1
  139. package/dist/models/qbd/item_fixed_asset.d.ts +1 -1
  140. package/dist/models/qbd/item_fixed_asset.d.ts.map +1 -1
  141. package/dist/models/qbd/item_group.d.ts +1 -1
  142. package/dist/models/qbd/item_group.d.ts.map +1 -1
  143. package/dist/models/qbd/item_inventory.d.ts +1 -1
  144. package/dist/models/qbd/item_inventory.d.ts.map +1 -1
  145. package/dist/models/qbd/item_inventory_assembly.d.ts +1 -1
  146. package/dist/models/qbd/item_inventory_assembly.d.ts.map +1 -1
  147. package/dist/models/qbd/item_non_inventory.d.ts +1 -1
  148. package/dist/models/qbd/item_non_inventory.d.ts.map +1 -1
  149. package/dist/models/qbd/item_other_charge.d.ts +1 -1
  150. package/dist/models/qbd/item_other_charge.d.ts.map +1 -1
  151. package/dist/models/qbd/item_payment.d.ts +1 -1
  152. package/dist/models/qbd/item_payment.d.ts.map +1 -1
  153. package/dist/models/qbd/item_receipt.d.ts +1 -1
  154. package/dist/models/qbd/item_receipt.d.ts.map +1 -1
  155. package/dist/models/qbd/item_sales_tax.d.ts +1 -1
  156. package/dist/models/qbd/item_sales_tax.d.ts.map +1 -1
  157. package/dist/models/qbd/item_sales_tax_group.d.ts +1 -1
  158. package/dist/models/qbd/item_sales_tax_group.d.ts.map +1 -1
  159. package/dist/models/qbd/item_service.d.ts +1 -1
  160. package/dist/models/qbd/item_service.d.ts.map +1 -1
  161. package/dist/models/qbd/item_subtotal.d.ts +1 -1
  162. package/dist/models/qbd/item_subtotal.d.ts.map +1 -1
  163. package/dist/models/qbd/journal_entry.d.ts +1 -1
  164. package/dist/models/qbd/journal_entry.d.ts.map +1 -1
  165. package/dist/models/qbd/other_name.d.ts +1 -1
  166. package/dist/models/qbd/other_name.d.ts.map +1 -1
  167. package/dist/models/qbd/payment_method.d.ts +1 -1
  168. package/dist/models/qbd/payment_method.d.ts.map +1 -1
  169. package/dist/models/qbd/payroll_item_non_wage.d.ts +1 -1
  170. package/dist/models/qbd/payroll_item_non_wage.d.ts.map +1 -1
  171. package/dist/models/qbd/payroll_item_wage.d.ts +1 -1
  172. package/dist/models/qbd/payroll_item_wage.d.ts.map +1 -1
  173. package/dist/models/qbd/price_level.d.ts +1 -1
  174. package/dist/models/qbd/price_level.d.ts.map +1 -1
  175. package/dist/models/qbd/purchase_order.d.ts +1 -1
  176. package/dist/models/qbd/purchase_order.d.ts.map +1 -1
  177. package/dist/models/qbd/receive_payment.d.ts +1 -1
  178. package/dist/models/qbd/receive_payment.d.ts.map +1 -1
  179. package/dist/models/qbd/report.d.ts +1 -1
  180. package/dist/models/qbd/report.d.ts.map +1 -1
  181. package/dist/models/qbd/sales_order.d.ts +1 -1
  182. package/dist/models/qbd/sales_order.d.ts.map +1 -1
  183. package/dist/models/qbd/sales_receipt.d.ts +1 -1
  184. package/dist/models/qbd/sales_receipt.d.ts.map +1 -1
  185. package/dist/models/qbd/sales_tax_code.d.ts +1 -1
  186. package/dist/models/qbd/sales_tax_code.d.ts.map +1 -1
  187. package/dist/models/qbd/sales_tax_payment_check.d.ts +1 -1
  188. package/dist/models/qbd/sales_tax_payment_check.d.ts.map +1 -1
  189. package/dist/models/qbd/ship_method.d.ts +1 -1
  190. package/dist/models/qbd/ship_method.d.ts.map +1 -1
  191. package/dist/models/qbd/special_item.d.ts +1 -1
  192. package/dist/models/qbd/special_item.d.ts.map +1 -1
  193. package/dist/models/qbd/tenant_me.d.ts +1 -1
  194. package/dist/models/qbd/tenant_me.d.ts.map +1 -1
  195. package/dist/models/qbd/term.d.ts +1 -1
  196. package/dist/models/qbd/term.d.ts.map +1 -1
  197. package/dist/models/qbd/time_tracking_activity.d.ts +1 -1
  198. package/dist/models/qbd/time_tracking_activity.d.ts.map +1 -1
  199. package/dist/models/qbd/transaction.d.ts +1 -1
  200. package/dist/models/qbd/transaction.d.ts.map +1 -1
  201. package/dist/models/qbd/unit_of_measure_set.d.ts +1 -1
  202. package/dist/models/qbd/unit_of_measure_set.d.ts.map +1 -1
  203. package/dist/models/qbd/vendor.d.ts +1 -1
  204. package/dist/models/qbd/vendor.d.ts.map +1 -1
  205. package/dist/models/qbd/vendor_credit.d.ts +1 -1
  206. package/dist/models/qbd/vendor_credit.d.ts.map +1 -1
  207. package/dist/models/qbd/vendor_type.d.ts +1 -1
  208. package/dist/models/qbd/vendor_type.d.ts.map +1 -1
  209. package/dist/models/qbd/workers_comp_code.d.ts +1 -1
  210. package/dist/models/qbd/workers_comp_code.d.ts.map +1 -1
  211. package/dist/resources/base.d.ts +159 -29
  212. package/dist/resources/base.d.ts.map +1 -1
  213. package/dist/resources/base.js +417 -151
  214. package/dist/resources/base.js.map +1 -1
  215. package/dist/resources/connections.d.ts +17 -4
  216. package/dist/resources/connections.d.ts.map +1 -1
  217. package/dist/resources/connections.js +39 -13
  218. package/dist/resources/connections.js.map +1 -1
  219. package/dist/resources/custom-fields.d.ts +35 -32
  220. package/dist/resources/custom-fields.d.ts.map +1 -1
  221. package/dist/resources/custom-fields.js +121 -119
  222. package/dist/resources/custom-fields.js.map +1 -1
  223. package/dist/resources/reports.d.ts +23 -10
  224. package/dist/resources/reports.d.ts.map +1 -1
  225. package/dist/resources/reports.js +40 -29
  226. package/dist/resources/reports.js.map +1 -1
  227. package/dist/transport.d.ts +61 -10
  228. package/dist/transport.d.ts.map +1 -1
  229. package/dist/transport.js +522 -113
  230. package/dist/transport.js.map +1 -1
  231. package/package.json +8 -4
@@ -20,51 +20,43 @@
20
20
  * Because none of that maps onto the generic `Resource<T>` (which keys
21
21
  * everything off an id path segment), these are hand-written.
22
22
  */
23
- import { NxusApiError } from '../helpers/errors';
24
- // ---------------------------------------------------------------------------
25
- // DataExtTargetKind — the OpenAPI spec types this as a bare `integer`, so the
26
- // generated TS is just `number`. These are the QBXML target families a custom
27
- // field value can attach to. Exposed here as a named const so callers don't
28
- // have to hard-code magic numbers.
29
- // ---------------------------------------------------------------------------
23
+ import { NxusResponse } from "../helpers/response.js";
24
+ import { assertNoRequestOptionKeys, withDefaultMaxRetries } from "./base.js";
30
25
  /**
31
- * Which family of QuickBooks object a custom field value attaches to.
32
- * Mirrors the backend `DataExtTargetKind` enum (a C# enum serialized as its
33
- * integer value): a list entity, a transaction (optionally one line), or the
34
- * company file itself.
26
+ * Unwrap the non-paginated collection envelope the definitions list returns.
27
+ *
28
+ * `GET /api/v1/custom-field-definitions` answers with
29
+ * `CollectionResponseDataExtDefinition` — `{ objectType, requestId, success,
30
+ * data, count, timestamp }` — not a bare array. The SDK typed the response as
31
+ * `Array<DataExtDefinition>` and returned it untouched, so callers got the
32
+ * envelope object while the type said array. `Array.isArray()` was false and
33
+ * `.find()` was not a function.
34
+ *
35
+ * A bare array is still accepted, because a private validation run points at
36
+ * whatever is deployed and this route has changed shape before.
35
37
  */
36
- export const DataExtTargetKind = {
37
- /** A list entity (Customer, Vendor, Employee, Item, Account, OtherName). */
38
- List: 0,
39
- /** A transaction (optionally a single transaction line). */
40
- Transaction: 1,
41
- /** The company file itself. */
42
- Company: 2,
43
- };
38
+ function unwrapDefinitionCollection(body) {
39
+ if (Array.isArray(body))
40
+ return body;
41
+ return body?.data ?? [];
42
+ }
44
43
  // ---------------------------------------------------------------------------
45
- // Shared option extraction (mirrors resources/base.ts extractOptions, but the
46
- // custom-field requests never carry a path id, so the whole typed body is the
47
- // payload and we only peel RequestOptions off the top).
44
+ // DataExtTargetKind — re-exported from the generated types.
45
+ //
46
+ // This used to be a hand-written numeric const (`List: 0`), because the spec
47
+ // typed the field as a bare `integer`. The spec now declares it as a string
48
+ // enum (`"List" | "Transaction" | "Company"`) and the generator emits a real
49
+ // enum, so the hand-written version was both wrong on the wire and — because
50
+ // `index.ts` re-exports the generated types with `export type *` — shadowed the
51
+ // generated enum at runtime while `DataExtTargetRequest.kind` was typed
52
+ // against it. Callers writing the documented `kind: DataExtTargetKind.List`
53
+ // got `0` where a type-checked `"List"` was required.
54
+ //
55
+ // Re-exported here rather than dropped so the `index.ts` export path and every
56
+ // existing import keep working. Note the member names changed with the enum:
57
+ // `DataExtTargetKind.LIST`, not `.List`.
48
58
  // ---------------------------------------------------------------------------
49
- function splitOptions(params) {
50
- const { connectionId, headers, timeout, serverTimeoutSeconds, maxRetries, verbose, fetchOptions, ...body } = params;
51
- const options = {};
52
- if (connectionId !== undefined)
53
- options.connectionId = connectionId;
54
- if (headers !== undefined)
55
- options.headers = headers;
56
- if (timeout !== undefined)
57
- options.timeout = timeout;
58
- if (serverTimeoutSeconds !== undefined)
59
- options.serverTimeoutSeconds = serverTimeoutSeconds;
60
- if (maxRetries !== undefined)
61
- options.maxRetries = maxRetries;
62
- if (verbose !== undefined)
63
- options.verbose = verbose;
64
- if (fetchOptions !== undefined)
65
- options.fetchOptions = fetchOptions;
66
- return { body, options };
67
- }
59
+ export { DataExtTargetKind } from "../generated/types.gen.js";
68
60
  // ---------------------------------------------------------------------------
69
61
  // Custom Field Definitions — /api/v1/custom-field-definitions
70
62
  // ---------------------------------------------------------------------------
@@ -80,8 +72,7 @@ function splitOptions(params) {
80
72
  * assignToObjects: ["Customer", "Invoice"],
81
73
  * listRequired: false,
82
74
  * transactionRequired: false,
83
- * connectionId: "conn_...",
84
- * });
75
+ * }, { connectionId: "conn_..." });
85
76
  * ```
86
77
  */
87
78
  export class CustomFieldDefinitionsResource {
@@ -89,49 +80,59 @@ export class CustomFieldDefinitionsResource {
89
80
  constructor(transport) {
90
81
  this.transport = transport;
91
82
  }
92
- static BASE = '/api/v1/custom-field-definitions';
93
- /** Create a new custom field definition. Returns the created `DataExtDef`. */
94
- async create(params) {
95
- const { body, options } = splitOptions(params);
96
- return this.transport.post(CustomFieldDefinitionsResource.BASE, body, options);
83
+ static BASE = "/api/v1/custom-field-definitions";
84
+ async create(body, options) {
85
+ assertNoRequestOptionKeys(body);
86
+ return this.transport.post(CustomFieldDefinitionsResource.BASE, body, withDefaultMaxRetries(options, 0));
97
87
  }
98
- /**
99
- * Update an existing definition (rename, change type, add/remove target
100
- * objects, toggle required). POSTs to the `/update` sub-path.
101
- */
102
- async update(params) {
103
- const { body, options } = splitOptions(params);
104
- return this.transport.post(`${CustomFieldDefinitionsResource.BASE}/update`, body, options);
88
+ async update(body, options) {
89
+ assertNoRequestOptionKeys(body);
90
+ return this.transport.post(`${CustomFieldDefinitionsResource.BASE}/update`, body, withDefaultMaxRetries(options, 0));
105
91
  }
106
- /**
107
- * List definitions. All filters are optional — omit them to fetch every
108
- * definition visible to the connection. This is a plain `GET` on the base
109
- * route (matching every other list endpoint in the API); the filters are
110
- * repeated query-string params, not a request body. Returns a flat array
111
- * (not paginated).
112
- *
113
- * @param params.ownerIds Restrict to the given owner ids
114
- * (`"0"` selects public / UI-defined fields).
115
- * @param params.assignToObjects Restrict to definitions assignable to any of
116
- * the given object types (`Customer`, `Vendor`, `Invoice`, …).
117
- */
118
- async list(params = {}) {
119
- const { ownerIds, assignToObjects, ...rest } = params;
120
- const { options } = splitOptions(rest);
121
- const query = {};
122
- if (ownerIds !== undefined)
123
- query.OwnerIds = ownerIds;
124
- if (assignToObjects !== undefined)
125
- query.AssignToObjects = assignToObjects;
126
- return this.transport.get(CustomFieldDefinitionsResource.BASE, query, options);
92
+ async list(query = {}, options) {
93
+ assertNoRequestOptionKeys(query);
94
+ const requestQuery = {};
95
+ if (query.ownerIds !== undefined)
96
+ requestQuery.OwnerIds = query.ownerIds;
97
+ if (query.assignToObjects !== undefined) {
98
+ requestQuery.AssignToObjects = query.assignToObjects;
99
+ }
100
+ const body = await this.transport.get(CustomFieldDefinitionsResource.BASE, requestQuery, options);
101
+ return unwrapDefinitionCollection(body);
102
+ }
103
+ async delete(body, options) {
104
+ return deleteWithBody(this.transport, CustomFieldDefinitionsResource.BASE, body, withDefaultMaxRetries(options, 0));
127
105
  }
128
- /**
129
- * Delete a definition by owner + name (DELETE with a JSON body — there is no
130
- * id path segment). Returns the standard `DeleteResponse`.
131
- */
132
- async delete(params) {
133
- const { body, options } = splitOptions(params);
134
- return deleteWithBody(this.transport, CustomFieldDefinitionsResource.BASE, body, options);
106
+ get withResponse() {
107
+ return {
108
+ create: async (body, options) => {
109
+ assertNoRequestOptionKeys(body);
110
+ const wire = await this.transport.sendPost(CustomFieldDefinitionsResource.BASE, body, withDefaultMaxRetries(options, 0));
111
+ return NxusResponse.fromTransport(wire.body, wire);
112
+ },
113
+ update: async (body, options) => {
114
+ assertNoRequestOptionKeys(body);
115
+ const wire = await this.transport.sendPost(`${CustomFieldDefinitionsResource.BASE}/update`, body, withDefaultMaxRetries(options, 0));
116
+ return NxusResponse.fromTransport(wire.body, wire);
117
+ },
118
+ list: async (query, options) => {
119
+ assertNoRequestOptionKeys(query);
120
+ const requestQuery = {};
121
+ if (query?.ownerIds !== undefined)
122
+ requestQuery.OwnerIds = query.ownerIds;
123
+ if (query?.assignToObjects !== undefined) {
124
+ requestQuery.AssignToObjects = query.assignToObjects;
125
+ }
126
+ const wire = await this.transport.sendGet(CustomFieldDefinitionsResource.BASE, requestQuery, options);
127
+ // `.data` is the array; the envelope's requestId/count remain reachable
128
+ // through the NxusResponse metadata and `.raw`.
129
+ return NxusResponse.fromTransport(unwrapDefinitionCollection(wire.body), wire);
130
+ },
131
+ delete: async (body, options) => {
132
+ const wire = await deleteWithBodyResponse(this.transport, CustomFieldDefinitionsResource.BASE, body, withDefaultMaxRetries(options, 0));
133
+ return NxusResponse.fromTransport(wire.body, wire);
134
+ },
135
+ };
135
136
  }
136
137
  }
137
138
  // ---------------------------------------------------------------------------
@@ -146,9 +147,8 @@ export class CustomFieldDefinitionsResource {
146
147
  * ownerId: "0",
147
148
  * name: "SdkTestField",
148
149
  * value: "hello-from-sdk",
149
- * target: { kind: DataExtTargetKind.List, listType: ListType.CUSTOMER, fullName: "Acme" },
150
- * connectionId: "conn_...",
151
- * });
150
+ * target: { kind: DataExtTargetKind.LIST, listType: ListType.CUSTOMER, fullName: "Acme" },
151
+ * }, { connectionId: "conn_..." });
152
152
  * ```
153
153
  */
154
154
  export class CustomFieldsResource {
@@ -156,21 +156,35 @@ export class CustomFieldsResource {
156
156
  constructor(transport) {
157
157
  this.transport = transport;
158
158
  }
159
- static BASE = '/api/v1/custom-fields';
160
- /** Assign a value to a named custom field on a target. Returns `DataExtDataExt`. */
161
- async create(params) {
162
- const { body, options } = splitOptions(params);
163
- return this.transport.post(CustomFieldsResource.BASE, body, options);
159
+ static BASE = "/api/v1/custom-fields";
160
+ async create(body, options) {
161
+ assertNoRequestOptionKeys(body);
162
+ return this.transport.post(CustomFieldsResource.BASE, body, withDefaultMaxRetries(options, 0));
164
163
  }
165
- /** Change an existing value. POSTs to the `/update` sub-path. */
166
- async update(params) {
167
- const { body, options } = splitOptions(params);
168
- return this.transport.post(`${CustomFieldsResource.BASE}/update`, body, options);
164
+ async update(body, options) {
165
+ assertNoRequestOptionKeys(body);
166
+ return this.transport.post(`${CustomFieldsResource.BASE}/update`, body, withDefaultMaxRetries(options, 0));
169
167
  }
170
- /** Clear a value (DELETE with a JSON body). Returns `DeleteResponse`. */
171
- async delete(params) {
172
- const { body, options } = splitOptions(params);
173
- return deleteWithBody(this.transport, CustomFieldsResource.BASE, body, options);
168
+ async delete(body, options) {
169
+ return deleteWithBody(this.transport, CustomFieldsResource.BASE, body, withDefaultMaxRetries(options, 0));
170
+ }
171
+ get withResponse() {
172
+ return {
173
+ create: async (body, options) => {
174
+ assertNoRequestOptionKeys(body);
175
+ const wire = await this.transport.sendPost(CustomFieldsResource.BASE, body, withDefaultMaxRetries(options, 0));
176
+ return NxusResponse.fromTransport(wire.body, wire);
177
+ },
178
+ update: async (body, options) => {
179
+ assertNoRequestOptionKeys(body);
180
+ const wire = await this.transport.sendPost(`${CustomFieldsResource.BASE}/update`, body, withDefaultMaxRetries(options, 0));
181
+ return NxusResponse.fromTransport(wire.body, wire);
182
+ },
183
+ delete: async (body, options) => {
184
+ const wire = await deleteWithBodyResponse(this.transport, CustomFieldsResource.BASE, body, withDefaultMaxRetries(options, 0));
185
+ return NxusResponse.fromTransport(wire.body, wire);
186
+ },
187
+ };
174
188
  }
175
189
  }
176
190
  // ---------------------------------------------------------------------------
@@ -178,27 +192,15 @@ export class CustomFieldsResource {
178
192
  //
179
193
  // These two routes are the only ones in the API that take a JSON body on a
180
194
  // DELETE (the target is identified by owner+name in the body, not a path id).
181
- // The shared transport's `delete()` sends no body, so rather than widen that
182
- // hot path we go through `transport.raw()` — which already applies auth, the
183
- // default headers, the timeout, and retries — and parse the JSON ourselves.
184
- // `raw()` returns non-2xx responses instead of throwing, so we map those onto
185
- // the same `NxusApiError` shape the rest of the SDK surfaces.
195
+ // They now use the same delete-with-body transport path as every other SDK
196
+ // call, so retries, logical error handling, request ids, and wrapped metadata
197
+ // stay aligned across plain and withResponse variants.
186
198
  // ---------------------------------------------------------------------------
187
199
  async function deleteWithBody(transport, path, body, options) {
188
- const response = await transport.raw(path, { method: 'DELETE', body: JSON.stringify(body) }, options);
189
- if (!response.ok) {
190
- let errorBody;
191
- try {
192
- errorBody = await response.json();
193
- }
194
- catch {
195
- errorBody = await response.text().catch(() => null);
196
- }
197
- throw NxusApiError.from(errorBody ?? { status: response.status, message: response.statusText });
198
- }
199
- if (response.status === 204)
200
- return undefined;
201
- const text = await response.text();
202
- return (text ? JSON.parse(text) : undefined);
200
+ return (await deleteWithBodyResponse(transport, path, body, options)).body;
201
+ }
202
+ async function deleteWithBodyResponse(transport, path, body, options) {
203
+ assertNoRequestOptionKeys(body);
204
+ return transport.sendDeleteWithBody(path, body, options);
203
205
  }
204
206
  //# sourceMappingURL=custom-fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../src/resources/custom-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../src/resources/custom-fields.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * ReportsResource — QuickBooks Desktop report endpoints.
3
3
  */
4
- import type { NxusHttpTransport, RequestOptions } from '../transport';
4
+ import type { NxusHttpTransport, RequestOptions } from "../transport.js";
5
+ import { NxusResponse } from "../helpers/response.js";
5
6
  export type ReportParams = {
6
7
  reportType?: string;
7
8
  fromReportDate?: string;
@@ -12,15 +13,27 @@ export type ReportParams = {
12
13
  export declare class ReportsResource {
13
14
  private readonly transport;
14
15
  constructor(transport: NxusHttpTransport);
15
- retrieveAging(params?: ReportParams & RequestOptions): Promise<unknown>;
16
- retrieveGeneralDetail(params?: ReportParams & RequestOptions): Promise<unknown>;
17
- retrieveGeneralSummary(params?: ReportParams & RequestOptions): Promise<unknown>;
18
- retrieveBudgetSummary(params?: ReportParams & RequestOptions): Promise<unknown>;
19
- retrieveJob(params?: ReportParams & RequestOptions): Promise<unknown>;
20
- retrieveTime(params?: ReportParams & RequestOptions): Promise<unknown>;
21
- retrieveCustomDetail(params?: ReportParams & RequestOptions): Promise<unknown>;
22
- retrieveCustomSummary(params?: ReportParams & RequestOptions): Promise<unknown>;
23
- retrievePayrollDetail(params?: ReportParams & RequestOptions): Promise<unknown>;
16
+ retrieveAging(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
17
+ retrieveGeneralDetail(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
18
+ retrieveGeneralSummary(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
19
+ retrieveBudgetSummary(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
20
+ retrieveJob(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
21
+ retrieveTime(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
22
+ retrieveCustomDetail(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
23
+ retrieveCustomSummary(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
24
+ retrievePayrollDetail(query?: ReportParams, options?: RequestOptions): Promise<unknown>;
25
+ get withResponse(): {
26
+ retrieveAging: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
27
+ retrieveGeneralDetail: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
28
+ retrieveGeneralSummary: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
29
+ retrieveBudgetSummary: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
30
+ retrieveJob: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
31
+ retrieveTime: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
32
+ retrieveCustomDetail: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
33
+ retrieveCustomSummary: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
34
+ retrievePayrollDetail: (query?: ReportParams, options?: RequestOptions) => Promise<NxusResponse<unknown>>;
35
+ };
24
36
  private retrieve;
37
+ private retrieveWithResponse;
25
38
  }
26
39
  //# sourceMappingURL=reports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMtE,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAMF,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAEnD,aAAa,CACjB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,qBAAqB,CACzB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,sBAAsB,CAC1B,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,qBAAqB,CACzB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,WAAW,CACf,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,YAAY,CAChB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,oBAAoB,CACxB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,qBAAqB,CACzB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;IAIb,qBAAqB,CACzB,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,GACrC,OAAO,CAAC,OAAO,CAAC;YAQL,QAAQ;CAYvB"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOtD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAMF,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,iBAAiB;IAEzD,aAAa,CACX,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,qBAAqB,CACnB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,sBAAsB,CACpB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,qBAAqB,CACnB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E,YAAY,CACV,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,oBAAoB,CAClB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,qBAAqB,CACnB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,qBAAqB,CACnB,KAAK,CAAC,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAQnB,IAAI,YAAY;gCAEY,YAAY,YAAY,cAAc;wCAE9B,YAAY,YAAY,cAAc;yCAO5D,YAAY,YACV,cAAc;wCAOM,YAAY,YAAY,cAAc;8BAMhD,YAAY,YAAY,cAAc;+BAErC,YAAY,YAAY,cAAc;uCAE9B,YAAY,YAAY,cAAc;wCAMrC,YAAY,YAAY,cAAc;wCAMtC,YAAY,YAAY,cAAc;MAOzE;YAMa,QAAQ;YAaR,oBAAoB;CAanC"}
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * ReportsResource — QuickBooks Desktop report endpoints.
3
3
  */
4
+ import { NxusResponse } from "../helpers/response.js";
5
+ import { assertNoRequestOptionKeys } from "./base.js";
4
6
  // ---------------------------------------------------------------------------
5
7
  // ReportsResource
6
8
  // ---------------------------------------------------------------------------
@@ -9,48 +11,57 @@ export class ReportsResource {
9
11
  constructor(transport) {
10
12
  this.transport = transport;
11
13
  }
12
- async retrieveAging(params) {
13
- return this.retrieve('/api/v1/reports/aging', params);
14
+ async retrieveAging(query, options) {
15
+ return this.retrieve("/api/v1/reports/aging", query, options);
14
16
  }
15
- async retrieveGeneralDetail(params) {
16
- return this.retrieve('/api/v1/reports/general-detail', params);
17
+ async retrieveGeneralDetail(query, options) {
18
+ return this.retrieve("/api/v1/reports/general-detail", query, options);
17
19
  }
18
- async retrieveGeneralSummary(params) {
19
- return this.retrieve('/api/v1/reports/general-summary', params);
20
+ async retrieveGeneralSummary(query, options) {
21
+ return this.retrieve("/api/v1/reports/general-summary", query, options);
20
22
  }
21
- async retrieveBudgetSummary(params) {
22
- return this.retrieve('/api/v1/reports/budget-summary', params);
23
+ async retrieveBudgetSummary(query, options) {
24
+ return this.retrieve("/api/v1/reports/budget-summary", query, options);
23
25
  }
24
- async retrieveJob(params) {
25
- return this.retrieve('/api/v1/reports/job', params);
26
+ async retrieveJob(query, options) {
27
+ return this.retrieve("/api/v1/reports/job", query, options);
26
28
  }
27
- async retrieveTime(params) {
28
- return this.retrieve('/api/v1/reports/time', params);
29
+ async retrieveTime(query, options) {
30
+ return this.retrieve("/api/v1/reports/time", query, options);
29
31
  }
30
- async retrieveCustomDetail(params) {
31
- return this.retrieve('/api/v1/reports/custom-detail', params);
32
+ async retrieveCustomDetail(query, options) {
33
+ return this.retrieve("/api/v1/reports/custom-detail", query, options);
32
34
  }
33
- async retrieveCustomSummary(params) {
34
- return this.retrieve('/api/v1/reports/custom-summary', params);
35
+ async retrieveCustomSummary(query, options) {
36
+ return this.retrieve("/api/v1/reports/custom-summary", query, options);
35
37
  }
36
- async retrievePayrollDetail(params) {
37
- return this.retrieve('/api/v1/reports/payroll-detail', params);
38
+ async retrievePayrollDetail(query, options) {
39
+ return this.retrieve("/api/v1/reports/payroll-detail", query, options);
40
+ }
41
+ get withResponse() {
42
+ return {
43
+ retrieveAging: (query, options) => this.retrieveWithResponse("/api/v1/reports/aging", query, options),
44
+ retrieveGeneralDetail: (query, options) => this.retrieveWithResponse("/api/v1/reports/general-detail", query, options),
45
+ retrieveGeneralSummary: (query, options) => this.retrieveWithResponse("/api/v1/reports/general-summary", query, options),
46
+ retrieveBudgetSummary: (query, options) => this.retrieveWithResponse("/api/v1/reports/budget-summary", query, options),
47
+ retrieveJob: (query, options) => this.retrieveWithResponse("/api/v1/reports/job", query, options),
48
+ retrieveTime: (query, options) => this.retrieveWithResponse("/api/v1/reports/time", query, options),
49
+ retrieveCustomDetail: (query, options) => this.retrieveWithResponse("/api/v1/reports/custom-detail", query, options),
50
+ retrieveCustomSummary: (query, options) => this.retrieveWithResponse("/api/v1/reports/custom-summary", query, options),
51
+ retrievePayrollDetail: (query, options) => this.retrieveWithResponse("/api/v1/reports/payroll-detail", query, options),
52
+ };
38
53
  }
39
54
  // -------------------------------------------------------------------------
40
55
  // Internal
41
56
  // -------------------------------------------------------------------------
42
- async retrieve(path, params) {
43
- const { connectionId, headers, timeout, maxRetries, ...query } = params ?? {};
44
- const options = {};
45
- if (connectionId)
46
- options.connectionId = connectionId;
47
- if (headers)
48
- options.headers = headers;
49
- if (timeout)
50
- options.timeout = timeout;
51
- if (maxRetries !== undefined)
52
- options.maxRetries = maxRetries;
57
+ async retrieve(path, query, options) {
58
+ assertNoRequestOptionKeys(query);
53
59
  return this.transport.get(path, query, options);
54
60
  }
61
+ async retrieveWithResponse(path, query, options) {
62
+ assertNoRequestOptionKeys(query);
63
+ const wire = await this.transport.sendGet(path, query, options);
64
+ return NxusResponse.fromTransport(wire.body, wire);
65
+ }
55
66
  }
56
67
  //# sourceMappingURL=reports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7D,KAAK,CAAC,aAAa,CACjB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAsC;QAEtC,OAAO,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAEpE,KAAK,CAAC,QAAQ,CACpB,IAAY,EACZ,MAAsC;QAEtC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,YAAY;YAAE,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACtD,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,OAAiC,CAAC;QACjE,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,OAAiB,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,UAAoB,CAAC;QACxE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"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"}