UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

107 lines 10.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isDevMode } from '@angular/core'; /** * @hidden * @param {?} message * @return {?} */ export function DeprecateMethod(message) { /** @type {?} */ let isMessageShown = false; return function (target, key, descriptor) { if (descriptor && descriptor.value) { /** @type {?} */ const originalMethod = descriptor.value; descriptor.value = function () { /** @type {?} */ const targetName = typeof target === 'function' ? target.name : target.constructor.name; isMessageShown = showMessage(`${targetName}.${key}: ${message}`, isMessageShown); return originalMethod.call(this, arguments); }; return descriptor; } }; } /** * @hidden * @param {?} message * @return {?} */ export function DeprecateProperty(message) { return function (target, key) { /** @type {?} */ let isMessageShown = false; /** @type {?} */ const messageToDisplay = `${target.constructor.name}.${key}: ${message}`; // if the target already has the property defined /** @type {?} */ const originalDescriptor = Object.getOwnPropertyDescriptor(target, key); if (originalDescriptor) { /** @type {?} */ let getter; /** @type {?} */ let setter; getter = originalDescriptor.get; setter = originalDescriptor.set; if (getter) { originalDescriptor.get = function () { isMessageShown = showMessage(messageToDisplay, isMessageShown); return getter.call(this); }; } if (setter) { originalDescriptor.set = function (value) { isMessageShown = showMessage(messageToDisplay, isMessageShown); setter.call(this, value); }; } return originalDescriptor; } // the target doesn't contain a descriptor for that property, so create one // use backing field to set/get the value of the property to ensure there won't be infinite recursive calls /** @type {?} */ const newKey = generateUniqueKey(target, key); Object.defineProperty(target, key, { configurable: true, enumerable: true, set: function (value) { isMessageShown = showMessage(messageToDisplay, isMessageShown); this[newKey] = value; }, get: function () { isMessageShown = showMessage(messageToDisplay, isMessageShown); return this[newKey]; } }); }; } /** * @hidden * @param {?} target * @param {?} key * @return {?} */ function generateUniqueKey(target, key) { /** @type {?} */ let newKey = '_' + key; while (target.hasOwnProperty(newKey)) { newKey = '_' + newKey; } return newKey; } /** * @hidden * @param {?} message * @param {?} isMessageShown * @return {?} */ export function showMessage(message, isMessageShown) { if (!isMessageShown && isDevMode()) { console.warn(message); } return true; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlRGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9kZXByZWNhdGVEZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFLMUMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFlOztRQUN2QyxjQUFjLEdBQUcsS0FBSztJQUUxQixPQUFPLFVBQVUsTUFBVyxFQUFFLEdBQVcsRUFBRSxVQUE4QjtRQUNyRSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFOztrQkFDMUIsY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLO1lBRXZDLFVBQVUsQ0FBQyxLQUFLLEdBQUc7O3NCQUNULFVBQVUsR0FBRyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDdkYsY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLFVBQVUsSUFBSSxHQUFHLEtBQUssT0FBTyxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBRWpGLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDO1lBRUYsT0FBTyxVQUFVLENBQUM7U0FDckI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDOzs7Ozs7QUFLRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBZTtJQUM3QyxPQUFPLFVBQVMsTUFBVyxFQUFFLEdBQVc7O1lBQ2hDLGNBQWMsR0FBRyxLQUFLOztjQUNwQixnQkFBZ0IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7OztjQUdsRSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN2RSxJQUFJLGtCQUFrQixFQUFFOztnQkFDaEIsTUFBTTs7Z0JBQUUsTUFBTTtZQUNsQixNQUFNLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7WUFFaEMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1Isa0JBQWtCLENBQUMsR0FBRyxHQUFHO29CQUNyQixjQUFjLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUMvRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQzthQUNMO1lBRUQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1Isa0JBQWtCLENBQUMsR0FBRyxHQUFHLFVBQVUsS0FBSztvQkFDcEMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQzthQUNMO1lBRUQsT0FBTyxrQkFBa0IsQ0FBQztTQUM3Qjs7OztjQUlLLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUMvQixZQUFZLEVBQUUsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixHQUFHLEVBQUUsVUFBUyxLQUFLO2dCQUNmLGNBQWMsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEdBQUcsRUFBRTtnQkFDRCxjQUFjLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ04sQ0FBQzs7Ozs7OztBQUtELFNBQVMsaUJBQWlCLENBQUMsTUFBVyxFQUFFLEdBQVc7O1FBQzNDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRztJQUN0QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7S0FDekI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDOzs7Ozs7O0FBS0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFlLEVBQUUsY0FBdUI7SUFDaEUsSUFBSSxDQUFDLGNBQWMsSUFBSSxTQUFTLEVBQUUsRUFBRTtRQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3pCO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlcHJlY2F0ZU1ldGhvZChtZXNzYWdlOiBzdHJpbmcpOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIGxldCBpc01lc3NhZ2VTaG93biA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgICAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG5cbiAgICAgICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0TmFtZSA9IHR5cGVvZiB0YXJnZXQgPT09ICdmdW5jdGlvbicgPyB0YXJnZXQubmFtZSA6IHRhcmdldC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgICAgICAgICAgIGlzTWVzc2FnZVNob3duID0gc2hvd01lc3NhZ2UoYCR7dGFyZ2V0TmFtZX0uJHtrZXl9OiAke21lc3NhZ2V9YCwgaXNNZXNzYWdlU2hvd24pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsTWV0aG9kLmNhbGwodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEZXByZWNhdGVQcm9wZXJ0eShtZXNzYWdlOiBzdHJpbmcpOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBrZXk6IHN0cmluZykge1xuICAgICAgICBsZXQgaXNNZXNzYWdlU2hvd24gPSBmYWxzZTtcbiAgICAgICAgY29uc3QgbWVzc2FnZVRvRGlzcGxheSA9IGAke3RhcmdldC5jb25zdHJ1Y3Rvci5uYW1lfS4ke2tleX06ICR7bWVzc2FnZX1gO1xuXG4gICAgICAgIC8vIGlmIHRoZSB0YXJnZXQgYWxyZWFkeSBoYXMgdGhlIHByb3BlcnR5IGRlZmluZWRcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSk7XG4gICAgICAgIGlmIChvcmlnaW5hbERlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIGxldCBnZXR0ZXIsIHNldHRlcjtcbiAgICAgICAgICAgIGdldHRlciA9IG9yaWdpbmFsRGVzY3JpcHRvci5nZXQ7XG4gICAgICAgICAgICBzZXR0ZXIgPSBvcmlnaW5hbERlc2NyaXB0b3Iuc2V0O1xuXG4gICAgICAgICAgICBpZiAoZ2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxEZXNjcmlwdG9yLmdldCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBpc01lc3NhZ2VTaG93biA9IHNob3dNZXNzYWdlKG1lc3NhZ2VUb0Rpc3BsYXksIGlzTWVzc2FnZVNob3duKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldHRlci5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbERlc2NyaXB0b3Iuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzTWVzc2FnZVNob3duID0gc2hvd01lc3NhZ2UobWVzc2FnZVRvRGlzcGxheSwgaXNNZXNzYWdlU2hvd24pO1xuICAgICAgICAgICAgICAgICAgICBzZXR0ZXIuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRGVzY3JpcHRvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoZSB0YXJnZXQgZG9lc24ndCBjb250YWluIGEgZGVzY3JpcHRvciBmb3IgdGhhdCBwcm9wZXJ0eSwgc28gY3JlYXRlIG9uZVxuICAgICAgICAvLyB1c2UgYmFja2luZyBmaWVsZCB0byBzZXQvZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gZW5zdXJlIHRoZXJlIHdvbid0IGJlIGluZmluaXRlIHJlY3Vyc2l2ZSBjYWxsc1xuICAgICAgICBjb25zdCBuZXdLZXkgPSBnZW5lcmF0ZVVuaXF1ZUtleSh0YXJnZXQsIGtleSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpc01lc3NhZ2VTaG93biA9IHNob3dNZXNzYWdlKG1lc3NhZ2VUb0Rpc3BsYXksIGlzTWVzc2FnZVNob3duKTtcbiAgICAgICAgICAgICAgICB0aGlzW25ld0tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIGlzTWVzc2FnZVNob3duID0gc2hvd01lc3NhZ2UobWVzc2FnZVRvRGlzcGxheSwgaXNNZXNzYWdlU2hvd24pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW25ld0tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBnZW5lcmF0ZVVuaXF1ZUtleSh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBuZXdLZXkgPSAnXycgKyBrZXk7XG4gICAgd2hpbGUgKHRhcmdldC5oYXNPd25Qcm9wZXJ0eShuZXdLZXkpKSB7XG4gICAgICAgIG5ld0tleSA9ICdfJyArIG5ld0tleTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3S2V5O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3dNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgaXNNZXNzYWdlU2hvd246IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNob3duICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==