@octostar/platform-api 0.5.16 → 0.5.17
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/dist/lib/ContextAPI.d.ts
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import { Context, ContextAPISetParams,
|
|
2
|
-
export type ContextAPIConstructorParams<ContextData extends Record<string, any>> =
|
|
1
|
+
import { Context, ContextAPISetParams, ContextListener } from '@octostar/platform-types';
|
|
2
|
+
export type ContextAPIConstructorParams<ContextData extends Record<string, any>> = {
|
|
3
|
+
contextData?: ContextData;
|
|
3
4
|
targetWindow?: Window;
|
|
4
5
|
channelId?: string;
|
|
5
6
|
};
|
|
6
7
|
export declare class ContextAPI<ContextData extends Record<string, any>> implements Context<ContextData> {
|
|
7
|
-
private contextData
|
|
8
|
-
|
|
8
|
+
private contextData?;
|
|
9
|
+
private internalTargetWindow;
|
|
9
10
|
readonly id: string;
|
|
10
11
|
private listeners;
|
|
11
12
|
private postRobotListener;
|
|
12
13
|
private internalChannelId;
|
|
13
14
|
private postRobotEventId;
|
|
14
15
|
constructor({ targetWindow, contextData, channelId, }: ContextAPIConstructorParams<ContextData>);
|
|
16
|
+
get targetWindow(): Window | undefined;
|
|
17
|
+
set targetWindow(targetWindow: Window | undefined);
|
|
15
18
|
get channelId(): string | undefined;
|
|
16
19
|
set channelId(channelId: string | undefined);
|
|
17
20
|
listenToPostRobot(): void;
|
|
18
|
-
get context(): ContextData;
|
|
19
|
-
set context(context: ContextData);
|
|
20
|
-
getContext(): ContextData;
|
|
21
|
+
get context(): ContextData | undefined;
|
|
22
|
+
set context(context: ContextData | undefined);
|
|
23
|
+
getContext(): ContextData | undefined;
|
|
21
24
|
setContext(context: ContextAPISetParams<ContextData>): void;
|
|
22
25
|
notifyListeners(): void;
|
|
23
|
-
syncContextToChannel(): Promise<void>;
|
|
26
|
+
syncContextToChannel(type?: 'update-context' | 'get-context'): Promise<void>;
|
|
24
27
|
subscribeToChanges(contextListener: ContextListener<ContextData>): string;
|
|
25
28
|
subscribeToChanges(id: string, contextListener: ContextListener<ContextData>): string;
|
|
26
29
|
unsubscribeFromChanges(id: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"ContextAPI.d.ts","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,MAAM,2BAA2B,CACrC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACnC;IACJ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,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,CAC7D,YAAW,OAAO,CAAC,WAAW,CAAC;IAE/B,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,oBAAoB,CAAqB;IAEjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,SAAS,CAA+C;IAEhE,OAAO,CAAC,iBAAiB,CAA8C;IAEvE,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,gBAAgB,CAAqB;gBAEjC,EACV,YAAY,EACZ,WAAW,EACX,SAAS,GACV,EAAE,2BAA2B,CAAC,WAAW,CAAC;IAQ3C,IAAI,YAAY,IAIe,MAAM,GAAG,SAAS,CAFhD;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAGhD;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAO1C;IAED,iBAAiB;IAiBjB,IAAI,OAAO,IAIU,WAAW,GAAG,SAAS,CAF3C;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAK3C;IAED,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAKpD,eAAe;IAIT,oBAAoB,CACxB,IAAI,GAAE,gBAAgB,GAAG,aAAgC;IAgB3D,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"}
|
package/dist/lib/ContextAPI.js
CHANGED
|
@@ -8,6 +8,13 @@ export class ContextAPI {
|
|
|
8
8
|
this.targetWindow = targetWindow;
|
|
9
9
|
this.channelId = channelId;
|
|
10
10
|
}
|
|
11
|
+
get targetWindow() {
|
|
12
|
+
return this.internalTargetWindow;
|
|
13
|
+
}
|
|
14
|
+
set targetWindow(targetWindow) {
|
|
15
|
+
this.internalTargetWindow = targetWindow;
|
|
16
|
+
this.syncContextToChannel('get-context');
|
|
17
|
+
}
|
|
11
18
|
get channelId() {
|
|
12
19
|
return this.internalChannelId;
|
|
13
20
|
}
|
|
@@ -16,6 +23,7 @@ export class ContextAPI {
|
|
|
16
23
|
if (channelId) {
|
|
17
24
|
this.postRobotEventId = `context-api-update::${channelId}`;
|
|
18
25
|
this.listenToPostRobot();
|
|
26
|
+
this.syncContextToChannel('get-context');
|
|
19
27
|
}
|
|
20
28
|
}
|
|
21
29
|
listenToPostRobot() {
|
|
@@ -28,6 +36,7 @@ export class ContextAPI {
|
|
|
28
36
|
this.postRobotListener = postRobot.on(this.postRobotEventId, event => {
|
|
29
37
|
if (event.data.from !== this.id) {
|
|
30
38
|
this.contextData = { ...this.contextData, ...event.data.contextData };
|
|
39
|
+
this.notifyListeners();
|
|
31
40
|
}
|
|
32
41
|
return Promise.resolve();
|
|
33
42
|
});
|
|
@@ -50,7 +59,7 @@ export class ContextAPI {
|
|
|
50
59
|
notifyListeners() {
|
|
51
60
|
Object.values(this.listeners).forEach(listener => listener(this.context));
|
|
52
61
|
}
|
|
53
|
-
async syncContextToChannel() {
|
|
62
|
+
async syncContextToChannel(type = 'update-context') {
|
|
54
63
|
if (!this.targetWindow || !this.postRobotEventId) {
|
|
55
64
|
return;
|
|
56
65
|
}
|
|
@@ -58,6 +67,7 @@ export class ContextAPI {
|
|
|
58
67
|
// const context = classInstanceToObject(this.context);
|
|
59
68
|
await postRobot.send(this.targetWindow, this.postRobotEventId, {
|
|
60
69
|
from: this.id,
|
|
70
|
+
type,
|
|
61
71
|
context: this.context,
|
|
62
72
|
});
|
|
63
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextAPI.js","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextAPI.js","sourceRoot":"","sources":["../../src/lib/ContextAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -7105,6 +7105,15 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
|
|
|
7105
7105
|
this.channelId = channelId;
|
|
7106
7106
|
}
|
|
7107
7107
|
return _createClass(ContextAPI, [{
|
|
7108
|
+
key: "targetWindow",
|
|
7109
|
+
get: function get() {
|
|
7110
|
+
return this.internalTargetWindow;
|
|
7111
|
+
},
|
|
7112
|
+
set: function set(targetWindow) {
|
|
7113
|
+
this.internalTargetWindow = targetWindow;
|
|
7114
|
+
this.syncContextToChannel('get-context');
|
|
7115
|
+
}
|
|
7116
|
+
}, {
|
|
7108
7117
|
key: "channelId",
|
|
7109
7118
|
get: function get() {
|
|
7110
7119
|
return this.internalChannelId;
|
|
@@ -7114,6 +7123,7 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
|
|
|
7114
7123
|
if (channelId) {
|
|
7115
7124
|
this.postRobotEventId = "context-api-update::".concat(channelId);
|
|
7116
7125
|
this.listenToPostRobot();
|
|
7126
|
+
this.syncContextToChannel('get-context');
|
|
7117
7127
|
}
|
|
7118
7128
|
}
|
|
7119
7129
|
}, {
|
|
@@ -7129,6 +7139,7 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
|
|
|
7129
7139
|
this.postRobotListener = postRobot.on(this.postRobotEventId, function (event) {
|
|
7130
7140
|
if (event.data.from !== _this.id) {
|
|
7131
7141
|
_this.contextData = _objectSpread(_objectSpread({}, _this.contextData), event.data.contextData);
|
|
7142
|
+
_this.notifyListeners();
|
|
7132
7143
|
}
|
|
7133
7144
|
return Promise.resolve();
|
|
7134
7145
|
});
|
|
@@ -7165,21 +7176,25 @@ var ContextAPI = exports.ContextAPI = /*#__PURE__*/function () {
|
|
|
7165
7176
|
key: "syncContextToChannel",
|
|
7166
7177
|
value: function () {
|
|
7167
7178
|
var _syncContextToChannel = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
7179
|
+
var type,
|
|
7180
|
+
_args = arguments;
|
|
7168
7181
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7169
7182
|
while (1) switch (_context.prev = _context.next) {
|
|
7170
7183
|
case 0:
|
|
7184
|
+
type = _args.length > 0 && _args[0] !== undefined ? _args[0] : 'update-context';
|
|
7171
7185
|
if (!(!this.targetWindow || !this.postRobotEventId)) {
|
|
7172
|
-
_context.next =
|
|
7186
|
+
_context.next = 3;
|
|
7173
7187
|
break;
|
|
7174
7188
|
}
|
|
7175
7189
|
return _context.abrupt("return");
|
|
7176
|
-
case
|
|
7177
|
-
_context.next =
|
|
7190
|
+
case 3:
|
|
7191
|
+
_context.next = 5;
|
|
7178
7192
|
return postRobot.send(this.targetWindow, this.postRobotEventId, {
|
|
7179
7193
|
from: this.id,
|
|
7194
|
+
type: type,
|
|
7180
7195
|
context: this.context
|
|
7181
7196
|
});
|
|
7182
|
-
case
|
|
7197
|
+
case 5:
|
|
7183
7198
|
case "end":
|
|
7184
7199
|
return _context.stop();
|
|
7185
7200
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@octostar/platform-api",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.17",
|
|
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",
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"rimraf": "^5.0.5",
|
|
40
40
|
"tsup": "^8.4.0",
|
|
41
41
|
"typescript": "^5.8.2",
|
|
42
|
-
"@octostar/platform-types": "0.5.
|
|
42
|
+
"@octostar/platform-types": "0.5.20"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@octostar/platform-types": "^0.5.
|
|
45
|
+
"@octostar/platform-types": "^0.5.20"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|