@photon-os/sdk 0.4.2 → 0.5.0-beta1

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,6 +1,6 @@
1
1
  import PhotonAppMode from "./PhotonAppMode";
2
2
  declare class PhotonApp {
3
3
  static appId: string;
4
- static bootstrap(appId: string, appMode?: PhotonAppMode): void;
4
+ static bootstrap(appId: string, appMode?: PhotonAppMode): Promise<void>;
5
5
  }
6
6
  export default PhotonApp;
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  const EventManager_1 = require("../../SystemEvents/EventManager");
4
13
  const __1 = require("../..");
@@ -8,14 +17,17 @@ const SecondLifeProxy_1 = require("../../SecondLife/SecondLifeProxy");
8
17
  const SecondLifeIdentity_1 = require("../../SecondLife/SecondLifeIdentity");
9
18
  class PhotonApp {
10
19
  static bootstrap(appId, appMode = PhotonAppMode_1.default.App) {
11
- PhotonApp.appId = appId;
12
- const messageBroker = new __1.MessageBroker();
13
- messageBroker.registerListener(new __1.SecondLifeMessagingListener(`${appId}__${SecondLifeIdentity_1.default.getKey()}`, SecondLifeProxy_1.default.socket));
14
- messageBroker.registerListener(new BrowserMessageListener_1.default());
15
- messageBroker.registerTarget(new __1.BrowserMessagingTarget("os", appMode === PhotonAppMode_1.default.App ? window.parent : window));
16
- __1.MessageBroker.setDefault(messageBroker);
17
- const eventManager = new EventManager_1.default();
18
- EventManager_1.default.setDefault(eventManager);
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ PhotonApp.appId = appId;
22
+ const messageBroker = new __1.MessageBroker();
23
+ __1.MessageBroker.setDefault(messageBroker);
24
+ messageBroker.registerTarget(new __1.BrowserMessagingTarget("os", appMode === PhotonAppMode_1.default.App ? window.parent : window));
25
+ const key = SecondLifeIdentity_1.default.getKey();
26
+ messageBroker.registerListener(new __1.SecondLifeMessagingListener(`${appId}__${key}`, SecondLifeProxy_1.default.socket));
27
+ messageBroker.registerListener(new BrowserMessageListener_1.default());
28
+ const eventManager = new EventManager_1.default();
29
+ EventManager_1.default.setDefault(eventManager);
30
+ });
19
31
  }
20
32
  }
21
33
  exports.default = PhotonApp;
@@ -25,6 +25,7 @@ declare class PhotonTool {
25
25
  ownerSay(message: string): Promise<void>;
26
26
  chat(volume: ChatVolume, channel: number, message: string): Promise<void>;
27
27
  sensor(options?: SensorOptions): Promise<any>;
28
+ giveInventoryItem(inventoryItemName: string, recipientUuid: string): Promise<void>;
28
29
  invokeCommand(command: string): void;
29
30
  static getPhotonTool(): Promise<PhotonTool>;
30
31
  static isPhotonToolConnected(): Promise<boolean>;
@@ -68,6 +68,11 @@ class PhotonTool {
68
68
  return results;
69
69
  });
70
70
  }
71
+ giveInventoryItem(inventoryItemName, recipientUuid) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ yield __1.MessageBroker.defaultMessageBroker.invoke(this.device.target, "pt_Inventory", "giveInventory", [inventoryItemName, recipientUuid]);
74
+ });
75
+ }
71
76
  invokeCommand(command) {
72
77
  __1.MessageBroker.defaultMessageBroker.invoke(this.device.target, "pt_Legacy", "invokeCommand", [command]);
73
78
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class SecondLifeIdentity {
4
4
  static getKey() {
5
5
  const urlParams = new URLSearchParams(window.location.search);
6
- return urlParams.get('key');
6
+ return urlParams.get("key");
7
7
  }
8
8
  }
9
9
  exports.default = SecondLifeIdentity;
@@ -1,4 +1,4 @@
1
- import SecondLifeDevice from './SecondLifeDevice';
1
+ import SecondLifeDevice from "./SecondLifeDevice";
2
2
  declare class SecondLifeRegistry {
3
3
  static getDevices(): Promise<SecondLifeDevice[]>;
4
4
  }
@@ -14,8 +14,8 @@ const __1 = require("..");
14
14
  class SecondLifeRegistry {
15
15
  static getDevices() {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
- const returnedDevices = yield __1.MessageBroker.defaultMessageBroker.invoke(__1.MessageBroker.defaultMessageBroker.getTargetById('os'), 'os_SecondLifeRegistry', 'getDevices');
18
- return returnedDevices.map((device) => (new SecondLifeDevice_1.default(device.id, device.name, device.lastSeen)));
17
+ const returnedDevices = yield __1.MessageBroker.defaultMessageBroker.invoke(__1.MessageBroker.defaultMessageBroker.getTargetById("os"), "os_SecondLifeRegistry", "getDevices");
18
+ return returnedDevices.map((device) => new SecondLifeDevice_1.default(device.id, device.name, device.lastSeen));
19
19
  });
20
20
  }
