bruce-models 2.3.7 → 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.
Files changed (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8037
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7801
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -224
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -64
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,270 +1,270 @@
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.AbstractApi = void 0;
13
- const cache_1 = require("../common/cache");
14
- const api_1 = require("./api");
15
- // TODO: Currently checks for CSV vs json specifically,
16
- // Need to see if our api is generally good at setting content-type headers.
17
- // Make it less specific to CSV.
18
- function parseResult(data) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- if (data.status == 200) {
21
- let type = data.headers.get("Content-Type");
22
- if (type) {
23
- type = type.trim().toLowerCase();
24
- }
25
- let encoding = "";
26
- const charset = type ? type.split(";").find((x) => x.startsWith("charset=")) : "";
27
- if (charset && charset.includes("=")) {
28
- encoding = charset.split("=")[1];
29
- encoding = encoding.toLowerCase();
30
- }
31
- // Our API has a very specific utf-16 encoding.
32
- if (encoding == "utf-16") {
33
- encoding = api_1.Api.EEncoding.UTF16;
34
- }
35
- if (!encoding || encoding == "utf-8") {
36
- const text = yield data.text();
37
- if (!text || !text.trim()) {
38
- return null;
39
- }
40
- if (type && type.includes("text/csv")) {
41
- return text;
42
- }
43
- return JSON.parse(text);
44
- }
45
- else {
46
- const buffer = yield data.arrayBuffer();
47
- const text = new TextDecoder(encoding).decode(buffer);
48
- if (type && type.includes("text/csv")) {
49
- return text;
50
- }
51
- return JSON.parse(text);
52
- }
53
- }
54
- else {
55
- const error = yield data.json();
56
- throw (error);
57
- }
58
- });
59
- }
60
- /**
61
- * This is a base class for communication with an arbitrary Bruce Api.
62
- */
63
- class AbstractApi {
64
- constructor(params) {
65
- this.ssid = "";
66
- this.baseUrl = "";
67
- this.ssidHeader = params === null || params === void 0 ? void 0 : params.ssidHeader;
68
- this.Cache = new cache_1.CacheControl(params === null || params === void 0 ? void 0 : params.cacheId);
69
- }
70
- GetBaseUrl() {
71
- return this.baseUrl;
72
- }
73
- SetBaseUrl(url) {
74
- this.baseUrl = url;
75
- if (!this.baseUrl.endsWith("/")) {
76
- this.baseUrl += "/";
77
- }
78
- }
79
- GetCacheItem(key, reqParams) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- let noCache = reqParams === null || reqParams === void 0 ? void 0 : reqParams.noCache;
82
- if (noCache == null) {
83
- noCache = api_1.Api.DEFAULT_NO_CACHE;
84
- }
85
- if (noCache) {
86
- return null;
87
- }
88
- return this.Cache.Get(key);
89
- });
90
- }
91
- SetCacheItem(params) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- let { key, value, duration, req } = params;
94
- let noCache = req === null || req === void 0 ? void 0 : req.noCache;
95
- if (noCache == null) {
96
- noCache = api_1.Api.DEFAULT_NO_CACHE;
97
- }
98
- if (noCache) {
99
- return;
100
- }
101
- if (isNaN(duration)) {
102
- duration = api_1.Api.DEFAULT_CACHE_DURATION;
103
- }
104
- yield this.Cache.Set({
105
- id: key,
106
- data: value,
107
- duration,
108
- persistence: "memory"
109
- });
110
- });
111
- }
112
- GetSessionId() {
113
- return this.ssid;
114
- }
115
- SetSessionId(value) {
116
- this.ssid = value;
117
- }
118
- GetSessionHeader() {
119
- return this.ssidHeader;
120
- }
121
- SetSessionHeader(value) {
122
- this.ssidHeader = value;
123
- }
124
- get(url, params) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- if (!params) {
127
- params = {};
128
- }
129
- params.headers = params.headers || {};
130
- params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
131
- if (this.ssidHeader && this.ssid) {
132
- params.headers[this.ssidHeader] = this.ssid;
133
- }
134
- const res = yield fetch(url, {
135
- headers: params.headers
136
- });
137
- return parseResult(res);
138
- });
139
- }
140
- delete(url, params) {
141
- return __awaiter(this, void 0, void 0, function* () {
142
- if (!params) {
143
- params = {};
144
- }
145
- params.headers = params.headers || {};
146
- params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
147
- if (this.ssidHeader && this.ssid) {
148
- params.headers[this.ssidHeader] = this.ssid;
149
- }
150
- const res = yield fetch(url, {
151
- headers: params.headers,
152
- method: "DELETE"
153
- });
154
- return parseResult(res);
155
- });
156
- }
157
- post(url, data, params) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- if (!params) {
160
- params = {};
161
- }
162
- params.headers = params.headers || {};
163
- params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
164
- if (this.ssidHeader && this.ssid) {
165
- params.headers[this.ssidHeader] = this.ssid;
166
- }
167
- if (!data) {
168
- data = {};
169
- }
170
- if (typeof data != "string") {
171
- data = JSON.stringify(data);
172
- }
173
- const res = yield fetch(url, {
174
- headers: params.headers,
175
- method: "POST",
176
- body: data
177
- });
178
- return parseResult(res);
179
- });
180
- }
181
- put(url, data, params) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- if (!params) {
184
- params = {};
185
- }
186
- params.headers = params.headers || {};
187
- params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
188
- if (this.ssidHeader && this.ssid) {
189
- params.headers[this.ssidHeader] = this.ssid;
190
- }
191
- if (!data) {
192
- data = {};
193
- }
194
- if (typeof data != "string") {
195
- data = JSON.stringify(data);
196
- }
197
- const res = yield fetch(url, {
198
- headers: params.headers,
199
- method: "PUT",
200
- body: data
201
- });
202
- return parseResult(res);
203
- });
204
- }
205
- upload(url, blob, params) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- return new Promise((res, rej) => {
208
- try {
209
- let xhr = new XMLHttpRequest();
210
- const headers = params === null || params === void 0 ? void 0 : params.headers;
211
- if (headers) {
212
- const headerKeys = Object.keys(headers);
213
- for (let i = 0; i < headerKeys.length; i++) {
214
- const key = headerKeys[i];
215
- const value = headers[key];
216
- xhr.setRequestHeader(key, value);
217
- }
218
- }
219
- if (params === null || params === void 0 ? void 0 : params.onProgress) {
220
- if (xhr.upload) {
221
- xhr.upload.onprogress = params === null || params === void 0 ? void 0 : params.onProgress;
222
- }
223
- else {
224
- xhr.addEventListener("progress", params === null || params === void 0 ? void 0 : params.onProgress);
225
- }
226
- }
227
- xhr.onreadystatechange = (e) => {
228
- if (xhr.readyState == 4) {
229
- if (xhr.status >= 400) {
230
- rej(e);
231
- }
232
- else {
233
- try {
234
- res(JSON.parse(xhr.responseText));
235
- }
236
- catch (e) {
237
- console.error(e, xhr.responseText);
238
- res(xhr.responseText);
239
- }
240
- }
241
- }
242
- };
243
- xhr.open("POST", url, true);
244
- if (this.ssidHeader && this.ssid) {
245
- xhr.setRequestHeader(this.ssidHeader, this.ssid);
246
- }
247
- let formData;
248
- if ((params === null || params === void 0 ? void 0 : params.formData) instanceof FormData) {
249
- formData = params === null || params === void 0 ? void 0 : params.formData;
250
- }
251
- else {
252
- formData = new FormData();
253
- if (params === null || params === void 0 ? void 0 : params.formData) {
254
- for (const key in params.formData) {
255
- formData.append(key, params.formData[key]);
256
- }
257
- }
258
- }
259
- formData.append("file", blob);
260
- xhr.send(formData);
261
- }
262
- catch (e) {
263
- rej(e);
264
- }
265
- });
266
- });
267
- }
268
- }
269
- exports.AbstractApi = AbstractApi;
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.AbstractApi = void 0;
13
+ const cache_1 = require("../common/cache");
14
+ const api_1 = require("./api");
15
+ // TODO: Currently checks for CSV vs json specifically,
16
+ // Need to see if our api is generally good at setting content-type headers.
17
+ // Make it less specific to CSV.
18
+ function parseResult(data) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ if (data.status == 200) {
21
+ let type = data.headers.get("Content-Type");
22
+ if (type) {
23
+ type = type.trim().toLowerCase();
24
+ }
25
+ let encoding = "";
26
+ const charset = type ? type.split(";").find((x) => x.startsWith("charset=")) : "";
27
+ if (charset && charset.includes("=")) {
28
+ encoding = charset.split("=")[1];
29
+ encoding = encoding.toLowerCase();
30
+ }
31
+ // Our API has a very specific utf-16 encoding.
32
+ if (encoding == "utf-16") {
33
+ encoding = api_1.Api.EEncoding.UTF16;
34
+ }
35
+ if (!encoding || encoding == "utf-8") {
36
+ const text = yield data.text();
37
+ if (!text || !text.trim()) {
38
+ return null;
39
+ }
40
+ if (type && type.includes("text/csv")) {
41
+ return text;
42
+ }
43
+ return JSON.parse(text);
44
+ }
45
+ else {
46
+ const buffer = yield data.arrayBuffer();
47
+ const text = new TextDecoder(encoding).decode(buffer);
48
+ if (type && type.includes("text/csv")) {
49
+ return text;
50
+ }
51
+ return JSON.parse(text);
52
+ }
53
+ }
54
+ else {
55
+ const error = yield data.json();
56
+ throw (error);
57
+ }
58
+ });
59
+ }
60
+ /**
61
+ * This is a base class for communication with an arbitrary Bruce Api.
62
+ */
63
+ class AbstractApi {
64
+ constructor(params) {
65
+ this.ssid = "";
66
+ this.baseUrl = "";
67
+ this.ssidHeader = params === null || params === void 0 ? void 0 : params.ssidHeader;
68
+ this.Cache = new cache_1.CacheControl(params === null || params === void 0 ? void 0 : params.cacheId);
69
+ }
70
+ GetBaseUrl() {
71
+ return this.baseUrl;
72
+ }
73
+ SetBaseUrl(url) {
74
+ this.baseUrl = url;
75
+ if (!this.baseUrl.endsWith("/")) {
76
+ this.baseUrl += "/";
77
+ }
78
+ }
79
+ GetCacheItem(key, reqParams) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ let noCache = reqParams === null || reqParams === void 0 ? void 0 : reqParams.noCache;
82
+ if (noCache == null) {
83
+ noCache = api_1.Api.DEFAULT_NO_CACHE;
84
+ }
85
+ if (noCache) {
86
+ return null;
87
+ }
88
+ return this.Cache.Get(key);
89
+ });
90
+ }
91
+ SetCacheItem(params) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ let { key, value, duration, req } = params;
94
+ let noCache = req === null || req === void 0 ? void 0 : req.noCache;
95
+ if (noCache == null) {
96
+ noCache = api_1.Api.DEFAULT_NO_CACHE;
97
+ }
98
+ if (noCache) {
99
+ return;
100
+ }
101
+ if (isNaN(duration)) {
102
+ duration = api_1.Api.DEFAULT_CACHE_DURATION;
103
+ }
104
+ yield this.Cache.Set({
105
+ id: key,
106
+ data: value,
107
+ duration,
108
+ persistence: "memory"
109
+ });
110
+ });
111
+ }
112
+ GetSessionId() {
113
+ return this.ssid;
114
+ }
115
+ SetSessionId(value) {
116
+ this.ssid = value;
117
+ }
118
+ GetSessionHeader() {
119
+ return this.ssidHeader;
120
+ }
121
+ SetSessionHeader(value) {
122
+ this.ssidHeader = value;
123
+ }
124
+ get(url, params) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ if (!params) {
127
+ params = {};
128
+ }
129
+ params.headers = params.headers || {};
130
+ params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
131
+ if (this.ssidHeader && this.ssid) {
132
+ params.headers[this.ssidHeader] = this.ssid;
133
+ }
134
+ const res = yield fetch(url, {
135
+ headers: params.headers
136
+ });
137
+ return parseResult(res);
138
+ });
139
+ }
140
+ delete(url, params) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ if (!params) {
143
+ params = {};
144
+ }
145
+ params.headers = params.headers || {};
146
+ params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
147
+ if (this.ssidHeader && this.ssid) {
148
+ params.headers[this.ssidHeader] = this.ssid;
149
+ }
150
+ const res = yield fetch(url, {
151
+ headers: params.headers,
152
+ method: "DELETE"
153
+ });
154
+ return parseResult(res);
155
+ });
156
+ }
157
+ post(url, data, params) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ if (!params) {
160
+ params = {};
161
+ }
162
+ params.headers = params.headers || {};
163
+ params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
164
+ if (this.ssidHeader && this.ssid) {
165
+ params.headers[this.ssidHeader] = this.ssid;
166
+ }
167
+ if (!data) {
168
+ data = {};
169
+ }
170
+ if (typeof data != "string") {
171
+ data = JSON.stringify(data);
172
+ }
173
+ const res = yield fetch(url, {
174
+ headers: params.headers,
175
+ method: "POST",
176
+ body: data
177
+ });
178
+ return parseResult(res);
179
+ });
180
+ }
181
+ put(url, data, params) {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ if (!params) {
184
+ params = {};
185
+ }
186
+ params.headers = params.headers || {};
187
+ params.headers = Object.assign({ "Content-Type": "application/json;" }, params.headers);
188
+ if (this.ssidHeader && this.ssid) {
189
+ params.headers[this.ssidHeader] = this.ssid;
190
+ }
191
+ if (!data) {
192
+ data = {};
193
+ }
194
+ if (typeof data != "string") {
195
+ data = JSON.stringify(data);
196
+ }
197
+ const res = yield fetch(url, {
198
+ headers: params.headers,
199
+ method: "PUT",
200
+ body: data
201
+ });
202
+ return parseResult(res);
203
+ });
204
+ }
205
+ upload(url, blob, params) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ return new Promise((res, rej) => {
208
+ try {
209
+ let xhr = new XMLHttpRequest();
210
+ const headers = params === null || params === void 0 ? void 0 : params.headers;
211
+ if (headers) {
212
+ const headerKeys = Object.keys(headers);
213
+ for (let i = 0; i < headerKeys.length; i++) {
214
+ const key = headerKeys[i];
215
+ const value = headers[key];
216
+ xhr.setRequestHeader(key, value);
217
+ }
218
+ }
219
+ if (params === null || params === void 0 ? void 0 : params.onProgress) {
220
+ if (xhr.upload) {
221
+ xhr.upload.onprogress = params === null || params === void 0 ? void 0 : params.onProgress;
222
+ }
223
+ else {
224
+ xhr.addEventListener("progress", params === null || params === void 0 ? void 0 : params.onProgress);
225
+ }
226
+ }
227
+ xhr.onreadystatechange = (e) => {
228
+ if (xhr.readyState == 4) {
229
+ if (xhr.status >= 400) {
230
+ rej(e);
231
+ }
232
+ else {
233
+ try {
234
+ res(JSON.parse(xhr.responseText));
235
+ }
236
+ catch (e) {
237
+ console.error(e, xhr.responseText);
238
+ res(xhr.responseText);
239
+ }
240
+ }
241
+ }
242
+ };
243
+ xhr.open("POST", url, true);
244
+ if (this.ssidHeader && this.ssid) {
245
+ xhr.setRequestHeader(this.ssidHeader, this.ssid);
246
+ }
247
+ let formData;
248
+ if ((params === null || params === void 0 ? void 0 : params.formData) instanceof FormData) {
249
+ formData = params === null || params === void 0 ? void 0 : params.formData;
250
+ }
251
+ else {
252
+ formData = new FormData();
253
+ if (params === null || params === void 0 ? void 0 : params.formData) {
254
+ for (const key in params.formData) {
255
+ formData.append(key, params.formData[key]);
256
+ }
257
+ }
258
+ }
259
+ formData.append("file", blob);
260
+ xhr.send(formData);
261
+ }
262
+ catch (e) {
263
+ rej(e);
264
+ }
265
+ });
266
+ });
267
+ }
268
+ }
269
+ exports.AbstractApi = AbstractApi;
270
270
  //# sourceMappingURL=abstract-api.js.map