UNPKG

@vicoders/angular

Version:

- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)

109 lines 8.82 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as _ from 'lodash'; var Model = /** @class */ (function () { function Model() { } /** * @param {?=} options * @param {?=} keep_function * @return {?} */ Model.prototype.bind = /** * @param {?=} options * @param {?=} keep_function * @return {?} */ function (options, keep_function) { var _this = this; if (options === void 0) { options = {}; } if (keep_function === void 0) { keep_function = false; } // tslint:disable-next-line:forin for (var k in options) { /** @type {?} */ var v = options[k]; if (typeof v === 'function') { if (keep_function === true) { this[k] = v; } continue; } if (v !== null && v !== undefined) { if (typeof this[k] === 'function') { this[k] = this[k](v); } else { this[k] = v; } } Object.getOwnPropertyNames(this).forEach(function (property) { if (options[property] === null || options[property] === undefined) { delete _this[property]; } else { /** @type {?} */ var proto = Object.getPrototypeOf(_this); // tslint:disable-next-line:prefer-const /** @type {?} */ var method = _this.camelCase('get_' + property); proto[method] = function () { return this[property]; }; } }); } }; /** * @template THIS * @this {THIS} * @param {?} fields * @return {THIS} */ Model.prototype._backup = /** * @template THIS * @this {THIS} * @param {?} fields * @return {THIS} */ function (fields) { /** @type {?} */ var data = _.pick((/** @type {?} */ (this)), fields); ((/** @type {?} */ ((/** @type {?} */ (this)))))._origin = { fields: fields, data: data }; return (/** @type {?} */ (this)); }; /** * @return {?} */ Model.prototype._isChanged = /** * @return {?} */ function () { /** @type {?} */ var data = _.pick(this, ((/** @type {?} */ (this)))._origin.fields); return !_.isEqual(data, ((/** @type {?} */ (this)))._origin.data); }; /** * @param {?} string * @return {?} */ Model.prototype.camelCase = /** * @param {?} string * @return {?} */ function (string) { string = string.toLowerCase(); string = string.replace(/[^a-z0-9]/g, ' '); string = string.replace(/\s{2}/g, ''); string = string.replace(/\w+/g, function (match) { return match.replace(/\b./, function (item) { return item.toUpperCase(); }); }); string = string.replace(/\s/g, ''); string = string.replace(/\b./, function (item) { return item.toLowerCase(); }); return string; }; return Model; }()); export default Model; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Admljb2RlcnMvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCO0lBQUE7SUF3REEsQ0FBQzs7Ozs7O0lBdkRDLG9CQUFJOzs7OztJQUFKLFVBQUssT0FBWSxFQUFFLGFBQXFCO1FBQXhDLGlCQStCQztRQS9CSSx3QkFBQSxFQUFBLFlBQVk7UUFBRSw4QkFBQSxFQUFBLHFCQUFxQjtRQUN0QyxpQ0FBaUM7UUFDakMsS0FBSyxJQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7O2dCQUNqQixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDM0IsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFO29CQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNiO2dCQUNELFNBQVM7YUFDVjtZQUVELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUNqQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDYjthQUNGO1lBQ0QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFFBQVE7Z0JBQy9DLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUNqRSxPQUFPLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkI7cUJBQU07O3dCQUNDLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQzs7O3dCQUVyQyxNQUFNLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO29CQUM5QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUc7d0JBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLENBQUMsQ0FBQztpQkFDSDtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7Ozs7O0lBRUQsdUJBQU87Ozs7OztJQUFQLFVBQVEsTUFBZ0I7O1lBQ2hCLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFBLElBQUksRUFBQSxFQUFFLE1BQU0sQ0FBQztRQUNqQyxDQUFDLG1CQUFBLG1CQUFBLElBQUksRUFBQSxFQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxNQUFNLFFBQUEsRUFBRSxJQUFJLE1BQUEsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sbUJBQUEsSUFBSSxFQUFBLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsMEJBQVU7OztJQUFWOztZQUNRLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLG1CQUFBLElBQUksRUFBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBQSxJQUFJLEVBQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7OztJQUVELHlCQUFTOzs7O0lBQVQsVUFBVSxNQUFNO1FBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFTLEtBQUs7WUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQXhERCxJQXdEQztBQUVELGVBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5jbGFzcyBNb2RlbCB7XG4gIGJpbmQob3B0aW9ucyA9IHt9LCBrZWVwX2Z1bmN0aW9uID0gZmFsc2UpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cbiAgICBmb3IgKGNvbnN0IGsgaW4gb3B0aW9ucykge1xuICAgICAgY29uc3QgdiA9IG9wdGlvbnNba107XG4gICAgICBpZiAodHlwZW9mIHYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKGtlZXBfZnVuY3Rpb24gPT09IHRydWUpIHtcbiAgICAgICAgICB0aGlzW2tdID0gdjtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpc1trXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHRoaXNba10gPSB0aGlzW2tdKHYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXNba10gPSB2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKS5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbnNbcHJvcGVydHldID09PSBudWxsIHx8IG9wdGlvbnNbcHJvcGVydHldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpc1twcm9wZXJ0eV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7XG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnByZWZlci1jb25zdFxuICAgICAgICAgIGxldCBtZXRob2QgPSB0aGlzLmNhbWVsQ2FzZSgnZ2V0XycgKyBwcm9wZXJ0eSk7XG4gICAgICAgICAgcHJvdG9bbWV0aG9kXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXNbcHJvcGVydHldO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIF9iYWNrdXAoZmllbGRzOiBTdHJpbmdbXSkge1xuICAgIGNvbnN0IGRhdGEgPSBfLnBpY2sodGhpcywgZmllbGRzKTtcbiAgICAodGhpcyBhcyBhbnkpLl9vcmlnaW4gPSB7IGZpZWxkcywgZGF0YSB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgX2lzQ2hhbmdlZCgpOiBCb29sZWFuIHtcbiAgICBjb25zdCBkYXRhID0gXy5waWNrKHRoaXMsICh0aGlzIGFzIGFueSkuX29yaWdpbi5maWVsZHMpO1xuICAgIHJldHVybiAhXy5pc0VxdWFsKGRhdGEsICh0aGlzIGFzIGFueSkuX29yaWdpbi5kYXRhKTtcbiAgfVxuXG4gIGNhbWVsQ2FzZShzdHJpbmcpOiBhbnkge1xuICAgIHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC9bXmEtejAtOV0vZywgJyAnKTtcbiAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXFxzezJ9L2csICcnKTtcbiAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXFx3Ky9nLCBmdW5jdGlvbihtYXRjaCkge1xuICAgICAgcmV0dXJuIG1hdGNoLnJlcGxhY2UoL1xcYi4vLCBpdGVtID0+IGl0ZW0udG9VcHBlckNhc2UoKSk7XG4gICAgfSk7XG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1xcYi4vLCBpdGVtID0+IGl0ZW0udG9Mb3dlckNhc2UoKSk7XG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNb2RlbDtcbiJdfQ==