minip-bridge 1.0.18 → 1.0.19
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/chunk-BHXED4CK.mjs +149 -0
- package/dist/chunk-BHXED4CK.mjs.map +1 -0
- package/dist/index.d.mts +25 -18
- package/dist/index.mjs +21 -348
- package/dist/index.mjs.map +1 -1
- package/dist/kysely/index.d.mts +25 -0
- package/dist/kysely/index.mjs +225 -0
- package/dist/kysely/index.mjs.map +1 -0
- package/package.json +2 -2
- package/src/api/app.ts +1 -1
- package/src/api/device.ts +2 -2
- package/src/api/kvstorage.ts +1 -1
- package/src/api/memory-cache.ts +1 -1
- package/src/api/route.ts +1 -1
- package/src/api/{sqlite/native-api.ts → sqlite.ts} +2 -2
- package/src/api/ui.ts +1 -1
- package/src/bridge/index.ts +2 -2
- package/src/index.ts +2 -3
- package/src/{api/sqlite → kysely}/core/sqlite-database.ts +1 -1
- package/src/{api/sqlite → kysely}/core/sqlite-query-iterator.ts +1 -1
- package/src/kysely/index.ts +51 -0
- package/tsup.config.ts +2 -1
- package/src/api/sqlite/index.ts +0 -33
- /package/src/{api/sqlite → kysely}/core/sqlite-connection.ts +0 -0
- /package/src/{api/sqlite → kysely}/core/sqlite-dialect-config.ts +0 -0
- /package/src/{api/sqlite → kysely}/core/sqlite-dialect.ts +0 -0
- /package/src/{api/sqlite → kysely}/core/sqlite-driver.ts +0 -0
- /package/src/{api/sqlite → kysely}/core/sqlite-statement.ts +0 -0
- /package/src/{model → types}/appinfo.ts +0 -0
- /package/src/{model → types}/deviceinfo.ts +0 -0
- /package/src/{model → types}/index.ts +0 -0
- /package/src/{model → types}/request/index.ts +0 -0
- /package/src/{model → types}/request/ui.ts +0 -0
- /package/src/{model → types}/response/index.ts +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
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;
|
|
51
|
+
|
|
52
|
+
// src/api/sqlite.ts
|
|
53
|
+
function sqliteOpenDB(path) {
|
|
54
|
+
return bridge_default.callNative({
|
|
55
|
+
api: "sqliteOpenDB",
|
|
56
|
+
data: {
|
|
57
|
+
path
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function sqliteCloseDB(dbKey) {
|
|
62
|
+
return bridge_default.callNative({
|
|
63
|
+
api: "sqliteCloseDB",
|
|
64
|
+
data: {
|
|
65
|
+
dbKey
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function sqlitePrepare(dbKey, sql) {
|
|
70
|
+
return bridge_default.callNative({
|
|
71
|
+
api: "sqlitePrepare",
|
|
72
|
+
data: {
|
|
73
|
+
dbKey,
|
|
74
|
+
sql
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function sqliteStatementAll(dbKey, stmtKey, parameters) {
|
|
79
|
+
return bridge_default.callNative({
|
|
80
|
+
api: "sqliteStatementAll",
|
|
81
|
+
data: {
|
|
82
|
+
dbKey,
|
|
83
|
+
stmtKey,
|
|
84
|
+
parameters
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function sqliteStatementRun(dbKey, stmtKey, parameters) {
|
|
89
|
+
return bridge_default.callNative({
|
|
90
|
+
api: "sqliteStatementRun",
|
|
91
|
+
data: {
|
|
92
|
+
dbKey,
|
|
93
|
+
stmtKey,
|
|
94
|
+
parameters
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function sqliteExecute(dbKey, sql, parameters) {
|
|
99
|
+
return bridge_default.callNative({
|
|
100
|
+
api: "sqliteExecute",
|
|
101
|
+
data: {
|
|
102
|
+
dbKey,
|
|
103
|
+
sql,
|
|
104
|
+
parameters
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function sqliteCreateIterator(dbKey, stmtKey, parameters) {
|
|
109
|
+
return bridge_default.callNative({
|
|
110
|
+
api: "sqliteCreateIterator",
|
|
111
|
+
data: {
|
|
112
|
+
dbKey,
|
|
113
|
+
stmtKey,
|
|
114
|
+
parameters
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function sqliteIteratorNext(dbKey, stmtKey) {
|
|
119
|
+
return bridge_default.callNative({
|
|
120
|
+
api: "sqliteIteratorNext",
|
|
121
|
+
data: {
|
|
122
|
+
dbKey,
|
|
123
|
+
stmtKey
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function sqliteIteratorRelease(dbKey, stmtKey) {
|
|
128
|
+
return bridge_default.callNative({
|
|
129
|
+
api: "sqliteIteratorRelease",
|
|
130
|
+
data: {
|
|
131
|
+
dbKey,
|
|
132
|
+
stmtKey
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export {
|
|
138
|
+
bridge_default,
|
|
139
|
+
sqliteOpenDB,
|
|
140
|
+
sqliteCloseDB,
|
|
141
|
+
sqlitePrepare,
|
|
142
|
+
sqliteStatementAll,
|
|
143
|
+
sqliteStatementRun,
|
|
144
|
+
sqliteExecute,
|
|
145
|
+
sqliteCreateIterator,
|
|
146
|
+
sqliteIteratorNext,
|
|
147
|
+
sqliteIteratorRelease
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=chunk-BHXED4CK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bridge/index.ts","../src/api/sqlite.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.isSuccess = () => true;\r\n const hashData = r.data !== null && r.data !== undefined;\r\n r.hasData = () => hashData;\r\n return r;\r\n }\r\n return {\r\n code: MResponseStatusCode.FAILED,\r\n msg: \"Unknown error\",\r\n isSuccess: () => false,\r\n hasData: () => false,\r\n };\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","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":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { MigratorProps, Kysely, Migrator } from 'kysely';
|
|
2
|
-
export * from 'kysely';
|
|
3
|
-
|
|
4
1
|
type HUDType = "success" | "error" | "progress" | "banner";
|
|
5
2
|
/**
|
|
6
3
|
* @param title works only in banner type,
|
|
@@ -194,20 +191,30 @@ declare function scanQRCode(): Promise<MResponseWithData<string | undefined | nu
|
|
|
194
191
|
declare function getDeviceInfo(): Promise<MResponseWithData<DeviceInfo>>;
|
|
195
192
|
declare function getDeviceInfoSync(): MResponseWithData<DeviceInfo>;
|
|
196
193
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
194
|
+
declare function sqliteOpenDB(path: string): Promise<MResponseWithData<{
|
|
195
|
+
dbKey: number;
|
|
196
|
+
}>>;
|
|
197
|
+
declare function sqliteCloseDB(dbKey: number): Promise<MResponse>;
|
|
198
|
+
declare function sqlitePrepare(dbKey: number, sql: string): Promise<MResponseWithData<{
|
|
199
|
+
stmtKey: number;
|
|
200
|
+
reader: boolean;
|
|
201
|
+
}>>;
|
|
202
|
+
declare function sqliteStatementAll(dbKey: number, stmtKey: number, parameters: ReadonlyArray<unknown>): Promise<MResponseWithData<unknown[]>>;
|
|
203
|
+
declare function sqliteStatementRun(dbKey: number, stmtKey: number, parameters: ReadonlyArray<unknown>): Promise<MResponseWithData<{
|
|
204
|
+
changes: number | bigint;
|
|
205
|
+
lastInsertRowid: number | bigint;
|
|
206
|
+
}>>;
|
|
207
|
+
declare function sqliteExecute(dbKey: number, sql: string, parameters: ReadonlyArray<unknown>): Promise<MResponseWithData<{
|
|
208
|
+
reader: boolean;
|
|
209
|
+
runRes?: {
|
|
210
|
+
changes: number | bigint;
|
|
211
|
+
lastInsertRowid: number | bigint;
|
|
212
|
+
};
|
|
213
|
+
entityData?: unknown[];
|
|
214
|
+
}>>;
|
|
215
|
+
declare function sqliteCreateIterator(dbKey: number, stmtKey: number, parameters: ReadonlyArray<unknown>): Promise<MResponse>;
|
|
216
|
+
declare function sqliteIteratorNext(dbKey: number, stmtKey: number): Promise<MResponseWithData<unknown | undefined>>;
|
|
217
|
+
declare function sqliteIteratorRelease(dbKey: number, stmtKey: number): Promise<MResponse>;
|
|
211
218
|
|
|
212
219
|
declare function getMemoryStorage(key: string): Promise<MResponseWithData<string>>;
|
|
213
220
|
declare function setMemoryStorage(key: string, value: string): Promise<MResponse>;
|
|
@@ -228,4 +235,4 @@ declare global {
|
|
|
228
235
|
}
|
|
229
236
|
}
|
|
230
237
|
|
|
231
|
-
export { type AlertAction, type AlertConfig, type AppInfo, type DateAndTimePickerConfig, type HUDType, type MRequest, type MRequestBase, type MRequestWithData, type MResponse, MResponseStatusCode, type MResponseWithData, type
|
|
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 };
|
package/dist/index.mjs
CHANGED
|
@@ -1,60 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
callNative(req) {
|
|
14
|
-
return _callNative.postMessage(JSON.stringify(req)).then((res) => JSON.parse(res)).then((res) => {
|
|
15
|
-
if (res.code === 0 /* SUCCESS */) {
|
|
16
|
-
res.isSuccess = () => true;
|
|
17
|
-
const hashData = res.data !== null && res.data !== void 0;
|
|
18
|
-
res.hasData = () => hashData;
|
|
19
|
-
return res;
|
|
20
|
-
} else {
|
|
21
|
-
throw new Error(res.msg ?? "Unknown error, res: ");
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
callNativeSync(req) {
|
|
26
|
-
const res = prompt(JSON.stringify(req));
|
|
27
|
-
if (res) {
|
|
28
|
-
const r = JSON.parse(res);
|
|
29
|
-
r.isSuccess = () => true;
|
|
30
|
-
const hashData = r.data !== null && r.data !== void 0;
|
|
31
|
-
r.hasData = () => hashData;
|
|
32
|
-
return r;
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
code: 7 /* FAILED */,
|
|
36
|
-
msg: "Unknown error",
|
|
37
|
-
isSuccess: () => false,
|
|
38
|
-
hasData: () => false
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
} else {
|
|
43
|
-
jsBridge = {
|
|
44
|
-
callNative() {
|
|
45
|
-
return new Promise((_, reject) => {
|
|
46
|
-
reject("Cannot find JavaScript Bridge!!!");
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
callNativeSync() {
|
|
50
|
-
return {
|
|
51
|
-
code: 7 /* FAILED */,
|
|
52
|
-
msg: "Cannot find JavaScript Bridge!!!"
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
var bridge_default = jsBridge;
|
|
1
|
+
import {
|
|
2
|
+
bridge_default,
|
|
3
|
+
sqliteCloseDB,
|
|
4
|
+
sqliteCreateIterator,
|
|
5
|
+
sqliteExecute,
|
|
6
|
+
sqliteIteratorNext,
|
|
7
|
+
sqliteIteratorRelease,
|
|
8
|
+
sqliteOpenDB,
|
|
9
|
+
sqlitePrepare,
|
|
10
|
+
sqliteStatementAll,
|
|
11
|
+
sqliteStatementRun
|
|
12
|
+
} from "./chunk-BHXED4CK.mjs";
|
|
58
13
|
|
|
59
14
|
// src/api/route.ts
|
|
60
15
|
function navigateTo(data) {
|
|
@@ -287,292 +242,6 @@ function getDeviceInfoSync() {
|
|
|
287
242
|
return bridge_default.callNativeSync({ api: "getDeviceInfoSync" });
|
|
288
243
|
}
|
|
289
244
|
|
|
290
|
-
// src/api/sqlite/index.ts
|
|
291
|
-
import { Kysely as Kysely2, Migrator } from "kysely";
|
|
292
|
-
|
|
293
|
-
// src/api/sqlite/native-api.ts
|
|
294
|
-
function sqliteOpenDB(path) {
|
|
295
|
-
return bridge_default.callNative({
|
|
296
|
-
api: "sqliteOpenDB",
|
|
297
|
-
data: {
|
|
298
|
-
path
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
function sqliteCloseDB(dbKey) {
|
|
303
|
-
return bridge_default.callNative({
|
|
304
|
-
api: "sqliteCloseDB",
|
|
305
|
-
data: {
|
|
306
|
-
dbKey
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
function sqlitePrepare(dbKey, sql) {
|
|
311
|
-
return bridge_default.callNative({
|
|
312
|
-
api: "sqlitePrepare",
|
|
313
|
-
data: {
|
|
314
|
-
dbKey,
|
|
315
|
-
sql
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
function sqliteStatementAll(dbKey, stmtKey, parameters) {
|
|
320
|
-
return bridge_default.callNative({
|
|
321
|
-
api: "sqliteStatementAll",
|
|
322
|
-
data: {
|
|
323
|
-
dbKey,
|
|
324
|
-
stmtKey,
|
|
325
|
-
parameters
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
}
|
|
329
|
-
function sqliteStatementRun(dbKey, stmtKey, parameters) {
|
|
330
|
-
return bridge_default.callNative({
|
|
331
|
-
api: "sqliteStatementRun",
|
|
332
|
-
data: {
|
|
333
|
-
dbKey,
|
|
334
|
-
stmtKey,
|
|
335
|
-
parameters
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
function sqliteCreateIterator(dbKey, stmtKey, parameters) {
|
|
340
|
-
return bridge_default.callNative({
|
|
341
|
-
api: "sqliteCreateIterator",
|
|
342
|
-
data: {
|
|
343
|
-
dbKey,
|
|
344
|
-
stmtKey,
|
|
345
|
-
parameters
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
}
|
|
349
|
-
function sqliteIteratorNext(dbKey, stmtKey) {
|
|
350
|
-
return bridge_default.callNative({
|
|
351
|
-
api: "sqliteIteratorNext",
|
|
352
|
-
data: {
|
|
353
|
-
dbKey,
|
|
354
|
-
stmtKey
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
function sqliteIteratorRelease(dbKey, stmtKey) {
|
|
359
|
-
return bridge_default.callNative({
|
|
360
|
-
api: "sqliteIteratorRelease",
|
|
361
|
-
data: {
|
|
362
|
-
dbKey,
|
|
363
|
-
stmtKey
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// src/api/sqlite/core/sqlite-query-iterator.ts
|
|
369
|
-
var MinipSQLiteQueryIterator = class {
|
|
370
|
-
dbKey;
|
|
371
|
-
stmtKey;
|
|
372
|
-
parameters;
|
|
373
|
-
created = false;
|
|
374
|
-
constructor(dbKey, stmtKey, parameters) {
|
|
375
|
-
this.dbKey = dbKey;
|
|
376
|
-
this.stmtKey = stmtKey;
|
|
377
|
-
this.parameters = parameters;
|
|
378
|
-
}
|
|
379
|
-
async next() {
|
|
380
|
-
if (!this.created) {
|
|
381
|
-
await sqliteCreateIterator(this.dbKey, this.stmtKey, this.parameters);
|
|
382
|
-
this.created = true;
|
|
383
|
-
}
|
|
384
|
-
const res = await sqliteIteratorNext(this.dbKey, this.stmtKey);
|
|
385
|
-
if (res.hasData()) return { value: res.data, done: false };
|
|
386
|
-
return { value: void 0, done: true };
|
|
387
|
-
}
|
|
388
|
-
async return() {
|
|
389
|
-
if (this.created) {
|
|
390
|
-
await sqliteIteratorRelease(this.dbKey, this.stmtKey);
|
|
391
|
-
}
|
|
392
|
-
return { value: void 0, done: true };
|
|
393
|
-
}
|
|
394
|
-
[Symbol.asyncIterator]() {
|
|
395
|
-
return this;
|
|
396
|
-
}
|
|
397
|
-
};
|
|
398
|
-
|
|
399
|
-
// src/api/sqlite/core/sqlite-database.ts
|
|
400
|
-
var MinipSqliteDatabase = class {
|
|
401
|
-
path;
|
|
402
|
-
id;
|
|
403
|
-
debug;
|
|
404
|
-
constructor(path, debug) {
|
|
405
|
-
this.path = path;
|
|
406
|
-
this.id = -1;
|
|
407
|
-
this.debug = debug;
|
|
408
|
-
}
|
|
409
|
-
async close() {
|
|
410
|
-
if (this.id === -1) return;
|
|
411
|
-
await sqliteCloseDB(this.id);
|
|
412
|
-
}
|
|
413
|
-
async prepare(sql) {
|
|
414
|
-
if (this.id === -1) {
|
|
415
|
-
const res = await sqliteOpenDB(this.path);
|
|
416
|
-
this.id = res.data.dbKey;
|
|
417
|
-
}
|
|
418
|
-
const dbKey = this.id;
|
|
419
|
-
const stmtRes = await sqlitePrepare(dbKey, sql);
|
|
420
|
-
const stmtKey = stmtRes.data.stmtKey;
|
|
421
|
-
const reader = stmtRes.data.reader;
|
|
422
|
-
return {
|
|
423
|
-
reader,
|
|
424
|
-
all(parameters) {
|
|
425
|
-
return sqliteStatementAll(dbKey, stmtKey, parameters).then(
|
|
426
|
-
(res) => res.data
|
|
427
|
-
);
|
|
428
|
-
},
|
|
429
|
-
run(parameters) {
|
|
430
|
-
return sqliteStatementRun(dbKey, stmtKey, parameters).then(
|
|
431
|
-
(res) => res.data
|
|
432
|
-
);
|
|
433
|
-
},
|
|
434
|
-
iterate(parameters) {
|
|
435
|
-
return new MinipSQLiteQueryIterator(dbKey, stmtKey, parameters);
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
}
|
|
439
|
-
};
|
|
440
|
-
|
|
441
|
-
// src/api/sqlite/core/sqlite-dialect.ts
|
|
442
|
-
import {
|
|
443
|
-
SqliteAdapter,
|
|
444
|
-
SqliteIntrospector,
|
|
445
|
-
SqliteQueryCompiler
|
|
446
|
-
} from "kysely";
|
|
447
|
-
|
|
448
|
-
// src/api/sqlite/core/sqlite-driver.ts
|
|
449
|
-
import {
|
|
450
|
-
CompiledQuery as CompiledQuery2
|
|
451
|
-
} from "kysely";
|
|
452
|
-
|
|
453
|
-
// src/api/sqlite/core/sqlite-connection.ts
|
|
454
|
-
import {
|
|
455
|
-
SelectQueryNode
|
|
456
|
-
} from "kysely";
|
|
457
|
-
var MinipSqliteConnection = class {
|
|
458
|
-
#db;
|
|
459
|
-
constructor(db) {
|
|
460
|
-
this.#db = db;
|
|
461
|
-
}
|
|
462
|
-
async executeQuery(compiledQuery) {
|
|
463
|
-
const { sql, parameters } = compiledQuery;
|
|
464
|
-
if (this.#db.debug) {
|
|
465
|
-
console.debug(sql, parameters);
|
|
466
|
-
}
|
|
467
|
-
const stmt = await this.#db.prepare(sql);
|
|
468
|
-
if (stmt.reader) {
|
|
469
|
-
return {
|
|
470
|
-
rows: await stmt.all(parameters)
|
|
471
|
-
};
|
|
472
|
-
} else {
|
|
473
|
-
const { changes, lastInsertRowid } = await stmt.run(parameters);
|
|
474
|
-
const numAffectedRows = changes !== void 0 && changes !== null ? BigInt(changes) : void 0;
|
|
475
|
-
return {
|
|
476
|
-
numUpdatedOrDeletedRows: numAffectedRows,
|
|
477
|
-
numAffectedRows,
|
|
478
|
-
insertId: lastInsertRowid !== void 0 && lastInsertRowid !== null ? BigInt(lastInsertRowid) : void 0,
|
|
479
|
-
rows: []
|
|
480
|
-
};
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
async *streamQuery(compiledQuery, _chunkSize) {
|
|
484
|
-
const { sql, parameters, query } = compiledQuery;
|
|
485
|
-
const stmt = await this.#db.prepare(sql);
|
|
486
|
-
if (SelectQueryNode.is(query)) {
|
|
487
|
-
const iter = stmt.iterate(parameters);
|
|
488
|
-
for await (const row of iter) {
|
|
489
|
-
yield {
|
|
490
|
-
rows: [row]
|
|
491
|
-
};
|
|
492
|
-
}
|
|
493
|
-
} else {
|
|
494
|
-
throw new Error(
|
|
495
|
-
"Sqlite driver only supports streaming of select queries"
|
|
496
|
-
);
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
|
|
501
|
-
// src/api/sqlite/core/sqlite-driver.ts
|
|
502
|
-
var MinipSqliteDriver = class {
|
|
503
|
-
#config;
|
|
504
|
-
#db;
|
|
505
|
-
#connection;
|
|
506
|
-
constructor(config) {
|
|
507
|
-
this.#config = config;
|
|
508
|
-
}
|
|
509
|
-
async init() {
|
|
510
|
-
this.#db = this.#config.database;
|
|
511
|
-
this.#connection = new MinipSqliteConnection(this.#db);
|
|
512
|
-
if (this.#config.onCreateConnection) {
|
|
513
|
-
await this.#config.onCreateConnection(this.#connection);
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
async acquireConnection() {
|
|
517
|
-
return this.#connection;
|
|
518
|
-
}
|
|
519
|
-
async beginTransaction(connection, settings) {
|
|
520
|
-
await connection.executeQuery(CompiledQuery2.raw("begin"));
|
|
521
|
-
}
|
|
522
|
-
async commitTransaction(connection) {
|
|
523
|
-
await connection.executeQuery(CompiledQuery2.raw("commit"));
|
|
524
|
-
}
|
|
525
|
-
async rollbackTransaction(connection) {
|
|
526
|
-
await connection.executeQuery(CompiledQuery2.raw("rollback"));
|
|
527
|
-
}
|
|
528
|
-
async releaseConnection(connection) {
|
|
529
|
-
}
|
|
530
|
-
async destroy() {
|
|
531
|
-
this.#db?.close();
|
|
532
|
-
}
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
// src/api/sqlite/core/sqlite-dialect.ts
|
|
536
|
-
var MinipSqliteDialect = class {
|
|
537
|
-
#config;
|
|
538
|
-
constructor(config) {
|
|
539
|
-
this.#config = config;
|
|
540
|
-
}
|
|
541
|
-
createDriver() {
|
|
542
|
-
return new MinipSqliteDriver(this.#config);
|
|
543
|
-
}
|
|
544
|
-
createQueryCompiler() {
|
|
545
|
-
return new SqliteQueryCompiler();
|
|
546
|
-
}
|
|
547
|
-
createAdapter() {
|
|
548
|
-
return new SqliteAdapter();
|
|
549
|
-
}
|
|
550
|
-
createIntrospector(db) {
|
|
551
|
-
return new SqliteIntrospector(db);
|
|
552
|
-
}
|
|
553
|
-
};
|
|
554
|
-
|
|
555
|
-
// src/api/sqlite/index.ts
|
|
556
|
-
function openSqliteDB(props) {
|
|
557
|
-
const dialect = new MinipSqliteDialect({
|
|
558
|
-
database: new MinipSqliteDatabase(props.path, props.debug ?? false)
|
|
559
|
-
});
|
|
560
|
-
const db = new Kysely2({
|
|
561
|
-
dialect
|
|
562
|
-
});
|
|
563
|
-
if (props.migratorProps) {
|
|
564
|
-
const migrator = new Migrator({
|
|
565
|
-
db,
|
|
566
|
-
...props.migratorProps
|
|
567
|
-
});
|
|
568
|
-
return {
|
|
569
|
-
db,
|
|
570
|
-
migrator
|
|
571
|
-
};
|
|
572
|
-
}
|
|
573
|
-
return { db };
|
|
574
|
-
}
|
|
575
|
-
|
|
576
245
|
// src/api/memory-cache.ts
|
|
577
246
|
function getMemoryStorage(key) {
|
|
578
247
|
return bridge_default.callNative({
|
|
@@ -603,11 +272,7 @@ function clearMemoryStorage() {
|
|
|
603
272
|
api: "clearMemoryStorage"
|
|
604
273
|
});
|
|
605
274
|
}
|
|
606
|
-
|
|
607
|
-
// src/index.ts
|
|
608
|
-
export * from "kysely";
|
|
609
275
|
export {
|
|
610
|
-
MResponseStatusCode,
|
|
611
276
|
clearKVStorage,
|
|
612
277
|
clearKVStorageSync,
|
|
613
278
|
clearMemoryStorage,
|
|
@@ -629,7 +294,6 @@ export {
|
|
|
629
294
|
navigateTo,
|
|
630
295
|
onPullDownRefresh,
|
|
631
296
|
openSettings,
|
|
632
|
-
openSqliteDB,
|
|
633
297
|
openWebsite,
|
|
634
298
|
previewImage,
|
|
635
299
|
previewVideo,
|
|
@@ -647,6 +311,15 @@ export {
|
|
|
647
311
|
showAppDetail,
|
|
648
312
|
showHUD,
|
|
649
313
|
showPicker,
|
|
314
|
+
sqliteCloseDB,
|
|
315
|
+
sqliteCreateIterator,
|
|
316
|
+
sqliteExecute,
|
|
317
|
+
sqliteIteratorNext,
|
|
318
|
+
sqliteIteratorRelease,
|
|
319
|
+
sqliteOpenDB,
|
|
320
|
+
sqlitePrepare,
|
|
321
|
+
sqliteStatementAll,
|
|
322
|
+
sqliteStatementRun,
|
|
650
323
|
startPullDownRefresh,
|
|
651
324
|
stopPullDownRefresh,
|
|
652
325
|
vibrate
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model/response/index.ts","../src/bridge/index.ts","../src/api/route.ts","../src/api/app.ts","../src/api/ui.ts","../src/api/kvstorage.ts","../src/api/device.ts","../src/api/sqlite/index.ts","../src/api/sqlite/native-api.ts","../src/api/sqlite/core/sqlite-query-iterator.ts","../src/api/sqlite/core/sqlite-database.ts","../src/api/sqlite/core/sqlite-dialect.ts","../src/api/sqlite/core/sqlite-driver.ts","../src/api/sqlite/core/sqlite-connection.ts","../src/api/memory-cache.ts","../src/index.ts"],"sourcesContent":["export enum MResponseStatusCode {\r\n SUCCESS = 0,\r\n FAILED = 7,\r\n}\r\n\r\nexport interface MResponse {\r\n /**\r\n * Integer, 0 for succeeded, other for failed.\r\n * Auto reject in promise when failed.\r\n */\r\n code: MResponseStatusCode;\r\n /**\r\n * Error msg or other info.\r\n */\r\n msg?: string;\r\n\r\n isSuccess(): boolean;\r\n}\r\n\r\nexport interface MResponseWithData<T> extends MResponse {\r\n data: T;\r\n hasData(): boolean;\r\n}\r\n","import { MResponseStatusCode } from \"../model\";\r\nimport { MRequest } from \"../model/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.isSuccess = () => true;\r\n const hashData = r.data !== null && r.data !== undefined;\r\n r.hasData = () => hashData;\r\n return r;\r\n }\r\n return {\r\n code: MResponseStatusCode.FAILED,\r\n msg: \"Unknown error\",\r\n isSuccess: () => false,\r\n hasData: () => false,\r\n };\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","import jsBridge from \"../bridge\";\r\nimport { MResponse } from \"../model\";\r\n\r\nexport function navigateTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function navigateBack(delta: number = 1): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateBack\",\r\n data: {\r\n delta,\r\n },\r\n });\r\n}\r\n\r\nexport function redirectTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"redirectTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function openWebsite(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"openWebsite\",\r\n data: { url },\r\n });\r\n}\r\n\r\nexport function openSettings(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"openSettings\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { AppInfo, MResponse, MResponseWithData } from \"../model\";\r\n\r\nexport function closeApp(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"closeApp\",\r\n });\r\n}\r\n\r\nexport function showAppDetail(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showAppDetail\",\r\n });\r\n}\r\n\r\nexport function installApp(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"installApp\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function getInstalledAppList(): Promise<MResponseWithData<AppInfo[]>> {\r\n return jsBridge.callNative({\r\n api: \"getInstalledAppList\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport {\r\n AlertConfig,\r\n DateAndTimePickerConfig,\r\n MResponse,\r\n MResponseWithData,\r\n MultipleColumnsPickerConfig,\r\n ShowHUDRequest,\r\n SingleColumnPickerConfig,\r\n} from \"../model\";\r\n\r\n// navigation bar\r\n\r\nexport function setNavigationBarTitle(title: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarTitle\",\r\n data: {\r\n title,\r\n },\r\n });\r\n}\r\n\r\nexport function setNavigationBarColor(config: {\r\n foregroundColor: string;\r\n backgroundColor: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarColor\",\r\n data: config,\r\n });\r\n}\r\n\r\n// pulldown refresh\r\n\r\nexport function enablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"enablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function disablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"disablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function onPullDownRefresh(callback: (e: Event) => any) {\r\n window.addEventListener(\"pulldownrefresh\", callback);\r\n}\r\n\r\nexport function startPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"startPullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function stopPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"stopPullDownRefresh\",\r\n });\r\n}\r\n\r\n// HUD\r\n\r\nexport function showHUD(req: ShowHUDRequest): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showHUD\",\r\n data: req,\r\n });\r\n}\r\n\r\nexport function hideHUD(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"hideHUD\",\r\n });\r\n}\r\n\r\n// alert\r\nexport function showAlert(\r\n config: AlertConfig,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"showAlert\",\r\n data: config,\r\n });\r\n}\r\n\r\n// media\r\nexport function previewImage(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewImage\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function previewVideo(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewVideo\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\n// picker\r\nexport function showPicker(\r\n type: \"singleColumn\",\r\n data: SingleColumnPickerConfig,\r\n): Promise<MResponseWithData<number | null | undefined>>;\r\nexport function showPicker(\r\n type: \"multipleColumns\",\r\n data: MultipleColumnsPickerConfig,\r\n): Promise<MResponseWithData<number[] | null | undefined>>;\r\nexport function showPicker(\r\n type: \"date\" | \"time\",\r\n data: DateAndTimePickerConfig,\r\n): Promise<MResponseWithData<string | null | undefined>>;\r\n\r\nexport function showPicker(\r\n type: \"singleColumn\" | \"multipleColumns\" | \"date\" | \"time\",\r\n data:\r\n | SingleColumnPickerConfig\r\n | MultipleColumnsPickerConfig\r\n | DateAndTimePickerConfig,\r\n): Promise<MResponseWithData<number | number[] | string | null | undefined>> {\r\n let res;\r\n if (\r\n (type === \"time\" || type === \"date\") &&\r\n !(data as DateAndTimePickerConfig).dateFormat\r\n ) {\r\n res = jsBridge.callNative({\r\n api: \"showPicker\",\r\n data: {\r\n type,\r\n data: {\r\n ...data,\r\n dateFormat: type === \"date\" ? \"yyyy-MM-dd\" : \"HH:mm:ss\",\r\n },\r\n },\r\n });\r\n } else {\r\n res = jsBridge.callNative({\r\n api: \"showPicker\",\r\n data: { type, data },\r\n });\r\n }\r\n return res;\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../model\";\r\n\r\n// async methods\r\n\r\nexport function getKVStorage(key: string): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorage(key: string, value: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setKVStorage\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorage(key: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"deleteKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorage(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"clearKVStorage\",\r\n });\r\n}\r\n\r\n// sync methods\r\n\r\nexport function getKVStorageSync(key: string): MResponseWithData<string> {\r\n return jsBridge.callNativeSync({\r\n api: \"getKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorageSync(key: string, value: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"setKVStorageSync\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorageSync(key: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"deleteKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorageSync(): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"clearKVStorageSync\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../model\";\r\nimport { DeviceInfo } from \"../model/deviceinfo\";\r\n\r\n/**\r\n *\r\n * @param type medium as default\r\n */\r\nexport function vibrate(\r\n type?: \"light\" | \"medium\" | \"heavy\",\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"vibrate\",\r\n data: {\r\n type: type ?? \"medium\",\r\n },\r\n });\r\n}\r\n\r\nexport function getClipboardData(): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getClipboardData\",\r\n });\r\n}\r\n\r\nexport function setClipboardData(\r\n data: string,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"setClipboardData\",\r\n data: {\r\n data,\r\n },\r\n });\r\n}\r\n\r\nexport function scanQRCode(): Promise<\r\n MResponseWithData<string | undefined | null>\r\n> {\r\n return jsBridge.callNative({ api: \"scanQRCode\" });\r\n}\r\n\r\nexport function getDeviceInfo(): Promise<MResponseWithData<DeviceInfo>> {\r\n return jsBridge.callNative({ api: \"getDeviceInfo\" });\r\n}\r\n\r\nexport function getDeviceInfoSync(): MResponseWithData<DeviceInfo> {\r\n return jsBridge.callNativeSync({ api: \"getDeviceInfoSync\" });\r\n}\r\n","import { Kysely, Migrator, MigratorProps } from \"kysely\";\r\nimport { MinipSqliteDatabase } from \"./core/sqlite-database\";\r\nimport { MinipSqliteDialect } from \"./core/sqlite-dialect\";\r\n\r\nexport interface MinipSqliteMigratorProps extends Omit<MigratorProps, \"db\"> {}\r\n\r\nexport interface OpenSqliteDBProps {\r\n path: string;\r\n debug?: boolean;\r\n migratorProps?: MinipSqliteMigratorProps;\r\n}\r\n\r\nexport function openSqliteDB<T>(props: OpenSqliteDBProps) {\r\n const dialect = new MinipSqliteDialect({\r\n database: new MinipSqliteDatabase(props.path, props.debug ?? false),\r\n });\r\n const db = new Kysely<T>({\r\n dialect,\r\n });\r\n\r\n if (props.migratorProps) {\r\n const migrator = new Migrator({\r\n db,\r\n ...props.migratorProps,\r\n });\r\n return {\r\n db,\r\n migrator,\r\n };\r\n }\r\n\r\n return { db };\r\n}\r\n","import jsBridge from \"../../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../../model\";\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","import {\r\n sqliteCreateIterator,\r\n sqliteIteratorNext,\r\n sqliteIteratorRelease,\r\n} from \"../native-api\";\r\n\r\nexport class MinipSQLiteQueryIterator\r\n implements AsyncIterableIterator<unknown>\r\n{\r\n readonly dbKey: number;\r\n readonly stmtKey: number;\r\n readonly parameters: ReadonlyArray<unknown>;\r\n created: boolean = false;\r\n\r\n constructor(\r\n dbKey: number,\r\n stmtKey: number,\r\n parameters: ReadonlyArray<unknown>,\r\n ) {\r\n this.dbKey = dbKey;\r\n this.stmtKey = stmtKey;\r\n this.parameters = parameters;\r\n }\r\n\r\n public async next(): Promise<IteratorResult<unknown>> {\r\n if (!this.created) {\r\n await sqliteCreateIterator(this.dbKey, this.stmtKey, this.parameters);\r\n this.created = true;\r\n }\r\n const res = await sqliteIteratorNext(this.dbKey, this.stmtKey);\r\n if (res.hasData()) return { value: res.data, done: false };\r\n return { value: undefined, done: true };\r\n }\r\n\r\n public async return(): Promise<IteratorResult<unknown>> {\r\n if (this.created) {\r\n await sqliteIteratorRelease(this.dbKey, this.stmtKey);\r\n }\r\n return { value: undefined, done: true };\r\n }\r\n\r\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown> {\r\n return this;\r\n }\r\n}\r\n","import { MinipSqliteStatement } from \"./sqlite-statement\";\r\nimport {\r\n sqliteCloseDB,\r\n sqliteOpenDB,\r\n sqlitePrepare,\r\n sqliteStatementAll,\r\n sqliteStatementRun,\r\n} from \"../native-api\";\r\nimport { MinipSQLiteQueryIterator } from \"./sqlite-query-iterator\";\r\n\r\nexport class MinipSqliteDatabase {\r\n path: string;\r\n id: number;\r\n debug: boolean;\r\n constructor(path: string, debug: boolean) {\r\n this.path = path;\r\n this.id = -1;\r\n this.debug = debug;\r\n }\r\n async close(): Promise<void> {\r\n if (this.id === -1) return;\r\n await sqliteCloseDB(this.id);\r\n }\r\n async prepare(sql: string): Promise<MinipSqliteStatement> {\r\n if (this.id === -1) {\r\n const res = await sqliteOpenDB(this.path);\r\n this.id = res.data.dbKey;\r\n }\r\n\r\n const dbKey = this.id;\r\n const stmtRes = await sqlitePrepare(dbKey, sql);\r\n\r\n const stmtKey = stmtRes.data.stmtKey;\r\n const reader = stmtRes.data.reader;\r\n\r\n return {\r\n reader: reader,\r\n all(parameters) {\r\n return sqliteStatementAll(dbKey, stmtKey, parameters).then(\r\n (res) => res.data,\r\n );\r\n },\r\n run(parameters) {\r\n return sqliteStatementRun(dbKey, stmtKey, parameters).then(\r\n (res) => res.data,\r\n );\r\n },\r\n iterate(parameters) {\r\n return new MinipSQLiteQueryIterator(dbKey, stmtKey, parameters);\r\n },\r\n };\r\n }\r\n}\r\n","import {\r\n DatabaseIntrospector,\r\n Dialect,\r\n DialectAdapter,\r\n Driver,\r\n Kysely,\r\n QueryCompiler,\r\n SqliteAdapter,\r\n SqliteIntrospector,\r\n SqliteQueryCompiler,\r\n} from \"kysely\";\r\nimport { MinipSqliteDialectConfig } from \"./sqlite-dialect-config\";\r\nimport { MinipSqliteDriver } from \"./sqlite-driver\";\r\n\r\nexport class MinipSqliteDialect implements Dialect {\r\n readonly #config: MinipSqliteDialectConfig;\r\n\r\n constructor(config: MinipSqliteDialectConfig) {\r\n this.#config = config;\r\n }\r\n\r\n createDriver(): Driver {\r\n return new MinipSqliteDriver(this.#config);\r\n }\r\n createQueryCompiler(): QueryCompiler {\r\n return new SqliteQueryCompiler();\r\n }\r\n createAdapter(): DialectAdapter {\r\n return new SqliteAdapter();\r\n }\r\n createIntrospector(db: Kysely<any>): DatabaseIntrospector {\r\n return new SqliteIntrospector(db);\r\n }\r\n}\r\n","import {\r\n CompiledQuery,\r\n DatabaseConnection,\r\n Driver,\r\n TransactionSettings,\r\n} from \"kysely\";\r\nimport { MinipSqliteDialectConfig } from \"./sqlite-dialect-config\";\r\nimport { MinipSqliteConnection } from \"./sqlite-connection\";\r\nimport { MinipSqliteDatabase } from \"./sqlite-database\";\r\n\r\nexport class MinipSqliteDriver implements Driver {\r\n readonly #config: MinipSqliteDialectConfig;\r\n\r\n #db?: MinipSqliteDatabase;\r\n #connection?: MinipSqliteConnection;\r\n\r\n constructor(config: MinipSqliteDialectConfig) {\r\n this.#config = config;\r\n }\r\n\r\n async init() {\r\n this.#db = this.#config.database;\r\n this.#connection = new MinipSqliteConnection(this.#db);\r\n if (this.#config.onCreateConnection) {\r\n await this.#config.onCreateConnection(this.#connection);\r\n }\r\n }\r\n async acquireConnection(): Promise<MinipSqliteConnection> {\r\n return this.#connection!;\r\n }\r\n async beginTransaction(\r\n connection: DatabaseConnection,\r\n settings: TransactionSettings,\r\n ): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"begin\"));\r\n }\r\n async commitTransaction(connection: DatabaseConnection): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"commit\"));\r\n }\r\n async rollbackTransaction(connection: DatabaseConnection): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"rollback\"));\r\n }\r\n async releaseConnection(connection: DatabaseConnection): Promise<void> {}\r\n async destroy(): Promise<void> {\r\n this.#db?.close();\r\n }\r\n}\r\n","import {\r\n CompiledQuery,\r\n DatabaseConnection,\r\n QueryResult,\r\n SelectQueryNode,\r\n} from \"kysely\";\r\nimport { MinipSqliteDatabase } from \"./sqlite-database\";\r\n\r\nexport class MinipSqliteConnection implements DatabaseConnection {\r\n readonly #db: MinipSqliteDatabase;\r\n\r\n constructor(db: MinipSqliteDatabase) {\r\n this.#db = db;\r\n }\r\n async executeQuery<R>(compiledQuery: CompiledQuery): Promise<QueryResult<R>> {\r\n const { sql, parameters } = compiledQuery;\r\n if (this.#db.debug) {\r\n console.debug(sql, parameters);\r\n }\r\n const stmt = await this.#db.prepare(sql);\r\n\r\n if (stmt.reader) {\r\n return {\r\n rows: (await stmt.all(parameters)) as R[],\r\n };\r\n } else {\r\n const { changes, lastInsertRowid } = await stmt.run(parameters);\r\n\r\n const numAffectedRows =\r\n changes !== undefined && changes !== null ? BigInt(changes) : undefined;\r\n\r\n return {\r\n numUpdatedOrDeletedRows: numAffectedRows,\r\n numAffectedRows,\r\n insertId:\r\n lastInsertRowid !== undefined && lastInsertRowid !== null\r\n ? BigInt(lastInsertRowid)\r\n : undefined,\r\n rows: [],\r\n };\r\n }\r\n }\r\n async *streamQuery<R>(\r\n compiledQuery: CompiledQuery,\r\n _chunkSize: number,\r\n ): AsyncIterableIterator<QueryResult<R>> {\r\n const { sql, parameters, query } = compiledQuery;\r\n const stmt = await this.#db.prepare(sql);\r\n if (SelectQueryNode.is(query)) {\r\n const iter = stmt.iterate(parameters) as AsyncIterableIterator<R>;\r\n for await (const row of iter) {\r\n yield {\r\n rows: [row],\r\n };\r\n }\r\n } else {\r\n throw new Error(\r\n \"Sqlite driver only supports streaming of select queries\",\r\n );\r\n }\r\n }\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../model\";\r\n\r\nexport function getMemoryStorage(\r\n key: string,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getMemoryStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setMemoryStorage(\r\n key: string,\r\n value: string,\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setMemoryStorage\",\r\n data: { key, value },\r\n });\r\n}\r\nexport function setMemoryStorageIfNotExist(\r\n key: string,\r\n value: string,\r\n): Promise<MResponseWithData<boolean>> {\r\n return jsBridge.callNative({\r\n api: \"setMemoryStorageIfNotExist\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function removeMemoryStorage(key: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"removeMemoryStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearMemoryStorage(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"clearMemoryStorage\",\r\n });\r\n}\r\n","export * from \"./api\";\r\nexport * from \"./model\";\r\nexport * from \"./bridge\";\r\n\r\nexport * from \"kysely\";\r\n"],"mappings":"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","names":["MResponseStatusCode","Kysely","CompiledQuery","CompiledQuery","Kysely"]}
|
|
1
|
+
{"version":3,"sources":["../src/api/route.ts","../src/api/app.ts","../src/api/ui.ts","../src/api/kvstorage.ts","../src/api/device.ts","../src/api/memory-cache.ts"],"sourcesContent":["import jsBridge from \"../bridge\";\r\nimport { MResponse } from \"../types\";\r\n\r\nexport function navigateTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function navigateBack(delta: number = 1): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateBack\",\r\n data: {\r\n delta,\r\n },\r\n });\r\n}\r\n\r\nexport function redirectTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"redirectTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function openWebsite(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"openWebsite\",\r\n data: { url },\r\n });\r\n}\r\n\r\nexport function openSettings(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"openSettings\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { AppInfo, MResponse, MResponseWithData } from \"../types\";\r\n\r\nexport function closeApp(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"closeApp\",\r\n });\r\n}\r\n\r\nexport function showAppDetail(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showAppDetail\",\r\n });\r\n}\r\n\r\nexport function installApp(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"installApp\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function getInstalledAppList(): Promise<MResponseWithData<AppInfo[]>> {\r\n return jsBridge.callNative({\r\n api: \"getInstalledAppList\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport {\r\n AlertConfig,\r\n DateAndTimePickerConfig,\r\n MResponse,\r\n MResponseWithData,\r\n MultipleColumnsPickerConfig,\r\n ShowHUDRequest,\r\n SingleColumnPickerConfig,\r\n} from \"../types\";\r\n\r\n// navigation bar\r\n\r\nexport function setNavigationBarTitle(title: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarTitle\",\r\n data: {\r\n title,\r\n },\r\n });\r\n}\r\n\r\nexport function setNavigationBarColor(config: {\r\n foregroundColor: string;\r\n backgroundColor: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarColor\",\r\n data: config,\r\n });\r\n}\r\n\r\n// pulldown refresh\r\n\r\nexport function enablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"enablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function disablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"disablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function onPullDownRefresh(callback: (e: Event) => any) {\r\n window.addEventListener(\"pulldownrefresh\", callback);\r\n}\r\n\r\nexport function startPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"startPullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function stopPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"stopPullDownRefresh\",\r\n });\r\n}\r\n\r\n// HUD\r\n\r\nexport function showHUD(req: ShowHUDRequest): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showHUD\",\r\n data: req,\r\n });\r\n}\r\n\r\nexport function hideHUD(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"hideHUD\",\r\n });\r\n}\r\n\r\n// alert\r\nexport function showAlert(\r\n config: AlertConfig,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"showAlert\",\r\n data: config,\r\n });\r\n}\r\n\r\n// media\r\nexport function previewImage(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewImage\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function previewVideo(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewVideo\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\n// picker\r\nexport function showPicker(\r\n type: \"singleColumn\",\r\n data: SingleColumnPickerConfig,\r\n): Promise<MResponseWithData<number | null | undefined>>;\r\nexport function showPicker(\r\n type: \"multipleColumns\",\r\n data: MultipleColumnsPickerConfig,\r\n): Promise<MResponseWithData<number[] | null | undefined>>;\r\nexport function showPicker(\r\n type: \"date\" | \"time\",\r\n data: DateAndTimePickerConfig,\r\n): Promise<MResponseWithData<string | null | undefined>>;\r\n\r\nexport function showPicker(\r\n type: \"singleColumn\" | \"multipleColumns\" | \"date\" | \"time\",\r\n data:\r\n | SingleColumnPickerConfig\r\n | MultipleColumnsPickerConfig\r\n | DateAndTimePickerConfig,\r\n): Promise<MResponseWithData<number | number[] | string | null | undefined>> {\r\n let res;\r\n if (\r\n (type === \"time\" || type === \"date\") &&\r\n !(data as DateAndTimePickerConfig).dateFormat\r\n ) {\r\n res = jsBridge.callNative({\r\n api: \"showPicker\",\r\n data: {\r\n type,\r\n data: {\r\n ...data,\r\n dateFormat: type === \"date\" ? \"yyyy-MM-dd\" : \"HH:mm:ss\",\r\n },\r\n },\r\n });\r\n } else {\r\n res = jsBridge.callNative({\r\n api: \"showPicker\",\r\n data: { type, data },\r\n });\r\n }\r\n return res;\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../types\";\r\n\r\n// async methods\r\n\r\nexport function getKVStorage(key: string): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorage(key: string, value: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setKVStorage\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorage(key: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"deleteKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorage(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"clearKVStorage\",\r\n });\r\n}\r\n\r\n// sync methods\r\n\r\nexport function getKVStorageSync(key: string): MResponseWithData<string> {\r\n return jsBridge.callNativeSync({\r\n api: \"getKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorageSync(key: string, value: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"setKVStorageSync\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorageSync(key: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"deleteKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorageSync(): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"clearKVStorageSync\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../types\";\r\nimport { DeviceInfo } from \"../types/deviceinfo\";\r\n\r\n/**\r\n *\r\n * @param type medium as default\r\n */\r\nexport function vibrate(\r\n type?: \"light\" | \"medium\" | \"heavy\",\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"vibrate\",\r\n data: {\r\n type: type ?? \"medium\",\r\n },\r\n });\r\n}\r\n\r\nexport function getClipboardData(): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getClipboardData\",\r\n });\r\n}\r\n\r\nexport function setClipboardData(\r\n data: string,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"setClipboardData\",\r\n data: {\r\n data,\r\n },\r\n });\r\n}\r\n\r\nexport function scanQRCode(): Promise<\r\n MResponseWithData<string | undefined | null>\r\n> {\r\n return jsBridge.callNative({ api: \"scanQRCode\" });\r\n}\r\n\r\nexport function getDeviceInfo(): Promise<MResponseWithData<DeviceInfo>> {\r\n return jsBridge.callNative({ api: \"getDeviceInfo\" });\r\n}\r\n\r\nexport function getDeviceInfoSync(): MResponseWithData<DeviceInfo> {\r\n return jsBridge.callNativeSync({ api: \"getDeviceInfoSync\" });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../types\";\r\n\r\nexport function getMemoryStorage(\r\n key: string,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getMemoryStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setMemoryStorage(\r\n key: string,\r\n value: string,\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setMemoryStorage\",\r\n data: { key, value },\r\n });\r\n}\r\nexport function setMemoryStorageIfNotExist(\r\n key: string,\r\n value: string,\r\n): Promise<MResponseWithData<boolean>> {\r\n return jsBridge.callNative({\r\n api: \"setMemoryStorageIfNotExist\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function removeMemoryStorage(key: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"removeMemoryStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearMemoryStorage(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"clearMemoryStorage\",\r\n });\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MigratorProps, Kysely, Migrator } from 'kysely';
|
|
2
|
+
|
|
3
|
+
interface MinipSqliteKyselyMigratorProps extends Omit<MigratorProps, "db"> {
|
|
4
|
+
}
|
|
5
|
+
interface OpenSqliteKyselyDBProps {
|
|
6
|
+
path: string;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
migratorProps?: MinipSqliteKyselyMigratorProps;
|
|
9
|
+
}
|
|
10
|
+
interface OpenSqliteKyselyDBWithMigrationProps extends OpenSqliteKyselyDBProps {
|
|
11
|
+
}
|
|
12
|
+
declare function openSqliteKyselyDB<T>(props: {
|
|
13
|
+
path: string;
|
|
14
|
+
debug?: boolean;
|
|
15
|
+
}): Kysely<T>;
|
|
16
|
+
declare function openSqliteKyselyDB<T>(props: {
|
|
17
|
+
path: string;
|
|
18
|
+
debug?: boolean;
|
|
19
|
+
migratorProps: MinipSqliteKyselyMigratorProps;
|
|
20
|
+
}): {
|
|
21
|
+
db: Kysely<T>;
|
|
22
|
+
migrator: Migrator;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { type MinipSqliteKyselyMigratorProps, type OpenSqliteKyselyDBProps, type OpenSqliteKyselyDBWithMigrationProps, openSqliteKyselyDB };
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import {
|
|
2
|
+
sqliteCloseDB,
|
|
3
|
+
sqliteCreateIterator,
|
|
4
|
+
sqliteIteratorNext,
|
|
5
|
+
sqliteIteratorRelease,
|
|
6
|
+
sqliteOpenDB,
|
|
7
|
+
sqlitePrepare,
|
|
8
|
+
sqliteStatementAll,
|
|
9
|
+
sqliteStatementRun
|
|
10
|
+
} from "../chunk-BHXED4CK.mjs";
|
|
11
|
+
|
|
12
|
+
// src/kysely/index.ts
|
|
13
|
+
import { Kysely as Kysely2, Migrator } from "kysely";
|
|
14
|
+
|
|
15
|
+
// src/kysely/core/sqlite-query-iterator.ts
|
|
16
|
+
var MinipSQLiteQueryIterator = class {
|
|
17
|
+
dbKey;
|
|
18
|
+
stmtKey;
|
|
19
|
+
parameters;
|
|
20
|
+
created = false;
|
|
21
|
+
constructor(dbKey, stmtKey, parameters) {
|
|
22
|
+
this.dbKey = dbKey;
|
|
23
|
+
this.stmtKey = stmtKey;
|
|
24
|
+
this.parameters = parameters;
|
|
25
|
+
}
|
|
26
|
+
async next() {
|
|
27
|
+
if (!this.created) {
|
|
28
|
+
await sqliteCreateIterator(this.dbKey, this.stmtKey, this.parameters);
|
|
29
|
+
this.created = true;
|
|
30
|
+
}
|
|
31
|
+
const res = await sqliteIteratorNext(this.dbKey, this.stmtKey);
|
|
32
|
+
if (res.hasData()) return { value: res.data, done: false };
|
|
33
|
+
return { value: void 0, done: true };
|
|
34
|
+
}
|
|
35
|
+
async return() {
|
|
36
|
+
if (this.created) {
|
|
37
|
+
await sqliteIteratorRelease(this.dbKey, this.stmtKey);
|
|
38
|
+
}
|
|
39
|
+
return { value: void 0, done: true };
|
|
40
|
+
}
|
|
41
|
+
[Symbol.asyncIterator]() {
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// src/kysely/core/sqlite-database.ts
|
|
47
|
+
var MinipSqliteDatabase = class {
|
|
48
|
+
path;
|
|
49
|
+
id;
|
|
50
|
+
debug;
|
|
51
|
+
constructor(path, debug) {
|
|
52
|
+
this.path = path;
|
|
53
|
+
this.id = -1;
|
|
54
|
+
this.debug = debug;
|
|
55
|
+
}
|
|
56
|
+
async close() {
|
|
57
|
+
if (this.id === -1) return;
|
|
58
|
+
await sqliteCloseDB(this.id);
|
|
59
|
+
}
|
|
60
|
+
async prepare(sql) {
|
|
61
|
+
if (this.id === -1) {
|
|
62
|
+
const res = await sqliteOpenDB(this.path);
|
|
63
|
+
this.id = res.data.dbKey;
|
|
64
|
+
}
|
|
65
|
+
const dbKey = this.id;
|
|
66
|
+
const stmtRes = await sqlitePrepare(dbKey, sql);
|
|
67
|
+
const stmtKey = stmtRes.data.stmtKey;
|
|
68
|
+
const reader = stmtRes.data.reader;
|
|
69
|
+
return {
|
|
70
|
+
reader,
|
|
71
|
+
all(parameters) {
|
|
72
|
+
return sqliteStatementAll(dbKey, stmtKey, parameters).then(
|
|
73
|
+
(res) => res.data
|
|
74
|
+
);
|
|
75
|
+
},
|
|
76
|
+
run(parameters) {
|
|
77
|
+
return sqliteStatementRun(dbKey, stmtKey, parameters).then(
|
|
78
|
+
(res) => res.data
|
|
79
|
+
);
|
|
80
|
+
},
|
|
81
|
+
iterate(parameters) {
|
|
82
|
+
return new MinipSQLiteQueryIterator(dbKey, stmtKey, parameters);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// src/kysely/core/sqlite-dialect.ts
|
|
89
|
+
import {
|
|
90
|
+
SqliteAdapter,
|
|
91
|
+
SqliteIntrospector,
|
|
92
|
+
SqliteQueryCompiler
|
|
93
|
+
} from "kysely";
|
|
94
|
+
|
|
95
|
+
// src/kysely/core/sqlite-driver.ts
|
|
96
|
+
import {
|
|
97
|
+
CompiledQuery as CompiledQuery2
|
|
98
|
+
} from "kysely";
|
|
99
|
+
|
|
100
|
+
// src/kysely/core/sqlite-connection.ts
|
|
101
|
+
import {
|
|
102
|
+
SelectQueryNode
|
|
103
|
+
} from "kysely";
|
|
104
|
+
var MinipSqliteConnection = class {
|
|
105
|
+
#db;
|
|
106
|
+
constructor(db) {
|
|
107
|
+
this.#db = db;
|
|
108
|
+
}
|
|
109
|
+
async executeQuery(compiledQuery) {
|
|
110
|
+
const { sql, parameters } = compiledQuery;
|
|
111
|
+
if (this.#db.debug) {
|
|
112
|
+
console.debug(sql, parameters);
|
|
113
|
+
}
|
|
114
|
+
const stmt = await this.#db.prepare(sql);
|
|
115
|
+
if (stmt.reader) {
|
|
116
|
+
return {
|
|
117
|
+
rows: await stmt.all(parameters)
|
|
118
|
+
};
|
|
119
|
+
} else {
|
|
120
|
+
const { changes, lastInsertRowid } = await stmt.run(parameters);
|
|
121
|
+
const numAffectedRows = changes !== void 0 && changes !== null ? BigInt(changes) : void 0;
|
|
122
|
+
return {
|
|
123
|
+
numUpdatedOrDeletedRows: numAffectedRows,
|
|
124
|
+
numAffectedRows,
|
|
125
|
+
insertId: lastInsertRowid !== void 0 && lastInsertRowid !== null ? BigInt(lastInsertRowid) : void 0,
|
|
126
|
+
rows: []
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async *streamQuery(compiledQuery, _chunkSize) {
|
|
131
|
+
const { sql, parameters, query } = compiledQuery;
|
|
132
|
+
const stmt = await this.#db.prepare(sql);
|
|
133
|
+
if (SelectQueryNode.is(query)) {
|
|
134
|
+
const iter = stmt.iterate(parameters);
|
|
135
|
+
for await (const row of iter) {
|
|
136
|
+
yield {
|
|
137
|
+
rows: [row]
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
throw new Error(
|
|
142
|
+
"Sqlite driver only supports streaming of select queries"
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
// src/kysely/core/sqlite-driver.ts
|
|
149
|
+
var MinipSqliteDriver = class {
|
|
150
|
+
#config;
|
|
151
|
+
#db;
|
|
152
|
+
#connection;
|
|
153
|
+
constructor(config) {
|
|
154
|
+
this.#config = config;
|
|
155
|
+
}
|
|
156
|
+
async init() {
|
|
157
|
+
this.#db = this.#config.database;
|
|
158
|
+
this.#connection = new MinipSqliteConnection(this.#db);
|
|
159
|
+
if (this.#config.onCreateConnection) {
|
|
160
|
+
await this.#config.onCreateConnection(this.#connection);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async acquireConnection() {
|
|
164
|
+
return this.#connection;
|
|
165
|
+
}
|
|
166
|
+
async beginTransaction(connection, settings) {
|
|
167
|
+
await connection.executeQuery(CompiledQuery2.raw("begin"));
|
|
168
|
+
}
|
|
169
|
+
async commitTransaction(connection) {
|
|
170
|
+
await connection.executeQuery(CompiledQuery2.raw("commit"));
|
|
171
|
+
}
|
|
172
|
+
async rollbackTransaction(connection) {
|
|
173
|
+
await connection.executeQuery(CompiledQuery2.raw("rollback"));
|
|
174
|
+
}
|
|
175
|
+
async releaseConnection(connection) {
|
|
176
|
+
}
|
|
177
|
+
async destroy() {
|
|
178
|
+
this.#db?.close();
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// src/kysely/core/sqlite-dialect.ts
|
|
183
|
+
var MinipSqliteDialect = class {
|
|
184
|
+
#config;
|
|
185
|
+
constructor(config) {
|
|
186
|
+
this.#config = config;
|
|
187
|
+
}
|
|
188
|
+
createDriver() {
|
|
189
|
+
return new MinipSqliteDriver(this.#config);
|
|
190
|
+
}
|
|
191
|
+
createQueryCompiler() {
|
|
192
|
+
return new SqliteQueryCompiler();
|
|
193
|
+
}
|
|
194
|
+
createAdapter() {
|
|
195
|
+
return new SqliteAdapter();
|
|
196
|
+
}
|
|
197
|
+
createIntrospector(db) {
|
|
198
|
+
return new SqliteIntrospector(db);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
// src/kysely/index.ts
|
|
203
|
+
function openSqliteKyselyDB(props) {
|
|
204
|
+
const dialect = new MinipSqliteDialect({
|
|
205
|
+
database: new MinipSqliteDatabase(props.path, props.debug ?? false)
|
|
206
|
+
});
|
|
207
|
+
const db = new Kysely2({
|
|
208
|
+
dialect
|
|
209
|
+
});
|
|
210
|
+
if (props.migratorProps) {
|
|
211
|
+
const migrator = new Migrator({
|
|
212
|
+
db,
|
|
213
|
+
...props.migratorProps
|
|
214
|
+
});
|
|
215
|
+
return {
|
|
216
|
+
db,
|
|
217
|
+
migrator
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
return db;
|
|
221
|
+
}
|
|
222
|
+
export {
|
|
223
|
+
openSqliteKyselyDB
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/kysely/index.ts","../../src/kysely/core/sqlite-query-iterator.ts","../../src/kysely/core/sqlite-database.ts","../../src/kysely/core/sqlite-dialect.ts","../../src/kysely/core/sqlite-driver.ts","../../src/kysely/core/sqlite-connection.ts"],"sourcesContent":["import { Kysely, Migrator, MigratorProps } from \"kysely\";\r\nimport { MinipSqliteDatabase } from \"./core/sqlite-database\";\r\nimport { MinipSqliteDialect } from \"./core/sqlite-dialect\";\r\n\r\nexport interface MinipSqliteKyselyMigratorProps\r\n extends Omit<MigratorProps, \"db\"> {}\r\n\r\nexport interface OpenSqliteKyselyDBProps {\r\n path: string;\r\n debug?: boolean;\r\n migratorProps?: MinipSqliteKyselyMigratorProps;\r\n}\r\n\r\nexport interface OpenSqliteKyselyDBWithMigrationProps\r\n extends OpenSqliteKyselyDBProps {}\r\n\r\nexport function openSqliteKyselyDB<T>(props: {\r\n path: string;\r\n debug?: boolean;\r\n}): Kysely<T>;\r\n\r\nexport function openSqliteKyselyDB<T>(props: {\r\n path: string;\r\n debug?: boolean;\r\n migratorProps: MinipSqliteKyselyMigratorProps;\r\n}): {\r\n db: Kysely<T>;\r\n migrator: Migrator;\r\n};\r\n\r\nexport function openSqliteKyselyDB<T>(props: OpenSqliteKyselyDBProps) {\r\n const dialect = new MinipSqliteDialect({\r\n database: new MinipSqliteDatabase(props.path, props.debug ?? false),\r\n });\r\n const db = new Kysely<T>({\r\n dialect,\r\n });\r\n\r\n if (props.migratorProps) {\r\n const migrator = new Migrator({\r\n db,\r\n ...props.migratorProps,\r\n });\r\n return {\r\n db,\r\n migrator,\r\n };\r\n }\r\n\r\n return db;\r\n}\r\n","import {\r\n sqliteCreateIterator,\r\n sqliteIteratorNext,\r\n sqliteIteratorRelease,\r\n} from \"../../api/sqlite\";\r\n\r\nexport class MinipSQLiteQueryIterator\r\n implements AsyncIterableIterator<unknown>\r\n{\r\n readonly dbKey: number;\r\n readonly stmtKey: number;\r\n readonly parameters: ReadonlyArray<unknown>;\r\n created: boolean = false;\r\n\r\n constructor(\r\n dbKey: number,\r\n stmtKey: number,\r\n parameters: ReadonlyArray<unknown>,\r\n ) {\r\n this.dbKey = dbKey;\r\n this.stmtKey = stmtKey;\r\n this.parameters = parameters;\r\n }\r\n\r\n public async next(): Promise<IteratorResult<unknown>> {\r\n if (!this.created) {\r\n await sqliteCreateIterator(this.dbKey, this.stmtKey, this.parameters);\r\n this.created = true;\r\n }\r\n const res = await sqliteIteratorNext(this.dbKey, this.stmtKey);\r\n if (res.hasData()) return { value: res.data, done: false };\r\n return { value: undefined, done: true };\r\n }\r\n\r\n public async return(): Promise<IteratorResult<unknown>> {\r\n if (this.created) {\r\n await sqliteIteratorRelease(this.dbKey, this.stmtKey);\r\n }\r\n return { value: undefined, done: true };\r\n }\r\n\r\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown> {\r\n return this;\r\n }\r\n}\r\n","import { MinipSqliteStatement } from \"./sqlite-statement\";\r\nimport {\r\n sqliteCloseDB,\r\n sqliteOpenDB,\r\n sqlitePrepare,\r\n sqliteStatementAll,\r\n sqliteStatementRun,\r\n} from \"../../api/sqlite\";\r\nimport { MinipSQLiteQueryIterator } from \"./sqlite-query-iterator\";\r\n\r\nexport class MinipSqliteDatabase {\r\n path: string;\r\n id: number;\r\n debug: boolean;\r\n constructor(path: string, debug: boolean) {\r\n this.path = path;\r\n this.id = -1;\r\n this.debug = debug;\r\n }\r\n async close(): Promise<void> {\r\n if (this.id === -1) return;\r\n await sqliteCloseDB(this.id);\r\n }\r\n async prepare(sql: string): Promise<MinipSqliteStatement> {\r\n if (this.id === -1) {\r\n const res = await sqliteOpenDB(this.path);\r\n this.id = res.data.dbKey;\r\n }\r\n\r\n const dbKey = this.id;\r\n const stmtRes = await sqlitePrepare(dbKey, sql);\r\n\r\n const stmtKey = stmtRes.data.stmtKey;\r\n const reader = stmtRes.data.reader;\r\n\r\n return {\r\n reader: reader,\r\n all(parameters) {\r\n return sqliteStatementAll(dbKey, stmtKey, parameters).then(\r\n (res) => res.data,\r\n );\r\n },\r\n run(parameters) {\r\n return sqliteStatementRun(dbKey, stmtKey, parameters).then(\r\n (res) => res.data,\r\n );\r\n },\r\n iterate(parameters) {\r\n return new MinipSQLiteQueryIterator(dbKey, stmtKey, parameters);\r\n },\r\n };\r\n }\r\n}\r\n","import {\r\n DatabaseIntrospector,\r\n Dialect,\r\n DialectAdapter,\r\n Driver,\r\n Kysely,\r\n QueryCompiler,\r\n SqliteAdapter,\r\n SqliteIntrospector,\r\n SqliteQueryCompiler,\r\n} from \"kysely\";\r\nimport { MinipSqliteDialectConfig } from \"./sqlite-dialect-config\";\r\nimport { MinipSqliteDriver } from \"./sqlite-driver\";\r\n\r\nexport class MinipSqliteDialect implements Dialect {\r\n readonly #config: MinipSqliteDialectConfig;\r\n\r\n constructor(config: MinipSqliteDialectConfig) {\r\n this.#config = config;\r\n }\r\n\r\n createDriver(): Driver {\r\n return new MinipSqliteDriver(this.#config);\r\n }\r\n createQueryCompiler(): QueryCompiler {\r\n return new SqliteQueryCompiler();\r\n }\r\n createAdapter(): DialectAdapter {\r\n return new SqliteAdapter();\r\n }\r\n createIntrospector(db: Kysely<any>): DatabaseIntrospector {\r\n return new SqliteIntrospector(db);\r\n }\r\n}\r\n","import {\r\n CompiledQuery,\r\n DatabaseConnection,\r\n Driver,\r\n TransactionSettings,\r\n} from \"kysely\";\r\nimport { MinipSqliteDialectConfig } from \"./sqlite-dialect-config\";\r\nimport { MinipSqliteConnection } from \"./sqlite-connection\";\r\nimport { MinipSqliteDatabase } from \"./sqlite-database\";\r\n\r\nexport class MinipSqliteDriver implements Driver {\r\n readonly #config: MinipSqliteDialectConfig;\r\n\r\n #db?: MinipSqliteDatabase;\r\n #connection?: MinipSqliteConnection;\r\n\r\n constructor(config: MinipSqliteDialectConfig) {\r\n this.#config = config;\r\n }\r\n\r\n async init() {\r\n this.#db = this.#config.database;\r\n this.#connection = new MinipSqliteConnection(this.#db);\r\n if (this.#config.onCreateConnection) {\r\n await this.#config.onCreateConnection(this.#connection);\r\n }\r\n }\r\n async acquireConnection(): Promise<MinipSqliteConnection> {\r\n return this.#connection!;\r\n }\r\n async beginTransaction(\r\n connection: DatabaseConnection,\r\n settings: TransactionSettings,\r\n ): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"begin\"));\r\n }\r\n async commitTransaction(connection: DatabaseConnection): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"commit\"));\r\n }\r\n async rollbackTransaction(connection: DatabaseConnection): Promise<void> {\r\n await connection.executeQuery(CompiledQuery.raw(\"rollback\"));\r\n }\r\n async releaseConnection(connection: DatabaseConnection): Promise<void> {}\r\n async destroy(): Promise<void> {\r\n this.#db?.close();\r\n }\r\n}\r\n","import {\r\n CompiledQuery,\r\n DatabaseConnection,\r\n QueryResult,\r\n SelectQueryNode,\r\n} from \"kysely\";\r\nimport { MinipSqliteDatabase } from \"./sqlite-database\";\r\n\r\nexport class MinipSqliteConnection implements DatabaseConnection {\r\n readonly #db: MinipSqliteDatabase;\r\n\r\n constructor(db: MinipSqliteDatabase) {\r\n this.#db = db;\r\n }\r\n async executeQuery<R>(compiledQuery: CompiledQuery): Promise<QueryResult<R>> {\r\n const { sql, parameters } = compiledQuery;\r\n if (this.#db.debug) {\r\n console.debug(sql, parameters);\r\n }\r\n const stmt = await this.#db.prepare(sql);\r\n\r\n if (stmt.reader) {\r\n return {\r\n rows: (await stmt.all(parameters)) as R[],\r\n };\r\n } else {\r\n const { changes, lastInsertRowid } = await stmt.run(parameters);\r\n\r\n const numAffectedRows =\r\n changes !== undefined && changes !== null ? BigInt(changes) : undefined;\r\n\r\n return {\r\n numUpdatedOrDeletedRows: numAffectedRows,\r\n numAffectedRows,\r\n insertId:\r\n lastInsertRowid !== undefined && lastInsertRowid !== null\r\n ? BigInt(lastInsertRowid)\r\n : undefined,\r\n rows: [],\r\n };\r\n }\r\n }\r\n async *streamQuery<R>(\r\n compiledQuery: CompiledQuery,\r\n _chunkSize: number,\r\n ): AsyncIterableIterator<QueryResult<R>> {\r\n const { sql, parameters, query } = compiledQuery;\r\n const stmt = await this.#db.prepare(sql);\r\n if (SelectQueryNode.is(query)) {\r\n const iter = stmt.iterate(parameters) as AsyncIterableIterator<R>;\r\n for await (const row of iter) {\r\n yield {\r\n rows: [row],\r\n };\r\n }\r\n } else {\r\n throw new Error(\r\n \"Sqlite driver only supports streaming of select queries\",\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":["Kysely","CompiledQuery","CompiledQuery","Kysely"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minip-bridge",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "minip webview bridge",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"eslint": "^9.19.0",
|
|
16
16
|
"prettier": "^3.4.2",
|
|
17
|
-
"tsup": "^8.
|
|
17
|
+
"tsup": "^8.4.0",
|
|
18
18
|
"typescript": "^5.7.3"
|
|
19
19
|
},
|
|
20
20
|
"repository": {
|
package/src/api/app.ts
CHANGED
package/src/api/device.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import jsBridge from "../bridge";
|
|
2
|
-
import { MResponse, MResponseWithData } from "../
|
|
3
|
-
import { DeviceInfo } from "../
|
|
2
|
+
import { MResponse, MResponseWithData } from "../types";
|
|
3
|
+
import { DeviceInfo } from "../types/deviceinfo";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
*
|
package/src/api/kvstorage.ts
CHANGED
package/src/api/memory-cache.ts
CHANGED
package/src/api/route.ts
CHANGED
package/src/api/ui.ts
CHANGED
package/src/bridge/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MResponseStatusCode } from "../
|
|
2
|
-
import { MRequest } from "../
|
|
1
|
+
import { MResponseStatusCode } from "../types";
|
|
2
|
+
import { MRequest } from "../types/request";
|
|
3
3
|
|
|
4
4
|
interface WebKitCallable {
|
|
5
5
|
postMessage: (data: string) => Promise<string>;
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Kysely, Migrator, MigratorProps } from "kysely";
|
|
2
|
+
import { MinipSqliteDatabase } from "./core/sqlite-database";
|
|
3
|
+
import { MinipSqliteDialect } from "./core/sqlite-dialect";
|
|
4
|
+
|
|
5
|
+
export interface MinipSqliteKyselyMigratorProps
|
|
6
|
+
extends Omit<MigratorProps, "db"> {}
|
|
7
|
+
|
|
8
|
+
export interface OpenSqliteKyselyDBProps {
|
|
9
|
+
path: string;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
migratorProps?: MinipSqliteKyselyMigratorProps;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface OpenSqliteKyselyDBWithMigrationProps
|
|
15
|
+
extends OpenSqliteKyselyDBProps {}
|
|
16
|
+
|
|
17
|
+
export function openSqliteKyselyDB<T>(props: {
|
|
18
|
+
path: string;
|
|
19
|
+
debug?: boolean;
|
|
20
|
+
}): Kysely<T>;
|
|
21
|
+
|
|
22
|
+
export function openSqliteKyselyDB<T>(props: {
|
|
23
|
+
path: string;
|
|
24
|
+
debug?: boolean;
|
|
25
|
+
migratorProps: MinipSqliteKyselyMigratorProps;
|
|
26
|
+
}): {
|
|
27
|
+
db: Kysely<T>;
|
|
28
|
+
migrator: Migrator;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export function openSqliteKyselyDB<T>(props: OpenSqliteKyselyDBProps) {
|
|
32
|
+
const dialect = new MinipSqliteDialect({
|
|
33
|
+
database: new MinipSqliteDatabase(props.path, props.debug ?? false),
|
|
34
|
+
});
|
|
35
|
+
const db = new Kysely<T>({
|
|
36
|
+
dialect,
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
if (props.migratorProps) {
|
|
40
|
+
const migrator = new Migrator({
|
|
41
|
+
db,
|
|
42
|
+
...props.migratorProps,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
db,
|
|
46
|
+
migrator,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return db;
|
|
51
|
+
}
|
package/tsup.config.ts
CHANGED
package/src/api/sqlite/index.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Kysely, Migrator, MigratorProps } from "kysely";
|
|
2
|
-
import { MinipSqliteDatabase } from "./core/sqlite-database";
|
|
3
|
-
import { MinipSqliteDialect } from "./core/sqlite-dialect";
|
|
4
|
-
|
|
5
|
-
export interface MinipSqliteMigratorProps extends Omit<MigratorProps, "db"> {}
|
|
6
|
-
|
|
7
|
-
export interface OpenSqliteDBProps {
|
|
8
|
-
path: string;
|
|
9
|
-
debug?: boolean;
|
|
10
|
-
migratorProps?: MinipSqliteMigratorProps;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function openSqliteDB<T>(props: OpenSqliteDBProps) {
|
|
14
|
-
const dialect = new MinipSqliteDialect({
|
|
15
|
-
database: new MinipSqliteDatabase(props.path, props.debug ?? false),
|
|
16
|
-
});
|
|
17
|
-
const db = new Kysely<T>({
|
|
18
|
-
dialect,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
if (props.migratorProps) {
|
|
22
|
-
const migrator = new Migrator({
|
|
23
|
-
db,
|
|
24
|
-
...props.migratorProps,
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
db,
|
|
28
|
-
migrator,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return { db };
|
|
33
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|