@simplysm/capacitor-plugin-usb-storage 13.0.100 → 14.0.4

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/index.js.map CHANGED
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "mappings": "AACA,cAAc;AACd,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
@@ -22,7 +22,7 @@ export declare class UsbStorageWeb extends WebPlugin implements UsbStoragePlugin
22
22
  data: string | null;
23
23
  }>;
24
24
  /**
25
- * Add a virtual USB device. (For testing/development)
25
+ * 가상 USB 장치를 추가합니다. (테스트/개발용)
26
26
  */
27
27
  addVirtualDevice(device: {
28
28
  vendorId: number;
@@ -32,11 +32,11 @@ export declare class UsbStorageWeb extends WebPlugin implements UsbStoragePlugin
32
32
  productName: string;
33
33
  }): Promise<void>;
34
34
  /**
35
- * Add a file to a virtual USB device. (For testing/development)
35
+ * 가상 USB 장치에 파일을 추가합니다. (테스트/개발용)
36
36
  */
37
37
  addVirtualFile(filter: UsbDeviceFilter, filePath: string, data: Uint8Array): Promise<void>;
38
38
  /**
39
- * Add a directory to a virtual USB device. (For testing/development)
39
+ * 가상 USB 장치에 디렉토리를 추가합니다. (테스트/개발용)
40
40
  */
41
41
  addVirtualDirectory(filter: UsbDeviceFilter, dirPath: string): Promise<void>;
42
42
  }
@@ -1,83 +1,80 @@
1
1
  import { WebPlugin } from "@capacitor/core";
2
2
  import { VirtualUsbStorage } from "./VirtualUsbStorage.js";
3
3
  import { bytes } from "@simplysm/core-common";
