@commercelayer/sdk-utils
Version:
Commerce Layer Javascript SDK Utils library
1 lines • 15.6 kB
Source Map (JSON)
{"version":3,"sources":["../src/helpers/filter/base.ts"],"names":[],"mappings":"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","file":"chunk-DH6DQ2Y4.cjs","sourcesContent":["import type { QueryFilter } from '@commercelayer/sdk'\nimport type { NonEmptyString } from '../../types'\n\n\n\ntype NoValOperator = () => QueryFilter\ntype SingleValOperator = <T extends string>(val: NonEmptyString<T>) => QueryFilter\ntype MultipleValOperator = <T extends string>(...val: Array<NonEmptyString<T>>) => QueryFilter\n\n\nclass Filter {\n\n #filter: string[] = []\n\n clear(): this {\n this.#filter = []\n return this\n }\n\n add(val: string): this {\n this.#filter.push(val)\n return this\n }\n\n get(): string[] {\n return this.#filter\n }\n\n}\n\n\nclass FilterObject {\n\n protected readonly filterValues: Filter\n\n constructor(filterVals?: Filter) {\n this.filterValues = filterVals || new Filter()\n }\n\n protected addValue(val: string): Filter {\n return this.filterValues.add(val)\n }\n\n}\n\n\nexport interface FilterMaster extends FilterObject {\n\n}\n\n\nexport class FilterOperator<M extends FilterMaster> extends FilterObject {\n\n readonly #master: M\n\n constructor(master: M, filter?: Filter) {\n super(filter)\n this.#master = master\n }\n\n\n private addOperator<T extends string>(op: string, ...val: Array<NonEmptyString<T>>): QueryFilter {\n this.addValue(op)\n if (val.length > 0) this.addValue(val.join(','))\n return this.build()\n }\n\n private keyval(): { key: string, val: string } {\n const newFilter = this.filterValues.get()\n const val = newFilter.pop() || ''\n const key = newFilter.join('_')\n return { key, val }\n }\n\n private build(): QueryFilter {\n const kv = this.keyval()\n // const filter = `${kv.key}=${kv.val}`\n const filter = { [kv.key]: kv.val } \n this.filterValues.clear()\n return filter\n }\n\n // ##__FILTER_OPERATORS_START__##\n\teq: SingleValOperator = (val) => { return this.addOperator('eq', val) }\n\teq_or_null: SingleValOperator = (val) => { return this.addOperator('eq_or_null', val) }\n\tnot_eq: SingleValOperator = (val) => { return this.addOperator('not_eq', val) }\n\tnot_eq_or_null: SingleValOperator = (val) => { return this.addOperator('not_eq_or_null', val) }\n\tmatches: SingleValOperator = (val) => { return this.addOperator('matches', val) }\n\tdoes_not_match: SingleValOperator = (val) => { return this.addOperator('does_not_match', val) }\n\tmatches_any: MultipleValOperator = (...val) => { return this.addOperator('matches_any', ...val) }\n\tmatches_all: MultipleValOperator = (...val) => { return this.addOperator('matches_all', ...val) }\n\tdoes_not_match_any: MultipleValOperator = (...val) => { return this.addOperator('does_not_match_any', ...val) }\n\tdoes_not_match_all: MultipleValOperator = (...val) => { return this.addOperator('does_not_match_all', ...val) }\n\tlt: SingleValOperator = (val) => { return this.addOperator('lt', val) }\n\tlteq: SingleValOperator = (val) => { return this.addOperator('lteq', val) }\n\tgt: SingleValOperator = (val) => { return this.addOperator('gt', val) }\n\tgteq: SingleValOperator = (val) => { return this.addOperator('gteq', val) }\n\tpresent: NoValOperator = () => { return this.addOperator('present', 'true') }\n\tblank: NoValOperator = () => { return this.addOperator('blank', 'true') }\n\tnull: NoValOperator = () => { return this.addOperator('null', 'true') }\n\tnot_null: NoValOperator = () => { return this.addOperator('not_null', 'true') }\n\tin: MultipleValOperator = (...val) => { return this.addOperator('in', ...val) }\n\tin_or_null: SingleValOperator = (val) => { return this.addOperator('in_or_null', val) }\n\tnot_in: MultipleValOperator = (...val) => { return this.addOperator('not_in', ...val) }\n\tnot_in_or_null: MultipleValOperator = (...val) => { return this.addOperator('not_in_or_null', ...val) }\n\tlt_any: MultipleValOperator = (...val) => { return this.addOperator('lt_any', ...val) }\n\tlteq_any: MultipleValOperator = (...val) => { return this.addOperator('lteq_any', ...val) }\n\tgt_any: MultipleValOperator = (...val) => { return this.addOperator('gt_any', ...val) }\n\tgteq_any: MultipleValOperator = (...val) => { return this.addOperator('gteq_any', ...val) }\n\tlt_all: MultipleValOperator = (...val) => { return this.addOperator('lt_all', ...val) }\n\tlteq_all: MultipleValOperator = (...val) => { return this.addOperator('lteq_all', ...val) }\n\tgt_all: MultipleValOperator = (...val) => { return this.addOperator('gt_all', ...val) }\n\tgteq_all: MultipleValOperator = (...val) => { return this.addOperator('gteq_all', ...val) }\n\tnot_eq_all: MultipleValOperator = (...val) => { return this.addOperator('not_eq_all', ...val) }\n\tstart: SingleValOperator = (val) => { return this.addOperator('start', val) }\n\tnot_start: SingleValOperator = (val) => { return this.addOperator('not_start', val) }\n\tstart_any: MultipleValOperator = (...val) => { return this.addOperator('start_any', ...val) }\n\tnot_start_any: MultipleValOperator = (...val) => { return this.addOperator('not_start_any', ...val) }\n\tnot_start_all: MultipleValOperator = (...val) => { return this.addOperator('not_start_all', ...val) }\n\tend: SingleValOperator = (val) => { return this.addOperator('end', val) }\n\tnot_end: SingleValOperator = (val) => { return this.addOperator('not_end', val) }\n\tend_any: MultipleValOperator = (...val) => { return this.addOperator('end_any', ...val) }\n\tend_all: MultipleValOperator = (...val) => { return this.addOperator('end_all', ...val) }\n\tnot_end_any: MultipleValOperator = (...val) => { return this.addOperator('not_end_any', ...val) }\n\tnot_end_all: MultipleValOperator = (...val) => { return this.addOperator('not_end_all', ...val) }\n\tcont: SingleValOperator = (val) => { return this.addOperator('cont', val) }\n\tnot_cont: SingleValOperator = (val) => { return this.addOperator('not_cont', val) }\n\tcont_any: MultipleValOperator = (...val) => { return this.addOperator('cont_any', ...val) }\n\tcont_all: MultipleValOperator = (...val) => { return this.addOperator('cont_all', ...val) }\n\tnot_cont_all: MultipleValOperator = (...val) => { return this.addOperator('not_cont_all', ...val) }\n\tjcont: SingleValOperator = (val) => { return this.addOperator('jcont', val) }\n\ttrue: NoValOperator = () => { return this.addOperator('true', 'true') }\n\tfalse: NoValOperator = () => { return this.addOperator('false', 'true') }\n // ##__FILTER_OPERATORS_STOP__##\n\n get or(): M {\n this.addValue('or')\n return this.#master\n }\n\n}\n\n\nexport abstract class FilterOperand<M extends FilterMaster> extends FilterObject {\n\n protected readonly master: M\n protected readonly operator: FilterOperator<M>\n\n constructor(master?: M, operator?: FilterOperator<M>, filter?: Filter) {\n super(filter)\n this.master = master || this as unknown as M\n this.operator = operator || new FilterOperator<M>(this.master, this.filterValues)\n }\n\n protected addField(val: string): typeof this.operator {\n this.addValue(val)\n return this.operator\n }\n\n protected addRelationship(val: string): Filter {\n return this.addValue(val)\n }\n\n}\n\n\nexport class ResourceFilterFields<M extends FilterMaster> extends FilterOperand<M> {\n\tget id(): FilterOperator<M> { return this.addField('id') }\n get created_at(): FilterOperator<M> { return this.addField('created_at') }\n\tget updated_at(): FilterOperator<M> { return this.addField('updated_at') }\n\tget reference(): FilterOperator<M> { return this.addField('reference') }\n\tget reference_origin(): FilterOperator<M> { return this.addField('reference_origin') }\n\tget metadata(): FilterOperator<M> { return this.addField('metadata') }\n}\n\nexport type ResourceFilter = ResourceFilterFields<ResourceFilter>\n"]}