UNPKG

ngx-pluto

Version:
147 lines 13.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Observable } from "rxjs/internal/Observable"; /** * @ignore */ // @dynamic export class Utils { /** * @param {?} hex * @return {?} */ static hexToRgb(hex) { /** @type {?} */ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; } /** * @return {?} */ static ID() { // Math.random should be unique because of its seeding algorithm. // Convert it to base 36 (numbers + letters), and grab the first 9 characters // after the decimal. return '_' + Math.random().toString(36).substr(2, 9); } /** * @param {?} a * @param {?} b * @return {?} */ static objEqual(a, b) { // Create arrays of property names /** @type {?} */ var aProps = Object.getOwnPropertyNames(a); /** @type {?} */ var bProps = Object.getOwnPropertyNames(b); // If number of properties is different, // objects are not equivalent if (aProps.length != bProps.length) { return false; } for (var i = 0; i < aProps.length; i++) { /** @type {?} */ var propName = aProps[i]; // If values of same property are not equal, // objects are not equivalent if (a[propName] !== b[propName]) { return false; } } // If we made it this far, objects // are considered equivalent return true; } /** * @param {?} value * @return {?} */ static toBoolean(value) { return value != null && `${value}` !== 'false'; } /** * @param {?} file * @param {?} maxWidth * @param {?} maxHeight * @return {?} */ static checkImgWidthAndHeight(file, maxWidth, maxHeight) { return Observable.create((/** * @param {?} observer * @return {?} */ (observer) => { /** @type {?} */ let isAllow = false; if (file) { /** @type {?} */ let reader = new FileReader(); reader.onload = (/** * @param {?} e * @return {?} */ (e) => { /** @type {?} */ let data = e.target.result; /** @type {?} */ let image = new Image(); image.onload = (/** * @return {?} */ () => { /** @type {?} */ let width = image.width; /** @type {?} */ let height = image.height; isAllow = width === maxWidth && height === maxHeight; observer.next(isAllow); observer.complete(); }); image.src = data; }); reader.readAsDataURL(file); } })); } /** * @param {?} key * @param {?=} order * @return {?} */ static compareValues(key, order = 'asc') { return (/** * @param {?} a * @param {?} b * @return {?} */ function innerSort(a, b) { if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) { // property doesn't exist on either object return 0; } /** @type {?} */ const varA = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key]; /** @type {?} */ const varB = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key]; /** @type {?} */ let comparison = 0; if (varA > varB) { comparison = 1; } else if (varA < varB) { comparison = -1; } return ((order === 'desc') ? (comparison * -1) : comparison); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcGx1dG8vIiwic291cmNlcyI6WyJsaWIvY29tbW9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBTXRELE1BQU0sT0FBTyxLQUFLOzs7OztJQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRzs7WUFDWCxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDWixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFCLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUM3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLEVBQUU7UUFDTCxpRUFBaUU7UUFDakUsNkVBQTZFO1FBQzdFLHFCQUFxQjtRQUNyQixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Ozs7O0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFNLEVBQUUsQ0FBTTs7O1lBRXRCLE1BQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOztZQUN0QyxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUUxQyx3Q0FBd0M7UUFDeEMsNkJBQTZCO1FBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0s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SSxFQUFFO2dCQUNwQixVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkI7WUFDRCxPQUFPLENBQ0gsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FDdEQsQ0FBQztRQUNOLENBQUMsRUFBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICAgIHN0YXRpYyBoZXhUb1JnYihoZXgpIHtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA/IHtcclxuICAgICAgICAgICAgcjogcGFyc2VJbnQocmVzdWx0WzFdLCAxNiksXHJcbiAgICAgICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxyXG4gICAgICAgICAgICBiOiBwYXJzZUludChyZXN1bHRbM10sIDE2KVxyXG4gICAgICAgIH0gOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBJRCgpIHtcclxuICAgICAgICAvLyBNYXRoLnJhbmRvbSBzaG91bGQgYmUgdW5pcXVlIGJlY2F1c2Ugb2YgaXRzIHNlZWRpbmcgYWxnb3JpdGhtLlxyXG4gICAgICAgIC8vIENvbnZlcnQgaXQgdG8gYmFzZSAzNiAobnVtYmVycyArIGxldHRlcnMpLCBhbmQgZ3JhYiB0aGUgZmlyc3QgOSBjaGFyYWN0ZXJzXHJcbiAgICAgICAgLy8gYWZ0ZXIgdGhlIGRlY2ltYWwuXHJcbiAgICAgICAgcmV0dXJuICdfJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgb2JqRXF1YWwoYTogYW55LCBiOiBhbnkpIHtcclxuICAgICAgICAvLyBDcmVhdGUgYXJyYXlzIG9mIHByb3BlcnR5IG5hbWVzXHJcbiAgICAgICAgdmFyIGFQcm9wcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpO1xyXG4gICAgICAgIHZhciBiUHJvcHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiKTtcclxuXHJcbiAgICAgICAgLy8gSWYgbnVtYmVyIG9mIHByb3BlcnRpZXMgaXMgZGlmZmVyZW50LFxyXG4gICAgICAgIC8vIG9iamVjdHMgYXJlIG5vdCBlcXVpdmFsZW50XHJcbiAgICAgICAgaWYgKGFQcm9wcy5sZW5ndGggIT0gYlByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFQcm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgcHJvcE5hbWUgPSBhUHJvcHNbaV07XHJcblxyXG4gICAgICAgICAgICAvLyBJZiB2YWx1ZXMgb2Ygc2FtZSBwcm9wZXJ0eSBhcmUgbm90IGVxdWFsLFxyXG4gICAgICAgICAgICAvLyBvYmplY3RzIGFyZSBub3QgZXF1aXZhbGVudFxyXG4gICAgICAgICAgICBpZiAoYVtwcm9wTmFtZV0gIT09IGJbcHJvcE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElmIHdlIG1hZGUgaXQgdGhpcyBmYXIsIG9iamVjdHNcclxuICAgICAgICAvLyBhcmUgY29uc2lkZXJlZCBlcXVpdmFsZW50XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHRvQm9vbGVhbih2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY2hlY2tJbWdXaWR0aEFuZEhlaWdodChmaWxlOiBhbnksIG1heFdpZHRoOiBudW1iZXIsIG1heEhlaWdodDogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBpc0FsbG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSBpbWFnZS53aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGhlaWdodCA9IGltYWdlLmhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNBbGxvdyA9IHdpZHRoID09PSBtYXhXaWR0aCAmJiBoZWlnaHQgPT09IG1heEhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChpc0FsbG93KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlLnNyYyA9IGRhdGE7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNvbXBhcmVWYWx1ZXMoa2V5OiBzdHJpbmcsIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyU29ydChhLCBiKSB7XHJcbiAgICAgICAgICAgIGlmICghYS5oYXNPd25Qcm9wZXJ0eShrZXkpIHx8ICFiLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgIC8vIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3Qgb24gZWl0aGVyIG9iamVjdFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHZhckEgPSAodHlwZW9mIGFba2V5XSA9PT0gJ3N0cmluZycpXHJcbiAgICAgICAgICAgICAgICA/IGFba2V5XS50b1VwcGVyQ2FzZSgpIDogYVtrZXldO1xyXG4gICAgICAgICAgICBjb25zdCB2YXJCID0gKHR5cGVvZiBiW2tleV0gPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgICAgICAgPyBiW2tleV0udG9VcHBlckNhc2UoKSA6IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgIGxldCBjb21wYXJpc29uID0gMDtcclxuICAgICAgICAgICAgaWYgKHZhckEgPiB2YXJCKSB7XHJcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uID0gMTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YXJBIDwgdmFyQikge1xyXG4gICAgICAgICAgICAgICAgY29tcGFyaXNvbiA9IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAob3JkZXIgPT09ICdkZXNjJykgPyAoY29tcGFyaXNvbiAqIC0xKSA6IGNvbXBhcmlzb25cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59Il19