@commercelayer/sdk-utils
Version:
Commerce Layer Javascript SDK Utils library
248 lines (246 loc) • 6.1 kB
JavaScript
'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