@open-tender/store 0.2.111 → 0.3.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.
@@ -1,11 +1,12 @@
1
- import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKDS, Orders, OrdersKDS, OrderTickets, OrderTimes, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
1
+ import { FetchOrdersAPIArgs, FetchOrdersArgs, ItemType, ItemTypes, ModifiersMetadata, OrderBuckets, OrderCart, OrderItem, OrderKds, Orders, OrdersKds, OrderTickets, OrderTimes, PrepStatus, PrepStatusMap, Store, TicketGroups, Timezone } from '../types';
2
2
  export declare const prepStatus: PrepStatusMap;
3
3
  export declare const makeFetchOrdersArgs: ({ businessDate, receiptType, channelType, prepStatus, search, sortBy, sortDirection, parentOrderId }: FetchOrdersArgs) => FetchOrdersAPIArgs;
4
4
  export declare const notDone: (prep_status: PrepStatus) => boolean;
5
5
  export declare const isDone: (prep_status: PrepStatus) => boolean;
6
6
  export declare const notCompleted: (prep_status: PrepStatus) => boolean;
7
7
  export declare const isCompleted: (prep_status: PrepStatus) => boolean;
8
- export declare const makeOrdersCounts: (itemTypes: ItemTypes | null, orders: Orders | null) => {
8
+ export declare const makeKdsOrders: (orders: Orders) => OrdersKds;
9
+ export declare const makeKdsCounts: (itemTypes: ItemTypes | null, orders: OrdersKds | null) => {
9
10
  current: null;
10
11
  future: null;
11
12
  qa: null;
@@ -14,8 +15,8 @@ export declare const makeOrdersCounts: (itemTypes: ItemTypes | null, orders: Ord
14
15
  future: Record<string, number>;
15
16
  qa: Record<string, number>;
16
17
  };
17
- export declare const makeOrderBuckets: (orders: OrdersKDS, tz: Timezone, prepStates?: Array<PrepStatus>) => OrderBuckets;
18
- export declare const makeOrderBucketsCounts: (itemTypes?: ItemTypes, orders?: OrdersKDS) => Record<string, number>;
18
+ export declare const makeOrderBuckets: (orders: OrdersKds, tz: Timezone, prepStates?: Array<PrepStatus>) => OrderBuckets;
19
+ export declare const makeOrderBucketsCounts: (itemTypes?: ItemTypes, orders?: OrdersKds) => Record<string, number>;
19
20
  export declare const makeTicketCounts: (tickets: OrderTickets) => Record<string, number>;
20
21
  export declare const makeItemTypeSettings: (itemType: ItemType) => {
21
22
  is_default: boolean;
@@ -24,11 +25,11 @@ export declare const makeItemTypeSettings: (itemType: ItemType) => {
24
25
  is_hidden_qa: boolean;
25
26
  print_on_completed: boolean;
26
27
  };
27
- export declare const makeItemTypesMap: (itemTypes: ItemTypes) => {} | null;
28
+ export declare const makeItemTypesMap: (itemTypes: ItemTypes) => Record<string, ItemType>;
28
29
  export declare const makeCartLookup: (cart: OrderCart) => Record<string, OrderItem>;
29
30
  export declare const makeModifiersMetadataLookup: (cart: ModifiersMetadata) => Record<string, OrderItem>;
30
31
  export declare const makeTicketGroups: (tickets: OrderTickets, itemTypes: ItemTypes, isAssembly: boolean, cart: OrderCart, modifiersMetadata?: ModifiersMetadata | null) => TicketGroups;
31
32
  export declare const makeDisplayCounts: (counts: Record<string, number>) => number[] | "";
32
33
  export declare const displayCounts: (counts: Record<string, number>) => string;
33
34
  export declare const makeBucketColor: (settings: Store, minutes: number) => "" | "error" | "alert" | "text";
34
- export declare const makeOrderTimes: (order: OrderKDS, amPm?: boolean, warningMinutes?: number, alertMinutes?: number) => OrderTimes;
35
+ export declare const makeOrderTimes: (order: OrderKds, amPm?: boolean, warningMinutes?: number, alertMinutes?: number) => OrderTimes;
@@ -60,6 +60,9 @@ export var isCompleted = function (prep_status) {
60
60
  var completeStates = [prepStatus.COMPLETED, prepStatus.FULFILLED];
61
61
  return completeStates.includes(prep_status);
62
62
  };
63
+ export var makeKdsOrders = function (orders) {
64
+ return orders.filter(function (i) { return i.expected_at && i.fire_at && i.tickets; });
65
+ };
63
66
  var updateCounts = function (counts, ticketCounts) {
64
67
  // console.log('BEFORE', counts, ticketCounts)
65
68
  var updated = Object.entries(counts).reduce(function (obj, _a) {
@@ -71,11 +74,11 @@ var updateCounts = function (counts, ticketCounts) {
71
74
  // console.log('AFTER', updated)
72
75
  return updated;
73
76
  };
74
- export var makeOrdersCounts = function (itemTypes, orders) {
77
+ export var makeKdsCounts = function (itemTypes, orders) {
75
78
  if (!itemTypes || !orders) {
76
79
  return { current: null, future: null, qa: null };
77
80
  }
78
- console.time('makeOrdersCounts');
81
+ console.time('makeKdsCounts');
79
82
  var itemTypeCounts = itemTypes
80
83
  .filter(function (i) { return i.is_default; })
81
84
  .reduce(function (obj, i) {
@@ -109,7 +112,7 @@ export var makeOrdersCounts = function (itemTypes, orders) {
109
112
  future = updateCounts(future, ticketCounts);
110
113
  }
111
114
  });
112
- console.timeEnd('makeOrdersCounts');
115
+ console.timeEnd('makeKdsCounts');
113
116
  return { current: current, future: future, qa: qa };
114
117
  };
115
118
  export var makeOrderBuckets = function (orders, tz, prepStates) {
@@ -165,12 +168,10 @@ export var makeItemTypeSettings = function (itemType) {
165
168
  };
166
169
  };
167
170
  export var makeItemTypesMap = function (itemTypes) {
168
- return itemTypes
169
- ? itemTypes.reduce(function (obj, i) {
170
- var _a;
171
- return (__assign(__assign({}, obj), (_a = {}, _a[i.item_type_id] = i, _a)));
172
- }, {})
173
- : null;
171
+ return itemTypes.reduce(function (obj, i) {
172
+ var _a;
173
+ return (__assign(__assign({}, obj), (_a = {}, _a[i.item_type_id] = i, _a)));
174
+ }, {});
174
175
  };
175
176
  export var makeCartLookup = function (cart) {
176
177
  return cart.reduce(function (obj, i) {
@@ -190,17 +191,19 @@ export var makeTicketGroups = function (tickets, itemTypes, isAssembly, cart, mo
190
191
  : modifiersMetadata
191
192
  ? makeModifiersMetadataLookup(modifiersMetadata)
192
193
  : {};
194
+ var itemTypesMap = makeItemTypesMap(itemTypes);
193
195
  var grouped = tickets.reduce(function (obj, i) {
194
196
  var _a;
195
197
  var items = i.item_nos.map(function (n) { return lookup[n.toString()]; });
196
- var settings = makeItemTypeSettings(itemTypes[i.item_type_id]);
198
+ var settings = makeItemTypeSettings(itemTypesMap[i.item_type_id]);
197
199
  var hideTicket = isAssembly && settings.is_hidden_assembly;
198
200
  var ticket = __assign(__assign(__assign({}, i), { items: items }), settings);
199
201
  var group = obj[i.item_type_id.toString()] || [];
200
202
  var newGroup = hideTicket ? group : __spreadArray(__spreadArray([], group, true), [ticket], false);
201
203
  return __assign(__assign({}, obj), (_a = {}, _a[i.item_type_id] = newGroup, _a));
202
204
  }, {});
203
- return Object.values(grouped);
205
+ var groups = Object.values(grouped);
206
+ return groups.filter(function (group) { return group.length; });
204
207
  };
205
208
  export var makeDisplayCounts = function (counts) {
206
209
  if (!counts)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.2.111",
3
+ "version": "0.3.0",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",