vinmonopolet-ts
Version:
Extracts information on products, categories and stores from Vinmonopolet
28 lines (27 loc) • 1.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const FacetValue_1 = __importDefault(require("../models/FacetValue"));
const getProducts_1 = __importDefault(require("./getProducts"));
async function getProductsByStore(store, opts) {
const storeFacet = new FacetValue_1.default({
query: { query: { value: `availableInStores:${store}` } },
});
let facets = [storeFacet];
if (opts?.facet)
facets.push(opts?.facet);
if (opts?.facets) {
const safeFacets = opts?.facets.filter((facet) => facet !== undefined);
facets = facets.concat(safeFacets);
}
const options = {
limit: opts?.limit,
facets: facets,
page: opts?.page ?? 1,
};
const allProducts = await (0, getProducts_1.default)(options);
return { ...allProducts, store };
}
exports.default = getProductsByStore;