@furystack/filesystem-store 3.0.14 → 3.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-store.js","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem-store.js","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,20 @@ const fs_1 = require("fs");
4
4
  const filesystem_store_1 = require("./filesystem-store");
5
5
  const core_1 = require("@furystack/core");
6
6
  const utils_1 = require("@furystack/utils");
7
+ const store_manager_helpers_1 = require("./store-manager-helpers");
7
8
  let storeCount = 0;
8
9
  describe('FileSystemStore', () => {
9
10
  const storeNames = [];
10
- const createStore = () => {
11
+ const createStore = (i) => {
11
12
  const fileName = `filestore-test-${storeCount++}.json`;
12
13
  storeNames.push(fileName);
13
- return new filesystem_store_1.FileSystemStore({ model: core_1.TestClass, fileName, primaryKey: 'id' });
14
+ (0, store_manager_helpers_1.useFileSystemStore)({
15
+ injector: i,
16
+ model: core_1.TestClass,
17
+ fileName,
18
+ primaryKey: 'id',
19
+ });
20
+ return i.getInstance(core_1.StoreManager).getStoreFor(core_1.TestClass, 'id');
14
21
  };
15
22
  (0, core_1.createStoreTest)({
16
23
  createStore,
@@ -55,11 +62,14 @@ describe('FileSystemStore', () => {
55
62
  await store.dispose();
56
63
  });
57
64
  afterAll(async () => {
58
- await Promise.all(storeNames.map(async (fileName) => {
59
- if ((0, fs_1.existsSync)(fileName)) {
65
+ for (const fileName of storeNames) {
66
+ try {
60
67
  await fs_1.promises.unlink(fileName);
61
68
  }
62
- }));
69
+ catch (error) {
70
+ // Ignore, maybe already deleted
71
+ }
72
+ }
63
73
  });
64
74
  });
65
75
  //# sourceMappingURL=filesystem-store.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-store.spec.js","sourceRoot":"","sources":["../src/filesystem-store.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem-store.spec.js","sourceRoot":"","sources":["../src/filesystem-store.spec.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.0.14",
3
+ "version": "3.1.1",
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.0.14",
33
- "@furystack/inject": "^7.0.5",
34
- "@furystack/utils": "^3.0.9",
32
+ "@furystack/core": "^11.1.1",
33
+ "@furystack/inject": "^7.1.1",
34
+ "@furystack/utils": "^3.1.1",
35
35
  "semaphore-async-await": "^1.5.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@types/jest": "^29.0.3",
39
- "@types/node": "^18.7.23"
38
+ "@types/jest": "^29.2.1",
39
+ "@types/node": "^18.11.9"
40
40
  },
41
41
  "typings": "./types/index.d.ts",
42
42
  "gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
@@ -1,16 +1,26 @@
1
- import { promises, existsSync } from 'fs'
1
+ import { promises } from 'fs'
2
2
  import { FileSystemStore } from './filesystem-store'
3
- import { TestClass, createStoreTest } from '@furystack/core'
3
+ import { TestClass, createStoreTest, StoreManager } from '@furystack/core'
4
4
  import { sleepAsync } from '@furystack/utils'
5
+ import type { Injector } from '@furystack/inject'
6
+ import { useFileSystemStore } from './store-manager-helpers'
5
7
 
6
8
  let storeCount = 0
7
9
 
8
10
  describe('FileSystemStore', () => {
9
11
  const storeNames: string[] = []
10
- const createStore = () => {
12
+ const createStore = (i: Injector) => {
11
13
  const fileName = `filestore-test-${storeCount++}.json`
12
14
  storeNames.push(fileName)
13
- return new FileSystemStore({ model: TestClass, fileName, primaryKey: 'id' })
15
+
16
+ useFileSystemStore({
17
+ injector: i,
18
+ model: TestClass,
19
+ fileName,
20
+ primaryKey: 'id',
21
+ })
22
+
23
+ return i.getInstance(StoreManager).getStoreFor(TestClass, 'id')
14
24
  }
15
25
 
16
26
  createStoreTest({
@@ -61,12 +71,12 @@ describe('FileSystemStore', () => {
61
71
  })
62
72
 
63
73
  afterAll(async () => {
64
- await Promise.all(
65
- storeNames.map(async (fileName) => {
66
- if (existsSync(fileName)) {
67
- await promises.unlink(fileName)
68
- }
69
- }),
70
- )
74
+ for (const fileName of storeNames) {
75
+ try {
76
+ await promises.unlink(fileName)
77
+ } catch (error) {
78
+ // Ignore, maybe already deleted
79
+ }
80
+ }
71
81
  })
72
82
  })
@@ -1,7 +1,9 @@
1
- import { FSWatcher, promises, watch } from 'fs'
2
- import { Constructable } from '@furystack/inject'
1
+ import type { FSWatcher } from 'fs'
2
+ import { promises, watch } from 'fs'
3
+ import type { Constructable } from '@furystack/inject'
3
4
  import Semaphore from 'semaphore-async-await'
4
- import { InMemoryStore, PhysicalStore, FindOptions, FilterType, WithOptionalId } from '@furystack/core'
5
+ import type { PhysicalStore, FindOptions, FilterType, WithOptionalId } from '@furystack/core'
6
+ import { InMemoryStore } from '@furystack/core'
5
7
 
6
8
  /**
7
9
  * Store implementation that stores info in a simple JSON file
@@ -1,5 +1,5 @@
1
1
  import { addStore } from '@furystack/core'
2
- import { Constructable, Injector } from '@furystack/inject'
2
+ import type { Constructable, Injector } from '@furystack/inject'
3
3
  import { FileSystemStore } from './filesystem-store'
4
4
 
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { promises } from 'fs';
4
- import { Constructable } from '@furystack/inject';
5
- import { PhysicalStore, FindOptions, FilterType, WithOptionalId } from '@furystack/core';
4
+ import type { Constructable } from '@furystack/inject';
5
+ import type { PhysicalStore, FindOptions, FilterType, WithOptionalId } from '@furystack/core';
6
6
  /**
7
7
  * Store implementation that stores info in a simple JSON file
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-store.d.ts","sourceRoot":"","sources":["../src/filesystem-store.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAa,QAAQ,EAAS,MAAM,IAAI,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAiB,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEvG;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IAsGjG,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,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAQrD,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"}
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,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAG7F;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,WAAW,SAAS,MAAM,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IAsGjG,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,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAQrD,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"}
@@ -1,4 +1,4 @@
1
- import { Constructable, Injector } from '@furystack/inject';
1
+ import type { Constructable, Injector } from '@furystack/inject';
2
2
  /**
3
3
  *
4
4
  * @param options The Options for store creation
@@ -1 +1 @@
1
- {"version":3,"file":"store-manager-helpers.d.ts","sourceRoot":"","sources":["../src/store-manager-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG3D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;cACnB,QAAQ;;;cAGR,MAAM;;UAKjB,CAAA"}
1
+ {"version":3,"file":"store-manager-helpers.d.ts","sourceRoot":"","sources":["../src/store-manager-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGhE;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;cACnB,QAAQ;;;cAGR,MAAM;;UAKjB,CAAA"}