@concord-consortium/lara-interactive-api 1.13.0-pre.1 → 1.13.0-pre.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index-bundle.d.ts CHANGED
@@ -621,7 +621,7 @@ declare const inIframe: () => boolean;
621
621
  declare type ManagedStateEvent = "interactiveStateUpdated" | "globalInteractiveStateUpdated" | "authoredStateUpdated" | "initInteractive" | "jobInfoReceived";
622
622
  declare class ManagedState {
623
623
  interactiveStateDirty: boolean;
624
- jobs: ReadonlyArray<any>;
624
+ jobs: ReadonlyArray<IJobInfo>;
625
625
  private _initMessage;
626
626
  private _interactiveState;
627
627
  private _authoredState;
@@ -639,6 +639,7 @@ declare class ManagedState {
639
639
  on(event: ManagedStateEvent, handler: any): void;
640
640
  off(event: ManagedStateEvent, handler: any): void;
641
641
  once(event: ManagedStateEvent, handler: any): void;
642
+ upsertJob(job: IJobInfo): void;
642
643
  }
643
644
 
644
645
  declare const getClient: () => Client;
package/index.js CHANGED
@@ -4098,15 +4098,6 @@ var __rest = (this && this.__rest) || function (s, e) {
4098
4098
  }
4099
4099
  return t;
4100
4100
  };
4101
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
4102
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4103
- if (ar || !(i in from)) {
4104
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
4105
- ar[i] = from[i];
4106
- }
4107
- }
4108
- return to.concat(ar || Array.prototype.slice.call(from));
4109
- };
4110
4101
  Object.defineProperty(exports, "__esModule", { value: true });
4111
4102
  exports.cancelJob = exports.createJob = exports.setDirtyState = exports.createPubSubChannel = exports.sendCustomMessage = exports.setOnUnload = exports.sendReportItemAnswer = exports.getAttachmentUrl = exports.readAttachment = exports.writeAttachment = exports.getLibraryInteractiveList = exports.getInteractiveSnapshot = exports.setLinkedInteractives = exports.getInteractiveList = exports.closeModal = exports.showModal = exports.removeLinkedInteractiveStateListener = exports.addLinkedInteractiveStateListener = exports.removeGlobalInteractiveStateListener = exports.addGlobalInteractiveStateListener = exports.removeAuthoredStateListener = exports.addAuthoredStateListener = exports.removeInteractiveStateListener = exports.addInteractiveStateListener = exports.log = exports.getFirebaseJwt = exports.getAuthInfo = exports.setNavigation = exports.setHint = exports.postDecoratedContentEvent = exports.setHeight = exports.setSupportedFeatures = exports.notifyReportItemClientReady = exports.removeGetReportItemAnswerListener = exports.addGetReportItemAnswerListener = exports.removeDecorateContentListener = exports.addDecorateContentListener = exports.removeCustomMessageListener = exports.addCustomMessageListener = exports.setGlobalInteractiveState = exports.getGlobalInteractiveState = exports.setAuthoredState = exports.getAuthoredState = exports.flushStateUpdates = exports.setInteractiveState = exports.setInteractiveStateTimeout = exports.getInteractiveState = exports.getMode = exports.getInitInteractiveMessage = exports.PubSubChannel = void 0;
4112
4103
  exports.removeJobUpdateListener = exports.addJobUpdateListener = exports.getJobs = void 0;
@@ -4632,19 +4623,7 @@ exports.setDirtyState = setDirtyState;
4632
4623
  var createJob = function (request) {
4633
4624
  return new Promise(function (resolve) {
4634
4625
  var listener = function (response) {
4635
- // Update managed state so getJobs() is immediately consistent
4636
- var c = (0, client_1.getClient)();
4637
- var jobs = c.managedState.jobs;
4638
- var index = jobs.findIndex(function (j) { return j.id === response.job.id; });
4639
- if (index === -1) {
4640
- c.managedState.jobs = __spreadArray(__spreadArray([], jobs, true), [response.job], false);
4641
- }
4642
- else {
4643
- var next = __spreadArray([], jobs, true);
4644
- next[index] = response.job;
4645
- c.managedState.jobs = next;
4646
- }
4647
- c.managedState.emit("jobInfoReceived", response.job);
4626
+ (0, client_1.getClient)().managedState.upsertJob(response.job);
4648
4627
  resolve(response.job);
4649
4628
  };
4650
4629
  var client = (0, client_1.getClient)();
@@ -4664,7 +4643,7 @@ var cancelJob = function (jobId) {
4664
4643
  };
4665
4644
  exports.cancelJob = cancelJob;
4666
4645
  var getJobs = function () {
4667
- return (0, client_1.getClient)().managedState.jobs;
4646
+ return (0, client_1.getClient)().managedState.jobs; // ReadonlyArray<IJobInfo> -> mutable for API consumers
4668
4647
  };
4669
4648
  exports.getJobs = getJobs;
4670
4649
  var addJobUpdateListener = function (listener) {
@@ -4746,15 +4725,6 @@ var __rest = (this && this.__rest) || function (s, e) {
4746
4725
  }
4747
4726
  return t;
4748
4727
  };
4749
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
4750
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4751
- if (ar || !(i in from)) {
4752
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
4753
- ar[i] = from[i];
4754
- }
4755
- }
4756
- return to.concat(ar || Array.prototype.slice.call(from));
4757
- };
4758
4728
  Object.defineProperty(exports, "__esModule", { value: true });
4759
4729
  exports.Client = exports.getClient = void 0;
4760
4730
  // iframe phone uses 1 listener per message type so we multiplex over 1 listener in this code
@@ -4936,18 +4906,7 @@ var Client = /** @class */ (function () {
4936
4906
  _this.managedState.globalInteractiveState = parseJSONIfString(globalState);
4937
4907
  });
4938
4908
  this.addListener("jobInfo", function (content) {
4939
- var job = content.job;
4940
- var jobs = _this.managedState.jobs;
4941
- var index = jobs.findIndex(function (j) { return j.id === job.id; });
4942
- if (index === -1) {
4943
- _this.managedState.jobs = __spreadArray(__spreadArray([], jobs, true), [job], false);
4944
- }
4945
- else {
4946
- var next = __spreadArray([], jobs, true);
4947
- next[index] = job;
4948
- _this.managedState.jobs = next;
4949
- }
4950
- _this.managedState.emit("jobInfoReceived", job);
4909
+ _this.managedState.upsertJob(content.job);
4951
4910
  });
4952
4911
  this.phone.initialize();
4953
4912
  };
