@effect-app/infra 0.23.0 → 0.24.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 0.24.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 075b117f: Add namespace support for Disk
8
+
9
+ ## 0.24.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 2bf6e3ec: More flexible namespaces
14
+
3
15
  ## 0.23.0
4
16
 
5
17
  ### Minor Changes
@@ -7,9 +7,11 @@ exports.DiskStoreLive = DiskStoreLive;
7
7
  exports.makeDiskStore = makeDiskStore;
8
8
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
9
9
  var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Function"));
10
- var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
10
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect/io/FiberRef"));
11
+ var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
12
  var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/fileUtil"));
12
13
  var _fs = _interopRequireDefault(require("fs"));
14
+ var _console = require("console");
13
15
  var _Memory = require("./Memory.cjs");
14
16
  var _service = require("./service.cjs");
15
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -17,6 +19,27 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
20
  /* eslint-disable @typescript-eslint/no-explicit-any */
19
21
 
22
+ function makeDiskStoreInt(prefix, namespace, name, existing) {
23
+ return tsplus_module_1.gen(function* ($) {
24
+ const file = _console.dir + "/" + prefix + name + (namespace === "primary" ? "" : "-" + namespace) + ".json";
25
+ const fsStore = {
26
+ get: tsplus_module_1.orDie(tsplus_module_1.map(x => JSON.parse(x))(fu.readTextFile(file))),
27
+ setRaw: v => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
28
+ };
29
+ const store = yield* $((0, _Memory.makeMemoryStoreInt)(name, !_fs.default.existsSync(file) ? existing ?? tsplus_module_1.sync(() => new Map()) : tsplus_module_1.map(x => new Map(x.map(x => [x.id, x])))(fsStore.get)));
30
+ yield* $(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
31
+ const sem = tsplus_module_1.unsafeMakeSemaphore(1);
32
+ const withPermit = sem.withPermits(1);
33
+ const flushToDisk = withPermit(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
34
+ return {
35
+ ...store,
36
+ batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
37
+ bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
38
+ set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
39
+ remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t))
40
+ };
41
+ });
42
+ }
20
43
  /**
21
44
  * The Disk-backed store, flushes writes in background, but keeps the data in memory
22
45
  * and should therefore be as fast as the Memory Store.
@@ -30,26 +53,33 @@ function makeDiskStore({
30
53
  _fs.default.mkdirSync(dir);
31
54
  }
32
55
  return {
33
- make: (name, existing, _config) => tsplus_module_1.gen(function* ($) {
34
- const file = dir + "/" + prefix + name + ".json";
35
- const fsStore = {
36
- get: tsplus_module_1.orDie(tsplus_module_1.map(x => JSON.parse(x))(fu.readTextFile(file))),
37
- setRaw: v => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
38
- };
39
- const {
40
- make
41
- } = (0, _Memory.makeMemoryStore)();
42
- const store = yield* $(make(name, !_fs.default.existsSync(file) ? existing ?? tsplus_module_1.sync(() => new Map()) : tsplus_module_1.map(x => new Map(x.map(x => [x.id, x])))(fsStore.get)));
43
- yield* $(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
44
- const sem = tsplus_module_1.unsafeMakeSemaphore(1);
45
- const withPermit = sem.withPermits(1);
46
- const flushToDisk = withPermit(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
56
+ make: (name, existing, config) => tsplus_module_1.gen(function* ($) {
57
+ const storesSem = tsplus_module_1.unsafeMakeSemaphore(1);
58
+ const primary = yield* $(makeDiskStoreInt(prefix, "primary", name, existing));
59
+ const stores = new Map([["primary", primary]]);
60
+ const getStore = !config?.allowNamespace ? tsplus_module_1.succeed(primary) : tsplus_module_1.flatMap(namespace => {
61
+ const store = stores.get(namespace);
62
+ if (store) {
63
+ return tsplus_module_1.succeed(store);
64
+ }
65
+ if (!config.allowNamespace(namespace)) {
66
+ throw new Error(`Namespace ${namespace} not allowed!`);
67
+ }
68
+ return storesSem.withPermits(1)(tsplus_module_1.suspendSucceed(() => {
69
+ const existing = stores.get(namespace);
70
+ if (existing) return tsplus_module_1.sync(() => existing);
71
+ return tsplus_module_1.tap(store => tsplus_module_1.sync(() => stores.set(namespace, store)))(makeDiskStoreInt(prefix, namespace, name, existing));
72
+ }));
73
+ })(tsplus_module_3.get(_Memory.storeId));
47
74
  const s = {
48
- ...store,
49
- batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
50
- bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
51
- set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
52
- remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t))
75
+ all: tsplus_module_1.flatMap(_ => _.all)(getStore),
76
+ find: (...args) => tsplus_module_1.flatMap(_ => _.find(...args))(getStore),
77
+ filter: (...args) => tsplus_module_1.flatMap(_ => _.filter(...args))(getStore),
78
+ filterJoinSelect: (...args) => tsplus_module_1.flatMap(_ => _.filterJoinSelect(...args))(getStore),
79
+ set: (...args) => tsplus_module_1.flatMap(_ => _.set(...args))(getStore),
80
+ batchSet: (...args) => tsplus_module_1.flatMap(_ => _.batchSet(...args))(getStore),
81
+ bulkSet: (...args) => tsplus_module_1.flatMap(_ => _.bulkSet(...args))(getStore),
82
+ remove: (...args) => tsplus_module_1.flatMap(_ => _.remove(...args))(getStore)
53
83
  };
54
84
  return s;
55
85
  })
@@ -57,6 +87,6 @@ function makeDiskStore({
57
87
  });
58
88
  }
59
89
  function DiskStoreLive(config) {
60
- return tsplus_module_3.toLayer(tsplus_module_1.flatMap(makeDiskStore)(tsplus_module_1.config(config)), _service.StoreMaker);
90
+ return tsplus_module_4.toLayer(tsplus_module_1.flatMap(makeDiskStore)(tsplus_module_1.config(config)), _service.StoreMaker);
61
91
  }
62
92
  //# sourceMappingURL=Disk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Disk.cjs","mappings":"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","names":["makeDiskStore","prefix","tsplus_module_1","dir","fs","existsSync","mkdirSync","make","name","existing","_config","$","file","fsStore","get","x","JSON","parse","fu","readTextFile","setRaw","v","stringify","undefined","json","writeTextFile","store","Map","map","id","all","sem","withPermit","withPermits","flushToDisk","s","batchSet","tsplus_module_2","t","err","console","error","bulkSet","set","remove","DiskStoreLive","config","tsplus_module_3","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Disk.cjs","mappings":"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","names":["makeDiskStoreInt","prefix","namespace","name","existing","tsplus_module_1","$","file","dir","fsStore","get","x","JSON","parse","fu","readTextFile","setRaw","v","stringify","undefined","json","writeTextFile","store","fs","existsSync","Map","map","id","all","sem","withPermit","withPermits","flushToDisk","batchSet","tsplus_module_2","t","err","console","error","bulkSet","set","remove","makeDiskStore","mkdirSync","make","config","storesSem","primary","stores","getStore","allowNamespace","Error","storeId","s","_","find","args","filter","filterJoinSelect","DiskStoreLive","tsplus_module_4","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.makeMemoryStore = exports.MemoryStoreLive = void 0;
7
+ exports.makeMemoryStoreInt = makeMemoryStoreInt;
7
8
  exports.memFilter = memFilter;
8
9
  exports.storeId = exports.restoreFromRequestContext = void 0;
9
10
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/data/Chunk"));
@@ -40,38 +41,66 @@ function memFilter(filter, cursor) {
40
41
  return tsplus_module_4.ext_itToChunk(r);
41
42
  };
42
43
  }
43
- const storeId = tsplus_module_5.unsafeMake("store-1");
44
+ const storeId = tsplus_module_5.unsafeMake("primary");
44
45
  exports.storeId = storeId;
45
- const restoreFromRequestContext = tsplus_module_7.serviceWithEffect(tsplus_module_6.tag, ctx => tsplus_module_5.set(ctx.parent?.namespace ?? ctx.namespace ?? "store-1")(storeId));
46
- // const stores = ["store-1", "store-2", "store-3", "store-4"]
46
+ const restoreFromRequestContext = tsplus_module_7.serviceWithEffect(tsplus_module_6.tag, ctx => tsplus_module_5.set(ctx.parent?.namespace ?? ctx.namespace ?? "primary")(storeId));
47
47
  exports.restoreFromRequestContext = restoreFromRequestContext;
48
- const makeMemoryStore = () => ({
49
- make: (name, existing, config) => tsplus_module_7.gen(function* ($) {
50
- const namespaces = config?.namespaces ?? ["store-1"];
48
+ function makeMemoryStoreInt(name, existing) {
49
+ return tsplus_module_7.gen(function* ($) {
51
50
  const updateETag = (0, _utils.makeUpdateETag)(name);
52
51
  const items = yield* $(existing ?? tsplus_module_7.sync(() => new Map()));
53
52
  const makeStore = () => new Map([...items.entries()].map(([id, e]) => [id, (0, _utils.makeETag)(e)]));
54
- const stores = new Map(namespaces.map(n => [n, tsplus_module_8.unsafeMake(makeStore())]));
55
- const getStore = tsplus_module_7.flatMap(namespace => tsplus_module_8.get(stores.get(namespace)))(tsplus_module_5.get(storeId));
56
- const setStore = m => tsplus_module_7.flatMap(namespace => tsplus_module_8.set(m)(stores.get(namespace)))(tsplus_module_5.get(storeId));
53
+ const store = tsplus_module_8.unsafeMake(makeStore());
57
54
  const sem = tsplus_module_7.unsafeMakeSemaphore(1);
58
55
  const withPermit = sem.withPermits(1);
59
- const values = tsplus_module_7.map(s => s.values())(getStore);
56
+ const values = tsplus_module_7.map(s => s.values())(tsplus_module_8.get(store));
60
57
  const all = tsplus_module_7.map(tsplus_module_1.fromIterable)(values);
61
- const batchSet = items => withPermit(tsplus_module_7.map(_ => _.toReadonlyArray())(tsplus_module_7.tap(items => tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(m => {
58
+ const batchSet = items => withPermit(tsplus_module_7.map(_ => _.toReadonlyArray())(tsplus_module_7.tap(items => tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(m => {
62
59
  const mut = m;
63
60
  items.forEach(e => mut.set(e.id, e));
64
61
  return mut;
65
- })(getStore)))(tsplus_module_9.ext_forEach(items, i => tsplus_module_7.flatMap(current => updateETag(i, current))(s.find(i.id))))));
62
+ })(tsplus_module_8.get(store))))(tsplus_module_9.ext_forEach(items, i => tsplus_module_7.flatMap(current => updateETag(i, current))(s.find(i.id))))));
66
63
  const s = {
67
64
  all,
68
- find: id => tsplus_module_7.map(_ => tsplus_module_3.fromNullable(_.get(id)))(getStore),
65
+ find: id => tsplus_module_7.map(_ => tsplus_module_3.fromNullable(_.get(id)))(tsplus_module_8.get(store)),
69
66
  filter: (filter, cursor) => tsplus_module_7.map(memFilter(filter, cursor))(all),
70
67
  filterJoinSelect: filter => tsplus_module_7.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter)))(all),
71
- set: e => withPermit(tsplus_module_7.tap(e => tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(_ => new Map([..._, [e.id, e]]))(getStore)))(tsplus_module_7.flatMap(current => updateETag(e, current))(s.find(e.id)))),
68
+ set: e => withPermit(tsplus_module_7.tap(e => tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(_ => new Map([..._, [e.id, e]]))(tsplus_module_8.get(store))))(tsplus_module_7.flatMap(current => updateETag(e, current))(s.find(e.id)))),
72
69
  batchSet,
73
70
  bulkSet: batchSet,
74
- remove: e => withPermit(tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))(getStore)))
71
+ remove: e => withPermit(tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))(tsplus_module_8.get(store))))
72
+ };
73
+ return s;
74
+ });
75
+ }
76
+ const makeMemoryStore = () => ({
77
+ make: (name, existing, config) => tsplus_module_7.gen(function* ($) {
78
+ const storesSem = tsplus_module_7.unsafeMakeSemaphore(1);
79
+ const primary = yield* $(makeMemoryStoreInt(name, existing));
80
+ const stores = new Map([["primary", primary]]);
81
+ const getStore = !config?.allowNamespace ? tsplus_module_7.succeed(primary) : tsplus_module_7.flatMap(namespace => {
82
+ const store = stores.get(namespace);
83
+ if (store) {
84
+ return tsplus_module_7.succeed(store);
85
+ }
86
+ if (!config.allowNamespace(namespace)) {
87
+ throw new Error(`Namespace ${namespace} not allowed!`);
88
+ }
89
+ return storesSem.withPermits(1)(tsplus_module_7.suspendSucceed(() => {
90
+ const store = stores.get(namespace);
91
+ if (store) return tsplus_module_7.sync(() => store);
92
+ return tsplus_module_7.tap(store => tsplus_module_7.sync(() => stores.set(namespace, store)))(makeMemoryStoreInt(name, existing));
93
+ }));
94
+ })(tsplus_module_5.get(storeId));
95
+ const s = {
96
+ all: tsplus_module_7.flatMap(_ => _.all)(getStore),
97
+ find: (...args) => tsplus_module_7.flatMap(_ => _.find(...args))(getStore),
98
+ filter: (...args) => tsplus_module_7.flatMap(_ => _.filter(...args))(getStore),
99
+ filterJoinSelect: (...args) => tsplus_module_7.flatMap(_ => _.filterJoinSelect(...args))(getStore),
100
+ set: (...args) => tsplus_module_7.flatMap(_ => _.set(...args))(getStore),
101
+ batchSet: (...args) => tsplus_module_7.flatMap(_ => _.batchSet(...args))(getStore),
102
+ bulkSet: (...args) => tsplus_module_7.flatMap(_ => _.bulkSet(...args))(getStore),
103
+ remove: (...args) => tsplus_module_7.flatMap(_ => _.remove(...args))(getStore)
75
104
  };
76
105
  return s;
77
106
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","storeId","tsplus_module_5","restoreFromRequestContext","tsplus_module_7","ctx","parent","namespace","makeMemoryStore","make","name","existing","config","$","namespaces","updateETag","items","Map","makeStore","entries","map","id","e","stores","n","tsplus_module_8","getStore","get","setStore","m","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","mut","forEach","set","tsplus_module_9","i","current","find","filterJoinSelect","flatMap","bulkSet","remove","MemoryStoreLive","tsplus_module_10"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","storeId","tsplus_module_5","restoreFromRequestContext","tsplus_module_7","ctx","parent","namespace","makeMemoryStoreInt","name","existing","$","updateETag","items","Map","makeStore","entries","map","id","e","store","tsplus_module_8","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","forEach","set","tsplus_module_9","i","current","find","get","filterJoinSelect","flatMap","bulkSet","remove","makeMemoryStore","make","config","storesSem","primary","stores","getStore","allowNamespace","Error","args","MemoryStoreLive","tsplus_module_10"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
@@ -3,10 +3,63 @@ import * as fu from "@effect-app/infra-adapters/fileUtil"
3
3
 
4
4
  import fs from "fs"
5
5
 
6
- import { makeMemoryStore } from "./Memory.js"
6
+ import { dir } from "console"
7
+ import { makeMemoryStoreInt, storeId } from "./Memory.js"
7
8
  import type { PersistenceModelType, StorageConfig, Store, StoreConfig } from "./service.js"
8
9
  import { StoreMaker } from "./service.js"
9
10
 
11
+ function makeDiskStoreInt<Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(
12
+ prefix: string,
13
+ namespace: string,
14
+ name: string,
15
+ existing?: Effect<never, never, ReadonlyMap<Id2, PM>>
16
+ ) {
17
+ return Effect.gen(function*($) {
18
+ const file = dir + "/" + prefix + name + (namespace === "primary" ? "" : "-" + namespace) + ".json"
19
+ const fsStore = {
20
+ get: fu
21
+ .readTextFile(file)
22
+ .map(x => JSON.parse(x) as PM[])
23
+ .orDie,
24
+ setRaw: (v: Iterable<PM>) => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
25
+ }
26
+
27
+ const store = yield* $(
28
+ makeMemoryStoreInt<Id, Id, PM>(
29
+ name,
30
+ !fs.existsSync(file)
31
+ ? existing ?? Effect(new Map())
32
+ : fsStore.get.map(x => new Map(x.map(x => [x.id, x] as const)))
33
+ )
34
+ )
35
+
36
+ yield* $(store.all.flatMap(fsStore.setRaw))
37
+
38
+ const sem = Semaphore.unsafeMake(1)
39
+ const withPermit = sem.withPermits(1)
40
+ const flushToDisk = store.all.flatMap(fsStore.setRaw).apply(withPermit)
41
+ return {
42
+ ...store,
43
+ batchSet: flow(
44
+ store.batchSet,
45
+ t => t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)
46
+ ),
47
+ bulkSet: flow(
48
+ store.bulkSet,
49
+ t => t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)
50
+ ),
51
+ set: flow(
52
+ store.set,
53
+ t => t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)
54
+ ),
55
+ remove: flow(
56
+ store.remove,
57
+ t => t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)
58
+ )
59
+ } satisfies Store<PM, Id>
60
+ })
61
+ }
62
+
10
63
  /**
11
64
  * The Disk-backed store, flushes writes in background, but keeps the data in memory
12
65
  * and should therefore be as fast as the Memory Store.
@@ -18,55 +71,43 @@ export function makeDiskStore({ prefix }: StorageConfig) {
18
71
  fs.mkdirSync(dir)
19
72
  }
20
73
  return {
21
- make: <Id extends string, Id2 extends Id, E extends PersistenceModelType<Id>>(
74
+ make: <Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(
22
75
  name: string,
23
- existing?: Effect<never, never, ReadonlyMap<Id2, E>>,
24
- _config?: StoreConfig<E>
76
+ existing?: Effect<never, never, ReadonlyMap<Id2, PM>>,
77
+ config?: StoreConfig<PM>
25
78
  ) =>
26
79
  Effect.gen(function*($) {
27
- const file = dir + "/" + prefix + name + ".json"
28
- const fsStore = {
29
- get: fu
30
- .readTextFile(file)
31
- .map(x => JSON.parse(x) as E[])
32
- .orDie,
33
- setRaw: (v: Iterable<E>) => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
34
- }
35
-
36
- const { make } = makeMemoryStore()
37
-
38
- const store = yield* $(
39
- make<Id, Id, E>(
40
- name,
41
- !fs.existsSync(file)
42
- ? existing ?? Effect(new Map())
43
- : fsStore.get.map(x => new Map(x.map(x => [x.id, x] as const)))
80
+ const storesSem = Semaphore.unsafeMake(1)
81
+ const primary = yield* $(makeDiskStoreInt(prefix, "primary", name, existing))
82
+ const stores = new Map<string, Store<PM, Id>>([["primary", primary]])
83
+ const getStore = !config?.allowNamespace ? Effect.succeed(primary) : storeId.get.flatMap(namespace => {
84
+ const store = stores.get(namespace)
85
+ if (store) {
86
+ return Effect.succeed(store)
87
+ }
88
+ if (!config.allowNamespace!(namespace)) {
89
+ throw new Error(`Namespace ${namespace} not allowed!`)
90
+ }
91
+ return storesSem.withPermits(1)(
92
+ Effect.suspendSucceed(() => {
93
+ const existing = stores.get(namespace)
94
+ if (existing) return Effect(existing)
95
+ return makeDiskStoreInt<Id, Id2, PM>(prefix, namespace, name, existing).tap(store =>
96
+ Effect.sync(() => stores.set(namespace, store))
97
+ )
98
+ })
44
99
  )
45
- )
46
-
47
- yield* $(store.all.flatMap(fsStore.setRaw))
100
+ })
48
101
 
49
- const sem = Semaphore.unsafeMake(1)
50
- const withPermit = sem.withPermits(1)
51
- const flushToDisk = store.all.flatMap(fsStore.setRaw).apply(withPermit)
52
- const s: Store<E, Id> = {
53
- ...store,
54
- batchSet: flow(store.batchSet, t =>
55
- t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)),
56
- bulkSet: flow(store.bulkSet, t =>
57
- t.tap(() =>
58
- flushToDisk.tapErrorCause(err =>
59
- Effect(console.error(err))
60
- ).forkDaemon
61
- )),
62
- set: flow(store.set, t =>
63
- t.tap(() => flushToDisk.tapErrorCause(err => Effect(console.error(err))).forkDaemon)),
64
- remove: flow(store.remove, t =>
65
- t.tap(() =>
66
- flushToDisk.tapErrorCause(err =>
67
- Effect(console.error(err))
68
- ).forkDaemon
69
- ))
102
+ const s: Store<PM, Id> = {
103
+ all: getStore.flatMap(_ => _.all),
104
+ find: (...args) => getStore.flatMap(_ => _.find(...args)),
105
+ filter: (...args) => getStore.flatMap(_ => _.filter(...args)),
106
+ filterJoinSelect: (...args) => getStore.flatMap(_ => _.filterJoinSelect(...args)),
107
+ set: (...args) => getStore.flatMap(_ => _.set(...args)),
108
+ batchSet: (...args) => getStore.flatMap(_ => _.batchSet(...args)),
109
+ bulkSet: (...args) => getStore.flatMap(_ => _.bulkSet(...args)),
110
+ remove: (...args) => getStore.flatMap(_ => _.remove(...args))
70
111
  }
71
112
  return s
72
113
  })
@@ -23,11 +23,59 @@ export function memFilter<T extends { id: string }>(filter: Filter<T>, cursor?:
23
23
  })
24
24
  }
25
25
 
26
- export const storeId = FiberRef.unsafeMake("store-1" as `store-${number}`)
26
+ export const storeId = FiberRef.unsafeMake("primary")
27
27
  export const restoreFromRequestContext = RequestContext.Tag.accessWithEffect(ctx =>
28
- storeId.set((ctx.parent?.namespace ?? ctx.namespace ?? "store-1") as `store-${number}`)
28
+ storeId.set(ctx.parent?.namespace ?? ctx.namespace ?? "primary")
29
29
  )
30
- // const stores = ["store-1", "store-2", "store-3", "store-4"]
30
+
31
+ export function makeMemoryStoreInt<Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(
32
+ name: string,
33
+ existing?: Effect<never, never, ReadonlyMap<Id2, PM>>
34
+ ) {
35
+ return Effect.gen(function*($) {
36
+ const updateETag = makeUpdateETag(name)
37
+ const items: ReadonlyMap<Id, PM> = yield* $(existing ?? Effect(new Map<Id, PM>()))
38
+ const makeStore = (): ReadonlyMap<Id, PM> => new Map([...items.entries()].map(([id, e]) => [id, makeETag(e)]))
39
+ const store = Ref.unsafeMake(makeStore())
40
+ const sem = Semaphore.unsafeMake(1)
41
+ const withPermit = sem.withPermits(1)
42
+ const values = store.get.map(s => s.values())
43
+ const all = values.map(Chunk.fromIterable)
44
+ const batchSet = (items: NonEmptyReadonlyArray<PM>) =>
45
+ items
46
+ .forEachEffect(i => s.find(i.id).flatMap(current => updateETag(i, current)))
47
+ .tap(items =>
48
+ store.get
49
+ .map(m => {
50
+ const mut = m as Map<Id, PM>
51
+ items.forEach(e => mut.set(e.id, e))
52
+ return mut
53
+ })
54
+ .flatMap(_ => store.set(_))
55
+ )
56
+ .map(_ => _.toReadonlyArray() as NonEmptyReadonlyArray<PM>)
57
+ .apply(withPermit)
58
+ const s: Store<PM, Id> = {
59
+ all,
60
+ find: id => store.get.map(_ => Option.fromNullable(_.get(id))),
61
+ filter: (filter: Filter<PM>, cursor?: { skip?: number; limit?: number }) => all.map(memFilter(filter, cursor)),
62
+ filterJoinSelect: <T extends object>(filter: FilterJoinSelect) =>
63
+ all.map(c => c.flatMap(codeFilterJoinSelect<PM, T>(filter))),
64
+ set: e =>
65
+ s
66
+ .find(e.id)
67
+ .flatMap(current => updateETag(e, current))
68
+ .tap(e => store.get.map(_ => new Map([..._, [e.id, e]])).flatMap(_ => store.set(_)))
69
+ .apply(withPermit),
70
+ batchSet,
71
+ bulkSet: batchSet,
72
+ remove: (e: PM) =>
73
+ store.get.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))
74
+ .flatMap(_ => store.set(_)).apply(withPermit)
75
+ }
76
+ return s
77
+ })
78
+ }
31
79
 
32
80
  export const makeMemoryStore = () => ({
33
81
  make: <Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(
@@ -36,48 +84,32 @@ export const makeMemoryStore = () => ({
36
84
  config?: StoreConfig<PM>
37
85
  ) =>
38
86
  Effect.gen(function*($) {
39
- const namespaces = config?.namespaces ?? ["store-1"]
40
- const updateETag = makeUpdateETag(name)
41
- const items = yield* $(existing ?? Effect(new Map()))
42
- const makeStore = () => new Map([...items.entries()].map(([id, e]) => [id, makeETag(e)]))
43
- const stores = new Map(namespaces.map(n => [n, Ref.unsafeMake(makeStore())] as const))
44
- const getStore = storeId.get.flatMap(namespace => stores.get(namespace)!.get)
45
- const setStore = (m: any) => storeId.get.flatMap(namespace => stores.get(namespace)!.set(m))
46
- const sem = Semaphore.unsafeMake(1)
47
- const withPermit = sem.withPermits(1)
48
- const values = getStore.map(s => s.values())
49
- const all = values.map(Chunk.fromIterable)
50
- const batchSet = (items: NonEmptyReadonlyArray<PM>) =>
51
- items
52
- .forEachEffect(i => s.find(i.id).flatMap(current => updateETag(i, current)))
53
- .tap(items =>
54
- getStore
55
- .map(m => {
56
- const mut = m as Map<Id, PM>
57
- items.forEach(e => mut.set(e.id, e))
58
- return mut
59
- })
60
- .flatMap(_ => setStore(_))
61
- )
62
- .map(_ => _.toReadonlyArray() as NonEmptyReadonlyArray<PM>)
63
- .apply(withPermit)
87
+ const storesSem = Semaphore.unsafeMake(1)
88
+ const primary = yield* $(makeMemoryStoreInt<Id, Id2, PM>(name, existing))
89
+ const stores = new Map([["primary", primary]])
90
+ const getStore = !config?.allowNamespace ? Effect.succeed(primary) : storeId.get.flatMap(namespace => {
91
+ const store = stores.get(namespace)
92
+ if (store) {
93
+ return Effect.succeed(store)
94
+ }
95
+ if (!config.allowNamespace!(namespace)) {
96
+ throw new Error(`Namespace ${namespace} not allowed!`)
97
+ }
98
+ return storesSem.withPermits(1)(Effect.suspendSucceed(() => {
99
+ const store = stores.get(namespace)
100
+ if (store) return Effect(store)
101
+ return makeMemoryStoreInt(name, existing).tap(store => Effect.sync(() => stores.set(namespace, store)))
102
+ }))
103
+ })
64
104
  const s: Store<PM, Id> = {
65
- all,
66
- find: id => getStore.map(_ => Option.fromNullable(_.get(id))),
67
- filter: (filter: Filter<PM>, cursor?: { skip?: number; limit?: number }) => all.map(memFilter(filter, cursor)),
68
- filterJoinSelect: <T extends object>(filter: FilterJoinSelect) =>
69
- all.map(c => c.flatMap(codeFilterJoinSelect<PM, T>(filter))),
70
- set: e =>
71
- s
72
- .find(e.id)
73
- .flatMap(current => updateETag(e, current))
74
- .tap(e => getStore.map(_ => new Map([..._, [e.id, e]])).flatMap(_ => setStore(_)))
75
- .apply(withPermit),
76
- batchSet,
77
- bulkSet: batchSet,
78
- remove: (e: PM) =>
79
- getStore.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))
80
- .flatMap(_ => setStore(_)).apply(withPermit)
105
+ all: getStore.flatMap(_ => _.all),
106
+ find: (...args) => getStore.flatMap(_ => _.find(...args)),
107
+ filter: (...args) => getStore.flatMap(_ => _.filter(...args)),
108
+ filterJoinSelect: (...args) => getStore.flatMap(_ => _.filterJoinSelect(...args)),
109
+ set: (...args) => getStore.flatMap(_ => _.set(...args)),
110
+ batchSet: (...args) => getStore.flatMap(_ => _.batchSet(...args)),
111
+ bulkSet: (...args) => getStore.flatMap(_ => _.bulkSet(...args)),
112
+ remove: (...args) => getStore.flatMap(_ => _.remove(...args))
81
113
  }
82
114
  return s
83
115
  })
@@ -9,7 +9,7 @@ export type StoreConfig<E> = {
9
9
  uniqueKeys?: UniqueKey[]
10
10
  maxBulkSize?: number
11
11
  partitionValue: (e: E) => string | undefined
12
- namespaces?: ["store-1", ...(`store-${number}`)[]]
12
+ allowNamespace?: (namespace: string) => boolean
13
13
  }
14
14
 
15
15
  export type SupportedValues = string | boolean | number | null
@@ -18,7 +18,7 @@ export declare function makeOpenApiSpecs(rdescs: Iterable<RouteDescriptorAny>, i
18
18
  version: string;
19
19
  };
20
20
  tags: never[];
21
- paths: Record<string, Record<"GET" | "POST" | "PUT" | "PATCH" | "DELETE", {
21
+ paths: Record<string, Record<"PATCH" | "GET" | "POST" | "PUT" | "DELETE", {
22
22
  [x: string]: {
23
23
  responses: any;
24
24
  tags: readonly string[] | undefined;
@@ -94,7 +94,7 @@ export interface ReqHandler<Req, R, E, Res, ReqSchema extends MO.SchemaAny, ResS
94
94
  * })
95
95
  * ```
96
96
  */
