angular-pipes
Version:
Angular pipes library
34 lines • 3.78 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe, NgModule } from '@angular/core';
import { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';
let WithoutPipe = class WithoutPipe {
transform(input, ...args) {
if (!isArray(input) && !isDeepObject(input)) {
return input;
}
if (isDeepObject(input)) {
const unwrappedInput = unwrapDeep(input);
if (!isArray(unwrappedInput)) {
return unwrappedInput;
}
return unwrappedInput.filter((value) => deepIndexOf(args, value) === -1);
}
return input.filter((value) => args.indexOf(value) === -1);
}
};
WithoutPipe = tslib_1.__decorate([
Pipe({
name: 'without',
})
], WithoutPipe);
export { WithoutPipe };
let NgWithoutPipeModule = class NgWithoutPipeModule {
};
NgWithoutPipeModule = tslib_1.__decorate([
NgModule({
declarations: [WithoutPipe],
exports: [WithoutPipe],
})
], NgWithoutPipeModule);
export { NgWithoutPipeModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aG91dC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1waXBlcy8iLCJzb3VyY2VzIjpbImFycmF5L3dpdGhvdXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtoRixJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUM1QixPQUFPLGNBQWMsQ0FBQzthQUN2QjtZQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGLENBQUE7QUFqQlksV0FBVztJQUh2QixJQUFJLENBQUM7UUFDSixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDO0dBQ1csV0FBVyxDQWlCdkI7U0FqQlksV0FBVztBQXVCeEIsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7Q0FBRyxDQUFBO0FBQXRCLG1CQUFtQjtJQUovQixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDM0IsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO0tBQ3ZCLENBQUM7R0FDVyxtQkFBbUIsQ0FBRztTQUF0QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc0RlZXBPYmplY3QsIHVud3JhcERlZXAsIGRlZXBJbmRleE9mIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd3aXRob3V0JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpdGhvdXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGlucHV0OiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcclxuICAgIGlmICghaXNBcnJheShpbnB1dCkgJiYgIWlzRGVlcE9iamVjdChpbnB1dCkpIHtcclxuICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0RlZXBPYmplY3QoaW5wdXQpKSB7XHJcbiAgICAgIGNvbnN0IHVud3JhcHBlZElucHV0ID0gdW53cmFwRGVlcChpbnB1dCk7XHJcbiAgICAgIGlmICghaXNBcnJheSh1bndyYXBwZWRJbnB1dCkpIHtcclxuICAgICAgICByZXR1cm4gdW53cmFwcGVkSW5wdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB1bndyYXBwZWRJbnB1dC5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IGRlZXBJbmRleE9mKGFyZ3MsIHZhbHVlKSA9PT0gLTEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnB1dC5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IGFyZ3MuaW5kZXhPZih2YWx1ZSkgPT09IC0xKTtcclxuICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbV2l0aG91dFBpcGVdLFxyXG4gIGV4cG9ydHM6IFtXaXRob3V0UGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1dpdGhvdXRQaXBlTW9kdWxlIHt9XHJcbiJdfQ==