order3000 0.24.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.mjs CHANGED
@@ -1,4 +1,7 @@
1
+ import { p as paymentMethodSchema, f as fulfillmentTypeSchema, t as teamOrderStatusSchema, a as participantStatusSchema } from './deliveryAddressSchema-8YX7yh5X.mjs';
2
+ export { d as O3KDeliveryAddressSchema } from './deliveryAddressSchema-8YX7yh5X.mjs';
1
3
  import { createClient } from '@supabase/supabase-js';
4
+ import 'zod/v4';
2
5
 
3
6
  var __defProp$3 = Object.defineProperty;
4
7
  var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -684,32 +687,11 @@ class SubscriptionsResource extends BaseResource {
684
687
  }
685
688
  }
686
689
 
687
- const paymentMethodEnum = {
688
- enumValues: ["card", "cash", "voucher"]
689
- };
690
- const fulfillmentTypeEnum = {
691
- enumValues: ["pickup", "delivery"]
692
- };
693
- const teamOrderStatusEnum = {
694
- enumValues: [
695
- "draft",
696
- "collecting",
697
- "locked",
698
- "placed",
699
- "ready",
700
- "completed",
701
- "cancelled"
702
- ]
703
- };
690
+ const paymentMethodEnum = { enumValues: paymentMethodSchema.options };
691
+ const fulfillmentTypeEnum = { enumValues: fulfillmentTypeSchema.options };
692
+ const teamOrderStatusEnum = { enumValues: teamOrderStatusSchema.options };
704
693
  const participantStatusEnum = {
705
- enumValues: [
706
- "browsing",
707
- "authorized",
708
- "cash_pending",
709
- "placed",
710
- "completed",
711
- "cancelled"
712
- ]
694
+ enumValues: participantStatusSchema.options
713
695
  };
