@furystack/filesystem-store 3.2.11 → 3.3.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-store.js","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":";;;;;;AACA,2BAAoC;AAEpC,kFAA6C;AAE7C,0CAA+C;AAE/C;;GAEG;AACH,MAAa,eAAe;IAS1B,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAG,IAA2B;QAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAIM,KAAK,CAAC,GAAG,CAAC,GAAmB,EAAE,MAAuB;QAC3D,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC5C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"filesystem-store.js","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/filesystem-store",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Simple File System store implementation for FuryStack",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/furystack/furystack",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@furystack/core": "^11.
|
|
32
|
+
"@furystack/core": "^11.3.0",
|
|
33
33
|
"@furystack/inject": "^7.1.8",
|
|
34
34
|
"@furystack/utils": "^3.1.7",
|
|
35
35
|
"semaphore-async-await": "^1.5.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/jest": "^29.5.0",
|
|
39
|
-
"@types/node": "^18.15.
|
|
39
|
+
"@types/node": "^18.15.11"
|
|
40
40
|
},
|
|
41
41
|
"typings": "./types/index.d.ts",
|
|
42
42
|
"gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
|
package/src/filesystem-store.ts
CHANGED
|
@@ -2,13 +2,13 @@ import type { FSWatcher } from 'fs'
|
|
|
2
2
|
import { promises, watch } from 'fs'
|
|
3
3
|
import type { Constructable } from '@furystack/inject'
|
|
4
4
|
import Semaphore from 'semaphore-async-await'
|
|
5
|
-
import type { PhysicalStore, FindOptions, FilterType
|
|
5
|
+
import type { PhysicalStore, FindOptions, FilterType } from '@furystack/core'
|
|
6
6
|
import { InMemoryStore } from '@furystack/core'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Store implementation that stores info in a simple JSON file
|
|
10
10
|
*/
|
|
11
|
-
export class FileSystemStore<T, TPrimaryKey extends keyof T> implements PhysicalStore<T, TPrimaryKey> {
|
|
11
|
+
export class FileSystemStore<T, TPrimaryKey extends keyof T> implements PhysicalStore<T, TPrimaryKey, T> {
|
|
12
12
|
private readonly watcher?: FSWatcher
|
|
13
13
|
|
|
14
14
|
public readonly model: Constructable<T>
|
|
@@ -36,7 +36,7 @@ export class FileSystemStore<T, TPrimaryKey extends keyof T> implements Physical
|
|
|
36
36
|
})
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
public async add(...entries:
|
|
39
|
+
public async add(...entries: T[]) {
|
|
40
40
|
const result = await this.fileLock.execute(async () => {
|
|
41
41
|
return await this.inMemoryStore.add(...entries)
|
|
42
42
|
})
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { promises } from 'fs';
|
|
4
4
|
import type { Constructable } from '@furystack/inject';
|
|
5
|
-
import type { PhysicalStore, FindOptions, FilterType
|
|
5
|
+
import type { PhysicalStore, FindOptions, FilterType } from '@furystack/core';
|
|
6
6
|
/**
|
|
7
7
|
* Store implementation that stores info in a simple JSON file
|
|
8
8
|
*/
|
|
9
|
-
export declare class FileSystemStore<T, TPrimaryKey extends keyof T> implements PhysicalStore<T, TPrimaryKey> {
|
|
9
|
+
export declare class FileSystemStore<T, TPrimaryKey extends keyof T> implements PhysicalStore<T, TPrimaryKey, T> {
|
|
10
10
|
private readonly options;
|
|
11
11
|
private readonly watcher?;
|
|
12
12
|
readonly model: Constructable<T>;
|
|
@@ -17,7 +17,7 @@ export declare class FileSystemStore<T, TPrimaryKey extends keyof T> implements
|
|
|
17
17
|
tick: NodeJS.Timer;
|
|
18
18
|
hasChanges: boolean;
|
|
19
19
|
get(key: T[TPrimaryKey], select?: Array<keyof T>): Promise<T | undefined>;
|
|
20
|
-
add(...entries:
|
|
20
|
+
add(...entries: T[]): Promise<import("@furystack/core").CreateResult<T>>;
|
|
21
21
|
find<TFields extends Array<keyof T>>(filter: FindOptions<T, TFields>): Promise<import("@furystack/core").PartialResult<T, TFields>[]>;
|
|
22
22
|
count(filter?: FilterType<T>): Promise<number>;
|
|
23
23
|
private fileLock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-store.d.ts","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,QAAQ,EAAS,MAAM,IAAI,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"filesystem-store.d.ts","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,QAAQ,EAAS,MAAM,IAAI,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG7E;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAsGpG,OAAO,CAAC,QAAQ,CAAC,OAAO;IArG1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAW;IAEpC,SAAgB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC,SAAgB,UAAU,EAAE,WAAW,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,OAAO,KAAK,KAAK,GAEhB;IAEY,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,IAAI,eAAqE;IACzE,UAAU,UAAQ;IACZ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAMhD,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE;IAQnB,IAAI,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC;IAMpE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAMzC,OAAO,CAAC,QAAQ,CAAmB;IACtB,WAAW;IAiBX,OAAO;IAMP,UAAU;IAmBV,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAOxC,QAAQ,2BAAoB;IAC5B,SAAS,4BAAqB;gBAGlB,OAAO,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,WAAW,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KACxB;CAeJ"}
|