UNPKG

@angular-package/property

Version:
41 lines 7.09 kB
var _Descriptors_descriptors; import { __classPrivateFieldGet } from "tslib"; import { Descriptor } from './descriptor.class'; export class Descriptors { constructor(obj, ...keys) { _Descriptors_descriptors.set(this, new Map()); Array.isArray(keys) && keys.length > 0 ? this.setPicked(obj, ...keys) : this.setAll(obj); } get descriptors() { return __classPrivateFieldGet(this, _Descriptors_descriptors, "f"); } get(key) { return __classPrivateFieldGet(this, _Descriptors_descriptors, "f").get(key); } getAll() { return Array.from(__classPrivateFieldGet(this, _Descriptors_descriptors, "f").entries()); } has(key) { return __classPrivateFieldGet(this, _Descriptors_descriptors, "f").has(key); } set(key, value) { __classPrivateFieldGet(this, _Descriptors_descriptors, "f").set(key, value); return this; } setAll(object) { const objectDescriptors = Descriptor.getAll(object); typeof objectDescriptors === 'object' && Object.keys(objectDescriptors).forEach((key) => __classPrivateFieldGet(this, _Descriptors_descriptors, "f").set(key, objectDescriptors[key])); return this; } setPicked(obj, ...keys) { const pickedDescriptors = Descriptor.pick(obj, ...keys); typeof pickedDescriptors === 'object' && Object.keys(pickedDescriptors).forEach((key) => __classPrivateFieldGet(this, _Descriptors_descriptors, "f").set(key, pickedDescriptors[key])); return this; } } _Descriptors_descriptors = new WeakMap(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcm9wZXJ0eS9zcmMvZGVzY3JpcHRvci9saWIvZGVzY3JpcHRvcnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJaEQsTUFBTSxPQUFPLFdBQVc7SUF3QnRCLFlBQVksR0FBUSxFQUFFLEdBQUcsSUFBWTtRQVJyQyxtQ0FBOEMsSUFBSSxHQUFHLEVBQUUsRUFBQztRQVN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQW5CRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyx1QkFBQSxJQUFJLGdDQUFhLENBQUM7SUFDM0IsQ0FBQztJQXlCTSxHQUFHLENBQUMsR0FBUztRQUNsQixPQUFPLHVCQUFBLElBQUksZ0NBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQVFNLE1BQU07UUFDWCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxnQ0FBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQVFNLEdBQUcsQ0FBQyxHQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxnQ0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBU00sR0FBRyxDQUFDLEdBQVMsRUFBRSxLQUF5QjtRQUM3Qyx1QkFBQSxJQUFJLGdDQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFPTSxNQUFNLENBQW1CLE1BQVc7UUFFekMsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBELE9BQU8saUJBQWlCLEtBQUssUUFBUTtZQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDN0MsdUJBQUEsSUFBSSxnQ0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFVLEVBQUUsaUJBQWlCLENBQUMsR0FBVSxDQUFDLENBQUMsQ0FDakUsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVNNLFNBQVMsQ0FBbUIsR0FBUSxFQUFFLEdBQUcsSUFBVztRQUV6RCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFeEQsT0FBTyxpQkFBaUIsS0FBSyxRQUFRO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUM3Qyx1QkFBQSxJQUFJLGdDQUFhLENBQUMsR0FBRyxDQUFDLEdBQVUsRUFBRSxpQkFBaUIsQ0FBQyxHQUFVLENBQUMsQ0FBQyxDQUNqRSxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnLi9kZXNjcmlwdG9yLmNsYXNzJztcbi8qKlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERlc2NyaXB0b3JzPFxuICBPYmogZXh0ZW5kcyBvYmplY3QgfCBGdW5jdGlvbixcbiAgS2V5cyBleHRlbmRzIGtleW9mIE9ialxuPiB7XG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRvcnMoKTogTWFwPEtleXMsIFByb3BlcnR5RGVzY3JpcHRvcj4ge1xuICAgIHJldHVybiB0aGlzLiNkZXNjcmlwdG9ycztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKi9cbiAgI2Rlc2NyaXB0b3JzOiBNYXA8S2V5cywgUHJvcGVydHlEZXNjcmlwdG9yPiA9IG5ldyBNYXAoKTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG9ialxuICAgKiBAcGFyYW0ga2V5c1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9iajogT2JqLCAuLi5rZXlzOiBLZXlzW10pIHtcbiAgICBBcnJheS5pc0FycmF5KGtleXMpICYmIGtleXMubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnNldFBpY2tlZChvYmosIC4uLmtleXMpXG4gICAgICA6IHRoaXMuc2V0QWxsKG9iaik7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBLZXlzKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVzY3JpcHRvcnMuZ2V0KGtleSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRBbGwoKTogQXJyYXk8W0tleXMsIFByb3BlcnR5RGVzY3JpcHRvcl0+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLiNkZXNjcmlwdG9ycy5lbnRyaWVzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnNcbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgaGFzKGtleTogS2V5cyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNkZXNjcmlwdG9ycy5oYXMoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBzZXQoa2V5OiBLZXlzLCB2YWx1ZTogUHJvcGVydHlEZXNjcmlwdG9yKTogdGhpcyB7XG4gICAgdGhpcy4jZGVzY3JpcHRvcnMuc2V0KGtleSwgdmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0XG4gICAqIEByZXR1cm5zXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIHNldEFsbDxLZXkgZXh0ZW5kcyBLZXlzPihvYmplY3Q6IE9iaik6IHRoaXMge1xuICAgIC8vIFBpY2sgYWxsIHRoZSBkZXNjcmlwdG9ycyBvZiB0aGUgZ2l2ZW4gYG9iamVjdGAuXG4gICAgY29uc3Qgb2JqZWN0RGVzY3JpcHRvcnMgPSBEZXNjcmlwdG9yLmdldEFsbChvYmplY3QpO1xuICAgIC8vIElmIGRlc2NyaXB0aW9uIGV4aXN0cyBpbiB0aGUgb2JqZWN0IHNldCB0aGVtIGludG8gdGhlIG1hcCBzdG9yYWdlLlxuICAgIHR5cGVvZiBvYmplY3REZXNjcmlwdG9ycyA9PT0gJ29iamVjdCcgJiZcbiAgICAgIE9iamVjdC5rZXlzKG9iamVjdERlc2NyaXB0b3JzKS5mb3JFYWNoKChrZXkpID0+XG4gICAgICAgIHRoaXMuI2Rlc2NyaXB0b3JzLnNldChrZXkgYXMgS2V5LCBvYmplY3REZXNjcmlwdG9yc1trZXkgYXMgS2V5XSlcbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG9ialxuICAgKiBAcGFyYW0ga2V5c1xuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBzZXRQaWNrZWQ8S2V5IGV4dGVuZHMgS2V5cz4ob2JqOiBPYmosIC4uLmtleXM6IEtleVtdKTogdGhpcyB7XG4gICAgLy8gUGljayB0aGUgZGVzY3JpcHRvcnMgb2YgdGhlIGdpdmVuIGBrZXlzYC5cbiAgICBjb25zdCBwaWNrZWREZXNjcmlwdG9ycyA9IERlc2NyaXB0b3IucGljayhvYmosIC4uLmtleXMpO1xuICAgIC8vIElmIGRlc2NyaXB0aW9uIGV4aXN0cyBpbiB0aGUgb2JqZWN0IHNldCB0aGVtIGludG8gdGhlIG1hcCBzdG9yYWdlLlxuICAgIHR5cGVvZiBwaWNrZWREZXNjcmlwdG9ycyA9PT0gJ29iamVjdCcgJiZcbiAgICAgIE9iamVjdC5rZXlzKHBpY2tlZERlc2NyaXB0b3JzKS5mb3JFYWNoKChrZXkpID0+XG4gICAgICAgIHRoaXMuI2Rlc2NyaXB0b3JzLnNldChrZXkgYXMgS2V5LCBwaWNrZWREZXNjcmlwdG9yc1trZXkgYXMgS2V5XSlcbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==