UNPKG

@vendasta/store

Version:

Components and data for Store

66 lines 6.06 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} combined * @param {?} order * @return {?} */ export function orderProductsAndAddons(combined, order) { if (!order || order.length === 0) { return combined || []; } if (!combined || combined.length === 0) { return []; } /** @type {?} */ var itemMap = (combined || []).reduce(function (m, curr) { m.set(getUniqueProductAddonId(curr), curr); return m; }, new Map()); /** @type {?} */ var combinedIdList = combined.map(getUniqueProductAddonId); /** @type {?} */ var finalOrderedIds = combineProductOrderWithContainedProducts(order, combinedIdList); /** @type {?} */ var orderedList = (/** @type {?} */ (finalOrderedIds.reduce(function (items, id) { items.push(itemMap.get(id)); return items; }, []))); return orderedList.filter(filterUniqueAndDefined); } /** * @param {?} elem * @param {?} pos * @param {?} arr * @return {?} */ function filterUniqueAndDefined(elem, pos, arr) { return elem && arr.indexOf(elem) === pos; } /** * @param {?} productOrder * @param {?} itemIds * @return {?} */ export function combineProductOrderWithContainedProducts(productOrder, itemIds) { if (itemIds == null || itemIds.length === 0) { return []; } if (!productOrder || productOrder.length === 0) { return itemIds.filter(filterUniqueAndDefined); } return productOrder .filter(function (elem) { return itemIds.indexOf(elem) >= 0; }) .concat(itemIds) .filter(filterUniqueAndDefined); } /** * @param {?} thing * @return {?} */ export function getUniqueProductAddonId(thing) { return thing['addonId'] || thing['productId']; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdmVuZGFzdGEvc3RvcmUvIiwic291cmNlcyI6WyJsaWIvcGFja2FnZS1kZXRhaWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUE2QixFQUFFLEtBQWU7SUFDbkYsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNoQyxPQUFPLFFBQVEsSUFBSSxFQUFFLENBQUM7S0FDdkI7SUFDRCxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sRUFBRSxDQUFDO0tBQ1g7O1FBRUssT0FBTyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxJQUFJO1FBQzlDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQTZCLENBQUM7O1FBRWxDLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDOztRQUN0RCxlQUFlLEdBQUcsd0NBQXdDLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQzs7UUFFakYsV0FBVyxHQUFHLG1CQUFBLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBQyxLQUFLLEVBQUUsRUFBRTtRQUNuRCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBdUI7SUFFN0IsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDcEQsQ0FBQzs7Ozs7OztBQUVELFNBQVMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQzVDLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQzNDLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSx3Q0FBd0MsQ0FBQyxZQUFzQixFQUFFLE9BQWlCO0lBQ2hHLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMzQyxPQUFPLEVBQUUsQ0FBQTtLQUNWO0lBQ0QsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM5QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUMvQztJQUNELE9BQU8sWUFBWTtTQUNoQixNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBMUIsQ0FBMEIsQ0FBQztTQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDcEMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBVTtJQUNoRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZG9uIH0gZnJvbSAnQHZlbmRhc3RhL2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi9zaGFyZWQvcHJvZHVjdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmRlclByb2R1Y3RzQW5kQWRkb25zKGNvbWJpbmVkOiAoUHJvZHVjdCB8IEFkZG9uKVtdLCBvcmRlcjogc3RyaW5nW10pOiAoUHJvZHVjdCB8IEFkZG9uKVtdIHtcbiAgaWYgKCFvcmRlciB8fCBvcmRlci5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gY29tYmluZWQgfHwgW107XG4gIH1cbiAgaWYgKCFjb21iaW5lZCB8fCBjb21iaW5lZC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBpdGVtTWFwID0gKGNvbWJpbmVkIHx8IFtdKS5yZWR1Y2UoKG0sIGN1cnIpID0+IHtcbiAgICBtLnNldChnZXRVbmlxdWVQcm9kdWN0QWRkb25JZChjdXJyKSwgY3Vycik7XG4gICAgcmV0dXJuIG07XG4gIH0sIG5ldyBNYXA8c3RyaW5nLCAoUHJvZHVjdCB8IEFkZG9uKT4oKSk7XG5cbiAgY29uc3QgY29tYmluZWRJZExpc3QgPSBjb21iaW5lZC5tYXAoZ2V0VW5pcXVlUHJvZHVjdEFkZG9uSWQpO1xuICBjb25zdCBmaW5hbE9yZGVyZWRJZHMgPSBjb21iaW5lUHJvZHVjdE9yZGVyV2l0aENvbnRhaW5lZFByb2R1Y3RzKG9yZGVyLCBjb21iaW5lZElkTGlzdCk7XG5cbiAgY29uc3Qgb3JkZXJlZExpc3QgPSBmaW5hbE9yZGVyZWRJZHMucmVkdWNlKChpdGVtcywgaWQpID0+IHtcbiAgICBpdGVtcy5wdXNoKGl0ZW1NYXAuZ2V0KGlkKSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9LCBbXSkgYXMgKFByb2R1Y3QgfCBBZGRvbilbXTtcblxuICByZXR1cm4gb3JkZXJlZExpc3QuZmlsdGVyKGZpbHRlclVuaXF1ZUFuZERlZmluZWQpO1xufVxuXG5mdW5jdGlvbiBmaWx0ZXJVbmlxdWVBbmREZWZpbmVkKGVsZW0sIHBvcywgYXJyKSB7XG4gIHJldHVybiBlbGVtICYmIGFyci5pbmRleE9mKGVsZW0pID09PSBwb3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lUHJvZHVjdE9yZGVyV2l0aENvbnRhaW5lZFByb2R1Y3RzKHByb2R1Y3RPcmRlcjogc3RyaW5nW10sIGl0ZW1JZHM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBpZiAoaXRlbUlkcyA9PSBudWxsIHx8IGl0ZW1JZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgaWYgKCFwcm9kdWN0T3JkZXIgfHwgcHJvZHVjdE9yZGVyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBpdGVtSWRzLmZpbHRlcihmaWx0ZXJVbmlxdWVBbmREZWZpbmVkKTtcbiAgfVxuICByZXR1cm4gcHJvZHVjdE9yZGVyXG4gICAgLmZpbHRlcihlbGVtID0+IGl0ZW1JZHMuaW5kZXhPZihlbGVtKSA+PSAwKVxuICAgIC5jb25jYXQoaXRlbUlkcylcbiAgICAuZmlsdGVyKGZpbHRlclVuaXF1ZUFuZERlZmluZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5pcXVlUHJvZHVjdEFkZG9uSWQodGhpbmc6IGFueSk6IHN0cmluZyB7XG4gIHJldHVybiB0aGluZ1snYWRkb25JZCddIHx8IHRoaW5nWydwcm9kdWN0SWQnXTtcbn1cbiJdfQ==