@deephaven/jsapi-utils 0.78.1-use-widget.2 → 0.79.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 +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,SAAY,EACd,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":"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,6 +1,6 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3
- import shortid from 'shortid';
3
+ import { nanoid } from 'nanoid';
4
4
  import Log from '@deephaven/log';
5
5
  import { TimeoutError } from '@deephaven/utils';
6
6
  var log = Log.module('MessageUtils');
@@ -44,7 +44,7 @@ export function isResponse(obj) {
44
44
  * @returns Message
45
45
  */
46
46
  export function makeMessage(message) {
47
- var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : shortid();
47
+ var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : nanoid();
48
48
  var payload = arguments.length > 2 ? arguments[2] : undefined;
49
49
  return {
50
50
  message,
@@ -93,7 +93,7 @@ function _requestParentResponse() {
93
93
  }
94
94
  return new Promise((resolve, reject) => {
95
95
  var timeoutId;
96
- var id = shortid();
96
+ var id = nanoid();
97
97
  var listener = event => {
98
98
  var {
99
99
  data
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtils.js","names":["shortid","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 shortid from 'shortid';\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 = shortid(),\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 = shortid();\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":["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,7 +1,7 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3
3
  import Log from '@deephaven/log';
4
- import shortid from 'shortid';
4
+ import { nanoid } from 'nanoid';
5
5
  import { requestParentResponse, SESSION_DETAILS_REQUEST } from "./MessageUtils.js";
6
6
  import NoConsolesError, { isNoConsolesError } from "./NoConsolesError.js";
7
7
  var log = Log.module('SessionUtils');
@@ -33,7 +33,7 @@ function _createSessionWrapper() {
33
33
  var session = yield connection.startSession(type);
34
34
  var config = {
35
35
  type,
36
- id: shortid.generate()
36
+ id: nanoid()
37
37
  };
38
38
  log.info('Console session established', config);
39
39
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"SessionUtils.js","names":["Log","shortid","requestParentResponse","SESSION_DETAILS_REQUEST","NoConsolesError","isNoConsolesError","log","module","createConnection","dh","websocketUrl","info","concat","IdeConnection","createSessionWrapper","_x","_x2","_x3","_createSessionWrapper","apply","arguments","_asyncToGenerator","connection","details","types","getConsoleTypes","length","type","session","startSession","config","id","generate","createCoreClient","options","CoreClient","isSessionDetails","obj","requestParentSessionDetails","_requestParentSessionDetails","response","Error","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 shortid from 'shortid';\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 * @returns New connection to the server\n */\nexport function createConnection(\n dh: typeof DhType,\n websocketUrl: string\n): DhType.IdeConnection {\n log.info(`Starting connection to '${websocketUrl}'...`);\n\n return new dh.IdeConnection(websocketUrl);\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: shortid.generate() };\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","nanoid","requestParentResponse","SESSION_DETAILS_REQUEST","NoConsolesError","isNoConsolesError","log","module","createConnection","dh","websocketUrl","info","concat","IdeConnection","createSessionWrapper","_x","_x2","_x3","_createSessionWrapper","apply","arguments","_asyncToGenerator","connection","details","types","getConsoleTypes","length","type","session","startSession","config","id","createCoreClient","options","CoreClient","isSessionDetails","obj","requestParentSessionDetails","_requestParentSessionDetails","response","Error","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 * @returns New connection to the server\n */\nexport function createConnection(\n dh: typeof DhType,\n websocketUrl: string\n): DhType.IdeConnection {\n log.info(`Starting connection to '${websocketUrl}'...`);\n\n return new dh.IdeConnection(websocketUrl);\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.78.1-use-widget.2+a7aa1041",
3
+ "version": "0.79.0",
4
4
  "description": "Deephaven JSAPI Utils",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -21,15 +21,15 @@
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.78.1-use-widget.2+a7aa1041",
24
+ "@deephaven/filters": "^0.79.0",
25
25
  "@deephaven/jsapi-types": "1.0.0-dev0.34.0",
26
- "@deephaven/log": "^0.78.1-use-widget.2+a7aa1041",
27
- "@deephaven/utils": "^0.78.1-use-widget.2+a7aa1041",
26
+ "@deephaven/log": "^0.79.0",
27
+ "@deephaven/utils": "^0.79.0",
28
28
  "lodash.clamp": "^4.0.3",
29
- "shortid": "^2.2.16"
29
+ "nanoid": "^5.0.7"
30
30
  },
31
31
  "devDependencies": {
32
- "@deephaven/jsapi-shim": "^0.78.1-use-widget.2+a7aa1041"
32
+ "@deephaven/jsapi-shim": "^0.79.0"
33
33
  },
34
34
  "files": [
35
35
  "dist"
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "a7aa10412b4d745a5ae1eae6a206bf4b7bdb32a7"
41
+ "gitHead": "95ec12ba29b3866c27a87d35252b073281f403af"
42
42
  }