@zappie/verify 0.1.3 → 0.2.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 (33) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +18 -1
  3. package/dist/{category-page-UBHOB5IN.js → category-page-I3HDIAJA.js} +7 -3
  4. package/dist/category-page-I3HDIAJA.js.map +1 -0
  5. package/dist/chunk-47RIF6JW.js +2807 -0
  6. package/dist/chunk-47RIF6JW.js.map +1 -0
  7. package/dist/{debug-C3UDGUED.js → debug-LOXPIQRS.js} +1 -1
  8. package/dist/debug-LOXPIQRS.js.map +1 -0
  9. package/dist/index.d.ts +55 -5
  10. package/dist/index.js +1133 -2386
  11. package/dist/index.js.map +1 -1
  12. package/dist/presentation-TKOXOILG.js +68 -0
  13. package/dist/presentation-TKOXOILG.js.map +1 -0
  14. package/dist/quote-body-S5LELT7L.js +24 -0
  15. package/dist/quote-body-S5LELT7L.js.map +1 -0
  16. package/dist/{quote-client-6XJJHITL.js → quote-client-4RUY3TKQ.js} +84 -6
  17. package/dist/quote-client-4RUY3TKQ.js.map +1 -0
  18. package/dist/{search-YIHT6CXN.js → search-OF62VKI3.js} +7 -2
  19. package/dist/search-OF62VKI3.js.map +1 -0
  20. package/dist/{selected-menu-3GCAICBQ.js → selected-menu-AQHWDELR.js} +9 -4
  21. package/dist/selected-menu-AQHWDELR.js.map +1 -0
  22. package/dist/{store-KIO5RCZO.js → store-OPM3OFLC.js} +20 -9
  23. package/dist/store-OPM3OFLC.js.map +1 -0
  24. package/package.json +2 -2
  25. package/schema/verify-report.v1.json +19 -1
  26. package/dist/category-page-UBHOB5IN.js.map +0 -1
  27. package/dist/chunk-WUWUDCYO.js +0 -485
  28. package/dist/chunk-WUWUDCYO.js.map +0 -1
  29. package/dist/debug-C3UDGUED.js.map +0 -1
  30. package/dist/quote-client-6XJJHITL.js.map +0 -1
  31. package/dist/search-YIHT6CXN.js.map +0 -1
  32. package/dist/selected-menu-3GCAICBQ.js.map +0 -1
  33. package/dist/store-KIO5RCZO.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ // ../sdk/src/transport/presentation.ts
