passkit-wallet 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +190 -0
  2. package/dist/apple/index.d.ts +7 -0
  3. package/dist/apple/index.d.ts.map +1 -0
  4. package/dist/apple/index.js +5 -0
  5. package/dist/apple/index.js.map +1 -0
  6. package/dist/apple/order.d.ts +40 -0
  7. package/dist/apple/order.d.ts.map +1 -0
  8. package/dist/apple/order.js +127 -0
  9. package/dist/apple/order.js.map +1 -0
  10. package/dist/apple/pass.d.ts +36 -0
  11. package/dist/apple/pass.d.ts.map +1 -0
  12. package/dist/apple/pass.js +44 -0
  13. package/dist/apple/pass.js.map +1 -0
  14. package/dist/apple/push.d.ts +14 -0
  15. package/dist/apple/push.d.ts.map +1 -0
  16. package/dist/apple/push.js +37 -0
  17. package/dist/apple/push.js.map +1 -0
  18. package/dist/apple/registration.d.ts +41 -0
  19. package/dist/apple/registration.d.ts.map +1 -0
  20. package/dist/apple/registration.js +40 -0
  21. package/dist/apple/registration.js.map +1 -0
  22. package/dist/apple/types.d.ts +110 -0
  23. package/dist/apple/types.d.ts.map +1 -0
  24. package/dist/apple/types.js +2 -0
  25. package/dist/apple/types.js.map +1 -0
  26. package/dist/common/config.d.ts +247 -0
  27. package/dist/common/config.d.ts.map +1 -0
  28. package/dist/common/config.js +58 -0
  29. package/dist/common/config.js.map +1 -0
  30. package/dist/common/types.d.ts +54 -0
  31. package/dist/common/types.d.ts.map +1 -0
  32. package/dist/common/types.js +20 -0
  33. package/dist/common/types.js.map +1 -0
  34. package/dist/google/index.d.ts +4 -0
  35. package/dist/google/index.d.ts.map +1 -0
  36. package/dist/google/index.js +3 -0
  37. package/dist/google/index.js.map +1 -0
  38. package/dist/google/pass.d.ts +147 -0
  39. package/dist/google/pass.d.ts.map +1 -0
  40. package/dist/google/pass.js +269 -0
  41. package/dist/google/pass.js.map +1 -0
  42. package/dist/google/push.d.ts +15 -0
  43. package/dist/google/push.d.ts.map +1 -0
  44. package/dist/google/push.js +22 -0
  45. package/dist/google/push.js.map +1 -0
  46. package/dist/google/types.d.ts +58 -0
  47. package/dist/google/types.d.ts.map +1 -0
  48. package/dist/google/types.js +2 -0
  49. package/dist/google/types.js.map +1 -0
  50. package/dist/index.d.ts +71 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +74 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/react/AddToAppleWallet.d.ts +20 -0
  55. package/dist/react/AddToAppleWallet.d.ts.map +1 -0
  56. package/dist/react/AddToAppleWallet.js +10 -0
  57. package/dist/react/AddToAppleWallet.js.map +1 -0
  58. package/dist/react/AddToGoogleWallet.d.ts +20 -0
  59. package/dist/react/AddToGoogleWallet.d.ts.map +1 -0
  60. package/dist/react/AddToGoogleWallet.js +10 -0
  61. package/dist/react/AddToGoogleWallet.js.map +1 -0
  62. package/dist/react/index.d.ts +5 -0
  63. package/dist/react/index.d.ts.map +1 -0
  64. package/dist/react/index.js +3 -0
  65. package/dist/react/index.js.map +1 -0
  66. package/package.json +56 -0