97
- export declare function matchResource<TModules extends Record<string, Record<string, any>>>(mod: TModules): <THandlers extends { [K in keyof TModules]: (req: InstanceType<GetRequest<TModules[K]> extends infer T ? T extends GetRequest<TModules[K]> ? T extends new (...args: any[]) => any ? T : never : never : never>) => import("@effect/io/Effect").Effect<any, SupportedErrors, MO.ParsedShapeOf<Extr<GetResponse<TModules[K]>>>>; }>(handlers: THandlers) => { [K_1 in keyof TModules]: ReqHandler<InstanceType<GetRequest<TModules[K_1]> extends infer T ? T extends GetRequest<TModules[K_1]> ? T extends new (...args: any[]) => any ? T : never : never : never>, _R<ReturnType<THandlers[K_1]>>, _E<ReturnType<THandlers[K_1]>>, MO.ParsedShapeOf<Extr<GetResponse<TModules[K_1]>>>, GetRequest<TModules[K_1]>, GetResponse<TModules[K_1]>, any>; };
97
+ export declare function matchResource<TModules extends Record<string, Record<string, any>>>(mod: TModules): <THandlers extends { [K in keyof TModules]: (req: InstanceType<GetRequest<TModules[K]> extends infer T ? T extends GetRequest<TModules[K]> ? T extends new (...args: any[]) => any ? T : never : never : never>) => import("@effect/io/Effect").Effect<any, SupportedErrors, MO.ParsedShapeOf<Extr<GetResponse<TModules[K]>>>>; }>(handlers: THandlers) => { [K_1 in keyof TModules]: ReqHandler<InstanceType<GetRequest<TModules[K_1]> extends infer T_1 ? T_1 extends GetRequest<TModules[K_1]> ? T_1 extends new (...args: any[]) => any ? T_1 : never : never : never>, _R<ReturnType<THandlers[K_1]>>, _E<ReturnType<THandlers[K_1]>>, MO.ParsedShapeOf<Extr<GetResponse<TModules[K_1]>>>, GetRequest<TModules[K_1]>, GetResponse<TModules[K_1]>, any>; };
98
98
  export type ReqFromSchema<ReqSchema> = InstanceType<ReqSchema extends {
99
99
  new (...args: any[]): any;
100
100
  } ? ReqSchema : never>;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { StoreMaker } from "./service.js";