2
+ var object = (value, invalid) => {
3
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
4
+ throw invalid();
5
+ }
6
+ return value;
7
+ };
8
+ var array = (value, invalid) => {
9
+ if (!Array.isArray(value)) {
10
+ throw invalid();
11
+ }
12
+ return value;
13
+ };
14
+ var string = (value, invalid) => {
15
+ if (typeof value !== "string") {
16
+ throw invalid();
17
+ }
18
+ return value;
19
+ };
20
+ function presentStore(store, value, invalid) {
21
+ const source = value;
22
+ source.branches.forEach((raw, index) => {
23
+ const branch = store.branches[index];
24
+ if (raw.order_ahead_days !== void 0) {
25
+ if (!Number.isSafeInteger(raw.order_ahead_days) || Number(raw.order_ahead_days) < 0) {
26
+ throw invalid();
27
+ }
28
+ branch.orderAheadDays = raw.order_ahead_days;
29
+ }
30
+ if (raw.promos !== void 0) {
31
+ branch.promos = array(raw.promos, invalid).map((value2) => {
32
+ const promo = object(value2, invalid);
33
+ return {
34
+ id: string(promo.id, invalid),
35
+ name: string(promo.name, invalid),
36
+ description: string(promo.description, invalid)
37
+ };
38
+ });
39
+ }
40
+ });
41
+ return store;
42
+ }
43
+ function presentMenu(menu, value, invalid) {
44
+ value.menus.forEach((raw, index) => {
45
+ const section = menu.menus[index];
46
+ if (raw.layout !== void 0) {
47
+ if (!["LIST", "GRID", "CARD"].includes(raw.layout)) {
48
+ throw invalid();
49
+ }
50
+ section.layout = raw.layout;
51
+ }
52
+ if (raw.is_active !== void 0) {
53
+ if (typeof raw.is_active !== "boolean") {
54
+ throw invalid();
55
+ }
56
+ section.isActive = raw.is_active;
57
+ }
58
+ if (raw.info_banner_html !== void 0) {
59
+ section.infoBannerHtml = string(raw.info_banner_html, invalid);
60
+ }
61
+ });
62
+ return menu;
63
+ }
64
+ export {
65
+ presentMenu,
66
+ presentStore
67
+ };
68
+ //# sourceMappingURL=presentation-TKOXOILG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/presentation.ts"],"mappings":";AAKA,IAAM,SAAS,CAAC,OAAgB,YAAqB;AACnD,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AAC/D,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AACA,IAAM,QAAQ,CAAC,OAAgB,YAAqB;AAClD,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AACA,IAAM,SAAS,CAAC,OAAgB,YAAqB;AACnD,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AAEO,SAAS,aAAa,OAAc,OAAgB,SAAkB;AAC3E,QAAM,SAAS;AACf,EAAC,OAAO,SAAoB,QAAQ,CAAC,KAAK,UAAU;AAClD,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,IAAI,qBAAqB,QAAW;AACtC,UACE,CAAC,OAAO,cAAc,IAAI,gBAAgB,KAC1C,OAAO,IAAI,gBAAgB,IAAI,GAC/B;AACA,cAAM,QAAQ;AAAA,MAChB;AACA,aAAO,iBAAiB,IAAI;AAAA,IAC9B;AACA,QAAI,IAAI,WAAW,QAAW;AAC5B,aAAO,SAAS,MAAM,IAAI,QAAQ,OAAO,EAAE,IAAI,CAACA,WAAU;AACxD,cAAM,QAAQ,OAAOA,QAAO,OAAO;AACnC,eAAO;AAAA,UACL,IAAI,OAAO,MAAM,IAAI,OAAO;AAAA,UAC5B,MAAM,OAAO,MAAM,MAAM,OAAO;AAAA,UAChC,aAAa,OAAO,MAAM,aAAa,OAAO;AAAA,QAChD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAEO,SAAS,YAAY,MAAY,OAAgB,SAAkB;AACxE,EAAE,MAAe,MAAiB,QAAQ,CAAC,KAAK,UAAU;AACxD,UAAM,UAAU,KAAK,MAAO,KAAK;AACjC,QAAI,IAAI,WAAW,QAAW;AAC5B,UAAI,CAAC,CAAC,QAAQ,QAAQ,MAAM,EAAE,SAAS,IAAI,MAAgB,GAAG;AAC5D,cAAM,QAAQ;AAAA,MAChB;AACA,cAAQ,SAAS,IAAI;AAAA,IACvB;AACA,QAAI,IAAI,cAAc,QAAW;AAC/B,UAAI,OAAO,IAAI,cAAc,WAAW;AACtC,cAAM,QAAQ;AAAA,MAChB;AACA,cAAQ,WAAW,IAAI;AAAA,IACzB;AACA,QAAI,IAAI,qBAAqB,QAAW;AACtC,cAAQ,iBAAiB,OAAO,IAAI,kBAAkB,OAAO;AAAA,IAC/D;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":["value"]}
@@ -0,0 +1,24 @@
1
+ // ../sdk/src/transport/quote-body.ts
2
+ function quoteBody(body) {
3
+ const f = body.fulfilment;
4
+ if (!f) {
5
+ return body;
6
+ }
7
+ const { table: _table, address, ...fulfilment } = f;
8
+ if (!address) {
9
+ return { ...body, fulfilment };
10
+ }
11
+ const { line2: _line2, instructions, ...rest } = address;
12
+ return {
13
+ ...body,
14
+ fulfilment: {
15
+ ...fulfilment,
16
+ ...fulfilment.instructions === void 0 && instructions !== void 0 ? { instructions } : {},
17
+ address: rest
18
+ }
19
+ };
20
+ }
21
+ export {
22
+ quoteBody
23
+ };
24
+ //# sourceMappingURL=quote-body-S5LELT7L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/quote-body.ts"],"mappings":";AAGO,SAAS,UAAU,MAAkC;AAC1D,QAAM,IAAI,KAAK;AACf,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AACA,QAAM,EAAE,OAAO,QAAQ,SAAS,GAAG,WAAW,IAAI;AAClD,MAAI,CAAC,SAAS;AACZ,WAAO,EAAE,GAAG,MAAM,WAAW;AAAA,EAC/B;AACA,QAAM,EAAE,OAAO,QAAQ,cAAc,GAAG,KAAK,IAAI;AACjD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY;AAAA,MACV,GAAG;AAAA,MACH,GAAI,WAAW,iBAAiB,UAAa,iBAAiB,SAC1D,EAAE,aAAa,IACf,CAAC;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -4,8 +4,10 @@ import {
4
4
  money,
5
5
  payloadKey,
6
6
  record,
7
- sumMoney
8
- } from "./chunk-WUWUDCYO.js";
7
+ requestWithRetry,
8
+ sumMoney,
9
+ wireError
10
+ } from "./chunk-47RIF6JW.js";
9
11
 
10
12
  // ../sdk/src/cart/quote-response.ts
