@@ -70,8 +70,9 @@ You can get pretty creative! Here's an example of a Lens that points to a specif
|
|||||||
const lens = Effect.all([
|
const lens = Effect.all([
|
||||||
KeyValueStore.KeyValueStore,
|
KeyValueStore.KeyValueStore,
|
||||||
Effect.succeed("someKey"),
|
Effect.succeed("someKey"),
|
||||||
|
Effect.makeSemaphore(1),
|
||||||
]).pipe(
|
]).pipe(
|
||||||
Effect.map(([kv, key]) => Lens.make({
|
Effect.map(([kv, key, semaphore]) => Lens.make({
|
||||||
get: kv.get(key),
|
get: kv.get(key),
|
||||||
|
|
||||||
changes: kv.get(key).pipe(
|
changes: kv.get(key).pipe(
|
||||||
@@ -90,7 +91,7 @@ const lens = Effect.all([
|
|||||||
? kv.set(key, a.value)
|
? kv.set(key, a.value)
|
||||||
: kv.remove(key),
|
: kv.remove(key),
|
||||||
|
|
||||||
lock: Effect.succeed(effect => effect),
|
lock: Effect.succeed(semaphore.withPermits(1)),
|
||||||
})),
|
})),
|
||||||
|
|
||||||
Effect.provide(BrowserKeyValueStore.layerLocalStorage),
|
Effect.provide(BrowserKeyValueStore.layerLocalStorage),
|
||||||
|
|||||||
Reference in New Issue
Block a user