iceye-angular-cesium-fork
Version:
Angular library for working with Cesium.
21 lines • 2.07 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vc2VydmljZXMvY29tcHV0YXRpb24tY2FjaGUvY29tcHV0YXRpb24tY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFVSxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQWUxQyxDQUFDO0lBYkMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsUUFBcUI7UUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7OztZQWhCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tcHV0YXRpb25DYWNoZSB7XG4gIHByaXZhdGUgX2NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxuICBnZXQoZXhwcmVzc2lvbjogc3RyaW5nLCBpbnNlcnRGbjogKCgpID0+IGFueSkpOiBhbnkge1xuICAgIGlmICh0aGlzLl9jYWNoZS5oYXMoZXhwcmVzc2lvbikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZS5nZXQoZXhwcmVzc2lvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBpbnNlcnRGbigpO1xuICAgIHRoaXMuX2NhY2hlLnNldChleHByZXNzaW9uLCB2YWx1ZSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5fY2FjaGUuY2xlYXIoKTtcbiAgfVxufVxuIl19