4
- class UsbStorageWeb extends WebPlugin {
5
- _storage = new VirtualUsbStorage();
6
- async getDevices() {
7
- const devices = await this._storage.getDevices();
8
- return {
9
- devices: devices.map((d) => ({
10
- deviceName: d.deviceName,
11
- manufacturerName: d.manufacturerName,
12
- productName: d.productName,
13
- vendorId: d.vendorId,
14
- productId: d.productId
15
- }))
16
- };
17
- }
18
- async requestPermissions(_options) {
19
- return Promise.resolve({ granted: true });
20
- }
21
- async checkPermissions(_options) {
22
- return Promise.resolve({ granted: true });
23
- }
24
- async readdir(options) {
25
- const deviceKey = `${options.vendorId}:${options.productId}`;
26
- const devices = await this._storage.getDevices();
27
- const deviceExists = devices.some((d) => d.key === deviceKey);
28
- if (!deviceExists) {
29
- return { files: [] };
4
+ export class UsbStorageWeb extends WebPlugin {
5
+ _storage = new VirtualUsbStorage();
6
+ async getDevices() {
7
+ const devices = await this._storage.getDevices();
8
+ return {
9
+ devices: devices.map((d) => ({
10
+ deviceName: d.deviceName,
11
+ manufacturerName: d.manufacturerName,
12
+ productName: d.productName,
13
+ vendorId: d.vendorId,
14
+ productId: d.productId,
15
+ })),
16
+ };
30
17
  }
31
- const entry = await this._storage.getEntry(deviceKey, options.path);
32
- if (!entry || entry.kind !== "dir") {
33
- return { files: [] };
18
+ async requestPermissions(_options) {
19
+ return Promise.resolve({ granted: true });
34
20
  }
35
- const children = await this._storage.listChildren(deviceKey, options.path);
36
- return { files: children };
37
- }
38
- async readFile(options) {
39
- const deviceKey = `${options.vendorId}:${options.productId}`;
40
- const devices = await this._storage.getDevices();
41
- const deviceExists = devices.some((d) => d.key === deviceKey);
42
- if (!deviceExists) {
43
- return { data: null };
21
+ async checkPermissions(_options) {
22
+ return Promise.resolve({ granted: true });
44
23
  }
45
- const entry = await this._storage.getEntry(deviceKey, options.path);
46
- if (!entry || entry.kind !== "file" || entry.dataBase64 == null) {
47
- return { data: null };
24
+ async readdir(options) {
25
+ const deviceKey = `${options.vendorId}:${options.productId}`;
26
+ const devices = await this._storage.getDevices();
27
+ const deviceExists = devices.some((d) => d.key === deviceKey);
28
+ if (!deviceExists) {
29
+ return { files: [] };
30
+ }
31
+ const entry = await this._storage.getEntry(deviceKey, options.path);
32
+ if (!entry || entry.kind !== "dir") {
33
+ return { files: [] };
34
+ }
35
+ const children = await this._storage.listChildren(deviceKey, options.path);
36
+ return { files: children };
37
+ }
38
+ async readFile(options) {
39
+ const deviceKey = `${options.vendorId}:${options.productId}`;
40
+ const devices = await this._storage.getDevices();
41
+ const deviceExists = devices.some((d) => d.key === deviceKey);
42
+ if (!deviceExists) {
43
+ return { data: null };
44
+ }
45
+ const entry = await this._storage.getEntry(deviceKey, options.path);
46
+ if (!entry || entry.kind !== "file" || entry.dataBase64 == null) {
47
+ return { data: null };
48
+ }
49
+ return { data: entry.dataBase64 };
50
+ }
51
+ /**
52
+ * 가상 USB 장치를 추가합니다. (테스트/개발용)
53
+ */
54
+ async addVirtualDevice(device) {
55
+ await this._storage.addDevice(device);
56
+ }
57
+ /**
58
+ * 가상 USB 장치에 파일을 추가합니다. (테스트/개발용)
59
+ */
60
+ async addVirtualFile(filter, filePath, data) {
61
+ const deviceKey = `${filter.vendorId}:${filter.productId}`;
62
+ const idx = filePath.lastIndexOf("/");
63
+ const dir = idx === -1 ? "/" : filePath.substring(0, idx) || "/";
64
+ await this._storage.ensureDir(deviceKey, dir);
65
+ await this._storage.putEntry({
66
+ deviceKey,
67
+ path: filePath,
68
+ kind: "file",
69
+ dataBase64: bytes.toBase64(data),
70
+ });
71
+ }
72
+ /**
73
+ * 가상 USB 장치에 디렉토리를 추가합니다. (테스트/개발용)
74
+ */
75
+ async addVirtualDirectory(filter, dirPath) {
76
+ const deviceKey = `${filter.vendorId}:${filter.productId}`;
77
+ await this._storage.ensureDir(deviceKey, dirPath);
48
78
  }
49
- return { data: entry.dataBase64 };
50
- }
51
- /**
52
- * Add a virtual USB device. (For testing/development)
53
- */
54
- async addVirtualDevice(device) {
55
- await this._storage.addDevice(device);
56
- }
57
- /**
58
- * Add a file to a virtual USB device. (For testing/development)
59
- */
60
- async addVirtualFile(filter, filePath, data) {
61
- const deviceKey = `${filter.vendorId}:${filter.productId}`;
62
- const idx = filePath.lastIndexOf("/");
63
- const dir = idx === -1 ? "/" : filePath.substring(0, idx) || "/";
64
- await this._storage.ensureDir(deviceKey, dir);
65
- await this._storage.putEntry({
66
- deviceKey,
67
- path: filePath,
68
- kind: "file",
69
- dataBase64: bytes.toBase64(data)
70
- });
71
- }
72
- /**
73
- * Add a directory to a virtual USB device. (For testing/development)
74
- */
75
- async addVirtualDirectory(filter, dirPath) {
76
- const deviceKey = `${filter.vendorId}:${filter.productId}`;
77
- await this._storage.ensureDir(deviceKey, dirPath);
78
- }
79
79
  }
80
- export {
81
- UsbStorageWeb
82
- };
83
- //# sourceMappingURL=UsbStorageWeb.js.map
80
+ //# sourceMappingURL=UsbStorageWeb.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/web/UsbStorageWeb.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AAO1B,SAAS,yBAAyB;AAClC,SAAS,aAAa;AAEf,MAAM,sBAAsB,UAAsC;AAAA,EACtD,WAAW,IAAI,kBAAkB;AAAA,EAElD,MAAM,aAAoD;AACxD,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,mBAAmB,UAA0D;AACjF,WAAO,QAAQ,QAAQ,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,iBAAiB,UAA0D;AAC/E,WAAO,QAAQ,QAAQ,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,QAAQ,SAAgF;AAC5F,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,SAAS,SAA+E;AAC5F,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,eACJ,QACA,UACA,MACe;AACf,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,MAAM,SAAS,IAAI;AAAA,IACjC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,oBAAoB,QAAyB,SAAgC;AACjF,UAAM,YAAY,GAAG,OAAO,QAAQ,IAAI,OAAO,SAAS;AACxD,UAAM,KAAK,SAAS,UAAU,WAAW,OAAO;AAAA,EAClD;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"UsbStorageWeb.js","sourceRoot":"","sources":["..\\..\\src\\web\\UsbStorageWeb.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,38 @@
1
1
  import { IndexedDbStore, IndexedDbVirtualFs } from "@simplysm/core-browser";
2
- class VirtualUsbStorage {
3
- _DEVICES_STORE = "devices";
4
- _FILES_STORE = "files";
5
- _db;
6
- _vfs;
7
- constructor() {
8
- this._db = new IndexedDbStore("capacitor_usb_virtual_storage", 1, [
9
- { name: this._DEVICES_STORE, keyPath: "key" },
10
- { name: this._FILES_STORE, keyPath: "fullKey" }
11
- ]);
12
- this._vfs = new IndexedDbVirtualFs(this._db, this._FILES_STORE, "fullKey");
13
- }
14
- async addDevice(device) {
15
- const key = `${device.vendorId}:${device.productId}`;
16
- const entry = { ...device, key };
17
- return this._db.put(this._DEVICES_STORE, entry);
18
- }
19
- async getDevices() {
20
- return this._db.getAll(this._DEVICES_STORE);
21
- }
22
- async getEntry(deviceKey, path) {
23
- const fullKey = `${deviceKey}:${path}`;
24
- return this._vfs.getEntry(fullKey);
25
- }
26
- async putEntry(entry) {
27
- const fullKey = `${entry.deviceKey}:${entry.path}`;
28
- return this._vfs.putEntry(fullKey, entry.kind, entry.dataBase64);
29
- }
30
- async listChildren(deviceKey, dirPath) {
31
- const prefix = `${deviceKey}:${dirPath === "/" ? "/" : dirPath + "/"}`;
32
- return this._vfs.listChildren(prefix);
33
- }
34
- async ensureDir(deviceKey, dirPath) {
35
- return this._vfs.ensureDir((path) => `${deviceKey}:${path}`, dirPath);
36
- }
2
+ export class VirtualUsbStorage {
3
+ _DEVICES_STORE = "devices";
4
+ _FILES_STORE = "files";
5
+ _db;
6
+ _vfs;
7
+ constructor() {
8
+ this._db = new IndexedDbStore("capacitor_usb_virtual_storage", 1, [
9
+ { name: this._DEVICES_STORE, keyPath: "key" },
10
+ { name: this._FILES_STORE, keyPath: "fullKey" },
11
+ ]);
12
+ this._vfs = new IndexedDbVirtualFs(this._db, this._FILES_STORE, "fullKey");
13
+ }
14
+ async addDevice(device) {
15
+ const key = `${device.vendorId}:${device.productId}`;
16
+ const entry = { ...device, key };
17
+ return this._db.put(this._DEVICES_STORE, entry);
18
+ }
19
+ async getDevices() {
20
+ return this._db.getAll(this._DEVICES_STORE);
21
+ }
22
+ async getEntry(deviceKey, path) {
23
+ const fullKey = `${deviceKey}:${path}`;
24
+ return this._vfs.getEntry(fullKey);
25
+ }
26
+ async putEntry(entry) {
27
+ const fullKey = `${entry.deviceKey}:${entry.path}`;
28
+ return this._vfs.putEntry(fullKey, entry.kind, entry.dataBase64);
29
+ }
30
+ async listChildren(deviceKey, dirPath) {
31
+ const prefix = `${deviceKey}:${dirPath === "/" ? "/" : dirPath + "/"}`;
32
+ return this._vfs.listChildren(prefix);
33
+ }
34
+ async ensureDir(deviceKey, dirPath) {
35
+ return this._vfs.ensureDir((path) => `${deviceKey}:${path}`, dirPath);
36
+ }
37
37
  }
38
- export {
39
- VirtualUsbStorage
40
- };
41
- //# sourceMappingURL=VirtualUsbStorage.js.map
38
+ //# sourceMappingURL=VirtualUsbStorage.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/web/VirtualUsbStorage.ts"],
4
- "mappings": "AACA,SAAS,gBAAgB,0BAA0B;AAW5C,MAAM,kBAAkB;AAAA,EACZ,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf;AAAA,EACA;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;AACD,SAAK,OAAO,IAAI,mBAAmB,KAAK,KAAK,KAAK,cAAc,SAAS;AAAA,EAC3E;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,MAAmD;AACnF,UAAM,UAAU,GAAG,SAAS,IAAI,IAAI;AACpC,WAAO,KAAK,KAAK,SAAS,OAAO;AAAA,EACnC;AAAA,EAEA,MAAM,SAAS,OAAsG;AACnH,UAAM,UAAU,GAAG,MAAM,SAAS,IAAI,MAAM,IAAI;AAChD,WAAO,KAAK,KAAK,SAAS,SAAS,MAAM,MAAM,MAAM,UAAU;AAAA,EACjE;AAAA,EAEA,MAAM,aACJ,WACA,SACmD;AACnD,UAAM,SAAS,GAAG,SAAS,IAAI,YAAY,MAAM,MAAM,UAAU,GAAG;AACpE,WAAO,KAAK,KAAK,aAAa,MAAM;AAAA,EACtC;AAAA,EAEA,MAAM,UAAU,WAAmB,SAAgC;AACjE,WAAO,KAAK,KAAK,UAAU,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,IAAI,OAAO;AAAA,EACtE;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"VirtualUsbStorage.js","sourceRoot":"","sources":["..\\..\\src\\web\\VirtualUsbStorage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAW5E,MAAM,OAAO,iBAAiB;IACX,cAAc,GAAG,SAAS,CAAC;IAC3B,YAAY,GAAG,OAAO,CAAC;IACvB,GAAG,CAAiB;IACpB,IAAI,CAAqB;IAE1C;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,cAAc,CAAC,+BAA+B,EAAE,CAAC,EAAE;YAChE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE;YAC7C,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAkC;QAChD,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrD,MAAM,KAAK,GAAkB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAgB,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,IAAY;QAC5C,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAqF;QAClG,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,OAAe;QAEf,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAe;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@simplysm/capacitor-plugin-usb-storage",
3
- "version": "13.0.100",
4
- "description": "Simplysm Package - Capacitor USB Storage Plugin",
5
- "author": "simplysm",
6
- "license": "MIT",
3
+ "version": "14.0.4",
4
+ "description": "심플리즘 패키지 - Capacitor USB 저장소 플러그인",
5
+ "author": "심플리즘",
6
+ "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/kslhunter/simplysm.git",
@@ -18,14 +18,14 @@
18
18
  "android"
19
19
  ],
20
20
  "dependencies": {
21
- "@simplysm/core-browser": "13.0.100",
22
- "@simplysm/core-common": "13.0.100"
21
+ "@simplysm/core-common": "14.0.4",
22
+ "@simplysm/core-browser": "14.0.4"
23
23
  },
24
24
  "devDependencies": {
25
- "@capacitor/core": "^7.6.0"
25
+ "@capacitor/core": "^7.6.1"
26
26
  },
27
27
  "peerDependencies": {
28
- "@capacitor/core": "^7.4.4"
28
+ "@capacitor/core": "^7"
29
29
  },
30
30
  "capacitor": {
31
31
  "android": {
package/src/UsbStorage.ts CHANGED
@@ -16,14 +16,14 @@ const usbStoragePlugin = registerPlugin<UsbStoragePlugin>("UsbStorage", {
16
16
  });
17
17
 
18
18
  /**
19
- * Plugin for interacting with USB storage devices
20
- * - Android: USB Mass Storage access via libaums library
21
- * - Browser: IndexedDB-based virtual USB storage emulation
19
+ * USB 저장 장치 접근 플러그인
20
+ * - Android: libaums 라이브러리를 통한 USB Mass Storage 접근
21
+ * - Browser: IndexedDB 기반 가상 USB 저장소 에뮬레이션
22
22
  */
23
23
  export abstract class UsbStorage {
24
24
  /**
25
- * Get list of connected USB devices
26
- * @returns Array of connected USB device info
25
+ * 연결된 USB 장치 목록 조회
26
+ * @returns 연결된 USB 장치 정보 배열
27
27
  */
28
28
  static async getDevices(): Promise<UsbDeviceInfo[]> {
29
29
  const result = await usbStoragePlugin.getDevices();
@@ -31,9 +31,9 @@ export abstract class UsbStorage {
31
31
  }
32
32
 
33
33
  /**
34
- * Request USB device access permission
35
- * @param filter vendorId and productId of the USB device to request permission for
36
- * @returns Whether permission was granted
34
+ * USB 장치 접근 권한 요청
35
+ * @param filter 권한을 요청할 USB 장치의 vendorId productId
36
+ * @returns 권한 승인 여부
37
37
  */
38
38
  static async requestPermissions(filter: UsbDeviceFilter): Promise<boolean> {
39
39
  const result = await usbStoragePlugin.requestPermissions(filter);
@@ -41,9 +41,9 @@ export abstract class UsbStorage {
41
41
  }
42
42
 
43
43
  /**
44
- * Check if USB device access permission is granted
45
- * @param filter vendorId and productId of the USB device to check permission for
46
- * @returns Whether permission is held
44
+ * USB 장치 접근 권한 확인
45
+ * @param filter 권한을 확인할 USB 장치의 vendorId productId
46
+ * @returns 권한 보유 여부
47
47
  */
48
48
  static async checkPermissions(filter: UsbDeviceFilter): Promise<boolean> {
49
49
  const result = await usbStoragePlugin.checkPermissions(filter);
@@ -51,10 +51,10 @@ export abstract class UsbStorage {
51
51
  }
52
52
 
53
53
  /**
54
- * Read directory contents from USB storage device
55
- * @param filter vendorId and productId of the target USB device
56
- * @param dirPath Directory path to read
57
- * @returns Array of file/folder info in the directory
54
+ * USB 저장 장치에서 디렉토리 내용 읽기
55
+ * @param filter 대상 USB 장치의 vendorId productId
56
+ * @param dirPath 읽을 디렉토리 경로
57
+ * @returns 디렉토리 파일/폴더 정보 배열
58
58
  */
59
59
  static async readdir(filter: UsbDeviceFilter, dirPath: string): Promise<UsbFileInfo[]> {
60
60
  const result = await usbStoragePlugin.readdir({ ...filter, path: dirPath });
@@ -62,10 +62,10 @@ export abstract class UsbStorage {
62
62
  }
63
63
 
64
64
  /**
65
- * Read a file from USB storage device
66
- * @param filter vendorId and productId of the target USB device
67
- * @param filePath File path to read
68
- * @returns Bytes containing file data, or undefined
65
+ * USB 저장 장치에서 파일 읽기
66
+ * @param filter 대상 USB 장치의 vendorId productId
67
+ * @param filePath 읽을 파일 경로
68
+ * @returns 파일 데이터를 포함하는 Bytes, 또는 undefined
69
69
  */
70
70
  static async readFile(filter: UsbDeviceFilter, filePath: string): Promise<Bytes | undefined> {
71
71
  const result = await usbStoragePlugin.readFile({ ...filter, path: filePath });
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- // USB Storage
1
+ // USB 저장소
2
2
  export * from "./UsbStoragePlugin";
3
3
  export * from "./UsbStorage";
@@ -62,7 +62,7 @@ export class UsbStorageWeb extends WebPlugin implements UsbStoragePlugin {
62
62
  }
63
63
 
64
64
  /**
65
- * Add a virtual USB device. (For testing/development)
65
+ * 가상 USB 장치를 추가합니다. (테스트/개발용)
66
66
  */
67
67
  async addVirtualDevice(device: {
68
68
  vendorId: number;
@@ -75,7 +75,7 @@ export class UsbStorageWeb extends WebPlugin implements UsbStoragePlugin {
75
75
  }
76
76
 
77
77
  /**
78
- * Add a file to a virtual USB device. (For testing/development)
78
+ * 가상 USB 장치에 파일을 추가합니다. (테스트/개발용)
79
79
  */
80
80
  async addVirtualFile(
81
81
  filter: UsbDeviceFilter,
@@ -95,7 +95,7 @@ export class UsbStorageWeb extends WebPlugin implements UsbStoragePlugin {
95
95
  }
96
96
 
97
97
  /**
98
- * Add a directory to a virtual USB device. (For testing/development)
98
+ * 가상 USB 장치에 디렉토리를 추가합니다. (테스트/개발용)
99
99
  */
100
100
  async addVirtualDirectory(filter: UsbDeviceFilter, dirPath: string): Promise<void> {
101
101
  const deviceKey = `${filter.vendorId}:${filter.productId}`;