@octostar/platform-api 0.5.13 → 0.5.14

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,14 +1,19 @@
1
1
  import { Context, ContextAPISetParams, ContextAPIStaticData, ContextListener } from '@octostar/platform-types';
2
2
  type ContextAPIConstructorParams<ContextData extends Record<string, any>> = ContextAPIStaticData<ContextData> & {
3
3
  targetWindow?: Window;
4
+ channelId?: string;
4
5
  };
5
6
  export declare class ContextAPI<ContextData extends Record<string, any>> implements Context<ContextData> {
6
7
  private contextData;
7
8
  targetWindow: Window | undefined;
8
9
  readonly id: string;
9
10
  private listeners;
11
+ private postRobotListener;
12
+ private internalChannelId;
10
13
  private postRobotEventId;
11
- constructor({ targetWindow, contextData }: ContextAPIConstructorParams<ContextData>);
14
+ constructor({ targetWindow, contextData, channelId }: ContextAPIConstructorParams<ContextData>);
15
+ get channelId(): string | undefined;
16
+ set channelId(channelId: string | undefined);
12
17
  get context(): ContextData;
13
18
  set context(context: ContextData);
14
19
  getContext(): ContextData;
@@ -18,6 +23,7 @@ export declare class ContextAPI<ContextData extends Record<string, any>> impleme
18
23
  subscribeToChanges(contextListener: ContextListener<ContextData>): string;
19
24
  subscribeToChanges(id: string, contextListener: ContextListener<ContextData>): string;
20
25
  unsubscribeFromChanges(id: string): void;
26
+ destroy(): void;
21
27
  }
22
28
  export {};
23
29
  //# sourceMappingURL=ContextAPI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK/G,KAAK,2BAA2B,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,UAAU,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,OAAO,CAAC,WAAW,CAAC;IAC9F,OAAO,CAAC,WAAW,CAAa;IAEzB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,SAAS,CAA+C;IAEhE,OAAO,CAAC,gBAAgB,CAAwB;gBAEpC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,2BAA2B,CAAC,WAAW,CAAC;IAanF,IAAI,OAAO,IAIU,WAAW,CAF/B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAK/B;IAED,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAKpD,eAAe;IAIT,oBAAoB;IAc1B,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,MAAM;IAEzE,kBAAkB,CAChB,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,GAC5C,MAAM;IAqBT,sBAAsB,CAAC,EAAE,EAAE,MAAM;CAGlC"}
1
+ {"version":3,"file":"ContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI/G,KAAK,2BAA2B,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,UAAU,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,OAAO,CAAC,WAAW,CAAC;IAC9F,OAAO,CAAC,WAAW,CAAa;IAEzB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,SAAS,CAA+C;IAEhE,OAAO,CAAC,iBAAiB,CAAM;IAE/B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,gBAAgB,CAAqB;gBAEjC,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,2BAA2B,CAAC,WAAW,CAAC;IAe9F,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,OAAO,IAIU,WAAW,CAF/B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAK/B;IAED,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAKpD,eAAe;IAIT,oBAAoB;IAc1B,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,MAAM;IAEzE,kBAAkB,CAChB,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,eAAe,CAAC,WAAW,CAAC,GAC5C,MAAM;IAqBT,sBAAsB,CAAC,EAAE,EAAE,MAAM;IAIjC,OAAO;CAGR"}
@@ -1,18 +1,27 @@
1
1
  import { v4 as uuidv4 } from 'uuid';
2
2
  import postRobot from 'post-robot';
