@deephaven/jsapi-utils 0.108.1-beta.6 → 0.109.0

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.
@@ -1,3 +1,17 @@
1
+ import { type PostMessage } from '@deephaven/utils';
2
+ export {
3
+ /** @deprecated Use `@deephaven/utils` `getWindowParent` instead. */
4
+ getWindowParent,
5
+ /** @deprecated Use `@deephaven/utils` `isResponse` instead. */
6
+ isResponse,
7
+ /** @deprecated Use `@deephaven/utils` `makeMessage` instead. */
8
+ makeMessage,
9
+ /** @deprecated Use `@deephaven/utils` `makeResponse` instead. */
10
+ makeResponse,
11
+ /** @deprecated Use `@deephaven/utils` `requestParentResponse` instead. */
12
+ requestParentResponse,
13
+ /** @deprecated Use `@deephaven/utils` `PostMessage<T>` instead. */
14
+ type PostMessage as Message, } from '@deephaven/utils';
1
15
  export declare const LOGIN_OPTIONS_REQUEST = "io.deephaven.message.LoginOptions.request";
2
16
  export declare const SESSION_DETAILS_REQUEST = "io.deephaven.message.SessionDetails.request";
3
17
  /**
@@ -12,46 +26,12 @@ export declare const BROADCAST_LOGIN_MESSAGE = "io.deephaven.broadcast.Login";
12
26
  * Event emitted when the user has logged out
13
27
  */
14
28
  export declare const BROADCAST_LOGOUT_MESSAGE = "io.deephaven.broadcast.Logout";
