angular-cesium
Version:
Angular library for working with Cesium.
21 lines • 2.15 kB
JavaScript
import { Injectable } from '@angular/core';
export class ComputationCache {
constructor() {
this._cache = new Map();
}
get(expression, insertFn) {
if (this._cache.has(expression)) {
return this._cache.get(expression);
}
const value = insertFn();
this._cache.set(expression, value);
return value;
}
clear() {
this._cache.clear();
}
}
ComputationCache.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvY29tcHV0YXRpb24tY2FjaGUvY29tcHV0YXRpb24tY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFVSxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQWUxQyxDQUFDO0lBYkMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsUUFBcUI7UUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7OztZQWhCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29tcHV0YXRpb25DYWNoZSB7XHJcbiAgcHJpdmF0ZSBfY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICBnZXQoZXhwcmVzc2lvbjogc3RyaW5nLCBpbnNlcnRGbjogKCgpID0+IGFueSkpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuX2NhY2hlLmhhcyhleHByZXNzaW9uKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KGV4cHJlc3Npb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gaW5zZXJ0Rm4oKTtcclxuICAgIHRoaXMuX2NhY2hlLnNldChleHByZXNzaW9uLCB2YWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuX2NhY2hlLmNsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==