@simplysm/capacitor-plugin-file-system 13.0.0-beta.7 β 13.0.1
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 +15 -2
- package/dist/FileSystem.d.ts.map +1 -0
- package/dist/FileSystem.js.map +0 -1
- package/dist/IFileSystemPlugin.d.ts.map +1 -0
- package/dist/IFileSystemPlugin.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/FileSystemWeb.d.ts.map +1 -0
- package/dist/web/FileSystemWeb.js +1 -1
- package/dist/web/FileSystemWeb.js.map +0 -1
- package/dist/web/IndexedDbStore.d.ts.map +1 -0
- package/dist/web/IndexedDbStore.js.map +0 -1
- package/dist/web/VirtualFileSystem.d.ts.map +1 -0
- package/dist/web/VirtualFileSystem.js +1 -1
- package/dist/web/VirtualFileSystem.js.map +0 -1
- package/package.json +3 -3
- package/dist/capacitor-plugin-file-system/src/FileSystem.d.ts.map +0 -1
- package/dist/capacitor-plugin-file-system/src/IFileSystemPlugin.d.ts.map +0 -1
- package/dist/capacitor-plugin-file-system/src/index.d.ts.map +0 -1
- package/dist/capacitor-plugin-file-system/src/web/FileSystemWeb.d.ts.map +0 -1
- package/dist/capacitor-plugin-file-system/src/web/IndexedDbStore.d.ts.map +0 -1
- package/dist/capacitor-plugin-file-system/src/web/VirtualFileSystem.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-file-system/src/FileSystem.d.ts β FileSystem.d.ts} +0 -0
- /package/dist/{capacitor-plugin-file-system/src/IFileSystemPlugin.d.ts β IFileSystemPlugin.d.ts} +0 -0
- /package/dist/{capacitor-plugin-file-system/src/index.d.ts β index.d.ts} +0 -0
- /package/dist/{capacitor-plugin-file-system/src/web β web}/FileSystemWeb.d.ts +0 -0
- /package/dist/{capacitor-plugin-file-system/src/web β web}/IndexedDbStore.d.ts +0 -0
- /package/dist/{capacitor-plugin-file-system/src/web β web}/VirtualFileSystem.d.ts +0 -0
package/README.md
CHANGED
|
@@ -66,6 +66,10 @@ import { FileSystem } from "@simplysm/capacitor-plugin-file-system";
|
|
|
66
66
|
|
|
67
67
|
### Type Definitions
|
|
68
68
|
|
|
69
|
+
```typescript
|
|
70
|
+
import type { TStorage, IFileInfo } from "@simplysm/capacitor-plugin-file-system";
|
|
71
|
+
```
|
|
72
|
+
|
|
69
73
|
#### `TStorage`
|
|
70
74
|
|
|
71
75
|
A string literal type representing storage types.
|
|
@@ -89,6 +93,14 @@ interface IFileInfo {
|
|
|
89
93
|
}
|
|
90
94
|
```
|
|
91
95
|
|
|
96
|
+
#### `IFileSystemPlugin`
|
|
97
|
+
|
|
98
|
+
The low-level Capacitor plugin interface. Not intended for direct use -- use the `FileSystem` static class instead.
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
import type { IFileSystemPlugin } from "@simplysm/capacitor-plugin-file-system";
|
|
102
|
+
```
|
|
103
|
+
|
|
92
104
|
## Usage Examples
|
|
93
105
|
|
|
94
106
|
### Check and Request Permission
|
|
@@ -132,6 +144,7 @@ async function textFileExample(): Promise<void> {
|
|
|
132
144
|
|
|
133
145
|
```typescript
|
|
134
146
|
import { FileSystem } from "@simplysm/capacitor-plugin-file-system";
|
|
147
|
+
import type { Bytes } from "@simplysm/core-common";
|
|
135
148
|
|
|
136
149
|
async function binaryFileExample(): Promise<void> {
|
|
137
150
|
const storagePath = await FileSystem.getStoragePath("appFiles");
|
|
@@ -141,8 +154,8 @@ async function binaryFileExample(): Promise<void> {
|
|
|
141
154
|
const bytes = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]);
|
|
142
155
|
await FileSystem.writeFile(filePath, bytes);
|
|
143
156
|
|
|
144
|
-
// Read as
|
|
145
|
-
const readBytes = await FileSystem.readFileBytes(filePath);
|
|
157
|
+
// Read as Bytes (Uint8Array alias from @simplysm/core-common)
|
|
158
|
+
const readBytes: Bytes = await FileSystem.readFileBytes(filePath);
|
|
146
159
|
console.log(readBytes.length); // 5
|
|
147
160
|
}
|
|
148
161
|
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../src/FileSystem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAqB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAUnD;;;;;GAKG;AACH,8BAAsB,UAAU;IAC9B;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9C;;;;OAIG;WACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK3D;;;;;;;;;;OAUG;WACU,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;OAEG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D;;OAEG;WACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7E;;OAEG;WACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D;;OAEG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAK5D;;OAEG;WACU,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;OAEG;WACU,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;WACU,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAI1D"}
|
package/dist/FileSystem.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/FileSystem.ts"],
|
|
4
|
-
"sourcesContent": ["import { registerPlugin } from \"@capacitor/core\";\nimport type { IFileInfo, IFileSystemPlugin, TStorage } from \"./IFileSystemPlugin\";\nimport type { Bytes } from \"@simplysm/core-common\";\nimport { bytesToBase64, bytesFromBase64 } from \"@simplysm/core-common\";\n\nconst FileSystemPlugin = registerPlugin<IFileSystemPlugin>(\"FileSystem\", {\n web: async () => {\n const { FileSystemWeb } = await import(\"./web/FileSystemWeb\");\n return new FileSystemWeb();\n },\n});\n\n/**\n * \uD30C\uC77C \uC2DC\uC2A4\uD15C \uC811\uADFC \uD50C\uB7EC\uADF8\uC778\n * - Android 11+: MANAGE_EXTERNAL_STORAGE \uAD8C\uD55C\uC73C\uB85C \uC804\uCCB4 \uD30C\uC77C \uC2DC\uC2A4\uD15C \uC811\uADFC\n * - Android 10-: READ/WRITE_EXTERNAL_STORAGE \uAD8C\uD55C\n * - Browser: IndexedDB \uAE30\uBC18 \uC5D0\uBBAC\uB808\uC774\uC158\n */\nexport abstract class FileSystem {\n /**\n * \uAD8C\uD55C \uD655\uC778\n */\n static async hasPermission(): Promise<boolean> {\n const result = await FileSystemPlugin.hasPermission();\n return result.granted;\n }\n\n /**\n * \uAD8C\uD55C \uC694\uCCAD\n * - Android 11+: \uC124\uC815 \uD654\uBA74\uC73C\uB85C \uC774\uB3D9\n * - Android 10-: \uAD8C\uD55C \uB2E4\uC774\uC5BC\uB85C\uADF8 \uD45C\uC2DC\n */\n static async requestPermission(): Promise<void> {\n await FileSystemPlugin.requestPermission();\n }\n\n /**\n * \uB514\uB809\uD1A0\uB9AC \uC77D\uAE30\n */\n static async readdir(dirPath: string): Promise<IFileInfo[]> {\n const result = await FileSystemPlugin.readdir({ path: dirPath });\n return result.files;\n }\n\n /**\n * \uC800\uC7A5\uC18C \uACBD\uB85C \uC5BB\uAE30\n * @param type \uC800\uC7A5\uC18C \uD0C0\uC785\n * - external: \uC678\uBD80 \uC800\uC7A5\uC18C \uB8E8\uD2B8 (Environment.getExternalStorageDirectory)\n * - externalFiles: \uC571 \uC804\uC6A9 \uC678\uBD80 \uD30C\uC77C \uB514\uB809\uD1A0\uB9AC\n * - externalCache: \uC571 \uC804\uC6A9 \uC678\uBD80 \uCE90\uC2DC \uB514\uB809\uD1A0\uB9AC\n * - externalMedia: \uC571 \uC804\uC6A9 \uC678\uBD80 \uBBF8\uB514\uC5B4 \uB514\uB809\uD1A0\uB9AC\n * - appData: \uC571 \uB370\uC774\uD130 \uB514\uB809\uD1A0\uB9AC\n * - appFiles: \uC571 \uD30C\uC77C \uB514\uB809\uD1A0\uB9AC\n * - appCache: \uC571 \uCE90\uC2DC \uB514\uB809\uD1A0\uB9AC\n */\n static async getStoragePath(type: TStorage): Promise<string> {\n const result = await FileSystemPlugin.getStoragePath({ type });\n return result.path;\n }\n\n /**\n * \uD30C\uC77C URI \uC5BB\uAE30 (FileProvider)\n */\n static async getFileUri(filePath: string): Promise<string> {\n const result = await FileSystemPlugin.getFileUri({ path: filePath });\n return result.uri;\n }\n\n /**\n * \uD30C\uC77C \uC4F0\uAE30\n */\n static async writeFile(filePath: string, data: string | Bytes): Promise<void> {\n if (typeof data !== \"string\") {\n // Bytes (Uint8Array) - cross-realm \uD658\uACBD\uC5D0\uC11C\uB3C4 \uC548\uC804\uD558\uAC8C \uB3D9\uC791\n await FileSystemPlugin.writeFile({\n path: filePath,\n data: bytesToBase64(data),\n encoding: \"base64\",\n });\n } else {\n await FileSystemPlugin.writeFile({\n path: filePath,\n data,\n encoding: \"utf8\",\n });\n }\n }\n\n /**\n * \uD30C\uC77C \uC77D\uAE30 (UTF-8 \uBB38\uC790\uC5F4)\n */\n static async readFileString(filePath: string): Promise<string> {\n const result = await FileSystemPlugin.readFile({ path: filePath, encoding: \"utf8\" });\n return result.data;\n }\n\n /**\n * \uD30C\uC77C \uC77D\uAE30 (Bytes)\n */\n static async readFileBytes(filePath: string): Promise<Bytes> {\n const result = await FileSystemPlugin.readFile({ path: filePath, encoding: \"base64\" });\n return bytesFromBase64(result.data);\n }\n\n /**\n * \uD30C\uC77C/\uB514\uB809\uD1A0\uB9AC \uC0AD\uC81C (\uC7AC\uADC0)\n */\n static async remove(targetPath: string): Promise<void> {\n await FileSystemPlugin.remove({ path: targetPath });\n }\n\n /**\n * \uB514\uB809\uD1A0\uB9AC \uC0DD\uC131 (\uC7AC\uADC0)\n */\n static async mkdir(targetPath: string): Promise<void> {\n await FileSystemPlugin.mkdir({ path: targetPath });\n }\n\n /**\n * \uC874\uC7AC \uC5EC\uBD80 \uD655\uC778\n */\n static async exists(targetPath: string): Promise<boolean> {\n const result = await FileSystemPlugin.exists({ path: targetPath });\n return result.exists;\n }\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,sBAAsB;AAG/B,SAAS,eAAe,uBAAuB;AAE/C,MAAM,mBAAmB,eAAkC,cAAc;AAAA,EACvE,KAAK,YAAY;AACf,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,qBAAqB;AAC5D,WAAO,IAAI,cAAc;AAAA,EAC3B;AACF,CAAC;AAQM,MAAe,WAAW;AAAA;AAAA;AAAA;AAAA,EAI/B,aAAa,gBAAkC;AAC7C,UAAM,SAAS,MAAM,iBAAiB,cAAc;AACpD,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,oBAAmC;AAC9C,UAAM,iBAAiB,kBAAkB;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,QAAQ,SAAuC;AAC1D,UAAM,SAAS,MAAM,iBAAiB,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC/D,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,aAAa,eAAe,MAAiC;AAC3D,UAAM,SAAS,MAAM,iBAAiB,eAAe,EAAE,KAAK,CAAC;AAC7D,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,WAAW,UAAmC;AACzD,UAAM,SAAS,MAAM,iBAAiB,WAAW,EAAE,MAAM,SAAS,CAAC;AACnE,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,UAAU,UAAkB,MAAqC;AAC5E,QAAI,OAAO,SAAS,UAAU;AAE5B,YAAM,iBAAiB,UAAU;AAAA,QAC/B,MAAM;AAAA,QACN,MAAM,cAAc,IAAI;AAAA,QACxB,UAAU;AAAA,MACZ,CAAC;AAAA,IACH,OAAO;AACL,YAAM,iBAAiB,UAAU;AAAA,QAC/B,MAAM;AAAA,QACN;AAAA,QACA,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,eAAe,UAAmC;AAC7D,UAAM,SAAS,MAAM,iBAAiB,SAAS,EAAE,MAAM,UAAU,UAAU,OAAO,CAAC;AACnF,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,cAAc,UAAkC;AAC3D,UAAM,SAAS,MAAM,iBAAiB,SAAS,EAAE,MAAM,UAAU,UAAU,SAAS,CAAC;AACrF,WAAO,gBAAgB,OAAO,IAAI;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,OAAO,YAAmC;AACrD,UAAM,iBAAiB,OAAO,EAAE,MAAM,WAAW,CAAC;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,MAAM,YAAmC;AACpD,UAAM,iBAAiB,MAAM,EAAE,MAAM,WAAW,CAAC;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,OAAO,YAAsC;AACxD,UAAM,SAAS,MAAM,iBAAiB,OAAO,EAAE,MAAM,WAAW,CAAC;AACjE,WAAO,OAAO;AAAA,EAChB;AACF;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFileSystemPlugin.d.ts","sourceRoot":"","sources":["../src/IFileSystemPlugin.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;IACpE,cAAc,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,UAAU,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./FileSystem";
|
|
2
|
-
export * from "./IFileSystemPlugin";
|
|
1
|
+
export * from "./FileSystem.js";
|
|
2
|
+
export * from "./IFileSystemPlugin.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSystemWeb.d.ts","sourceRoot":"","sources":["../../src/web/FileSystemWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAInF,qBAAa,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IACvE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqD;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAE5C,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IASnE,cAAc,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC5E;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAU/D,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/F,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5F,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAItE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebPlugin } from "@capacitor/core";
|
|
2
|
-
import { VirtualFileSystem } from "./VirtualFileSystem";
|
|
2
|
+
import { VirtualFileSystem } from "./VirtualFileSystem.js";
|
|
3
3
|
import { bytesToBase64, bytesFromBase64 } from "@simplysm/core-common";
|
|
4
4
|
class FileSystemWeb extends WebPlugin {
|
|
5
5
|
_fs = new VirtualFileSystem("capacitor_web_virtual_fs");
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/FileSystemWeb.ts"],
|
|
4
|
-
"sourcesContent": ["import { WebPlugin } from \"@capacitor/core\";\nimport type { IFileInfo, IFileSystemPlugin, TStorage } from \"../IFileSystemPlugin\";\nimport { VirtualFileSystem } from \"./VirtualFileSystem\";\nimport { bytesToBase64, bytesFromBase64 } from \"@simplysm/core-common\";\n\nexport class FileSystemWeb extends WebPlugin implements IFileSystemPlugin {\n private readonly _fs = new VirtualFileSystem(\"capacitor_web_virtual_fs\");\n private readonly _textEncoder = new TextEncoder();\n private readonly _textDecoder = new TextDecoder();\n\n async hasPermission(): Promise<{ granted: boolean }> {\n return Promise.resolve({ granted: true });\n }\n\n async requestPermission(): Promise<void> {}\n\n async readdir(options: { path: string }): Promise<{ files: IFileInfo[] }> {\n const entry = await this._fs.getEntry(options.path);\n if (!entry || entry.kind !== \"dir\") {\n throw new Error(\"Directory does not exist\");\n }\n const files = await this._fs.listChildren(options.path);\n return { files };\n }\n\n async getStoragePath(options: { type: TStorage }): Promise<{ path: string }> {\n const base = \"/webfs\";\n let storagePath: string;\n switch (options.type) {\n case \"external\":\n storagePath = base + \"/external\";\n break;\n case \"externalFiles\":\n storagePath = base + \"/externalFiles\";\n break;\n case \"externalCache\":\n storagePath = base + \"/externalCache\";\n break;\n case \"externalMedia\":\n storagePath = base + \"/externalMedia\";\n break;\n case \"appData\":\n storagePath = base + \"/appData\";\n break;\n case \"appFiles\":\n storagePath = base + \"/appFiles\";\n break;\n case \"appCache\":\n storagePath = base + \"/appCache\";\n break;\n default:\n throw new Error(\"Unknown storage type: \" + options.type);\n }\n await this._fs.ensureDir(storagePath);\n return { path: storagePath };\n }\n\n /**\n * \uD30C\uC77C\uC758 Blob URL\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4.\n * @warning \uBC18\uD658\uB41C URI\uB294 \uC0AC\uC6A9 \uD6C4 \uBC18\uB4DC\uC2DC `URL.revokeObjectURL(uri)`\uB97C \uD638\uCD9C\uD558\uC5EC \uD574\uC81C\uD574\uC57C \uD569\uB2C8\uB2E4.\n * \uD574\uC81C\uD558\uC9C0 \uC54A\uC73C\uBA74 \uBA54\uBAA8\uB9AC \uB204\uC218\uAC00 \uBC1C\uC0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\n */\n async getFileUri(options: { path: string }): Promise<{ uri: string }> {\n const entry = await this._fs.getEntry(options.path);\n if (!entry || entry.kind !== \"file\" || entry.dataBase64 == null) {\n throw new Error(\"File not found: \" + options.path);\n }\n const bytes = bytesFromBase64(entry.dataBase64);\n const blob = new Blob([bytes as BlobPart]);\n return { uri: URL.createObjectURL(blob) };\n }\n\n async writeFile(options: { path: string; data: string; encoding?: \"utf8\" | \"base64\" }): Promise<void> {\n const idx = options.path.lastIndexOf(\"/\");\n const dir = idx === -1 ? \".\" : options.path.substring(0, idx) || \"/\";\n await this._fs.ensureDir(dir);\n const dataBase64 =\n options.encoding === \"base64\" ? options.data : bytesToBase64(this._textEncoder.encode(options.data));\n await this._fs.putEntry({ path: options.path, kind: \"file\", dataBase64 });\n }\n\n async readFile(options: { path: string; encoding?: \"utf8\" | \"base64\" }): Promise<{ data: string }> {\n const entry = await this._fs.getEntry(options.path);\n if (!entry || entry.kind !== \"file\" || entry.dataBase64 == null) {\n throw new Error(\"File not found: \" + options.path);\n }\n const data =\n options.encoding === \"base64\" ? entry.dataBase64 : this._textDecoder.decode(bytesFromBase64(entry.dataBase64));\n return { data };\n }\n\n async remove(options: { path: string }): Promise<void> {\n const ok = await this._fs.deleteByPrefix(options.path);\n if (!ok) {\n throw new Error(\"Deletion failed\");\n }\n }\n\n async mkdir(options: { path: string }): Promise<void> {\n await this._fs.ensureDir(options.path);\n }\n\n async exists(options: { path: string }): Promise<{ exists: boolean }> {\n const entry = await this._fs.getEntry(options.path);\n return { exists: !!entry };\n }\n}\n"],
|
|
5
4
|
"mappings": "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",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -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":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../../src/web/VirtualFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,UAAU,OAAO;IACf,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,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;gBAEzB,MAAM,EAAE,MAAM;IAIpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAIxD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB1D;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiCnD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAehD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/VirtualFileSystem.ts"],
|
|
4
|
-
"sourcesContent": ["import type { IFileInfo } from \"../IFileSystemPlugin\";\nimport { IndexedDbStore } from \"./IndexedDbStore\";\n\ninterface FsEntry {\n path: string;\n kind: \"file\" | \"dir\";\n dataBase64?: string;\n}\n\nexport class VirtualFileSystem {\n private readonly _STORE_NAME = \"entries\";\n private readonly _db: IndexedDbStore;\n\n constructor(dbName: string) {\n this._db = new IndexedDbStore(dbName, 1, [{ name: this._STORE_NAME, keyPath: \"path\" }]);\n }\n\n async getEntry(filePath: string): Promise<FsEntry | undefined> {\n return this._db.get<FsEntry>(this._STORE_NAME, filePath);\n }\n\n async putEntry(entry: FsEntry): Promise<void> {\n return this._db.put(this._STORE_NAME, entry);\n }\n\n async deleteByPrefix(pathPrefix: string): Promise<boolean> {\n return this._db.withStore(this._STORE_NAME, \"readwrite\", async (store) => {\n return new Promise((resolve, reject) => {\n const req = store.openCursor();\n let found = false;\n req.onsuccess = () => {\n const cursor = req.result;\n if (!cursor) {\n resolve(found);\n return;\n }\n const key = String(cursor.key);\n if (key === pathPrefix || key.startsWith(pathPrefix + \"/\")) {\n found = true;\n cursor.delete();\n }\n cursor.continue();\n };\n req.onerror = () => reject(req.error);\n });\n });\n }\n\n /**\n * \uB514\uB809\uD1A0\uB9AC\uC758 \uC9C1\uC811 \uC790\uC2DD \uBAA9\uB85D\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4.\n * @param dirPath \uC870\uD68C\uD560 \uB514\uB809\uD1A0\uB9AC \uACBD\uB85C\n * @returns \uC790\uC2DD \uD30C\uC77C/\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\n * @note \uC554\uC2DC\uC801 \uB514\uB809\uD1A0\uB9AC \uCC98\uB9AC: \uD30C\uC77C \uACBD\uB85C\uB9CC \uC874\uC7AC\uD558\uACE0 \uB514\uB809\uD1A0\uB9AC \uC5D4\uD2B8\uB9AC\uAC00 \uC5C6\uB294 \uACBD\uC6B0\uC5D0\uB3C4\n * \uC911\uAC04 \uACBD\uB85C\uB294 \uB514\uB809\uD1A0\uB9AC\uB85C \uD310\uC815\uB429\uB2C8\uB2E4. \uC608: \"/a/b/c.txt\"\uB9CC \uC800\uC7A5\uB41C \uC0C1\uD0DC\uC5D0\uC11C\n * listChildren(\"/a\") \uD638\uCD9C \uC2DC \"b\"\uB294 isDirectory: true\uB85C \uBC18\uD658\uB429\uB2C8\uB2E4.\n */\n async listChildren(dirPath: string): Promise<IFileInfo[]> {\n const prefix = dirPath === \"/\" ? \"/\" : dirPath + \"/\";\n return this._db.withStore(this._STORE_NAME, \"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 firstSeg = segments[0];\n if (!map.has(firstSeg)) {\n const isDir = segments.length > 1 || (cursor.value as FsEntry).kind === \"dir\";\n map.set(firstSeg, isDir);\n }\n }\n }\n }\n cursor.continue();\n };\n req.onerror = () => reject(req.error);\n });\n });\n }\n\n async ensureDir(dirPath: string): Promise<void> {\n if (dirPath === \"/\") {\n await this.putEntry({ 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(acc);\n if (!existing) {\n await this.putEntry({ path: acc, kind: \"dir\" });\n }\n }\n }\n}\n"],
|
|
5
4
|
"mappings": "AACA,SAAS,sBAAsB;AAQxB,MAAM,kBAAkB;AAAA,EACZ,cAAc;AAAA,EACd;AAAA,EAEjB,YAAY,QAAgB;AAC1B,SAAK,MAAM,IAAI,eAAe,QAAQ,GAAG,CAAC,EAAE,MAAM,KAAK,aAAa,SAAS,OAAO,CAAC,CAAC;AAAA,EACxF;AAAA,EAEA,MAAM,SAAS,UAAgD;AAC7D,WAAO,KAAK,IAAI,IAAa,KAAK,aAAa,QAAQ;AAAA,EACzD;AAAA,EAEA,MAAM,SAAS,OAA+B;AAC5C,WAAO,KAAK,IAAI,IAAI,KAAK,aAAa,KAAK;AAAA,EAC7C;AAAA,EAEA,MAAM,eAAe,YAAsC;AACzD,WAAO,KAAK,IAAI,UAAU,KAAK,aAAa,aAAa,OAAO,UAAU;AACxE,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,MAAM,MAAM,WAAW;AAC7B,YAAI,QAAQ;AACZ,YAAI,YAAY,MAAM;AACpB,gBAAM,SAAS,IAAI;AACnB,cAAI,CAAC,QAAQ;AACX,oBAAQ,KAAK;AACb;AAAA,UACF;AACA,gBAAM,MAAM,OAAO,OAAO,GAAG;AAC7B,cAAI,QAAQ,cAAc,IAAI,WAAW,aAAa,GAAG,GAAG;AAC1D,oBAAQ;AACR,mBAAO,OAAO;AAAA,UAChB;AACA,iBAAO,SAAS;AAAA,QAClB;AACA,YAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,MACtC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,aAAa,SAAuC;AACxD,UAAM,SAAS,YAAY,MAAM,MAAM,UAAU;AACjD,WAAO,KAAK,IAAI,UAAU,KAAK,aAAa,YAAY,OAAO,UAAU;AACvE,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,WAAW,SAAS,CAAC;AAC3B,oBAAI,CAAC,IAAI,IAAI,QAAQ,GAAG;AACtB,wBAAM,QAAQ,SAAS,SAAS,KAAM,OAAO,MAAkB,SAAS;AACxE,sBAAI,IAAI,UAAU,KAAK;AAAA,gBACzB;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,SAAgC;AAC9C,QAAI,YAAY,KAAK;AACnB,YAAM,KAAK,SAAS,EAAE,MAAM,KAAK,MAAM,MAAM,CAAC;AAC9C;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,GAAG;AACxC,UAAI,CAAC,UAAU;AACb,cAAM,KAAK,SAAS,EAAE,MAAM,KAAK,MAAM,MAAM,CAAC;AAAA,MAChD;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-file-system",
|
|
3
|
-
"version": "13.0.
|
|
3
|
+
"version": "13.0.1",
|
|
4
4
|
"description": "μ¬νλ¦¬μ¦ ν¨ν€μ§ - Capacitor File System 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.1"
|
|
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":"FileSystem.d.ts","sourceRoot":"","sources":["../../../src/FileSystem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAqB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAUnD;;;;;GAKG;AACH,8BAAsB,UAAU;IAC9B;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9C;;;;OAIG;WACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK3D;;;;;;;;;;OAUG;WACU,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5D;;OAEG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D;;OAEG;WACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7E;;OAEG;WACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D;;OAEG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAK5D;;OAEG;WACU,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;OAEG;WACU,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;WACU,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAI1D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFileSystemPlugin.d.ts","sourceRoot":"","sources":["../../../src/IFileSystemPlugin.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;IACpE,cAAc,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,UAAU,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemWeb.d.ts","sourceRoot":"","sources":["../../../../src/web/FileSystemWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAInF,qBAAa,aAAc,SAAQ,SAAU,YAAW,iBAAiB;IACvE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqD;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAE5C,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IASnE,cAAc,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC5E;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAU/D,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/F,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5F,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAItE"}
|
|
@@ -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":"VirtualFileSystem.d.ts","sourceRoot":"","sources":["../../../../src/web/VirtualFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,UAAU,OAAO;IACf,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,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;gBAEzB,MAAM,EAAE,MAAM;IAIpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAIxD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB1D;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiCnD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAehD"}
|
|
@@ -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"}
|