@cheqi/sdk 0.3.0 → 0.4.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 +19 -6
- package/dist/cheqi-sdk.d.ts +2 -0
- package/dist/cheqi-sdk.js +6 -1
- package/dist/cheqi-sdk.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +14 -1
- package/dist/config.js.map +1 -1
- package/dist/download/index.d.ts +4 -4
- package/dist/download/index.js +4 -4
- package/dist/http/client.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/models/generated/RecipientResolutionResponse.d.ts +15 -0
- package/dist/models/generated/RecipientResolutionResponse.js +10 -0
- package/dist/models/generated/RecipientResolutionResponse.js.map +1 -1
- package/dist/models.d.ts +14 -0
- package/dist/models.js +47 -0
- package/dist/models.js.map +1 -1
- package/dist/services/receipt.d.ts +4 -1
- package/dist/services/receipt.js +66 -3
- package/dist/services/receipt.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ TypeScript-first Cheqi SDK for encrypted receipt and credit note processing.
|
|
|
6
6
|
|
|
7
7
|
- SDK entrypoint with config and service wiring
|
|
8
8
|
- Customer matching
|
|
9
|
-
- Receipt processing flow: match -> template -> encrypt ->
|
|
9
|
+
- Receipt processing flow: match -> template -> encrypt -> digital, email, or client-encrypted download delivery
|
|
10
10
|
- Credit note processing flow
|
|
11
11
|
- Hybrid RSA-OAEP + AES-256-GCM encryption/decryption
|
|
12
12
|
- Retry-capable HTTP client
|
|
@@ -46,6 +46,15 @@ const result = await sdk.receiptService.processCompleteReceipt(
|
|
|
46
46
|
totalAmount: 12.1
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
|
+
|
|
50
|
+
if (result.deliveryStatus === "PENDING_DOWNLOAD_TEMPLATE") {
|
|
51
|
+
// Commit the original request and result.downloadUrl in your durable store
|
|
52
|
+
// before displaying or printing the URL.
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (result.deliveryStatus === "PENDING_DOWNLOAD_UPLOAD") {
|
|
56
|
+
// Persist result.downloadCiphertext and retry those exact bytes later.
|
|
57
|
+
}
|
|
49
58
|
```
|
|
50
59
|
|
|
51
60
|
## Notes
|
|
@@ -55,12 +64,16 @@ const result = await sdk.receiptService.processCompleteReceipt(
|
|
|
55
64
|
- The package ships `.d.ts` declarations so it can be consumed directly from TypeScript.
|
|
56
65
|
- The full Java model class hierarchy is still not recreated as class-per-model; the payload contract is represented as typed object shapes instead.
|
|
57
66
|
- XML verification currently normalizes formatting whitespace and hashes the result. If strict XML C14N compatibility is required, that part should be hardened next.
|
|
58
|
-
##
|
|
67
|
+
## Client-encrypted receipt download links
|
|
68
|
+
|
|
69
|
+
The high-level flow uses the same client-encrypted mechanism when matching selects
|
|
70
|
+
`DOWNLOAD_FALLBACK` and when a transient service failure requires deferred completion.
|
|
71
|
+
When a healthy matching response returns `routeFound: false`, the SDK returns
|
|
72
|
+
`CUSTOMER_NOT_FOUND` and does not bypass a disabled download fallback.
|
|
59
73
|
|
|
60
|
-
The SDK provides stateless primitives for
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
runs.
|
|
74
|
+
The SDK also provides stateless primitives for resuming a URL under your own scheduler. It
|
|
75
|
+
does not store receipts, start background workers, or choose a retry schedule. Your
|
|
76
|
+
integration owns persistence and decides where and when deferred work runs.
|
|
64
77
|
|
|
65
78
|
```ts
|
|
66
79
|
import {
|
package/dist/cheqi-sdk.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export declare class CheqiSDKBuilder {
|
|
|
28
28
|
apiEndpoint(apiEndpoint: string): this;
|
|
29
29
|
/** Set a custom API endpoint URL. Takes precedence over {@link apiEndpoint}. */
|
|
30
30
|
customApiEndpoint(customApiEndpoint: string): this;
|
|
31
|
+
/** Set the customer-facing receipt origin for a custom API endpoint. */
|
|
32
|
+
receiptDownloadBaseUrl(receiptDownloadBaseUrl: string): this;
|
|
31
33
|
/** Set the API key (typically starts with `sk_live_` or `sk_test_`). */
|
|
32
34
|
apiKey(apiKey: string): this;
|
|
33
35
|
/** Set the RSA private key (base64-encoded PKCS#8 DER) for decryption. */
|
package/dist/cheqi-sdk.js
CHANGED
|
@@ -32,6 +32,11 @@ export class CheqiSDKBuilder {
|
|
|
32
32
|
this.options.customApiEndpoint = customApiEndpoint;
|
|
33
33
|
return this;
|
|
34
34
|
}
|
|
35
|
+
/** Set the customer-facing receipt origin for a custom API endpoint. */
|
|
36
|
+
receiptDownloadBaseUrl(receiptDownloadBaseUrl) {
|
|
37
|
+
this.options.receiptDownloadBaseUrl = receiptDownloadBaseUrl;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
35
40
|
/** Set the API key (typically starts with `sk_live_` or `sk_test_`). */
|
|
36
41
|
apiKey(apiKey) {
|
|
37
42
|
this.options.apiKey = apiKey;
|
|
@@ -107,7 +112,7 @@ export class CheqiSDK {
|
|
|
107
112
|
this.receiptProcessor = new ReceiptProcessor(this.decryptionService);
|
|
108
113
|
this.apiClient = apiClient ?? new DefaultCheqiApiClient(this.config);
|
|
109
114
|
this.matchingService = new MatchingService(this.apiClient);
|
|
110
|
-
this.receiptService = new ReceiptService(this.apiClient, this.encryptionService, this.matchingService);
|
|
115
|
+
this.receiptService = new ReceiptService(this.apiClient, this.encryptionService, this.matchingService, this.config.receiptDownloadBaseUrl);
|
|
111
116
|
this.companyService = new CompanyService(this.apiClient);
|
|
112
117
|
this.storeService = new StoreService(this.apiClient);
|
|
113
118
|
this.creditNoteService = new CreditNoteService(this.apiClient, this.encryptionService, this.matchingService, this.decryptionService);
|
package/dist/cheqi-sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cheqi-sdk.js","sourceRoot":"","sources":["../src/cheqi-sdk.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cheqi-sdk.js","sourceRoot":"","sources":["../src/cheqi-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export declare const Environment: {
|
|
|
6
6
|
readonly TEST: "https://test.api.cheqi.io";
|
|
7
7
|
readonly PRODUCTION: "https://api.cheqi.io";
|
|
8
8
|
};
|
|
9
|
+
export declare const ReceiptEnvironment: {
|
|
10
|
+
readonly SANDBOX: "https://sandbox.receipt.cheqi.io";
|
|
11
|
+
readonly PRODUCTION: "https://receipt.cheqi.io";
|
|
12
|
+
};
|
|
9
13
|
/**
|
|
10
14
|
* Validated, immutable configuration for the Cheqi SDK.
|
|
11
15
|
*
|
|
@@ -15,6 +19,7 @@ export declare const Environment: {
|
|
|
15
19
|
export declare class CheqiSDKConfig {
|
|
16
20
|
readonly apiEndpoint: string;
|
|
17
21
|
readonly apiKey: Nullable<string>;
|
|
22
|
+
readonly receiptDownloadBaseUrl: Nullable<string>;
|
|
18
23
|
readonly privateKey: Nullable<string>;
|
|
19
24
|
readonly timeoutSeconds: number;
|
|
20
25
|
readonly maxRetries: number;
|
package/dist/config.js
CHANGED
|
@@ -5,6 +5,10 @@ export const Environment = {
|
|
|
5
5
|
TEST: "https://test.api.cheqi.io",
|
|
6
6
|
PRODUCTION: "https://api.cheqi.io"
|
|
7
7
|
};
|
|
8
|
+
export const ReceiptEnvironment = {
|
|
9
|
+
SANDBOX: "https://sandbox.receipt.cheqi.io",
|
|
10
|
+
PRODUCTION: "https://receipt.cheqi.io"
|
|
11
|
+
};
|
|
8
12
|
const MAX_TIMEOUT_SECONDS = 300;
|
|
9
13
|
const MAX_RETRIES = 10;
|
|
10
14
|
/**
|
|
@@ -16,18 +20,20 @@ const MAX_RETRIES = 10;
|
|
|
16
20
|
export class CheqiSDKConfig {
|
|
17
21
|
apiEndpoint;
|
|
18
22
|
apiKey;
|
|
23
|
+
receiptDownloadBaseUrl;
|
|
19
24
|
privateKey;
|
|
20
25
|
timeoutSeconds;
|
|
21
26
|
maxRetries;
|
|
22
27
|
logger;
|
|
23
28
|
constructor(options = {}) {
|
|
24
|
-
const { environment, customApiEndpoint, apiKey = null, privateKey = null, timeoutSeconds = 30, maxRetries = 3, logger = new ConsoleLogger() } = options;
|
|
29
|
+
const { environment, customApiEndpoint, receiptDownloadBaseUrl, apiKey = null, privateKey = null, timeoutSeconds = 30, maxRetries = 3, logger = new ConsoleLogger() } = options;
|
|
25
30
|
this.logger = logger;
|
|
26
31
|
// --- endpoint ---
|
|
27
32
|
this.apiEndpoint = customApiEndpoint ?? environment ?? "";
|
|
28
33
|
if (!this.apiEndpoint) {
|
|
29
34
|
throw new Error("Either 'environment' or 'customApiEndpoint' must be provided");
|
|
30
35
|
}
|
|
36
|
+
this.receiptDownloadBaseUrl = receiptDownloadBaseUrl ?? receiptBaseUrlForEnvironment(environment);
|
|
31
37
|
// --- timeout ---
|
|
32
38
|
if (timeoutSeconds <= 0) {
|
|
33
39
|
throw new Error(`Timeout must be positive, got: ${timeoutSeconds}`);
|
|
@@ -57,6 +63,13 @@ export class CheqiSDKConfig {
|
|
|
57
63
|
this.logger.info(`SDK configured: endpoint=${this.apiEndpoint}, timeout=${this.timeoutSeconds}s, maxRetries=${this.maxRetries}`);
|
|
58
64
|
}
|
|
59
65
|
}
|
|
66
|
+
function receiptBaseUrlForEnvironment(environment) {
|
|
67
|
+
if (environment === Environment.PRODUCTION)
|
|
68
|
+
return ReceiptEnvironment.PRODUCTION;
|
|
69
|
+
if (environment === Environment.SANDBOX)
|
|
70
|
+
return ReceiptEnvironment.SANDBOX;
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
60
73
|
function isValidApiKeyFormat(key) {
|
|
61
74
|
return key.startsWith("sk_live_") || key.startsWith("sk_test_");
|
|
62
75
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,sBAAsB;CAC1B,CAAC;AAEX,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAChB,WAAW,CAAS;IACpB,MAAM,CAAmB;IACzB,UAAU,CAAmB;IAC7B,cAAc,CAAS;IACvB,UAAU,CAAS;IACnB,MAAM,CAAS;IAExB,YAAY,UAA2B,EAAE;QACvC,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,MAAM,GAAG,IAAI,EACb,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,EAAE,EACnB,UAAU,GAAG,CAAC,EACd,MAAM,GAAG,IAAI,aAAa,EAAE,EAC7B,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,mBAAmB;QACnB,IAAI,CAAC,WAAW,GAAG,iBAAiB,IAAI,WAAW,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/download/index.d.ts
CHANGED
|
@@ -38,10 +38,10 @@ export interface DownloadLink {
|
|
|
38
38
|
url: string;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Generates a fresh download link locally — no network involved.
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* Generates a fresh download link locally — no network involved. Use it after an online
|
|
42
|
+
* `DOWNLOAD_FALLBACK` decision or when a Cheqi outage requires a deferred customer URL.
|
|
43
|
+
* The integration must retain the request, id, and key before exposing the URL so it can
|
|
44
|
+
* finish template generation, encryption, and upload later.
|
|
45
45
|
*/
|
|
46
46
|
export declare function generateDownloadLink(baseUrl: string): DownloadLink;
|
|
47
47
|
/** Builds the customer-facing URL. The content key MUST stay in the fragment. */
|
package/dist/download/index.js
CHANGED
|
@@ -78,10 +78,10 @@ async function importContentKey(contentKey, usage) {
|
|
|
78
78
|
return subtle().importKey("raw", keyBytes, "AES-GCM", false, [usage]);
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
* Generates a fresh download link locally — no network involved.
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
81
|
+
* Generates a fresh download link locally — no network involved. Use it after an online
|
|
82
|
+
* `DOWNLOAD_FALLBACK` decision or when a Cheqi outage requires a deferred customer URL.
|
|
83
|
+
* The integration must retain the request, id, and key before exposing the URL so it can
|
|
84
|
+
* finish template generation, encryption, and upload later.
|
|
85
85
|
*/
|
|
86
86
|
export function generateDownloadLink(baseUrl) {
|
|
87
87
|
const downloadId = toBase64Url(randomBytes(DOWNLOAD_ID_LENGTH));
|
package/dist/http/client.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CheqiSDK, CheqiSDKBuilder } from "./cheqi-sdk.js";
|
|
2
|
-
export { Environment, CheqiSDKConfig } from "./config.js";
|
|
2
|
+
export { Environment, ReceiptEnvironment, CheqiSDKConfig } from "./config.js";
|
|
3
3
|
export * from "./errors.js";
|
|
4
4
|
export type { Logger } from "./logger.js";
|
|
5
5
|
export { ConsoleLogger, NoopLogger } from "./logger.js";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CheqiSDK, CheqiSDKBuilder } from "./cheqi-sdk.js";
|
|
2
|
-
export { Environment, CheqiSDKConfig } from "./config.js";
|
|
2
|
+
export { Environment, ReceiptEnvironment, CheqiSDKConfig } from "./config.js";
|
|
3
3
|
export * from "./errors.js";
|
|
4
4
|
export { ConsoleLogger, NoopLogger } from "./logger.js";
|
|
5
5
|
export * from "./models/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -23,6 +23,12 @@ export interface RecipientResolutionResponse {
|
|
|
23
23
|
* @memberof RecipientResolutionResponse
|
|
24
24
|
*/
|
|
25
25
|
routeFound?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The selected receipt delivery route
|
|
28
|
+
* @type {string}
|
|
29
|
+
* @memberof RecipientResolutionResponse
|
|
30
|
+
*/
|
|
31
|
+
deliveryRouteType?: RecipientResolutionResponseDeliveryRouteTypeEnum;
|
|
26
32
|
/**
|
|
27
33
|
* The unique identifier for the matching process
|
|
28
34
|
* @type {string}
|
|
@@ -54,6 +60,15 @@ export interface RecipientResolutionResponse {
|
|
|
54
60
|
*/
|
|
55
61
|
buyerType?: BuyerType;
|
|
56
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* @export
|
|
65
|
+
*/
|
|
66
|
+
export declare const RecipientResolutionResponseDeliveryRouteTypeEnum: {
|
|
67
|
+
readonly DIGITAL: "DIGITAL";
|
|
68
|
+
readonly EMAIL_FALLBACK: "EMAIL_FALLBACK";
|
|
69
|
+
readonly DOWNLOAD_FALLBACK: "DOWNLOAD_FALLBACK";
|
|
70
|
+
};
|
|
71
|
+
export type RecipientResolutionResponseDeliveryRouteTypeEnum = typeof RecipientResolutionResponseDeliveryRouteTypeEnum[keyof typeof RecipientResolutionResponseDeliveryRouteTypeEnum];
|
|
57
72
|
/**
|
|
58
73
|
* Check if a given object implements the RecipientResolutionResponse interface.
|
|
59
74
|
*/
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { MatchedRecipientFromJSON, MatchedRecipientToJSON, } from './MatchedRecipient.js';
|
|
15
15
|
import { BuyerTypeFromJSON, BuyerTypeToJSON, } from './BuyerType.js';
|
|
16
|
+
/**
|
|
17
|
+
* @export
|
|
18
|
+
*/
|
|
19
|
+
export const RecipientResolutionResponseDeliveryRouteTypeEnum = {
|
|
20
|
+
DIGITAL: 'DIGITAL',
|
|
21
|
+
EMAIL_FALLBACK: 'EMAIL_FALLBACK',
|
|
22
|
+
DOWNLOAD_FALLBACK: 'DOWNLOAD_FALLBACK'
|
|
23
|
+
};
|
|
16
24
|
/**
|
|
17
25
|
* Check if a given object implements the RecipientResolutionResponse interface.
|
|
18
26
|
*/
|
|
@@ -28,6 +36,7 @@ export function RecipientResolutionResponseFromJSONTyped(json, ignoreDiscriminat
|
|
|
28
36
|
}
|
|
29
37
|
return {
|
|
30
38
|
'routeFound': json['routeFound'] == null ? undefined : json['routeFound'],
|
|
39
|
+
'deliveryRouteType': json['deliveryRouteType'] == null ? undefined : json['deliveryRouteType'],
|
|
31
40
|
'matchId': json['matchId'] == null ? undefined : json['matchId'],
|
|
32
41
|
'recipients': json['recipients'] == null ? undefined : (json['recipients'].map(MatchedRecipientFromJSON)),
|
|
33
42
|
'expiresAt': json['expiresAt'] == null ? undefined : (new Date(json['expiresAt'])),
|
|
@@ -44,6 +53,7 @@ export function RecipientResolutionResponseToJSONTyped(value, ignoreDiscriminato
|
|
|
44
53
|
}
|
|
45
54
|
return {
|
|
46
55
|
'routeFound': value['routeFound'],
|
|
56
|
+
'deliveryRouteType': value['deliveryRouteType'],
|
|
47
57
|
'matchId': value['matchId'],
|
|
48
58
|
'recipients': value['recipients'] == null ? undefined : (value['recipients'].map(MatchedRecipientToJSON)),
|
|
49
59
|
'expiresAt': value['expiresAt'] == null ? undefined : ((value['expiresAt']).toISOString()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecipientResolutionResponse.js","sourceRoot":"","sources":["../../../src/models/generated/RecipientResolutionResponse.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;AAIH,OAAO,EACH,wBAAwB,EAExB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,iBAAiB,EAEjB,eAAe,GAElB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"RecipientResolutionResponse.js","sourceRoot":"","sources":["../../../src/models/generated/RecipientResolutionResponse.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;AAIH,OAAO,EACH,wBAAwB,EAExB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,iBAAiB,EAEjB,eAAe,GAElB,MAAM,gBAAgB,CAAC;AAqDxB;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAG;IAC5D,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;CAChC,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAAa;IAC/D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IACzD,OAAO,wCAAwC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS,EAAE,mBAA4B;IAC5F,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO;QAEH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9F,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAChE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACzH,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClF,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC3F,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC5F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACvD,OAAO,sCAAsC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAA0C,EAAE,sBAA+B,KAAK;IACnI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QAEH,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACjC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzH,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1F,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACnD,CAAC;AACN,CAAC"}
|
package/dist/models.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export declare const DeliveryStatus: {
|
|
|
3
3
|
readonly DELIVERED_DIGITAL: "DELIVERED_DIGITAL";
|
|
4
4
|
readonly DELIVERED_EMAIL: "DELIVERED_EMAIL";
|
|
5
5
|
readonly DELIVERED_DOWNLOAD: "DELIVERED_DOWNLOAD";
|
|
6
|
+
readonly PENDING_DOWNLOAD_TEMPLATE: "PENDING_DOWNLOAD_TEMPLATE";
|
|
7
|
+
readonly PENDING_DOWNLOAD_UPLOAD: "PENDING_DOWNLOAD_UPLOAD";
|
|
6
8
|
readonly CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND";
|
|
7
9
|
readonly FAILED: "FAILED";
|
|
8
10
|
};
|
|
@@ -18,6 +20,9 @@ export interface ReceiptResultInit {
|
|
|
18
20
|
message?: string | null;
|
|
19
21
|
customerEmail?: string | null;
|
|
20
22
|
downloadUrl?: string | null;
|
|
23
|
+
downloadCiphertext?: string | null;
|
|
24
|
+
templateHash?: string | null;
|
|
25
|
+
canonicalJson?: string | null;
|
|
21
26
|
}
|
|
22
27
|
export declare class ReceiptResult {
|
|
23
28
|
readonly success: boolean;
|
|
@@ -30,6 +35,9 @@ export declare class ReceiptResult {
|
|
|
30
35
|
readonly message: string | null;
|
|
31
36
|
readonly customerEmail: string | null;
|
|
32
37
|
readonly downloadUrl: string | null;
|
|
38
|
+
readonly downloadCiphertext: string | null;
|
|
39
|
+
readonly templateHash: string | null;
|
|
40
|
+
readonly canonicalJson: string | null;
|
|
33
41
|
constructor(init: ReceiptResultInit);
|
|
34
42
|
static deliveredToApp(response: Record<string, unknown>, templateContent: string): ReceiptResult;
|
|
35
43
|
/**
|
|
@@ -37,6 +45,9 @@ export declare class ReceiptResult {
|
|
|
37
45
|
* download URL. The merchant terminal renders `downloadUrl` as a QR code for the customer.
|
|
38
46
|
*/
|
|
39
47
|
static deliveredViaDownload(response: Record<string, unknown>, templateContent: string): ReceiptResult;
|
|
48
|
+
static deliveredViaClientDownload(response: unknown, templateHash: string, canonicalJson: string, downloadUrl: string): ReceiptResult;
|
|
49
|
+
static pendingDownloadTemplate(downloadUrl: string, message: string): ReceiptResult;
|
|
50
|
+
static pendingDownloadUpload(downloadUrl: string, downloadCiphertext: string, templateHash: string, canonicalJson: string, message: string): ReceiptResult;
|
|
40
51
|
static deliveredViaEmail(customerEmail: string): ReceiptResult;
|
|
41
52
|
static customerNotFound(): ReceiptResult;
|
|
42
53
|
static failed(message: string): ReceiptResult;
|
|
@@ -46,6 +57,9 @@ export declare class ReceiptResult {
|
|
|
46
57
|
getReceiptCount(): number;
|
|
47
58
|
getEmailAddress(): string | null;
|
|
48
59
|
getDownloadUrl(): string | null;
|
|
60
|
+
getDownloadCiphertext(): string | null;
|
|
61
|
+
getTemplateHash(): string | null;
|
|
62
|
+
getCanonicalJson(): string | null;
|
|
49
63
|
getMessage(): string | null;
|
|
50
64
|
}
|
|
51
65
|
export interface CreditNoteResultInit {
|
package/dist/models.js
CHANGED
|
@@ -3,6 +3,8 @@ export const DeliveryStatus = {
|
|
|
3
3
|
DELIVERED_DIGITAL: "DELIVERED_DIGITAL",
|
|
4
4
|
DELIVERED_EMAIL: "DELIVERED_EMAIL",
|
|
5
5
|
DELIVERED_DOWNLOAD: "DELIVERED_DOWNLOAD",
|
|
6
|
+
PENDING_DOWNLOAD_TEMPLATE: "PENDING_DOWNLOAD_TEMPLATE",
|
|
7
|
+
PENDING_DOWNLOAD_UPLOAD: "PENDING_DOWNLOAD_UPLOAD",
|
|
6
8
|
CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND",
|
|
7
9
|
FAILED: "FAILED"
|
|
8
10
|
};
|
|
@@ -17,6 +19,9 @@ export class ReceiptResult {
|
|
|
17
19
|
message;
|
|
18
20
|
customerEmail;
|
|
19
21
|
downloadUrl;
|
|
22
|
+
downloadCiphertext;
|
|
23
|
+
templateHash;
|
|
24
|
+
canonicalJson;
|
|
20
25
|
constructor(init) {
|
|
21
26
|
this.success = init.success;
|
|
22
27
|
this.deliveryStatus = init.deliveryStatus ?? null;
|
|
@@ -28,6 +33,9 @@ export class ReceiptResult {
|
|
|
28
33
|
this.message = init.message ?? null;
|
|
29
34
|
this.customerEmail = init.customerEmail ?? null;
|
|
30
35
|
this.downloadUrl = init.downloadUrl ?? null;
|
|
36
|
+
this.downloadCiphertext = init.downloadCiphertext ?? null;
|
|
37
|
+
this.templateHash = init.templateHash ?? null;
|
|
38
|
+
this.canonicalJson = init.canonicalJson ?? null;
|
|
31
39
|
}
|
|
32
40
|
static deliveredToApp(response, templateContent) {
|
|
33
41
|
const receiptCount = (Array.isArray(response.createdReceipts) ? response.createdReceipts.length : undefined) ??
|
|
@@ -62,6 +70,42 @@ export class ReceiptResult {
|
|
|
62
70
|
message: "Receipt available for self-service download"
|
|
63
71
|
});
|
|
64
72
|
}
|
|
73
|
+
static deliveredViaClientDownload(response, templateHash, canonicalJson, downloadUrl) {
|
|
74
|
+
return new ReceiptResult({
|
|
75
|
+
success: true,
|
|
76
|
+
deliveryStatus: DeliveryStatus.DELIVERED_DOWNLOAD,
|
|
77
|
+
deliveryMethod: "DOWNLOAD",
|
|
78
|
+
customerFound: true,
|
|
79
|
+
receiptCount: 1,
|
|
80
|
+
response,
|
|
81
|
+
templateContent: canonicalJson,
|
|
82
|
+
templateHash,
|
|
83
|
+
canonicalJson,
|
|
84
|
+
downloadUrl,
|
|
85
|
+
message: "Receipt available through an encrypted download link"
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
static pendingDownloadTemplate(downloadUrl, message) {
|
|
89
|
+
return new ReceiptResult({
|
|
90
|
+
success: true,
|
|
91
|
+
deliveryStatus: DeliveryStatus.PENDING_DOWNLOAD_TEMPLATE,
|
|
92
|
+
deliveryMethod: "DOWNLOAD",
|
|
93
|
+
downloadUrl,
|
|
94
|
+
message
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
static pendingDownloadUpload(downloadUrl, downloadCiphertext, templateHash, canonicalJson, message) {
|
|
98
|
+
return new ReceiptResult({
|
|
99
|
+
success: true,
|
|
100
|
+
deliveryStatus: DeliveryStatus.PENDING_DOWNLOAD_UPLOAD,
|
|
101
|
+
deliveryMethod: "DOWNLOAD",
|
|
102
|
+
downloadUrl,
|
|
103
|
+
downloadCiphertext,
|
|
104
|
+
templateHash,
|
|
105
|
+
canonicalJson,
|
|
106
|
+
message
|
|
107
|
+
});
|
|
108
|
+
}
|
|
65
109
|
static deliveredViaEmail(customerEmail) {
|
|
66
110
|
return new ReceiptResult({
|
|
67
111
|
success: true,
|
|
@@ -106,6 +150,9 @@ export class ReceiptResult {
|
|
|
106
150
|
getDownloadUrl() {
|
|
107
151
|
return this.downloadUrl;
|
|
108
152
|
}
|
|
153
|
+
getDownloadCiphertext() { return this.downloadCiphertext; }
|
|
154
|
+
getTemplateHash() { return this.templateHash; }
|
|
155
|
+
getCanonicalJson() { return this.canonicalJson; }
|
|
109
156
|
getMessage() {
|
|
110
157
|
return this.message;
|
|
111
158
|
}
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE,QAAQ;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ export declare class ReceiptService {
|
|
|
6
6
|
private readonly apiClient;
|
|
7
7
|
private readonly encryptionService;
|
|
8
8
|
private readonly matchingService;
|
|
9
|
-
|
|
9
|
+
private readonly receiptDownloadBaseUrl;
|
|
10
|
+
constructor(apiClient: Pick<CheqiApiClient, "generateReceiptTemplate" | "sendEncryptedReceipts" | "sendReceiptViaEmail" | "uploadClientEncryptedReceipt">, encryptionService: EncryptionService, matchingService: MatchingService, receiptDownloadBaseUrl?: string | null);
|
|
10
11
|
processCompleteReceipt(identificationDetails: IdentificationDetails, receiptRequest: ReceiptTemplateRequest, accessToken?: string | null, notificationDisplayCode?: NotificationDisplayCode | null): Promise<ReceiptResult>;
|
|
11
12
|
generateReceiptTemplate(request: ReceiptTemplateGenerationRequest, accessToken?: string | null): Promise<ReceiptTemplateResponse>;
|
|
12
13
|
createEncryptedReceipts(purchaseReceipt: string, recipient: MatchedRecipient, notificationDisplayCode?: NotificationDisplayCode | null): EncryptedReceiptRequest;
|
|
@@ -22,6 +23,8 @@ export declare class ReceiptService {
|
|
|
22
23
|
* download id — a bug in the integration; do not regenerate the id or retry.
|
|
23
24
|
*/
|
|
24
25
|
uploadClientEncryptedReceipt(request: ClientReceiptDownloadRequest, accessToken?: string | null): Promise<ClientReceiptDownloadResponse>;
|
|
26
|
+
private deliverClientEncryptedDownload;
|
|
27
|
+
private createDownloadLink;
|
|
25
28
|
private buildEncryptedReceipts;
|
|
26
29
|
private validateProcessInputs;
|
|
27
30
|
}
|
package/dist/services/receipt.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CheqiSDKError, ErrorCodes, ReceiptProcessingError } from "../errors.js";
|
|
2
|
+
import { buildDownloadEnvelope, encryptDownloadEnvelope, generateDownloadLink } from "../download/index.js";
|
|
2
3
|
import { ReceiptResult } from "../models.js";
|
|
3
4
|
import { isValidEmail, serializeJson, sha256Hex } from "../utils.js";
|
|
4
5
|
function uniqueFormats(recipients = []) {
|
|
@@ -24,16 +25,30 @@ export class ReceiptService {
|
|
|
24
25
|
apiClient;
|
|
25
26
|
encryptionService;
|
|
26
27
|
matchingService;
|
|
27
|
-
|
|
28
|
+
receiptDownloadBaseUrl;
|
|
29
|
+
constructor(apiClient, encryptionService, matchingService, receiptDownloadBaseUrl = null) {
|
|
28
30
|
this.apiClient = apiClient;
|
|
29
31
|
this.encryptionService = encryptionService;
|
|
30
32
|
this.matchingService = matchingService;
|
|
33
|
+
this.receiptDownloadBaseUrl = receiptDownloadBaseUrl;
|
|
31
34
|
}
|
|
32
35
|
async processCompleteReceipt(identificationDetails, receiptRequest, accessToken = null, notificationDisplayCode = null) {
|
|
33
36
|
this.validateProcessInputs(identificationDetails, receiptRequest);
|
|
34
37
|
try {
|
|
35
|
-
|
|
38
|
+
let matchResponse;
|
|
39
|
+
try {
|
|
40
|
+
matchResponse = await this.matchingService.matchCustomer(identificationDetails, accessToken);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (isDeferredFailure(error)) {
|
|
44
|
+
return ReceiptResult.pendingDownloadTemplate(this.createDownloadLink().url, errorMessage(error));
|
|
45
|
+
}
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
36
48
|
const recipientEmail = identificationDetails.recipientEmail;
|
|
49
|
+
if (routeFound(matchResponse) && matchResponse.deliveryRouteType == null) {
|
|
50
|
+
throw new CheqiSDKError("Matching response did not include deliveryRouteType; refusing legacy fallback-compatible submission", { errorCode: ErrorCodes.INVALID_RESPONSE });
|
|
51
|
+
}
|
|
37
52
|
if (!routeFound(matchResponse) && !recipientEmail) {
|
|
38
53
|
return ReceiptResult.customerNotFound();
|
|
39
54
|
}
|
|
@@ -44,8 +59,20 @@ export class ReceiptService {
|
|
|
44
59
|
buyerType: getRequestBuyerType(receiptRequest) ?? matchResponse.buyerType,
|
|
45
60
|
taxesApplied: resolveTaxesApplied(receiptRequest)
|
|
46
61
|
};
|
|
47
|
-
|
|
62
|
+
let templateResponse;
|
|
63
|
+
try {
|
|
64
|
+
templateResponse = await this.generateReceiptTemplate(templateGenerationRequest, accessToken);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (isDeferredFailure(error)) {
|
|
68
|
+
return ReceiptResult.pendingDownloadTemplate(this.createDownloadLink().url, errorMessage(error));
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
48
72
|
if (routeFound(matchResponse)) {
|
|
73
|
+
if (matchResponse.deliveryRouteType === "DOWNLOAD_FALLBACK") {
|
|
74
|
+
return this.deliverClientEncryptedDownload(this.createDownloadLink(), templateResponse, accessToken);
|
|
75
|
+
}
|
|
49
76
|
const encryptedReceipts = this.buildEncryptedReceipts(matchResponse, templateResponse, notificationDisplayCode);
|
|
50
77
|
const templateContent = templateResponse.cheqi
|
|
51
78
|
? serializeJson(templateResponse.cheqi)
|
|
@@ -150,6 +177,28 @@ export class ReceiptService {
|
|
|
150
177
|
}
|
|
151
178
|
return this.apiClient.uploadClientEncryptedReceipt(request, accessToken);
|
|
152
179
|
}
|
|
180
|
+
async deliverClientEncryptedDownload(link, templateResponse, accessToken) {
|
|
181
|
+
const envelope = buildDownloadEnvelope(templateResponse);
|
|
182
|
+
const canonicalJson = serializeJson(templateResponse.cheqi ?? {});
|
|
183
|
+
const templateHash = sha256Hex(canonicalJson);
|
|
184
|
+
const ciphertext = await encryptDownloadEnvelope(envelope, link.contentKey);
|
|
185
|
+
try {
|
|
186
|
+
const response = await this.uploadClientEncryptedReceipt({ downloadId: link.downloadId, ciphertext, templateHash }, accessToken);
|
|
187
|
+
return ReceiptResult.deliveredViaClientDownload(response, templateHash, canonicalJson, link.url);
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
if (isDeferredFailure(error)) {
|
|
191
|
+
return ReceiptResult.pendingDownloadUpload(link.url, ciphertext, templateHash, canonicalJson, errorMessage(error));
|
|
192
|
+
}
|
|
193
|
+
throw error;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
createDownloadLink() {
|
|
197
|
+
if (!this.receiptDownloadBaseUrl) {
|
|
198
|
+
throw new CheqiSDKError("Receipt download base URL is required for automatic encrypted fallback; configure a standard Environment or receiptDownloadBaseUrl", { errorCode: ErrorCodes.CONFIGURATION_ERROR });
|
|
199
|
+
}
|
|
200
|
+
return generateDownloadLink(this.receiptDownloadBaseUrl);
|
|
201
|
+
}
|
|
153
202
|
buildEncryptedReceipts(matchResponse, templateResponse, notificationDisplayCode) {
|
|
154
203
|
const encryptedReceipts = [];
|
|
155
204
|
for (const recipient of matchedRecipients(matchResponse)) {
|
|
@@ -186,6 +235,20 @@ export class ReceiptService {
|
|
|
186
235
|
}
|
|
187
236
|
}
|
|
188
237
|
}
|
|
238
|
+
function isDeferredFailure(error) {
|
|
239
|
+
let current = error;
|
|
240
|
+
while (current instanceof Error) {
|
|
241
|
+
if (current instanceof CheqiSDKError) {
|
|
242
|
+
return current.isNetworkError() || current.httpStatusCode === 408 || current.httpStatusCode === 429 ||
|
|
243
|
+
current.httpStatusCode >= 500;
|
|
244
|
+
}
|
|
245
|
+
current = current.cause;
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
function errorMessage(error) {
|
|
250
|
+
return error instanceof Error ? error.message : String(error);
|
|
251
|
+
}
|
|
189
252
|
function enrichWithVatContext(request, matchResponse) {
|
|
190
253
|
return {
|
|
191
254
|
...request,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/services/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgB7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUrE,SAAS,aAAa,CAAC,aAAiC,EAAE;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;IACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,aAA0C;IAC5D,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,IAAK,aAA6C,CAAC,aAAa,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,iBAAiB,CAAC,aAA0C;IACnE,OAAO,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,cAAc;IAEN;IAIA;IACA;
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/services/receipt.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED