bruce-models 2.3.6 → 2.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bruce-models.es5.js +8041 -8033
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +7805 -7797
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/account/account-invite.js +81 -81
- package/dist/lib/account/account-settings.js +2 -2
- package/dist/lib/account/account.js +169 -169
- package/dist/lib/account/account.js.map +1 -1
- package/dist/lib/ann-document/ann-document.js +94 -94
- package/dist/lib/api/abstract-api.js +269 -269
- package/dist/lib/api/api-getters.js +172 -172
- package/dist/lib/api/api.js +93 -93
- package/dist/lib/api/bruce-api.js +224 -220
- package/dist/lib/api/bruce-api.js.map +1 -1
- package/dist/lib/api/cam-api.js +88 -88
- package/dist/lib/api/global-api.js +82 -82
- package/dist/lib/api/guardian-api.js +82 -82
- package/dist/lib/api/idm-api.js +90 -90
- package/dist/lib/bruce-models.js +95 -91
- package/dist/lib/bruce-models.js.map +1 -1
- package/dist/lib/calculator/calculator.js +341 -341
- package/dist/lib/client-file/client-file.js +255 -255
- package/dist/lib/client-file/client-file.js.map +1 -1
- package/dist/lib/common/bounds.js +61 -61
- package/dist/lib/common/bruce-event.js +46 -46
- package/dist/lib/common/bruce-variable.js +60 -60
- package/dist/lib/common/cache.js +188 -188
- package/dist/lib/common/cache.js.map +1 -1
- package/dist/lib/common/camera.js +11 -11
- package/dist/lib/common/cartes.js +123 -123
- package/dist/lib/common/carto.js +60 -60
- package/dist/lib/common/color.js +86 -86
- package/dist/lib/common/delay-queue.js +56 -56
- package/dist/lib/common/dictionary.js +2 -2
- package/dist/lib/common/geometry.js +120 -120
- package/dist/lib/common/lru-cache.js +25 -25
- package/dist/lib/common/transform.js +2 -2
- package/dist/lib/common/utc.js +39 -39
- package/dist/lib/custom-form/custom-form-content.js +26 -26
- package/dist/lib/custom-form/custom-form.js +114 -114
- package/dist/lib/data-lab/data-lab.js +49 -49
- package/dist/lib/entity/entity-attachment-type.js +87 -87
- package/dist/lib/entity/entity-attachment-type.js.map +1 -1
- package/dist/lib/entity/entity-attachment.js +126 -126
- package/dist/lib/entity/entity-attachment.js.map +1 -1
- package/dist/lib/entity/entity-attribute.js +29 -29
- package/dist/lib/entity/entity-comment.js +86 -86
- package/dist/lib/entity/entity-comment.js.map +1 -1
- package/dist/lib/entity/entity-coords.js +153 -153
- package/dist/lib/entity/entity-coords.js.map +1 -1
- package/dist/lib/entity/entity-link.js +86 -86
- package/dist/lib/entity/entity-link.js.map +1 -1
- package/dist/lib/entity/entity-lod-category.js +108 -108
- package/dist/lib/entity/entity-lod.js +197 -197
- package/dist/lib/entity/entity-lod.js.map +1 -1
- package/dist/lib/entity/entity-relation-type.js +117 -117
- package/dist/lib/entity/entity-relation-type.js.map +1 -1
- package/dist/lib/entity/entity-relation.js +157 -157
- package/dist/lib/entity/entity-source.js +136 -136
- package/dist/lib/entity/entity-source.js.map +1 -1
- package/dist/lib/entity/entity-tag.js +157 -157
- package/dist/lib/entity/entity-type-visual-settings.js +13 -13
- package/dist/lib/entity/entity-type.js +122 -122
- package/dist/lib/entity/entity.js +341 -341
- package/dist/lib/entity/entity.js.map +1 -1
- package/dist/lib/entity/getters/batched-data-getter.js +84 -84
- package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
- package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-globe.js +175 -175
- package/dist/lib/entity/getters/view-monitor.js +2 -2
- package/dist/lib/import/import-cad.js +53 -53
- package/dist/lib/import/import-cad.js.map +1 -1
- package/dist/lib/import/import-csv.js +23 -23
- package/dist/lib/import/import-json.js +23 -23
- package/dist/lib/import/import-kml.js +23 -23
- package/dist/lib/import/imported-file.js +130 -130
- package/dist/lib/internal/uploader.js +76 -76
- package/dist/lib/internal/uploader.js.map +1 -1
- package/dist/lib/markup/markup.js +185 -185
- package/dist/lib/plugin/plugin.js +91 -91
- package/dist/lib/program-key/program-key.js +120 -120
- package/dist/lib/program-key/program-key.js.map +1 -1
- package/dist/lib/project/menu-item.js +122 -122
- package/dist/lib/project/project-view-bookmark.js +159 -159
- package/dist/lib/project/project-view-bookmark.js.map +1 -1
- package/dist/lib/project/project-view-legacy-tile.js +77 -77
- package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
- package/dist/lib/project/project-view-tile.js +125 -125
- package/dist/lib/project/project-view.js +141 -141
- package/dist/lib/project/zoom-control.js +17 -17
- package/dist/lib/server/hosting-location.js +156 -156
- package/dist/lib/server/hosting-location.js.map +1 -1
- package/dist/lib/server/message-broker.js +142 -142
- package/dist/lib/server/message-broker.js.map +1 -1
- package/dist/lib/server/pending-action.js +83 -83
- package/dist/lib/server/task.js +63 -63
- package/dist/lib/style/style.js +129 -129
- package/dist/lib/style/style.js.map +1 -1
- package/dist/lib/tileset/tileset.js +431 -431
- package/dist/lib/tileset/tileset.js.map +1 -1
- package/dist/lib/user/permission.js +20 -20
- package/dist/lib/user/session.js +145 -142
- package/dist/lib/user/session.js.map +1 -1
- package/dist/lib/user/user-group.js +94 -94
- package/dist/lib/user/user.js +475 -474
- package/dist/lib/user/user.js.map +1 -1
- package/dist/lib/util/encrypt-utils.js +19 -19
- package/dist/lib/util/math-utils.js +40 -40
- package/dist/lib/util/object-utils.js +17 -17
- package/dist/lib/util/path-utils.js +61 -61
- package/dist/lib/util/url-utils.js +94 -94
- package/dist/lib/util/url-utils.js.map +1 -1
- package/dist/types/account/account-invite.d.ts +68 -68
- package/dist/types/account/account-settings.d.ts +24 -24
- package/dist/types/account/account.d.ts +84 -84
- package/dist/types/ann-document/ann-document.d.ts +50 -50
- package/dist/types/api/abstract-api.d.ts +36 -36
- package/dist/types/api/api-getters.d.ts +64 -64
- package/dist/types/api/api.d.ts +93 -93
- package/dist/types/api/bruce-api.d.ts +64 -63
- package/dist/types/api/cam-api.d.ts +26 -26
- package/dist/types/api/global-api.d.ts +25 -25
- package/dist/types/api/guardian-api.d.ts +25 -25
- package/dist/types/api/idm-api.d.ts +28 -28
- package/dist/types/bruce-models.d.ts +79 -79
- package/dist/types/calculator/calculator.d.ts +61 -61
- package/dist/types/client-file/client-file.d.ts +130 -130
- package/dist/types/common/bounds.d.ts +30 -30
- package/dist/types/common/bruce-event.d.ts +12 -12
- package/dist/types/common/bruce-variable.d.ts +21 -21
- package/dist/types/common/cache.d.ts +57 -57
- package/dist/types/common/camera.d.ts +6 -6
- package/dist/types/common/cartes.d.ts +51 -51
- package/dist/types/common/carto.d.ts +15 -15
- package/dist/types/common/color.d.ts +24 -24
- package/dist/types/common/delay-queue.d.ts +14 -14
- package/dist/types/common/dictionary.d.ts +3 -3
- package/dist/types/common/geometry.d.ts +44 -44
- package/dist/types/common/lru-cache.d.ts +7 -7
- package/dist/types/common/transform.d.ts +15 -15
- package/dist/types/common/utc.d.ts +29 -29
- package/dist/types/custom-form/custom-form-content.d.ts +60 -60
- package/dist/types/custom-form/custom-form.d.ts +49 -49
- package/dist/types/data-lab/data-lab.d.ts +28 -28
- package/dist/types/entity/entity-attachment-type.d.ts +39 -39
- package/dist/types/entity/entity-attachment.d.ts +61 -61
- package/dist/types/entity/entity-attribute.d.ts +39 -39
- package/dist/types/entity/entity-comment.d.ts +40 -40
- package/dist/types/entity/entity-coords.d.ts +66 -66
- package/dist/types/entity/entity-link.d.ts +36 -36
- package/dist/types/entity/entity-lod-category.d.ts +36 -36
- package/dist/types/entity/entity-lod.d.ts +99 -99
- package/dist/types/entity/entity-relation-type.d.ts +44 -44
- package/dist/types/entity/entity-relation.d.ts +59 -59
- package/dist/types/entity/entity-source.d.ts +45 -45
- package/dist/types/entity/entity-tag.d.ts +53 -53
- package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
- package/dist/types/entity/entity-type.d.ts +63 -63
- package/dist/types/entity/entity.d.ts +118 -118
- package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
- package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
- package/dist/types/entity/getters/entity-globe.d.ts +21 -21
- package/dist/types/entity/getters/view-monitor.d.ts +13 -13
- package/dist/types/import/import-cad.d.ts +49 -49
- package/dist/types/import/import-csv.d.ts +31 -31
- package/dist/types/import/import-json.d.ts +26 -26
- package/dist/types/import/import-kml.d.ts +19 -19
- package/dist/types/import/imported-file.d.ts +47 -47
- package/dist/types/internal/uploader.d.ts +16 -16
- package/dist/types/markup/markup.d.ts +227 -227
- package/dist/types/plugin/plugin.d.ts +39 -39
- package/dist/types/program-key/program-key.d.ts +48 -48
- package/dist/types/project/menu-item.d.ts +169 -169
- package/dist/types/project/project-view-bookmark.d.ts +179 -179
- package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
- package/dist/types/project/project-view-tile.d.ts +65 -65
- package/dist/types/project/project-view.d.ts +136 -136
- package/dist/types/project/zoom-control.d.ts +22 -22
- package/dist/types/server/hosting-location.d.ts +74 -74
- package/dist/types/server/message-broker.d.ts +86 -86
- package/dist/types/server/pending-action.d.ts +66 -66
- package/dist/types/server/task.d.ts +36 -36
- package/dist/types/style/style.d.ts +107 -107
- package/dist/types/tileset/tileset.d.ts +264 -264
- package/dist/types/user/permission.d.ts +15 -15
- package/dist/types/user/session.d.ts +72 -66
- package/dist/types/user/user-group.d.ts +58 -58
- package/dist/types/user/user.d.ts +189 -188
- package/dist/types/util/encrypt-utils.d.ts +3 -3
- package/dist/types/util/math-utils.d.ts +16 -16
- package/dist/types/util/object-utils.d.ts +7 -7
- package/dist/types/util/path-utils.d.ts +8 -8
- package/dist/types/util/url-utils.d.ts +26 -26
- package/package.json +79 -78
package/dist/lib/common/cache.js
CHANGED
|
@@ -1,189 +1,189 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CacheControl = void 0;
|
|
13
|
-
const localforage_1 = require("localforage");
|
|
14
|
-
const DEFAULT_DURATION = 60 * 1000; // 1 minute.
|
|
15
|
-
const VERSION = 4;
|
|
16
|
-
class CacheControl {
|
|
17
|
-
|
|
18
|
-
this
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Sets item to cache.
|
|
38
|
-
* @param id
|
|
39
|
-
* @param data
|
|
40
|
-
* @param duration
|
|
41
|
-
*/
|
|
42
|
-
Set(params) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
if (this.Disabled) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
let { id, data, persistence, duration } = params;
|
|
48
|
-
if (!duration || duration < 0) {
|
|
49
|
-
duration = DEFAULT_DURATION;
|
|
50
|
-
}
|
|
51
|
-
id = String(id);
|
|
52
|
-
this._storageKeys = null;
|
|
53
|
-
const expires = Date.now() + duration;
|
|
54
|
-
const record = {
|
|
55
|
-
id,
|
|
56
|
-
data,
|
|
57
|
-
expires
|
|
58
|
-
};
|
|
59
|
-
if (persistence == "storage") {
|
|
60
|
-
let putIntoStorage = true;
|
|
61
|
-
// Cannot store promises, so will need to wait for them to resolve.
|
|
62
|
-
if (data instanceof Promise) {
|
|
63
|
-
// Store in memory until resolved, that way we can return the data if requested again.
|
|
64
|
-
this.memory.set(id, record);
|
|
65
|
-
try {
|
|
66
|
-
data = yield data;
|
|
67
|
-
record.data = data;
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
// If it failed then we keep it in memory so that requesting it will retain the promise exception.
|
|
71
|
-
putIntoStorage = false;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (putIntoStorage) {
|
|
75
|
-
yield this.storage.setItem(id, record);
|
|
76
|
-
if (this.memory.has(id)) {
|
|
77
|
-
this.memory.delete(id);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.memory.set(id, record);
|
|
83
|
-
yield this.storage.removeItem(id);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Returns the item with the given id.
|
|
89
|
-
* @param id
|
|
90
|
-
* @returns
|
|
91
|
-
*/
|
|
92
|
-
Get(id) {
|
|
93
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
if (this.Disabled) {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
id = String(id);
|
|
98
|
-
// Prioritize memory over storage because it's faster to access.
|
|
99
|
-
let record = this.memory.get(id);
|
|
100
|
-
if (!record) {
|
|
101
|
-
record = yield this.storage.getItem(id);
|
|
102
|
-
}
|
|
103
|
-
if (!record) {
|
|
104
|
-
return {
|
|
105
|
-
data: null,
|
|
106
|
-
found: false
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
if (record.expires < Date.now()) {
|
|
110
|
-
if (this.memory.has(id)) {
|
|
111
|
-
this.memory.delete(id);
|
|
112
|
-
}
|
|
113
|
-
yield this.storage.removeItem(id);
|
|
114
|
-
return {
|
|
115
|
-
data: null,
|
|
116
|
-
found: false
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
return {
|
|
120
|
-
data: record.data,
|
|
121
|
-
found: true
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Removes all items from the cache.
|
|
127
|
-
*/
|
|
128
|
-
Clear() {
|
|
129
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
this.memory.clear();
|
|
131
|
-
yield this.storage.clear();
|
|
132
|
-
this._storageKeys = null;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Removes the item with the given id.
|
|
137
|
-
* @param id
|
|
138
|
-
*/
|
|
139
|
-
Remove(id) {
|
|
140
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
id = String(id);
|
|
142
|
-
this.memory.delete(id);
|
|
143
|
-
yield this.storage.removeItem(id);
|
|
144
|
-
this._storageKeys = null;
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Removes all items that match the callback.
|
|
149
|
-
* If callback returns true then the item is removed.
|
|
150
|
-
* @param callback
|
|
151
|
-
*/
|
|
152
|
-
RemoveBy(callback) {
|
|
153
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
const storageKeys = yield this.getStorageKeys();
|
|
155
|
-
for (const key of storageKeys) {
|
|
156
|
-
if (callback(key)) {
|
|
157
|
-
yield this.storage.removeItem(key);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const memoryKeys = Array.from(this.memory.keys());
|
|
161
|
-
for (const key of memoryKeys) {
|
|
162
|
-
if (callback(key)) {
|
|
163
|
-
this.memory.delete(key);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
this._storageKeys = null;
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Removes all items that start with the given text.
|
|
171
|
-
* @param text
|
|
172
|
-
*/
|
|
173
|
-
RemoveByStartsWith(text) {
|
|
174
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
yield this.RemoveBy(key => String(key).startsWith(String(text)));
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Removes all items that contain the given text.
|
|
180
|
-
* @param text
|
|
181
|
-
*/
|
|
182
|
-
RemoveByContains(text) {
|
|
183
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
184
|
-
yield this.RemoveBy(key => String(key).includes(String(text)));
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
exports.CacheControl = CacheControl;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CacheControl = void 0;
|
|
13
|
+
const localforage_1 = require("localforage");
|
|
14
|
+
const DEFAULT_DURATION = 60 * 1000; // 1 minute.
|
|
15
|
+
const VERSION = 4;
|
|
16
|
+
class CacheControl {
|
|
17
|
+
getStorageKeys() {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
if (this._storageKeys == null) {
|
|
20
|
+
this._storageKeys = yield this.storage.keys();
|
|
21
|
+
}
|
|
22
|
+
return this._storageKeys;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
constructor(id) {
|
|
26
|
+
this._storageKeys = null;
|
|
27
|
+
this.memory = new Map();
|
|
28
|
+
this.Disabled = false;
|
|
29
|
+
if (!id) {
|
|
30
|
+
id = "default";
|
|
31
|
+
}
|
|
32
|
+
this.storage = localforage_1.default.createInstance({
|
|
33
|
+
name: `v${VERSION}_${id}`,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Sets item to cache.
|
|
38
|
+
* @param id
|
|
39
|
+
* @param data
|
|
40
|
+
* @param duration
|
|
41
|
+
*/
|
|
42
|
+
Set(params) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
if (this.Disabled) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
let { id, data, persistence, duration } = params;
|
|
48
|
+
if (!duration || duration < 0) {
|
|
49
|
+
duration = DEFAULT_DURATION;
|
|
50
|
+
}
|
|
51
|
+
id = String(id);
|
|
52
|
+
this._storageKeys = null;
|
|
53
|
+
const expires = Date.now() + duration;
|
|
54
|
+
const record = {
|
|
55
|
+
id,
|
|
56
|
+
data,
|
|
57
|
+
expires
|
|
58
|
+
};
|
|
59
|
+
if (persistence == "storage") {
|
|
60
|
+
let putIntoStorage = true;
|
|
61
|
+
// Cannot store promises, so will need to wait for them to resolve.
|
|
62
|
+
if (data instanceof Promise) {
|
|
63
|
+
// Store in memory until resolved, that way we can return the data if requested again.
|
|
64
|
+
this.memory.set(id, record);
|
|
65
|
+
try {
|
|
66
|
+
data = yield data;
|
|
67
|
+
record.data = data;
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
// If it failed then we keep it in memory so that requesting it will retain the promise exception.
|
|
71
|
+
putIntoStorage = false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (putIntoStorage) {
|
|
75
|
+
yield this.storage.setItem(id, record);
|
|
76
|
+
if (this.memory.has(id)) {
|
|
77
|
+
this.memory.delete(id);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.memory.set(id, record);
|
|
83
|
+
yield this.storage.removeItem(id);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns the item with the given id.
|
|
89
|
+
* @param id
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
Get(id) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
if (this.Disabled) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
id = String(id);
|
|
98
|
+
// Prioritize memory over storage because it's faster to access.
|
|
99
|
+
let record = this.memory.get(id);
|
|
100
|
+
if (!record) {
|
|
101
|
+
record = yield this.storage.getItem(id);
|
|
102
|
+
}
|
|
103
|
+
if (!record) {
|
|
104
|
+
return {
|
|
105
|
+
data: null,
|
|
106
|
+
found: false
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (record.expires < Date.now()) {
|
|
110
|
+
if (this.memory.has(id)) {
|
|
111
|
+
this.memory.delete(id);
|
|
112
|
+
}
|
|
113
|
+
yield this.storage.removeItem(id);
|
|
114
|
+
return {
|
|
115
|
+
data: null,
|
|
116
|
+
found: false
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
data: record.data,
|
|
121
|
+
found: true
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Removes all items from the cache.
|
|
127
|
+
*/
|
|
128
|
+
Clear() {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
this.memory.clear();
|
|
131
|
+
yield this.storage.clear();
|
|
132
|
+
this._storageKeys = null;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Removes the item with the given id.
|
|
137
|
+
* @param id
|
|
138
|
+
*/
|
|
139
|
+
Remove(id) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
id = String(id);
|
|
142
|
+
this.memory.delete(id);
|
|
143
|
+
yield this.storage.removeItem(id);
|
|
144
|
+
this._storageKeys = null;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Removes all items that match the callback.
|
|
149
|
+
* If callback returns true then the item is removed.
|
|
150
|
+
* @param callback
|
|
151
|
+
*/
|
|
152
|
+
RemoveBy(callback) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
const storageKeys = yield this.getStorageKeys();
|
|
155
|
+
for (const key of storageKeys) {
|
|
156
|
+
if (callback(key)) {
|
|
157
|
+
yield this.storage.removeItem(key);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const memoryKeys = Array.from(this.memory.keys());
|
|
161
|
+
for (const key of memoryKeys) {
|
|
162
|
+
if (callback(key)) {
|
|
163
|
+
this.memory.delete(key);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
this._storageKeys = null;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Removes all items that start with the given text.
|
|
171
|
+
* @param text
|
|
172
|
+
*/
|
|
173
|
+
RemoveByStartsWith(text) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
yield this.RemoveBy(key => String(key).startsWith(String(text)));
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Removes all items that contain the given text.
|
|
180
|
+
* @param text
|
|
181
|
+
*/
|
|
182
|
+
RemoveByContains(text) {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
184
|
+
yield this.RemoveBy(key => String(key).includes(String(text)));
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.CacheControl = CacheControl;
|
|
189
189
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/common/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAsC;AAItC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAChD,MAAM,OAAO,GAAG,CAAC,CAAC;AAWlB,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/common/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Camera = void 0;
|
|
4
|
-
var Camera;
|
|
5
|
-
(function (Camera) {
|
|
6
|
-
let EFrustum;
|
|
7
|
-
(function (EFrustum) {
|
|
8
|
-
EFrustum[EFrustum["Perspective"] = 0] = "Perspective";
|
|
9
|
-
EFrustum[EFrustum["Orthographic"] = 1] = "Orthographic";
|
|
10
|
-
})(EFrustum = Camera.EFrustum || (Camera.EFrustum = {}));
|
|
11
|
-
})(Camera = exports.Camera || (exports.Camera = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Camera = void 0;
|
|
4
|
+
var Camera;
|
|
5
|
+
(function (Camera) {
|
|
6
|
+
let EFrustum;
|
|
7
|
+
(function (EFrustum) {
|
|
8
|
+
EFrustum[EFrustum["Perspective"] = 0] = "Perspective";
|
|
9
|
+
EFrustum[EFrustum["Orthographic"] = 1] = "Orthographic";
|
|
10
|
+
})(EFrustum = Camera.EFrustum || (Camera.EFrustum = {}));
|
|
11
|
+
})(Camera = exports.Camera || (exports.Camera = {}));
|
|
12
12
|
//# sourceMappingURL=camera.js.map
|
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Cartes = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Describes 2d and 3d coordinates.
|
|
6
|
-
*
|
|
7
|
-
* In 2d the x/y typically refers to a window left/top offset.
|
|
8
|
-
* In 3d the x/y/z, the units are in meters.
|
|
9
|
-
*/
|
|
10
|
-
var Cartes;
|
|
11
|
-
(function (Cartes) {
|
|
12
|
-
function ValidateCartes2(cartes) {
|
|
13
|
-
if (!cartes) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
else if (!cartes.x && cartes.x != 0) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
else if (!cartes.y && cartes.y != 0) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
Cartes.ValidateCartes2 = ValidateCartes2;
|
|
25
|
-
function ValidateCartes3(cartes) {
|
|
26
|
-
if (!ValidateCartes2(cartes)) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
else if (!cartes.z && cartes.z != 0) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
Cartes.ValidateCartes3 = ValidateCartes3;
|
|
35
|
-
function IsEqualCartes2(a, b) {
|
|
36
|
-
if (a.x != b.x) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
else if (a.y != b.y) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
Cartes.IsEqualCartes2 = IsEqualCartes2;
|
|
45
|
-
function IsEqualCartes3(a, b) {
|
|
46
|
-
if (!IsEqualCartes2(a, b)) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
else if (a.z != b.z) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
Cartes.IsEqualCartes3 = IsEqualCartes3;
|
|
55
|
-
/**
|
|
56
|
-
* Returns true if the given ring is closed.
|
|
57
|
-
* A ring is closed if the first and last point are equal.
|
|
58
|
-
* A ring with less than 2 points is not closed.
|
|
59
|
-
* @param points
|
|
60
|
-
* @returns
|
|
61
|
-
*/
|
|
62
|
-
function IsRing2Closed(points) {
|
|
63
|
-
if (points.length < 2) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
else if (!IsEqualCartes2(points[0], points[points.length - 1])) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
Cartes.IsRing2Closed = IsRing2Closed;
|
|
72
|
-
/**
|
|
73
|
-
* Returns true if the given ring is closed.
|
|
74
|
-
* A ring is closed if the first and last point are equal.
|
|
75
|
-
* A ring with less than 2 points is not closed.
|
|
76
|
-
* @param points
|
|
77
|
-
* @returns
|
|
78
|
-
*/
|
|
79
|
-
function IsRing3Closed(points) {
|
|
80
|
-
if (points.length < 2) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
else if (!IsEqualCartes3(points[0], points[points.length - 1])) {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
Cartes.IsRing3Closed = IsRing3Closed;
|
|
89
|
-
/**
|
|
90
|
-
* Closes given ring by adding the first point to the end of the array.
|
|
91
|
-
* This will mutate the given array.
|
|
92
|
-
* Will not do anything if the ring is already closed.
|
|
93
|
-
* @param points
|
|
94
|
-
* @returns
|
|
95
|
-
*/
|
|
96
|
-
function CloseRing2(points) {
|
|
97
|
-
if (points.length < 2) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
else if (IsRing2Closed(points)) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
points.push(points[0]);
|
|
104
|
-
}
|
|
105
|
-
Cartes.CloseRing2 = CloseRing2;
|
|
106
|
-
/**
|
|
107
|
-
* Closes given ring by adding the first point to the end of the array.
|
|
108
|
-
* This will mutate the given array.
|
|
109
|
-
* Will not do anything if the ring is already closed.
|
|
110
|
-
* @param points
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
function CloseRing3(points) {
|
|
114
|
-
if (points.length < 2) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
else if (IsRing3Closed(points)) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
points.push(points[0]);
|
|
121
|
-
}
|
|
122
|
-
Cartes.CloseRing3 = CloseRing3;
|
|
123
|
-
})(Cartes = exports.Cartes || (exports.Cartes = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Cartes = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Describes 2d and 3d coordinates.
|
|
6
|
+
*
|
|
7
|
+
* In 2d the x/y typically refers to a window left/top offset.
|
|
8
|
+
* In 3d the x/y/z, the units are in meters.
|
|
9
|
+
*/
|
|
10
|
+
var Cartes;
|
|
11
|
+
(function (Cartes) {
|
|
12
|
+
function ValidateCartes2(cartes) {
|
|
13
|
+
if (!cartes) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
else if (!cartes.x && cartes.x != 0) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
else if (!cartes.y && cartes.y != 0) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
Cartes.ValidateCartes2 = ValidateCartes2;
|
|
25
|
+
function ValidateCartes3(cartes) {
|
|
26
|
+
if (!ValidateCartes2(cartes)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
else if (!cartes.z && cartes.z != 0) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
Cartes.ValidateCartes3 = ValidateCartes3;
|
|
35
|
+
function IsEqualCartes2(a, b) {
|
|
36
|
+
if (a.x != b.x) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
else if (a.y != b.y) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
Cartes.IsEqualCartes2 = IsEqualCartes2;
|
|
45
|
+
function IsEqualCartes3(a, b) {
|
|
46
|
+
if (!IsEqualCartes2(a, b)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
else if (a.z != b.z) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
Cartes.IsEqualCartes3 = IsEqualCartes3;
|
|
55
|
+
/**
|
|
56
|
+
* Returns true if the given ring is closed.
|
|
57
|
+
* A ring is closed if the first and last point are equal.
|
|
58
|
+
* A ring with less than 2 points is not closed.
|
|
59
|
+
* @param points
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
function IsRing2Closed(points) {
|
|
63
|
+
if (points.length < 2) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
else if (!IsEqualCartes2(points[0], points[points.length - 1])) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
Cartes.IsRing2Closed = IsRing2Closed;
|
|
72
|
+
/**
|
|
73
|
+
* Returns true if the given ring is closed.
|
|
74
|
+
* A ring is closed if the first and last point are equal.
|
|
75
|
+
* A ring with less than 2 points is not closed.
|
|
76
|
+
* @param points
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
function IsRing3Closed(points) {
|
|
80
|
+
if (points.length < 2) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
else if (!IsEqualCartes3(points[0], points[points.length - 1])) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
Cartes.IsRing3Closed = IsRing3Closed;
|
|
89
|
+
/**
|
|
90
|
+
* Closes given ring by adding the first point to the end of the array.
|
|
91
|
+
* This will mutate the given array.
|
|
92
|
+
* Will not do anything if the ring is already closed.
|
|
93
|
+
* @param points
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
96
|
+
function CloseRing2(points) {
|
|
97
|
+
if (points.length < 2) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
else if (IsRing2Closed(points)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
points.push(points[0]);
|
|
104
|
+
}
|
|
105
|
+
Cartes.CloseRing2 = CloseRing2;
|
|
106
|
+
/**
|
|
107
|
+
* Closes given ring by adding the first point to the end of the array.
|
|
108
|
+
* This will mutate the given array.
|
|
109
|
+
* Will not do anything if the ring is already closed.
|
|
110
|
+
* @param points
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
113
|
+
function CloseRing3(points) {
|
|
114
|
+
if (points.length < 2) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
else if (IsRing3Closed(points)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
points.push(points[0]);
|
|
121
|
+
}
|
|
122
|
+
Cartes.CloseRing3 = CloseRing3;
|
|
123
|
+
})(Cartes = exports.Cartes || (exports.Cartes = {}));
|
|
124
124
|
//# sourceMappingURL=cartes.js.map
|