@@ -5319,6 +5278,15 @@ else {
5319
5278
 
5320
5279
  "use strict";
5321
5280
 
5281
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
5282
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
5283
+ if (ar || !(i in from)) {
5284
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5285
+ ar[i] = from[i];
5286
+ }
5287
+ }
5288
+ return to.concat(ar || Array.prototype.slice.call(from));
5289
+ };
5322
5290
  Object.defineProperty(exports, "__esModule", { value: true });
5323
5291
  exports.ManagedState = void 0;
5324
5292
  var eventemitter2_1 = __webpack_require__(/*! eventemitter2 */ "./node_modules/eventemitter2/lib/eventemitter2.js");
@@ -5410,6 +5378,18 @@ var ManagedState = /** @class */ (function () {
5410
5378
  ManagedState.prototype.once = function (event, handler) {
5411
5379
  this.emitter.once(event, handler);
5412
5380
  };
5381
+ ManagedState.prototype.upsertJob = function (job) {
5382
+ var index = this.jobs.findIndex(function (j) { return j.id === job.id; });
5383
+ if (index === -1) {
5384
+ this.jobs = __spreadArray(__spreadArray([], this.jobs, true), [job], false);
5385
+ }
5386
+ else {
5387
+ var next = __spreadArray([], this.jobs, true);
5388
+ next[index] = job;
5389
+ this.jobs = next;
5390
+ }
5391
+ this.emit("jobInfoReceived", job);
5392
+ };
5413
5393
  return ManagedState;
5414
5394
  }());
5415
5395
  exports.ManagedState = ManagedState;
@@ -6031,7 +6011,7 @@ let urlAlphabet =
6031
6011
  /*! exports provided: name, version, description, main, types, repository, author, license, bugs, homepage, dependencies, peerDependencies, default */
6032
6012
  /***/ (function(module) {
6033
6013
 
6034
- module.exports = JSON.parse("{\"name\":\"@concord-consortium/lara-interactive-api\",\"version\":\"1.13.0-pre.1\",\"description\":\"LARA Interactive API client and types\",\"main\":\"./index.js\",\"types\":\"./index-bundle.d.ts\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/concord-consortium/lara.git\"},\"author\":\"Concord Consortium\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/concord-consortium/lara/issues\"},\"homepage\":\"https://github.com/concord-consortium/lara/tree/master/lara-typescript/src/interactive-api-client#readme\",\"dependencies\":{\"iframe-phone\":\"^1.3.1\",\"nanoid\":\"^3.3.7\"},\"peerDependencies\":{\"react\":\">=16.9.0\",\"react-dom\":\">=16.9.0\"}}");
6014
+ module.exports = JSON.parse("{\"name\":\"@concord-consortium/lara-interactive-api\",\"version\":\"1.13.0-pre.2\",\"description\":\"LARA Interactive API client and types\",\"main\":\"./index.js\",\"types\":\"./index-bundle.d.ts\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/concord-consortium/lara.git\"},\"author\":\"Concord Consortium\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/concord-consortium/lara/issues\"},\"homepage\":\"https://github.com/concord-consortium/lara/tree/master/lara-typescript/src/interactive-api-client#readme\",\"dependencies\":{\"iframe-phone\":\"^1.3.1\",\"nanoid\":\"^3.3.7\"},\"peerDependencies\":{\"react\":\">=16.9.0\",\"react-dom\":\">=16.9.0\"}}");
6035
6015
 
6036
6016
  /***/ }),
6037
6017
 
@@ -1,7 +1,8 @@
1
+ import { IJobInfo } from "./types";
1
2
  declare type ManagedStateEvent = "interactiveStateUpdated" | "globalInteractiveStateUpdated" | "authoredStateUpdated" | "initInteractive" | "jobInfoReceived";
2
3
  export declare class ManagedState {
3
4
  interactiveStateDirty: boolean;
4
- jobs: ReadonlyArray<any>;
5
+ jobs: ReadonlyArray<IJobInfo>;
5
6
  private _initMessage;
6
7
  private _interactiveState;
7
8
  private _authoredState;
@@ -19,5 +20,6 @@ export declare class ManagedState {
19
20
  on(event: ManagedStateEvent, handler: any): void;
20
21
  off(event: ManagedStateEvent, handler: any): void;
21
22
  once(event: ManagedStateEvent, handler: any): void;
23
+ upsertJob(job: IJobInfo): void;
22
24
  }
23
25
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@concord-consortium/lara-interactive-api",
3
- "version": "1.13.0-pre.1",
3
+ "version": "1.13.0-pre.2",
4
4
  "description": "LARA Interactive API client and types",
5
5
  "main": "./index.js",
6
6
  "types": "./index-bundle.d.ts",