UNPKG

ngx-mat-lib

Version:

A bunch of utilities and components to use in your Angular 7+ apps!

29 lines (28 loc) 3.01 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { indexOf } from "lodash"; /** * A selection must match (or must not) * one of a given list * @param {?} sourceOptions * @param {?=} controlKey * @param {?=} reverse * @return {?} */ export function xmatValidListSelection(sourceOptions, controlKey = void 0, reverse = false) { return (control) => { /** @type {?} */ const value = controlKey ? control.value[controlKey] : control.value; if (!value) { return null; } /** @type {?} */ const matchIndex = indexOf(sourceOptions, value); /** @type {?} */ const isValid = reverse ? matchIndex < 0 : matchIndex > -1; return isValid ? null : { "invalidListSelection": { value: control.value } }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC12YWxpZC1saXN0LXNlbGVjdGlvbi52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdC1saWIvIiwic291cmNlcyI6WyJsaWIvdmFsaWRhdG9ycy94bWF0LXZhbGlkLWxpc3Qtc2VsZWN0aW9uLnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztBQU1qQyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsYUFBb0IsRUFBRSxhQUFxQixLQUFLLENBQUMsRUFBRSxVQUFtQixLQUFLO0lBRTlHLE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFOztRQUN4RCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7O1FBQ0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQzs7UUFDakQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFM0QsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztLQUNoRixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBpbmRleE9mIH0gZnJvbSBcImxvZGFzaFwiO1xuXG4vKipcbiAqIEEgc2VsZWN0aW9uIG11c3QgbWF0Y2ggKG9yIG11c3Qgbm90KVxuICogb25lIG9mIGEgZ2l2ZW4gbGlzdFxuICovXG5leHBvcnQgZnVuY3Rpb24geG1hdFZhbGlkTGlzdFNlbGVjdGlvbihzb3VyY2VPcHRpb25zOiBhbnlbXSwgY29udHJvbEtleTogc3RyaW5nID0gdm9pZCAwLCByZXZlcnNlOiBib29sZWFuID0gZmFsc2UpOiBWYWxpZGF0b3JGbiB7XG5cbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2xLZXkgPyBjb250cm9sLnZhbHVlW2NvbnRyb2xLZXldIDogY29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IGluZGV4T2Yoc291cmNlT3B0aW9ucywgdmFsdWUpO1xuICAgICAgICBjb25zdCBpc1ZhbGlkID0gcmV2ZXJzZSA/IG1hdGNoSW5kZXggPCAwIDogbWF0Y2hJbmRleCA+IC0xO1xuXG4gICAgICAgIHJldHVybiBpc1ZhbGlkID8gbnVsbCA6IHsgXCJpbnZhbGlkTGlzdFNlbGVjdGlvblwiOiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH0gfTtcbiAgICB9O1xufVxuIl19