3
3
  export class ContextAPI {
4
- constructor({ targetWindow, contextData }) {
5
- this.postRobotEventId = 'context-api-update';
4
+ constructor({ targetWindow, contextData, channelId }) {
6
5
  this.contextData = contextData;
7
6
  this.listeners = {};
8
7
  this.id = uuidv4();
9
8
  this.targetWindow = targetWindow;
10
- postRobot.on(this.postRobotEventId, (event) => {
9
+ this.channelId = channelId;
10
+ this.postRobotListener = postRobot.on(this.postRobotEventId, (event) => {
11
11
  if (event.data.from !== this.id) {
12
12
  this.contextData = { ...this.contextData, ...event.data.contextData };
13
13
  }
14
14
  });
15
15
  }
16
+ get channelId() {
17
+ return this.internalChannelId;
18
+ }
19
+ set channelId(channelId) {
20
+ this.internalChannelId = channelId;
21
+ if (channelId) {
22
+ this.postRobotEventId = `context-api-update::${channelId}`;
23
+ }
24
+ }
16
25
  get context() {
17
26
  return this.contextData;
18
27
  }
@@ -56,5 +65,8 @@ export class ContextAPI {
56
65
  unsubscribeFromChanges(id) {
57
66
  delete this.listeners[id];
58
67
  }
68
+ destroy() {
69
+ this.postRobotListener.cancel();
70
+ }
59
71
  }
60
72
  //# sourceMappingURL=ContextAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextAPI.js","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,MAAM,OAAO,UAAU;IAWrB,YAAY,EAAE,YAAY,EAAE,WAAW,EAA4C;QAF3E,qBAAgB,GAAG,oBAAoB,CAAC;QAG9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAA2D,EAAE,EAAE;YAClG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,OAAoB;QAC9B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAE3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAyC;QAClD,IAAI,CAAC,OAAO;YACV,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,CAAC;IAED,eAAe;QACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,uDAAuD;QAExD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC1D,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IASD,kBAAkB,CAChB,mBAA0D,EAC1D,wBAAuD;QAEvD,MAAM,EAAE,GACN,OAAO,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,eAAe,GACnB,OAAO,mBAAmB,KAAK,UAAU;YACvC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,wBAAwB,CAAC;QAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sBAAsB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"ContextAPI.js","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"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"}
@@ -7096,20 +7096,32 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
7096
7096
  function ContextAPI(_ref) {
7097
7097
  var _this = this;
7098
7098
  var targetWindow = _ref.targetWindow,
7099
- contextData = _ref.contextData;
7099
+ contextData = _ref.contextData,
7100
+ channelId = _ref.channelId;
7100
7101
  _classCallCheck(this, ContextAPI);
7101
- this.postRobotEventId = 'context-api-update';
7102
7102
  this.contextData = contextData;
7103
7103
  this.listeners = {};
7104
7104
  this.id = (0, _uuid.v4)();
7105
7105
  this.targetWindow = targetWindow;
7106
- _postRobot["default"].on(this.postRobotEventId, function (event) {
7106
+ this.channelId = channelId;
7107
+ this.postRobotListener = _postRobot["default"].on(this.postRobotEventId, function (event) {
7107
7108
  if (event.data.from !== _this.id) {
7108
7109
  _this.contextData = _objectSpread(_objectSpread({}, _this.contextData), event.data.contextData);
7109
7110
  }
7110
7111
  });
7111
7112
  }
7112
7113
  return _createClass(ContextAPI, [{
7114
+ key: "channelId",
7115
+ get: function get() {
7116
+ return this.internalChannelId;
7117
+ },
7118
+ set: function set(channelId) {
7119
+ this.internalChannelId = channelId;
7120
+ if (channelId) {
7121
+ this.postRobotEventId = "context-api-update::".concat(channelId);
7122
+ }
7123
+ }
7124
+ }, {
7113
7125
  key: "context",
7114
7126
  get: function get() {
7115
7127
  return this.contextData;
@@ -7182,6 +7194,11 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
7182
7194
  value: function unsubscribeFromChanges(id) {
7183
7195
  delete this.listeners[id];
7184
7196
  }
7197
+ }, {
7198
+ key: "destroy",
7199
+ value: function destroy() {
7200
+ this.postRobotListener.cancel();
7201
+ }
7185
7202
  }]);
7186
7203
  }();
7187
7204
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octostar/platform-api",
3
- "version": "0.5.13",
3
+ "version": "0.5.14",
4
4
  "description": "Provides access to the API exposed by Octostar platform to an application run in an iframe",
5
5
  "keywords": [
6
6
  "octostar",
@@ -38,10 +38,10 @@
38
38
  "rimraf": "^5.0.5",
39
39
  "tsup": "^8.4.0",
40
40
  "typescript": "^5.8.2",
41
- "@octostar/platform-types": "0.5.16"
41
+ "@octostar/platform-types": "0.5.17"
42
42
  },
43
43
  "peerDependencies": {
44
- "@octostar/platform-types": "^0.5.16"
44
+ "@octostar/platform-types": "^0.5.17"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"