@cheqi/sdk 0.1.1 → 0.1.2

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 (67) hide show
  1. package/dist/cheqi-sdk.d.ts +7 -6
  2. package/dist/cheqi-sdk.js +7 -2
  3. package/dist/cheqi-sdk.js.map +1 -1
  4. package/dist/errors.d.ts +17 -1
  5. package/dist/errors.js +36 -1
  6. package/dist/errors.js.map +1 -1
  7. package/dist/http/client.js +46 -8
  8. package/dist/http/client.js.map +1 -1
  9. package/dist/http/retry.js +12 -5
  10. package/dist/http/retry.js.map +1 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/models/domain.js +9 -1
  15. package/dist/models/domain.js.map +1 -1
  16. package/dist/models/generated/AuthorizedCompanyDTO.d.ts +0 -6
  17. package/dist/models/generated/AuthorizedCompanyDTO.js +0 -2
  18. package/dist/models/generated/AuthorizedCompanyDTO.js.map +1 -1
  19. package/dist/models/generated/CompanyCreationRequest.d.ts +0 -6
  20. package/dist/models/generated/CompanyCreationRequest.js +0 -2
  21. package/dist/models/generated/CompanyCreationRequest.js.map +1 -1
  22. package/dist/models/generated/CompanyResponseBody.d.ts +0 -6
  23. package/dist/models/generated/CompanyResponseBody.js +0 -2
  24. package/dist/models/generated/CompanyResponseBody.js.map +1 -1
  25. package/dist/models/generated/EncryptedCreditNoteDto.d.ts +4 -13
  26. package/dist/models/generated/EncryptedCreditNoteDto.js +3 -11
  27. package/dist/models/generated/EncryptedCreditNoteDto.js.map +1 -1
  28. package/dist/models/generated/EncryptedReceipt.d.ts +109 -0
  29. package/dist/models/generated/{EncryptedReceiptDto.js → EncryptedReceipt.js} +12 -20
  30. package/dist/models/generated/EncryptedReceipt.js.map +1 -0
  31. package/dist/models/generated/ReceiverType.d.ts +27 -0
  32. package/dist/models/generated/ReceiverType.js +46 -0
  33. package/dist/models/generated/ReceiverType.js.map +1 -0
  34. package/dist/models/generated/WebhookEventDTO.d.ts +3 -3
  35. package/dist/models/generated/WebhookEventDTO.js +3 -3
  36. package/dist/models/generated/WebhookEventDTO.js.map +1 -1
  37. package/dist/models/generated/index.d.ts +2 -1
  38. package/dist/models/generated/index.js +2 -1
  39. package/dist/models/generated/index.js.map +1 -1
  40. package/dist/models.d.ts +21 -0
  41. package/dist/models.js +65 -7
  42. package/dist/models.js.map +1 -1
  43. package/dist/rfc8785.d.ts +17 -0
  44. package/dist/rfc8785.js +241 -9
  45. package/dist/rfc8785.js.map +1 -1
  46. package/dist/services/credit-note.d.ts +7 -4
  47. package/dist/services/credit-note.js +13 -2
  48. package/dist/services/credit-note.js.map +1 -1
  49. package/dist/services/decryption.js +2 -2
  50. package/dist/services/decryption.js.map +1 -1
  51. package/dist/services/encryption.js +17 -6
  52. package/dist/services/encryption.js.map +1 -1
  53. package/dist/services/matching.js +2 -2
  54. package/dist/services/matching.js.map +1 -1
  55. package/dist/services/receipt-processor.d.ts +27 -0
  56. package/dist/services/receipt-processor.js +111 -0
  57. package/dist/services/receipt-processor.js.map +1 -0
  58. package/dist/types.d.ts +42 -2
  59. package/dist/utils.d.ts +13 -0
  60. package/dist/utils.js +32 -1
  61. package/dist/utils.js.map +1 -1
  62. package/dist/xml.d.ts +6 -0
  63. package/dist/xml.js +155 -3
  64. package/dist/xml.js.map +1 -1
  65. package/package.json +4 -1
  66. package/dist/models/generated/EncryptedReceiptDto.d.ts +0 -118
  67. package/dist/models/generated/EncryptedReceiptDto.js.map +0 -1
