UNPKG

@catull/igniteui-angular

Version:

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

82 lines 10.1 kB
import { isDevMode } from '@angular/core'; /** * @hidden */ export function DeprecateMethod(message) { var isMessageShown = false; return function (target, key, descriptor) { if (descriptor && descriptor.value) { var originalMethod_1 = descriptor.value; descriptor.value = function () { var targetName = typeof target === 'function' ? target.name : target.constructor.name; isMessageShown = showMessage(targetName + "." + key + ": " + message, isMessageShown); return originalMethod_1.call(this, arguments); }; return descriptor; } }; } /** * @hidden */ export function DeprecateProperty(message) { return function (target, key) { var isMessageShown = false; var messageToDisplay = target.constructor.name + "." + key + ": " + message; // if the target already has the property defined var originalDescriptor = Object.getOwnPropertyDescriptor(target, key); if (originalDescriptor) { var getter_1, setter_1; getter_1 = originalDescriptor.get; setter_1 = originalDescriptor.set; if (getter_1) { originalDescriptor.get = function () { isMessageShown = showMessage(messageToDisplay, isMessageShown); return getter_1.call(this); }; } if (setter_1) { originalDescriptor.set = function (value) { isMessageShown = showMessage(messageToDisplay, isMessageShown); setter_1.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 var 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 */ function generateUniqueKey(target, key) { var newKey = '_' + key; while (target.hasOwnProperty(newKey)) { newKey = '_' + newKey; } return newKey; } /** * @hidden */ export function showMessage(message, isMessageShown) { if (!isMessageShown && isDevMode()) { console.warn(message); } return true; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlRGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9kZXByZWNhdGVEZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWU7SUFDM0MsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRTNCLE9BQU8sVUFBVSxNQUFXLEVBQUUsR0FBVyxFQUFFLFVBQThCO1FBQ3JFLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEMsSUFBTSxnQkFBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFFeEMsVUFBVSxDQUFDLEtBQUssR0FBRztnQkFDZixJQUFNLFVBQVUsR0FBRyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUN4RixjQUFjLEdBQUcsV0FBVyxDQUFJLFVBQVUsU0FBSSxHQUFHLFVBQUssT0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUVqRixPQUFPLGdCQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUM7WUFFRixPQUFPLFVBQVUsQ0FBQztTQUNyQjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sVUFBUyxNQUFXLEVBQUUsR0FBVztRQUNwQyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBTSxnQkFBZ0IsR0FBTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksU0FBSSxHQUFHLFVBQUssT0FBUyxDQUFDO1FBRXpFLGlEQUFpRDtRQUNqRCxJQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEUsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixJQUFJLFFBQU0sRUFBRSxRQUFNLENBQUM7WUFDbkIsUUFBTSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUNoQyxRQUFNLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBRWhDLElBQUksUUFBTSxFQUFFO2dCQUNSLGtCQUFrQixDQUFDLEdBQUcsR0FBRztvQkFDckIsY0FBYyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDL0QsT0FBTyxRQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUM7YUFDTDtZQUVELElBQUksUUFBTSxFQUFFO2dCQUNSLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxVQUFVLEtBQUs7b0JBQ3BDLGNBQWMsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQy9ELFFBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUM7YUFDTDtZQUVELE9BQU8sa0JBQWtCLENBQUM7U0FDN0I7UUFFRCwyRUFBMkU7UUFDM0UsMkdBQTJHO1FBQzNHLElBQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDL0IsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsR0FBRyxFQUFFLFVBQVMsS0FBSztnQkFDZixjQUFjLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxHQUFHLEVBQUU7Z0JBQ0QsY0FBYyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsaUJBQWlCLENBQUMsTUFBVyxFQUFFLEdBQVc7SUFDL0MsSUFBSSxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUN2QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7S0FDekI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWUsRUFBRSxjQUF1QjtJQUNoRSxJQUFJLENBQUMsY0FBYyxJQUFJLFNBQVMsRUFBRSxFQUFFO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDekI7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVwcmVjYXRlTWV0aG9kKG1lc3NhZ2U6IHN0cmluZyk6IE1ldGhvZERlY29yYXRvciB7XG4gICAgbGV0IGlzTWVzc2FnZVNob3duID0gZmFsc2U7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG4gICAgICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcblxuICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXROYW1lID0gdHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJyA/IHRhcmdldC5uYW1lIDogdGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICAgICAgICAgICAgaXNNZXNzYWdlU2hvd24gPSBzaG93TWVzc2FnZShgJHt0YXJnZXROYW1lfS4ke2tleX06ICR7bWVzc2FnZX1gLCBpc01lc3NhZ2VTaG93bik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxNZXRob2QuY2FsbCh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlcHJlY2F0ZVByb3BlcnR5KG1lc3NhZ2U6IHN0cmluZyk6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBpc01lc3NhZ2VTaG93biA9IGZhbHNlO1xuICAgICAgICBjb25zdCBtZXNzYWdlVG9EaXNwbGF5ID0gYCR7dGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWV9LiR7a2V5fTogJHttZXNzYWdlfWA7XG5cbiAgICAgICAgLy8gaWYgdGhlIHRhcmdldCBhbHJlYWR5IGhhcyB0aGUgcHJvcGVydHkgZGVmaW5lZFxuICAgICAgICBjb25zdCBvcmlnaW5hbERlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KTtcbiAgICAgICAgaWYgKG9yaWdpbmFsRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgbGV0IGdldHRlciwgc2V0dGVyO1xuICAgICAgICAgICAgZ2V0dGVyID0gb3JpZ2luYWxEZXNjcmlwdG9yLmdldDtcbiAgICAgICAgICAgIHNldHRlciA9IG9yaWdpbmFsRGVzY3JpcHRvci5zZXQ7XG5cbiAgICAgICAgICAgIGlmIChnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbERlc2NyaXB0b3IuZ2V0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzTWVzc2FnZVNob3duID0gc2hvd01lc3NhZ2UobWVzc2FnZVRvRGlzcGxheSwgaXNNZXNzYWdlU2hvd24pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0dGVyLmNhbGwodGhpcyk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldHRlcikge1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsRGVzY3JpcHRvci5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNNZXNzYWdlU2hvd24gPSBzaG93TWVzc2FnZShtZXNzYWdlVG9EaXNwbGF5LCBpc01lc3NhZ2VTaG93bik7XG4gICAgICAgICAgICAgICAgICAgIHNldHRlci5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxEZXNjcmlwdG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIHRhcmdldCBkb2Vzbid0IGNvbnRhaW4gYSBkZXNjcmlwdG9yIGZvciB0aGF0IHByb3BlcnR5LCBzbyBjcmVhdGUgb25lXG4gICAgICAgIC8vIHVzZSBiYWNraW5nIGZpZWxkIHRvIHNldC9nZXQgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSB0byBlbnN1cmUgdGhlcmUgd29uJ3QgYmUgaW5maW5pdGUgcmVjdXJzaXZlIGNhbGxzXG4gICAgICAgIGNvbnN0IG5ld0tleSA9IGdlbmVyYXRlVW5pcXVlS2V5KHRhcmdldCwga2V5KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlzTWVzc2FnZVNob3duID0gc2hvd01lc3NhZ2UobWVzc2FnZVRvRGlzcGxheSwgaXNNZXNzYWdlU2hvd24pO1xuICAgICAgICAgICAgICAgIHRoaXNbbmV3S2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgaXNNZXNzYWdlU2hvd24gPSBzaG93TWVzc2FnZShtZXNzYWdlVG9EaXNwbGF5LCBpc01lc3NhZ2VTaG93bik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbbmV3S2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlVW5pcXVlS2V5KHRhcmdldDogYW55LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IG5ld0tleSA9ICdfJyArIGtleTtcbiAgICB3aGlsZSAodGFyZ2V0Lmhhc093blByb3BlcnR5KG5ld0tleSkpIHtcbiAgICAgICAgbmV3S2V5ID0gJ18nICsgbmV3S2V5O1xuICAgIH1cblxuICAgIHJldHVybiBuZXdLZXk7XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd01lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBpc01lc3NhZ2VTaG93bjogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICghaXNNZXNzYWdlU2hvd24gJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xufVxuIl19