UNPKG

@forestadmin/datasource-toolkit

Version:
119 lines 10.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const factory_1 = __importDefault(require("../factory")); const branch_1 = __importDefault(require("../nodes/branch")); const leaf_1 = __importDefault(require("../nodes/leaf")); exports.default = () => ({ Blank: [ { dependsOn: ['In'], forTypes: ['String'], replacer: leaf => leaf.override({ operator: 'In', value: [null, ''] }), }, { dependsOn: ['Missing'], replacer: leaf => leaf.override({ operator: 'Missing' }), }, ], Missing: [ { dependsOn: ['Equal'], replacer: leaf => leaf.override({ operator: 'Equal', value: null }), }, ], Present: [ { dependsOn: ['NotIn'], forTypes: ['String'], replacer: leaf => leaf.override({ operator: 'NotIn', value: [null, ''] }), }, { dependsOn: ['NotEqual'], replacer: leaf => leaf.override({ operator: 'NotEqual', value: null }), }, ], Equal: [ { dependsOn: ['In'], replacer: leaf => leaf.override({ operator: 'In', value: [leaf.value] }), }, ], In: [ { dependsOn: ['Equal', 'Match'], forTypes: ['String'], replacer: leaf => { const values = leaf.value; const conditions = []; for (const value of [null, '']) { if (values.includes(value)) { conditions.push(new leaf_1.default(leaf.field, 'Equal', value)); } } if (values.some(v => v !== null && v !== '')) { const escaped = values.filter(Boolean).map(str => str.replace(/[.|[\]]/g, m => `\\${m}`)); const regexp = new RegExp(`^${escaped.join('|')}$`, 'g'); conditions.push(new leaf_1.default(leaf.field, 'Match', regexp)); } return factory_1.default.union(...conditions); }, }, { dependsOn: ['Equal'], replacer: leaf => factory_1.default.union(...leaf.value.map(item => leaf.override({ operator: 'Equal', value: item }))), }, ], NotEqual: [ { dependsOn: ['NotIn'], replacer: leaf => leaf.override({ operator: 'NotIn', value: [leaf.value] }), }, ], NotIn: [ { dependsOn: ['NotEqual', 'Match'], forTypes: ['String'], replacer: leaf => { const values = leaf.value; const conditions = []; for (const value of [null, '']) { if (values.includes(value)) { conditions.push(new leaf_1.default(leaf.field, 'NotEqual', value)); } } if (values.some(v => v !== null && v !== '')) { const escaped = values.filter(Boolean).map(str => str.replace(/[.|[\]]/g, m => `\\${m}`)); const regexp = new RegExp(`(?!${escaped.join('|')})`, 'g'); conditions.push(new leaf_1.default(leaf.field, 'Match', regexp)); } return factory_1.default.intersect(...conditions); }, }, { dependsOn: ['NotEqual'], replacer: leaf => factory_1.default.intersect(...leaf.value.map(item => leaf.override({ operator: 'NotEqual', value: item }))), }, ], LessThanOrEqual: [ { dependsOn: ['LessThan', 'Equal'], replacer: leaf => new branch_1.default('Or', [ new leaf_1.default(leaf.field, 'LessThan', leaf.value), new leaf_1.default(leaf.field, 'Equal', leaf.value), ]), }, ], GreaterThanOrEqual: [ { dependsOn: ['GreaterThan', 'Equal'], replacer: leaf => new branch_1.default('Or', [ new leaf_1.default(leaf.field, 'GreaterThan', leaf.value), new leaf_1.default(leaf.field, 'Equal', leaf.value), ]), }, ], }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyaXNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2VzL3F1ZXJ5L2NvbmRpdGlvbi10cmVlL3RyYW5zZm9ybXMvY29tcGFyaXNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlEQUE4QztBQUU5Qyw2REFBa0Q7QUFDbEQseURBQThDO0FBRzlDLGtCQUFlLEdBQTZDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEtBQUssRUFBRTtRQUNMO1lBQ0UsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2pCLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN2RTtRQUNEO1lBQ0UsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDekQ7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQO1lBQ0UsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNwRTtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1A7WUFDRSxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDcEIsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxR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