11
13
  function fail() {
@@ -30,6 +32,7 @@ function fix(value) {
30
32
  case "accept_price":
31
33
  case "remove_promo":
32
34
  case "change_address":
35
+ case "choose_region":
33
36
  return { action: v.action };
34
37
  case "choose_option":
35
38
  case "choose_other_option":
@@ -107,12 +110,30 @@ function mapQuote(value, branchId) {
107
110
  return fail();
108
111
  }
109
112
  const deliveryCharges = charges.filter((c) => c.code === "delivery");
113
+ const fees = charges.filter((c) => c.code !== "delivery");
114
+ const integer = (value2) => {
115
+ if (!Number.isSafeInteger(value2) || Number(value2) < 0) {
116
+ return fail();
117
+ }
118
+ return value2;
119
+ };
120
+ const fulfilment = v.fulfilment === void 0 ? void 0 : record(v.fulfilment);
121
+ if (v.menu_version_stale !== void 0 && typeof v.menu_version_stale !== "boolean") {
122
+ return fail();
123
+ }
110
124
  const lines = list(v.lines).map((raw) => {
111
125
  const l = record(raw);
112
126
  if ((l.unit_price == null || l.line_total == null) && v.lines_unpriced !== true) {
113
127
  return fail();
114
128
  }
115
129
  return {
130
+ ...l.item_id !== void 0 ? { itemId: text(l.item_id) } : {},
131
+ ...l.name !== void 0 ? { name: text(l.name) } : {},
132
+ ...l.quantity !== void 0 ? { quantity: integer(l.quantity) } : {},
133
+ ...l.status !== void 0 ? { status: text(l.status) } : {},
134
+ ...l.options_total !== void 0 ? {
135
+ optionsTotal: l.options_total === null ? null : amount(l.options_total)
136
+ } : {},
116
137
  lineId: text(l.line_id),
117
138
  unitPrice: l.unit_price == null ? null : amount(l.unit_price),
118
139
  total: l.line_total == null ? null : amount(l.line_total)
@@ -125,11 +146,24 @@ function mapQuote(value, branchId) {
125
146
  return fail();
126
147
  }
127
148
  return {
149
+ ...v.menu_version_stale !== void 0 ? { menuVersionStale: v.menu_version_stale } : {},
150
+ ...fulfilment ? {
151
+ fulfilment: {
152
+ type: text(fulfilment.type),
153
+ scheduledFor: fulfilment.scheduled_for === null ? null : text(fulfilment.scheduled_for),
154
+ ...fulfilment.eta_minutes !== void 0 ? { etaMinutes: list(fulfilment.eta_minutes).map(integer) } : {},
155
+ ...fulfilment.delivery_region_id !== void 0 ? { deliveryRegionId: text(fulfilment.delivery_region_id) } : {}
156
+ }
157
+ } : {},
128
158
  lines,
129
159
  ...v.lines_unpriced === true ? { linesUnpriced: true } : {},
130
160
  subtotal,
131
161
  total,
132
- fees: charges.filter((c) => c.code !== "delivery"),
162
+ fees,
163
+ feesTotal: sumMoney(
164
+ fees.map((c) => c.amount),
165
+ money(0, subtotal.currency)
166
+ ),
133
167
  discounts,
134
168
  ...deliveryCharges.length ? {
135
169
  delivery: sumMoney(
@@ -179,7 +213,51 @@ function mapQuote(value, branchId) {
179
213
  }
180
214
 
181
215
  // ../sdk/src/cart/quote-client.ts
182
- function createQuoteClient(transport, context) {
216
+ function customerQuoteBody(body) {
217
+ const value = body.fulfilment;
218
+ if (!value) {
219
+ return body;
220
+ }
221
+ const { table: _table, address, ...fulfilment } = value;
222
+ if (!address) {
223
+ return { ...body, fulfilment };
224
+ }
225
+ const { line2: _line2, instructions, ...rest } = address;
226
+ return {
227
+ ...body,
228
+ fulfilment: {
229
+ ...fulfilment,
230
+ ...fulfilment.instructions === void 0 && instructions !== void 0 ? { instructions } : {},
231
+ address: rest
232
+ }
233
+ };
234
+ }
235
+ function createQuoteClient(transport, context, options = {}) {
236
+ const customerBase = options.customerBase?.replace(/\/+$/, "");
237
+ const signedQuote = async (body, signal, idempotencyKey) => {
238
+ const response = await requestWithRetry(
239
+ options.fetch ?? globalThis.fetch,
240
+ `${customerBase}/quote`,
241
+ {
242
+ method: "POST",
243
+ headers: {
244
+ "Content-Type": "application/json",
245
+ "Idempotency-Key": idempotencyKey
246
+ },
247
+ body: JSON.stringify(customerQuoteBody(body)),
248
+ signal
249
+ },
250
+ "Could not reach the storefront quote service"
251
+ );
252
+ if (!response.ok) {
253
+ throw wireError(
254
+ await response.json().catch(() => ({})),
255
+ response.status,
256
+ response.headers.get("Zappie-Request-Id") ?? void 0
257
+ );
258
+ }
259
+ return await response.json();
260
+ };
183
261
  let controller;
184
262
  let sequence = 0;
185
263
  let cached;
@@ -207,7 +285,7 @@ function createQuoteClient(transport, context) {
207
285
  const promise = (async () => {
208
286
  const idempotencyKey = await payloadKey(key);
209
287
  signal.throwIfAborted();
210
- const raw = await transport.quote(
288
+ const raw = customerBase ? await signedQuote(body, signal, idempotencyKey) : await transport.quote(
211
289
  { ...context(), signal, idempotencyKey },
212
290
  body
213
291
  );
@@ -250,4 +328,4 @@ function createQuoteClient(transport, context) {
250
328
  export {
251
329
  createQuoteClient
252
330
  };
253
- //# sourceMappingURL=quote-client-6XJJHITL.js.map
331
+ //# sourceMappingURL=quote-client-4RUY3TKQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/cart/quote-response.ts","../../sdk/src/cart/quote-client.ts"],"mappings":"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","names":["value"]}
@@ -1,5 +1,6 @@
1
1
  // ../sdk/src/transport/search.ts
2
2
  async function searchPage(ctx, read, mapMenu, invalid) {
3
+ const presentation = import("./presentation-TKOXOILG.js");
3
4
  ctx.signal?.throwIfAborted();
4
5
  const query = new URLSearchParams({
5
6
  branch: ctx.branchId,
@@ -13,7 +14,11 @@ async function searchPage(ctx, read, mapMenu, invalid) {
13
14
  throw invalid();
14
15
  }
15
16
  const cursor = raw.next_cursor;
16
- const menu = mapMenu(raw, ctx.branchId);
17
+ const menu = (await presentation).presentMenu(
18
+ mapMenu(raw, ctx.branchId),
19
+ raw,
20
+ invalid
21
+ );
17
22
  if (Object.keys(menu.items).length > 25 || cursor != null && (typeof cursor !== "string" || !cursor || cursor === ctx.cursor) || Object.keys(menu.items).some(
18
23
  (id) => !menu.categories.some((category) => category.itemIds.includes(id))
19
24
  ) || menu.categories.some(
@@ -29,4 +34,4 @@ async function searchPage(ctx, read, mapMenu, invalid) {
29
34
  export {
30
35
  searchPage
31
36
  };
32
- //# sourceMappingURL=search-YIHT6CXN.js.map
37
+ //# sourceMappingURL=search-OF62VKI3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/search.ts"],"mappings":";AAIA,eAAsB,WACpB,KACA,MACA,SACA,SACqB;AACrB,QAAM,eAAe,OAAO,4BAAgB;AAC5C,MAAI,QAAQ,eAAe;AAC3B,QAAM,QAAQ,IAAI,gBAAgB;AAAA,IAChC,QAAQ,IAAI;AAAA,IACZ,OAAO,IAAI,MAAM,KAAK;AAAA,IACtB,OAAO;AAAA,IACP,GAAI,IAAI,SAAS,EAAE,QAAQ,IAAI,OAAO,IAAI,CAAC;AAAA,EAC7C,CAAC;AACD,QAAM,MAAM,MAAM,KAAK,iBAAiB,KAAK,EAAE;AAC/C,MAAI,QAAQ,eAAe;AAC3B,MAAI,CAAC,OAAO,OAAO,QAAQ,YAAY,MAAM,QAAQ,GAAG,GAAG;AACzD,UAAM,QAAQ;AAAA,EAChB;AACA,QAAM,SAAU,IAAgC;AAChD,QAAM,QAAQ,MAAM,cAAc;AAAA,IAChC,QAAQ,KAAK,IAAI,QAAQ;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACA,MACE,OAAO,KAAK,KAAK,KAAK,EAAE,SAAS,MAChC,UAAU,SACR,OAAO,WAAW,YAAY,CAAC,UAAU,WAAW,IAAI,WAC3D,OAAO,KAAK,KAAK,KAAK,EAAE;AAAA,IACtB,CAAC,OACC,CAAC,KAAK,WAAW,KAAK,CAAC,aAAa,SAAS,QAAQ,SAAS,EAAE,CAAC;AAAA,EACrE,KACA,KAAK,WAAW;AAAA,IACd,CAAC,aACC,CAAC,KAAK,OAAO,KAAK,CAAC,WAAW,OAAO,YAAY,SAAS,SAAS,EAAE,CAAC;AAAA,EAC1E,GACA;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AAAA,IACL,MAAM,EAAE,GAAG,MAAM,cAAc,UAAU;AAAA,IACzC,GAAI,OAAO,WAAW,WAAW,EAAE,YAAY,OAAO,IAAI,CAAC;AAAA,EAC7D;AACF;","names":[]}
@@ -1,5 +1,6 @@
1
1
  // ../sdk/src/transport/selected-menu.ts
2
2
  async function selectedMenu(ctx, request, json, mapMenu, invalid) {
3
+ const presentation = import("./presentation-TKOXOILG.js");
3
4
  const record = (value) => {
4
5
  if (!value || typeof value !== "object" || Array.isArray(value)) {
5
6
  throw invalid();
@@ -8,7 +9,7 @@ async function selectedMenu(ctx, request, json, mapMenu, invalid) {
8
9
  };
9
10
  const query = new URLSearchParams({
10
11
  branch: ctx.branchId,
11
- order_context: ctx.orderContext
12
+ fulfilment: ctx.orderContext === "dineIn" ? "dine_in" : ctx.orderContext
12
13
  });
13
14
  const response = await request(
14
15
  `/menus/${encodeURIComponent(ctx.menuId)}?${query}`
@@ -22,8 +23,12 @@ async function selectedMenu(ctx, request, json, mapMenu, invalid) {
22
23
  }
23
24
  const raw = record(await json(response));
24
25
  const coverage = record(raw.coverage);
25
- const menu = mapMenu(raw, ctx.branchId);
26
- if (raw.next_cursor || coverage.complete !== true || !Array.isArray(coverage.menuIds) || coverage.menuIds.length !== 1 || coverage.menuIds[0] !== ctx.menuId || menu.menus?.length !== 1 || menu.menus[0]?.id !== ctx.menuId) {
26
+ const menu = (await presentation).presentMenu(
27
+ mapMenu(raw, ctx.branchId),
28
+ raw,
29
+ invalid
30
+ );
31
+ if (raw.next_cursor || coverage.complete !== true || !Array.isArray(coverage.menu_ids) || coverage.menu_ids.length !== 1 || coverage.menu_ids[0] !== ctx.menuId || menu.menus?.length !== 1 || menu.menus[0]?.id !== ctx.menuId) {
27
32
  throw invalid();
28
33
  }
29
34
  return {
@@ -76,4 +81,4 @@ export {
76
81
  selectedMenu,
77
82
  selectedMenuKey
78
83
  };
79
- //# sourceMappingURL=selected-menu-3GCAICBQ.js.map
84
+ //# sourceMappingURL=selected-menu-AQHWDELR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/selected-menu.ts"],"mappings":";AA+BA,eAAsB,aACpB,KACA,SACA,MACA,SACA,SAC+B;AAC/B,QAAM,eAAe,OAAO,4BAAgB;AAG5C,QAAM,SAAS,CAAC,UAAmB;AACjC,QAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AAC/D,YAAM,QAAQ;AAAA,IAChB;AACA,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,IAAI,gBAAgB;AAAA,IAChC,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI,iBAAiB,WAAW,YAAY,IAAI;AAAA,EAC9D,CAAC;AACD,QAAM,WAAW,MAAM;AAAA,IACrB,UAAU,mBAAmB,IAAI,MAAM,CAAC,IAAI,KAAK;AAAA,EACnD;AACA,QAAM,OAAO,SAAS,QAAQ,IAAI,MAAM;AACxC,MAAI,CAAC,MAAM;AACT,UAAM,QAAQ;AAAA,EAChB;AACA,MAAI,SAAS,WAAW,KAAK;AAC3B,WAAO,EAAE,aAAa,MAAM,KAAK;AAAA,EACnC;AACA,QAAM,MAAM,OAAO,MAAM,KAAK,QAAQ,CAAC;AACvC,QAAM,WAAW,OAAO,IAAI,QAAQ;AACpC,QAAM,QAAQ,MAAM,cAAc;AAAA,IAChC,QAAQ,KAAK,IAAI,QAAQ;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACA,MACE,IAAI,eACJ,SAAS,aAAa,QACtB,CAAC,MAAM,QAAQ,SAAS,QAAQ,KAChC,SAAS,SAAS,WAAW,KAC7B,SAAS,SAAS,CAAC,MAAM,IAAI,UAC7B,KAAK,OAAO,WAAW,KACvB,KAAK,MAAM,CAAC,GAAG,OAAO,IAAI,QAC1B;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AAAA,IACL,MAAM,EAAE,GAAG,MAAM,cAAc,UAAU;AAAA,IACzC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,GAAG,UAAU,KAAK;AAAA,IAClD;AAAA,EACF;AACF;AAIO,SAAS,gBAAgB,OAAuB;AACrD,SAAO,KAAK,UAAU;AAAA,IACpB;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR,CAAC;AACH;AAEO,SAAS,yBAAyB,QAAgB;AACvD,QAAM,YAAY,OAAO,UAAU;AACnC,SAAO;AAAA,IACL,MAAM,KACJ,OACA,UAA0D,CAAC,GAC3D;AACA,UAAI,CAAC,UAAU,iBAAiB;AAC9B,cAAM,IAAI,MAAM,2CAA2C;AAAA,MAC7D;AACA,YAAM,WAAW,MAAM,UAAU,gBAAgB;AAAA,QAC/C,KAAK,OAAO,OAAO;AAAA,QACnB,SAAS,OAAO,OAAO;AAAA,QACvB,UAAU,MAAM;AAAA,QAChB,QAAQ,MAAM;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,GAAG;AAAA,MACL,CAAC;AACD,cAAQ,QAAQ,eAAe;AAC/B,UAAI,EAAE,iBAAiB,WAAW;AAChC,YACE,SAAS,KAAK,aAAa,MAAM,YACjC,SAAS,SAAS,QAAQ,WAAW,KACrC,SAAS,SAAS,QAAQ,CAAC,MAAM,MAAM,QACvC;AACA,gBAAM,IAAI,MAAM,wCAAwC;AAAA,QAC1D;AACA,cAAM,MAAM,gBAAgB,KAAK;AACjC,cAAM,WACJ,OAAO,UAAU,MAAM,SAA+B,GAAG,EAAE;AAC7D,YAAI,KAAK,UAAU,QAAQ,MAAM,KAAK,UAAU,QAAQ,GAAG;AACzD,iBAAO,UAAU,MAAM,IAAI,KAAK,UAAU,SAAS,IAAI;AAAA,QACzD;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
@@ -1,5 +1,5 @@
1
1
  // ../sdk/src/transport/store.ts
2
- function mapStore(value, record, text, list, hours, mapMoney, money, opt, isString, isBoolean) {
2
+ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isString, isBoolean, mapSeo) {
3
3
  const coordinates = (input) => {
4
4
  const coordinates2 = record(input ?? {});
5
5
  return typeof coordinates2.lat === "number" && typeof coordinates2.lng === "number" ? { lat: coordinates2.lat, lng: coordinates2.lng } : void 0;
@@ -9,8 +9,8 @@ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isStri
9
9
  return {
10
10
  pickup: value2.pickup === true,
11
11
  delivery: value2.delivery === true,
12
- dineIn: (value2.dine_in ?? value2.dineIn) === true,
13
- scheduling: (value2.scheduling ?? value2.scheduled) === true
12
+ dineIn: value2.dine_in === true,
13
+ scheduling: value2.scheduled === true
14
14
  };
15
15
  };
16
16
  const source = record(value);
@@ -23,14 +23,26 @@ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isStri
23
23
  ...opt("placeId", pickup.place_id, isString),
24
24
  ...pickupCoordinates ? { coordinates: pickupCoordinates } : {}
25
25
  };
26
- const address = typeof branch.address === "string" ? branch.address : branch.address ? Object.values(record(branch.address)).filter((entry) => typeof entry === "string").join(", ") : void 0;
26
+ const address = typeof branch.address === "string" ? branch.address : branch.address ? text(record(branch.address).line1).trim() : void 0;
27
27
  const addressFields = branch.address && typeof branch.address === "object" ? record(branch.address) : {};
28
28
  const branchCoordinates = coordinates(addressFields);
29
29
  return {
30
+ ...branch.currency !== void 0 ? { currency: money(0, text(branch.currency)).currency } : {},
31
+ ...opt("country", addressFields.country, isString),
32
+ ...branch.delivery_regions !== void 0 ? {
33
+ deliveryRegions: list(branch.delivery_regions).map((raw2) => {
34
+ const region = record(raw2);
35
+ return {
36
+ id: text(region.id),
37
+ name: text(region.name),
38
+ fee: mapMoney(region.fee)
39
+ };
40
+ })
41
+ } : {},
30
42
  id: text(branch.id),
31
43
  slug: text(branch.slug ?? branch.id),
32
44
  name: text(branch.name),
33
- openingTimes: hours(branch.opening_times ?? branch.hours),
45
+ openingTimes: hours(branch.hours),
34
46
  isOpen: branch.is_open === true,
35
47
  fulfilment: fulfilment(branch.fulfilment),
36
48
  ...address !== void 0 ? { address } : {},
@@ -94,9 +106,9 @@ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isStri
94
106
  aggregate[key] ||= branch.fulfilment[key];
95
107
  }
96
108
  }
97
- const accent = brand.accent ?? (brand.colors ? record(brand.colors).accent : void 0);
98
109
  const templateSettings = record(source.template_settings ?? {});
99
110
  return {
111
+ ...source.seo != null ? { seo: mapSeo(source.seo) } : {},
100
112
  id: text(source.id),
101
113
  slug: text(source.slug),
102
114
  name: text(source.name),
@@ -106,8 +118,7 @@ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isStri
106
118
  ...source.template_settings !== void 0 ? { templateSettings } : {},
107
119
  brand: {
108
120
  ...opt("logoUrl", brand.logo_url, isString),
109
- ...opt("coverImageUrl", brand.cover_image_url, isString),
110
- ...isString(accent) ? { accent } : {}
121
+ ...opt("coverImageUrl", brand.cover_image_url, isString)
111
122
  },
112
123
  fulfilment: source.fulfilment ? fulfilment(source.fulfilment) : aggregate,
113
124
  paymentMethods,
@@ -117,4 +128,4 @@ function mapStore(value, record, text, list, hours, mapMoney, money, opt, isStri
117
128
  export {
118
129
  mapStore
119
130
  };
120
- //# sourceMappingURL=store-KIO5RCZO.js.map
131
+ //# sourceMappingURL=store-OPM3OFLC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/store.ts"],"mappings":";AAWO,SAAS,SACd,OACA,QACA,MACA,MACA,OACA,UACA,OACA,KACA,UACA,WACA,QACO;AACP,QAAM,cAAc,CAAC,UAAmB;AACtC,UAAMA,eAAc,OAAO,SAAS,CAAC,CAAC;AACtC,WAAO,OAAOA,aAAY,QAAQ,YAChC,OAAOA,aAAY,QAAQ,WACzB,EAAE,KAAKA,aAAY,KAAK,KAAKA,aAAY,IAAI,IAC7C;AAAA,EACN;AACA,QAAM,aAAa,CAAC,UAA+B;AACjD,UAAMC,SAAQ,OAAO,KAAK;AAC1B,WAAO;AAAA,MACL,QAAQA,OAAM,WAAW;AAAA,MACzB,UAAUA,OAAM,aAAa;AAAA,MAC7B,QAAQA,OAAM,YAAY;AAAA,MAC1B,YAAYA,OAAM,cAAc;AAAA,IAClC;AAAA,EACF;AACA,QAAM,SAAS,OAAO,KAAK;AAC3B,QAAM,QAAQ,OAAO,OAAO,SAAS,CAAC,CAAC;AACvC,QAAM,WAAqB,KAAK,OAAO,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC5D,UAAM,SAAS,OAAO,GAAG;AACzB,UAAM,SAAS,OAAO,OAAO,kBAAkB,CAAC,CAAC;AACjD,UAAM,oBAAoB,YAAY,OAAO,WAAW;AACxD,UAAM,gBAAgB;AAAA,MACpB,GAAG,IAAI,WAAW,OAAO,UAAU,QAAQ;AAAA,MAC3C,GAAI,oBAAoB,EAAE,aAAa,kBAAkB,IAAI,CAAC;AAAA,IAChE;AACA,UAAM,UACJ,OAAO,OAAO,YAAY,WACtB,OAAO,UACP,OAAO,UACL,KAAK,OAAO,OAAO,OAAO,EAAE,KAAK,EAAE,KAAK,IACxC;AACR,UAAM,gBACJ,OAAO,WAAW,OAAO,OAAO,YAAY,WACxC,OAAO,OAAO,OAAO,IACrB,CAAC;AACP,UAAM,oBAAoB,YAAY,aAAa;AACnD,WAAO;AAAA,MACL,GAAI,OAAO,aAAa,SACpB,EAAE,UAAU,MAAM,GAAG,KAAK,OAAO,QAAQ,CAAa,EAAE,SAAS,IACjE,CAAC;AAAA,MACL,GAAG,IAAI,WAAW,cAAc,SAAS,QAAQ;AAAA,MACjD,GAAI,OAAO,qBAAqB,SAC5B;AAAA,QACE,iBAAiB,KAAK,OAAO,gBAAgB,EAAE,IAAI,CAACC,SAAQ;AAC1D,gBAAM,SAAS,OAAOA,IAAG;AACzB,iBAAO;AAAA,YACL,IAAI,KAAK,OAAO,EAAE;AAAA,YAClB,MAAM,KAAK,OAAO,IAAI;AAAA,YACtB,KAAK,SAAS,OAAO,GAAG;AAAA,UAC1B;AAAA,QACF,CAAC;AAAA,MACH,IACA,CAAC;AAAA,MACL,IAAI,KAAK,OAAO,EAAE;AAAA,MAClB,MAAM,KAAK,OAAO,QAAQ,OAAO,EAAE;AAAA,MACnC,MAAM,KAAK,OAAO,IAAI;AAAA,MACtB,cAAc,MAAM,OAAO,KAAK;AAAA,MAChC,QAAQ,OAAO,YAAY;AAAA,MAC3B,YAAY,WAAW,OAAO,UAAU;AAAA,MACxC,GAAI,YAAY,SAAY,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC3C,GAAI,SAAS,OAAO,KAAK,IAAI,EAAE,OAAO,OAAO,MAAM,KAAK,EAAE,IAAI,CAAC;AAAA,MAC/D,GAAG,IAAI,YAAY,OAAO,UAAU,QAAQ;AAAA,MAC5C,GAAI,oBAAoB,EAAE,aAAa,kBAAkB,IAAI,CAAC;AAAA,MAC9D,GAAG,IAAI,eAAe,OAAO,cAAc,QAAQ;AAAA,MACnD,GAAG,IAAI,gBAAgB,OAAO,gBAAgB,QAAQ;AAAA,MACtD,GAAG,IAAI,aAAa,OAAO,YAAY,SAAS;AAAA,MAChD,GAAI,OAAO,KAAK,aAAa,EAAE,SAAS,IAAI,EAAE,cAAc,IAAI,CAAC;AAAA,MACjE,GAAI,OAAO,iBAAiB,SACxB;AAAA,QACE,aAAa,KAAK,OAAO,YAAY,EAAE,QAAQ,CAAC,YAAY;AAC1D,gBAAM,OAAO,OAAO,OAAO;AAE3B,cAAI;AACF,kBAAM,MAAM,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;AAClC,mBAAO,SAAS,KAAK,IAAI,MACtB,IAAI,aAAa,YAAY,IAAI,aAAa,WAC7C,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IACnC,CAAC;AAAA,UACP,QAAQ;AACN,mBAAO,CAAC;AAAA,UACV;AAAA,QACF,CAAC;AAAA,MACH,IACA,CAAC;AAAA,MACL,GAAI,OAAO,gBACP,EAAE,cAAc,SAAS,OAAO,aAAa,EAAE,IAC/C,CAAC;AAAA,MACL,GAAI,OAAO,gBACP;AAAA,QACE,cAAc,KAAK,OAAO,aAAa,EAAE,IAAI,CAAC,aAAa;AACzD,gBAAM,UAAU,OAAO,QAAQ;AAC/B,iBAAO;AAAA,YACL,MAAM,KAAK,QAAQ,IAAI;AAAA,YACvB,QAAQ,QAAQ,WAAW;AAAA,YAC3B,GAAG,IAAI,SAAS,QAAQ,MAAM,QAAQ;AAAA,YACtC,GAAG,IAAI,UAAU,QAAQ,OAAO,QAAQ;AAAA,UAC1C;AAAA,QACF,CAAC;AAAA,MACH,IACA,CAAC;AAAA,IACP;AAAA,EACF,CAAC;AACD,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,iBAAiB,KAAK,OAAO,eAAe,EAC/C,IAAI,IAAI,EACR,OAAO,CAAC,WAAW;AAClB,QAAI,QAAQ,SAAS,MAAM,GAAG;AAC5B,aAAO;AAAA,IACT;AACA,YAAQ;AAAA,MACN,0BAA0B,MAAM;AAAA,IAClC;AACA,WAAO;AAAA,EACT,CAAC;AACH,QAAM,YAAY;AAAA,IAChB,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AACA,aAAW,UAAU,UAAU;AAC7B,eAAW,OAAO,OAAO,KAAK,SAAS,GAA2B;AAChE,gBAAU,GAAG,MAAM,OAAO,WAAW,GAAG;AAAA,IAC1C;AAAA,EACF;AACA,QAAM,mBAAmB,OAAO,OAAO,qBAAqB,CAAC,CAAC;AAI9D,SAAO;AAAA,IACL,GAAI,OAAO,OAAO,OAAO,EAAE,KAAK,OAAO,OAAO,GAAG,EAAE,IAAI,CAAC;AAAA,IACxD,IAAI,KAAK,OAAO,EAAE;AAAA,IAClB,MAAM,KAAK,OAAO,IAAI;AAAA,IACtB,MAAM,KAAK,OAAO,IAAI;AAAA,IACtB,UAAU,MAAM,GAAG,KAAK,OAAO,QAAQ,CAAa,EAAE;AAAA,IACtD,UAAU,KAAK,OAAO,QAAQ;AAAA,IAC9B,GAAG,IAAI,eAAe,OAAO,aAAa,QAAQ;AAAA,IAClD,GAAI,OAAO,sBAAsB,SAAY,EAAE,iBAAiB,IAAI,CAAC;AAAA,IACrE,OAAO;AAAA,MACL,GAAG,IAAI,WAAW,MAAM,UAAU,QAAQ;AAAA,MAC1C,GAAG,IAAI,iBAAiB,MAAM,iBAAiB,QAAQ;AAAA,IACzD;AAAA,IACA,YAAY,OAAO,aAAa,WAAW,OAAO,UAAU,IAAI;AAAA,IAChE;AAAA,IACA;AAAA,EACF;AACF;","names":["coordinates","value","raw"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zappie/verify",
3
- "version": "0.1.3",
3
+ "version": "0.2.2",
4
4
  "description": "Deterministic verification for Zappie storefronts.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@axe-core/playwright": "4.13.0",
28
- "@zappie/sdk": "^0.1.2"
28
+ "@zappie/sdk": "^0.1.8"
29
29
  },
30
30
  "devDependencies": {
31
31
  "ajv": "^8.18.0",
@@ -42,6 +42,8 @@
42
42
  "runner": { "enum": ["build-worker", "sandbox", "cli", "ci"] },
43
43
  "verifyVersion": { "type": "string" },
44
44
  "sdkVersion": { "type": "string" },
45
+ "cpuBenchmark": { "type": "number", "exclusiveMinimum": 0 },
46
+ "cpuThrottlingRate": { "type": "number", "minimum": 1, "maximum": 8 },
45
47
  "browser": { "type": "string" }
46
48
  }
47
49
  },
@@ -65,7 +67,23 @@
65
67
  "properties": {
66
68
  "menuJsKbGz": { "type": "number" },
67
69
  "lcpMs": { "type": "number" },
68
- "cls": { "type": "number" }
70
+ "cls": { "type": "number" },
71
+ "productCardTappableMs": { "type": "number" },
72
+ "productCardOpenMs": { "type": "number" },
73
+ "menuCssKbGz": { "type": "number" },
74
+ "overlayOpenMs": {
75
+ "type": "object",
76
+ "propertyNames": { "pattern": "^[a-z][a-z0-9-]*$" },
77
+ "additionalProperties": { "type": "number" }
78
+ },
79
+ "overlayOpenSamplesMs": {
80
+ "type": "object",
81
+ "propertyNames": { "pattern": "^[a-z][a-z0-9-]*$" },
82
+ "additionalProperties": {
83
+ "type": "array",
84
+ "items": { "type": "number" }
85
+ }
86
+ }
69
87
  }
70
88
  },
71
89
  "signature": { "type": "string" }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../sdk/src/transport/category-page.ts"],"sourcesContent":["import type { CategoryPage, Menu } from \"../models\";\n\n/**\n * Validates and maps one category page. Only progressive catalogues read\n * pages, so this loads on the first `menu.page()` call and stays out of the\n * core bundle, like the quote client (PRD 03 §4). The mapper and error come\n * in as arguments: importing them would split the core's shared code into a\n * separate chunk, which costs the core more than this module saves.\n */\nexport function categoryPage(\n raw: Record<string, unknown>,\n ctx: {\n branchId: string;\n menuId: string;\n categoryId: string;\n cursor?: string;\n },\n mapMenu: (value: unknown, branchId: string) => Menu,\n invalid: () => Error,\n): CategoryPage {\n const menu = mapMenu(raw, ctx.branchId);\n if (\n (raw.next_cursor != null &&\n (typeof raw.next_cursor !== \"string\" ||\n !raw.next_cursor ||\n raw.next_cursor === ctx.cursor)) ||\n menu.categories.some((c) => c.id !== ctx.categoryId) ||\n Object.keys(menu.items).some(\n (id) => !menu.categories.some((c) => c.itemIds.includes(id)),\n ) ||\n !menu.menus?.some(\n (m) => m.id === ctx.menuId && m.categoryIds.includes(ctx.categoryId),\n )\n ) {\n throw invalid();\n }\n return {\n menu: { ...menu, completeness: \"partial\" },\n menuId: ctx.menuId,\n categoryId: ctx.categoryId,\n ...(typeof raw.next_cursor === \"string\" && raw.next_cursor\n ? { nextCursor: raw.next_cursor }\n : {}),\n };\n}\n"],"mappings":";AASO,SAAS,aACd,KACA,KAMA,SACA,SACc;AACd,QAAM,OAAO,QAAQ,KAAK,IAAI,QAAQ;AACtC,MACG,IAAI,eAAe,SACjB,OAAO,IAAI,gBAAgB,YAC1B,CAAC,IAAI,eACL,IAAI,gBAAgB,IAAI,WAC5B,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,UAAU,KACnD,OAAO,KAAK,KAAK,KAAK,EAAE;AAAA,IACtB,CAAC,OAAO,CAAC,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,QAAQ,SAAS,EAAE,CAAC;AAAA,EAC7D,KACA,CAAC,KAAK,OAAO;AAAA,IACX,CAAC,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,YAAY,SAAS,IAAI,UAAU;AAAA,EACrE,GACA;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AAAA,IACL,MAAM,EAAE,GAAG,MAAM,cAAc,UAAU;AAAA,IACzC,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB,GAAI,OAAO,IAAI,gBAAgB,YAAY,IAAI,cAC3C,EAAE,YAAY,IAAI,YAAY,IAC9B,CAAC;AAAA,EACP;AACF;","names":[]}