@effect/platform 0.18.7 → 0.20.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.
- package/Command/dist/effect-platform-Command.cjs.dev.js +419 -26
- package/Command/dist/effect-platform-Command.cjs.prod.js +419 -26
- package/Command/dist/effect-platform-Command.esm.js +382 -9
- package/CommandExecutor/dist/effect-platform-CommandExecutor.cjs.dev.js +72 -7
- package/CommandExecutor/dist/effect-platform-CommandExecutor.cjs.prod.js +72 -7
- package/CommandExecutor/dist/effect-platform-CommandExecutor.esm.js +71 -2
- package/Effectify/dist/effect-platform-Effectify.cjs.dev.js +55 -3
- package/Effectify/dist/effect-platform-Effectify.cjs.prod.js +55 -3
- package/Effectify/dist/effect-platform-Effectify.esm.js +38 -2
- package/Error/dist/effect-platform-Error.cjs.dev.js +87 -5
- package/Error/dist/effect-platform-Error.cjs.prod.js +87 -5
- package/Error/dist/effect-platform-Error.esm.js +68 -2
- package/FileSystem/dist/effect-platform-FileSystem.cjs.dev.js +287 -20
- package/FileSystem/dist/effect-platform-FileSystem.cjs.prod.js +287 -20
- package/FileSystem/dist/effect-platform-FileSystem.esm.js +256 -9
- package/Http/App/dist/effect-platform-Http-App.cjs.dev.js +15 -0
- package/Http/App/dist/effect-platform-Http-App.cjs.mjs +6 -1
- package/Http/App/dist/effect-platform-Http-App.cjs.prod.js +15 -0
- package/Http/App/dist/effect-platform-Http-App.esm.js +6 -1
- package/Http/Body/dist/effect-platform-Http-Body.cjs.dev.js +4 -4
- package/Http/Body/dist/effect-platform-Http-Body.cjs.prod.js +4 -4
- package/Http/Body/dist/effect-platform-Http-Body.esm.js +4 -4
- package/Http/Client/dist/effect-platform-Http-Client.cjs.dev.js +6 -6
- package/Http/Client/dist/effect-platform-Http-Client.cjs.prod.js +6 -6
- package/Http/Client/dist/effect-platform-Http-Client.esm.js +6 -6
- package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.cjs.dev.js +5 -5
- package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.cjs.prod.js +5 -5
- package/Http/ClientRequest/dist/effect-platform-Http-ClientRequest.esm.js +5 -5
- package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.dev.js +4 -4
- package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.cjs.prod.js +4 -4
- package/Http/ClientResponse/dist/effect-platform-Http-ClientResponse.esm.js +4 -4
- package/Http/FormData/dist/effect-platform-Http-FormData.cjs.dev.js +3 -3
- package/Http/FormData/dist/effect-platform-Http-FormData.cjs.prod.js +3 -3
- package/Http/FormData/dist/effect-platform-Http-FormData.esm.js +3 -3
- package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.dev.js +2 -2
- package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.cjs.prod.js +2 -2
- package/Http/IncomingMessage/dist/effect-platform-Http-IncomingMessage.esm.js +2 -2
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.dev.js +11 -11
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.mjs +0 -1
- package/Http/Middleware/dist/effect-platform-Http-Middleware.cjs.prod.js +11 -11
- package/Http/Middleware/dist/effect-platform-Http-Middleware.esm.js +11 -10
- package/Http/Platform/dist/effect-platform-Http-Platform.cjs.dev.js +3 -3
- package/Http/Platform/dist/effect-platform-Http-Platform.cjs.prod.js +3 -3
- package/Http/Platform/dist/effect-platform-Http-Platform.esm.js +2 -2
- package/Http/Router/dist/effect-platform-Http-Router.cjs.dev.js +5 -5
- package/Http/Router/dist/effect-platform-Http-Router.cjs.prod.js +5 -5
- package/Http/Router/dist/effect-platform-Http-Router.esm.js +5 -5
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.dev.js +4 -4
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.cjs.prod.js +4 -4
- package/Http/ServerRequest/dist/effect-platform-Http-ServerRequest.esm.js +4 -4
- package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.cjs.dev.js +4 -4
- package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.cjs.prod.js +4 -4
- package/Http/ServerResponse/dist/effect-platform-Http-ServerResponse.esm.js +4 -4
- package/HttpClient/dist/effect-platform-HttpClient.cjs.dev.js +9 -9
- package/HttpClient/dist/effect-platform-HttpClient.cjs.prod.js +9 -9
- package/HttpClient/dist/effect-platform-HttpClient.esm.js +9 -9
- package/HttpServer/dist/effect-platform-HttpServer.cjs.dev.js +15 -15
- package/HttpServer/dist/effect-platform-HttpServer.cjs.prod.js +15 -15
- package/HttpServer/dist/effect-platform-HttpServer.esm.js +15 -15
- package/KeyValueStore/dist/effect-platform-KeyValueStore.cjs.dev.js +227 -18
- package/KeyValueStore/dist/effect-platform-KeyValueStore.cjs.prod.js +227 -18
- package/KeyValueStore/dist/effect-platform-KeyValueStore.esm.js +199 -10
- package/Path/dist/effect-platform-Path.cjs.dev.js +142 -9
- package/Path/dist/effect-platform-Path.cjs.prod.js +142 -9
- package/Path/dist/effect-platform-Path.esm.js +122 -7
- package/Runtime/dist/effect-platform-Runtime.cjs.dev.js +44 -4
- package/Runtime/dist/effect-platform-Runtime.cjs.prod.js +44 -4
- package/Runtime/dist/effect-platform-Runtime.esm.js +26 -3
- package/dist/App-18152f12.cjs.dev.js +93 -0
- package/dist/App-1ca51fa7.esm.js +65 -0
- package/dist/App-d8b904fa.cjs.prod.js +93 -0
- package/dist/{Body-ec1353f9.esm.js → Body-40ced606.esm.js} +1 -1
- package/dist/{Body-86ef2922.cjs.dev.js → Body-4a7ad057.cjs.dev.js} +1 -1
- package/dist/{Body-b77eac75.cjs.prod.js → Body-c26fa93f.cjs.prod.js} +1 -1
- package/dist/{Client-537f76ae.cjs.prod.js → Client-03fea3d9.cjs.prod.js} +3 -3
- package/dist/{Client-cdbd4ff7.esm.js → Client-55ef15d5.esm.js} +3 -3
- package/dist/{Client-0fbb38ab.cjs.dev.js → Client-c05eadcd.cjs.dev.js} +3 -3
- package/dist/{ClientRequest-fc429335.esm.js → ClientRequest-490c76cd.esm.js} +1 -1
- package/dist/{ClientRequest-750d8d59.cjs.prod.js → ClientRequest-a729f345.cjs.prod.js} +1 -1
- package/dist/{ClientRequest-00e89da8.cjs.dev.js → ClientRequest-c5336a28.cjs.dev.js} +1 -1
- package/dist/{ClientResponse-7e4fe7b5.esm.js → ClientResponse-6e84da40.esm.js} +1 -1
- package/dist/{ClientResponse-f9f19afb.cjs.prod.js → ClientResponse-c19fd519.cjs.prod.js} +1 -1
- package/dist/{ClientResponse-75423399.cjs.dev.js → ClientResponse-df62564e.cjs.dev.js} +1 -1
- package/dist/{FormData-ee0b1cf2.cjs.dev.js → FormData-6d030595.cjs.prod.js} +1 -1
- package/dist/{FormData-902afd18.cjs.prod.js → FormData-7ea13198.cjs.dev.js} +1 -1
- package/dist/{FormData-f54de878.esm.js → FormData-bd727d2f.esm.js} +1 -1
- package/dist/{Middleware-f9a073d7.cjs.prod.js → Middleware-6de1c21d.cjs.prod.js} +14 -20
- package/dist/{Middleware-e2edf820.cjs.dev.js → Middleware-b1d126b4.cjs.dev.js} +14 -20
- package/dist/{Middleware-240f91f6.esm.js → Middleware-d38ef616.esm.js} +15 -20
- package/dist/{Router-bf32317a.esm.js → Router-2ee665b4.esm.js} +2 -2
- package/dist/{Router-bd2b3014.cjs.dev.js → Router-43e62bd9.cjs.dev.js} +2 -2
- package/dist/{Router-6c80a4c9.cjs.prod.js → Router-53ec1aea.cjs.prod.js} +2 -2
- package/dist/{ServerRequest-03161edc.esm.js → ServerRequest-a641c507.esm.js} +1 -1
- package/dist/{ServerRequest-8d9c2c6b.cjs.dev.js → ServerRequest-cb289dae.cjs.dev.js} +1 -1
- package/dist/{ServerRequest-938f3ed0.cjs.prod.js → ServerRequest-ec4da01b.cjs.prod.js} +1 -1
- package/dist/{ServerResponse-93038062.esm.js → ServerResponse-03c252ea.esm.js} +2 -2
- package/dist/{ServerResponse-b63b7192.cjs.dev.js → ServerResponse-9af42ecb.cjs.dev.js} +2 -2
- package/dist/{ServerResponse-eae85b08.cjs.prod.js → ServerResponse-db87bde2.cjs.prod.js} +2 -2
- package/dist/{body-33521da5.cjs.prod.js → body-95276637.cjs.prod.js} +3 -3
- package/dist/{body-c7d7a944.cjs.dev.js → body-cea7c1c9.cjs.dev.js} +3 -3
- package/dist/{body-20d78ec1.esm.js → body-db8cfb3d.esm.js} +1 -1
- package/dist/{clientRequest-3e72ec54.cjs.prod.js → clientRequest-539df396.cjs.prod.js} +1 -1
- package/dist/{clientRequest-1e9e0b0d.esm.js → clientRequest-6121a7f6.esm.js} +1 -1
- package/dist/{clientRequest-423fd562.cjs.dev.js → clientRequest-dae0c34e.cjs.dev.js} +1 -1
- package/dist/declarations/src/Http/App.d.ts +28 -1
- package/dist/declarations/src/Http/App.d.ts.map +1 -1
- package/dist/declarations/src/Http/Middleware.d.ts +0 -5
- package/dist/declarations/src/Http/Middleware.d.ts.map +1 -1
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/effect-platform.cjs.dev.js +49 -68
- package/dist/effect-platform.cjs.prod.js +49 -68
- package/dist/effect-platform.esm.js +20 -58
- package/package.json +8 -5
- package/src/Http/App.ts +76 -3
- package/src/Http/Middleware.ts +0 -6
- package/src/index.ts +10 -10
- package/src/internal/http/middleware.ts +21 -19
- package/src/internal/http/router.ts +1 -1
- package/src/internal/http/serverResponse.ts +1 -1
- package/dist/App-0916639a.cjs.prod.js +0 -7
- package/dist/App-44aa3275.cjs.dev.js +0 -7
- package/dist/App-687366d8.esm.js +0 -5
- package/dist/Command-032c414c.cjs.dev.js +0 -446
- package/dist/Command-25ef5e94.cjs.prod.js +0 -446
- package/dist/Command-d8ab0c8d.esm.js +0 -403
- package/dist/CommandExecutor-158ea1d3.cjs.dev.js +0 -87
- package/dist/CommandExecutor-5807b66b.esm.js +0 -80
- package/dist/CommandExecutor-7fcae408.cjs.prod.js +0 -87
- package/dist/Effectify-2d8c3af9.cjs.dev.js +0 -66
- package/dist/Effectify-38757ba5.cjs.prod.js +0 -66
- package/dist/Effectify-e5a9d266.esm.js +0 -43
- package/dist/Error-09496a70.cjs.dev.js +0 -100
- package/dist/Error-2c4e6ce2.cjs.prod.js +0 -100
- package/dist/Error-3099667c.esm.js +0 -75
- package/dist/FileSystem-3d439a05.cjs.prod.js +0 -308
- package/dist/FileSystem-4c7daaf0.cjs.dev.js +0 -308
- package/dist/FileSystem-7e31dccd.esm.js +0 -271
- package/dist/HttpClient-44d9df26.cjs.prod.js +0 -26
- package/dist/HttpClient-5179b5b7.esm.js +0 -24
- package/dist/HttpClient-6782fcab.cjs.dev.js +0 -26
- package/dist/HttpServer-16159c3a.cjs.dev.js +0 -32
- package/dist/HttpServer-50f8df76.esm.js +0 -30
- package/dist/HttpServer-93c0fbb3.cjs.prod.js +0 -32
- package/dist/KeyValueStore-2f9a70bf.esm.js +0 -210
- package/dist/KeyValueStore-f6c5b981.cjs.prod.js +0 -244
- package/dist/KeyValueStore-f9c93610.cjs.dev.js +0 -244
- package/dist/Path-3574641f.cjs.prod.js +0 -154
- package/dist/Path-46f84ba7.esm.js +0 -128
- package/dist/Path-7ba7e370.cjs.dev.js +0 -154
- package/dist/Runtime-1edd577a.cjs.dev.js +0 -55
- package/dist/Runtime-515efccf.cjs.prod.js +0 -55
- package/dist/Runtime-7265fb98.esm.js +0 -31
- /package/dist/{clientResponse-47df36b8.esm.js → clientResponse-0ace0007.esm.js} +0 -0
- /package/dist/{clientResponse-2e4c45a9.cjs.dev.js → clientResponse-43bb73b9.cjs.dev.js} +0 -0
- /package/dist/{clientResponse-4d53f425.cjs.prod.js → clientResponse-82dae5d8.cjs.prod.js} +0 -0
|
@@ -2,29 +2,238 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('
|
|
7
|
-
require('effect/
|
|
8
|
-
require('effect/
|
|
9
|
-
require('effect/
|
|
10
|
-
require('effect/
|
|
11
|
-
require('effect
|
|
12
|
-
require('../../dist/
|
|
5
|
+
var Schema = require('@effect/schema/Schema');
|
|
6
|
+
var Context = require('effect/Context');
|
|
7
|
+
var Effect = require('effect/Effect');
|
|
8
|
+
var Function = require('effect/Function');
|
|
9
|
+
var Layer = require('effect/Layer');
|
|
10
|
+
var Option = require('effect/Option');
|
|
11
|
+
var FileSystem_dist_effectPlatformFileSystem = require('../../FileSystem/dist/effect-platform-FileSystem.cjs.dev.js');
|
|
12
|
+
var Path_dist_effectPlatformPath = require('../../Path/dist/effect-platform-Path.cjs.dev.js');
|
|
13
13
|
require('effect/Brand');
|
|
14
14
|
require('effect/Sink');
|
|
15
15
|
require('effect/Stream');
|
|
16
|
-
require('../../dist/Error
|
|
16
|
+
require('../../Error/dist/effect-platform-Error.cjs.dev.js');
|
|
17
17
|
require('effect/Data');
|
|
18
|
-
require('../../dist/Path-7ba7e370.cjs.dev.js');
|
|
19
18
|
require('path-browserify');
|
|
20
19
|
|
|
20
|
+
function _interopNamespace(e) {
|
|
21
|
+
if (e && e.__esModule) return e;
|
|
22
|
+
var n = Object.create(null);
|
|
23
|
+
if (e) {
|
|
24
|
+
Object.keys(e).forEach(function (k) {
|
|
25
|
+
if (k !== 'default') {
|
|
26
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
27
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return e[k]; }
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
n["default"] = e;
|
|
35
|
+
return Object.freeze(n);
|
|
36
|
+
}
|
|
21
37
|
|
|
38
|
+
var Schema__namespace = /*#__PURE__*/_interopNamespace(Schema);
|
|
39
|
+
var Context__namespace = /*#__PURE__*/_interopNamespace(Context);
|
|
40
|
+
var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
|
|
41
|
+
var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
|
|
42
|
+
var Option__namespace = /*#__PURE__*/_interopNamespace(Option);
|
|
22
43
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
/** @internal */
|
|
45
|
+
const TypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/KeyValueStore");
|
|
46
|
+
|
|
47
|
+
/** @internal */
|
|
48
|
+
const keyValueStoreTag = /*#__PURE__*/Context__namespace.Tag(TypeId$1);
|
|
49
|
+
|
|
50
|
+
/** @internal */
|
|
51
|
+
const make$1 = impl => keyValueStoreTag.of({
|
|
52
|
+
[TypeId$1]: TypeId$1,
|
|
53
|
+
has: key => Effect__namespace.map(impl.get(key), Option__namespace.isSome),
|
|
54
|
+
isEmpty: Effect__namespace.map(impl.size, size => size === 0),
|
|
55
|
+
modify: (key, f) => Effect__namespace.flatMap(impl.get(key), o => {
|
|
56
|
+
if (Option__namespace.isNone(o)) {
|
|
57
|
+
return Effect__namespace.succeedNone;
|
|
58
|
+
}
|
|
59
|
+
const newValue = f(o.value);
|
|
60
|
+
return Effect__namespace.as(impl.set(key, newValue), Option__namespace.some(newValue));
|
|
61
|
+
}),
|
|
62
|
+
forSchema(schema) {
|
|
63
|
+
return makeSchemaStore(this, schema);
|
|
64
|
+
},
|
|
65
|
+
...impl
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/** @internal */
|
|
69
|
+
const prefix$1 = /*#__PURE__*/Function.dual(2, (self, prefix) => ({
|
|
70
|
+
...self,
|
|
71
|
+
get: key => self.get(`${prefix}${key}`),
|
|
72
|
+
set: (key, value) => self.set(`${prefix}${key}`, value),
|
|
73
|
+
remove: key => self.remove(`${prefix}${key}`),
|
|
74
|
+
has: key => self.has(`${prefix}${key}`),
|
|
75
|
+
modify: (key, f) => self.modify(`${prefix}${key}`, f)
|
|
76
|
+
}));
|
|
77
|
+
|
|
78
|
+
/** @internal */
|
|
79
|
+
const SchemaStoreTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/KeyValueStore/SchemaStore");
|
|
80
|
+
|
|
81
|
+
/** @internal */
|
|
82
|
+
const makeSchemaStore = (store, schema) => {
|
|
83
|
+
const jsonSchema = Schema__namespace.compose(Schema__namespace.ParseJson, schema);
|
|
84
|
+
const parse = Schema__namespace.parse(jsonSchema);
|
|
85
|
+
const encode = Schema__namespace.encode(jsonSchema);
|
|
86
|
+
const get = key => Effect__namespace.flatMap(store.get(key), Option__namespace.match({
|
|
87
|
+
onNone: () => Effect__namespace.succeedNone,
|
|
88
|
+
onSome: value => Effect__namespace.asSome(parse(value))
|
|
89
|
+
}));
|
|
90
|
+
const set = (key, value) => Effect__namespace.flatMap(encode(value), json => store.set(key, json));
|
|
91
|
+
const modify = (key, f) => Effect__namespace.flatMap(get(key), o => {
|
|
92
|
+
if (Option__namespace.isNone(o)) {
|
|
93
|
+
return Effect__namespace.succeedNone;
|
|
94
|
+
}
|
|
95
|
+
const newValue = f(o.value);
|
|
96
|
+
return Effect__namespace.as(set(key, newValue), Option__namespace.some(newValue));
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
[SchemaStoreTypeId$1]: SchemaStoreTypeId$1,
|
|
100
|
+
get,
|
|
101
|
+
set,
|
|
102
|
+
modify,
|
|
103
|
+
remove: store.remove,
|
|
104
|
+
clear: store.clear,
|
|
105
|
+
size: store.size,
|
|
106
|
+
has: store.has,
|
|
107
|
+
isEmpty: store.isEmpty
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/** @internal */
|
|
112
|
+
const layerMemory$1 = /*#__PURE__*/Layer__namespace.sync(keyValueStoreTag, () => {
|
|
113
|
+
const store = new Map();
|
|
114
|
+
return make$1({
|
|
115
|
+
get: key => Effect__namespace.sync(() => Option__namespace.fromNullable(store.get(key))),
|
|
116
|
+
set: (key, value) => Effect__namespace.sync(() => store.set(key, value)),
|
|
117
|
+
remove: key => Effect__namespace.sync(() => store.delete(key)),
|
|
118
|
+
clear: Effect__namespace.sync(() => store.clear()),
|
|
119
|
+
size: Effect__namespace.sync(() => store.size)
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
/** @internal */
|
|
124
|
+
const layerFileSystem$1 = directory => Layer__namespace.effect(keyValueStoreTag, Effect__namespace.gen(function* (_) {
|
|
125
|
+
const fs = yield* _(FileSystem_dist_effectPlatformFileSystem.FileSystem);
|
|
126
|
+
const path = yield* _(Path_dist_effectPlatformPath.Path);
|
|
127
|
+
const keyPath = key => path.join(directory, encodeURIComponent(key));
|
|
128
|
+
if (!(yield* _(fs.exists(directory)))) {
|
|
129
|
+
yield* _(fs.makeDirectory(directory, {
|
|
130
|
+
recursive: true
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
return make$1({
|
|
134
|
+
get: key => Function.pipe(Effect__namespace.map(fs.readFileString(keyPath(key)), Option__namespace.some), Effect__namespace.catchTag("SystemError", sysError => sysError.reason === "NotFound" ? Effect__namespace.succeed(Option__namespace.none()) : Effect__namespace.fail(sysError))),
|
|
135
|
+
set: (key, value) => fs.writeFileString(keyPath(key), value),
|
|
136
|
+
remove: key => fs.remove(keyPath(key)),
|
|
137
|
+
has: key => fs.exists(keyPath(key)),
|
|
138
|
+
clear: Effect__namespace.zipRight(fs.remove(directory, {
|
|
139
|
+
recursive: true
|
|
140
|
+
}), fs.makeDirectory(directory, {
|
|
141
|
+
recursive: true
|
|
142
|
+
})),
|
|
143
|
+
size: Effect__namespace.map(fs.readDirectory(directory), files => files.length)
|
|
144
|
+
});
|
|
145
|
+
}));
|
|
146
|
+
|
|
147
|
+
/** @internal */
|
|
148
|
+
const layerSchema$1 = (schema, tagIdentifier) => {
|
|
149
|
+
const tag = Context__namespace.Tag(tagIdentifier);
|
|
150
|
+
const layer = Layer__namespace.effect(tag, Effect__namespace.map(keyValueStoreTag, store => store.forSchema(schema)));
|
|
151
|
+
return {
|
|
152
|
+
tag,
|
|
153
|
+
layer
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @since 1.0.0
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* @since 1.0.0
|
|
162
|
+
* @category type id
|
|
163
|
+
*/
|
|
164
|
+
const TypeId = TypeId$1;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @since 1.0.0
|
|
168
|
+
* @category type id
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @since 1.0.0
|
|
173
|
+
* @category models
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @since 1.0.0
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @since 1.0.0
|
|
182
|
+
* @category tags
|
|
183
|
+
*/
|
|
184
|
+
const KeyValueStore = keyValueStoreTag;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* @since 1.0.0
|
|
188
|
+
* @category constructors
|
|
189
|
+
*/
|
|
190
|
+
const make = make$1;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @since 1.0.0
|
|
194
|
+
* @category combinators
|
|
195
|
+
*/
|
|
196
|
+
const prefix = prefix$1;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* @since 1.0.0
|
|
200
|
+
* @category layers
|
|
201
|
+
*/
|
|
202
|
+
const layerMemory = layerMemory$1;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @since 1.0.0
|
|
206
|
+
* @category layers
|
|
207
|
+
*/
|
|
208
|
+
const layerFileSystem = layerFileSystem$1;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @since 1.0.0
|
|
212
|
+
* @category type id
|
|
213
|
+
*/
|
|
214
|
+
const SchemaStoreTypeId = SchemaStoreTypeId$1;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @since 1.0.0
|
|
218
|
+
* @category type id
|
|
219
|
+
*/
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @since 1.0.0
|
|
223
|
+
* @category models
|
|
224
|
+
*/
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @since 1.0.0
|
|
228
|
+
* @category layers
|
|
229
|
+
*/
|
|
230
|
+
const layerSchema = layerSchema$1;
|
|
231
|
+
|
|
232
|
+
exports.KeyValueStore = KeyValueStore;
|
|
233
|
+
exports.SchemaStoreTypeId = SchemaStoreTypeId;
|
|
234
|
+
exports.TypeId = TypeId;
|
|
235
|
+
exports.layerFileSystem = layerFileSystem;
|
|
236
|
+
exports.layerMemory = layerMemory;
|
|
237
|
+
exports.layerSchema = layerSchema;
|
|
238
|
+
exports.make = make;
|
|
239
|
+
exports.prefix = prefix;
|
|
@@ -2,29 +2,238 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('
|
|
7
|
-
require('effect/
|
|
8
|
-
require('effect/
|
|
9
|
-
require('effect/
|
|
10
|
-
require('effect/
|
|
11
|
-
require('effect
|
|
12
|
-
require('../../dist/
|
|
5
|
+
var Schema = require('@effect/schema/Schema');
|
|
6
|
+
var Context = require('effect/Context');
|
|
7
|
+
var Effect = require('effect/Effect');
|
|
8
|
+
var Function = require('effect/Function');
|
|
9
|
+
var Layer = require('effect/Layer');
|
|
10
|
+
var Option = require('effect/Option');
|
|
11
|
+
var FileSystem_dist_effectPlatformFileSystem = require('../../FileSystem/dist/effect-platform-FileSystem.cjs.prod.js');
|
|
12
|
+
var Path_dist_effectPlatformPath = require('../../Path/dist/effect-platform-Path.cjs.prod.js');
|
|
13
13
|
require('effect/Brand');
|
|
14
14
|
require('effect/Sink');
|
|
15
15
|
require('effect/Stream');
|
|
16
|
-
require('../../dist/Error
|
|
16
|
+
require('../../Error/dist/effect-platform-Error.cjs.prod.js');
|
|
17
17
|
require('effect/Data');
|
|
18
|
-
require('../../dist/Path-3574641f.cjs.prod.js');
|
|
19
18
|
require('path-browserify');
|
|
20
19
|
|
|
20
|
+
function _interopNamespace(e) {
|
|
21
|
+
if (e && e.__esModule) return e;
|
|
22
|
+
var n = Object.create(null);
|
|
23
|
+
if (e) {
|
|
24
|
+
Object.keys(e).forEach(function (k) {
|
|
25
|
+
if (k !== 'default') {
|
|
26
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
27
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return e[k]; }
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
n["default"] = e;
|
|
35
|
+
return Object.freeze(n);
|
|
36
|
+
}
|
|
21
37
|
|
|
38
|
+
var Schema__namespace = /*#__PURE__*/_interopNamespace(Schema);
|
|
39
|
+
var Context__namespace = /*#__PURE__*/_interopNamespace(Context);
|
|
40
|
+
var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
|
|
41
|
+
var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
|
|
42
|
+
var Option__namespace = /*#__PURE__*/_interopNamespace(Option);
|
|
22
43
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
/** @internal */
|
|
45
|
+
const TypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/KeyValueStore");
|
|
46
|
+
|
|
47
|
+
/** @internal */
|
|
48
|
+
const keyValueStoreTag = /*#__PURE__*/Context__namespace.Tag(TypeId$1);
|
|
49
|
+
|
|
50
|
+
/** @internal */
|
|
51
|
+
const make$1 = impl => keyValueStoreTag.of({
|
|
52
|
+
[TypeId$1]: TypeId$1,
|
|
53
|
+
has: key => Effect__namespace.map(impl.get(key), Option__namespace.isSome),
|
|
54
|
+
isEmpty: Effect__namespace.map(impl.size, size => size === 0),
|
|
55
|
+
modify: (key, f) => Effect__namespace.flatMap(impl.get(key), o => {
|
|
56
|
+
if (Option__namespace.isNone(o)) {
|
|
57
|
+
return Effect__namespace.succeedNone;
|
|
58
|
+
}
|
|
59
|
+
const newValue = f(o.value);
|
|
60
|
+
return Effect__namespace.as(impl.set(key, newValue), Option__namespace.some(newValue));
|
|
61
|
+
}),
|
|
62
|
+
forSchema(schema) {
|
|
63
|
+
return makeSchemaStore(this, schema);
|
|
64
|
+
},
|
|
65
|
+
...impl
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/** @internal */
|
|
69
|
+
const prefix$1 = /*#__PURE__*/Function.dual(2, (self, prefix) => ({
|
|
70
|
+
...self,
|
|
71
|
+
get: key => self.get(`${prefix}${key}`),
|
|
72
|
+
set: (key, value) => self.set(`${prefix}${key}`, value),
|
|
73
|
+
remove: key => self.remove(`${prefix}${key}`),
|
|
74
|
+
has: key => self.has(`${prefix}${key}`),
|
|
75
|
+
modify: (key, f) => self.modify(`${prefix}${key}`, f)
|
|
76
|
+
}));
|
|
77
|
+
|
|
78
|
+
/** @internal */
|
|
79
|
+
const SchemaStoreTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform/KeyValueStore/SchemaStore");
|
|
80
|
+
|
|
81
|
+
/** @internal */
|
|
82
|
+
const makeSchemaStore = (store, schema) => {
|
|
83
|
+
const jsonSchema = Schema__namespace.compose(Schema__namespace.ParseJson, schema);
|
|
84
|
+
const parse = Schema__namespace.parse(jsonSchema);
|
|
85
|
+
const encode = Schema__namespace.encode(jsonSchema);
|
|
86
|
+
const get = key => Effect__namespace.flatMap(store.get(key), Option__namespace.match({
|
|
87
|
+
onNone: () => Effect__namespace.succeedNone,
|
|
88
|
+
onSome: value => Effect__namespace.asSome(parse(value))
|
|
89
|
+
}));
|
|
90
|
+
const set = (key, value) => Effect__namespace.flatMap(encode(value), json => store.set(key, json));
|
|
91
|
+
const modify = (key, f) => Effect__namespace.flatMap(get(key), o => {
|
|
92
|
+
if (Option__namespace.isNone(o)) {
|
|
93
|
+
return Effect__namespace.succeedNone;
|
|
94
|
+
}
|
|
95
|
+
const newValue = f(o.value);
|
|
96
|
+
return Effect__namespace.as(set(key, newValue), Option__namespace.some(newValue));
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
[SchemaStoreTypeId$1]: SchemaStoreTypeId$1,
|
|
100
|
+
get,
|
|
101
|
+
set,
|
|
102
|
+
modify,
|
|
103
|
+
remove: store.remove,
|
|
104
|
+
clear: store.clear,
|
|
105
|
+
size: store.size,
|
|
106
|
+
has: store.has,
|
|
107
|
+
isEmpty: store.isEmpty
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/** @internal */
|
|
112
|
+
const layerMemory$1 = /*#__PURE__*/Layer__namespace.sync(keyValueStoreTag, () => {
|
|
113
|
+
const store = new Map();
|
|
114
|
+
return make$1({
|
|
115
|
+
get: key => Effect__namespace.sync(() => Option__namespace.fromNullable(store.get(key))),
|
|
116
|
+
set: (key, value) => Effect__namespace.sync(() => store.set(key, value)),
|
|
117
|
+
remove: key => Effect__namespace.sync(() => store.delete(key)),
|
|
118
|
+
clear: Effect__namespace.sync(() => store.clear()),
|
|
119
|
+
size: Effect__namespace.sync(() => store.size)
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
/** @internal */
|
|
124
|
+
const layerFileSystem$1 = directory => Layer__namespace.effect(keyValueStoreTag, Effect__namespace.gen(function* (_) {
|
|
125
|
+
const fs = yield* _(FileSystem_dist_effectPlatformFileSystem.FileSystem);
|
|
126
|
+
const path = yield* _(Path_dist_effectPlatformPath.Path);
|
|
127
|
+
const keyPath = key => path.join(directory, encodeURIComponent(key));
|
|
128
|
+
if (!(yield* _(fs.exists(directory)))) {
|
|
129
|
+
yield* _(fs.makeDirectory(directory, {
|
|
130
|
+
recursive: true
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
return make$1({
|
|
134
|
+
get: key => Function.pipe(Effect__namespace.map(fs.readFileString(keyPath(key)), Option__namespace.some), Effect__namespace.catchTag("SystemError", sysError => sysError.reason === "NotFound" ? Effect__namespace.succeed(Option__namespace.none()) : Effect__namespace.fail(sysError))),
|
|
135
|
+
set: (key, value) => fs.writeFileString(keyPath(key), value),
|
|
136
|
+
remove: key => fs.remove(keyPath(key)),
|
|
137
|
+
has: key => fs.exists(keyPath(key)),
|
|
138
|
+
clear: Effect__namespace.zipRight(fs.remove(directory, {
|
|
139
|
+
recursive: true
|
|
140
|
+
}), fs.makeDirectory(directory, {
|
|
141
|
+
recursive: true
|
|
142
|
+
})),
|
|
143
|
+
size: Effect__namespace.map(fs.readDirectory(directory), files => files.length)
|
|
144
|
+
});
|
|
145
|
+
}));
|
|
146
|
+
|
|
147
|
+
/** @internal */
|
|
148
|
+
const layerSchema$1 = (schema, tagIdentifier) => {
|
|
149
|
+
const tag = Context__namespace.Tag(tagIdentifier);
|
|
150
|
+
const layer = Layer__namespace.effect(tag, Effect__namespace.map(keyValueStoreTag, store => store.forSchema(schema)));
|
|
151
|
+
return {
|
|
152
|
+
tag,
|
|
153
|
+
layer
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @since 1.0.0
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* @since 1.0.0
|
|
162
|
+
* @category type id
|
|
163
|
+
*/
|
|
164
|
+
const TypeId = TypeId$1;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @since 1.0.0
|
|
168
|
+
* @category type id
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @since 1.0.0
|
|
173
|
+
* @category models
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @since 1.0.0
|
|
178
|
+
*/
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @since 1.0.0
|
|
182
|
+
* @category tags
|
|
183
|
+
*/
|
|
184
|
+
const KeyValueStore = keyValueStoreTag;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* @since 1.0.0
|
|
188
|
+
* @category constructors
|
|
189
|
+
*/
|
|
190
|
+
const make = make$1;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @since 1.0.0
|
|
194
|
+
* @category combinators
|
|
195
|
+
*/
|
|
196
|
+
const prefix = prefix$1;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* @since 1.0.0
|
|
200
|
+
* @category layers
|
|
201
|
+
*/
|
|
202
|
+
const layerMemory = layerMemory$1;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @since 1.0.0
|
|
206
|
+
* @category layers
|
|
207
|
+
*/
|
|
208
|
+
const layerFileSystem = layerFileSystem$1;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @since 1.0.0
|
|
212
|
+
* @category type id
|
|
213
|
+
*/
|
|
214
|
+
const SchemaStoreTypeId = SchemaStoreTypeId$1;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @since 1.0.0
|
|
218
|
+
* @category type id
|
|
219
|
+
*/
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @since 1.0.0
|
|
223
|
+
* @category models
|
|
224
|
+
*/
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @since 1.0.0
|
|
228
|
+
* @category layers
|
|
229
|
+
*/
|
|
230
|
+
const layerSchema = layerSchema$1;
|
|
231
|
+
|
|
232
|
+
exports.KeyValueStore = KeyValueStore;
|
|
233
|
+
exports.SchemaStoreTypeId = SchemaStoreTypeId;
|
|
234
|
+
exports.TypeId = TypeId;
|
|
235
|
+
exports.layerFileSystem = layerFileSystem;
|
|
236
|
+
exports.layerMemory = layerMemory;
|
|
237
|
+
exports.layerSchema = layerSchema;
|
|
238
|
+
exports.make = make;
|
|
239
|
+
exports.prefix = prefix;
|