@@ -0,0 +1,110 @@
1
+ export interface OrderInstance {
2
+ schemaVersion: number;
3
+ orderTypeIdentifier: string;
4
+ orderIdentifier: string;
5
+ orderType: string;
6
+ orderNumber: string;
7
+ createdAt: string;
8
+ updatedAt: string;
9
+ status: string;
10
+ changeNotifications: string;
11
+ webServiceURL: string;
12
+ authenticationToken?: string;
13
+ merchant: Merchant;
14
+ payment?: Payment;
15
+ lineItems?: LineItem[];
16
+ statusDescription: string;
17
+ orderManagementURL: string;
18
+ fulfillments?: Fulfillment[];
19
+ }
20
+ export interface Merchant {
21
+ displayName: string;
22
+ merchantIdentifier: string;
23
+ logo: string;
24
+ url: string;
25
+ }
26
+ export interface Payment {
27
+ status: string;
28
+ total: MoneyAmount;
29
+ summaryItems: SummaryItem[];
30
+ paymentMethods?: string[];
31
+ }
32
+ export interface MoneyAmount {
33
+ amount: number;
34
+ currency: string;
35
+ }
36
+ export interface SummaryItem {
37
+ label: string;
38
+ value: MoneyAmount;
39
+ }
40
+ export interface LineItem {
41
+ image: string;
42
+ price: MoneyAmount;
43
+ quantity: number;
44
+ subtitle?: string;
45
+ title: string;
46
+ }
47
+ export interface Fulfillment {
48
+ fulfillmentIdentifier: string;
49
+ status: string;
50
+ fulfillmentType: "shipping" | "pickup";
51
+ trackingNumber?: string;
52
+ estimatedDeliveryAt?: string;
53
+ notes?: string;
54
+ }
55
+ /** Options for creating a coupon-style Apple Wallet pass. */
56
+ export interface AppleCouponPassOptions {
57
+ code: string;
58
+ offerTitle: string;
59
+ /** URL encoded into the QR code barcode */
60
+ qrCodeUrl: string;
61
+ /** Optional back-of-pass fields */
62
+ backFields?: {
63
+ key: string;
64
+ label: string;
65
+ value: string;
66
+ }[];
67
+ }
68
+ /** Options for mounting an Apple order instance body. */
69
+ export interface AppleOrderOptions {
70
+ orderNumber: string;
71
+ currency: string;
72
+ totals: {
73
+ grandTotal: number;
74
+ subTotal: number;
75
+ shipping: number;
76
+ tax: number;
77
+ tip: number;
78
+ };
79
+ orderItems: {
80
+ image: string;
81
+ price: number;
82
+ quantity: number;
83
+ productName: string;
84
+ variantName?: string;
85
+ }[];
86
+ customer: {
87
+ emailAddress: string;
88
+ familyName?: string;
89
+ givenName?: string;
90
+ organizationName?: string;
91
+ phoneNumber?: string;
92
+ };
93
+ orderStatus?: string;
94
+ paymentStatus?: string;
95
+ fulfillments?: Fulfillment[];
96
+ /** URL for order management page. If omitted, no link is added. */
97
+ orderManagementURL?: string;
98
+ }
99
+ /** Options for Apple push notifications. */
100
+ export interface ApplePushOptions {
101
+ /** PEM-encoded certificate */
102
+ certificate: string;
103
+ /** PEM-encoded private key */
104
+ privateKey: string;
105
+ /** Key password */
106
+ passphrase?: string;
107
+ /** Use production APN gateway (default: true) */
108
+ production?: boolean;
109
+ }
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/apple/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/apple/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,247 @@
1
+ import { z } from "zod";
2
+ export declare const applePassConfigSchema: z.ZodObject<{
3
+ /** e.g. "pass.com.yourcompany" */
4
+ passTypeIdentifier: z.ZodString;
5
+ teamIdentifier: z.ZodString;
6
+ /** PEM-encoded pass certificate */
7
+ certificate: z.ZodString;
8
+ /** PEM-encoded private key */
9
+ privateKey: z.ZodString;
10
+ /** Password for the private key (optional) */
11
+ keyPassword: z.ZodOptional<z.ZodString>;
12
+ /** WWDR intermediate certificate (PEM) */
13
+ wwdrCertificate: z.ZodString;
14
+ /** Base URL for the web service that handles pass updates */
15
+ webServiceURL: z.ZodString;
16
+ /** Shared secret used to authenticate web service requests */
17
+ authenticationToken: z.ZodString;
18
+ /** Path to your .pass bundle directory */
19
+ passTemplatePath: z.ZodString;
20
+ /** Allow HTTP for development (default: false) */
21
+ allowHttp: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ passTypeIdentifier: string;
24
+ teamIdentifier: string;
25
+ certificate: string;
26
+ privateKey: string;
27
+ wwdrCertificate: string;
28
+ webServiceURL: string;
29
+ authenticationToken: string;
30
+ passTemplatePath: string;
31
+ allowHttp: boolean;
32
+ keyPassword?: string | undefined;
33
+ }, {
34
+ passTypeIdentifier: string;
35
+ teamIdentifier: string;
36
+ certificate: string;
37
+ privateKey: string;
38
+ wwdrCertificate: string;
39
+ webServiceURL: string;
40
+ authenticationToken: string;
41
+ passTemplatePath: string;
42
+ keyPassword?: string | undefined;
43
+ allowHttp?: boolean | undefined;
44
+ }>;
45
+ export type ApplePassConfig = z.infer<typeof applePassConfigSchema>;
46
+ export declare const appleOrderConfigSchema: z.ZodObject<{
47
+ /** e.g. "order.com.yourcompany" */
48
+ orderTypeIdentifier: z.ZodString;
49
+ /** PEM-encoded order certificate */
50
+ certificate: z.ZodString;
51
+ /** PEM-encoded private key */
52
+ privateKey: z.ZodString;
53
+ /** Password for the private key (optional) */
54
+ keyPassword: z.ZodOptional<z.ZodString>;
55
+ /** WWDR G5 intermediate certificate (PEM) */
56
+ wwdrCertificate: z.ZodString;
57
+ /** Base URL for the web service that handles order updates */
58
+ webServiceURL: z.ZodString;
59
+ /** Shared secret for order authentication */
60
+ authenticationToken: z.ZodString;
61
+ /** Path to your model.order bundle directory */
62
+ orderModelPath: z.ZodString;
63
+ }, "strip", z.ZodTypeAny, {
64
+ certificate: string;
65
+ privateKey: string;
66
+ wwdrCertificate: string;
67
+ webServiceURL: string;
68
+ authenticationToken: string;
69
+ orderTypeIdentifier: string;
70
+ orderModelPath: string;
71
+ keyPassword?: string | undefined;
72
+ }, {
73
+ certificate: string;
74
+ privateKey: string;
75
+ wwdrCertificate: string;
76
+ webServiceURL: string;
77
+ authenticationToken: string;
78
+ orderTypeIdentifier: string;
79
+ orderModelPath: string;
80
+ keyPassword?: string | undefined;
81
+ }>;
82
+ export type AppleOrderConfig = z.infer<typeof appleOrderConfigSchema>;
83
+ export declare const appleClientConfigSchema: z.ZodObject<{
84
+ pass: z.ZodOptional<z.ZodObject<{
85
+ /** e.g. "pass.com.yourcompany" */
86
+ passTypeIdentifier: z.ZodString;
87
+ teamIdentifier: z.ZodString;
88
+ /** PEM-encoded pass certificate */
89
+ certificate: z.ZodString;
90
+ /** PEM-encoded private key */
91
+ privateKey: z.ZodString;
92
+ /** Password for the private key (optional) */
93
+ keyPassword: z.ZodOptional<z.ZodString>;
94
+ /** WWDR intermediate certificate (PEM) */
95
+ wwdrCertificate: z.ZodString;
96
+ /** Base URL for the web service that handles pass updates */
97
+ webServiceURL: z.ZodString;
98
+ /** Shared secret used to authenticate web service requests */
99
+ authenticationToken: z.ZodString;
100
+ /** Path to your .pass bundle directory */
101
+ passTemplatePath: z.ZodString;
102
+ /** Allow HTTP for development (default: false) */
103
+ allowHttp: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
104
+ }, "strip", z.ZodTypeAny, {
105
+ passTypeIdentifier: string;
106
+ teamIdentifier: string;
107
+ certificate: string;
108
+ privateKey: string;
109
+ wwdrCertificate: string;
110
+ webServiceURL: string;
111
+ authenticationToken: string;
112
+ passTemplatePath: string;
113
+ allowHttp: boolean;
114
+ keyPassword?: string | undefined;
115
+ }, {
116
+ passTypeIdentifier: string;
117
+ teamIdentifier: string;
118
+ certificate: string;
119
+ privateKey: string;
120
+ wwdrCertificate: string;
121
+ webServiceURL: string;
122
+ authenticationToken: string;
123
+ passTemplatePath: string;
124
+ keyPassword?: string | undefined;
125
+ allowHttp?: boolean | undefined;
126
+ }>>;
127
+ order: z.ZodOptional<z.ZodObject<{
128
+ /** e.g. "order.com.yourcompany" */
129
+ orderTypeIdentifier: z.ZodString;
130
+ /** PEM-encoded order certificate */
131
+ certificate: z.ZodString;
132
+ /** PEM-encoded private key */
133
+ privateKey: z.ZodString;
134
+ /** Password for the private key (optional) */
135
+ keyPassword: z.ZodOptional<z.ZodString>;
136
+ /** WWDR G5 intermediate certificate (PEM) */
137
+ wwdrCertificate: z.ZodString;
138
+ /** Base URL for the web service that handles order updates */
139
+ webServiceURL: z.ZodString;
140
+ /** Shared secret for order authentication */
141
+ authenticationToken: z.ZodString;
142
+ /** Path to your model.order bundle directory */
143
+ orderModelPath: z.ZodString;
144
+ }, "strip", z.ZodTypeAny, {
145
+ certificate: string;
146
+ privateKey: string;
147
+ wwdrCertificate: string;
148
+ webServiceURL: string;
149
+ authenticationToken: string;
150
+ orderTypeIdentifier: string;
151
+ orderModelPath: string;
152
+ keyPassword?: string | undefined;
153
+ }, {
154
+ certificate: string;
155
+ privateKey: string;
156
+ wwdrCertificate: string;
157
+ webServiceURL: string;
158
+ authenticationToken: string;
159
+ orderTypeIdentifier: string;
160
+ orderModelPath: string;
161
+ keyPassword?: string | undefined;
162
+ }>>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ pass?: {
165
+ passTypeIdentifier: string;
166
+ teamIdentifier: string;
167
+ certificate: string;
168
+ privateKey: string;
169
+ wwdrCertificate: string;
170
+ webServiceURL: string;
171
+ authenticationToken: string;
172
+ passTemplatePath: string;
173
+ allowHttp: boolean;
174
+ keyPassword?: string | undefined;
175
+ } | undefined;
176
+ order?: {
177
+ certificate: string;
178
+ privateKey: string;
179
+ wwdrCertificate: string;
180
+ webServiceURL: string;
181
+ authenticationToken: string;
182
+ orderTypeIdentifier: string;
183
+ orderModelPath: string;
184
+ keyPassword?: string | undefined;
185
+ } | undefined;
186
+ }, {
187
+ pass?: {
188
+ passTypeIdentifier: string;
189
+ teamIdentifier: string;
190
+ certificate: string;
191
+ privateKey: string;
192
+ wwdrCertificate: string;
193
+ webServiceURL: string;
194
+ authenticationToken: string;
195
+ passTemplatePath: string;
196
+ keyPassword?: string | undefined;
197
+ allowHttp?: boolean | undefined;
198
+ } | undefined;
199
+ order?: {
200
+ certificate: string;
201
+ privateKey: string;
202
+ wwdrCertificate: string;
203
+ webServiceURL: string;
204
+ authenticationToken: string;
205
+ orderTypeIdentifier: string;
206
+ orderModelPath: string;
207
+ keyPassword?: string | undefined;
208
+ } | undefined;
209
+ }>;
210
+ export type AppleClientConfig = z.infer<typeof appleClientConfigSchema>;
211
+ export declare const googleClientConfigSchema: z.ZodObject<{
212
+ /** Your Google Wallet issuer ID */
213
+ issuerId: z.ZodString;
214
+ /** Google service account credentials (parsed JSON) */
215
+ credentials: z.ZodObject<{
216
+ client_email: z.ZodString;
217
+ private_key: z.ZodString;
218
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
219
+ client_email: z.ZodString;
220
+ private_key: z.ZodString;
221
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
222
+ client_email: z.ZodString;
223
+ private_key: z.ZodString;
224
+ }, z.ZodTypeAny, "passthrough">>;
225
+ /** Allowed origins for the "Save to Wallet" JWT */
226
+ origins: z.ZodArray<z.ZodString, "many">;
227
+ }, "strip", z.ZodTypeAny, {
228
+ issuerId: string;
229
+ credentials: {
230
+ client_email: string;
231
+ private_key: string;
232
+ } & {
233
+ [k: string]: unknown;
234
+ };
235
+ origins: string[];
236
+ }, {
237
+ issuerId: string;
238
+ credentials: {
239
+ client_email: string;
240
+ private_key: string;
241
+ } & {
242
+ [k: string]: unknown;
243
+ };
244
+ origins: string[];
245
+ }>;
246
+ export type GoogleClientConfig = z.infer<typeof googleClientConfigSchema>;
247
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,qBAAqB;IAChC,kCAAkC;;;IAGlC,mCAAmC;;IAEnC,8BAA8B;;IAE9B,8CAA8C;;IAE9C,0CAA0C;;IAE1C,6DAA6D;;IAE7D,8DAA8D;;IAE9D,0CAA0C;;IAE1C,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;EAElD,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,eAAO,MAAM,sBAAsB;IACjC,mCAAmC;;IAEnC,oCAAoC;;IAEpC,8BAA8B;;IAE9B,8CAA8C;;IAE9C,6CAA6C;;IAE7C,8DAA8D;;IAE9D,6CAA6C;;IAE7C,gDAAgD;;;;;;;;;;;;;;;;;;;;EAEhD,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,uBAAuB;;QA5ClC,kCAAkC;;;QAGlC,mCAAmC;;QAEnC,8BAA8B;;QAE9B,8CAA8C;;QAE9C,0CAA0C;;QAE1C,6DAA6D;;QAE7D,8DAA8D;;QAE9D,0CAA0C;;QAE1C,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;QAOlD,mCAAmC;;QAEnC,oCAAoC;;QAEpC,8BAA8B;;QAE9B,8CAA8C;;QAE9C,6CAA6C;;QAE7C,8DAA8D;;QAE9D,6CAA6C;;QAE7C,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAShD,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAIvE,eAAO,MAAM,wBAAwB;IACnC,mCAAmC;;IAEnC,uDAAuD;;;;;;;;;;;IAKvD,mDAAmD;;;;;;;;;;;;;;;;;;;;EAEnD,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { z } from "zod";
2
+ // ── Apple Wallet client config ──────────────────────────────────────────
3
+ export const applePassConfigSchema = z.object({
4
+ /** e.g. "pass.com.yourcompany" */
5
+ passTypeIdentifier: z.string(),
6
+ teamIdentifier: z.string(),
7
+ /** PEM-encoded pass certificate */
8
+ certificate: z.string(),
9
+ /** PEM-encoded private key */
10
+ privateKey: z.string(),
11
+ /** Password for the private key (optional) */
12
+ keyPassword: z.string().optional(),
13
+ /** WWDR intermediate certificate (PEM) */
14
+ wwdrCertificate: z.string(),
15
+ /** Base URL for the web service that handles pass updates */
16
+ webServiceURL: z.string().url(),
17
+ /** Shared secret used to authenticate web service requests */
18
+ authenticationToken: z.string(),
19
+ /** Path to your .pass bundle directory */
20
+ passTemplatePath: z.string(),
21
+ /** Allow HTTP for development (default: false) */
22
+ allowHttp: z.boolean().optional().default(false),
23
+ });
24
+ export const appleOrderConfigSchema = z.object({
25
+ /** e.g. "order.com.yourcompany" */
26
+ orderTypeIdentifier: z.string(),
27
+ /** PEM-encoded order certificate */
28
+ certificate: z.string(),
29
+ /** PEM-encoded private key */
30
+ privateKey: z.string(),
31
+ /** Password for the private key (optional) */
32
+ keyPassword: z.string().optional(),
33
+ /** WWDR G5 intermediate certificate (PEM) */
34
+ wwdrCertificate: z.string(),
35
+ /** Base URL for the web service that handles order updates */
36
+ webServiceURL: z.string().url(),
37
+ /** Shared secret for order authentication */
38
+ authenticationToken: z.string(),
39
+ /** Path to your model.order bundle directory */
40
+ orderModelPath: z.string(),
41
+ });
42
+ export const appleClientConfigSchema = z.object({
43
+ pass: applePassConfigSchema.optional(),
44
+ order: appleOrderConfigSchema.optional(),
45
+ });
46
+ // ── Google Wallet client config ─────────────────────────────────────────
47
+ export const googleClientConfigSchema = z.object({
48
+ /** Your Google Wallet issuer ID */
49
+ issuerId: z.string(),
50
+ /** Google service account credentials (parsed JSON) */
51
+ credentials: z.object({
52
+ client_email: z.string(),
53
+ private_key: z.string(),
54
+ }).passthrough(),
55
+ /** Allowed origins for the "Save to Wallet" JWT */
56
+ origins: z.array(z.string().url()),
57
+ });
58
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,2EAA2E;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,kCAAkC;IAClC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,mCAAmC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,8BAA8B;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,0CAA0C;IAC1C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,6DAA6D;IAC7D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,8DAA8D;IAC9D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,0CAA0C;IAC1C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,kDAAkD;IAClD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACjD,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,mCAAmC;IACnC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,oCAAoC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,8BAA8B;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,6CAA6C;IAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,8DAA8D;IAC9D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,6CAA6C;IAC7C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,gDAAgD;IAChD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA;AAIF,2EAA2E;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,mCAAmC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,uDAAuD;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC,CAAC,WAAW,EAAE;IAChB,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;CACnC,CAAC,CAAA"}
@@ -0,0 +1,54 @@
1
+ /** Order status values used across Apple and Google Wallet passes. */
2
+ export type OrderStatus = "PROCESSING" | "SHIPPED" | "DELIVERED" | "CANCELED" | "REFUNDED";
3
+ /** Translate a raw order status string to a normalized OrderStatus. */
4
+ export declare const translateOrderStatus: (status: string) => OrderStatus;
5
+ /** Data for mounting a coupon pass (used by both Apple and Google). */
6
+ export interface CouponPassData {
7
+ code: string;
8
+ offerTitle: string;
9
+ /** URL the QR code should point to. */
10
+ qrCodeUrl: string;
11
+ /** Optional back fields (Apple) or additional text modules (Google). */
12
+ backFields?: {
13
+ key: string;
14
+ label: string;
15
+ value: string;
16
+ }[];
17
+ }
18
+ /** Data for mounting an order. */
19
+ export interface OrderData {
20
+ orderNumber: string;
21
+ currency: string;
22
+ totals: {
23
+ grandTotal: number;
24
+ subTotal: number;
25
+ shipping: number;
26
+ tax: number;
27
+ tip: number;
28
+ };
29
+ orderItems: {
30
+ image: string;
31
+ price: number;
32
+ quantity: number;
33
+ productName: string;
34
+ variantName?: string;
35
+ }[];
36
+ customer: {
37
+ emailAddress: string;
38
+ familyName?: string;
39
+ givenName?: string;
40
+ organizationName?: string;
41
+ phoneNumber?: string;
42
+ };
43
+ orderStatus?: string;
44
+ paymentStatus?: string;
45
+ fulfillments?: {
46
+ fulfillmentIdentifier: string;
47
+ status: string;
48
+ fulfillmentType: "shipping" | "pickup";
49
+ trackingNumber?: string;
50
+ estimatedDeliveryAt?: string;
51
+ notes?: string;
52
+ }[];
53
+ }
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,CAAA;AAEd,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,WAiBrD,CAAA;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC7D;AAED,kCAAkC;AAClC,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,EAAE,CAAA;IACH,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE;QACb,qBAAqB,EAAE,MAAM,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,UAAU,GAAG,QAAQ,CAAA;QACtC,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,EAAE,CAAA;CACJ"}
@@ -0,0 +1,20 @@
1
+ /** Translate a raw order status string to a normalized OrderStatus. */
2
+ export const translateOrderStatus = (status) => {
3
+ switch (status) {
4
+ case "REFUNDED":
5
+ return "REFUNDED";
6
+ case "SHIPPED":
7
+ return "SHIPPED";
8
+ case "CANCELED":
9
+ return "CANCELED";
10
+ case "COMPLETED":
11
+ return "DELIVERED";
12
+ case "CREATED":
13
+ case "CLOSED":
14
+ case "PROCESSING":
15
+ case "HOLD":
16
+ default:
17
+ return "PROCESSING";
18
+ }
19
+ };
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAQA,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAe,EAAE;IAClE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,UAAU,CAAA;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;QAClB,KAAK,UAAU;YACb,OAAO,UAAU,CAAA;QACnB,KAAK,WAAW;YACd,OAAO,WAAW,CAAA;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,YAAY,CAAA;IACvB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { loadClient, getClass, createClass, updateClass, updateObject, getSignedURL, mountOfferClassBody, mountOfferObjectBody, mountOrderClassBody, mountOrderObjectBody, } from "./pass.js";
2
+ export { sendObjectMessage } from "./push.js";
3
+ export type { GoogleReviewStatus, GoogleObjectState, GoogleClassType, GoogleObjectType, GoogleSaveType, GoogleOfferClassOptions, GoogleOfferObjectOptions, GoogleOrderClassOptions, GoogleOrderObjectOptions, } from "./types.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/google/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { loadClient, getClass, createClass, updateClass, updateObject, getSignedURL, mountOfferClassBody, mountOfferObjectBody, mountOrderClassBody, mountOrderObjectBody, } from "./pass.js";
2
+ export { sendObjectMessage } from "./push.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/google/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA"}