15
- export interface Message<T = unknown> {
16
- id: string;
17
- message: string;
18
- payload?: T;
19
- }
20
- export interface BroadcastLoginMessage extends Message<void> {
29
+ export interface BroadcastLoginMessage extends PostMessage<void> {
21
30
  message: typeof BROADCAST_LOGIN_MESSAGE;
22
31
  }
23
- export interface BroadcastLogoutMessage extends Message<void> {
32
+ export interface BroadcastLogoutMessage extends PostMessage<void> {
24
33
  message: typeof BROADCAST_LOGOUT_MESSAGE;
25
34
  }
26
- export interface Response<T = unknown> {
27
- id: string;
28
- payload: T;
29
- }
30
- export declare function isMessage(obj: unknown): obj is Message;
31
35
  export declare function isBroadcastLoginMessage(obj: unknown): obj is BroadcastLoginMessage;
32
36
  export declare function isBroadcastLogoutMessage(obj: unknown): obj is BroadcastLogoutMessage;
33
- export declare function isResponse(obj: unknown): obj is Response;
34
- /**
35
- * Make message object with optional payload
36
- * @param message Message string
37
- * @param id Unique message id
38
- * @param payload Payload to send
39
- * @returns Message
40
- */
41
- export declare function makeMessage<T>(message: string, id?: string, payload?: T): Message<T>;
42
- /**
43
- * Make response object for given message id
44
- * @param messageId Id of the request message to respond to
45
- * @param payload Payload to respond with
46
- * @returns Response
47
- */
48
- export declare function makeResponse<T>(messageId: string, payload: T): Response<T>;
49
- export declare function getWindowParent(): Window | null;
50
- /**
51
- * Request data from the parent window and wait for response
52
- * @param request Request message to send to the parent window
53
- * @param timeout Timeout in ms
54
- * @returns Payload of the given type, or undefined
55
- */
56
- export declare function requestParentResponse(request: string, timeout?: number): Promise<unknown>;
57
37
  //# sourceMappingURL=MessageUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtils.d.ts","sourceRoot":"","sources":["../src/MessageUtils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,8CACW,CAAC;AAE9C,eAAO,MAAM,uBAAuB,gDACW,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC1D,OAAO,EAAE,OAAO,uBAAuB,CAAC;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC3D,OAAO,EAAE,OAAO,wBAAwB,CAAC;CAC1C;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO,CAOtD;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,qBAAqB,CAE9B;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,sBAAsB,CAE/B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,CAGxD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,EAAE,SAAW,EACb,OAAO,CAAC,EAAE,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE1E;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAQ/C;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,SAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CA8BlB"}
1
+ {"version":3,"file":"MessageUtils.d.ts","sourceRoot":"","sources":["../src/MessageUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO;AACL,oEAAoE;AACpE,eAAe;AACf,+DAA+D;AAC/D,UAAU;AACV,gEAAgE;AAChE,WAAW;AACX,iEAAiE;AACjE,YAAY;AACZ,0EAA0E;AAC1E,qBAAqB;AACrB,mEAAmE;AACnE,KAAK,WAAW,IAAI,OAAO,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,qBAAqB,8CACW,CAAC;AAE9C,eAAO,MAAM,uBAAuB,gDACW,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,MAAM,WAAW,qBAAsB,SAAQ,WAAW,CAAC,IAAI,CAAC;IAC9D,OAAO,EAAE,OAAO,uBAAuB,CAAC;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW,CAAC,IAAI,CAAC;IAC/D,OAAO,EAAE,OAAO,wBAAwB,CAAC;CAC1C;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,qBAAqB,CAE9B;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,sBAAsB,CAE/B"}
@@ -1,9 +1,11 @@
1
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
- import { nanoid } from 'nanoid';
4
- import Log from '@deephaven/log';
5
- import { TimeoutError } from '@deephaven/utils';
6
- var log = Log.module('MessageUtils');
1
+ import { isMessage } from '@deephaven/utils';
2
+ export { /** @deprecated Use `@deephaven/utils` `getWindowParent` instead. */
3
+ getWindowParent, /** @deprecated Use `@deephaven/utils` `isResponse` instead. */
4
+ isResponse, /** @deprecated Use `@deephaven/utils` `makeMessage` instead. */
5
+ makeMessage, /** @deprecated Use `@deephaven/utils` `makeResponse` instead. */
6
+ makeResponse, /** @deprecated Use `@deephaven/utils` `requestParentResponse` instead. */
7
+ requestParentResponse
8
+ /** @deprecated Use `@deephaven/utils` `PostMessage<T>` instead. */ } from '@deephaven/utils';
7
9
  export var LOGIN_OPTIONS_REQUEST = 'io.deephaven.message.LoginOptions.request';
8
10
  export var SESSION_DETAILS_REQUEST = 'io.deephaven.message.SessionDetails.request';
9
11
 
@@ -21,104 +23,10 @@ export var BROADCAST_LOGIN_MESSAGE = 'io.deephaven.broadcast.Login';
21
23
  * Event emitted when the user has logged out
22
24
  */
23
25
  export var BROADCAST_LOGOUT_MESSAGE = 'io.deephaven.broadcast.Logout';
24
- export function isMessage(obj) {
25
- var message = obj;
26
- return message != null && typeof message.id === 'string' && typeof message.message === 'string';
27
- }
28
26
  export function isBroadcastLoginMessage(obj) {
29
27
  return isMessage(obj) && obj.message === BROADCAST_LOGIN_MESSAGE;
30
28
  }
31
29
  export function isBroadcastLogoutMessage(obj) {
32
30
  return isMessage(obj) && obj.message === BROADCAST_LOGOUT_MESSAGE;
33
31
  }
34
- export function isResponse(obj) {
35
- var response = obj;
36
- return response != null && typeof response.id === 'string';
37
- }
38
-
39
- /**
40
- * Make message object with optional payload
41
- * @param message Message string
42
- * @param id Unique message id
43
- * @param payload Payload to send
44
- * @returns Message
45
- */
46
- export function makeMessage(message) {
47
- var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : nanoid();
48
- var payload = arguments.length > 2 ? arguments[2] : undefined;
49
- return {
50
- message,
51
- id,
52
- payload
53
- };
54
- }
55
-
56
- /**
57
- * Make response object for given message id
58
- * @param messageId Id of the request message to respond to
59
- * @param payload Payload to respond with
60
- * @returns Response
61
- */
62
- export function makeResponse(messageId, payload) {
63
- return {
64
- id: messageId,
65
- payload
66
- };
67
- }
68
- export function getWindowParent() {
69
- if (window.opener != null) {
70
- return window.opener;
71
- }
72
- if (window.parent != null && window.parent !== window) {
73
- return window.parent;
74
- }
75
- return null;
76
- }
77
-
78
- /**
79
- * Request data from the parent window and wait for response
80
- * @param request Request message to send to the parent window
81
- * @param timeout Timeout in ms
82
- * @returns Payload of the given type, or undefined
83
- */
84
- export function requestParentResponse(_x) {
85
- return _requestParentResponse.apply(this, arguments);
86
- }
87
- function _requestParentResponse() {
88
- _requestParentResponse = _asyncToGenerator(function* (request) {
89
- var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 30000;
90
- var parent = getWindowParent();
91
- if (parent == null) {
92
- throw new Error('window parent is null, unable to send request.');
93
- }
94
- return new Promise((resolve, reject) => {
95
- var timeoutId;
96
- var id = nanoid();
97
- var listener = event => {
98
- var {
99
- data
100
- } = event;
101
- if (!isResponse(data)) {
102
- log.debug('Ignoring non-deephaven response', data);
103
- return;
104
- }
105
- log.debug('Received message', data);
106
- if ((data === null || data === void 0 ? void 0 : data.id) !== id) {
107
- log.debug("Ignore message, id doesn't match", data);
108
- return;
109
- }
110
- window.clearTimeout(timeoutId);
111
- window.removeEventListener('message', listener);
112
- resolve(data.payload);
113
- };
114
- window.addEventListener('message', listener);
115
- timeoutId = window.setTimeout(() => {
116
- window.removeEventListener('message', listener);
117
- reject(new TimeoutError('Request timed out'));
118
- }, timeout);
119
- parent.postMessage(makeMessage(request, id), '*');
120
- });
121
- });
122
- return _requestParentResponse.apply(this, arguments);
123
- }
124
32
  //# sourceMappingURL=MessageUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtils.js","names":["nanoid","Log","TimeoutError","log","module","LOGIN_OPTIONS_REQUEST","SESSION_DETAILS_REQUEST","BROADCAST_CHANNEL_NAME","BROADCAST_LOGIN_MESSAGE","BROADCAST_LOGOUT_MESSAGE","isMessage","obj","message","id","isBroadcastLoginMessage","isBroadcastLogoutMessage","isResponse","response","makeMessage","arguments","length","undefined","payload","makeResponse","messageId","getWindowParent","window","opener","parent","requestParentResponse","_x","_requestParentResponse","apply","_asyncToGenerator","request","timeout","Error","Promise","resolve","reject","timeoutId","listener","event","data","debug","clearTimeout","removeEventListener","addEventListener","setTimeout","postMessage"],"sources":["../src/MessageUtils.ts"],"sourcesContent":["import { nanoid } from 'nanoid';\nimport Log from '@deephaven/log';\nimport { TimeoutError } from '@deephaven/utils';\n\nconst log = Log.module('MessageUtils');\n\nexport const LOGIN_OPTIONS_REQUEST =\n 'io.deephaven.message.LoginOptions.request';\n\nexport const SESSION_DETAILS_REQUEST =\n 'io.deephaven.message.SessionDetails.request';\n\n/**\n * Use a BroadcastChannel for sending messages between tabs, such as when the user logs out.\n */\nexport const BROADCAST_CHANNEL_NAME = 'io.deephaven.broadcast';\n\n/**\n * Event emitted when the user has logged in successfully\n */\nexport const BROADCAST_LOGIN_MESSAGE = 'io.deephaven.broadcast.Login';\n\n/**\n * Event emitted when the user has logged out\n */\nexport const BROADCAST_LOGOUT_MESSAGE = 'io.deephaven.broadcast.Logout';\n\nexport interface Message<T = unknown> {\n id: string;\n message: string;\n payload?: T;\n}\n\nexport interface BroadcastLoginMessage extends Message<void> {\n message: typeof BROADCAST_LOGIN_MESSAGE;\n}\n\nexport interface BroadcastLogoutMessage extends Message<void> {\n message: typeof BROADCAST_LOGOUT_MESSAGE;\n}\n\nexport interface Response<T = unknown> {\n id: string;\n payload: T;\n}\n\nexport function isMessage(obj: unknown): obj is Message {\n const message = obj as Message;\n return (\n message != null &&\n typeof message.id === 'string' &&\n typeof message.message === 'string'\n );\n}\n\nexport function isBroadcastLoginMessage(\n obj: unknown\n): obj is BroadcastLoginMessage {\n return isMessage(obj) && obj.message === BROADCAST_LOGIN_MESSAGE;\n}\n\nexport function isBroadcastLogoutMessage(\n obj: unknown\n): obj is BroadcastLogoutMessage {\n return isMessage(obj) && obj.message === BROADCAST_LOGOUT_MESSAGE;\n}\n\nexport function isResponse(obj: unknown): obj is Response {\n const response = obj as Response;\n return response != null && typeof response.id === 'string';\n}\n\n/**\n * Make message object with optional payload\n * @param message Message string\n * @param id Unique message id\n * @param payload Payload to send\n * @returns Message\n */\nexport function makeMessage<T>(\n message: string,\n id = nanoid(),\n payload?: T\n): Message<T> {\n return { message, id, payload };\n}\n\n/**\n * Make response object for given message id\n * @param messageId Id of the request message to respond to\n * @param payload Payload to respond with\n * @returns Response\n */\nexport function makeResponse<T>(messageId: string, payload: T): Response<T> {\n return { id: messageId, payload };\n}\n\nexport function getWindowParent(): Window | null {\n if (window.opener != null) {\n return window.opener;\n }\n if (window.parent != null && window.parent !== window) {\n return window.parent;\n }\n return null;\n}\n\n/**\n * Request data from the parent window and wait for response\n * @param request Request message to send to the parent window\n * @param timeout Timeout in ms\n * @returns Payload of the given type, or undefined\n */\nexport async function requestParentResponse(\n request: string,\n timeout = 30000\n): Promise<unknown> {\n const parent = getWindowParent();\n if (parent == null) {\n throw new Error('window parent is null, unable to send request.');\n }\n return new Promise((resolve, reject) => {\n let timeoutId: number;\n const id = nanoid();\n const listener = (event: MessageEvent): void => {\n const { data } = event;\n if (!isResponse(data)) {\n log.debug('Ignoring non-deephaven response', data);\n return;\n }\n log.debug('Received message', data);\n if (data?.id !== id) {\n log.debug(\"Ignore message, id doesn't match\", data);\n return;\n }\n window.clearTimeout(timeoutId);\n window.removeEventListener('message', listener);\n resolve(data.payload);\n };\n window.addEventListener('message', listener);\n timeoutId = window.setTimeout(() => {\n window.removeEventListener('message', listener);\n reject(new TimeoutError('Request timed out'));\n }, timeout);\n parent.postMessage(makeMessage(request, id), '*');\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MessageUtils.js","names":["isMessage","getWindowParent","isResponse","makeMessage","makeResponse","requestParentResponse","LOGIN_OPTIONS_REQUEST","SESSION_DETAILS_REQUEST","BROADCAST_CHANNEL_NAME","BROADCAST_LOGIN_MESSAGE","BROADCAST_LOGOUT_MESSAGE","isBroadcastLoginMessage","obj","message","isBroadcastLogoutMessage"],"sources":["../src/MessageUtils.ts"],"sourcesContent":["import { isMessage, type PostMessage } from '@deephaven/utils';\n\nexport {\n /** @deprecated Use `@deephaven/utils` `getWindowParent` instead. */\n getWindowParent,\n /** @deprecated Use `@deephaven/utils` `isResponse` instead. */\n isResponse,\n /** @deprecated Use `@deephaven/utils` `makeMessage` instead. */\n makeMessage,\n /** @deprecated Use `@deephaven/utils` `makeResponse` instead. */\n makeResponse,\n /** @deprecated Use `@deephaven/utils` `requestParentResponse` instead. */\n requestParentResponse,\n /** @deprecated Use `@deephaven/utils` `PostMessage<T>` instead. */\n type PostMessage as Message,\n} from '@deephaven/utils';\n\nexport const LOGIN_OPTIONS_REQUEST =\n 'io.deephaven.message.LoginOptions.request';\n\nexport const SESSION_DETAILS_REQUEST =\n 'io.deephaven.message.SessionDetails.request';\n\n/**\n * Use a BroadcastChannel for sending messages between tabs, such as when the user logs out.\n */\nexport const BROADCAST_CHANNEL_NAME = 'io.deephaven.broadcast';\n\n/**\n * Event emitted when the user has logged in successfully\n */\nexport const BROADCAST_LOGIN_MESSAGE = 'io.deephaven.broadcast.Login';\n\n/**\n * Event emitted when the user has logged out\n */\nexport const BROADCAST_LOGOUT_MESSAGE = 'io.deephaven.broadcast.Logout';\n\nexport interface BroadcastLoginMessage extends PostMessage<void> {\n message: typeof BROADCAST_LOGIN_MESSAGE;\n}\n\nexport interface BroadcastLogoutMessage extends PostMessage<void> {\n message: typeof BROADCAST_LOGOUT_MESSAGE;\n}\n\nexport function isBroadcastLoginMessage(\n obj: unknown\n): obj is BroadcastLoginMessage {\n return isMessage(obj) && obj.message === BROADCAST_LOGIN_MESSAGE;\n}\n\nexport function isBroadcastLogoutMessage(\n obj: unknown\n): obj is BroadcastLogoutMessage {\n return isMessage(obj) && obj.message === BROADCAST_LOGOUT_MESSAGE;\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAA0B,kBAAkB;AAE9D,SACE;AACAC,eAAe,EACf;AACAC,UAAU,EACV;AACAC,WAAW,EACX;AACAC,YAAY,EACZ;AACAC;AACA,2EAEK,kBAAkB;AAEzB,OAAO,IAAMC,qBAAqB,GAChC,2CAA2C;AAE7C,OAAO,IAAMC,uBAAuB,GAClC,6CAA6C;;AAE/C;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,wBAAwB;;AAE9D;AACA;AACA;AACA,OAAO,IAAMC,uBAAuB,GAAG,8BAA8B;;AAErE;AACA;AACA;AACA,OAAO,IAAMC,wBAAwB,GAAG,+BAA+B;AAUvE,OAAO,SAASC,uBAAuBA,CACrCC,GAAY,EACkB;EAC9B,OAAOZ,SAAS,CAACY,GAAG,CAAC,IAAIA,GAAG,CAACC,OAAO,KAAKJ,uBAAuB;AAClE;AAEA,OAAO,SAASK,wBAAwBA,CACtCF,GAAY,EACmB;EAC/B,OAAOZ,SAAS,CAACY,GAAG,CAAC,IAAIA,GAAG,CAACC,OAAO,KAAKH,wBAAwB;AACnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionUtils.d.ts","sourceRoot":"","sources":["../src/SessionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,OAAO,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,OAAO,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,aAAa,EAChC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,OAAO,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,cAAc,GAC9B,MAAM,CAAC,UAAU,CAInB;AAcD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAOjE;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,OAAO,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,aAAa,EAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAWrC"}
1
+ {"version":3,"file":"SessionUtils.d.ts","sourceRoot":"","sources":["../src/SessionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAS3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,OAAO,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,OAAO,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,aAAa,EAChC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,OAAO,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,cAAc,GAC9B,MAAM,CAAC,UAAU,CAInB;AAcD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAOjE;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,OAAO,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,aAAa,EAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAWrC"}
@@ -1,8 +1,9 @@
1
1
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
2
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
3
  import Log from '@deephaven/log';
4
+ import { requestParentResponse } from '@deephaven/utils';
4
5
  import { nanoid } from 'nanoid';
5
- import { requestParentResponse, SESSION_DETAILS_REQUEST } from "./MessageUtils.js";
6
+ import { SESSION_DETAILS_REQUEST } from "./MessageUtils.js";
6
7
  import NoConsolesError, { isNoConsolesError } from "./NoConsolesError.js";
7
8
  var log = Log.module('SessionUtils');
8
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SessionUtils.js","names":["Log","nanoid","requestParentResponse","SESSION_DETAILS_REQUEST","NoConsolesError","isNoConsolesError","log","module","createSessionWrapper","_x","_x2","_x3","_createSessionWrapper","apply","arguments","_asyncToGenerator","dh","connection","details","info","types","getConsoleTypes","length","type","session","startSession","config","id","createCoreClient","websocketUrl","options","CoreClient","isSessionDetails","obj","requestParentSessionDetails","_requestParentSessionDetails","response","Error","concat","getSessionDetails","_getSessionDetails","searchParams","URLSearchParams","window","location","search","get","loadSessionWrapper","_x4","_x5","_x6","_loadSessionWrapper","sessionDetails","sessionWrapper","e"],"sources":["../src/SessionUtils.ts"],"sourcesContent":["import type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { nanoid } from 'nanoid';\nimport { requestParentResponse, SESSION_DETAILS_REQUEST } from './MessageUtils';\nimport NoConsolesError, { isNoConsolesError } from './NoConsolesError';\n\nconst log = Log.module('SessionUtils');\n\nexport interface SessionConfig {\n type: string;\n id: string;\n}\n\nexport interface SessionDetails {\n workerName?: string;\n processInfoId?: string;\n}\n\nexport interface SessionWrapper {\n session: DhType.IdeSession;\n connection: DhType.IdeConnection;\n config: SessionConfig;\n details?: SessionDetails;\n dh: typeof DhType;\n}\n\n/**\n * Create a new session using the default URL\n * @returns A session and config that is ready to use\n */\nexport async function createSessionWrapper(\n dh: typeof DhType,\n connection: DhType.IdeConnection,\n details: SessionDetails\n): Promise<SessionWrapper> {\n log.info('Getting console types...');\n\n const types = await connection.getConsoleTypes();\n\n if (types.length === 0) {\n throw new NoConsolesError('No console types available');\n }\n\n log.info('Available types:', types);\n\n const type = types[0];\n\n log.info('Starting session with type', type);\n\n const session = await connection.startSession(type);\n\n const config = { type, id: nanoid() };\n\n log.info('Console session established', config);\n\n return {\n session,\n config,\n connection,\n details,\n dh,\n };\n}\n\nexport function createCoreClient(\n dh: typeof DhType,\n websocketUrl: string,\n options?: DhType.ConnectOptions\n): DhType.CoreClient {\n log.info('createCoreClient', websocketUrl);\n\n return new dh.CoreClient(websocketUrl, options);\n}\n\nfunction isSessionDetails(obj: unknown): obj is SessionDetails {\n return obj != null && typeof obj === 'object';\n}\n\nasync function requestParentSessionDetails(): Promise<SessionDetails> {\n const response = await requestParentResponse(SESSION_DETAILS_REQUEST);\n if (!isSessionDetails(response)) {\n throw new Error(`Unexpected session details response: ${response}`);\n }\n return response;\n}\n\nexport async function getSessionDetails(): Promise<SessionDetails> {\n const searchParams = new URLSearchParams(window.location.search);\n switch (searchParams.get('authProvider')) {\n case 'parent':\n return requestParentSessionDetails();\n }\n return {};\n}\n\nexport async function loadSessionWrapper(\n dh: typeof DhType,\n connection: DhType.IdeConnection,\n sessionDetails: SessionDetails\n): Promise<SessionWrapper | undefined> {\n let sessionWrapper: SessionWrapper | undefined;\n try {\n sessionWrapper = await createSessionWrapper(dh, connection, sessionDetails);\n } catch (e) {\n // Consoles may be disabled on the server, but we should still be able to start up and open existing objects\n if (!isNoConsolesError(e)) {\n throw e;\n }\n }\n return sessionWrapper;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SessionUtils.js","names":["Log","requestParentResponse","nanoid","SESSION_DETAILS_REQUEST","NoConsolesError","isNoConsolesError","log","module","createSessionWrapper","_x","_x2","_x3","_createSessionWrapper","apply","arguments","_asyncToGenerator","dh","connection","details","info","types","getConsoleTypes","length","type","session","startSession","config","id","createCoreClient","websocketUrl","options","CoreClient","isSessionDetails","obj","requestParentSessionDetails","_requestParentSessionDetails","response","Error","concat","getSessionDetails","_getSessionDetails","searchParams","URLSearchParams","window","location","search","get","loadSessionWrapper","_x4","_x5","_x6","_loadSessionWrapper","sessionDetails","sessionWrapper","e"],"sources":["../src/SessionUtils.ts"],"sourcesContent":["import type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { requestParentResponse } from '@deephaven/utils';\nimport { nanoid } from 'nanoid';\nimport { SESSION_DETAILS_REQUEST } from './MessageUtils';\nimport NoConsolesError, { isNoConsolesError } from './NoConsolesError';\n\nconst log = Log.module('SessionUtils');\n\nexport interface SessionConfig {\n type: string;\n id: string;\n}\n\nexport interface SessionDetails {\n workerName?: string;\n processInfoId?: string;\n}\n\nexport interface SessionWrapper {\n session: DhType.IdeSession;\n connection: DhType.IdeConnection;\n config: SessionConfig;\n details?: SessionDetails;\n dh: typeof DhType;\n}\n\n/**\n * Create a new session using the default URL\n * @returns A session and config that is ready to use\n */\nexport async function createSessionWrapper(\n dh: typeof DhType,\n connection: DhType.IdeConnection,\n details: SessionDetails\n): Promise<SessionWrapper> {\n log.info('Getting console types...');\n\n const types = await connection.getConsoleTypes();\n\n if (types.length === 0) {\n throw new NoConsolesError('No console types available');\n }\n\n log.info('Available types:', types);\n\n const type = types[0];\n\n log.info('Starting session with type', type);\n\n const session = await connection.startSession(type);\n\n const config = { type, id: nanoid() };\n\n log.info('Console session established', config);\n\n return {\n session,\n config,\n connection,\n details,\n dh,\n };\n}\n\nexport function createCoreClient(\n dh: typeof DhType,\n websocketUrl: string,\n options?: DhType.ConnectOptions\n): DhType.CoreClient {\n log.info('createCoreClient', websocketUrl);\n\n return new dh.CoreClient(websocketUrl, options);\n}\n\nfunction isSessionDetails(obj: unknown): obj is SessionDetails {\n return obj != null && typeof obj === 'object';\n}\n\nasync function requestParentSessionDetails(): Promise<SessionDetails> {\n const response = await requestParentResponse(SESSION_DETAILS_REQUEST);\n if (!isSessionDetails(response)) {\n throw new Error(`Unexpected session details response: ${response}`);\n }\n return response;\n}\n\nexport async function getSessionDetails(): Promise<SessionDetails> {\n const searchParams = new URLSearchParams(window.location.search);\n switch (searchParams.get('authProvider')) {\n case 'parent':\n return requestParentSessionDetails();\n }\n return {};\n}\n\nexport async function loadSessionWrapper(\n dh: typeof DhType,\n connection: DhType.IdeConnection,\n sessionDetails: SessionDetails\n): Promise<SessionWrapper | undefined> {\n let sessionWrapper: SessionWrapper | undefined;\n try {\n sessionWrapper = await createSessionWrapper(dh, connection, sessionDetails);\n } catch (e) {\n // Consoles may be disabled on the server, but we should still be able to start up and open existing objects\n if (!isNoConsolesError(e)) {\n throw e;\n }\n }\n return sessionWrapper;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/jsapi-utils",
3
- "version": "0.108.1-beta.6+09077bfe",
3
+ "version": "0.109.0",
4
4
  "description": "Deephaven JSAPI Utils",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -21,16 +21,16 @@
21
21
  "build:babel": "babel ./src --out-dir ./dist --extensions \".ts,.tsx,.js,.jsx\" --source-maps --root-mode upward"
22
22
  },
23
23
  "dependencies": {
24
- "@deephaven/filters": "^0.108.1-beta.6+09077bfe",
24
+ "@deephaven/filters": "^0.109.0",
25
25
  "@deephaven/jsapi-types": "^1.0.0-dev0.37.2",
26
- "@deephaven/log": "^0.108.1-beta.6+09077bfe",
27
- "@deephaven/utils": "^0.108.1-beta.6+09077bfe",
26
+ "@deephaven/log": "^0.109.0",
27
+ "@deephaven/utils": "^0.109.0",
28
28
  "lodash.clamp": "^4.0.3",
29
29
  "nanoid": "^5.0.7"
30
30
  },
31
31
  "devDependencies": {
32
- "@deephaven/jsapi-shim": "^0.108.1-beta.6+09077bfe",
33
- "@deephaven/test-utils": "^0.108.1-beta.6+09077bfe"
32
+ "@deephaven/jsapi-shim": "^0.109.0",
33
+ "@deephaven/test-utils": "^0.109.0"
34
34
  },
35
35
  "files": [
36
36
  "dist"
@@ -39,5 +39,5 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "gitHead": "09077bfefd41a24172a6e77f8c9684938c757220"
42
+ "gitHead": "8dd24c00fcb5270628e21bb0bca6972db92c2408"
43
43
  }