UNPKG

@commercelayer/sdk-utils

Version:
248 lines (246 loc) 6.1 kB
'use strict'; // src/helpers/filter/base.ts var Filter = class { #filter = []; clear() { this.#filter = []; return this; } add(val) { this.#filter.push(val); return this; } get() { return this.#filter; } }; var FilterObject = class { filterValues; constructor(filterVals) { this.filterValues = filterVals || new Filter(); } addValue(val) { return this.filterValues.add(val); } }; var FilterOperator = class extends FilterObject { #master; constructor(master, filter) { super(filter); this.#master = master; } addOperator(op, ...val) { this.addValue(op); if (val.length > 0) this.addValue(val.join(",")); return this.build(); } keyval() { const newFilter = this.filterValues.get(); const val = newFilter.pop() || ""; const key = newFilter.join("_"); return { key, val }; } build() { const kv = this.keyval(); const filter = { [kv.key]: kv.val }; this.filterValues.clear(); return filter; } // ##__FILTER_OPERATORS_START__## eq = (val) => { return this.addOperator("eq", val); }; eq_or_null = (val) => { return this.addOperator("eq_or_null", val); }; not_eq = (val) => { return this.addOperator("not_eq", val); }; not_eq_or_null = (val) => { return this.addOperator("not_eq_or_null", val); }; matches = (val) => { return this.addOperator("matches", val); }; does_not_match = (val) => { return this.addOperator("does_not_match", val); }; matches_any = (...val) => { return this.addOperator("matches_any", ...val); }; matches_all = (...val) => { return this.addOperator("matches_all", ...val); }; does_not_match_any = (...val) => { return this.addOperator("does_not_match_any", ...val); }; does_not_match_all = (...val) => { return this.addOperator("does_not_match_all", ...val); }; lt = (val) => { return this.addOperator("lt", val); }; lteq = (val) => { return this.addOperator("lteq", val); }; gt = (val) => { return this.addOperator("gt", val); }; gteq = (val) => { return this.addOperator("gteq", val); }; present = () => { return this.addOperator("present", "true"); }; blank = () => { return this.addOperator("blank", "true"); }; null = () => { return this.addOperator("null", "true"); }; not_null = () => { return this.addOperator("not_null", "true"); }; in = (...val) => { return this.addOperator("in", ...val); }; in_or_null = (val) => { return this.addOperator("in_or_null", val); }; not_in = (...val) => { return this.addOperator("not_in", ...val); }; not_in_or_null = (...val) => { return this.addOperator("not_in_or_null", ...val); }; lt_any = (...val) => { return this.addOperator("lt_any", ...val); }; lteq_any = (...val) => { return this.addOperator("lteq_any", ...val); }; gt_any = (...val) => { return this.addOperator("gt_any", ...val); }; gteq_any = (...val) => { return this.addOperator("gteq_any", ...val); }; lt_all = (...val) => { return this.addOperator("lt_all", ...val); }; lteq_all = (...val) => { return this.addOperator("lteq_all", ...val); }; gt_all = (...val) => { return this.addOperator("gt_all", ...val); }; gteq_all = (...val) => { return this.addOperator("gteq_all", ...val); }; not_eq_all = (...val) => { return this.addOperator("not_eq_all", ...val); }; start = (val) => { return this.addOperator("start", val); }; not_start = (val) => { return this.addOperator("not_start", val); }; start_any = (...val) => { return this.addOperator("start_any", ...val); }; not_start_any = (...val) => { return this.addOperator("not_start_any", ...val); }; not_start_all = (...val) => { return this.addOperator("not_start_all", ...val); }; end = (val) => { return this.addOperator("end", val); }; not_end = (val) => { return this.addOperator("not_end", val); }; end_any = (...val) => { return this.addOperator("end_any", ...val); }; end_all = (...val) => { return this.addOperator("end_all", ...val); }; not_end_any = (...val) => { return this.addOperator("not_end_any", ...val); }; not_end_all = (...val) => { return this.addOperator("not_end_all", ...val); }; cont = (val) => { return this.addOperator("cont", val); }; not_cont = (val) => { return this.addOperator("not_cont", val); }; cont_any = (...val) => { return this.addOperator("cont_any", ...val); }; cont_all = (...val) => { return this.addOperator("cont_all", ...val); }; not_cont_all = (...val) => { return this.addOperator("not_cont_all", ...val); }; jcont = (val) => { return this.addOperator("jcont", val); }; true = () => { return this.addOperator("true", "true"); }; false = () => { return this.addOperator("false", "true"); }; // ##__FILTER_OPERATORS_STOP__## get or() { this.addValue("or"); return this.#master; } }; var FilterOperand = class extends FilterObject { master; operator; constructor(master, operator, filter) { super(filter); this.master = master || this; this.operator = operator || new FilterOperator(this.master, this.filterValues); } addField(val) { this.addValue(val); return this.operator; } addRelationship(val) { return this.addValue(val); } }; var ResourceFilterFields = class extends FilterOperand { get id() { return this.addField("id"); } get created_at() { return this.addField("created_at"); } get updated_at() { return this.addField("updated_at"); } get reference() { return this.addField("reference"); } get reference_origin() { return this.addField("reference_origin"); } get metadata() { return this.addField("metadata"); } }; exports.FilterOperand = FilterOperand; exports.FilterOperator = FilterOperator; exports.ResourceFilterFields = ResourceFilterFields; //# sourceMappingURL=chunk-DH6DQ2Y4.cjs.map //# sourceMappingURL=chunk-DH6DQ2Y4.cjs.map