@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
40 lines • 4.05 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
export class IsEmptyPipe {
/**
* Check if is value is empty.
* @param value
* @returns True for:
* - null
* - undefined
* - Array if Array.length === 0
* - String if string.length === 0
* - Object with no keys
* - (Set | Map).size === 0
* otherwise false.
*/
transform(value) {
if (value === null || value === undefined)
return true;
if (Array.isArray(value))
return value.length === 0;
if (value instanceof Set)
return value.size === 0;
if (value instanceof Map)
return value.size === 0;
if ((typeof value) === 'string')
return value.length === 0;
if ((typeof value) === 'object')
return Object.keys(value).length === 0;
return false;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsEmptyPipe, name: "isEmpty" });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsEmptyPipe, decorators: [{
type: Pipe,
args: [{
name: 'isEmpty',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW1wdHkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXRpbGl0eS9pcy1lbXB0eS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxNQUFNLE9BQU8sV0FBVztJQUVwQjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFNBQVMsQ0FBQyxLQUE4RTtRQUNwRixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN2RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBUSxLQUF3QixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDeEUsSUFBSSxLQUFLLFlBQVksR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxLQUFLLFlBQVksR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLEtBQUssUUFBUTtZQUFFLE9BQVEsS0FBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxLQUFLLFFBQVE7WUFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RSxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQXRCUSxXQUFXO3NHQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc0VtcHR5Jyxcbn0pXG5leHBvcnQgY2xhc3MgSXNFbXB0eVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGlzIHZhbHVlIGlzIGVtcHR5LlxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFRydWUgZm9yOlxuICAgICAqICAtIG51bGxcbiAgICAgKiAgLSB1bmRlZmluZWRcbiAgICAgKiAgLSBBcnJheSBpZiBBcnJheS5sZW5ndGggPT09IDBcbiAgICAgKiAgLSBTdHJpbmcgaWYgc3RyaW5nLmxlbmd0aCA9PT0gMFxuICAgICAqICAtIE9iamVjdCB3aXRoIG5vIGtleXNcbiAgICAgKiAgLSAoU2V0IHwgTWFwKS5zaXplID09PSAwXG4gICAgICogIG90aGVyd2lzZSBmYWxzZS5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEFycmF5PHVua25vd24+IHwgT2JqZWN0IHwgc3RyaW5nIHwgU2V0PHVua25vd24+IHwgTWFwPHVua25vd24sIHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gKHZhbHVlIGFzIEFycmF5PHVua25vd24+KS5sZW5ndGggPT09IDA7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkgcmV0dXJuIHZhbHVlLnNpemUgPT09IDA7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgcmV0dXJuIHZhbHVlLnNpemUgPT09IDA7XG4gICAgICAgIGlmICgodHlwZW9mIHZhbHVlKSA9PT0gJ3N0cmluZycpIHJldHVybiAodmFsdWUgYXMgc3RyaW5nKS5sZW5ndGggPT09IDA7XG4gICAgICAgIGlmICgodHlwZW9mIHZhbHVlKSA9PT0gJ29iamVjdCcpIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG59XG4iXX0=