@qlik/api 0.0.16 → 0.1.1

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 (134) hide show
  1. package/README.md +1 -1
  2. package/api-keys.js +25 -25
  3. package/apps.d.ts +9 -1
  4. package/apps.js +97 -97
  5. package/audits.js +23 -23
  6. package/auth.js +14 -14
  7. package/automations.js +47 -47
  8. package/brands.js +35 -35
  9. package/chunks/4HB3TAEO.js +4 -4
  10. package/chunks/{HHOVS7QC.mjs → CHNBNLXY.js} +3 -3
  11. package/chunks/{3YV6X7S6.mjs → FFGE2RP7.js} +1 -1
  12. package/chunks/{HOCTJESP.mjs → JEGN7XQV.js} +3 -3
  13. package/chunks/{6WX5AGKQ.mjs → L2BJNKLV.js} +2 -2
  14. package/chunks/OPRGGO4C.js +8 -8
  15. package/chunks/{O4EAKEIN.mjs → RHF624NQ.js} +1 -1
  16. package/chunks/{BYD63JCG.mjs → SIU6HO6B.js} +5 -3
  17. package/chunks/{EHAANYDL.mjs → TT66UJZY.js} +3 -3
  18. package/chunks/{UKVTBYP6.mjs → XOVMZWDC.js} +2 -2
  19. package/chunks/{6AD3HYSF.mjs → XZQNE4HH.js} +1 -1
  20. package/collections.js +33 -33
  21. package/csp-origins.js +23 -23
  22. package/data-assets.js +21 -21
  23. package/data-connections.js +29 -29
  24. package/data-credentials.js +19 -19
  25. package/data-files.js +35 -35
  26. package/docs/authentication.md +5 -5
  27. package/docs/examples/fetch-spaces.md +1 -15
  28. package/docs/examples/show-sheet-list.md +1 -1
  29. package/docs/features.md +1 -1
  30. package/extensions.js +25 -25
  31. package/glossaries.js +59 -59
  32. package/groups.d.ts +0 -3
  33. package/groups.js +27 -27
  34. package/identity-providers.d.ts +144 -10
  35. package/identity-providers.js +27 -27
  36. package/index.js +53 -53
  37. package/items.js +27 -27
  38. package/licenses.js +29 -29
  39. package/package.json +36 -232
  40. package/qix.d.ts +1 -1
  41. package/qix.js +10 -10
  42. package/quotas.js +15 -15
  43. package/reload-tasks.js +21 -21
  44. package/reloads.js +19 -19
  45. package/roles.js +15 -15
  46. package/spaces.js +35 -35
  47. package/temp-contents.js +17 -17
  48. package/tenants.js +23 -23
  49. package/themes.js +25 -25
  50. package/transports.js +23 -23
  51. package/users.d.ts +1 -3
  52. package/users.js +31 -31
  53. package/web-integrations.js +21 -21
  54. package/web-notifications.js +23 -23
  55. package/webhooks.js +31 -31
  56. package/api-keys.d.mts +0 -336
  57. package/api-keys.mjs +0 -80
  58. package/apps.d.mts +0 -2431
  59. package/apps.mjs +0 -398
  60. package/audits.d.mts +0 -286
  61. package/audits.mjs +0 -64
  62. package/auth-types-nnUcWhuU.d.mts +0 -98
  63. package/auth.d.mts +0 -26
  64. package/auth.mjs +0 -14
  65. package/automations.d.mts +0 -682
  66. package/automations.mjs +0 -173
  67. package/brands.d.mts +0 -670
  68. package/brands.mjs +0 -123
  69. package/chunks/2YWCEGTS.js +0 -21
  70. package/chunks/34ZKUFEA.js +0 -41
  71. package/chunks/4WHZ4EIW.js +0 -57
  72. package/chunks/B4VPD3ZT.js +0 -574
  73. package/chunks/BM4OSDRZ.js +0 -17
  74. package/chunks/DCXUEDOW.mjs +0 -67
  75. package/chunks/MTAQE4WC.js +0 -10411
  76. package/chunks/PLOSYUG2.js +0 -25
  77. package/chunks/URIW2U5M.js +0 -17
  78. package/chunks/VSY5YIQY.mjs +0 -11
  79. package/chunks/WOYJLK4Y.js +0 -1623
  80. package/collections.d.mts +0 -581
  81. package/collections.mjs +0 -114
  82. package/csp-origins.d.mts +0 -273
  83. package/csp-origins.mjs +0 -69
  84. package/data-assets.d.mts +0 -205
  85. package/data-assets.mjs +0 -66
  86. package/data-connections.d.mts +0 -594
  87. package/data-connections.mjs +0 -103
  88. package/data-credentials.d.mts +0 -204
  89. package/data-credentials.mjs +0 -59
  90. package/data-files.d.mts +0 -562
  91. package/data-files.mjs +0 -123
  92. package/extensions.d.mts +0 -293
  93. package/extensions.mjs +0 -77
  94. package/global.types-5iFvFJvX.d.mts +0 -115
  95. package/glossaries.d.mts +0 -1173
  96. package/glossaries.mjs +0 -237
  97. package/groups.d.mts +0 -434
  98. package/groups.mjs +0 -88
  99. package/identity-providers.d.mts +0 -550
  100. package/identity-providers.mjs +0 -83
  101. package/index.d.mts +0 -142
  102. package/index.mjs +0 -716
  103. package/items.d.mts +0 -535
  104. package/items.mjs +0 -87
  105. package/licenses.d.mts +0 -459
  106. package/licenses.mjs +0 -92
  107. package/qix.d.mts +0 -11629
  108. package/qix.mjs +0 -10
  109. package/quotas.d.mts +0 -112
  110. package/quotas.mjs +0 -32
  111. package/reload-tasks.d.mts +0 -227
  112. package/reload-tasks.mjs +0 -62
  113. package/reloads.d.mts +0 -207
  114. package/reloads.mjs +0 -46
  115. package/roles.d.mts +0 -175
  116. package/roles.mjs +0 -31
  117. package/spaces.d.mts +0 -562
  118. package/spaces.mjs +0 -124
  119. package/temp-contents.d.mts +0 -167
  120. package/temp-contents.mjs +0 -41
  121. package/tenants.d.mts +0 -300
  122. package/tenants.mjs +0 -73
  123. package/themes.d.mts +0 -268
  124. package/themes.mjs +0 -77
  125. package/transports.d.mts +0 -319
  126. package/transports.mjs +0 -65
  127. package/users.d.mts +0 -631
  128. package/users.mjs +0 -104
  129. package/web-integrations.d.mts +0 -274
  130. package/web-integrations.mjs +0 -62
  131. package/web-notifications.d.mts +0 -250
  132. package/web-notifications.mjs +0 -69
  133. package/webhooks.d.mts +0 -445
  134. package/webhooks.mjs +0 -104
