UNPKG

@woocommerce/data

Version:
49 lines (48 loc) 1.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getItemsError = exports.getItemsTotalCount = exports.getItems = void 0; /** * External dependencies */ const rememo_1 = __importDefault(require("rememo")); /** * Internal dependencies */ const utils_1 = require("../utils"); const utils_2 = require("./utils"); exports.getItems = (0, rememo_1.default)((state, itemType, query, defaultValue = new Map()) => { const resourceName = (0, utils_1.getResourceName)(itemType, query); let ids; if (state.items[resourceName] && typeof state.items[resourceName] === 'object') { ids = state.items[resourceName] .data; } if (!ids) { return defaultValue; } return ids.reduce((map, id) => { var _a; map.set(id, (_a = state.data[itemType]) === null || _a === void 0 ? void 0 : _a[id]); return map; }, new Map()); }, (state, itemType, query) => { const resourceName = (0, utils_1.getResourceName)(itemType, query); return [state.items[resourceName]]; }); const getItemsTotalCount = (state, itemType, query, defaultValue = 0) => { const resourceName = (0, utils_2.getTotalCountResourceName)(itemType, query); const totalCount = state.items.hasOwnProperty(resourceName) ? state.items[resourceName] : defaultValue; return totalCount; }; exports.getItemsTotalCount = getItemsTotalCount; const getItemsError = (state, itemType, query) => { const resourceName = (0, utils_1.getResourceName)(itemType, query); return state.errors[resourceName]; }; exports.getItemsError = getItemsError;