package/dist/models.d.ts CHANGED
@@ -1,5 +1,14 @@
1
+ /** Delivery outcome of a processed receipt. Mirrors the Java SDK `DeliveryStatus`. */
2
+ export declare const DeliveryStatus: {
3
+ readonly DELIVERED_DIGITAL: "DELIVERED_DIGITAL";
4
+ readonly DELIVERED_EMAIL: "DELIVERED_EMAIL";
5
+ readonly CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND";
6
+ readonly FAILED: "FAILED";
7
+ };
8
+ export type DeliveryStatus = (typeof DeliveryStatus)[keyof typeof DeliveryStatus];
1
9
  export interface ReceiptResultInit {
2
10
  success: boolean;
11
+ deliveryStatus?: DeliveryStatus | null;
3
12
  deliveryMethod?: string | null;
4
13
  customerFound?: boolean;
5
14
  receiptCount?: number;
@@ -10,6 +19,7 @@ export interface ReceiptResultInit {
10
19
  }
11
20
  export declare class ReceiptResult {
12
21
  readonly success: boolean;
22
+ readonly deliveryStatus: DeliveryStatus | null;
13
23
  readonly deliveryMethod: string | null;
14
24
  readonly customerFound: boolean;
15
25
  readonly receiptCount: number;
@@ -21,31 +31,42 @@ export declare class ReceiptResult {
21
31
  static deliveredToApp(response: Record<string, unknown>, templateContent: string): ReceiptResult;
22
32
  static deliveredViaEmail(customerEmail: string): ReceiptResult;
23
33
  static customerNotFound(): ReceiptResult;
34
+ static failed(message: string): ReceiptResult;
24
35
  isSuccess(): boolean;
25
36
  isCustomerNotFound(): boolean;
37
+ getDeliveryStatus(): DeliveryStatus | null;
26
38
  getReceiptCount(): number;
39
+ getEmailAddress(): string | null;
27
40
  getMessage(): string | null;
28
41
  }
29
42
  export interface CreditNoteResultInit {
30
43
  success: boolean;
44
+ deliveryStatus?: DeliveryStatus | null;
31
45
  customerFound?: boolean;
32
46
  creditNoteCount?: number;
33
47
  response?: unknown;
34
48
  templateContent?: string | null;
35
49
  message?: string | null;
50
+ emailAddress?: string | null;
36
51
  }
37
52
  export declare class CreditNoteResult {
38
53
  readonly success: boolean;
54
+ readonly deliveryStatus: DeliveryStatus | null;
39
55
  readonly customerFound: boolean;
40
56
  readonly creditNoteCount: number;
41
57
  readonly response: unknown;
42
58
  readonly templateContent: string | null;
43
59
  readonly message: string | null;
60
+ readonly emailAddress: string | null;
44
61
  constructor(init: CreditNoteResultInit);
45
62
  static deliveredToApp(response: Record<string, unknown>, templateContent: string): CreditNoteResult;
63
+ static deliveredViaEmail(emailAddress: string): CreditNoteResult;
46
64
  static customerNotFound(): CreditNoteResult;
65
+ static failed(message: string): CreditNoteResult;
47
66
  isSuccess(): boolean;
48
67
  isCustomerNotFound(): boolean;
68
+ getDeliveryStatus(): DeliveryStatus | null;
49
69
  getCreditNoteCount(): number;
70
+ getEmailAddress(): string | null;
50
71
  getMessage(): string | null;
51
72
  }
package/dist/models.js CHANGED
@@ -1,5 +1,13 @@
1
+ /** Delivery outcome of a processed receipt. Mirrors the Java SDK `DeliveryStatus`. */
2
+ export const DeliveryStatus = {
3
+ DELIVERED_DIGITAL: "DELIVERED_DIGITAL",
4
+ DELIVERED_EMAIL: "DELIVERED_EMAIL",
5
+ CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND",
6
+ FAILED: "FAILED"
7
+ };
1
8
  export class ReceiptResult {
2
9
  success;
10
+ deliveryStatus;
3
11
  deliveryMethod;
4
12
  customerFound;
5
13
  receiptCount;
@@ -9,6 +17,7 @@ export class ReceiptResult {
9
17
  customerEmail;
10
18
  constructor(init) {
11
19
  this.success = init.success;
20
+ this.deliveryStatus = init.deliveryStatus ?? null;
12
21
  this.deliveryMethod = init.deliveryMethod ?? null;
13
22
  this.customerFound = init.customerFound ?? false;
14
23
  this.receiptCount = init.receiptCount ?? 0;
@@ -22,83 +31,132 @@ export class ReceiptResult {
22
31
  (typeof response.receiptCount === "number" ? response.receiptCount : 0);
23
32
  return new ReceiptResult({
24
33
  success: true,
34
+ deliveryStatus: DeliveryStatus.DELIVERED_DIGITAL,
25
35
  deliveryMethod: "APP",
26
36
  customerFound: true,
27
37
  receiptCount,
28
38
  response,
29
- templateContent
39
+ templateContent,
40
+ message: "Receipt delivered to customer's Cheqi app"
30
41
  });
31
42
  }
32
43
  static deliveredViaEmail(customerEmail) {
33
44
  return new ReceiptResult({
34
45
  success: true,
46
+ deliveryStatus: DeliveryStatus.DELIVERED_EMAIL,
35
47
  deliveryMethod: "EMAIL",
36
48
  customerFound: false,
37
- customerEmail
49
+ customerEmail,
50
+ message: `Receipt sent via email to ${customerEmail}`
38
51
  });
39
52
  }
40
53
  static customerNotFound() {
41
54
  return new ReceiptResult({
42
55
  success: false,
56
+ deliveryStatus: DeliveryStatus.CUSTOMER_NOT_FOUND,
43
57
  customerFound: false,
44
- message: "Customer not found"
58
+ message: "Customer not found with provided payment details"
59
+ });
60
+ }
61
+ static failed(message) {
62
+ return new ReceiptResult({
63
+ success: false,
64
+ deliveryStatus: DeliveryStatus.FAILED,
65
+ customerFound: false,
66
+ message
45
67
  });
46
68
  }
47
69
  isSuccess() {
48
70
  return this.success;
49
71
  }
50
72
  isCustomerNotFound() {
51
- return !this.customerFound;
73
+ return this.deliveryStatus === DeliveryStatus.CUSTOMER_NOT_FOUND;
74
+ }
75
+ getDeliveryStatus() {
76
+ return this.deliveryStatus;
52
77
  }
53
78
  getReceiptCount() {
54
79
  return this.receiptCount;
55
80
  }
81
+ getEmailAddress() {
82
+ return this.customerEmail;
83
+ }
56
84
  getMessage() {
57
85
  return this.message;
58
86
  }
59
87
  }
60
88
  export class CreditNoteResult {
61
89
  success;
90
+ deliveryStatus;
62
91
  customerFound;
63
92
  creditNoteCount;
64
93
  response;
65
94
  templateContent;
66
95
  message;
96
+ emailAddress;
67
97
  constructor(init) {
68
98
  this.success = init.success;
99
+ this.deliveryStatus = init.deliveryStatus ?? null;
69
100
  this.customerFound = init.customerFound ?? false;
70
101
  this.creditNoteCount = init.creditNoteCount ?? 0;
71
102
  this.response = init.response ?? null;
72
103
  this.templateContent = init.templateContent ?? null;
73
104
  this.message = init.message ?? null;
105
+ this.emailAddress = init.emailAddress ?? null;
74
106
  }
75
107
  static deliveredToApp(response, templateContent) {
76
108
  const creditNoteCount = (Array.isArray(response.createdCreditNotes) ? response.createdCreditNotes.length : undefined) ??
77
109
  (typeof response.creditNoteCount === "number" ? response.creditNoteCount : 0);
78
110
  return new CreditNoteResult({
79
111
  success: true,
112
+ deliveryStatus: DeliveryStatus.DELIVERED_DIGITAL,
80
113
  customerFound: true,
81
114
  creditNoteCount,
82
115
  response,
83
- templateContent
116
+ templateContent,
117
+ message: "Credit note delivered to customer's Cheqi app"
118
+ });
119
+ }
120
+ static deliveredViaEmail(emailAddress) {
121
+ return new CreditNoteResult({
122
+ success: true,
123
+ deliveryStatus: DeliveryStatus.DELIVERED_EMAIL,
124
+ customerFound: false,
125
+ emailAddress,
126
+ message: `Credit note sent via email to ${emailAddress}`
84
127
  });
85
128
  }
86
129
  static customerNotFound() {
87
130
  return new CreditNoteResult({
88
131
  success: false,
132
+ deliveryStatus: DeliveryStatus.CUSTOMER_NOT_FOUND,
89
133
  customerFound: false,
90
- message: "Customer not found"
134
+ message: "Customer not found with provided payment details"
135
+ });
136
+ }
137
+ static failed(message) {
138
+ return new CreditNoteResult({
139
+ success: false,
140
+ deliveryStatus: DeliveryStatus.FAILED,
141
+ customerFound: false,
142
+ message
91
143
  });
92
144
  }
93
145
  isSuccess() {
94
146
  return this.success;
95
147
  }
96
148
  isCustomerNotFound() {
97
- return !this.customerFound;
149
+ return this.deliveryStatus === DeliveryStatus.CUSTOMER_NOT_FOUND;
150
+ }
151
+ getDeliveryStatus() {
152
+ return this.deliveryStatus;
98
153
  }
99
154
  getCreditNoteCount() {
100
155
  return this.creditNoteCount;
101
156
  }
157
+ getEmailAddress() {
158
+ return this.emailAddress;
159
+ }
102
160
  getMessage() {
103
161
  return this.message;
104
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
package/dist/rfc8785.d.ts CHANGED
@@ -1 +1,18 @@
1
+ /**
2
+ * RFC 8785-style JSON canonicalization, byte-compatible with the Cheqi Java SDK
3
+ * `RFC8785Canonicalizer`:
4
+ * - object keys sorted lexicographically (UTF-16 code-unit order),
5
+ * - strings escaped exactly as Java/`JSON.stringify` (control chars < 0x20 as
6
+ * `\u00xx`; `
7
+ `/`
8
+ ` left unescaped),
9
+ * - numbers rendered like Jackson: integral tokens as integers, decimal tokens
10
+ * via `BigDecimal.toPlainString()` (no scientific notation, original scale
11
+ * preserved).
12
+ *
13
+ * When the input is a JSON **string**, original number tokens are preserved so
14
+ * the output matches the backend byte-for-byte (e.g. `12.10` stays `12.10`).
15
+ * When the input is an already-parsed object, numbers are JS `number`s and the
16
+ * original textual scale cannot be recovered (e.g. `12.10` becomes `12.1`).
17
+ */
1
18
  export declare function canonicalizeJson(value: string | object): string;
package/dist/rfc8785.js CHANGED
@@ -1,26 +1,102 @@
1
+ /**
2
+ * RFC 8785-style JSON canonicalization, byte-compatible with the Cheqi Java SDK
3
+ * `RFC8785Canonicalizer`:
4
+ * - object keys sorted lexicographically (UTF-16 code-unit order),
5
+ * - strings escaped exactly as Java/`JSON.stringify` (control chars < 0x20 as
6
+ * `\u00xx`; `
7
+ `/`
8
+ ` left unescaped),
9
+ * - numbers rendered like Jackson: integral tokens as integers, decimal tokens
10
+ * via `BigDecimal.toPlainString()` (no scientific notation, original scale
11
+ * preserved).
12
+ *
13
+ * When the input is a JSON **string**, original number tokens are preserved so
14
+ * the output matches the backend byte-for-byte (e.g. `12.10` stays `12.10`).
15
+ * When the input is an already-parsed object, numbers are JS `number`s and the
16
+ * original textual scale cannot be recovered (e.g. `12.10` becomes `12.1`).
17
+ */
18
+ /** Wrapper preserving the exact source text of a JSON number token. */
19
+ class JsonNumberToken {
20
+ raw;
21
+ constructor(raw) {
22
+ this.raw = raw;
23
+ }
24
+ }
1
25
  function serializeString(value) {
2
- return JSON.stringify(value)
3
- .replace(/\u2028/g, "\\u2028")
4
- .replace(/\u2029/g, "\\u2029");
26
+ // JSON.stringify escapes the same set Java's canonicalizeString does and
27
+ // leaves U+2028/U+2029 unescaped — matching the Java SDK.
28
+ return JSON.stringify(value);
5
29
  }
6
- function serializeNumber(value) {
30
+ /** Render a JSON number token like Jackson: integral as-is, decimal via BigDecimal.toPlainString(). */
31
+ function formatNumberToken(token) {
32
+ const match = /^(-?)(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(token);
33
+ if (!match) {
34
+ return serializeJsNumber(Number(token));
35
+ }
36
+ const sign = match[1];
37
+ const intPart = match[2];
38
+ const fracPart = match[3] ?? "";
39
+ const exp = match[4] ? Number.parseInt(match[4], 10) : 0;
40
+ // Integral token (no fraction, no exponent) → integer representation.
41
+ if (fracPart === "" && exp === 0) {
42
+ return BigInt(sign + intPart).toString();
43
+ }
44
+ // Decimal token → BigDecimal.toPlainString().
45
+ const scale = fracPart.length - exp;
46
+ let magnitude = (intPart + fracPart).replace(/^0+/, "");
47
+ if (magnitude === "") {
48
+ magnitude = "0";
49
+ }
50
+ let result;
51
+ if (scale === 0) {
52
+ result = magnitude;
53
+ }
54
+ else if (scale < 0) {
55
+ result = magnitude + "0".repeat(-scale);
56
+ }
57
+ else if (magnitude.length > scale) {
58
+ const pointPos = magnitude.length - scale;
59
+ result = `${magnitude.slice(0, pointPos)}.${magnitude.slice(pointPos)}`;
60
+ }
61
+ else {
62
+ result = `0.${"0".repeat(scale - magnitude.length)}${magnitude}`;
63
+ }
64
+ // Drop the sign for zero (BigDecimal has no negative zero).
65
+ return sign === "-" && /[1-9]/.test(result) ? `-${result}` : result;
66
+ }
67
+ /** Format an already-parsed JS number without scientific notation. */
68
+ function serializeJsNumber(value) {
7
69
  if (!Number.isFinite(value)) {
8
70
  throw new Error("NaN and Infinity are not valid JSON values");
9
71
  }
10
- if (Object.is(value, -0) || value === 0) {
72
+ if (value === 0) {
11
73
  return "0";
12
74
  }
13
- return String(value);
75
+ if (Number.isInteger(value) && Math.abs(value) < 1e21) {
76
+ return value.toString();
77
+ }
78
+ const text = value.toString();
79
+ if (!/[eE]/.test(text)) {
80
+ return text;
81
+ }
82
+ // Expand scientific notation produced by Number.toString() into plain form.
83
+ return formatNumberToken(text);
14
84
  }
15
85
  function serialize(value) {
16
86
  if (value === null) {
17
87
  return "null";
18
88
  }
89
+ if (value instanceof JsonNumberToken) {
90
+ return formatNumberToken(value.raw);
91
+ }
19
92
  if (typeof value === "boolean") {
20
93
  return value ? "true" : "false";
21
94
  }
22
95
  if (typeof value === "number") {
23
- return serializeNumber(value);
96
+ return serializeJsNumber(value);
97
+ }
98
+ if (typeof value === "bigint") {
99
+ return value.toString();
24
100
  }
25
101
  if (typeof value === "string") {
26
102
  return serializeString(value);
@@ -35,8 +111,164 @@ function serialize(value) {
35
111
  }
36
112
  throw new TypeError(`Cannot canonicalize type: ${typeof value}`);
37
113
  }
114
+ // ── Tokenizing JSON parser that preserves number source text ──────────────────
115
+ function parseJsonPreservingNumbers(text) {
116
+ let i = 0;
117
+ function error(message) {
118
+ throw new SyntaxError(`Invalid JSON at position ${i}: ${message}`);
119
+ }
120
+ function skipWhitespace() {
121
+ while (i < text.length) {
122
+ const c = text.charCodeAt(i);
123
+ if (c === 0x20 || c === 0x09 || c === 0x0a || c === 0x0d) {
124
+ i += 1;
125
+ }
126
+ else {
127
+ break;
128
+ }
129
+ }
130
+ }
131
+ function parseValue() {
132
+ skipWhitespace();
133
+ const ch = text[i];
134
+ if (ch === "{") {
135
+ return parseObject();
136
+ }
137
+ if (ch === "[") {
138
+ return parseArray();
139
+ }
140
+ if (ch === '"') {
141
+ return parseString();
142
+ }
143
+ if (ch === "-" || (ch >= "0" && ch <= "9")) {
144
+ return parseNumber();
145
+ }
146
+ if (text.startsWith("true", i)) {
147
+ i += 4;
148
+ return true;
149
+ }
150
+ if (text.startsWith("false", i)) {
151
+ i += 5;
152
+ return false;
153
+ }
154
+ if (text.startsWith("null", i)) {
155
+ i += 4;
156
+ return null;
157
+ }
158
+ error(`unexpected token '${ch ?? "EOF"}'`);
159
+ }
160
+ function parseObject() {
161
+ const obj = {};
162
+ i += 1; // {
163
+ skipWhitespace();
164
+ if (text[i] === "}") {
165
+ i += 1;
166
+ return obj;
167
+ }
168
+ for (;;) {
169
+ skipWhitespace();
170
+ if (text[i] !== '"') {
171
+ error("expected string key");
172
+ }
173
+ const key = parseString();
174
+ skipWhitespace();
175
+ if (text[i] !== ":") {
176
+ error("expected ':'");
177
+ }
178
+ i += 1;
179
+ obj[key] = parseValue();
180
+ skipWhitespace();
181
+ const ch = text[i];
182
+ if (ch === ",") {
183
+ i += 1;
184
+ continue;
185
+ }
186
+ if (ch === "}") {
187
+ i += 1;
188
+ return obj;
189
+ }
190
+ error("expected ',' or '}'");
191
+ }
192
+ }
193
+ function parseArray() {
194
+ const arr = [];
195
+ i += 1; // [
196
+ skipWhitespace();
197
+ if (text[i] === "]") {
198
+ i += 1;
199
+ return arr;
200
+ }
201
+ for (;;) {
202
+ arr.push(parseValue());
203
+ skipWhitespace();
204
+ const ch = text[i];
205
+ if (ch === ",") {
206
+ i += 1;
207
+ continue;
208
+ }
209
+ if (ch === "]") {
210
+ i += 1;
211
+ return arr;
212
+ }
213
+ error("expected ',' or ']'");
214
+ }
215
+ }
216
+ function parseString() {
217
+ const start = i;
218
+ i += 1; // opening quote
219
+ while (i < text.length) {
220
+ const ch = text[i];
221
+ if (ch === "\\") {
222
+ i += 2;
223
+ continue;
224
+ }
225
+ if (ch === '"') {
226
+ i += 1;
227
+ return JSON.parse(text.slice(start, i));
228
+ }
229
+ i += 1;
230
+ }
231
+ error("unterminated string");
232
+ }
233
+ function parseNumber() {
234
+ const start = i;
235
+ if (text[i] === "-") {
236
+ i += 1;
237
+ }
238
+ while (i < text.length && text[i] >= "0" && text[i] <= "9") {
239
+ i += 1;
240
+ }
241
+ if (text[i] === ".") {
242
+ i += 1;
243
+ while (i < text.length && text[i] >= "0" && text[i] <= "9") {
244
+ i += 1;
245
+ }
246
+ }
247
+ if (text[i] === "e" || text[i] === "E") {
248
+ i += 1;
249
+ if (text[i] === "+" || text[i] === "-") {
250
+ i += 1;
251
+ }
252
+ while (i < text.length && text[i] >= "0" && text[i] <= "9") {
253
+ i += 1;
254
+ }
255
+ }
256
+ return new JsonNumberToken(text.slice(start, i));
257
+ }
258
+ const result = parseValue();
259
+ skipWhitespace();
260
+ if (i < text.length) {
261
+ error("trailing content");
262
+ }
263
+ return result;
264
+ }
38
265
  export function canonicalizeJson(value) {
39
- const parsed = typeof value === "string" ? JSON.parse(value) : value;
40
- return serialize(parsed);
266
+ if (typeof value === "string") {
267
+ if (value.trim() === "") {
268
+ throw new Error("JSON string cannot be null or empty");
269
+ }
270
+ return serialize(parseJsonPreservingNumbers(value));
271
+ }
272
+ return serialize(value);
41
273
  }
42
274
  //# sourceMappingURL=rfc8785.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rfc8785.js","sourceRoot":"","sources":["../src/rfc8785.ts"],"names":[],"mappings":"AAAA,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACjG,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,6BAA6B,OAAO,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACrD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"rfc8785.js","sourceRoot":"","sources":["../src/rfc8785.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CreditNoteResult } from "../models.js";
2
- import type { CheqiApiClient, CreditNoteTemplateGenerationRequest, CreditNoteTemplateRequest, CreditNoteTemplateResponse, DecryptedDeliveredCreditNote, EncryptedCreditNote, EncryptedCreditNoteInitiationRequest, IdentificationDetails, MatchedRecipient, RecipientResolutionResponse } from "../types.js";
2
+ import type { CheqiApiClient, CreditNoteInitiationRequest, CreditNoteTemplateGenerationRequest, CreditNoteTemplateRequest, CreditNoteTemplateResponse, DecryptedDeliveredCreditNote, EncryptedCreditNote, EncryptedCreditNoteInitiationRequest, IdentificationDetails, MatchedRecipient, RecipientResolutionResponse } from "../types.js";
3
3
  import { DecryptionService } from "./decryption.js";
4
4
  import { EncryptionService } from "./encryption.js";
5
5
  import { MatchingService } from "./matching.js";
@@ -13,9 +13,12 @@ export declare class CreditNoteService {
13
13
  generateCreditNoteTemplate(request: CreditNoteTemplateGenerationRequest, accessToken?: string | null): Promise<CreditNoteTemplateResponse>;
14
14
  createEncryptedCreditNote(creditNoteEnvelope: string, recipient: MatchedRecipient): EncryptedCreditNote;
15
15
  sendEncryptedCreditNotes(parentCheqiReceiptId: string, encryptedCreditNotes: EncryptedCreditNote[], templateHash: string, matchResponse: RecipientResolutionResponse, accessToken?: string | null): Promise<Record<string, unknown>>;
16
- decryptCreditNoteRequest(encryptedCreditNote: EncryptedCreditNoteInitiationRequest, privateKeyBase64: string): {
17
- content: string;
18
- };
16
+ /**
17
+ * Decrypt and parse a customer-initiated credit-note (return) request.
18
+ * Mirrors the Java SDK, which deserializes the decrypted JSON into a
19
+ * structured {@link CreditNoteInitiationRequest}.
20
+ */
21
+ decryptCreditNoteRequest(encryptedCreditNote: EncryptedCreditNoteInitiationRequest, privateKeyBase64: string): CreditNoteInitiationRequest;
19
22
  decryptDeliveredCreditNote(encryptedCreditNote: EncryptedCreditNote, privateKeyBase64: string): DecryptedDeliveredCreditNote;
20
23
  private buildEncryptedCreditNotes;
21
24
  private mergeCreditNoteContext;
@@ -1,4 +1,4 @@
1
- import { CheqiSDKError, CreditNoteProcessingError, ErrorCodes } from "../errors.js";
1
+ import { CheqiSDKError, CreditNoteProcessingError, DecryptionError, ErrorCodes } from "../errors.js";
2
2
  import { CreditNoteResult } from "../models.js";
3
3
  import { serializeJson, sha256Hex } from "../utils.js";
4
4
  const CUSTOMER_PARTY_PLACEHOLDER = "<cac:AccountingCustomerParty/>";
@@ -127,13 +127,24 @@ export class CreditNoteService {
127
127
  }
128
128
  return this.apiClient.sendEncryptedCreditNotes(matchResponse.matchId, parentCheqiReceiptId, encryptedCreditNotes, templateHash, accessToken);
129
129
  }
130
+ /**
131
+ * Decrypt and parse a customer-initiated credit-note (return) request.
132
+ * Mirrors the Java SDK, which deserializes the decrypted JSON into a
133
+ * structured {@link CreditNoteInitiationRequest}.
134
+ */
130
135
  decryptCreditNoteRequest(encryptedCreditNote, privateKeyBase64) {
131
136
  if (!this.decryptionService) {
132
137
  throw new CheqiSDKError("Decryption service is not configured", {
133
138
  errorCode: ErrorCodes.DECRYPTION_ERROR
134
139
  });
135
140
  }
136
- return this.decryptionService.decryptCreditNote(encryptedCreditNote, privateKeyBase64);
141
+ const { content } = this.decryptionService.decryptCreditNote(encryptedCreditNote, privateKeyBase64);
142
+ try {
143
+ return JSON.parse(content);
144
+ }
145
+ catch (error) {
146
+ throw new DecryptionError("Failed to deserialize decrypted credit note request", { cause: error });
147
+ }
137
148
  }
138
149
  decryptDeliveredCreditNote(encryptedCreditNote, privateKeyBase64) {
139
150
  if (!this.decryptionService) {
@@ -1 +1 @@
1
- {"version":3,"file":"credit-note.js","sourceRoot":"","sources":["../../src/services/credit-note.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit-note.js","sourceRoot":"","sources":["../../src/services/credit-note.ts"],"names":[],"mappings":"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"}