7
7
  * and should therefore be as fast as the Memory Store.
8
8
  */
9
9
  export declare function makeDiskStore({ prefix }: StorageConfig): import("@effect/io/Effect").Effect<never, never, {
10
- make: <Id extends string, Id2 extends Id, E extends PersistenceModelType<Id>>(name: string, existing?: import("@effect/io/Effect").Effect<never, never, ReadonlyMap<Id2, E>> | undefined, _config?: StoreConfig<E> | undefined) => import("@effect/io/Effect").Effect<never, never, Store<E, Id>>;
10
+ make: <Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(name: string, existing?: import("@effect/io/Effect").Effect<never, never, ReadonlyMap<Id2, PM>> | undefined, config?: StoreConfig<PM> | undefined) => import("@effect/io/Effect").Effect<never, never, Store<PM, Id>>;
11
11
  }>;
12
12
  export declare function DiskStoreLive(config: Config<StorageConfig>): import("@effect/io/Layer").Layer<never, import("@effect/io/Config/Error").ConfigError, StoreMaker>;
13
13
  //# sourceMappingURL=Disk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":";;AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa;wFAQzC,MAAM;GAqDnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,sGAI1D"}
1
+ {"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":";;AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAsDzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa;yFAQzC,MAAM;GAyCnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,sGAI1D"}
@@ -1,11 +1,37 @@
1
1
  import * as tsplus_module_1 from "@effect/io/Effect";