714
696
  class TeamOrdersResource {
715
697
  constructor(tokenManager, baseUrl) {
@@ -837,7 +819,7 @@ class TeamOrdersResource {
837
819
  /**
838
820
  * Lead sets when the team will start eating. Client sends HH:MM; server
839
821
  * computes the delta against `fulfillmentAt` and stores it as
840
- * `dining_offset_minutes` so the intent survives any later pickup change.
822
+ * `dining_offset` (ms) so the intent survives any later pickup change.
841
823
  */
842
824
  async setDiningTime(publicId, request) {
843
825
  return this.request(
@@ -1160,6 +1142,7 @@ const RRULE_DAY_MAP = {
1160
1142
  SA: "saturday",
1161
1143
  SU: "sunday"
1162
1144
  };
1145
+ const MINUTE_DURATION = 60 * 1e3;
1163
1146
  function parseDaysFromRRule(rrule) {
1164
1147
  if (!rrule) {
1165
1148
  return [];
@@ -1178,13 +1161,13 @@ function parseDaysFromRRule(rrule) {
1178
1161
  }
1179
1162
  return ALL_DAYS.filter((day) => days.includes(day));
1180
1163
  }
1181
- function addMinutesToTime(time, minutes) {
1164
+ function addDurationToTime(time, duration) {
1182
1165
  const parts = time.split(":");
1183
1166
  const hours = parseInt(parts[0], 10);
1184
1167
  const mins = parseInt(parts[1], 10);
1185
- const totalMinutes = hours * 60 + mins + minutes;
1186
- const newHours = Math.floor(totalMinutes / 60) % 24;
1187
- const newMins = totalMinutes % 60;
1168
+ const totalDuration = hours * 60 * MINUTE_DURATION + mins * MINUTE_DURATION + duration;
1169
+ const newHours = Math.floor(totalDuration / (60 * MINUTE_DURATION)) % 24;
1170
+ const newMins = Math.floor(totalDuration % (60 * MINUTE_DURATION) / MINUTE_DURATION);
1188
1171
  return `${newHours.toString().padStart(2, "0")}:${newMins.toString().padStart(2, "0")}`;
1189
1172
  }
1190
1173
  function formatTime(time) {
@@ -1204,7 +1187,7 @@ function getScheduleInfo(schedule) {
1204
1187
  }
1205
1188
  const timeSlots = schedule.scheduleTimeSlots;
1206
1189
  const rrule = schedule.rrule;
1207
- const intervalMinutes = schedule.intervalMinutes ?? 30;
1190
+ const intervalDuration = schedule.intervalDuration ?? 30 * MINUTE_DURATION;
1208
1191
  const activeDaysSet = /* @__PURE__ */ new Set();
1209
1192
  let hasNullDayOfWeek = false;
1210
1193
  const startTimes = [];
@@ -1244,7 +1227,7 @@ function getScheduleInfo(schedule) {
1244
1227
  if (latestEndTime) {
1245
1228
  endTime = latestEndTime;
1246
1229
  } else {
1247
- endTime = addMinutesToTime(latestStart, intervalMinutes);
1230
+ endTime = addDurationToTime(latestStart, intervalDuration);
1248
1231
  }
1249
1232
  const startFormatted = formatTime(earliestStart);
1250
1233
  const endFormatted = formatTime(endTime);
@@ -1259,7 +1242,7 @@ function getScheduleInfo(schedule) {
1259
1242
  var __defProp = Object.defineProperty;
1260
1243
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1261
1244
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
1262
- class Order3000Client {
1245
+ class O3KClient {
1263
1246
  constructor(config) {
1264
1247
  __publicField(this, "areas");
1265
1248
  __publicField(this, "articles");
@@ -1307,4 +1290,4 @@ class Order3000Client {
1307
1290
  }
1308
1291
  }
1309
1292
 
1310
- export { Order3000Client, fulfillmentTypeEnum, getScheduleInfo, participantStatusEnum, paymentMethodEnum, teamOrderStatusEnum };
1293
+ export { O3KClient, fulfillmentTypeEnum as O3KFulfillmentTypeEnum, getScheduleInfo as O3KGetScheduleInfo, participantStatusEnum as O3KParticipantStatusEnum, paymentMethodEnum as O3KPaymentMethodEnum, teamOrderStatusEnum as O3KTeamOrderStatusEnum };
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod/v4';
2
+
3
+ const fulfillmentTypeSchema = z.enum(["pickup", "delivery"]);
4
+
5
+ const participantStatusSchema = z.enum([
6
+ "browsing",
7
+ "authorized",
8
+ "cash_pending",
9
+ "placed",
10
+ "completed",
11
+ "cancelled"
12
+ ]);
13
+
14
+ const paymentMethodSchema = z.enum(["card", "cash", "voucher"]);
15
+
16
+ const teamOrderStatusSchema = z.enum([
17
+ "draft",
18
+ "collecting",
19
+ "locked",
20
+ "placed",
21
+ "ready",
22
+ "completed",
23
+ "cancelled"
24
+ ]);
25
+
26
+ const deliveryAddressSchema = z.object({
27
+ street: z.string(),
28
+ city: z.string(),
29
+ state: z.string(),
30
+ postalCode: z.string(),
31
+ country: z.string()
32
+ });
33
+
34
+ export { participantStatusSchema as a, deliveryAddressSchema as d, fulfillmentTypeSchema as f, paymentMethodSchema as p, teamOrderStatusSchema as t };
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var v4 = require('zod/v4');
4
+
5
+ const fulfillmentTypeSchema = v4.z.enum(["pickup", "delivery"]);
6
+
7
+ const participantStatusSchema = v4.z.enum([
8
+ "browsing",
9
+ "authorized",
10
+ "cash_pending",
11
+ "placed",
12
+ "completed",
13
+ "cancelled"
14
+ ]);
15
+
16
+ const paymentMethodSchema = v4.z.enum(["card", "cash", "voucher"]);
17
+
18
+ const teamOrderStatusSchema = v4.z.enum([
19
+ "draft",
20
+ "collecting",
21
+ "locked",
22
+ "placed",
23
+ "ready",
24
+ "completed",
25
+ "cancelled"
26
+ ]);
27
+
28
+ const deliveryAddressSchema = v4.z.object({
29
+ street: v4.z.string(),
30
+ city: v4.z.string(),
31
+ state: v4.z.string(),
32
+ postalCode: v4.z.string(),
33
+ country: v4.z.string()
34
+ });
35
+
36
+ exports.deliveryAddressSchema = deliveryAddressSchema;
37
+ exports.fulfillmentTypeSchema = fulfillmentTypeSchema;
38
+ exports.participantStatusSchema = participantStatusSchema;
39
+ exports.paymentMethodSchema = paymentMethodSchema;
40
+ exports.teamOrderStatusSchema = teamOrderStatusSchema;