minip-bridge 1.0.20 → 1.0.22
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/README.md +6 -18
- package/dist/{chunk-BHXED4CK.mjs → chunk-P6PQVD6M.mjs} +4 -52
- package/dist/chunk-P6PQVD6M.mjs.map +1 -0
- package/dist/chunk-PRRQDQWO.mjs +54 -0
- package/dist/chunk-PRRQDQWO.mjs.map +1 -0
- package/dist/fs/index.d.mts +54 -0
- package/dist/fs/index.mjs +359 -0
- package/dist/fs/index.mjs.map +1 -0
- package/dist/index.d.mts +19 -19
- package/dist/index.mjs +4 -2
- package/dist/index.mjs.map +1 -1
- package/dist/kysely/index.mjs +2 -1
- package/dist/kysely/index.mjs.map +1 -1
- package/package.json +5 -1
- package/src/bridge/index.ts +10 -10
- package/src/fs/common.ts +154 -0
- package/src/fs/dir.ts +62 -0
- package/src/fs/file.ts +164 -0
- package/src/fs/index.ts +3 -0
- package/src/types/filestats.ts +25 -0
- package/src/types/index.ts +1 -0
- package/tsup.config.ts +1 -1
- package/dist/chunk-BHXED4CK.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -24,22 +24,10 @@ navigateTo({page: "index.html", title: "title"})
|
|
|
24
24
|
- Directly use in html/js file
|
|
25
25
|
|
|
26
26
|
```html
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
</script>
|
|
36
|
-
</head>
|
|
37
|
-
<body>
|
|
38
|
-
<script type="module">
|
|
39
|
-
import * as minip from "minip-bridge";
|
|
40
|
-
|
|
41
|
-
console.log(minip);
|
|
42
|
-
console.log(minip.navigateTo);
|
|
43
|
-
</script>
|
|
44
|
-
</body>
|
|
27
|
+
<script type="module">
|
|
28
|
+
import * as minip from "minip-bridge";
|
|
29
|
+
|
|
30
|
+
console.log(minip);
|
|
31
|
+
console.log(minip.navigateTo);
|
|
32
|
+
</script>
|
|
45
33
|
```
|
|
@@ -1,53 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const _callNative = window.webkit.messageHandlers.MinipNativeInteraction;
|
|
5
|
-
jsBridge = {
|
|
6
|
-
callNative(req) {
|
|
7
|
-
return _callNative.postMessage(JSON.stringify(req)).then((res) => JSON.parse(res)).then((res) => {
|
|
8
|
-
if (res.code === 0 /* SUCCESS */) {
|
|
9
|
-
res.isSuccess = () => true;
|
|
10
|
-
const hashData = res.data !== null && res.data !== void 0;
|
|
11
|
-
res.hasData = () => hashData;
|
|
12
|
-
return res;
|
|
13
|
-
} else {
|
|
14
|
-
throw new Error(res.msg ?? "Unknown error, res: ");
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
},
|
|
18
|
-
callNativeSync(req) {
|
|
19
|
-
const res = prompt(JSON.stringify(req));
|
|
20
|
-
if (res) {
|
|
21
|
-
const r = JSON.parse(res);
|
|
22
|
-
r.isSuccess = () => true;
|
|
23
|
-
const hashData = r.data !== null && r.data !== void 0;
|
|
24
|
-
r.hasData = () => hashData;
|
|
25
|
-
return r;
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
code: 7 /* FAILED */,
|
|
29
|
-
msg: "Unknown error",
|
|
30
|
-
isSuccess: () => false,
|
|
31
|
-
hasData: () => false
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
} else {
|
|
36
|
-
jsBridge = {
|
|
37
|
-
callNative() {
|
|
38
|
-
return new Promise((_, reject) => {
|
|
39
|
-
reject("Cannot find JavaScript Bridge!!!");
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
callNativeSync() {
|
|
43
|
-
return {
|
|
44
|
-
code: 7 /* FAILED */,
|
|
45
|
-
msg: "Cannot find JavaScript Bridge!!!"
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
var bridge_default = jsBridge;
|
|
1
|
+
import {
|
|
2
|
+
bridge_default
|
|
3
|
+
} from "./chunk-PRRQDQWO.mjs";
|
|
51
4
|
|
|
52
5
|
// src/api/sqlite.ts
|
|
53
6
|
function sqliteOpenDB(path) {
|
|
@@ -135,7 +88,6 @@ function sqliteIteratorRelease(dbKey, stmtKey) {
|
|
|
135
88
|
}
|
|
136
89
|
|
|
137
90
|
export {
|
|
138
|
-
bridge_default,
|
|
139
91
|
sqliteOpenDB,
|
|
140
92
|
sqliteCloseDB,
|
|
141
93
|
sqlitePrepare,
|
|
@@ -146,4 +98,4 @@ export {
|
|
|
146
98
|
sqliteIteratorNext,
|
|
147
99
|
sqliteIteratorRelease
|
|
148
100
|
};
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-P6PQVD6M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/sqlite.ts"],"sourcesContent":["import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../types\";\r\n\r\nexport function sqliteOpenDB(\r\n path: string,\r\n): Promise<MResponseWithData<{ dbKey: number }>> {\r\n return jsBridge.callNative({\r\n api: \"sqliteOpenDB\",\r\n data: {\r\n path,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteCloseDB(dbKey: number): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"sqliteCloseDB\",\r\n data: {\r\n dbKey,\r\n },\r\n });\r\n}\r\n\r\nexport function sqlitePrepare(\r\n dbKey: number,\r\n sql: string,\r\n): Promise<MResponseWithData<{ stmtKey: number; reader: boolean }>> {\r\n return jsBridge.callNative({\r\n api: \"sqlitePrepare\",\r\n data: {\r\n dbKey,\r\n sql,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteStatementAll(\r\n dbKey: number,\r\n stmtKey: number,\r\n parameters: ReadonlyArray<unknown>,\r\n): Promise<MResponseWithData<unknown[]>> {\r\n return jsBridge.callNative({\r\n api: \"sqliteStatementAll\",\r\n data: {\r\n dbKey,\r\n stmtKey,\r\n parameters,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteStatementRun(\r\n dbKey: number,\r\n stmtKey: number,\r\n parameters: ReadonlyArray<unknown>,\r\n): Promise<\r\n MResponseWithData<{\r\n changes: number | bigint;\r\n lastInsertRowid: number | bigint;\r\n }>\r\n> {\r\n return jsBridge.callNative({\r\n api: \"sqliteStatementRun\",\r\n data: {\r\n dbKey,\r\n stmtKey,\r\n parameters,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteExecute(\r\n dbKey: number,\r\n sql: string,\r\n parameters: ReadonlyArray<unknown>,\r\n): Promise<\r\n MResponseWithData<{\r\n reader: boolean;\r\n runRes?: {\r\n changes: number | bigint;\r\n lastInsertRowid: number | bigint;\r\n };\r\n entityData?: unknown[];\r\n }>\r\n> {\r\n return jsBridge.callNative({\r\n api: \"sqliteExecute\",\r\n data: {\r\n dbKey,\r\n sql,\r\n parameters,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteCreateIterator(\r\n dbKey: number,\r\n stmtKey: number,\r\n parameters: ReadonlyArray<unknown>,\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"sqliteCreateIterator\",\r\n data: {\r\n dbKey,\r\n stmtKey,\r\n parameters,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteIteratorNext(\r\n dbKey: number,\r\n stmtKey: number,\r\n): Promise<MResponseWithData<unknown | undefined>> {\r\n return jsBridge.callNative({\r\n api: \"sqliteIteratorNext\",\r\n data: {\r\n dbKey,\r\n stmtKey,\r\n },\r\n });\r\n}\r\n\r\nexport function sqliteIteratorRelease(\r\n dbKey: number,\r\n stmtKey: number,\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"sqliteIteratorRelease\",\r\n data: {\r\n dbKey,\r\n stmtKey,\r\n },\r\n });\r\n}\r\n"],"mappings":";;;;;AAGO,SAAS,aACd,MAC+C;AAC/C,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,cAAc,OAAmC;AAC/D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,cACd,OACA,KACkE;AAClE,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,mBACd,OACA,SACA,YACuC;AACvC,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,mBACd,OACA,SACA,YAMA;AACA,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,cACd,OACA,KACA,YAUA;AACA,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,qBACd,OACA,SACA,YACoB;AACpB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,mBACd,OACA,SACiD;AACjD,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sBACd,OACA,SACoB;AACpB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// src/bridge/index.ts
|
|
2
|
+
var jsBridge;
|
|
3
|
+
if (window.webkit?.messageHandlers?.MinipNativeInteraction) {
|
|
4
|
+
const _callNative = window.webkit.messageHandlers.MinipNativeInteraction;
|
|
5
|
+
jsBridge = {
|
|
6
|
+
callNative(req) {
|
|
7
|
+
return _callNative.postMessage(JSON.stringify(req)).then((res) => JSON.parse(res)).then((res) => {
|
|
8
|
+
if (res.code === 0 /* SUCCESS */) {
|
|
9
|
+
res.isSuccess = () => true;
|
|
10
|
+
const hashData = res.data !== null && res.data !== void 0;
|
|
11
|
+
res.hasData = () => hashData;
|
|
12
|
+
return res;
|
|
13
|
+
} else {
|
|
14
|
+
throw new Error(res.msg ?? "Unknown error, res: ");
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
callNativeSync(req) {
|
|
19
|
+
const res = prompt(JSON.stringify(req));
|
|
20
|
+
if (res) {
|
|
21
|
+
const r = JSON.parse(res);
|
|
22
|
+
if (r.code === 0 /* SUCCESS */) {
|
|
23
|
+
r.isSuccess = () => true;
|
|
24
|
+
const hashData = r.data !== null && r.data !== void 0;
|
|
25
|
+
r.hasData = () => hashData;
|
|
26
|
+
return r;
|
|
27
|
+
} else {
|
|
28
|
+
throw new Error(r.msg ?? "Unknown error, res: ");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
throw new Error("Unknown error");
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
} else {
|
|
35
|
+
jsBridge = {
|
|
36
|
+
callNative() {
|
|
37
|
+
return new Promise((_, reject) => {
|
|
38
|
+
reject("Cannot find JavaScript Bridge!!!");
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
callNativeSync() {
|
|
42
|
+
return {
|
|
43
|
+
code: 7 /* FAILED */,
|
|
44
|
+
msg: "Cannot find JavaScript Bridge!!!"
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
var bridge_default = jsBridge;
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
bridge_default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=chunk-PRRQDQWO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bridge/index.ts"],"sourcesContent":["import { MResponseStatusCode } from \"../types\";\r\nimport { MRequest } from \"../types/request\";\r\n\r\ninterface WebKitCallable {\r\n postMessage: (data: string) => Promise<string>;\r\n}\r\ndeclare global {\r\n interface Window {\r\n webkit?: {\r\n messageHandlers?: {\r\n MinipNativeInteraction?: WebKitCallable;\r\n };\r\n };\r\n }\r\n}\r\n\r\nlet jsBridge: {\r\n callNative: <T>(req?: MRequest<T>) => Promise<any>;\r\n callNativeSync: <T>(req?: MRequest<T>) => any;\r\n};\r\n\r\n// apple webkit\r\nif (window.webkit?.messageHandlers?.MinipNativeInteraction) {\r\n const _callNative = window.webkit.messageHandlers.MinipNativeInteraction;\r\n jsBridge = {\r\n callNative(req) {\r\n return _callNative\r\n .postMessage(JSON.stringify(req))\r\n .then((res) => JSON.parse(res))\r\n .then((res) => {\r\n if (res.code === MResponseStatusCode.SUCCESS) {\r\n res.isSuccess = () => true;\r\n const hashData = res.data !== null && res.data !== undefined;\r\n res.hasData = () => hashData;\r\n return res;\r\n } else {\r\n throw new Error(res.msg ?? \"Unknown error, res: \");\r\n }\r\n });\r\n },\r\n callNativeSync(req) {\r\n const res = prompt(JSON.stringify(req));\r\n if (res) {\r\n const r = JSON.parse(res);\r\n\r\n if (r.code === MResponseStatusCode.SUCCESS) {\r\n r.isSuccess = () => true;\r\n const hashData = r.data !== null && r.data !== undefined;\r\n r.hasData = () => hashData;\r\n return r;\r\n } else {\r\n throw new Error(r.msg ?? \"Unknown error, res: \");\r\n }\r\n }\r\n throw new Error(\"Unknown error\");\r\n },\r\n };\r\n}\r\n// error\r\nelse {\r\n jsBridge = {\r\n callNative() {\r\n return new Promise((_, reject) => {\r\n reject(\"Cannot find JavaScript Bridge!!!\");\r\n });\r\n },\r\n callNativeSync() {\r\n return {\r\n code: MResponseStatusCode.FAILED,\r\n msg: \"Cannot find JavaScript Bridge!!!\",\r\n };\r\n },\r\n };\r\n}\r\n\r\nexport default jsBridge;\r\n"],"mappings":";AAgBA,IAAI;AAMJ,IAAI,OAAO,QAAQ,iBAAiB,wBAAwB;AAC1D,QAAM,cAAc,OAAO,OAAO,gBAAgB;AAClD,aAAW;AAAA,IACT,WAAW,KAAK;AACd,aAAO,YACJ,YAAY,KAAK,UAAU,GAAG,CAAC,EAC/B,KAAK,CAAC,QAAQ,KAAK,MAAM,GAAG,CAAC,EAC7B,KAAK,CAAC,QAAQ;AACb,YAAI,IAAI,0BAAsC;AAC5C,cAAI,YAAY,MAAM;AACtB,gBAAM,WAAW,IAAI,SAAS,QAAQ,IAAI,SAAS;AACnD,cAAI,UAAU,MAAM;AACpB,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM,IAAI,MAAM,IAAI,OAAO,sBAAsB;AAAA,QACnD;AAAA,MACF,CAAC;AAAA,IACL;AAAA,IACA,eAAe,KAAK;AAClB,YAAM,MAAM,OAAO,KAAK,UAAU,GAAG,CAAC;AACtC,UAAI,KAAK;AACP,cAAM,IAAI,KAAK,MAAM,GAAG;AAExB,YAAI,EAAE,0BAAsC;AAC1C,YAAE,YAAY,MAAM;AACpB,gBAAM,WAAW,EAAE,SAAS,QAAQ,EAAE,SAAS;AAC/C,YAAE,UAAU,MAAM;AAClB,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM,IAAI,MAAM,EAAE,OAAO,sBAAsB;AAAA,QACjD;AAAA,MACF;AACA,YAAM,IAAI,MAAM,eAAe;AAAA,IACjC;AAAA,EACF;AACF,OAEK;AACH,aAAW;AAAA,IACT,aAAa;AACX,aAAO,IAAI,QAAQ,CAAC,GAAG,WAAW;AAChC,eAAO,kCAAkC;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,IACA,iBAAiB;AACf,aAAO;AAAA,QACL;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ;","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
interface FileStats {
|
|
2
|
+
dev: number;
|
|
3
|
+
ino: number;
|
|
4
|
+
mode: number;
|
|
5
|
+
nlink: number;
|
|
6
|
+
uid: number;
|
|
7
|
+
gid: number;
|
|
8
|
+
rdev: number;
|
|
9
|
+
size: number;
|
|
10
|
+
blksize: number;
|
|
11
|
+
blocks: number;
|
|
12
|
+
atimeMs: number;
|
|
13
|
+
mtimeMs: number;
|
|
14
|
+
ctimeMs: number;
|
|
15
|
+
birthtimeMs: number;
|
|
16
|
+
atime: Date;
|
|
17
|
+
mtime: Date;
|
|
18
|
+
ctime: Date;
|
|
19
|
+
birthtime: Date;
|
|
20
|
+
isDirectory(): boolean;
|
|
21
|
+
isFile(): boolean;
|
|
22
|
+
isSymbolicLink(): boolean;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare function access(path: string, mode?: number): Promise<void>;
|
|
26
|
+
declare function accessSync(path: string, mode?: number): void;
|
|
27
|
+
declare function unlink(path: string): Promise<void>;
|
|
28
|
+
declare function unlinkSync(path: string): void;
|
|
29
|
+
declare function rename(oldPath: string, newPath: string): Promise<void>;
|
|
30
|
+
declare function renameSync(oldPath: string, newPath: string): void;
|
|
31
|
+
declare function stat(path: string): Promise<FileStats>;
|
|
32
|
+
declare function statSync(path: string): FileStats;
|
|
33
|
+
declare function rm(path: string): Promise<void>;
|
|
34
|
+
declare function rmSync(path: string): void;
|
|
35
|
+
|
|
36
|
+
declare function mkdir(path: string, recursive?: boolean): Promise<void>;
|
|
37
|
+
declare function mkdirSync(path: string, recursive?: boolean): void;
|
|
38
|
+
declare function readDir(path: string): Promise<string[]>;
|
|
39
|
+
declare function readDirSync(path: string): string[];
|
|
40
|
+
declare function rmdir(path: string, force?: boolean): Promise<void>;
|
|
41
|
+
declare function rmdirSync(path: string, force?: boolean): void;
|
|
42
|
+
|
|
43
|
+
declare function readFile(path: string): Promise<ArrayBuffer>;
|
|
44
|
+
declare function readFileSync(path: string): ArrayBuffer;
|
|
45
|
+
declare function writeFile(path: string, data: ArrayBuffer | string): Promise<void>;
|
|
46
|
+
declare function writeFileSync(path: string, data: ArrayBuffer | string): void;
|
|
47
|
+
declare function appendFile(path: string, data: ArrayBuffer | string): Promise<void>;
|
|
48
|
+
declare function appendFileSync(path: string, data: ArrayBuffer | string): void;
|
|
49
|
+
declare function copyFile(src: string, dest: string): Promise<void>;
|
|
50
|
+
declare function copyFileSync(src: string, dest: string): void;
|
|
51
|
+
declare function truncate(path: string, length: number): Promise<void>;
|
|
52
|
+
declare function truncateSync(path: string, length: number): void;
|
|
53
|
+
|
|
54
|
+
export { access, accessSync, appendFile, appendFileSync, copyFile, copyFileSync, mkdir, mkdirSync, readDir, readDirSync, readFile, readFileSync, rename, renameSync, rm, rmSync, rmdir, rmdirSync, stat, statSync, truncate, truncateSync, unlink, unlinkSync, writeFile, writeFileSync };
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bridge_default
|
|
3
|
+
} from "../chunk-PRRQDQWO.mjs";
|
|
4
|
+
|
|
5
|
+
// src/fs/common.ts
|
|
6
|
+
async function access(path, mode) {
|
|
7
|
+
return bridge_default.callNative({
|
|
8
|
+
api: "fsAccess",
|
|
9
|
+
data: {
|
|
10
|
+
path,
|
|
11
|
+
mode
|
|
12
|
+
}
|
|
13
|
+
}).then((res) => {
|
|
14
|
+
const r = res;
|
|
15
|
+
if (!r.hasData() || !r.data) {
|
|
16
|
+
throw new Error(r.msg ?? "cannot access this file or directory");
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function accessSync(path, mode) {
|
|
21
|
+
const res = bridge_default.callNativeSync({
|
|
22
|
+
api: "fsAccessSync",
|
|
23
|
+
data: {
|
|
24
|
+
path,
|
|
25
|
+
mode
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
if (!res.hasData() || !res.data) {
|
|
29
|
+
throw new Error(res.msg ?? "cannot access this file or directory");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function unlink(path) {
|
|
33
|
+
await bridge_default.callNative({
|
|
34
|
+
api: "fsUnlink",
|
|
35
|
+
data: {
|
|
36
|
+
path
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function unlinkSync(path) {
|
|
41
|
+
bridge_default.callNativeSync({
|
|
42
|
+
api: "fsUnlinkSync",
|
|
43
|
+
data: {
|
|
44
|
+
path
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async function rename(oldPath, newPath) {
|
|
49
|
+
await bridge_default.callNative({
|
|
50
|
+
api: "fsRename",
|
|
51
|
+
data: {
|
|
52
|
+
oldPath,
|
|
53
|
+
newPath
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function renameSync(oldPath, newPath) {
|
|
58
|
+
bridge_default.callNativeSync({
|
|
59
|
+
api: "fsRenameSync",
|
|
60
|
+
data: {
|
|
61
|
+
oldPath,
|
|
62
|
+
newPath
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async function stat(path) {
|
|
67
|
+
const res = await bridge_default.callNative({
|
|
68
|
+
api: "fsStat",
|
|
69
|
+
data: {
|
|
70
|
+
path
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const file = res.data;
|
|
74
|
+
file.atime = new Date(file.atimeMs);
|
|
75
|
+
file.mtime = new Date(file.mtimeMs);
|
|
76
|
+
file.ctime = new Date(file.ctimeMs);
|
|
77
|
+
const S_IFDIR = 16384;
|
|
78
|
+
const S_IFREG = 32768;
|
|
79
|
+
const S_IFLNK = 40960;
|
|
80
|
+
file.isDirectory = function() {
|
|
81
|
+
return (this.mode & S_IFDIR) === S_IFDIR;
|
|
82
|
+
};
|
|
83
|
+
file.isFile = function() {
|
|
84
|
+
return (this.mode & S_IFREG) === S_IFREG;
|
|
85
|
+
};
|
|
86
|
+
file.isSymbolicLink = function() {
|
|
87
|
+
return (this.mode & S_IFLNK) === S_IFLNK;
|
|
88
|
+
};
|
|
89
|
+
return file;
|
|
90
|
+
}
|
|
91
|
+
function statSync(path) {
|
|
92
|
+
const res = bridge_default.callNativeSync({
|
|
93
|
+
api: "fsStatSync",
|
|
94
|
+
data: {
|
|
95
|
+
path
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const file = res.data;
|
|
99
|
+
file.atime = new Date(file.atimeMs);
|
|
100
|
+
file.mtime = new Date(file.mtimeMs);
|
|
101
|
+
file.ctime = new Date(file.ctimeMs);
|
|
102
|
+
const S_IFDIR = 16384;
|
|
103
|
+
const S_IFREG = 32768;
|
|
104
|
+
const S_IFLNK = 40960;
|
|
105
|
+
file.isDirectory = function() {
|
|
106
|
+
return (this.mode & S_IFDIR) === S_IFDIR;
|
|
107
|
+
};
|
|
108
|
+
file.isFile = function() {
|
|
109
|
+
return (this.mode & S_IFREG) === S_IFREG;
|
|
110
|
+
};
|
|
111
|
+
file.isSymbolicLink = function() {
|
|
112
|
+
return (this.mode & S_IFLNK) === S_IFLNK;
|
|
113
|
+
};
|
|
114
|
+
return file;
|
|
115
|
+
}
|
|
116
|
+
async function rm(path) {
|
|
117
|
+
await bridge_default.callNative({
|
|
118
|
+
api: "fsRm",
|
|
119
|
+
data: {
|
|
120
|
+
path
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function rmSync(path) {
|
|
125
|
+
bridge_default.callNativeSync({
|
|
126
|
+
api: "fsRmSync",
|
|
127
|
+
data: {
|
|
128
|
+
path
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// src/fs/dir.ts
|
|
134
|
+
async function mkdir(path, recursive = true) {
|
|
135
|
+
await bridge_default.callNative({
|
|
136
|
+
api: "fsMkdir",
|
|
137
|
+
data: {
|
|
138
|
+
path,
|
|
139
|
+
recursive
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
function mkdirSync(path, recursive = true) {
|
|
144
|
+
bridge_default.callNativeSync({
|
|
145
|
+
api: "fsMkdirSync",
|
|
146
|
+
data: {
|
|
147
|
+
path,
|
|
148
|
+
recursive
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function readDir(path) {
|
|
153
|
+
return bridge_default.callNative({
|
|
154
|
+
api: "fsReadDir",
|
|
155
|
+
data: {
|
|
156
|
+
path
|
|
157
|
+
}
|
|
158
|
+
}).then((res) => res).then((res) => res.data);
|
|
159
|
+
}
|
|
160
|
+
function readDirSync(path) {
|
|
161
|
+
const res = bridge_default.callNativeSync({
|
|
162
|
+
api: "fsReadDirSync",
|
|
163
|
+
data: {
|
|
164
|
+
path
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
return res.data;
|
|
168
|
+
}
|
|
169
|
+
async function rmdir(path, force) {
|
|
170
|
+
await bridge_default.callNative({
|
|
171
|
+
api: "fsRmdir",
|
|
172
|
+
data: {
|
|
173
|
+
path,
|
|
174
|
+
force
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
function rmdirSync(path, force) {
|
|
179
|
+
bridge_default.callNativeSync({
|
|
180
|
+
api: "fsRmdirSync",
|
|
181
|
+
data: {
|
|
182
|
+
path,
|
|
183
|
+
force
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// src/fs/file.ts
|
|
189
|
+
function base64ToArrayBuffer(base64) {
|
|
190
|
+
const binaryString = atob(base64);
|
|
191
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
192
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
193
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
194
|
+
}
|
|
195
|
+
return bytes.buffer;
|
|
196
|
+
}
|
|
197
|
+
function arrayBufferToBase64(buffer) {
|
|
198
|
+
let binary = "";
|
|
199
|
+
const bytes = new Uint8Array(buffer);
|
|
200
|
+
const len = bytes.byteLength;
|
|
201
|
+
for (let i = 0; i < len; i++) {
|
|
202
|
+
binary += String.fromCharCode(bytes[i]);
|
|
203
|
+
}
|
|
204
|
+
return btoa(binary);
|
|
205
|
+
}
|
|
206
|
+
function readFile(path) {
|
|
207
|
+
return bridge_default.callNative({
|
|
208
|
+
api: "fsReadFile",
|
|
209
|
+
data: {
|
|
210
|
+
path
|
|
211
|
+
}
|
|
212
|
+
}).then((res) => res.data).then((res) => base64ToArrayBuffer(res));
|
|
213
|
+
}
|
|
214
|
+
function readFileSync(path) {
|
|
215
|
+
const res = bridge_default.callNativeSync({
|
|
216
|
+
api: "fsReadFileSync",
|
|
217
|
+
data: {
|
|
218
|
+
path
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
return base64ToArrayBuffer(res.data);
|
|
222
|
+
}
|
|
223
|
+
async function writeFile(path, data) {
|
|
224
|
+
let base64 = "";
|
|
225
|
+
if (data instanceof ArrayBuffer) {
|
|
226
|
+
base64 = arrayBufferToBase64(data);
|
|
227
|
+
} else {
|
|
228
|
+
const encoder = new TextEncoder();
|
|
229
|
+
const uint8Array = encoder.encode(data);
|
|
230
|
+
const arrayBuffer = uint8Array.buffer;
|
|
231
|
+
base64 = arrayBufferToBase64(arrayBuffer);
|
|
232
|
+
}
|
|
233
|
+
await bridge_default.callNative({
|
|
234
|
+
api: "fsWriteFile",
|
|
235
|
+
data: {
|
|
236
|
+
path,
|
|
237
|
+
data: base64
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
function writeFileSync(path, data) {
|
|
242
|
+
let base64 = "";
|
|
243
|
+
if (data instanceof ArrayBuffer) {
|
|
244
|
+
base64 = arrayBufferToBase64(data);
|
|
245
|
+
} else {
|
|
246
|
+
const encoder = new TextEncoder();
|
|
247
|
+
const uint8Array = encoder.encode(data);
|
|
248
|
+
const arrayBuffer = uint8Array.buffer;
|
|
249
|
+
base64 = arrayBufferToBase64(arrayBuffer);
|
|
250
|
+
}
|
|
251
|
+
bridge_default.callNativeSync({
|
|
252
|
+
api: "fsWriteFileSync",
|
|
253
|
+
data: {
|
|
254
|
+
path,
|
|
255
|
+
data: base64
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
async function appendFile(path, data) {
|
|
260
|
+
let base64 = "";
|
|
261
|
+
if (data instanceof ArrayBuffer) {
|
|
262
|
+
base64 = arrayBufferToBase64(data);
|
|
263
|
+
} else {
|
|
264
|
+
const encoder = new TextEncoder();
|
|
265
|
+
const uint8Array = encoder.encode(data);
|
|
266
|
+
const arrayBuffer = uint8Array.buffer;
|
|
267
|
+
base64 = arrayBufferToBase64(arrayBuffer);
|
|
268
|
+
}
|
|
269
|
+
await bridge_default.callNative({
|
|
270
|
+
api: "fsAppendFile",
|
|
271
|
+
data: {
|
|
272
|
+
path,
|
|
273
|
+
data: base64
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
function appendFileSync(path, data) {
|
|
278
|
+
let base64 = "";
|
|
279
|
+
if (data instanceof ArrayBuffer) {
|
|
280
|
+
base64 = arrayBufferToBase64(data);
|
|
281
|
+
} else {
|
|
282
|
+
const encoder = new TextEncoder();
|
|
283
|
+
const uint8Array = encoder.encode(data);
|
|
284
|
+
const arrayBuffer = uint8Array.buffer;
|
|
285
|
+
base64 = arrayBufferToBase64(arrayBuffer);
|
|
286
|
+
}
|
|
287
|
+
bridge_default.callNativeSync({
|
|
288
|
+
api: "fsAppendFileSync",
|
|
289
|
+
data: {
|
|
290
|
+
path,
|
|
291
|
+
data: base64
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
async function copyFile(src, dest) {
|
|
296
|
+
await bridge_default.callNative({
|
|
297
|
+
api: "fsCopyFile",
|
|
298
|
+
data: {
|
|
299
|
+
src,
|
|
300
|
+
dest
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
function copyFileSync(src, dest) {
|
|
305
|
+
bridge_default.callNativeSync({
|
|
306
|
+
api: "fsCopyFileSync",
|
|
307
|
+
data: {
|
|
308
|
+
src,
|
|
309
|
+
dest
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
async function truncate(path, length) {
|
|
314
|
+
await bridge_default.callNative({
|
|
315
|
+
api: "fsTruncate",
|
|
316
|
+
data: {
|
|
317
|
+
path,
|
|
318
|
+
length
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
function truncateSync(path, length) {
|
|
323
|
+
bridge_default.callNativeSync({
|
|
324
|
+
api: "fsTruncateSync",
|
|
325
|
+
data: {
|
|
326
|
+
path,
|
|
327
|
+
length
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
export {
|
|
332
|
+
access,
|
|
333
|
+
accessSync,
|
|
334
|
+
appendFile,
|
|
335
|
+
appendFileSync,
|
|
336
|
+
copyFile,
|
|
337
|
+
copyFileSync,
|
|
338
|
+
mkdir,
|
|
339
|
+
mkdirSync,
|
|
340
|
+
readDir,
|
|
341
|
+
readDirSync,
|
|
342
|
+
readFile,
|
|
343
|
+
readFileSync,
|
|
344
|
+
rename,
|
|
345
|
+
renameSync,
|
|
346
|
+
rm,
|
|
347
|
+
rmSync,
|
|
348
|
+
rmdir,
|
|
349
|
+
rmdirSync,
|
|
350
|
+
stat,
|
|
351
|
+
statSync,
|
|
352
|
+
truncate,
|
|
353
|
+
truncateSync,
|
|
354
|
+
unlink,
|
|
355
|
+
unlinkSync,
|
|
356
|
+
writeFile,
|
|
357
|
+
writeFileSync
|
|
358
|
+
};
|
|
359
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/fs/common.ts","../../src/fs/dir.ts","../../src/fs/file.ts"],"sourcesContent":["import jsBridge from \"../bridge\";\r\nimport { MResponseWithData } from \"../types\";\r\nimport { FileStats } from \"../types/FileStats\";\r\n\r\nexport async function access(path: string, mode?: number): Promise<void> {\r\n return jsBridge.callNative({\r\n api: \"fsAccess\",\r\n data: {\r\n path,\r\n mode\r\n }\r\n }).then(res => {\r\n const r = res as MResponseWithData<boolean>\r\n if (!r.hasData() || !r.data) {\r\n throw new Error(r.msg ?? \"cannot access this file or directory\")\r\n }\r\n });\r\n}\r\n\r\nexport function accessSync(path: string, mode?: number) {\r\n const res = jsBridge.callNativeSync({\r\n api: \"fsAccessSync\",\r\n data: {\r\n path,\r\n mode\r\n }\r\n }) as MResponseWithData<boolean>\r\n if (!res.hasData() || !res.data) {\r\n throw new Error(res.msg ?? \"cannot access this file or directory\")\r\n }\r\n}\r\n\r\nexport async function unlink(path: string) {\r\n await jsBridge.callNative({\r\n api: \"fsUnlink\",\r\n data: {\r\n path\r\n }\r\n })\r\n}\r\n\r\nexport function unlinkSync(path: string) {\r\n jsBridge.callNativeSync({\r\n api: \"fsUnlinkSync\",\r\n data: {\r\n path\r\n }\r\n })\r\n}\r\n\r\nexport async function rename(oldPath: string, newPath: string) {\r\n await jsBridge.callNative({\r\n api: \"fsRename\",\r\n data: {\r\n oldPath,\r\n newPath\r\n }\r\n })\r\n}\r\n\r\nexport function renameSync(oldPath: string, newPath: string) {\r\n jsBridge.callNativeSync({\r\n api: \"fsRenameSync\",\r\n data: {\r\n oldPath,\r\n newPath\r\n }\r\n })\r\n}\r\n\r\n// todo: check !!!!!\r\nexport async function stat(path: string) {\r\n const res = await jsBridge.callNative({\r\n api: \"fsStat\",\r\n data: {\r\n path\r\n }\r\n }) as MResponseWithData<FileStats>\r\n\r\n const file = res.data\r\n\r\n file.atime = new Date(file.atimeMs);\r\n file.mtime = new Date(file.mtimeMs);\r\n file.ctime = new Date(file.ctimeMs);\r\n\r\n const S_IFDIR = 0o040000;\r\n const S_IFREG = 0o100000;\r\n const S_IFLNK = 0o120000;\r\n\r\n file.isDirectory = function () {\r\n return (this.mode & S_IFDIR) === S_IFDIR;\r\n };\r\n\r\n file.isFile = function () {\r\n return (this.mode & S_IFREG) === S_IFREG;\r\n };\r\n\r\n file.isSymbolicLink = function () {\r\n return (this.mode & S_IFLNK) === S_IFLNK;\r\n };\r\n\r\n return file\r\n}\r\n\r\nexport function statSync(path: string) {\r\n const res = jsBridge.callNativeSync({\r\n api: \"fsStatSync\",\r\n data: {\r\n path\r\n }\r\n }) as MResponseWithData<FileStats>\r\n\r\n const file = res.data\r\n\r\n file.atime = new Date(file.atimeMs);\r\n file.mtime = new Date(file.mtimeMs);\r\n file.ctime = new Date(file.ctimeMs);\r\n\r\n const S_IFDIR = 0o040000;\r\n const S_IFREG = 0o100000;\r\n const S_IFLNK = 0o120000;\r\n\r\n file.isDirectory = function () {\r\n return (this.mode & S_IFDIR) === S_IFDIR;\r\n };\r\n\r\n file.isFile = function () {\r\n return (this.mode & S_IFREG) === S_IFREG;\r\n };\r\n\r\n file.isSymbolicLink = function () {\r\n return (this.mode & S_IFLNK) === S_IFLNK;\r\n };\r\n\r\n return file\r\n}\r\n\r\nexport async function rm(path: string) {\r\n await jsBridge.callNative({\r\n api: \"fsRm\",\r\n data: {\r\n path\r\n }\r\n })\r\n}\r\n\r\nexport function rmSync(path: string) {\r\n jsBridge.callNativeSync({\r\n api: \"fsRmSync\",\r\n data: {\r\n path\r\n }\r\n })\r\n}","import jsBridge from \"../bridge\";\r\nimport { MResponseWithData } from \"../types\";\r\n\r\nexport async function mkdir(path: string, recursive: boolean = true) {\r\n await jsBridge.callNative({\r\n api: \"fsMkdir\",\r\n data: {\r\n path,\r\n recursive\r\n }\r\n })\r\n}\r\n\r\nexport function mkdirSync(path: string, recursive: boolean = true) {\r\n jsBridge.callNativeSync({\r\n api: \"fsMkdirSync\",\r\n data: {\r\n path,\r\n recursive\r\n }\r\n })\r\n}\r\n\r\nexport function readDir(path: string): Promise<string[]> {\r\n return jsBridge.callNative({\r\n api: \"fsReadDir\",\r\n data: {\r\n path\r\n }\r\n }).then(res => res as MResponseWithData<string[]>)\r\n .then(res => res.data)\r\n}\r\n\r\nexport function readDirSync(path: string): string[] {\r\n const res = jsBridge.callNativeSync({\r\n api: \"fsReadDirSync\",\r\n data: {\r\n path\r\n }\r\n }) as MResponseWithData<string[]>\r\n return res.data\r\n}\r\n\r\nexport async function rmdir(path: string, force?: boolean) {\r\n await jsBridge.callNative({\r\n api: \"fsRmdir\",\r\n data: {\r\n path,\r\n force\r\n }\r\n })\r\n}\r\n\r\nexport function rmdirSync(path: string, force?: boolean) {\r\n jsBridge.callNativeSync({\r\n api: \"fsRmdirSync\",\r\n data: {\r\n path,\r\n force\r\n }\r\n })\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponseWithData } from \"../types\";\r\n\r\nfunction base64ToArrayBuffer(base64: string): ArrayBuffer {\r\n const binaryString = atob(base64);\r\n const bytes = new Uint8Array(binaryString.length);\r\n for (let i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n}\r\n\r\nfunction arrayBufferToBase64(buffer: ArrayBuffer): string {\r\n let binary = '';\r\n const bytes = new Uint8Array(buffer);\r\n const len = bytes.byteLength;\r\n\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n\r\n return btoa(binary);\r\n}\r\n\r\nexport function readFile(path: string): Promise<ArrayBuffer> {\r\n return jsBridge.callNative({\r\n api: \"fsReadFile\",\r\n data: {\r\n path\r\n }\r\n }).then(res => (res as MResponseWithData<string>).data)\r\n .then(res => base64ToArrayBuffer(res))\r\n}\r\n\r\nexport function readFileSync(path: string): ArrayBuffer {\r\n const res = jsBridge.callNativeSync({\r\n api: \"fsReadFileSync\",\r\n data: {\r\n path\r\n }\r\n }) as MResponseWithData<string>\r\n return base64ToArrayBuffer(res.data)\r\n}\r\n\r\nexport async function writeFile(path: string, data: ArrayBuffer | string) {\r\n let base64 = \"\"\r\n if (data instanceof ArrayBuffer) {\r\n base64 = arrayBufferToBase64(data)\r\n } else {\r\n const encoder = new TextEncoder();\r\n const uint8Array = encoder.encode(data);\r\n const arrayBuffer = uint8Array.buffer;\r\n base64 = arrayBufferToBase64(arrayBuffer as ArrayBuffer)\r\n }\r\n\r\n\r\n await jsBridge.callNative({\r\n api: \"fsWriteFile\",\r\n data: {\r\n path,\r\n data: base64\r\n }\r\n })\r\n}\r\n\r\nexport function writeFileSync(path: string, data: ArrayBuffer | string) {\r\n let base64 = \"\"\r\n if (data instanceof ArrayBuffer) {\r\n base64 = arrayBufferToBase64(data)\r\n } else {\r\n const encoder = new TextEncoder();\r\n const uint8Array = encoder.encode(data);\r\n const arrayBuffer = uint8Array.buffer;\r\n base64 = arrayBufferToBase64(arrayBuffer as ArrayBuffer)\r\n }\r\n\r\n jsBridge.callNativeSync({\r\n api: \"fsWriteFileSync\",\r\n data: {\r\n path,\r\n data: base64\r\n }\r\n })\r\n}\r\n\r\nexport async function appendFile(path: string, data: ArrayBuffer | string) {\r\n let base64 = \"\"\r\n if (data instanceof ArrayBuffer) {\r\n base64 = arrayBufferToBase64(data)\r\n } else {\r\n const encoder = new TextEncoder();\r\n const uint8Array = encoder.encode(data);\r\n const arrayBuffer = uint8Array.buffer;\r\n base64 = arrayBufferToBase64(arrayBuffer as ArrayBuffer)\r\n }\r\n\r\n await jsBridge.callNative({\r\n api: \"fsAppendFile\",\r\n data: {\r\n path,\r\n data: base64\r\n }\r\n })\r\n}\r\n\r\nexport function appendFileSync(path: string, data: ArrayBuffer | string) {\r\n let base64 = \"\"\r\n if (data instanceof ArrayBuffer) {\r\n base64 = arrayBufferToBase64(data)\r\n } else {\r\n const encoder = new TextEncoder();\r\n const uint8Array = encoder.encode(data);\r\n const arrayBuffer = uint8Array.buffer;\r\n base64 = arrayBufferToBase64(arrayBuffer as ArrayBuffer)\r\n }\r\n\r\n jsBridge.callNativeSync({\r\n api: \"fsAppendFileSync\",\r\n data: {\r\n path,\r\n data: base64\r\n }\r\n })\r\n}\r\n\r\nexport async function copyFile(src: string, dest: string) {\r\n await jsBridge.callNative({\r\n api: \"fsCopyFile\",\r\n data: {\r\n src,\r\n dest\r\n }\r\n })\r\n}\r\n\r\nexport function copyFileSync(src: string, dest: string) {\r\n jsBridge.callNativeSync({\r\n api: \"fsCopyFileSync\",\r\n data: {\r\n src,\r\n dest\r\n }\r\n })\r\n}\r\n\r\nexport async function truncate(path: string, length: number) {\r\n await jsBridge.callNative({\r\n api: \"fsTruncate\",\r\n data: {\r\n path,\r\n length\r\n }\r\n })\r\n}\r\n\r\nexport function truncateSync(path: string, length: number) {\r\n jsBridge.callNativeSync({\r\n api: \"fsTruncateSync\",\r\n data: {\r\n path,\r\n length\r\n }\r\n })\r\n}"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -117,6 +117,24 @@ interface File {
|
|
|
117
117
|
hash: string;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
interface DeviceInfo {
|
|
121
|
+
language: string;
|
|
122
|
+
model: string;
|
|
123
|
+
system: string;
|
|
124
|
+
screen: ScreenInfo;
|
|
125
|
+
safeAreaInfo: SafeAreaInfo;
|
|
126
|
+
}
|
|
127
|
+
interface ScreenInfo {
|
|
128
|
+
width: number;
|
|
129
|
+
height: number;
|
|
130
|
+
}
|
|
131
|
+
interface SafeAreaInfo {
|
|
132
|
+
left: number;
|
|
133
|
+
right: number;
|
|
134
|
+
top: number;
|
|
135
|
+
bottom: number;
|
|
136
|
+
}
|
|
137
|
+
|
|
120
138
|
declare function navigateTo(data: {
|
|
121
139
|
page: string;
|
|
122
140
|
title?: string;
|
|
@@ -162,24 +180,6 @@ declare function setKVStorageSync(key: string, value: string): MResponse;
|
|
|
162
180
|
declare function deleteKVStorageSync(key: string): MResponse;
|
|
163
181
|
declare function clearKVStorageSync(): MResponse;
|
|
164
182
|
|
|
165
|
-
interface DeviceInfo {
|
|
166
|
-
language: string;
|
|
167
|
-
model: string;
|
|
168
|
-
system: string;
|
|
169
|
-
screen: ScreenInfo;
|
|
170
|
-
safeAreaInfo: SafeAreaInfo;
|
|
171
|
-
}
|
|
172
|
-
interface ScreenInfo {
|
|
173
|
-
width: number;
|
|
174
|
-
height: number;
|
|
175
|
-
}
|
|
176
|
-
interface SafeAreaInfo {
|
|
177
|
-
left: number;
|
|
178
|
-
right: number;
|
|
179
|
-
top: number;
|
|
180
|
-
bottom: number;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
183
|
/**
|
|
184
184
|
*
|
|
185
185
|
* @param type medium as default
|
|
@@ -235,4 +235,4 @@ declare global {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
export { type AlertAction, type AlertConfig, type AppInfo, type DateAndTimePickerConfig, type HUDType, type MRequest, type MRequestBase, type MRequestWithData, type MResponse, MResponseStatusCode, type MResponseWithData, type MultipleColumnsPickerConfig, type ShowHUDRequest, type SingleColumnPickerConfig, clearKVStorage, clearKVStorageSync, clearMemoryStorage, closeApp, deleteKVStorage, deleteKVStorageSync, disablePullDownRefresh, enablePullDownRefresh, getClipboardData, getDeviceInfo, getDeviceInfoSync, getInstalledAppList, getKVStorage, getKVStorageSync, getMemoryStorage, hideHUD, installApp, navigateBack, navigateTo, onPullDownRefresh, openSettings, openWebsite, previewImage, previewVideo, redirectTo, removeMemoryStorage, scanQRCode, setClipboardData, setKVStorage, setKVStorageSync, setMemoryStorage, setMemoryStorageIfNotExist, setNavigationBarColor, setNavigationBarTitle, showAlert, showAppDetail, showHUD, showPicker, sqliteCloseDB, sqliteCreateIterator, sqliteExecute, sqliteIteratorNext, sqliteIteratorRelease, sqliteOpenDB, sqlitePrepare, sqliteStatementAll, sqliteStatementRun, startPullDownRefresh, stopPullDownRefresh, vibrate };
|
|
238
|
+
export { type AlertAction, type AlertConfig, type AppInfo, type DateAndTimePickerConfig, type DeviceInfo, type HUDType, type MRequest, type MRequestBase, type MRequestWithData, type MResponse, MResponseStatusCode, type MResponseWithData, type MultipleColumnsPickerConfig, type ShowHUDRequest, type SingleColumnPickerConfig, clearKVStorage, clearKVStorageSync, clearMemoryStorage, closeApp, deleteKVStorage, deleteKVStorageSync, disablePullDownRefresh, enablePullDownRefresh, getClipboardData, getDeviceInfo, getDeviceInfoSync, getInstalledAppList, getKVStorage, getKVStorageSync, getMemoryStorage, hideHUD, installApp, navigateBack, navigateTo, onPullDownRefresh, openSettings, openWebsite, previewImage, previewVideo, redirectTo, removeMemoryStorage, scanQRCode, setClipboardData, setKVStorage, setKVStorageSync, setMemoryStorage, setMemoryStorageIfNotExist, setNavigationBarColor, setNavigationBarTitle, showAlert, showAppDetail, showHUD, showPicker, sqliteCloseDB, sqliteCreateIterator, sqliteExecute, sqliteIteratorNext, sqliteIteratorRelease, sqliteOpenDB, sqlitePrepare, sqliteStatementAll, sqliteStatementRun, startPullDownRefresh, stopPullDownRefresh, vibrate };
|