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