@file-storage/core
Advanced tools
Comparing version 1.3.0 to 1.3.1
/// <reference types="node" /> | ||
import { Stream } from 'stream'; | ||
import { DiskConfig, Driver, PutResult, ImageStats } from '@file-storage/common'; | ||
import { BuitInDiskConfig, StorageConfiguration } from './types'; | ||
import { StorageConfiguration } from './types'; | ||
declare class StorageClass { | ||
@@ -20,3 +20,3 @@ /** | ||
*/ | ||
config<U extends DiskConfig = BuitInDiskConfig>(options?: StorageConfiguration<U>): void; | ||
config<U extends DiskConfig>(options?: StorageConfiguration<U>): void; | ||
/** | ||
@@ -23,0 +23,0 @@ * Get disk instance by diskName. |
@@ -54,3 +54,5 @@ "use strict"; | ||
} | ||
const driver = drivers.find((item) => item && item['driverName'] === diskConfig.driver); | ||
const driver = typeof diskConfig.driver !== 'string' | ||
? diskConfig.driver | ||
: drivers.find((item) => item && item['driverName'] === diskConfig.driver); | ||
if (!driver) { | ||
@@ -61,3 +63,4 @@ // Throw error missing built-in driver package. | ||
} | ||
throw new Error(`Driver '${diskConfig.driver}' is not declared.`); | ||
const name = typeof diskConfig.driver !== 'string' ? diskConfig.driver.name : diskConfig.driver; | ||
throw new Error(`Driver '${name}' is not declared.`); | ||
} | ||
@@ -64,0 +67,0 @@ return new driver(diskConfig); |
@@ -11,5 +11,6 @@ import { Class, DiskConfig, Driver, FtpDiskConfig, GCSDiskConfig, LocalDiskConfig, S3DiskConfig, SftpDiskConfig } from '@file-storage/common'; | ||
*/ | ||
diskConfigs?: (T | BuitInDiskConfig)[]; | ||
diskConfigs?: T[]; | ||
/** | ||
* Add one or more your custom drivers. | ||
* @deprecated | ||
*/ | ||
@@ -16,0 +17,0 @@ customDrivers?: Class<Driver>[]; |
{ | ||
"name": "@file-storage/core", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "> TODO: description", | ||
@@ -30,11 +30,11 @@ "author": "Dang Nguyen <haidang009@gmail.com>", | ||
"dependencies": { | ||
"@file-storage/local": "^1.3.0", | ||
"@file-storage/local": "^1.3.1", | ||
"uuid": "^8.3.2" | ||
}, | ||
"devDependencies": { | ||
"@file-storage/common": "^1.3.0", | ||
"@file-storage/common": "^1.3.1", | ||
"rimraf": "~3.0.2", | ||
"typescript": "~4.3.5" | ||
}, | ||
"gitHead": "c9a5b7f03c50422de09e6d70a11ba10116839d48" | ||
"gitHead": "4c0f12f87f96a2fe42a15df89aa201808c3c3387" | ||
} |
@@ -46,6 +46,6 @@ ``` | ||
```javascript | ||
import Storage from '@file-storage/core'; | ||
import Storage, { BuitInDiskConfig } from '@file-storage/core'; | ||
import { DriverName } from '@file-storage/common'; | ||
Storage.config({ | ||
Storage.config<BuitInDiskConfig>({ | ||
// Default disk that you can access directly via Storage facade. | ||
@@ -106,13 +106,11 @@ defaultDiskName: 'mys3', | ||
import Storage from '@file-storage/core'; | ||
import { Driver } from '@file-storage/common'; | ||
import { Driver, DiskConfig } from '@file-storage/common'; | ||
interface OneDriveConfig { | ||
name: string; // driver instance name is required. | ||
interface MyCustomDriverConfig extends DiskConfig { | ||
driver: typeof MyCustomDriver; | ||
... | ||
} | ||
class OneDrive extends Driver { | ||
static readonly driverName = 'one_drive'; | ||
constructor(config: OneDriveConfig) { | ||
class MyCustomDriver extends Driver { | ||
constructor(config: MyCustomDriverConfig) { | ||
super(config); | ||
@@ -122,3 +120,3 @@ ... | ||
// Define all Driver's methods here. | ||
// Implement all Driver's methods here. | ||
} | ||
@@ -128,9 +126,9 @@ | ||
And provide it to Storage.customDrivers: | ||
And provide it to Storage.diskConfigs: | ||
```typescript | ||
Storage.config<OneDriveConfig>({ | ||
Storage.config<MyCustomDriverConfig>({ | ||
diskConfigs: [ | ||
{ | ||
driver: 'one_drive', | ||
driver: MyCustomDriver, | ||
name: 'myCustomDisk', | ||
@@ -140,3 +138,2 @@ ... | ||
], | ||
customDrivers: [OneDrive], | ||
}); | ||
@@ -186,3 +183,3 @@ ``` | ||
- [ ] API section: detailed of each driver. | ||
- [ ] Remove `customDrivers` option, pass custom driver class directly to `diskConfigs.driver`. | ||
- [x] Remove `customDrivers` option, pass custom driver class directly to `diskConfigs.driver`. | ||
- [x] Unique file name. | ||
@@ -189,0 +186,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17432
274
184
Updated@file-storage/local@^1.3.1