UNPKG

pk-template

Version:
45 lines 4.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const buildPredicate = (src) => { const nv = src.split('='); if (nv.length > 1) { const lname = nv[0]; const value = nv[1]; if (lname[0] === '!') { const aname = lname.substring(1); return (object) => object.metadata && object.metadata.annotations && (value === '*' ? aname in object.metadata.annotations : object.metadata.annotations[aname] === value); } return (object) => object.metadata && object.metadata.labels && (value === '*' ? lname in object.metadata.labels : object.metadata.labels[lname] === value); } else if (src[0] === '.') { const name = src.substr(1); return (object) => object.metadata && object.metadata.name == name; } else { return (object) => src === '*' ? true : object.kind === src; } }; const selectors = { compileOne: (src) => { const predicates = src.split(/\s+/).map(buildPredicate); return (object) => predicates.every(pred => pred(object)); }, compile: (src) => { if (typeof src === 'string') { src = [src]; } const predicates = src.map(selectors.compileOne); return (object) => predicates.some(pred => pred(object)); } }; exports.default = selectors; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLXRlbXBsYXRlL3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBVyxFQUFtQixFQUFFO0lBQ3RELE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUIsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNyQixNQUFNLENBQUMsUUFBUTtnQkFDZixNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVc7Z0JBQzNCLENBQ0UsS0FBSyxLQUFLLEdBQUc7b0JBQ1gsQ0FBQyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVc7b0JBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQ2pELENBQUM7U0FDTDtRQUNELE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNyQixNQUFNLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUN0QixDQUNFLEtBQUssS0FBSyxHQUFHO2dCQUNYLENBQUMsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUNqQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUM1QyxDQUFDO0tBQ0w7U0FBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7UUFDekIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FDckIsTUFBTSxDQUFDLFFBQVE7WUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7S0FDaEM7U0FBTTtRQUNMLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7S0FDbEU7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUsQ0FBQyxHQUFXLEVBQW1CLEVBQUU7UUFDM0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFzQixFQUFtQixFQUFFO1FBQ25ELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2I7UUFDRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGLENBQUM7QUFFRixrQkFBZSxTQUFTLENBQUMifQ==