2
2
  import * as tsplus_module_2 from "@effect-app/core/Function";
3
- import * as tsplus_module_3 from "@effect-app/core/Effect";
3
+ import * as tsplus_module_3 from "@effect/io/FiberRef";
4
+ import * as tsplus_module_4 from "@effect-app/core/Effect";
4
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
6
  import * as fu from "@effect-app/infra-adapters/fileUtil";
6
7
  import fs from "fs";
7
- import { makeMemoryStore } from "./Memory.js";
8
+ import { dir } from "console";
9
+ import { makeMemoryStoreInt, storeId } from "./Memory.js";
8
10
  import { StoreMaker } from "./service.js";
11
+ function makeDiskStoreInt(prefix, namespace, name, existing) {
12
+ return tsplus_module_1.gen(function* ($) {
13
+ const file = dir + "/" + prefix + name + (namespace === "primary" ? "" : "-" + namespace) + ".json";
14
+ const fsStore = {
15
+ get: tsplus_module_1.orDie(tsplus_module_1.map(x => JSON.parse(x))(fu
16
+ .readTextFile(file))),
17
+ setRaw: (v) => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
18
+ };
19
+ const store = yield* $(makeMemoryStoreInt(name, !fs.existsSync(file)
20
+ ? existing ?? tsplus_module_1.sync(() => new Map())
21
+ : tsplus_module_1.map(x => new Map(x.map(x => [x.id, x])))(fsStore.get)));
22
+ yield* $(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
23
+ const sem = tsplus_module_1.unsafeMakeSemaphore(1);
24
+ const withPermit = sem.withPermits(1);
25
+ const flushToDisk = withPermit(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
26
+ return {
27
+ ...store,
28
+ batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
29
+ bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
30
+ set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
31
+ remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t))
32
+ };
33
+ });
34
+ }
9
35
  /**
10
36
  * The Disk-backed store, flushes writes in background, but keeps the data in memory
11
37
  * and should therefore be as fast as the Memory Store.
@@ -17,27 +43,34 @@ export function makeDiskStore({ prefix }) {
17
43
  fs.mkdirSync(dir);
18
44
  }
19
45
  return {
20
- make: (name, existing, _config) => tsplus_module_1.gen(function* ($) {
21
- const file = dir + "/" + prefix + name + ".json";
22
- const fsStore = {
23
- get: tsplus_module_1.orDie(tsplus_module_1.map(x => JSON.parse(x))(fu
24
- .readTextFile(file))),
25
- setRaw: (v) => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
26
- };
27
- const { make } = makeMemoryStore();
28
- const store = yield* $(make(name, !fs.existsSync(file)
29
- ? existing ?? tsplus_module_1.sync(() => new Map())
30
- : tsplus_module_1.map(x => new Map(x.map(x => [x.id, x])))(fsStore.get)));
31
- yield* $(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
32
- const sem = tsplus_module_1.unsafeMakeSemaphore(1);
33
- const withPermit = sem.withPermits(1);
34
- const flushToDisk = withPermit(tsplus_module_1.flatMap(fsStore.setRaw)(store.all));
46
+ make: (name, existing, config) => tsplus_module_1.gen(function* ($) {
47
+ const storesSem = tsplus_module_1.unsafeMakeSemaphore(1);
48
+ const primary = yield* $(makeDiskStoreInt(prefix, "primary", name, existing));
49
+ const stores = new Map([["primary", primary]]);
50
+ const getStore = !config?.allowNamespace ? tsplus_module_1.succeed(primary) : tsplus_module_1.flatMap(namespace => {
51
+ const store = stores.get(namespace);
52
+ if (store) {
53
+ return tsplus_module_1.succeed(store);
54
+ }
55
+ if (!config.allowNamespace(namespace)) {
56
+ throw new Error(`Namespace ${namespace} not allowed!`);
57
+ }
58
+ return storesSem.withPermits(1)(tsplus_module_1.suspendSucceed(() => {
59
+ const existing = stores.get(namespace);
60
+ if (existing)
61
+ return tsplus_module_1.sync(() => existing);
62
+ return tsplus_module_1.tap(store => tsplus_module_1.sync(() => stores.set(namespace, store)))(makeDiskStoreInt(prefix, namespace, name, existing));
63
+ }));
64
+ })(tsplus_module_3.get(storeId));
35
65
  const s = {
36
- ...store,
37
- batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
38
- bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
39
- set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t)),
40
- remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(err => tsplus_module_1.sync(() => console.error(err)))(flushToDisk)))(t))
66
+ all: tsplus_module_1.flatMap(_ => _.all)(getStore),
67
+ find: (...args) => tsplus_module_1.flatMap(_ => _.find(...args))(getStore),
68
+ filter: (...args) => tsplus_module_1.flatMap(_ => _.filter(...args))(getStore),
69
+ filterJoinSelect: (...args) => tsplus_module_1.flatMap(_ => _.filterJoinSelect(...args))(getStore),
70
+ set: (...args) => tsplus_module_1.flatMap(_ => _.set(...args))(getStore),
71
+ batchSet: (...args) => tsplus_module_1.flatMap(_ => _.batchSet(...args))(getStore),
72
+ bulkSet: (...args) => tsplus_module_1.flatMap(_ => _.bulkSet(...args))(getStore),
73
+ remove: (...args) => tsplus_module_1.flatMap(_ => _.remove(...args))(getStore)
41
74
  };
42
75
  return s;
43
76
  })
@@ -45,6 +78,6 @@ export function makeDiskStore({ prefix }) {
45
78
  });
46
79
  }
47
80
  export function DiskStoreLive(config) {
48
- return tsplus_module_3.toLayer(tsplus_module_1.flatMap(makeDiskStore)(tsplus_module_1.config(config)), StoreMaker);
81
+ return tsplus_module_4.toLayer(tsplus_module_1.flatMap(makeDiskStore)(tsplus_module_1.config(config)), StoreMaker);
49
82
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvRGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFbkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQWlCO0lBQ3JELE9BQU8scUJBQVksR0FBRyxFQUFFO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQTtRQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ2xCO1FBQ0QsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixRQUFvRCxFQUNwRCxPQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQTtnQkFDaEQsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsR0FBRyx3QkFBRSxvQkFFRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFRLEVBRjNCLEVBQUU7eUJBQ0osWUFBWSxDQUFDLElBQUksQ0FBQyxDQUNZLENBQ3pCO29CQUNSLE1BQU0sRUFBRSxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FB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
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvRGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFekQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRW5CLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLFNBQVMsZ0JBQWdCLENBQ3ZCLE1BQWMsRUFDZCxTQUFpQixFQUNqQixJQUFZLEVBQ1osUUFBcUQ7SUFFckQsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUNuRyxNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsd0JBQUUsb0JBRUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBUyxFQUY1QixFQUFFO2lCQUNKLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FDYSxDQUMxQjtZQUNSLE1BQU0sRUFBRSxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDOUcsQ0FBQTtRQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDcEIsa0JBQWtCLENBQ2hCLElBQUksRUFDSixDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxRQUFRLElBQUksMkJBQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsb0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQVUsQ0FBQyxDQUFDLEVBQTVELE9BQU8sQ0FBQyxHQUFHLENBQWtELENBQ2xFLENBQ0YsQ0FBQTtRQUVELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBa0IsT0FBTyxDQUFDLE1BQU0sRUFBaEMsS0FBSyxDQUFDLEdBQUcsQ0FBd0IsQ0FBQyxDQUFBO1FBRTNDLE1BQU0sR0FBRyxHQUFHLG9DQUFxQixDQUFDLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sV0FBVyxHQUEyQyxVQUFVLENBQWxELHdCQUFrQixPQUFPLENBQUMsTUFBTSxFQUFoQyxLQUFLLENBQUMsR0FBRyxDQUF3QixDQUFrQixDQUFBO1FBQ3ZFLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixRQUFRLEVBQUUsZ0JBQUEsSUFBSSxDQUNaLEtBQUssQ0FBQyxRQUFRLEVBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBTSxHQUFHLEVBQUUsNEJBQUMsOEJBQTBCLEdBQUcsQ0FBQyxFQUFFLENBQUMsMkJBQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUEzRCxXQUFXLENBQWlELENBQVcsRUFBbkYsQ0FBQyxDQUFtRixDQUMxRjtZQUNELE9BQU8sRUFBRSxnQkFBQSxJQUFJLENBQ1gsS0FBSyxDQUFDLE9BQU8sRUFDYixDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFNLEdBQUcsRUFBRSw0QkFBQyw4QkFBMEIsR0FBRyxDQUFDLEVBQUUsQ0FBQywyQkFBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQTNELFdBQVcsQ0FBaUQsQ0FBVyxFQUFuRixDQUFDLENBQW1GLENBQzFGO1lBQ0QsR0FBRyxFQUFFLGdCQUFBLElBQUksQ0FDUCxLQUFLLENBQUMsR0FBRyxFQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQU0sR0FBRyxFQUFFLDRCQUFDLDhCQUEwQixHQUFHLENBQUMsRUFBRSxDQUFDLDJCQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBM0QsV0FBVyxDQUFpRCxDQUFXLEVBQW5GLENBQUMsQ0FBbUYsQ0FDMUY7WUFDRCxNQUFNLEVBQUUsZ0JBQUEsSUFBSSxDQUNWLEtBQUssQ0FBQyxNQUFNLEVBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBTSxHQUFHLEVBQUUsNEJBQUMsOEJBQTBCLEdBQUcsQ0FBQyxFQUFFLENBQUMsMkJBQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUEzRCxXQUFXLENBQWlELENBQVcsRUFBbkYsQ0FBQyxDQUFtRixDQUMxRjtTQUNzQixDQUFBO0lBQzNCLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQWlCO0lBQ3JELE9BQU8scUJBQVksR0FBRyxFQUFFO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQTtRQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ2xCO1FBQ0QsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixRQUFxRCxFQUNyRCxNQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxTQUFTLEdBQUcsb0NBQXFCLENBQUMsQ0FBQyxDQUFBO2dCQUN6QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtnQkFDN0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQXdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLHdCQUFlLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBb0IsU0FBUyxDQUFDLEVBQUU7b0JBQ25HLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7b0JBQ25DLElBQUksS0FBSyxFQUFFO3dCQUNULE9BQU8sd0JBQWUsS0FBSyxDQUFDLENBQUE7cUJBQzdCO29CQUNELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFO3dCQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsU0FBUyxlQUFlLENBQUMsQ0FBQTtxQkFDdkQ7b0JBQ0QsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUM3QiwrQkFBc0IsR0FBRyxFQUFFO3dCQUN6QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUN0QyxJQUFJLFFBQVE7NEJBQUUsT0FBTywyQkFBTyxRQUFRLENBQUMsQ0FBQTt3QkFDckMsT0FBTyxvQkFBcUUsS0FBSyxDQUFDLEVBQUUsQ0FDbEYscUJBQVksR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFEMUMsZ0JBQWdCLENBQWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBRXRFLENBQUE7b0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtnQkFDSCxDQUFDLHNCQWpCb0UsT0FBTyxFQWlCMUUsQ0FBQTtnQkFFRixNQUFNLENBQUMsR0FBa0I7b0JBQ3ZCLEdBQUcsRUFBRSx3QkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUEzQixRQUFRLENBQW9CO29CQUNqQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsd0JBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFyQyxRQUFRLENBQThCO29CQUN6RCxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsd0JBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUF2QyxRQUFRLENBQWdDO29CQUM3RCxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyx3QkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBakQsUUFBUSxDQUEwQztvQkFDakYsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLHdCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBcEMsUUFBUSxDQUE2QjtvQkFDdkQsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLHdCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBekMsUUFBUSxDQUFrQztvQkFDakUsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLHdCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBeEMsUUFBUSxDQUFpQztvQkFDL0QsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLHdCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBdkMsUUFBUSxDQUFnQztpQkFDOUQsQ0FBQTtnQkFDRCxPQUFPLENBQUMsQ0FBQTtZQUNWLENBQUMsQ0FBQztTQUNMLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQTZCO0lBQ3pELE9BQU8sd0JBQUEsd0JBQ0ksYUFBYSx5QkFEakIsTUFBTSxFQUNZLEVBQ2QsVUFBVSxDQUFDLENBQUE7QUFDeEIsQ0FBQyJ9
@@ -10,8 +10,9 @@ export declare function memFilter<T extends {
10
10
  skip?: number;
11
11
  limit?: number;
12
12
  }): (c: Chunk<T>) => Chunk<T>;
13
- export declare const storeId: import("@effect/io/FiberRef").FiberRef<`store-${number}`>;
13
+ export declare const storeId: import("@effect/io/FiberRef").FiberRef<string>;
14
14
  export declare const restoreFromRequestContext: import("@effect/io/Effect").Effect<RequestContext, never, void>;
15
+ export declare function makeMemoryStoreInt<Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(name: string, existing?: Effect<never, never, ReadonlyMap<Id2, PM>>): import("@effect/io/Effect").Effect<never, never, Store<PM, Id>>;
15
16
  export declare const makeMemoryStore: () => {
16
17
  make: <Id extends string, Id2 extends Id, PM extends PersistenceModelType<Id>>(name: string, existing?: import("@effect/io/Effect").Effect<never, never, ReadonlyMap<Id2, PM>> | undefined, config?: StoreConfig<PM> | undefined) => import("@effect/io/Effect").Effect<never, never, Store<PM, Id>>;
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"names":[],"mappings":";;;AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAoB,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,OACnG,MAAM,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,CAehC;AAED,eAAO,MAAM,OAAO,2DAAsD,CAAA;AAC1E,eAAO,MAAM,yBAAyB,iEAErC,CAAA;AAGD,eAAO,MAAM,eAAe;yFAElB,MAAM;CAkDd,CAAA;AAEF,eAAO,MAAM,eAAe,4DAA0C,CAAA"}
1
+ {"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"names":[],"mappings":";;;AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAoB,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,OACnG,MAAM,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,CAehC;AAED,eAAO,MAAM,OAAO,gDAAiC,CAAA;AACrD,eAAO,MAAM,yBAAyB,iEAErC,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC,EACvG,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mEA6CtD;AAED,eAAO,MAAM,eAAe;yFAElB,MAAM;CAkCd,CAAA;AAEF,eAAO,MAAM,eAAe,4DAA0C,CAAA"}
@@ -29,40 +29,69 @@ export function memFilter(filter, cursor) {
29
29
  return tsplus_module_4.ext_itToChunk(r);
30
30
  });
31
31
  }
32
- export const storeId = tsplus_module_5.unsafeMake("store-1");
33
- export const restoreFromRequestContext = tsplus_module_7.serviceWithEffect(tsplus_module_6.tag, ctx => tsplus_module_5.set((ctx.parent?.namespace ?? ctx.namespace ?? "store-1"))(storeId));
34
- // const stores = ["store-1", "store-2", "store-3", "store-4"]
35
- export const makeMemoryStore = () => ({
36
- make: (name, existing, config) => tsplus_module_7.gen(function* ($) {
37
- const namespaces = config?.namespaces ?? ["store-1"];
32
+ export const storeId = tsplus_module_5.unsafeMake("primary");
33
+ export const restoreFromRequestContext = tsplus_module_7.serviceWithEffect(tsplus_module_6.tag, ctx => tsplus_module_5.set(ctx.parent?.namespace ?? ctx.namespace ?? "primary")(storeId));
34
+ export function makeMemoryStoreInt(name, existing) {
35
+ return tsplus_module_7.gen(function* ($) {
38
36
  const updateETag = makeUpdateETag(name);
39
37
  const items = yield* $(existing ?? tsplus_module_7.sync(() => new Map()));
40
38
  const makeStore = () => new Map([...items.entries()].map(([id, e]) => [id, makeETag(e)]));
41
- const stores = new Map(namespaces.map(n => [n, tsplus_module_8.unsafeMake(makeStore())]));
42
- const getStore = tsplus_module_7.flatMap(namespace => tsplus_module_8.get(stores.get(namespace)))(tsplus_module_5.get(storeId));
43
- const setStore = (m) => tsplus_module_7.flatMap(namespace => tsplus_module_8.set(m)(stores.get(namespace)))(tsplus_module_5.get(storeId));
39
+ const store = tsplus_module_8.unsafeMake(makeStore());
44
40
  const sem = tsplus_module_7.unsafeMakeSemaphore(1);
45
41
  const withPermit = sem.withPermits(1);
46
- const values = tsplus_module_7.map(s => s.values())(getStore);
42
+ const values = tsplus_module_7.map(s => s.values())(tsplus_module_8.get(store));
47
43
  const all = tsplus_module_7.map(tsplus_module_1.fromIterable)(values);
48
- const batchSet = (items) => withPermit(tsplus_module_7.map(_ => _.toReadonlyArray())(tsplus_module_7.tap(items => tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(m => {
44
+ const batchSet = (items) => withPermit(tsplus_module_7.map(_ => _.toReadonlyArray())(tsplus_module_7.tap(items => tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(m => {
49
45
  const mut = m;
50
46
  items.forEach(e => mut.set(e.id, e));
51
47
  return mut;
52
- })(getStore)))(tsplus_module_9.ext_forEach(items, i => tsplus_module_7.flatMap(current => updateETag(i, current))(s.find(i.id))))));
48
+ })(tsplus_module_8.get(store))))(tsplus_module_9.ext_forEach(items, i => tsplus_module_7.flatMap(current => updateETag(i, current))(s.find(i.id))))));
53
49
  const s = {
54
50
  all,
55
- find: id => tsplus_module_7.map(_ => tsplus_module_3.fromNullable(_.get(id)))(getStore),
51
+ find: id => tsplus_module_7.map(_ => tsplus_module_3.fromNullable(_.get(id)))(tsplus_module_8.get(store)),
56
52
  filter: (filter, cursor) => tsplus_module_7.map(memFilter(filter, cursor))(all),
57
53
  filterJoinSelect: (filter) => tsplus_module_7.map(c => c.flatMap(codeFilterJoinSelect(filter)))(all),
58
- set: e => withPermit(tsplus_module_7.tap(e => tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(_ => new Map([..._, [e.id, e]]))(getStore)))(tsplus_module_7.flatMap(current => updateETag(e, current))(s
54
+ set: e => withPermit(tsplus_module_7.tap(e => tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(_ => new Map([..._, [e.id, e]]))(tsplus_module_8.get(store))))(tsplus_module_7.flatMap(current => updateETag(e, current))(s
59
55
  .find(e.id)))),
60
56
  batchSet,
61
57
  bulkSet: batchSet,
62
- remove: (e) => withPermit(tsplus_module_7.flatMap(_ => setStore(_))(tsplus_module_7.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))(getStore)))
58
+ remove: (e) => withPermit(tsplus_module_7.flatMap(_ => tsplus_module_8.set(_)(store))(tsplus_module_7.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))(tsplus_module_8.get(store))))
59
+ };
60
+ return s;
61
+ });
62
+ }
63
+ export const makeMemoryStore = () => ({
64
+ make: (name, existing, config) => tsplus_module_7.gen(function* ($) {
65
+ const storesSem = tsplus_module_7.unsafeMakeSemaphore(1);
66
+ const primary = yield* $(makeMemoryStoreInt(name, existing));
67
+ const stores = new Map([["primary", primary]]);
68
+ const getStore = !config?.allowNamespace ? tsplus_module_7.succeed(primary) : tsplus_module_7.flatMap(namespace => {
69
+ const store = stores.get(namespace);
70
+ if (store) {
71
+ return tsplus_module_7.succeed(store);
72
+ }
73
+ if (!config.allowNamespace(namespace)) {
74
+ throw new Error(`Namespace ${namespace} not allowed!`);
75
+ }
76
+ return storesSem.withPermits(1)(tsplus_module_7.suspendSucceed(() => {
77
+ const store = stores.get(namespace);
78
+ if (store)
79
+ return tsplus_module_7.sync(() => store);
80
+ return tsplus_module_7.tap(store => tsplus_module_7.sync(() => stores.set(namespace, store)))(makeMemoryStoreInt(name, existing));
81
+ }));
82
+ })(tsplus_module_5.get(storeId));
83
+ const s = {
84
+ all: tsplus_module_7.flatMap(_ => _.all)(getStore),
85
+ find: (...args) => tsplus_module_7.flatMap(_ => _.find(...args))(getStore),
86
+ filter: (...args) => tsplus_module_7.flatMap(_ => _.filter(...args))(getStore),
87
+ filterJoinSelect: (...args) => tsplus_module_7.flatMap(_ => _.filterJoinSelect(...args))(getStore),
88
+ set: (...args) => tsplus_module_7.flatMap(_ => _.set(...args))(getStore),
89
+ batchSet: (...args) => tsplus_module_7.flatMap(_ => _.batchSet(...args))(getStore),
90
+ bulkSet: (...args) => tsplus_module_7.flatMap(_ => _.bulkSet(...args))(getStore),
91
+ remove: (...args) => tsplus_module_7.flatMap(_ => _.remove(...args))(getStore)
63
92
  };
64
93
  return s;
65
94
  })
66
95
  });
67
96
  export const MemoryStoreLive = tsplus_module_10.makeLayer(StoreMaker, makeMemoryStore());
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUErQix5QkFBeUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2RixNQUFNLFVBQVUsU0FBUyxDQUEyQixNQUFpQixFQUFFLE1BQTBDO0lBQy9HLE9BQU8sQ0FBQyxDQUFDLENBQVcsRUFBWSxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUE7UUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQTtRQUMzQixJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTywwQkFBNkQsR0FBRyxFQUFFLENBQUMsdUJBQWEsRUFBaEYsMENBQUEsNkJBQWUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFqQyxDQUFDLENBQWlDLENBQWdCLENBQStCLENBQUE7U0FDekY7UUFDRCxJQUFJLENBQUMsR0FBRywwQkFBWSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQTlCLENBQUMsQ0FBOEIsQ0FBQTtRQUN2QyxJQUFJLElBQUksRUFBRTtZQUNSLENBQUMsR0FBRyxxQkFBTyxJQUFJLEVBQVgsQ0FBQyxDQUFXLENBQUE7U0FDakI7UUFDRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsQ0FBQyxHQUFHLHFCQUFPLEtBQUssRUFBWixDQUFDLENBQVksQ0FBQTtTQUNsQjtRQUNELHFDQUFPLENBQUMsRUFBUTtJQUNsQixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMs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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUErQix5QkFBeUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2RixNQUFNLFVBQVUsU0FBUyxDQUEyQixNQUFpQixFQUFFLE1BQTBDO0lBQy9HLE9BQU8sQ0FBQyxDQUFDLENBQVcsRUFBWSxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUE7UUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQTtRQUMzQixJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTywwQkFBNkQsR0FBRyxFQUFFLENBQUMsdUJBQWEsRUFBaEYsMENBQUEsNkJBQWUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFqQyxDQUFDLENBQWlDLENBQWdCLENBQStCLENBQUE7U0FDekY7UUFDRCxJQUFJLENBQUMsR0FBRywwQkFBWSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQTlCLENBQUMsQ0FBOEIsQ0FBQTtRQUN2QyxJQUFJLElBQUksRUFBRTtZQUNSLENBQUMsR0FBRyxxQkFBTyxJQUFJLEVBQVgsQ0FBQyxDQUFXLENBQUE7U0FDakI7UUFDRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsQ0FBQyxHQUFHLHFCQUFPLEtBQUssRUFBWixDQUFDLENBQVksQ0FBQTtTQUNsQjtRQUNELHFDQUFPLENBQUMsRUFBUTtJQUNsQixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMs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
@@ -11,7 +11,7 @@ export type StoreConfig<E> = {
11
11
  uniqueKeys?: UniqueKey[];
12
12
  maxBulkSize?: number;
13
13
  partitionValue: (e: E) => string | undefined;
14
- namespaces?: ["store-1", ...(`store-${number}`)[]];
14
+ allowNamespace?: (namespace: string) => boolean;
15
15
  };
16
16
  export type SupportedValues = string | boolean | number | null;
17
17
  export type Where = {
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.23.0",
3
+ "version": "0.24.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -21,9 +21,9 @@
21
21
  "pure-rand": "^6.0.0",
22
22
  "redlock": "^4.2.0",
23
23
  "@effect-app/prelude": "0.20.3",
24
- "@effect-app/schema": "0.17.3",
25
24
  "@effect-app/core": "0.21.3",
26
- "@effect-app/infra-adapters": "0.19.3"
25
+ "@effect-app/infra-adapters": "0.19.3",
26
+ "@effect-app/schema": "0.17.3"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@babel/cli": "^7.20.7",