21
21
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
- import IMessageListener from './IMessageListener';
3
- import MessageBroker from './MessageBroker';
4
- import { EventEmitter } from 'events';
2
+ import IMessageListener from "./IMessageListener";
3
+ import MessageBroker from "./MessageBroker";
4
+ import { EventEmitter } from "events";
5
5
  declare class BrowserMessageListener extends EventEmitter implements IMessageListener {
6
6
  id: string;
7
7
  subscribe(broker: MessageBroker): void;
@@ -8,14 +8,14 @@ class BrowserMessageListener extends events_1.EventEmitter {
8
8
  this.id = "browser";
9
9
  }
10
10
  subscribe(broker) {
11
- window.addEventListener('message', this.messageEventHandler.bind(this));
11
+ window.addEventListener("message", this.messageEventHandler.bind(this));
12
12
  }
13
13
  unsubscribe(broker) {
14
- window.removeEventListener('message', this.messageEventHandler.bind(this));
14
+ window.removeEventListener("message", this.messageEventHandler.bind(this));
15
15
  }
16
16
  messageEventHandler(e) {
17
- const source = new BrowserMessagingTarget_1.default('randomid', e.source);
18
- this.emit('message', { source, data: e.data });
17
+ const source = new BrowserMessagingTarget_1.default("randomid", e.source);
18
+ this.emit("message", { source, data: e.data });
19
19
  }
20
20
  }
21
21
  exports.default = BrowserMessageListener;
@@ -29,17 +29,17 @@ class MessageBroker {
29
29
  this.targets.push(target);
30
30
  }
31
31
  unregisterTarget(targetId) {
32
- this.targets = this.targets.filter(t => t.id !== targetId);
32
+ this.targets = this.targets.filter((t) => t.id !== targetId);
33
33
  }
34
34
  getTargetById(targetId) {
35
- const matchingTarget = this.targets.find(t => t.id === targetId);
35
+ const matchingTarget = this.targets.find((t) => t.id === targetId);
36
36
  return matchingTarget || new VoidMessagingTarget_1.default(targetId);
37
37
  }
38
38
  hasTarget(targetId) {
39
- return this.targets.find(t => t.id === targetId) !== undefined;
39
+ return this.targets.find((t) => t.id === targetId) !== undefined;
40
40
  }
41
41
  invoke(target, serviceId, methodName, methodArgs) {
42
- return new Promise(resolve => {
42
+ return new Promise((resolve) => {
43
43
  const returnId = `${methodName}_${uuid_1.v4()}`;
44
44
  this.registerReturnHandler(returnId, resolve);
45
45
  target.postMessage({
@@ -47,12 +47,12 @@ class MessageBroker {
47
47
  serviceId,
48
48
  methodName,
49
49
  methodArgs,
50
- returnId
50
+ returnId,
51
51
  });
52
52
  });
53
53
  }
54
54
  invokeEverywhere(serviceId, methodName, methodArgs) {
55
- this.targets.forEach(target => this.invoke(target, serviceId, methodName, methodArgs));
55
+ this.targets.forEach((target) => this.invoke(target, serviceId, methodName, methodArgs));
56
56
  }
57
57
  registerReturnHandler(returnId, callback) {
58
58
  this.returnHandlers[returnId] = callback;
@@ -79,10 +79,10 @@ class MessageBroker {
79
79
  this.services.push({ id: serviceId, methods: service });
80
80
  }
81
81
  unregisterService(serviceId) {
82
- this.services = this.services.filter(s => s.id !== serviceId);
82
+ this.services = this.services.filter((s) => s.id !== serviceId);
83
83
  }
84
84
  getServiceById(serviceId) {
85
- return this.services.find(s => s.id === serviceId);
85
+ return this.services.find((s) => s.id === serviceId);
86
86
  }
87
87
  registerListener(listener) {
88
88
  const existingListener = this.getListenerByid(listener.id);
@@ -96,14 +96,14 @@ class MessageBroker {
96
96
  }
97
97
  unregisterListener(listenerId) {
98
98
  const existingListener = this.getListenerByid(listenerId);
99
- this.listeners = this.listeners.filter(l => l.id !== listenerId);
99
+ this.listeners = this.listeners.filter((l) => l.id !== listenerId);
100
100
  if (existingListener !== undefined) {
101
101
  existingListener.off("message", this.handleMessageEvent.bind(this));
102
102
  existingListener.unsubscribe(this);
103
103
  }
104
104
  }
105
105
  getListenerByid(listenerId) {
106
- return this.listeners.find(l => l.id === listenerId);
106
+ return this.listeners.find((l) => l.id === listenerId);
107
107
  }
108
108
  handleMessageEvent(message) {
109
109
  if (message.data.__type === undefined)
@@ -140,7 +140,7 @@ class MessageBroker {
140
140
  target.postMessage({
141
141
  __type: "return",
142
142
  returnId,
143
- returnValue
143
+ returnValue,
144
144
  });
145
145
  }
146
146
  }
@@ -13,7 +13,7 @@ class SecondLifeMessagingListener extends events_1.EventEmitter {
13
13
  subscribe(broker) {
14
14
  this.socket.emit("ident", {
15
15
  id: this.senderId,
16
- owner: SecondLifeIdentity_1.default.getKey()
16
+ owner: SecondLifeIdentity_1.default.getKey(),
17
17
  });
18
18
  this.socket.on("invoke", this.messageEventHandler.bind(this));
19
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@photon-os/sdk",
3
- "version": "0.4.2",
3
+ "version": "0.5.0-beta1",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -17,13 +17,13 @@
17
17
  "@types/node": "^14.0.13",
18
18
  "@types/socket.io-client": "^1.4.33",
19
19
  "@types/uuid": "^8.0.0",
20
- "tsc-watch": "^1.1.36",
20
+ "tsc-watch": "^4.2.8",
21
21
  "typedoc": "^0.17.7",
22
22
  "typescript": "^3.9.5"
23
23
  },
24
24
  "dependencies": {
25
- "socket.io-client": "^2.2.0",
26
- "uuid": "^3.3.2"
25
+ "socket.io-client": "^2.3.0",
26
+ "uuid": "^8.3.2"
27
27
  },
28
28
  "peerDependencies": {}
29
29
  }