| 123456789101112131415 |
- import { parseStamp } from './statusPush.js'
- /** Reject stale updates per order; different orders may share a scan timestamp. */
- export function acceptWorkOrderDelta(seen, event) {
- const stamp = parseStamp(event && event.serverUpdatedAt)
- const current = seen || {}
- if (stamp === null || !event || !Array.isArray(event.items)) return { seen: current, items: [] }
- const next = Object.assign(Object.create(null), current)
- const items = event.items.filter((item) => {
- if (!item || !item.code || (next[item.code] !== undefined && stamp <= next[item.code])) return false
- next[item.code] = stamp
- return true
- })
- return { seen: items.length ? next : current, items }
- }
|