photon-engine-browser 0.1.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.
- package/dist/BrowserNativeBridge.d.ts +8 -0
- package/dist/BrowserNativeBridge.d.ts.map +1 -0
- package/dist/BrowserNativeBridge.js +44 -0
- package/dist/BrowserNativeBridge.js.map +1 -0
- package/dist/OPFSFileSystem.d.ts +17 -0
- package/dist/OPFSFileSystem.d.ts.map +1 -0
- package/dist/OPFSFileSystem.js +90 -0
- package/dist/OPFSFileSystem.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { INativeBridge } from "photon-engine";
|
|
2
|
+
import { OPFSFileSystem } from "./OPFSFileSystem";
|
|
3
|
+
export declare class BrowserNativeBridge implements INativeBridge {
|
|
4
|
+
readonly fs: OPFSFileSystem;
|
|
5
|
+
constructor();
|
|
6
|
+
invoke(command: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=BrowserNativeBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserNativeBridge.d.ts","sourceRoot":"","sources":["../src/BrowserNativeBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;;IAMtB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAgChF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { OPFSFileSystem } from "./OPFSFileSystem";
|
|
2
|
+
export class BrowserNativeBridge {
|
|
3
|
+
fs;
|
|
4
|
+
constructor() {
|
|
5
|
+
this.fs = new OPFSFileSystem();
|
|
6
|
+
}
|
|
7
|
+
async invoke(command, args) {
|
|
8
|
+
switch (command) {
|
|
9
|
+
case "notify": {
|
|
10
|
+
if (!("Notification" in window))
|
|
11
|
+
throw new Error("[Photon] Notifications not supported");
|
|
12
|
+
const permission = await Notification.requestPermission();
|
|
13
|
+
if (permission !== "granted")
|
|
14
|
+
throw new Error("[Photon] Notification permission denied");
|
|
15
|
+
return new Notification(String(args?.title ?? ""), {
|
|
16
|
+
body: args?.body,
|
|
17
|
+
icon: args?.icon,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
case "vibrate": {
|
|
21
|
+
if (!navigator.vibrate)
|
|
22
|
+
throw new Error("[Photon] Vibration API not supported");
|
|
23
|
+
return navigator.vibrate(args?.pattern ?? 200);
|
|
24
|
+
}
|
|
25
|
+
case "share": {
|
|
26
|
+
if (!navigator.share)
|
|
27
|
+
throw new Error("[Photon] Web Share API not supported");
|
|
28
|
+
return navigator.share(args);
|
|
29
|
+
}
|
|
30
|
+
case "clipboard:write":
|
|
31
|
+
await navigator.clipboard.writeText(String(args?.text ?? ""));
|
|
32
|
+
return;
|
|
33
|
+
case "clipboard:read":
|
|
34
|
+
return navigator.clipboard.readText();
|
|
35
|
+
case "fullscreen:enter":
|
|
36
|
+
return document.documentElement.requestFullscreen();
|
|
37
|
+
case "fullscreen:exit":
|
|
38
|
+
return document.exitFullscreen();
|
|
39
|
+
default:
|
|
40
|
+
throw new Error(`[Photon] Unknown browser command: "${command}"`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=BrowserNativeBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserNativeBridge.js","sourceRoot":"","sources":["../src/BrowserNativeBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,mBAAmB;IACrB,EAAE,CAAiB;IAE5B;QACE,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAA8B;QAC1D,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACzF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;oBACjD,IAAI,EAAE,IAAI,EAAE,IAA0B;oBACtC,IAAI,EAAE,IAAI,EAAE,IAA0B;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAChF,OAAO,SAAS,CAAC,OAAO,CAAE,IAAI,EAAE,OAA6B,IAAI,GAAG,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC9E,OAAO,SAAS,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,iBAAiB;gBACpB,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACT,KAAK,gBAAgB;gBACnB,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxC,KAAK,kBAAkB;gBACrB,OAAO,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;YACnC;gBACE,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IFileSystem } from "photon-engine";
|
|
2
|
+
export declare class OPFSFileSystem implements IFileSystem {
|
|
3
|
+
private getRoot;
|
|
4
|
+
private resolveFile;
|
|
5
|
+
private resolveDir;
|
|
6
|
+
readText(path: string): Promise<string>;
|
|
7
|
+
writeText(path: string, content: string): Promise<void>;
|
|
8
|
+
readBinary(path: string): Promise<Uint8Array>;
|
|
9
|
+
writeBinary(path: string, data: Uint8Array): Promise<void>;
|
|
10
|
+
exists(path: string): Promise<boolean>;
|
|
11
|
+
mkdir(path: string): Promise<void>;
|
|
12
|
+
remove(path: string): Promise<void>;
|
|
13
|
+
listDir(path: string): Promise<string[]>;
|
|
14
|
+
isFile(path: string): Promise<boolean>;
|
|
15
|
+
isDir(path: string): Promise<boolean>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=OPFSFileSystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OPFSFileSystem.d.ts","sourceRoot":"","sources":["../src/OPFSFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,cAAe,YAAW,WAAW;YAClC,OAAO;YAIP,WAAW;YASX,UAAU;IASlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK7C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAG5C"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export class OPFSFileSystem {
|
|
2
|
+
async getRoot() {
|
|
3
|
+
return navigator.storage.getDirectory();
|
|
4
|
+
}
|
|
5
|
+
async resolveFile(path, create = false) {
|
|
6
|
+
const parts = path.split("/").filter(Boolean);
|
|
7
|
+
let dir = await this.getRoot();
|
|
8
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
9
|
+
dir = await dir.getDirectoryHandle(parts[i], { create });
|
|
10
|
+
}
|
|
11
|
+
return dir.getFileHandle(parts[parts.length - 1], { create });
|
|
12
|
+
}
|
|
13
|
+
async resolveDir(path, create = false) {
|
|
14
|
+
const parts = path.split("/").filter(Boolean);
|
|
15
|
+
let dir = await this.getRoot();
|
|
16
|
+
for (const part of parts) {
|
|
17
|
+
dir = await dir.getDirectoryHandle(part, { create });
|
|
18
|
+
}
|
|
19
|
+
return dir;
|
|
20
|
+
}
|
|
21
|
+
async readText(path) {
|
|
22
|
+
const file = await (await this.resolveFile(path)).getFile();
|
|
23
|
+
return file.text();
|
|
24
|
+
}
|
|
25
|
+
async writeText(path, content) {
|
|
26
|
+
const handle = await this.resolveFile(path, true);
|
|
27
|
+
const writable = await handle.createWritable();
|
|
28
|
+
await writable.write(content);
|
|
29
|
+
await writable.close();
|
|
30
|
+
}
|
|
31
|
+
async readBinary(path) {
|
|
32
|
+
const file = await (await this.resolveFile(path)).getFile();
|
|
33
|
+
return new Uint8Array(await file.arrayBuffer());
|
|
34
|
+
}
|
|
35
|
+
async writeBinary(path, data) {
|
|
36
|
+
const handle = await this.resolveFile(path, true);
|
|
37
|
+
const writable = await handle.createWritable();
|
|
38
|
+
await writable.write(data.buffer);
|
|
39
|
+
await writable.close();
|
|
40
|
+
}
|
|
41
|
+
async exists(path) {
|
|
42
|
+
try {
|
|
43
|
+
await this.resolveFile(path);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch { }
|
|
47
|
+
try {
|
|
48
|
+
await this.resolveDir(path);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
catch { }
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
async mkdir(path) {
|
|
55
|
+
await this.resolveDir(path, true);
|
|
56
|
+
}
|
|
57
|
+
async remove(path) {
|
|
58
|
+
const parts = path.split("/").filter(Boolean);
|
|
59
|
+
const name = parts[parts.length - 1];
|
|
60
|
+
const parent = await this.resolveDir(parts.slice(0, -1).join("/"));
|
|
61
|
+
await parent.removeEntry(name, { recursive: true });
|
|
62
|
+
}
|
|
63
|
+
async listDir(path) {
|
|
64
|
+
const dir = await this.resolveDir(path);
|
|
65
|
+
const entries = [];
|
|
66
|
+
for await (const [name] of dir) {
|
|
67
|
+
entries.push(name);
|
|
68
|
+
}
|
|
69
|
+
return entries;
|
|
70
|
+
}
|
|
71
|
+
async isFile(path) {
|
|
72
|
+
try {
|
|
73
|
+
await this.resolveFile(path);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async isDir(path) {
|
|
81
|
+
try {
|
|
82
|
+
await this.resolveDir(path);
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=OPFSFileSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OPFSFileSystem.js","sourceRoot":"","sources":["../src/OPFSFileSystem.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "photon-engine-browser",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Browser adapter for Photon Engine (OPFS filesystem, Web API bridge)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": ["dist"],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "tsc --watch",
|
|
18
|
+
"typecheck": "tsc --noEmit",
|
|
19
|
+
"prepublishOnly": "npm run build"
|
|
20
|
+
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"photon-engine": "^0.1.1"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"typescript": "^5.6.0",
|
|
26
|
+
"photon-engine": "file:../core"
|
|
27
|
+
},
|
|
28
|
+
"license": "MIT"
|
|
29
|
+
}
|