@woocommerce/data
Version:
WooCommerce Admin data store and utilities
62 lines (61 loc) • 2.06 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrdersError = exports.getOrdersTotalCount = exports.getOrders = void 0;
/**
* External dependencies
*/
const rememo_1 = __importDefault(require("rememo"));
/**
* Internal dependencies
*/
const utils_1 = require("./utils");
exports.getOrders = (0, rememo_1.default)((state, query, defaultValue = undefined) => {
const resourceName = (0, utils_1.getOrderResourceName)(query);
const ids = state.orders[resourceName]
? state.orders[resourceName].data
: undefined;
if (!ids) {
return defaultValue;
}
if (query && typeof query._fields !== 'undefined') {
const fields = query._fields;
return ids.map((id) => {
return fields.reduce((product, field) => {
return {
...product,
[field]: state.data[id][field],
};
}, {});
});
}
return ids.map((id) => {
return state.data[id];
});
}, (state, query) => {
const resourceName = (0, utils_1.getOrderResourceName)(query);
const ids = state.orders[resourceName]
? state.orders[resourceName].data
: [];
return [
state.orders[resourceName],
...ids.map((id) => {
return state.data[id];
}),
];
});
const getOrdersTotalCount = (state, query, defaultValue = undefined) => {
const resourceName = (0, utils_1.getTotalOrderCountResourceName)(query);
const totalCount = state.ordersCount.hasOwnProperty(resourceName)
? state.ordersCount[resourceName]
: defaultValue;
return totalCount;
};
exports.getOrdersTotalCount = getOrdersTotalCount;
const getOrdersError = (state, query) => {
const resourceName = (0, utils_1.getOrderResourceName)(query);
return state.errors[resourceName];
};
exports.getOrdersError = getOrdersError;