@simplysm/capacitor-plugin-usb-storage 13.0.0-beta.7 β 13.0.2
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 +32 -0
- package/dist/IUsbStoragePlugin.d.ts.map +1 -0
- package/dist/IUsbStoragePlugin.js.map +0 -1
- package/dist/UsbStorage.d.ts.map +1 -0
- package/dist/UsbStorage.js.map +0 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +0 -1
- package/dist/web/IndexedDbStore.d.ts.map +1 -0
- package/dist/web/IndexedDbStore.js.map +0 -1
- package/dist/web/UsbStorageWeb.d.ts.map +1 -0
- package/dist/web/UsbStorageWeb.js +1 -1
- package/dist/web/UsbStorageWeb.js.map +0 -1
- package/dist/web/VirtualUsbStorage.d.ts.map +1 -0
- package/dist/web/VirtualUsbStorage.js +1 -1
- package/dist/web/VirtualUsbStorage.js.map +0 -1
- package/package.json +3 -3
- package/dist/capacitor-plugin-usb-storage/src/IUsbStoragePlugin.d.ts.map +0 -1
- package/dist/capacitor-plugin-usb-storage/src/UsbStorage.d.ts.map +0 -1
- package/dist/capacitor-plugin-usb-storage/src/index.d.ts.map +0 -1
- package/dist/capacitor-plugin-usb-storage/src/web/IndexedDbStore.d.ts.map +0 -1
- package/dist/capacitor-plugin-usb-storage/src/web/UsbStorageWeb.d.ts.map +0 -1
- package/dist/capacitor-plugin-usb-storage/src/web/VirtualUsbStorage.d.ts.map +0 -1
- package/dist/core-common/src/common.types.d.ts +0 -74
- package/dist/core-common/src/common.types.d.ts.map +0 -1
- package/dist/core-common/src/env.d.ts +0 -6
- package/dist/core-common/src/env.d.ts.map +0 -1
- package/dist/core-common/src/errors/argument-error.d.ts +0 -25
- package/dist/core-common/src/errors/argument-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/not-implemented-error.d.ts +0 -29
- package/dist/core-common/src/errors/not-implemented-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/sd-error.d.ts +0 -27
- package/dist/core-common/src/errors/sd-error.d.ts.map +0 -1
- package/dist/core-common/src/errors/timeout-error.d.ts +0 -31
- package/dist/core-common/src/errors/timeout-error.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.d.ts +0 -15
- package/dist/core-common/src/extensions/arr-ext.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +0 -19
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +0 -1
- package/dist/core-common/src/extensions/arr-ext.types.d.ts +0 -215
- package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +0 -1
- package/dist/core-common/src/extensions/map-ext.d.ts +0 -57
- package/dist/core-common/src/extensions/map-ext.d.ts.map +0 -1
- package/dist/core-common/src/extensions/set-ext.d.ts +0 -36
- package/dist/core-common/src/extensions/set-ext.d.ts.map +0 -1
- package/dist/core-common/src/features/debounce-queue.d.ts +0 -53
- package/dist/core-common/src/features/debounce-queue.d.ts.map +0 -1
- package/dist/core-common/src/features/event-emitter.d.ts +0 -66
- package/dist/core-common/src/features/event-emitter.d.ts.map +0 -1
- package/dist/core-common/src/features/serial-queue.d.ts +0 -47
- package/dist/core-common/src/features/serial-queue.d.ts.map +0 -1
- package/dist/core-common/src/index.d.ts +0 -32
- package/dist/core-common/src/index.d.ts.map +0 -1
- package/dist/core-common/src/types/date-only.d.ts +0 -152
- package/dist/core-common/src/types/date-only.d.ts.map +0 -1
- package/dist/core-common/src/types/date-time.d.ts +0 -96
- package/dist/core-common/src/types/date-time.d.ts.map +0 -1
- package/dist/core-common/src/types/lazy-gc-map.d.ts +0 -80
- package/dist/core-common/src/types/lazy-gc-map.d.ts.map +0 -1
- package/dist/core-common/src/types/time.d.ts +0 -68
- package/dist/core-common/src/types/time.d.ts.map +0 -1
- package/dist/core-common/src/types/uuid.d.ts +0 -35
- package/dist/core-common/src/types/uuid.d.ts.map +0 -1
- package/dist/core-common/src/utils/bytes.d.ts +0 -51
- package/dist/core-common/src/utils/bytes.d.ts.map +0 -1
- package/dist/core-common/src/utils/date-format.d.ts +0 -90
- package/dist/core-common/src/utils/date-format.d.ts.map +0 -1
- package/dist/core-common/src/utils/json.d.ts +0 -34
- package/dist/core-common/src/utils/json.d.ts.map +0 -1
- package/dist/core-common/src/utils/num.d.ts +0 -60
- package/dist/core-common/src/utils/num.d.ts.map +0 -1
- package/dist/core-common/src/utils/obj.d.ts +0 -258
- package/dist/core-common/src/utils/obj.d.ts.map +0 -1
- package/dist/core-common/src/utils/path.d.ts +0 -23
- package/dist/core-common/src/utils/path.d.ts.map +0 -1
- package/dist/core-common/src/utils/primitive.d.ts +0 -18
- package/dist/core-common/src/utils/primitive.d.ts.map +0 -1
- package/dist/core-common/src/utils/str.d.ts +0 -103
- package/dist/core-common/src/utils/str.d.ts.map +0 -1
- package/dist/core-common/src/utils/template-strings.d.ts +0 -84
- package/dist/core-common/src/utils/template-strings.d.ts.map +0 -1
- package/dist/core-common/src/utils/transferable.d.ts +0 -47
- package/dist/core-common/src/utils/transferable.d.ts.map +0 -1
- package/dist/core-common/src/utils/wait.d.ts +0 -19
- package/dist/core-common/src/utils/wait.d.ts.map +0 -1
- package/dist/core-common/src/utils/xml.d.ts +0 -36
- package/dist/core-common/src/utils/xml.d.ts.map +0 -1
- package/dist/core-common/src/zip/sd-zip.d.ts +0 -80
- package/dist/core-common/src/zip/sd-zip.d.ts.map +0 -1
- /package/dist/{capacitor-plugin-usb-storage/src/IUsbStoragePlugin.d.ts β IUsbStoragePlugin.d.ts} +0 -0
- /package/dist/{capacitor-plugin-usb-storage/src/UsbStorage.d.ts β UsbStorage.d.ts} +0 -0
- /package/dist/{capacitor-plugin-usb-storage/src/index.d.ts β index.d.ts} +0 -0
- /package/dist/{capacitor-plugin-usb-storage/src/web β web}/IndexedDbStore.d.ts +0 -0
- /package/dist/{capacitor-plugin-usb-storage/src/web β web}/UsbStorageWeb.d.ts +0 -0
- /package/dist/{capacitor-plugin-usb-storage/src/web β web}/VirtualUsbStorage.d.ts +0 -0
package/README.md
CHANGED
|
@@ -41,6 +41,10 @@ npx cap sync
|
|
|
41
41
|
|
|
42
42
|
The main entry point of the plugin. All methods are static and operate asynchronously.
|
|
43
43
|
|
|
44
|
+
```typescript
|
|
45
|
+
import { UsbStorage } from "@simplysm/capacitor-plugin-usb-storage";
|
|
46
|
+
```
|
|
47
|
+
|
|
44
48
|
| Method | Return Type | Description |
|
|
45
49
|
|--------|-----------|------|
|
|
46
50
|
| `getDevices()` | `Promise<IUsbDeviceInfo[]>` | Retrieve list of connected USB devices |
|
|
@@ -49,8 +53,29 @@ The main entry point of the plugin. All methods are static and operate asynchron
|
|
|
49
53
|
| `readdir(filter, dirPath)` | `Promise<IUsbFileInfo[]>` | Read list of files/folders in directory |
|
|
50
54
|
| `read(filter, filePath)` | `Promise<Bytes \| undefined>` | Read file contents as binary |
|
|
51
55
|
|
|
56
|
+
### IUsbStoragePlugin (Raw Plugin Interface)
|
|
57
|
+
|
|
58
|
+
The low-level Capacitor plugin interface. Most users should use the `UsbStorage` static class instead.
|
|
59
|
+
This interface is useful for advanced scenarios such as creating custom plugin implementations.
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import type { IUsbStoragePlugin } from "@simplysm/capacitor-plugin-usb-storage";
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
| Method | Return Type | Description |
|
|
66
|
+
|--------|-----------|------|
|
|
67
|
+
| `getDevices()` | `Promise<{ devices: IUsbDeviceInfo[] }>` | Get connected USB devices (raw) |
|
|
68
|
+
| `requestPermission(options)` | `Promise<{ granted: boolean }>` | Request USB permission (raw) |
|
|
69
|
+
| `hasPermission(options)` | `Promise<{ granted: boolean }>` | Check USB permission (raw) |
|
|
70
|
+
| `readdir(options)` | `Promise<{ files: IUsbFileInfo[] }>` | List directory contents (raw) |
|
|
71
|
+
| `read(options)` | `Promise<{ data: string \| null }>` | Read file as Base64 string (raw) |
|
|
72
|
+
|
|
52
73
|
### Interfaces
|
|
53
74
|
|
|
75
|
+
```typescript
|
|
76
|
+
import type { IUsbDeviceInfo, IUsbDeviceFilter, IUsbFileInfo } from "@simplysm/capacitor-plugin-usb-storage";
|
|
77
|
+
```
|
|
78
|
+
|
|
54
79
|
#### IUsbDeviceInfo
|
|
55
80
|
|
|
56
81
|
Represents USB device information.
|
|
@@ -187,6 +212,13 @@ In web environments, the `UsbStorageWeb` class is automatically used, providing
|
|
|
187
212
|
|
|
188
213
|
`UsbStorageWeb` provides methods for adding virtual devices and files for development and testing purposes.
|
|
189
214
|
|
|
215
|
+
> **Note**: `UsbStorageWeb` is not re-exported from the main package entry point.
|
|
216
|
+
> Import it via a deep path as shown below.
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
import { UsbStorageWeb } from "@simplysm/capacitor-plugin-usb-storage/dist/web/UsbStorageWeb";
|
|
220
|
+
```
|
|
221
|
+
|
|
190
222
|
| Method | Description |
|
|
191
223
|
|--------|------|
|
|
192
224
|
| `addVirtualDevice(device)` | Register a virtual USB device |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IUsbStoragePlugin.d.ts","sourceRoot":"","sources":["../src/IUsbStoragePlugin.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;IACrD,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsbStorage.d.ts","sourceRoot":"","sources":["../src/UsbStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAUnD;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B;;;OAGG;WACU,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKpD;;;;OAIG;WACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1E;;;;OAIG;WACU,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;;;;OAKG;WACU,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKxF;;;;;OAKG;WACU,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;CAO1F"}
|
package/dist/UsbStorage.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/UsbStorage.ts"],
|
|
4
|
-
"sourcesContent": ["import { registerPlugin } from \"@capacitor/core\";\nimport type { IUsbDeviceFilter, IUsbDeviceInfo, IUsbFileInfo, IUsbStoragePlugin } from \"./IUsbStoragePlugin\";\nimport type { Bytes } from \"@simplysm/core-common\";\nimport { bytesFromBase64 } from \"@simplysm/core-common\";\n\nconst UsbStoragePlugin = registerPlugin<IUsbStoragePlugin>(\"UsbStorage\", {\n web: async () => {\n const { UsbStorageWeb } = await import(\"./web/UsbStorageWeb\");\n return new UsbStorageWeb();\n },\n});\n\n/**\n * USB \uC800\uC7A5\uC7A5\uCE58\uC640 \uC0C1\uD638\uC791\uC6A9\uD558\uAE30 \uC704\uD55C \uD50C\uB7EC\uADF8\uC778\n * - Android: libaums \uB77C\uC774\uBE0C\uB7EC\uB9AC\uB97C \uD1B5\uD55C USB Mass Storage \uC811\uADFC\n * - Browser: IndexedDB \uAE30\uBC18 \uAC00\uC0C1 USB \uC800\uC7A5\uC18C \uC5D0\uBBAC\uB808\uC774\uC158\n */\nexport abstract class UsbStorage {\n /**\n * \uC5F0\uACB0\uB41C USB \uC7A5\uCE58 \uBAA9\uB85D\uC744 \uAC00\uC838\uC634\n * @returns \uC5F0\uACB0\uB41C USB \uC7A5\uCE58 \uC815\uBCF4 \uBC30\uC5F4\n */\n static async getDevices(): Promise<IUsbDeviceInfo[]> {\n const result = await UsbStoragePlugin.getDevices();\n return result.devices;\n }\n\n /**\n * USB \uC7A5\uCE58 \uC811\uADFC \uAD8C\uD55C\uC744 \uC694\uCCAD\n * @param filter \uAD8C\uD55C\uC744 \uC694\uCCAD\uD560 USB \uC7A5\uCE58\uC758 vendorId\uC640 productId\n * @returns \uAD8C\uD55C \uC2B9\uC778 \uC5EC\uBD80\n */\n static async requestPermission(filter: IUsbDeviceFilter): Promise<boolean> {\n const result = await UsbStoragePlugin.requestPermission(filter);\n return result.granted;\n }\n\n /**\n * USB \uC7A5\uCE58 \uC811\uADFC \uAD8C\uD55C\uC774 \uC788\uB294\uC9C0 \uD655\uC778\n * @param filter \uAD8C\uD55C\uC744 \uD655\uC778\uD560 USB \uC7A5\uCE58\uC758 vendorId\uC640 productId\n * @returns \uAD8C\uD55C \uBCF4\uC720 \uC5EC\uBD80\n */\n static async hasPermission(filter: IUsbDeviceFilter): Promise<boolean> {\n const result = await UsbStoragePlugin.hasPermission(filter);\n return result.granted;\n }\n\n /**\n * USB \uC800\uC7A5\uC7A5\uCE58\uC758 \uB514\uB809\uD1A0\uB9AC \uB0B4\uC6A9\uC744 \uC77D\uC5B4\uC634\n * @param filter \uB300\uC0C1 USB \uC7A5\uCE58\uC758 vendorId\uC640 productId\n * @param dirPath \uC77D\uC5B4\uC62C \uB514\uB809\uD1A0\uB9AC \uACBD\uB85C\n * @returns \uB514\uB809\uD1A0\uB9AC \uB0B4 \uD30C\uC77C/\uD3F4\uB354 \uC815\uBCF4 \uBC30\uC5F4\n */\n static async readdir(filter: IUsbDeviceFilter, dirPath: string): Promise<IUsbFileInfo[]> {\n const result = await UsbStoragePlugin.readdir({ ...filter, path: dirPath });\n return result.files;\n }\n\n /**\n * USB \uC800\uC7A5\uC7A5\uCE58\uC758 \uD30C\uC77C\uC744 \uC77D\uC5B4\uC634\n * @param filter \uB300\uC0C1 USB \uC7A5\uCE58\uC758 vendorId\uC640 productId\n * @param filePath \uC77D\uC5B4\uC62C \uD30C\uC77C \uACBD\uB85C\n * @returns \uD30C\uC77C \uB370\uC774\uD130\uB97C \uB2F4\uC740 Bytes \uB610\uB294 undefined\n */\n static async read(filter: IUsbDeviceFilter, filePath: string): Promise<Bytes | undefined> {\n const result = await UsbStoragePlugin.read({ ...filter, path: filePath });\n if (result.data == null) {\n return undefined;\n }\n return bytesFromBase64(result.data);\n }\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,sBAAsB;AAG/B,SAAS,uBAAuB;AAEhC,MAAM,mBAAmB,eAAkC,cAAc;AAAA,EACvE,KAAK,YAAY;AACf,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,qBAAqB;AAC5D,WAAO,IAAI,cAAc;AAAA,EAC3B;AACF,CAAC;AAOM,MAAe,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAK/B,aAAa,aAAwC;AACnD,UAAM,SAAS,MAAM,iBAAiB,WAAW;AACjD,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,kBAAkB,QAA4C;AACzE,UAAM,SAAS,MAAM,iBAAiB,kBAAkB,MAAM;AAC9D,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,cAAc,QAA4C;AACrE,UAAM,SAAS,MAAM,iBAAiB,cAAc,MAAM;AAC1D,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa,QAAQ,QAA0B,SAA0C;AACvF,UAAM,SAAS,MAAM,iBAAiB,QAAQ,EAAE,GAAG,QAAQ,MAAM,QAAQ,CAAC;AAC1E,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,aAAa,KAAK,QAA0B,UAA8C;AACxF,UAAM,SAAS,MAAM,iBAAiB,KAAK,EAAE,GAAG,QAAQ,MAAM,SAAS,CAAC;AACxE,QAAI,OAAO,QAAQ,MAAM;AACvB,aAAO;AAAA,IACT;AACA,WAAO,gBAAgB,OAAO,IAAI;AAAA,EACpC;AACF;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./IUsbStoragePlugin";
|
|
2
|
-
export * from "./UsbStorage";
|
|
1
|
+
export * from "./IUsbStoragePlugin.js";
|
|
2
|
+
export * from "./UsbStorage.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedDbStore.d.ts","sourceRoot":"","sources":["../../src/web/IndexedDbStore.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,YAAY,EAAE;IAG1C,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAiB5B,SAAS,CAAC,CAAC,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;IAyBP,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUnE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CASjD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/IndexedDbStore.ts"],
|
|
4
|
-
"sourcesContent": ["export interface IStoreConfig {\n name: string;\n keyPath: string;\n}\n\nexport class IndexedDbStore {\n constructor(\n private readonly _dbName: string,\n private readonly _dbVersion: number,\n private readonly _storeConfigs: IStoreConfig[],\n ) {}\n\n async open(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open(this._dbName, this._dbVersion);\n req.onupgradeneeded = () => {\n const db = req.result;\n for (const config of this._storeConfigs) {\n if (!db.objectStoreNames.contains(config.name)) {\n db.createObjectStore(config.name, { keyPath: config.keyPath });\n }\n }\n };\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n req.onblocked = () => reject(new Error(\"Database blocked by another connection\"));\n });\n }\n\n async withStore<T>(\n storeName: string,\n mode: IDBTransactionMode,\n fn: (store: IDBObjectStore) => Promise<T>,\n ): Promise<T> {\n const db = await this.open();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(storeName, mode);\n const store = tx.objectStore(storeName);\n let result: T;\n Promise.resolve(fn(store))\n .then((r) => {\n result = r;\n })\n .catch((err) => {\n db.close();\n reject(err);\n });\n tx.oncomplete = () => {\n db.close();\n resolve(result);\n };\n tx.onerror = () => {\n db.close();\n reject(tx.error);\n };\n });\n }\n\n async get<T>(storeName: string, key: IDBValidKey): Promise<T | undefined> {\n return this.withStore(storeName, \"readonly\", async (store) => {\n return new Promise((resolve, reject) => {\n const req = store.get(key);\n req.onsuccess = () => resolve(req.result as T | undefined);\n req.onerror = () => reject(req.error);\n });\n });\n }\n\n async put(storeName: string, value: unknown): Promise<void> {\n return this.withStore(storeName, \"readwrite\", async (store) => {\n return new Promise((resolve, reject) => {\n const req = store.put(value);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n });\n });\n }\n\n async getAll<T>(storeName: string): Promise<T[]> {\n return this.withStore(storeName, \"readonly\", async (store) => {\n return new Promise((resolve, reject) => {\n const req = store.getAll();\n req.onsuccess = () => resolve(req.result as T[]);\n req.onerror = () => reject(req.error);\n });\n });\n }\n}\n"],
|
|
5
4
|
"mappings": "AAKO,MAAM,eAAe;AAAA,EAC1B,YACmB,SACA,YACA,eACjB;AAHiB;AACA;AACA;AAAA,EAChB;AAAA,EAEH,MAAM,OAA6B;AACjC,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,MAAM,UAAU,KAAK,KAAK,SAAS,KAAK,UAAU;AACxD,UAAI,kBAAkB,MAAM;AAC1B,cAAM,KAAK,IAAI;AACf,mBAAW,UAAU,KAAK,eAAe;AACvC,cAAI,CAAC,GAAG,iBAAiB,SAAS,OAAO,IAAI,GAAG;AAC9C,eAAG,kBAAkB,OAAO,MAAM,EAAE,SAAS,OAAO,QAAQ,CAAC;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AACA,UAAI,YAAY,MAAM,QAAQ,IAAI,MAAM;AACxC,UAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AACpC,UAAI,YAAY,MAAM,OAAO,IAAI,MAAM,wCAAwC,CAAC;AAAA,IAClF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,UACJ,WACA,MACA,IACY;AACZ,UAAM,KAAK,MAAM,KAAK,KAAK;AAC3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,KAAK,GAAG,YAAY,WAAW,IAAI;AACzC,YAAM,QAAQ,GAAG,YAAY,SAAS;AACtC,UAAI;AACJ,cAAQ,QAAQ,GAAG,KAAK,CAAC,EACtB,KAAK,CAAC,MAAM;AACX,iBAAS;AAAA,MACX,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,WAAG,MAAM;AACT,eAAO,GAAG;AAAA,MACZ,CAAC;AACH,SAAG,aAAa,MAAM;AACpB,WAAG,MAAM;AACT,gBAAQ,MAAM;AAAA,MAChB;AACA,SAAG,UAAU,MAAM;AACjB,WAAG,MAAM;AACT,eAAO,GAAG,KAAK;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,IAAO,WAAmB,KAA0C;AACxE,WAAO,KAAK,UAAU,WAAW,YAAY,OAAO,UAAU;AAC5D,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,MAAM,MAAM,IAAI,GAAG;AACzB,YAAI,YAAY,MAAM,QAAQ,IAAI,MAAuB;AACzD,YAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,IAAI,WAAmB,OAA+B;AAC1D,WAAO,KAAK,UAAU,WAAW,aAAa,OAAO,UAAU;AAC7D,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,MAAM,MAAM,IAAI,KAAK;AAC3B,YAAI,YAAY,MAAM,QAAQ;AAC9B,YAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,OAAU,WAAiC;AAC/C,WAAO,KAAK,UAAU,WAAW,YAAY,OAAO,UAAU;AAC5D,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,MAAM,MAAM,OAAO;AACzB,YAAI,YAAY,MAAM,QAAQ,IAAI,MAAa;AAC/C,YAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsbStorageWeb.d.ts","sourceRoot":"","sources":["../../src/web/UsbStorageWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9G,qBAAa,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAE9C,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAapD,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI5E,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIxE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAezF,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAc1F;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAajG;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebPlugin } from "@capacitor/core";
|
|
2
|
-
import { VirtualUsbStorage } from "./VirtualUsbStorage";
|
|
2
|
+
import { VirtualUsbStorage } from "./VirtualUsbStorage.js";
|
|
3
3
|
import { bytesToBase64 } from "@simplysm/core-common";
|
|
4
4
|
class UsbStorageWeb extends WebPlugin {
|
|
5
5
|
_storage = new VirtualUsbStorage();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/UsbStorageWeb.ts"],
|
|
4
|
-
"sourcesContent": ["import { WebPlugin } from \"@capacitor/core\";\nimport type { IUsbDeviceFilter, IUsbDeviceInfo, IUsbFileInfo, IUsbStoragePlugin } from \"../IUsbStoragePlugin\";\nimport { VirtualUsbStorage } from \"./VirtualUsbStorage\";\nimport { bytesToBase64 } from \"@simplysm/core-common\";\n\nexport class UsbStorageWeb extends WebPlugin implements IUsbStoragePlugin {\n private readonly _storage = new VirtualUsbStorage();\n\n async getDevices(): Promise<{ devices: IUsbDeviceInfo[] }> {\n const devices = await this._storage.getDevices();\n return {\n devices: devices.map((d) => ({\n deviceName: d.deviceName,\n manufacturerName: d.manufacturerName,\n productName: d.productName,\n vendorId: d.vendorId,\n productId: d.productId,\n })),\n };\n }\n\n async requestPermission(_options: IUsbDeviceFilter): Promise<{ granted: boolean }> {\n return Promise.resolve({ granted: true });\n }\n\n async hasPermission(_options: IUsbDeviceFilter): Promise<{ granted: boolean }> {\n return Promise.resolve({ granted: true });\n }\n\n async readdir(options: IUsbDeviceFilter & { path: string }): Promise<{ files: IUsbFileInfo[] }> {\n const deviceKey = `${options.vendorId}:${options.productId}`;\n const devices = await this._storage.getDevices();\n const deviceExists = devices.some((d) => d.key === deviceKey);\n if (!deviceExists) {\n return { files: [] };\n }\n const entry = await this._storage.getEntry(deviceKey, options.path);\n if (!entry || entry.kind !== \"dir\") {\n return { files: [] };\n }\n const children = await this._storage.listChildren(deviceKey, options.path);\n return { files: children };\n }\n\n async read(options: IUsbDeviceFilter & { path: string }): Promise<{ data: string | null }> {\n const deviceKey = `${options.vendorId}:${options.productId}`;\n const devices = await this._storage.getDevices();\n const deviceExists = devices.some((d) => d.key === deviceKey);\n if (!deviceExists) {\n return { data: null };\n }\n const entry = await this._storage.getEntry(deviceKey, options.path);\n if (!entry || entry.kind !== \"file\" || entry.dataBase64 == null) {\n return { data: null };\n }\n return { data: entry.dataBase64 };\n }\n\n /**\n * \uAC00\uC0C1 USB \uC7A5\uCE58\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4. (\uD14C\uC2A4\uD2B8/\uAC1C\uBC1C\uC6A9)\n */\n async addVirtualDevice(device: {\n vendorId: number;\n productId: number;\n deviceName: string;\n manufacturerName: string;\n productName: string;\n }): Promise<void> {\n await this._storage.addDevice(device);\n }\n\n /**\n * \uAC00\uC0C1 USB \uC7A5\uCE58\uC5D0 \uD30C\uC77C\uC744 \uCD94\uAC00\uD569\uB2C8\uB2E4. (\uD14C\uC2A4\uD2B8/\uAC1C\uBC1C\uC6A9)\n */\n async addVirtualFile(filter: IUsbDeviceFilter, filePath: string, data: Uint8Array): Promise<void> {\n const deviceKey = `${filter.vendorId}:${filter.productId}`;\n const idx = filePath.lastIndexOf(\"/\");\n const dir = idx === -1 ? \"/\" : filePath.substring(0, idx) || \"/\";\n await this._storage.ensureDir(deviceKey, dir);\n await this._storage.putEntry({\n deviceKey,\n path: filePath,\n kind: \"file\",\n dataBase64: bytesToBase64(data),\n });\n }\n\n /**\n * \uAC00\uC0C1 USB \uC7A5\uCE58\uC5D0 \uB514\uB809\uD1A0\uB9AC\uB97C \uCD94\uAC00\uD569\uB2C8\uB2E4. (\uD14C\uC2A4\uD2B8/\uAC1C\uBC1C\uC6A9)\n */\n async addVirtualDirectory(filter: IUsbDeviceFilter, dirPath: string): Promise<void> {\n const deviceKey = `${filter.vendorId}:${filter.productId}`;\n await this._storage.ensureDir(deviceKey, dirPath);\n }\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,iBAAiB;AAE1B,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAEvB,MAAM,sBAAsB,UAAuC;AAAA,EACvD,WAAW,IAAI,kBAAkB;AAAA,EAElD,MAAM,aAAqD;AACzD,UAAM,UAAU,MAAM,KAAK,SAAS,WAAW;AAC/C,WAAO;AAAA,MACL,SAAS,QAAQ,IAAI,CAAC,OAAO;AAAA,QAC3B,YAAY,EAAE;AAAA,QACd,kBAAkB,EAAE;AAAA,QACpB,aAAa,EAAE;AAAA,QACf,UAAU,EAAE;AAAA,QACZ,WAAW,EAAE;AAAA,MACf,EAAE;AAAA,IACJ;AAAA,EACF;AAAA,EAEA,MAAM,kBAAkB,UAA2D;AACjF,WAAO,QAAQ,QAAQ,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,UAA2D;AAC7E,WAAO,QAAQ,QAAQ,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,QAAQ,SAAkF;AAC9F,UAAM,YAAY,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS;AAC1D,UAAM,UAAU,MAAM,KAAK,SAAS,WAAW;AAC/C,UAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,SAAS;AAC5D,QAAI,CAAC,cAAc;AACjB,aAAO,EAAE,OAAO,CAAC,EAAE;AAAA,IACrB;AACA,UAAM,QAAQ,MAAM,KAAK,SAAS,SAAS,WAAW,QAAQ,IAAI;AAClE,QAAI,CAAC,SAAS,MAAM,SAAS,OAAO;AAClC,aAAO,EAAE,OAAO,CAAC,EAAE;AAAA,IACrB;AACA,UAAM,WAAW,MAAM,KAAK,SAAS,aAAa,WAAW,QAAQ,IAAI;AACzE,WAAO,EAAE,OAAO,SAAS;AAAA,EAC3B;AAAA,EAEA,MAAM,KAAK,SAAgF;AACzF,UAAM,YAAY,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS;AAC1D,UAAM,UAAU,MAAM,KAAK,SAAS,WAAW;AAC/C,UAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,SAAS;AAC5D,QAAI,CAAC,cAAc;AACjB,aAAO,EAAE,MAAM,KAAK;AAAA,IACtB;AACA,UAAM,QAAQ,MAAM,KAAK,SAAS,SAAS,WAAW,QAAQ,IAAI;AAClE,QAAI,CAAC,SAAS,MAAM,SAAS,UAAU,MAAM,cAAc,MAAM;AAC/D,aAAO,EAAE,MAAM,KAAK;AAAA,IACtB;AACA,WAAO,EAAE,MAAM,MAAM,WAAW;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAiB,QAML;AAChB,UAAM,KAAK,SAAS,UAAU,MAAM;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,eAAe,QAA0B,UAAkB,MAAiC;AAChG,UAAM,YAAY,GAAG,OAAO,QAAQ,IAAI,OAAO,SAAS;AACxD,UAAM,MAAM,SAAS,YAAY,GAAG;AACpC,UAAM,MAAM,QAAQ,KAAK,MAAM,SAAS,UAAU,GAAG,GAAG,KAAK;AAC7D,UAAM,KAAK,SAAS,UAAU,WAAW,GAAG;AAC5C,UAAM,KAAK,SAAS,SAAS;AAAA,MAC3B;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,cAAc,IAAI;AAAA,IAChC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,oBAAoB,QAA0B,SAAgC;AAClF,UAAM,YAAY,GAAG,OAAO,QAAQ,IAAI,OAAO,SAAS;AACxD,UAAM,KAAK,SAAS,UAAU,WAAW,OAAO;AAAA,EAClD;AACF;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualUsbStorage.d.ts","sourceRoot":"","sources":["../../src/web/VirtualUsbStorage.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;;IAS/B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAK5E,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAiCnG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAenE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/VirtualUsbStorage.ts"],
|
|
4
|
-
"sourcesContent": ["import { IndexedDbStore } from \"./IndexedDbStore\";\n\ninterface VirtualDevice {\n key: string;\n vendorId: number;\n productId: number;\n deviceName: string;\n manufacturerName: string;\n productName: string;\n}\n\ninterface VirtualEntry {\n fullKey: string;\n deviceKey: string;\n path: string;\n kind: \"file\" | \"dir\";\n dataBase64?: string;\n}\n\nexport class VirtualUsbStorage {\n private readonly _DEVICES_STORE = \"devices\";\n private readonly _FILES_STORE = \"files\";\n private readonly _db: IndexedDbStore;\n\n constructor() {\n this._db = new IndexedDbStore(\"capacitor_usb_virtual_storage\", 1, [\n { name: this._DEVICES_STORE, keyPath: \"key\" },\n { name: this._FILES_STORE, keyPath: \"fullKey\" },\n ]);\n }\n\n async addDevice(device: Omit<VirtualDevice, \"key\">): Promise<void> {\n const key = `${device.vendorId}:${device.productId}`;\n const entry: VirtualDevice = { ...device, key };\n return this._db.put(this._DEVICES_STORE, entry);\n }\n\n async getDevices(): Promise<VirtualDevice[]> {\n return this._db.getAll<VirtualDevice>(this._DEVICES_STORE);\n }\n\n async getEntry(deviceKey: string, path: string): Promise<VirtualEntry | undefined> {\n const fullKey = `${deviceKey}:${path}`;\n return this._db.get<VirtualEntry>(this._FILES_STORE, fullKey);\n }\n\n async putEntry(entry: Omit<VirtualEntry, \"fullKey\">): Promise<void> {\n const fullKey = `${entry.deviceKey}:${entry.path}`;\n const fullEntry: VirtualEntry = { ...entry, fullKey };\n return this._db.put(this._FILES_STORE, fullEntry);\n }\n\n async listChildren(deviceKey: string, dirPath: string): Promise<{ name: string; isDirectory: boolean }[]> {\n const prefix = `${deviceKey}:${dirPath === \"/\" ? \"/\" : dirPath + \"/\"}`;\n return this._db.withStore(this._FILES_STORE, \"readonly\", async (store) => {\n return new Promise((resolve, reject) => {\n const req = store.openCursor();\n const map = new Map<string, boolean>();\n req.onsuccess = () => {\n const cursor = req.result;\n if (!cursor) {\n resolve(Array.from(map.entries()).map(([name, isDirectory]) => ({ name, isDirectory })));\n return;\n }\n const key = String(cursor.key);\n if (key.startsWith(prefix)) {\n const rest = key.slice(prefix.length);\n if (rest) {\n const segments = rest.split(\"/\").filter(Boolean);\n if (segments.length > 0) {\n const firstName = segments[0];\n if (!map.has(firstName)) {\n const isDir = segments.length > 1 || (cursor.value as VirtualEntry).kind === \"dir\";\n map.set(firstName, isDir);\n }\n }\n }\n }\n cursor.continue();\n };\n req.onerror = () => reject(req.error);\n });\n });\n }\n\n async ensureDir(deviceKey: string, dirPath: string): Promise<void> {\n if (dirPath === \"/\") {\n await this.putEntry({ deviceKey, path: \"/\", kind: \"dir\" });\n return;\n }\n const segments = dirPath.split(\"/\").filter(Boolean);\n let acc = \"\";\n for (const seg of segments) {\n acc += \"/\" + seg;\n const existing = await this.getEntry(deviceKey, acc);\n if (!existing) {\n await this.putEntry({ deviceKey, path: acc, kind: \"dir\" });\n }\n }\n }\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,sBAAsB;AAmBxB,MAAM,kBAAkB;AAAA,EACZ,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf;AAAA,EAEjB,cAAc;AACZ,SAAK,MAAM,IAAI,eAAe,iCAAiC,GAAG;AAAA,MAChE,EAAE,MAAM,KAAK,gBAAgB,SAAS,MAAM;AAAA,MAC5C,EAAE,MAAM,KAAK,cAAc,SAAS,UAAU;AAAA,IAChD,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,UAAU,QAAmD;AACjE,UAAM,MAAM,GAAG,OAAO,QAAQ,IAAI,OAAO,SAAS;AAClD,UAAM,QAAuB,EAAE,GAAG,QAAQ,IAAI;AAC9C,WAAO,KAAK,IAAI,IAAI,KAAK,gBAAgB,KAAK;AAAA,EAChD;AAAA,EAEA,MAAM,aAAuC;AAC3C,WAAO,KAAK,IAAI,OAAsB,KAAK,cAAc;AAAA,EAC3D;AAAA,EAEA,MAAM,SAAS,WAAmB,MAAiD;AACjF,UAAM,UAAU,GAAG,SAAS,IAAI,IAAI;AACpC,WAAO,KAAK,IAAI,IAAkB,KAAK,cAAc,OAAO;AAAA,EAC9D;AAAA,EAEA,MAAM,SAAS,OAAqD;AAClE,UAAM,UAAU,GAAG,MAAM,SAAS,IAAI,MAAM,IAAI;AAChD,UAAM,YAA0B,EAAE,GAAG,OAAO,QAAQ;AACpD,WAAO,KAAK,IAAI,IAAI,KAAK,cAAc,SAAS;AAAA,EAClD;AAAA,EAEA,MAAM,aAAa,WAAmB,SAAoE;AACxG,UAAM,SAAS,GAAG,SAAS,IAAI,YAAY,MAAM,MAAM,UAAU,GAAG;AACpE,WAAO,KAAK,IAAI,UAAU,KAAK,cAAc,YAAY,OAAO,UAAU;AACxE,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,MAAM,MAAM,WAAW;AAC7B,cAAM,MAAM,oBAAI,IAAqB;AACrC,YAAI,YAAY,MAAM;AACpB,gBAAM,SAAS,IAAI;AACnB,cAAI,CAAC,QAAQ;AACX,oBAAQ,MAAM,KAAK,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,WAAW,OAAO,EAAE,MAAM,YAAY,EAAE,CAAC;AACvF;AAAA,UACF;AACA,gBAAM,MAAM,OAAO,OAAO,GAAG;AAC7B,cAAI,IAAI,WAAW,MAAM,GAAG;AAC1B,kBAAM,OAAO,IAAI,MAAM,OAAO,MAAM;AACpC,gBAAI,MAAM;AACR,oBAAM,WAAW,KAAK,MAAM,GAAG,EAAE,OAAO,OAAO;AAC/C,kBAAI,SAAS,SAAS,GAAG;AACvB,sBAAM,YAAY,SAAS,CAAC;AAC5B,oBAAI,CAAC,IAAI,IAAI,SAAS,GAAG;AACvB,wBAAM,QAAQ,SAAS,SAAS,KAAM,OAAO,MAAuB,SAAS;AAC7E,sBAAI,IAAI,WAAW,KAAK;AAAA,gBAC1B;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,iBAAO,SAAS;AAAA,QAClB;AACA,YAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,UAAU,WAAmB,SAAgC;AACjE,QAAI,YAAY,KAAK;AACnB,YAAM,KAAK,SAAS,EAAE,WAAW,MAAM,KAAK,MAAM,MAAM,CAAC;AACzD;AAAA,IACF;AACA,UAAM,WAAW,QAAQ,MAAM,GAAG,EAAE,OAAO,OAAO;AAClD,QAAI,MAAM;AACV,eAAW,OAAO,UAAU;AAC1B,aAAO,MAAM;AACb,YAAM,WAAW,MAAM,KAAK,SAAS,WAAW,GAAG;AACnD,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,SAAS,EAAE,WAAW,MAAM,KAAK,MAAM,MAAM,CAAC;AAAA,MAC3D;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/capacitor-plugin-usb-storage",
|
|
3
|
-
"version": "13.0.
|
|
3
|
+
"version": "13.0.2",
|
|
4
4
|
"description": "μ¬νλ¦¬μ¦ ν¨ν€μ§ - Capacitor USB Storage Plugin",
|
|
5
5
|
"author": "κΉμλ",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@simplysm/core-common": "
|
|
25
|
+
"@simplysm/core-common": "13.0.2"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"@capacitor/core": "^7.4.4"
|
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@capacitor/core": "^7.4.5"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IUsbStoragePlugin.d.ts","sourceRoot":"","sources":["../../../src/IUsbStoragePlugin.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;IACrD,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5E,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACtF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UsbStorage.d.ts","sourceRoot":"","sources":["../../../src/UsbStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAUnD;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B;;;OAGG;WACU,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKpD;;;;OAIG;WACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1E;;;;OAIG;WACU,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;;;;OAKG;WACU,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKxF;;;;;OAKG;WACU,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;CAO1F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbStore.d.ts","sourceRoot":"","sources":["../../../../src/web/IndexedDbStore.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,YAAY,EAAE;IAG1C,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAiB5B,SAAS,CAAC,CAAC,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;IAyBP,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUnE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrD,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CASjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UsbStorageWeb.d.ts","sourceRoot":"","sources":["../../../../src/web/UsbStorageWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9G,qBAAa,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAE9C,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAapD,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI5E,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIxE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAezF,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAc1F;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjB;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAajG;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualUsbStorage.d.ts","sourceRoot":"","sources":["../../../../src/web/VirtualUsbStorage.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;;IAS/B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAK5E,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAiCnG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAenE"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "./types/date-time";
|
|
2
|
-
import { DateOnly } from "./types/date-only";
|
|
3
|
-
import { Time } from "./types/time";
|
|
4
|
-
import { Uuid } from "./types/uuid";
|
|
5
|
-
/**
|
|
6
|
-
* Buffer λμ μ¬μ©νλ λ°μ΄λ리 νμ
|
|
7
|
-
*/
|
|
8
|
-
export type Bytes = Uint8Array;
|
|
9
|
-
/**
|
|
10
|
-
* Primitive νμ
λ§€ν
|
|
11
|
-
* orm-commonκ³Ό 곡μ
|
|
12
|
-
*/
|
|
13
|
-
export type PrimitiveTypeMap = {
|
|
14
|
-
string: string;
|
|
15
|
-
number: number;
|
|
16
|
-
boolean: boolean;
|
|
17
|
-
DateTime: DateTime;
|
|
18
|
-
DateOnly: DateOnly;
|
|
19
|
-
Time: Time;
|
|
20
|
-
Uuid: Uuid;
|
|
21
|
-
Bytes: Bytes;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Primitive νμ
λ¬Έμμ΄ ν€
|
|
25
|
-
*/
|
|
26
|
-
export type PrimitiveTypeStr = keyof PrimitiveTypeMap;
|
|
27
|
-
/**
|
|
28
|
-
* Primitive νμ
μ λμ¨
|
|
29
|
-
*/
|
|
30
|
-
export type PrimitiveType = PrimitiveTypeMap[PrimitiveTypeStr] | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* κΉμ Partial νμ
|
|
33
|
-
*
|
|
34
|
-
* κ°μ²΄μ λͺ¨λ μμ±μ μ¬κ·μ μΌλ‘ μ νμ (optional)μΌλ‘ λ§λλλ€.
|
|
35
|
-
* Primitive νμ
(string, number, boolean λ±)μ κ·Έλλ‘ μ μ§νκ³ ,
|
|
36
|
-
* κ°μ²΄/λ°°μ΄ νμ
λ§ μ¬κ·μ μΌλ‘ Partialμ μ μ©ν©λλ€.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* interface User {
|
|
41
|
-
* name: string;
|
|
42
|
-
* profile: {
|
|
43
|
-
* age: number;
|
|
44
|
-
* address: { city: string };
|
|
45
|
-
* };
|
|
46
|
-
* }
|
|
47
|
-
*
|
|
48
|
-
* // λͺ¨λ κΉμ΄μ μμ±μ΄ μ νμ μ΄ λ¨
|
|
49
|
-
* const partial: DeepPartial<User> = {
|
|
50
|
-
* profile: { address: {} }
|
|
51
|
-
* };
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
export type DeepPartial<T> = Partial<{
|
|
55
|
-
[K in keyof T]: T[K] extends PrimitiveType ? T[K] : DeepPartial<T[K]>;
|
|
56
|
-
}>;
|
|
57
|
-
/**
|
|
58
|
-
* μμ±μ νμ
|
|
59
|
-
*
|
|
60
|
-
* ν΄λμ€ μμ±μλ₯Ό νμ
μΌλ‘ ννν λ μ¬μ©ν©λλ€.
|
|
61
|
-
* μ£Όλ‘ μμ‘΄μ± μ£Όμ
, ν©ν 리 ν¨ν΄, instanceof μ²΄ν¬ λ±μμ νμ©λ©λλ€.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* function create<T>(ctor: Type<T>): T {
|
|
65
|
-
* return new ctor();
|
|
66
|
-
* }
|
|
67
|
-
*
|
|
68
|
-
* class MyClass { name = "test"; }
|
|
69
|
-
* const instance = create(MyClass); // MyClass μΈμ€ν΄μ€
|
|
70
|
-
*/
|
|
71
|
-
export interface Type<T> extends Function {
|
|
72
|
-
new (...args: unknown[]): T;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=common.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../core-common/src/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAM/B;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;AAM3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC;KAClC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC,CAAE,SAAQ,QAAQ;IACvC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;CAC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../core-common/src/env.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,EAAE;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAKxB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { SdError } from "./sd-error";
|
|
2
|
-
/**
|
|
3
|
-
* μΈμ μ€λ₯
|
|
4
|
-
*
|
|
5
|
-
* μλͺ»λ μΈμλ₯Ό λ°μμ λ λ°μμν€λ μλ¬μ΄λ€.
|
|
6
|
-
* μΈμ κ°μ²΄λ₯Ό YAML νμμΌλ‘ λ©μμ§μ ν¬ν¨νμ¬ λλ²κΉ
μ μ©μ΄νκ² νλ€.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // μΈμ κ°μ²΄λ§ μ λ¬
|
|
10
|
-
* throw new ArgumentError({ userId: 123, name: null });
|
|
11
|
-
* // κ²°κ³Ό λ©μμ§: "μΈμκ° μλͺ»λμμ΅λλ€.\n\nuserId: 123\nname: null"
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // 컀μ€ν
λ©μμ§μ μΈμ κ°μ²΄ μ λ¬
|
|
15
|
-
* throw new ArgumentError("μ ν¨νμ§ μμ μ¬μ©μ", { userId: 123 });
|
|
16
|
-
* // κ²°κ³Ό λ©μμ§: "μ ν¨νμ§ μμ μ¬μ©μ\n\nuserId: 123"
|
|
17
|
-
*/
|
|
18
|
-
export declare class ArgumentError extends SdError {
|
|
19
|
-
/** κΈ°λ³Έ λ©μμ§("μΈμκ° μλͺ»λμμ΅λλ€.")μ ν¨κ» μΈμ κ°μ²΄λ₯Ό YAML νμμΌλ‘ μΆλ ₯ */
|
|
20
|
-
constructor(argObj: Record<string, unknown>);
|
|
21
|
-
/** 컀μ€ν
λ©μμ§μ ν¨κ» μΈμ κ°μ²΄λ₯Ό YAML νμμΌλ‘ μΆλ ₯ */
|
|
22
|
-
constructor(message: string, argObj: Record<string, unknown>);
|
|
23
|
-
constructor(arg1: Record<string, unknown> | string, arg2?: Record<string, unknown>);
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=argument-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"argument-error.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/errors/argument-error.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,qDAAqD;gBACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3C,sCAAsC;gBAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYnF"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { SdError } from "./sd-error";
|
|
2
|
-
/**
|
|
3
|
-
* 미ꡬν μ€λ₯
|
|
4
|
-
*
|
|
5
|
-
* μμ§ κ΅¬νλμ§ μμ κΈ°λ₯μ νΈμΆνμ λ λ°μμν€λ μλ¬μ΄λ€.
|
|
6
|
-
* μΆμ λ©μλ μ€ν
, ν₯ν ꡬν μμ μΈ λΆκΈ° λ±μ μ¬μ©νλ€.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // μΆμ λ©μλ ꡬν μ
|
|
10
|
-
* class BaseService {
|
|
11
|
-
* process(): void {
|
|
12
|
-
* throw new NotImplementedError("μλΈν΄λμ€μμ ꡬν νμ");
|
|
13
|
-
* }
|
|
14
|
-
* }
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* // ν₯ν ꡬν μμ λΆκΈ°
|
|
18
|
-
* switch (type) {
|
|
19
|
-
* case "A": return handleA();
|
|
20
|
-
* case "B": throw new NotImplementedError(`νμ
${type} μ²λ¦¬`);
|
|
21
|
-
* }
|
|
22
|
-
*/
|
|
23
|
-
export declare class NotImplementedError extends SdError {
|
|
24
|
-
/**
|
|
25
|
-
* @param message μΆκ° μ€λͺ
λ©μμ§
|
|
26
|
-
*/
|
|
27
|
-
constructor(message?: string);
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=not-implemented-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-implemented-error.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/errors/not-implemented-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAI7B"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* μ€λ₯μ Tree ꡬ쑰 ꡬμ±μ΄ κ°λ₯ν μ€λ₯ ν΄λμ€
|
|
3
|
-
* ES2024 cause μμ± νμ©
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* // μμΈ μλ¬λ₯Ό κ°μΈμ μμ±
|
|
7
|
-
* try {
|
|
8
|
-
* await fetch(url);
|
|
9
|
-
* } catch (err) {
|
|
10
|
-
* throw new SdError(err, "API νΈμΆ μ€ν¨", "μ¬μ©μ λ‘λ μ€ν¨");
|
|
11
|
-
* }
|
|
12
|
-
* // κ²°κ³Ό λ©μμ§: "μ¬μ©μ λ‘λ μ€ν¨ => API νΈμΆ μ€ν¨ => μλ³Έ μλ¬ λ©μμ§"
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // λ©μμ§λ§μΌλ‘ μμ±
|
|
16
|
-
* throw new SdError("μλͺ»λ μν", "μ²λ¦¬ λΆκ°");
|
|
17
|
-
* // κ²°κ³Ό λ©μμ§: "μ²λ¦¬ λΆκ° => μλͺ»λ μν"
|
|
18
|
-
*/
|
|
19
|
-
export declare class SdError extends Error {
|
|
20
|
-
cause?: Error;
|
|
21
|
-
/** μμΈ μλ¬λ₯Ό κ°μΈμ μμ±. λ©μμ§λ μμμΌλ‘ μ°κ²°λ¨ (μμ λ©μμ§ => νμ λ©μμ§ => μμΈ λ©μμ§) */
|
|
22
|
-
constructor(cause: Error, ...messages: string[]);
|
|
23
|
-
/** λ©μμ§λ§μΌλ‘ μμ±. λ©μμ§λ μμμΌλ‘ μ°κ²°λ¨ (μμ λ©μμ§ => νμ λ©μμ§) */
|
|
24
|
-
constructor(...messages: string[]);
|
|
25
|
-
constructor(arg1?: unknown, ...messages: string[]);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=sd-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sd-error.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/errors/sd-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,OAAQ,SAAQ,KAAK;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB,gEAAgE;gBACpD,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;IAC/C,kDAAkD;gBACtC,GAAG,QAAQ,EAAE,MAAM,EAAE;gBACrB,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE;CA2BlD"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { SdError } from "./sd-error";
|
|
2
|
-
/**
|
|
3
|
-
* νμμμ μ€λ₯
|
|
4
|
-
*
|
|
5
|
-
* λκΈ° μκ°μ΄ μ΄κ³Όλμμ λ λ°μνλ μλ¬μ΄λ€.
|
|
6
|
-
* Wait.until() λ±μ λΉλκΈ° λκΈ° ν¨μμμ μ΅λ μλ νμλ₯Ό μ΄κ³Όνλ©΄ μλμΌλ‘ λ°μνλ€.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // Wait.untilμμ μλ λ°μ
|
|
10
|
-
* try {
|
|
11
|
-
* await Wait.until(() => isReady, 100, 50); // 100ms κ°κ²©, μ΅λ 50ν
|
|
12
|
-
* } catch (err) {
|
|
13
|
-
* if (err instanceof TimeoutError) {
|
|
14
|
-
* console.log("μκ° μ΄κ³Ό");
|
|
15
|
-
* }
|
|
16
|
-
* }
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* // μ§μ λ°μ
|
|
20
|
-
* if (elapsed > maxTime) {
|
|
21
|
-
* throw new TimeoutError(undefined, "API μλ΅ λκΈ° μ΄κ³Ό");
|
|
22
|
-
* }
|
|
23
|
-
*/
|
|
24
|
-
export declare class TimeoutError extends SdError {
|
|
25
|
-
/**
|
|
26
|
-
* @param count μλ νμ
|
|
27
|
-
* @param message μΆκ° λ©μμ§
|
|
28
|
-
*/
|
|
29
|
-
constructor(count?: number, message?: string);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=timeout-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timeout-error.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC;;;OAGG;gBACS,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAM7C"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Array νμ₯ λ©μλ
|
|
3
|
-
*
|
|
4
|
-
* @remarks κ° λ©μλμ TSDocμ νμ
μ μ νμΌ(arr-ext.types.ts) μ°Έμ‘°
|
|
5
|
-
*/
|
|
6
|
-
import "./map-ext";
|
|
7
|
-
import type { ReadonlyArrayExt, MutableArrayExt } from "./arr-ext.types";
|
|
8
|
-
declare global {
|
|
9
|
-
interface ReadonlyArray<T> extends ReadonlyArrayExt<T> {
|
|
10
|
-
}
|
|
11
|
-
interface Array<T> extends ReadonlyArrayExt<T>, MutableArrayExt<T> {
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export type { ArrayDiffsResult, ArrayDiffs2Result, TreeArray, ComparableType } from "./arr-ext.types";
|
|
15
|
-
//# sourceMappingURL=arr-ext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arr-ext.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/extensions/arr-ext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,WAAW,CAAC;AAUnB,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AA2uBzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,aAAa,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;KAAG;IACzD,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;KAAG;CACtE;AAID,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Array νμ₯ ν¬νΌ ν¨μ
|
|
3
|
-
*/
|
|
4
|
-
import type { ComparableType } from "./arr-ext.types";
|
|
5
|
-
/**
|
|
6
|
-
* DateTime, DateOnly, Timeμ λΉκ΅ κ°λ₯ν primitive κ°μΌλ‘ λ³ν
|
|
7
|
-
*/
|
|
8
|
-
export declare function toComparable(value: ComparableType): string | number | boolean | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* μ λ ¬μ μν λΉκ΅ ν¨μ
|
|
11
|
-
*
|
|
12
|
-
* @param pp λΉκ΅ λμ 1
|
|
13
|
-
* @param pn λΉκ΅ λμ 2
|
|
14
|
-
* @param desc true: λ΄λ¦Όμ°¨μ, false: μ€λ¦μ°¨μ
|
|
15
|
-
* @returns μμ: ppκ° μ, 0: κ°μ, μμ: pnμ΄ μ
|
|
16
|
-
* @note null/undefined κ°μ μ€λ¦μ°¨μ μ μμΌλ‘, λ΄λ¦Όμ°¨μ μ λ€λ‘ μ λ ¬λ¨
|
|
17
|
-
*/
|
|
18
|
-
export declare function compareForOrder(pp: ComparableType, pn: ComparableType, desc: boolean): number;
|
|
19
|
-
//# sourceMappingURL=arr-ext.helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arr-ext.helpers.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/extensions/arr-ext.helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAKzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAuB7F"}
|