@@ -1,574 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
-
4
-
5
-
6
-
7
- var _WOYJLK4Yjs = require('./WOYJLK4Y.js');
8
- require('./4HB3TAEO.js');
9
-
10
- // src/qix/session/shared-sessions.ts
11
- var globalEventListeners = /* @__PURE__ */ new Set();
12
- function globalOnWebSocketEvent(listener) {
13
- globalEventListeners.add(listener);
14
- return () => {
15
- globalEventListeners.delete(listener);
16
- };
17
- }
18
- var globalStateListeners = /* @__PURE__ */ new Set();
19
- function globalOnStateChange(listener) {
20
- globalStateListeners.add(listener);
21
- return () => {
22
- globalStateListeners.delete(listener);
23
- };
24
- }
25
- async function resumeAll() {
26
- const promises = [];
27
- Object.keys(globalState.sessionStates).forEach((key) => {
28
- const state = globalState.sessionStates[key];
29
- if (state === "suspended") {
30
- promises.push(sharedSessions[key].resume());
31
- }
32
- });
33
- await Promise.all(promises);
34
- return Promise.resolve();
35
- }
36
- var initialActions = {};
37
- var sharedSessions = {};
38
- function toGlobalAppSessionId({ appId, identity, hostConfig, withoutData }) {
39
- const locationUrl = _WOYJLK4Yjs.toValidWebsocketLocationUrl.call(void 0, hostConfig);
40
- return (identity ? locationUrl + "/" + appId + "/" + identity : locationUrl + "/" + appId) + (withoutData ? "/withoutData" : "");
41
- }
42
- async function runPendingInitialActions(initialActionsForApp, sharedSession, doc) {
43
- for (const initialAction of initialActionsForApp) {
44
- if (sharedSession.alreadyExecutedInitialActions.indexOf(initialAction) === -1) {
45
- sharedSession.alreadyExecutedInitialActions.push(initialAction);
46
- await initialAction(doc);
47
- }
48
- }
49
- }
50
- async function addInitialSharedSessionCreationAction(openAppSessionProps, action) {
51
- const key = toGlobalAppSessionId(openAppSessionProps);
52
- let initialActionArray = initialActions[key];
53
- if (!initialActionArray) {
54
- initialActionArray = initialActions[key] = [];
55
- }
56
- initialActionArray.push(action);
57
- const existingSharedSession = sharedSessions[key];
58
- if (existingSharedSession) {
59
- const doc = await existingSharedSession.docPromise;
60
- if (doc) {
61
- runPendingInitialActions(initialActionArray, existingSharedSession, doc);
62
- }
63
- }
64
- }
65
- function listenForWindowsAuthenticationInformation(session) {
66
- let resolveAuthSuggestedInWebsocket;
67
- const authSuggestedInWebsocket = new Promise((resolve, reject) => {
68
- resolveAuthSuggestedInWebsocket = resolve;
69
- setTimeout(() => {
70
- resolve(void 0);
71
- }, 2e3);
72
- });
73
- session.on(
74
- "notification:OnAuthenticationInformation",
75
- ({ loginUri, mustAuthenticate }) => {
76
- if (mustAuthenticate && loginUri) {
77
- if (resolveAuthSuggestedInWebsocket) {
78
- resolveAuthSuggestedInWebsocket({ loginUri, mustAuthenticate });
79
- }
80
- }
81
- }
82
- );
83
- return authSuggestedInWebsocket;
84
- }
85
- async function createAndSetupEnigmaSession(props, canRetry) {
86
- const { createEnigmaSession } = await Promise.resolve().then(() => _interopRequireWildcard(require("./MTAQE4WC.js")));
87
- const session = await createEnigmaSession(props);
88
- setupSessionListeners(session, props);
89
- let global;
90
- if (await _WOYJLK4Yjs.isWindows.call(void 0, props.hostConfig)) {
91
- const loginInfoPromise = listenForWindowsAuthenticationInformation(session);
92
- global = await session.open();
93
- const loginInfo = await loginInfoPromise;
94
- if (_optionalChain([loginInfo, 'optionalAccess', _ => _.mustAuthenticate])) {
95
- const action = await _WOYJLK4Yjs.handleAuthenticationError.call(void 0, {
96
- headers: new Headers(),
97
- status: 101,
98
- canRetry,
99
- hostConfig: props.hostConfig
100
- });
101
- if (canRetry && action.retry) {
102
- return createAndSetupEnigmaSession(props, false);
103
- }
104
- if (action.preventDefault) {
105
- return new Promise(() => {
106
- });
107
- }
108
- }
109
- } else {
110
- global = await session.open();
111
- }
112
- return {
113
- session,
114
- global
115
- };
116
- }
117
- var globalState = {
118
- sessionStates: {},
119
- state: "closed"
120
- };
121
- function stateListener(key, event) {
122
- if (event.eventType === "closed") {
123
- delete globalState.sessionStates[key];
124
- } else {
125
- globalState.sessionStates[key] = event.eventType;
126
- }
127
- const states = Object.values(globalState.sessionStates);
128
- let anySuspended = false;
129
- let anyResuming = false;
130
- for (const state of states) {
131
- if (state === "suspended") {
132
- anySuspended = true;
133
- } else if (state === "resuming") {
134
- anyResuming = true;
135
- }
136
- }
137
- let newState;
138
- if (states.length === 0) {
139
- newState = "closed";
140
- } else if (anySuspended) {
141
- newState = "suspended";
142
- } else if (anyResuming) {
143
- newState = "resuming";
144
- } else {
145
- newState = "open";
146
- }
147
- if (globalState.state !== newState) {
148
- globalState.state = newState;
149
- for (const fn of globalStateListeners) {
150
- fn({ state: newState });
151
- }
152
- }
153
- }
154
- function setupSessionListeners(session, props) {
155
- const key = toGlobalAppSessionId(props);
156
- const eventListener = (event) => {
157
- let sharedSession = void 0;
158
- let shouldHandleEvent = false;
159
- if (key in sharedSessions) {
160
- sharedSession = sharedSessions[key];
161
- shouldHandleEvent = sharedSession.connected;
162
- } else if (key in globalState.sessionStates) {
163
- shouldHandleEvent = true;
164
- }
165
- if (!shouldHandleEvent) {
166
- return;
167
- }
168
- stateListener(key, event);
169
- for (const fn of globalEventListeners) {
170
- fn(event);
171
- }
172
- if (sharedSession) {
173
- sharedSession.clients.forEach((client) => {
174
- for (const fn of client._listeners) {
175
- fn(event);
176
- }
177
- });
178
- if (event.eventType === "suspended" && shouldAutoResume(event.code)) {
179
- sharedSession.resume().catch((err) => {
180
- });
181
- }
182
- }
183
- };
184
- const suspendListener = (event) => {
185
- if (!(key in sharedSessions)) {
186
- return;
187
- }
188
- const sharedSession = sharedSessions[key];
189
- let resumed = false;
190
- let resumePromise = Promise.resolve();
191
- sharedSession.resume = async () => {
192
- if (!resumed) {
193
- session.emit("resuming", {});
194
- resumePromise = sessionResumeWithRetry(session, props.hostConfig).catch((err) => {
195
- session.suspend();
196
- return Promise.reject(err);
197
- });
198
- resumed = true;
199
- }
200
- return resumePromise;
201
- };
202
- };
203
- session.on("suspended", (event) => {
204
- const wsEvent = {
205
- eventType: "suspended",
206
- ...props,
207
- ...event
208
- };
209
- suspendListener(wsEvent);
210
- });
211
- session.on("opened", (event) => {
212
- const wsEvent = {
213
- eventType: "opened",
214
- ...props,
215
- ...event
216
- };
217
- eventListener(wsEvent);
218
- });
219
- session.on("closed", (event) => {
220
- const wsEvent = {
221
- eventType: "closed",
222
- ...props,
223
- ...event
224
- };
225
- eventListener(wsEvent);
226
- });
227
- session.on("suspended", (event) => {
228
- const wsEvent = {
229
- eventType: "suspended",
230
- ...props,
231
- ...event
232
- };
233
- eventListener(wsEvent);
234
- });
235
- session.on("resuming", (event) => {
236
- const wsEvent = {
237
- eventType: "resuming",
238
- ...props,
239
- ...event
240
- };
241
- eventListener(wsEvent);
242
- });
243
- session.on("resumed", (event) => {
244
- const wsEvent = {
245
- eventType: "resumed",
246
- ...props,
247
- ...event
248
- };
249
- eventListener(wsEvent);
250
- });
251
- }
252
- function separatePromises(input) {
253
- return {
254
- sessionPromise: input.then((res) => res.session),
255
- globalPromise: input.then((res) => res.global)
256
- };
257
- }
258
- var WEBSOCKET_CUSTOM_CLOSE_CODES = {
259
- /** The client itself "suspended" the session, don't auto-resume. */
260
- MANUAL_SUSPEND: 4e3,
261
- /** Engine closed the session due to idleness, don't auto-resume */
262
- IDLE_TIMEOUT: 4001,
263
- /** Some license issue, doesn't sound like auto-resume would do much good. */
264
- LICENSE_RENEWAL: 4002,
265
- /** The engine hosting the session is shutting down,
266
- * auto-resume to get another session from another engine. */
267
- ENGINE_TERMINATING: 4003,
268
- /** App deleted from an engine, auto-resume to open it on another engine. */
269
- APP_DELETED: 4004,
270
- /** Session closed due to session-limit, seems unwise to auto-resume here. */
271
- SESSION_LIMIT_REACHED: 4005,
272
- /** Authentication issue, auto-resume doesn't seem like a good idea. */
273
- AUTHENTICATION_FAILED: 4006,
274
- /** App-mode changed to Direct Query mode, let's auto-resume */
275
- APP_MODE_CHANGED: 4007
276
- };
277
- function shouldAutoResume(code) {
278
- switch (code) {
279
- case WEBSOCKET_CUSTOM_CLOSE_CODES.MANUAL_SUSPEND:
280
- case WEBSOCKET_CUSTOM_CLOSE_CODES.IDLE_TIMEOUT:
281
- case WEBSOCKET_CUSTOM_CLOSE_CODES.LICENSE_RENEWAL:
282
- case WEBSOCKET_CUSTOM_CLOSE_CODES.SESSION_LIMIT_REACHED:
283
- case WEBSOCKET_CUSTOM_CLOSE_CODES.AUTHENTICATION_FAILED:
284
- return false;
285
- case WEBSOCKET_CUSTOM_CLOSE_CODES.ENGINE_TERMINATING:
286
- case WEBSOCKET_CUSTOM_CLOSE_CODES.APP_DELETED:
287
- case WEBSOCKET_CUSTOM_CLOSE_CODES.APP_MODE_CHANGED:
288
- return true;
289
- }
290
- return false;
291
- }
292
- function createSharedSession(props) {
293
- const { sessionPromise, globalPromise } = separatePromises(createAndSetupEnigmaSession(props, true));
294
- const docPromise = globalPromise.then(async (global) => {
295
- if (props.useSessionApp) {
296
- const global2 = await sharedSession.globalPromise;
297
- return global2.createSessionApp();
298
- } else {
299
- return global.openDoc(props.appId, "", "", "", !!props.withoutData).then((doc) => {
300
- if (!doc) {
301
- return Promise.reject(new Error("Doc could not be opened"));
302
- }
303
- doc.global = global;
304
- return doc;
305
- });
306
- }
307
- });
308
- const key = toGlobalAppSessionId(props);
309
- const clients = [];
310
- function closeEnigmaSession() {
311
- delete sharedSessions[key];
312
- return sharedSession.sessionPromise.then((session) => session.close());
313
- }
314
- const sharedSession = {
315
- sessionPromise,
316
- globalPromise,
317
- docPromise,
318
- clients,
319
- addClient(client) {
320
- const index = sharedSession.clients.indexOf(client, 0);
321
- if (index === -1) {
322
- sharedSession.clients.push(client);
323
- }
324
- },
325
- removeClient(client, closeDelay) {
326
- const actuallyRemove = () => {
327
- const index = sharedSession.clients.indexOf(client, 0);
328
- if (index > -1) {
329
- sharedSession.clients.splice(index, 1);
330
- }
331
- if (sharedSession.clients.length === 0) {
332
- closeEnigmaSession();
333
- }
334
- };
335
- if (closeDelay > 0) {
336
- return new Promise((resolve) => {
337
- setTimeout(() => {
338
- actuallyRemove();
339
- resolve();
340
- }, closeDelay);
341
- });
342
- } else {
343
- actuallyRemove();
344
- }
345
- return Promise.resolve();
346
- },
347
- alreadyExecutedInitialActions: [],
348
- resume: () => {
349
- return Promise.resolve();
350
- },
351
- connected: false
352
- };
353
- sharedSession.docPromise = sharedSession.docPromise.then(async (doc) => {
354
- sharedSession.connected = true;
355
- const session = await sharedSession.sessionPromise;
356
- session.emit("opened", {});
357
- const initialActionsForApp = initialActions[key];
358
- if (initialActionsForApp && doc) {
359
- await runPendingInitialActions(initialActionsForApp, sharedSession, doc);
360
- }
361
- return doc;
362
- });
363
- sharedSession.docPromise = sharedSession.docPromise.catch((err) => {
364
- closeEnigmaSession();
365
- return Promise.reject(err);
366
- });
367
- return sharedSession;
368
- }
369
- var onlyOnReattach = false;
370
- function resumeShouldRejectPromiseIfNotReattached(bool) {
371
- onlyOnReattach = bool;
372
- }
373
- async function checkConnectivity(hostConfig) {
374
- let status = "online";
375
- const catchFunc = (err) => {
376
- const fetchErr = err;
377
- switch (fetchErr.status) {
378
- case 0:
379
- status = "offline";
380
- break;
381
- case 401:
382
- status = "unauthorized";
383
- break;
384
- }
385
- };
386
- const method = "get";
387
- const options = {
388
- hostConfig,
389
- timeoutMs: 2e3,
390
- noCache: true
391
- };
392
- const fetchRoot = _WOYJLK4Yjs.invokeFetch.call(void 0, "", { method, pathTemplate: "", options }).catch(catchFunc);
393
- const fetchMe = _WOYJLK4Yjs.invokeFetch.call(void 0, "", { method, pathTemplate: "/api/v1/users/me", options }).catch(catchFunc);
394
- await Promise.all([fetchRoot, fetchMe]);
395
- return Promise.resolve(status);
396
- }
397
- async function sessionResumeWithRetry(session, hostConfig) {
398
- const status = await checkConnectivity(hostConfig);
399
- if (status !== "online") {
400
- const error2 = new Error(`failed to resume: ${status}`);
401
- return Promise.reject(error2);
402
- }
403
- const maxRetries = 10;
404
- const retryTimeoutMs = 2e3;
405
- let resumed = false;
406
- let i = 0;
407
- let error;
408
- while (!resumed && i <= maxRetries) {
409
- try {
410
- await session.resume(onlyOnReattach);
411
- resumed = true;
412
- } catch (err) {
413
- error = err;
414
- let resolve = () => {
415
- };
416
- const promise = new Promise((res) => {
417
- resolve = res;
418
- });
419
- setTimeout(resolve, retryTimeoutMs);
420
- await promise;
421
- }
422
- i++;
423
- }
424
- if (!resumed) {
425
- return Promise.reject(error);
426
- }
427
- return Promise.resolve();
428
- }
429
- function getOrCreateSharedSession(props) {
430
- const key = toGlobalAppSessionId(props);
431
- sharedSessions[key] = sharedSessions[key] || createSharedSession(props);
432
- return sharedSessions[key];
433
- }
434
-
435
- // src/qix/qix-functions.ts
436
- async function createSessionApp() {
437
- let sharedSession;
438
- if ((await _WOYJLK4Yjs.getPlatform.call(void 0, )).isCloud) {
439
- sharedSession = await getOrCreateSharedSession({ appId: `SessionApp_${Date.now()}` });
440
- } else {
441
- sharedSession = await getOrCreateSharedSession({
442
- appId: `%3Ftransient%3D/identity/${Date.now()}`,
443
- useSessionApp: true
444
- });
445
- }
446
- let alreadyClosed = false;
447
- const listeners = /* @__PURE__ */ new Set();
448
- const qixSessionAppSession = {
449
- getDoc: () => sharedSession.docPromise,
450
- onWebSocketEvent(fn) {
451
- qixSessionAppSession._listeners.add(fn);
452
- return () => {
453
- qixSessionAppSession._listeners.delete(fn);
454
- };
455
- },
456
- _listeners: listeners,
457
- resume: async () => {
458
- return await sharedSession.resume();
459
- },
460
- close(props) {
461
- if (!alreadyClosed) {
462
- alreadyClosed = true;
463
- const defaultDelay = isBrowserEnvironment ? 5e3 : -1;
464
- return sharedSession.removeClient(qixSessionAppSession, _optionalChain([props, 'optionalAccess', _2 => _2.websocketCloseDelay]) || defaultDelay);
465
- }
466
- return Promise.resolve();
467
- }
468
- };
469
- return qixSessionAppSession;
470
- }
471
- function openAppSession(appIdOrProps) {
472
- const appSessionProps = typeof appIdOrProps === "string" ? { appId: appIdOrProps, identity: void 0, hostConfig: void 0 } : appIdOrProps;
473
- const appSessionId = toGlobalAppSessionId(appSessionProps);
474
- const externalApp = externalApps[appSessionId];
475
- if (externalApp) {
476
- return {
477
- getDoc: () => externalApp,
478
- onWebSocketEvent: (fn) => () => {
479
- },
480
- resume: () => Promise.resolve(),
481
- close: () => Promise.resolve()
482
- };
483
- }
484
- const sharedSession = getOrCreateSharedSession(appSessionProps);
485
- const listeners = /* @__PURE__ */ new Set();
486
- let alreadyClosed = false;
487
- const qixAppSession = {
488
- getDoc: () => sharedSession.docPromise,
489
- onWebSocketEvent(fn) {
490
- qixAppSession._listeners.add(fn);
491
- return () => {
492
- qixAppSession._listeners.delete(fn);
493
- };
494
- },
495
- _listeners: listeners,
496
- resume: async () => {
497
- return await sharedSession.resume();
498
- },
499
- close(props) {
500
- if (!alreadyClosed) {
501
- alreadyClosed = true;
502
- const defaultDelay = isBrowserEnvironment ? 5e3 : -1;
503
- return sharedSession.removeClient(qixAppSession, _optionalChain([props, 'optionalAccess', _3 => _3.websocketCloseDelay]) || defaultDelay);
504
- }
505
- return Promise.resolve();
506
- }
507
- };
508
- sharedSession.addClient(qixAppSession);
509
- return qixAppSession;
510
- }
511
- function registerExternalAppSession(appId, enigmaDocObject) {
512
- const appSessionId = toGlobalAppSessionId({ appId });
513
- externalApps[appSessionId] = Promise.resolve(enigmaDocObject);
514
- }
515
- function useAppHook(react) {
516
- return (appId) => {
517
- const [app, setApp] = react.useState(void 0);
518
- react.useEffect(() => {
519
- const appSession = openAppSession(appId);
520
- appSession.getDoc().then((x) => {
521
- setApp(x);
522
- });
523
- return () => {
524
- if (appSession) {
525
- appSession.close();
526
- }
527
- };
528
- }, [appId]);
529
- return app;
530
- };
531
- }
532
- function addInitialAppAction(openAppSessionProps, action) {
533
- addInitialSharedSessionCreationAction(openAppSessionProps, action);
534
- }
535
- function onWebSocketEvent(fn) {
536
- return globalOnWebSocketEvent(fn);
537
- }
538
- function onCombinedWebSocketStateChange(fn) {
539
- return globalOnStateChange(fn);
540
- }
541
- async function resumeSuspendedSessions() {
542
- return resumeAll();
543
- }
544
- function resumeOnlyOnReattach(bool) {
545
- resumeShouldRejectPromiseIfNotReattached(bool);
546
- }
547
- var externalApps = {};
548
- var isBrowserEnvironment = typeof window !== "undefined";
549
-
550
- // src/qix/qix.ts
551
- var qix = {
552
- addInitialAppAction,
553
- createSessionApp,
554
- openAppSession,
555
- registerExternalAppSession,
556
- useAppHook,
557
- onWebSocketEvent,
558
- onCombinedWebSocketStateChange,
559
- resumeSuspendedSessions,
560
- resumeOnlyOnReattach
561
- };
562
- var qix_default = qix;
563
-
564
-
565
-
566
-
567
-
568
-
569
-
570
-
571
-
572
-
573
-
574
- exports.addInitialAppAction = addInitialAppAction; exports.createSessionApp = createSessionApp; exports.default = qix_default; exports.onCombinedWebSocketStateChange = onCombinedWebSocketStateChange; exports.onWebSocketEvent = onWebSocketEvent; exports.openAppSession = openAppSession; exports.registerExternalAppSession = registerExternalAppSession; exports.resumeOnlyOnReattach = resumeOnlyOnReattach; exports.resumeSuspendedSessions = resumeSuspendedSessions; exports.useAppHook = useAppHook;
@@ -1,17 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
-
7
-
8
- var _WOYJLK4Yjs = require('./WOYJLK4Y.js');
9
- require('./4HB3TAEO.js');
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- exports.EncodingError = _WOYJLK4Yjs.EncodingError; exports.InvokeFetchError = _WOYJLK4Yjs.InvokeFetchError; exports.clearApiCache = _WOYJLK4Yjs.clearApiCache; exports.default = _WOYJLK4Yjs.invoke_fetch_default; exports.invokeFetch = _WOYJLK4Yjs.invokeFetch; exports.parseFetchResponse = _WOYJLK4Yjs.parseFetchResponse;
@@ -1,67 +0,0 @@
1
- import "./VSY5YIQY.mjs";
2
-
3
- // node_modules/.pnpm/@qlik+runtime-module-loader@0.2.5/node_modules/@qlik/runtime-module-loader/dist/esm/index.js
4
- window.__qlikMainPrivateResolvers = window.__qlikMainPrivateResolvers || {};
5
- window.__qlikMainPrivateResolvers.mainUrlPromise = window.__qlikMainPrivateResolvers.mainUrlPromise || new Promise((resolve) => {
6
- window.__qlikMainPrivateResolvers.resolveMainJsUrl = (value) => resolve(value);
7
- });
8
- window.__qlikMainPrivateResolvers.qlikMainPromise = window.__qlikMainPrivateResolvers.qlikMainPromise || (async () => {
9
- if (window.QlikMain) {
10
- return window.QlikMain;
11
- }
12
- const url = await window.__qlikMainPrivateResolvers.mainUrlPromise;
13
- return new Promise((resolve, reject) => {
14
- if (window.QlikMain) {
15
- resolve(window.QlikMain);
16
- }
17
- const script = window.document.createElement("script");
18
- script.src = url;
19
- script.addEventListener("error", (err) => {
20
- reject(err);
21
- });
22
- script.addEventListener("load", () => {
23
- if (window.QlikMain) {
24
- resolve(window.QlikMain);
25
- }
26
- });
27
- window.document.head.appendChild(script);
28
- });
29
- })();
30
- function provideHostConfigForMainJsUrl(hostConfig) {
31
- const trailingSlashes = /\/+$/;
32
- function toMainJsUrl(hc) {
33
- const url = hc?.embedRuntimeUrl || hc?.url || hc?.host;
34
- if (!url) {
35
- return void 0;
36
- }
37
- let locationUrl;
38
- if (url.toLowerCase().startsWith("https://") || url.toLowerCase().startsWith("http://")) {
39
- locationUrl = url;
40
- } else {
41
- locationUrl = `https://${url}`;
42
- }
43
- locationUrl = locationUrl.replace(trailingSlashes, "");
44
- return `${locationUrl}/main.js`;
45
- }
46
- const potentialMainJsUrl = toMainJsUrl(hostConfig);
47
- if (potentialMainJsUrl) {
48
- window.__qlikMainPrivateResolvers.resolveMainJsUrl(potentialMainJsUrl);
49
- }
50
- }
51
- async function importRuntimeModule(name, hostConfig) {
52
- if (hostConfig?.runtimeModuleMocks?.[name]) {
53
- return hostConfig?.runtimeModuleMocks?.[name];
54
- }
55
- provideHostConfigForMainJsUrl(hostConfig);
56
- return importFromCdn(name);
57
- }
58
- async function importUnsupportedAndUnstableRuntimeModule(name) {
59
- return importFromCdn(name);
60
- }
61
- async function importFromCdn(name) {
62
- return (await window.__qlikMainPrivateResolvers.qlikMainPromise).import(name);
63
- }
64
- export {
65
- importRuntimeModule,
66
- importUnsupportedAndUnstableRuntimeModule
67
- };