effect-start 0.32.0 → 0.34.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/dist/Entity.d.ts +6 -1
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +43 -5
- package/dist/Entity.js.map +1 -1
- package/dist/Fetch.js.map +1 -1
- package/dist/FileRouterCodegen.js +2 -2
- package/dist/FileRouterCodegen.js.map +1 -1
- package/dist/Html.d.ts +5 -11
- package/dist/Html.d.ts.map +1 -1
- package/dist/Html.js +21 -1
- package/dist/Html.js.map +1 -1
- package/dist/KeyValueStore.d.ts +37 -0
- package/dist/KeyValueStore.d.ts.map +1 -0
- package/dist/KeyValueStore.js +99 -0
- package/dist/KeyValueStore.js.map +1 -0
- package/dist/Route.d.ts +2 -2
- package/dist/Route.d.ts.map +1 -1
- package/dist/Route.js +1 -1
- package/dist/Route.js.map +1 -1
- package/dist/RouteBody.d.ts +2 -2
- package/dist/RouteBody.d.ts.map +1 -1
- package/dist/RouteHttp.d.ts.map +1 -1
- package/dist/RouteHttp.js +45 -35
- package/dist/RouteHttp.js.map +1 -1
- package/dist/RouteMount.d.ts +20 -31
- package/dist/RouteMount.d.ts.map +1 -1
- package/dist/RouteMount.js +0 -15
- package/dist/RouteMount.js.map +1 -1
- package/dist/Start.d.ts.map +1 -1
- package/dist/Start.js +4 -0
- package/dist/Start.js.map +1 -1
- package/dist/StaticFiles.d.ts +2 -2
- package/dist/StaticFiles.d.ts.map +1 -1
- package/dist/StaticFiles.js +7 -8
- package/dist/StaticFiles.js.map +1 -1
- package/dist/bun/BunRoute.d.ts.map +1 -1
- package/dist/bun/BunRoute.js +90 -78
- package/dist/bun/BunRoute.js.map +1 -1
- package/dist/bun/BunServer.d.ts +1 -1
- package/dist/bun/BunServer.d.ts.map +1 -1
- package/dist/bun/BunServer.js +8 -1
- package/dist/bun/BunServer.js.map +1 -1
- package/dist/bundler/BundleRoute.d.ts +4 -4
- package/dist/bundler/BundleRoute.d.ts.map +1 -1
- package/dist/datastar/attributes/computed.js +3 -3
- package/dist/datastar/attributes/computed.js.map +1 -1
- package/dist/datastar/attributes/on.js +11 -36
- package/dist/datastar/attributes/on.js.map +1 -1
- package/dist/datastar/engine.d.ts +9 -7
- package/dist/datastar/engine.d.ts.map +1 -1
- package/dist/datastar/engine.js +45 -29
- package/dist/datastar/engine.js.map +1 -1
- package/dist/datastar/jsx.d.ts +70 -0
- package/dist/datastar/jsx.d.ts.map +1 -0
- package/dist/datastar/jsx.js +2 -0
- package/dist/datastar/jsx.js.map +1 -0
- package/dist/datastar/window.d.ts +8 -0
- package/dist/datastar/window.d.ts.map +1 -0
- package/dist/datastar/window.js +4 -0
- package/dist/datastar/window.js.map +1 -0
- package/dist/experimental/KeyValueStore.d.ts +37 -0
- package/dist/experimental/KeyValueStore.d.ts.map +1 -0
- package/dist/experimental/KeyValueStore.js +99 -0
- package/dist/experimental/KeyValueStore.js.map +1 -0
- package/dist/experimental/SqlCache.d.ts +19 -0
- package/dist/experimental/SqlCache.d.ts.map +1 -0
- package/dist/experimental/SqlCache.js +35 -0
- package/dist/experimental/SqlCache.js.map +1 -0
- package/dist/experimental/SqlIntrospect.d.ts +92 -0
- package/dist/experimental/SqlIntrospect.d.ts.map +1 -0
- package/dist/experimental/SqlIntrospect.js +478 -0
- package/dist/experimental/SqlIntrospect.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jsx-runtime.d.ts +2 -2
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx.d.ts +3216 -0
- package/dist/jsx.d.ts.map +1 -0
- package/dist/jsx.js +6 -0
- package/dist/jsx.js.map +1 -0
- package/dist/lint/plugin.d.ts +4 -3
- package/dist/lint/plugin.js +56 -17
- package/dist/lint/plugin.js.map +1 -1
- package/dist/sql/index.d.ts +0 -2
- package/dist/sql/index.d.ts.map +1 -1
- package/dist/sql/index.js +0 -2
- package/dist/sql/index.js.map +1 -1
- package/dist/studio/StudioLogger.d.ts.map +1 -1
- package/dist/studio/StudioLogger.js +2 -1
- package/dist/studio/StudioLogger.js.map +1 -1
- package/dist/studio/StudioStore.d.ts +3 -0
- package/dist/studio/StudioStore.d.ts.map +1 -1
- package/dist/studio/StudioStore.js +13 -0
- package/dist/studio/StudioStore.js.map +1 -1
- package/dist/studio/_Pretty.d.ts +4 -0
- package/dist/studio/_Pretty.d.ts.map +1 -0
- package/dist/studio/_Pretty.js +56 -0
- package/dist/studio/_Pretty.js.map +1 -0
- package/dist/studio/routes/errors/route.d.ts +2 -2
- package/dist/studio/routes/fiberDetail.d.ts +2 -2
- package/dist/studio/routes/fibers/route.d.ts +2 -2
- package/dist/studio/routes/layout.d.ts +2 -0
- package/dist/studio/routes/layout.d.ts.map +1 -1
- package/dist/studio/routes/layout.html +3 -12
- package/dist/studio/routes/layout.js +6 -1
- package/dist/studio/routes/layout.js.map +1 -1
- package/dist/studio/routes/logs/route.d.ts +2 -2
- package/dist/studio/routes/metrics/route.d.ts +2 -2
- package/dist/studio/routes/route.d.ts +2 -2
- package/dist/studio/routes/routes/route.d.ts +2 -2
- package/dist/studio/routes/services/route.d.ts +2 -2
- package/dist/studio/routes/system/route.d.ts +2 -2
- package/dist/studio/routes/traceDetail.d.ts +2 -2
- package/dist/studio/routes/traces/route.d.ts +2 -2
- package/dist/studio/routes/traces/route.d.ts.map +1 -1
- package/dist/studio/routes/traces/route.js +5 -2
- package/dist/studio/routes/traces/route.js.map +1 -1
- package/dist/studio/routes/tree.d.ts +22 -0
- package/dist/studio/routes/tree.d.ts.map +1 -1
- package/dist/studio/ui/Errors.d.ts +1 -1
- package/dist/studio/ui/Errors.js +1 -1
- package/dist/studio/ui/Errors.js.map +1 -1
- package/dist/studio/ui/Fibers.d.ts +2 -2
- package/dist/studio/ui/Fibers.d.ts.map +1 -1
- package/dist/studio/ui/Fibers.js +4 -3
- package/dist/studio/ui/Fibers.js.map +1 -1
- package/dist/studio/ui/Logs.d.ts +1 -1
- package/dist/studio/ui/Logs.d.ts.map +1 -1
- package/dist/studio/ui/Logs.js +2 -1
- package/dist/studio/ui/Logs.js.map +1 -1
- package/dist/studio/ui/Metrics.d.ts +1 -1
- package/dist/studio/ui/Routes.d.ts +1 -1
- package/dist/studio/ui/Routes.d.ts.map +1 -1
- package/dist/studio/ui/Services.d.ts +1 -1
- package/dist/studio/ui/Services.d.ts.map +1 -1
- package/dist/studio/ui/Shell.d.ts +2 -2
- package/dist/studio/ui/Shell.d.ts.map +1 -1
- package/dist/studio/ui/System.d.ts +1 -1
- package/dist/studio/ui/Traces.d.ts +3 -3
- package/dist/studio/ui/Traces.d.ts.map +1 -1
- package/dist/studio/ui/Traces.js +5 -11
- package/dist/studio/ui/Traces.js.map +1 -1
- package/dist/studio/ui/_PrettyValue.d.ts +10 -0
- package/dist/studio/ui/_PrettyValue.d.ts.map +1 -0
- package/dist/studio/ui/_PrettyValue.js +27 -0
- package/dist/studio/ui/_PrettyValue.js.map +1 -0
- package/dist/tailwind/TailwindPlugin.d.ts.map +1 -1
- package/dist/tailwind/TailwindPlugin.js +89 -62
- package/dist/tailwind/TailwindPlugin.js.map +1 -1
- package/dist/ts/import-plugin.cjs +388 -0
- package/dist/ts/import-plugin.cjs.map +1 -0
- package/dist/ts/import-plugin.d.cts +87 -0
- package/dist/ts/import-plugin.d.cts.map +1 -0
- package/dist/ts/import-plugin.d.ts +87 -0
- package/dist/ts/import-plugin.d.ts.map +1 -0
- package/dist/ts/import-plugin.js +390 -0
- package/dist/ts/import-plugin.js.map +1 -0
- package/package.json +109 -8
- package/src/Entity.ts +62 -8
- package/src/Fetch.ts +1 -1
- package/src/FileRouterCodegen.ts +2 -2
- package/src/Html.ts +28 -21
- package/src/Route.ts +2 -2
- package/src/RouteBody.ts +2 -2
- package/src/RouteHttp.ts +45 -47
- package/src/RouteMount.ts +23 -65
- package/src/Start.ts +4 -0
- package/src/StaticFiles.ts +7 -10
- package/src/bun/BunRoute.ts +117 -95
- package/src/bun/BunServer.ts +9 -2
- package/src/datastar/README.md +24 -8
- package/src/datastar/attributes/computed.ts +3 -3
- package/src/datastar/attributes/on.ts +11 -37
- package/src/datastar/engine.ts +61 -37
- package/src/datastar/jsx.d.ts +12 -26
- package/src/datastar/types.d.ts +8 -0
- package/src/experimental/KeyValueStore.ts +161 -0
- package/src/{sql → experimental}/SqlCache.ts +1 -1
- package/src/{sql → experimental}/SqlIntrospect.ts +1 -1
- package/src/index.ts +1 -0
- package/src/jsx-runtime.ts +1 -1
- package/src/jsx.d.ts +17 -2
- package/src/lint/plugin.js +54 -19
- package/src/sql/index.ts +0 -2
- package/src/studio/StudioLogger.ts +2 -1
- package/src/studio/StudioStore.ts +18 -0
- package/src/studio/_Pretty.ts +59 -0
- package/src/studio/routes/layout.html +3 -12
- package/src/studio/routes/layout.tsx +9 -1
- package/src/studio/routes/traces/route.tsx +5 -1
- package/src/studio/ui/Errors.tsx +1 -1
- package/src/studio/ui/Fibers.tsx +14 -10
- package/src/studio/ui/Logs.tsx +15 -10
- package/src/studio/ui/Traces.tsx +40 -68
- package/src/studio/ui/_PrettyValue.tsx +34 -0
- package/src/tailwind/TailwindPlugin.ts +102 -75
- package/src/RouteTrie.ts +0 -205
- package/src/experimental/index.ts +0 -1
package/dist/datastar/engine.js
CHANGED
|
@@ -7,6 +7,26 @@ export const DSP = lol.slice(0, 5);
|
|
|
7
7
|
export const DSS = lol.slice(4);
|
|
8
8
|
export const DATASTAR_FETCH_EVENT = "datastar-fetch";
|
|
9
9
|
export const DATASTAR_SIGNAL_PATCH_EVENT = "datastar-signal-patch";
|
|
10
|
+
export const createDataEvent = ({ el, evt, cleanups, error, }) => {
|
|
11
|
+
const actionsProxy = new Proxy({}, {
|
|
12
|
+
get: (_, name) => (...actionArgs) => {
|
|
13
|
+
const err = error(name);
|
|
14
|
+
const fn = actions[name];
|
|
15
|
+
if (fn) {
|
|
16
|
+
return fn({ el, evt: undefined, error: err, cleanups }, ...actionArgs);
|
|
17
|
+
}
|
|
18
|
+
throw err("UndefinedAction");
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
const dataEvt = (evt instanceof Event ? evt : new Event("datastar:expression"));
|
|
22
|
+
Object.defineProperties(dataEvt, {
|
|
23
|
+
target: { value: el },
|
|
24
|
+
signals: { value: root },
|
|
25
|
+
actions: { value: actionsProxy },
|
|
26
|
+
window: { value: window },
|
|
27
|
+
});
|
|
28
|
+
return dataEvt;
|
|
29
|
+
};
|
|
10
30
|
const ReactiveFlags = {
|
|
11
31
|
None: 0,
|
|
12
32
|
Mutable: 1 << 0,
|
|
@@ -795,6 +815,7 @@ const applyAttributePlugin = (el, attrKey, value, onlyNew) => {
|
|
|
795
815
|
const { pluginName, key, mods } = parseAttributeKey(rawKey);
|
|
796
816
|
const plugin = attributePlugins.get(pluginName);
|
|
797
817
|
if ((!onlyNew || queuedAttributeNames.has(pluginName)) && plugin) {
|
|
818
|
+
const cleanups = new Map();
|
|
798
819
|
const ctx = {
|
|
799
820
|
el,
|
|
800
821
|
rawKey,
|
|
@@ -844,7 +865,6 @@ const applyAttributePlugin = (el, attrKey, value, onlyNew) => {
|
|
|
844
865
|
throw ctx.error("KeyOrValueRequired");
|
|
845
866
|
}
|
|
846
867
|
}
|
|
847
|
-
const cleanups = new Map();
|
|
848
868
|
if (valueProvided) {
|
|
849
869
|
let cachedRx;
|
|
850
870
|
ctx.rx = (...args) => {
|
|
@@ -882,25 +902,15 @@ const genRx = (value, { returnsValue = false, argNames = [], cleanups = new Map(
|
|
|
882
902
|
if (/^\s*(?:async\s+)?(?:\(.*?\)\s*=>|[\w$]+\s*=>|function\s*[\w$]*\s*\()/.test(value)) {
|
|
883
903
|
const userFn = Function(`return (${value.trim()})`)();
|
|
884
904
|
return (el, ...args) => {
|
|
885
|
-
const
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
}
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
return fn({ el, evt: undefined, error: err, cleanups }, ...actionArgs);
|
|
895
|
-
throw err("UndefinedAction");
|
|
896
|
-
},
|
|
897
|
-
});
|
|
898
|
-
const dataEvt = args[0] instanceof Event ? args[0] : new Event("datastar:expression");
|
|
899
|
-
Object.defineProperties(dataEvt, {
|
|
900
|
-
target: { value: el },
|
|
901
|
-
signals: { value: root },
|
|
902
|
-
actions: { value: actionsProxy },
|
|
903
|
-
window: { value: window },
|
|
905
|
+
const dataEvt = createDataEvent({
|
|
906
|
+
el,
|
|
907
|
+
evt: args[0],
|
|
908
|
+
cleanups,
|
|
909
|
+
error: (name) => error.bind(0, {
|
|
910
|
+
plugin: { type: "action", name },
|
|
911
|
+
element: { id: el.id, tag: el.tagName },
|
|
912
|
+
expression: { fnContent: value, value },
|
|
913
|
+
}),
|
|
904
914
|
});
|
|
905
915
|
try {
|
|
906
916
|
return userFn(dataEvt);
|
|
@@ -917,15 +927,21 @@ const genRx = (value, { returnsValue = false, argNames = [], cleanups = new Map(
|
|
|
917
927
|
}
|
|
918
928
|
let expr = "";
|
|
919
929
|
if (returnsValue) {
|
|
920
|
-
const
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
930
|
+
const trimmed = value.trim();
|
|
931
|
+
if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
|
|
932
|
+
expr = `return (${trimmed});`;
|
|
933
|
+
}
|
|
934
|
+
else {
|
|
935
|
+
const statementRe = /(\/(\\\/|[^/])*\/|"(\\"|[^"])*"|'(\\'|[^'])*'|`(\\`|[^`])*`|\(\s*((function)\s*\(\s*\)|(\(\s*\))\s*=>)\s*(?:\{[\s\S]*?\}|[^;){]*)\s*\)\s*\(\s*\)|[^;])+/gm;
|
|
936
|
+
const statements = trimmed.match(statementRe);
|
|
937
|
+
if (statements) {
|
|
938
|
+
const lastIdx = statements.length - 1;
|
|
939
|
+
const last = statements[lastIdx].trim();
|
|
940
|
+
if (!last.startsWith("return")) {
|
|
941
|
+
statements[lastIdx] = `return (${last});`;
|
|
942
|
+
}
|
|
943
|
+
expr = statements.join(";\n");
|
|
944
|
+
}
|
|
929
945
|
}
|
|
930
946
|
}
|
|
931
947
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/datastar/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/datastar/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { DataEvent } from "./engine.ts";
|
|
2
|
+
type DatastarSignalsObject = Record<string, any>;
|
|
3
|
+
type DatastarClassObject = Record<string, boolean | string>;
|
|
4
|
+
type DatastarAttrObject = Record<string, string | boolean | number>;
|
|
5
|
+
type DatastarStyleObject = Record<string, string | number | boolean | null | undefined>;
|
|
6
|
+
type DatastarFn = (e: DataEvent) => any;
|
|
7
|
+
type DatastarOnConfig = {
|
|
8
|
+
prevent?: boolean;
|
|
9
|
+
stop?: boolean;
|
|
10
|
+
capture?: boolean;
|
|
11
|
+
passive?: boolean;
|
|
12
|
+
once?: boolean;
|
|
13
|
+
outside?: boolean;
|
|
14
|
+
window?: boolean;
|
|
15
|
+
viewTransition?: boolean;
|
|
16
|
+
} & ({
|
|
17
|
+
debounce?: number;
|
|
18
|
+
throttle?: never;
|
|
19
|
+
} | {
|
|
20
|
+
debounce?: never;
|
|
21
|
+
throttle?: number;
|
|
22
|
+
});
|
|
23
|
+
type DatastarOnFn = DatastarFn | [handler: DatastarFn, config: DatastarOnConfig];
|
|
24
|
+
/**
|
|
25
|
+
* Datastar attributes for reactive web applications
|
|
26
|
+
* @see https://data-star.dev/reference/attributes
|
|
27
|
+
*/
|
|
28
|
+
export interface DatastarAttributes {
|
|
29
|
+
"data-signals"?: string | DatastarSignalsObject | undefined;
|
|
30
|
+
"data-class"?: string | DatastarFn | DatastarClassObject | undefined;
|
|
31
|
+
"data-attr"?: string | DatastarFn | DatastarAttrObject | undefined;
|
|
32
|
+
"data-style"?: string | DatastarFn | DatastarStyleObject | undefined;
|
|
33
|
+
"data-show"?: string | DatastarFn | boolean | undefined;
|
|
34
|
+
"data-ignore"?: string | boolean | undefined;
|
|
35
|
+
"data-ignore-morph"?: string | boolean | undefined;
|
|
36
|
+
"data-bind"?: string | undefined;
|
|
37
|
+
"data-computed"?: string | DatastarFn | undefined;
|
|
38
|
+
"data-effect"?: string | DatastarFn | undefined;
|
|
39
|
+
"data-indicator"?: string | undefined;
|
|
40
|
+
"data-json-signals"?: string | undefined;
|
|
41
|
+
"data-on"?: string | DatastarOnFn | undefined;
|
|
42
|
+
"data-on-intersect"?: string | DatastarOnFn | undefined;
|
|
43
|
+
"data-on-interval"?: string | DatastarOnFn | undefined;
|
|
44
|
+
"data-on-load"?: string | DatastarOnFn | undefined;
|
|
45
|
+
"data-on-signal-patch"?: string | DatastarOnFn | undefined;
|
|
46
|
+
"data-on-signal-patch-filter"?: string | undefined;
|
|
47
|
+
"data-preserve-attr"?: string | undefined;
|
|
48
|
+
"data-ref"?: string | undefined;
|
|
49
|
+
"data-text"?: string | DatastarFn | undefined;
|
|
50
|
+
"data-animate"?: string | undefined;
|
|
51
|
+
"data-custom-validity"?: string | DatastarFn | undefined;
|
|
52
|
+
"data-on-raf"?: string | DatastarOnFn | undefined;
|
|
53
|
+
"data-on-resize"?: string | DatastarOnFn | undefined;
|
|
54
|
+
"data-persist"?: string | undefined;
|
|
55
|
+
"data-query-string"?: string | undefined;
|
|
56
|
+
"data-replace-url"?: string | undefined;
|
|
57
|
+
"data-scroll-into-view"?: string | undefined;
|
|
58
|
+
"data-view-transition"?: string | undefined;
|
|
59
|
+
[key: `data-signals:${string}`]: string | undefined;
|
|
60
|
+
[key: `data-class:${string}`]: string | DatastarFn | undefined;
|
|
61
|
+
[key: `data-attr:${string}`]: string | DatastarFn | undefined;
|
|
62
|
+
[key: `data-style:${string}`]: string | DatastarFn | undefined;
|
|
63
|
+
[key: `data-bind:${string}`]: string | undefined;
|
|
64
|
+
[key: `data-computed:${string}`]: string | DatastarFn | undefined;
|
|
65
|
+
[key: `data-indicator:${string}`]: string | undefined;
|
|
66
|
+
[key: `data-ref:${string}`]: string | undefined;
|
|
67
|
+
[key: `data-on:${string}`]: string | DatastarOnFn | undefined;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=jsx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/datastar/jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/datastar/jsx.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/datastar/window.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAE1B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,EAAE,EAAE,OAAO,EAAE,CAAA;KACd;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/datastar/window.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAE1B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAQhC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Function from "effect/Function";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
declare const TypeId: "effect-start/KeyValueStore";
|
|
6
|
+
export interface KeyValueStore {
|
|
7
|
+
readonly [TypeId]: typeof TypeId;
|
|
8
|
+
readonly get: (key: string) => Effect.Effect<string | undefined, KeyValueStoreError>;
|
|
9
|
+
readonly getUint8Array: (key: string) => Effect.Effect<Uint8Array | undefined, KeyValueStoreError>;
|
|
10
|
+
readonly set: (key: string, value: string | Uint8Array) => Effect.Effect<void, KeyValueStoreError>;
|
|
11
|
+
readonly remove: (key: string) => Effect.Effect<void, KeyValueStoreError>;
|
|
12
|
+
readonly clear: Effect.Effect<void, KeyValueStoreError>;
|
|
13
|
+
readonly size: Effect.Effect<number, KeyValueStoreError>;
|
|
14
|
+
readonly modify: (key: string, f: (value: string) => string) => Effect.Effect<string | undefined, KeyValueStoreError>;
|
|
15
|
+
readonly modifyUint8Array: (key: string, f: (value: Uint8Array) => Uint8Array) => Effect.Effect<Uint8Array | undefined, KeyValueStoreError>;
|
|
16
|
+
readonly has: (key: string) => Effect.Effect<boolean, KeyValueStoreError>;
|
|
17
|
+
readonly isEmpty: Effect.Effect<boolean, KeyValueStoreError>;
|
|
18
|
+
}
|
|
19
|
+
declare const KeyValueStoreError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
20
|
+
readonly _tag: "KeyValueStoreError";
|
|
21
|
+
} & Readonly<A>;
|
|
22
|
+
export declare class KeyValueStoreError extends KeyValueStoreError_base<{
|
|
23
|
+
message: string;
|
|
24
|
+
method: string;
|
|
25
|
+
key?: string;
|
|
26
|
+
cause?: unknown;
|
|
27
|
+
}> {
|
|
28
|
+
}
|
|
29
|
+
export declare const KeyValueStore: Context.Tag<KeyValueStore, KeyValueStore>;
|
|
30
|
+
export declare const prefix: {
|
|
31
|
+
(prefix: string): (self: KeyValueStore) => KeyValueStore;
|
|
32
|
+
(self: KeyValueStore, prefix: string): KeyValueStore;
|
|
33
|
+
};
|
|
34
|
+
export declare const layerMemory: Layer.Layer<KeyValueStore>;
|
|
35
|
+
export declare const layerStorage: (evaluate: Function.LazyArg<Storage>) => Layer.Layer<KeyValueStore>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=KeyValueStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueStore.d.ts","sourceRoot":"","sources":["../../src/experimental/KeyValueStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,QAAA,MAAM,MAAM,EAAG,4BAAqC,CAAA;AAEpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAA;IACpF,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAClG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IAClG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACxD,QAAQ,CAAC,MAAM,EAAE,CACf,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,CACzB,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,KACjC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAC9D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;CAC7D;;;;AAmBD,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAC;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAEnE,CAAA;AAsCD,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAA;IACxD,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAA;CAUnD,CAAA;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAoBjD,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CA6BxF,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Either from "effect/Either";
|
|
5
|
+
import * as Encoding from "effect/Encoding";
|
|
6
|
+
import * as Function from "effect/Function";
|
|
7
|
+
import * as Layer from "effect/Layer";
|
|
8
|
+
import * as Predicate from "effect/Predicate";
|
|
9
|
+
const TypeId = "effect-start/KeyValueStore";
|
|
10
|
+
export class KeyValueStoreError extends Data.TaggedError("KeyValueStoreError") {
|
|
11
|
+
}
|
|
12
|
+
export const KeyValueStore = Context.GenericTag("effect-start/KeyValueStore");
|
|
13
|
+
const make = (options) => ({
|
|
14
|
+
[TypeId]: TypeId,
|
|
15
|
+
has: (key) => Effect.map(options.get(key), Predicate.isNotUndefined),
|
|
16
|
+
isEmpty: Effect.map(options.size, (size) => size === 0),
|
|
17
|
+
modify: (key, f) => Effect.flatMap(options.get(key), (o) => {
|
|
18
|
+
if (o === undefined)
|
|
19
|
+
return Effect.succeed(undefined);
|
|
20
|
+
const newValue = f(o);
|
|
21
|
+
return Effect.as(options.set(key, newValue), newValue);
|
|
22
|
+
}),
|
|
23
|
+
modifyUint8Array: (key, f) => Effect.flatMap(options.getUint8Array(key), (o) => {
|
|
24
|
+
if (o === undefined)
|
|
25
|
+
return Effect.succeed(undefined);
|
|
26
|
+
const newValue = f(o);
|
|
27
|
+
return Effect.as(options.set(key, newValue), newValue);
|
|
28
|
+
}),
|
|
29
|
+
...options,
|
|
30
|
+
});
|
|
31
|
+
const makeStringOnly = (options) => {
|
|
32
|
+
const encoder = new TextEncoder();
|
|
33
|
+
return make({
|
|
34
|
+
...options,
|
|
35
|
+
getUint8Array: (key) => Effect.map(options.get(key), (value) => {
|
|
36
|
+
if (value === undefined)
|
|
37
|
+
return undefined;
|
|
38
|
+
const decoded = Encoding.decodeBase64(value);
|
|
39
|
+
return Either.isRight(decoded) ? decoded.right : encoder.encode(value);
|
|
40
|
+
}),
|
|
41
|
+
set: (key, value) => typeof value === "string"
|
|
42
|
+
? options.set(key, value)
|
|
43
|
+
: Effect.suspend(() => options.set(key, Encoding.encodeBase64(value))),
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export const prefix = Function.dual(2, (self, prefix) => ({
|
|
47
|
+
...self,
|
|
48
|
+
get: (key) => self.get(`${prefix}${key}`),
|
|
49
|
+
getUint8Array: (key) => self.getUint8Array(`${prefix}${key}`),
|
|
50
|
+
set: (key, value) => self.set(`${prefix}${key}`, value),
|
|
51
|
+
remove: (key) => self.remove(`${prefix}${key}`),
|
|
52
|
+
has: (key) => self.has(`${prefix}${key}`),
|
|
53
|
+
modify: (key, f) => self.modify(`${prefix}${key}`, f),
|
|
54
|
+
modifyUint8Array: (key, f) => self.modifyUint8Array(`${prefix}${key}`, f),
|
|
55
|
+
}));
|
|
56
|
+
export const layerMemory = Layer.sync(KeyValueStore, () => {
|
|
57
|
+
const store = new Map();
|
|
58
|
+
const encoder = new TextEncoder();
|
|
59
|
+
return make({
|
|
60
|
+
get: (key) => Effect.sync(() => {
|
|
61
|
+
const value = store.get(key);
|
|
62
|
+
return value === undefined ? undefined : typeof value === "string" ? value : Encoding.encodeBase64(value);
|
|
63
|
+
}),
|
|
64
|
+
getUint8Array: (key) => Effect.sync(() => {
|
|
65
|
+
const value = store.get(key);
|
|
66
|
+
return value === undefined ? undefined : typeof value === "string" ? encoder.encode(value) : value;
|
|
67
|
+
}),
|
|
68
|
+
set: (key, value) => Effect.sync(() => store.set(key, value)),
|
|
69
|
+
remove: (key) => Effect.sync(() => store.delete(key)),
|
|
70
|
+
clear: Effect.sync(() => store.clear()),
|
|
71
|
+
size: Effect.sync(() => store.size),
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
export const layerStorage = (evaluate) => Layer.sync(KeyValueStore, () => {
|
|
75
|
+
const storage = evaluate();
|
|
76
|
+
return makeStringOnly({
|
|
77
|
+
get: (key) => Effect.try({
|
|
78
|
+
try: () => storage.getItem(key) ?? undefined,
|
|
79
|
+
catch: () => new KeyValueStoreError({ key, method: "get", message: `Unable to get item with key ${key}` }),
|
|
80
|
+
}),
|
|
81
|
+
set: (key, value) => Effect.try({
|
|
82
|
+
try: () => storage.setItem(key, value),
|
|
83
|
+
catch: () => new KeyValueStoreError({ key, method: "set", message: `Unable to set item with key ${key}` }),
|
|
84
|
+
}),
|
|
85
|
+
remove: (key) => Effect.try({
|
|
86
|
+
try: () => storage.removeItem(key),
|
|
87
|
+
catch: () => new KeyValueStoreError({ key, method: "remove", message: `Unable to remove item with key ${key}` }),
|
|
88
|
+
}),
|
|
89
|
+
clear: Effect.try({
|
|
90
|
+
try: () => storage.clear(),
|
|
91
|
+
catch: () => new KeyValueStoreError({ method: "clear", message: `Unable to clear storage` }),
|
|
92
|
+
}),
|
|
93
|
+
size: Effect.try({
|
|
94
|
+
try: () => storage.length,
|
|
95
|
+
catch: () => new KeyValueStoreError({ method: "size", message: `Unable to get size` }),
|
|
96
|
+
}),
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=KeyValueStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueStore.js","sourceRoot":"","sources":["../../src/experimental/KeyValueStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Cache from "effect/Cache";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import type * as Duration from "effect/Duration";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import type * as SqlClient from "../sql/SqlClient.ts";
|
|
7
|
+
type SqlCacheInstance = Cache.Cache<string, ReadonlyArray<any>>;
|
|
8
|
+
declare const SqlCache_base: Context.TagClass<SqlCache, "effect-start/SqlCache", SqlCacheInstance>;
|
|
9
|
+
export declare class SqlCache extends SqlCache_base {
|
|
10
|
+
}
|
|
11
|
+
export declare function layer(cache: SqlCacheInstance): Layer.Layer<SqlCache>;
|
|
12
|
+
export declare function layer(options: {
|
|
13
|
+
readonly capacity: number;
|
|
14
|
+
readonly timeToLive: Duration.DurationInput;
|
|
15
|
+
}): Layer.Layer<SqlCache>;
|
|
16
|
+
export declare function withCache(cache: SqlCacheInstance): <A extends object>(self: SqlClient.SqlEffect<A>) => Effect.Effect<ReadonlyArray<A>, SqlClient.SqlError>;
|
|
17
|
+
export declare function withCache(): <A extends object>(self: SqlClient.SqlEffect<A>) => Effect.Effect<ReadonlyArray<A>, SqlClient.SqlError, SqlCache>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=SqlCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlCache.d.ts","sourceRoot":"","sources":["../../src/experimental/SqlCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAErD,KAAK,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;;AAE/D,qBAAa,QAAS,SAAQ,aAAkE;CAAG;AAEnG,wBAAgB,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AACrE,wBAAgB,KAAK,CAAC,OAAO,EAAE;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;CAC5C,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAuBzB,wBAAgB,SAAS,CACvB,KAAK,EAAE,gBAAgB,GACtB,CAAC,CAAC,SAAS,MAAM,EAClB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KACzB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;AACxD,wBAAgB,SAAS,IAAI,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KACzB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as Cache from "effect/Cache";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
export class SqlCache extends Context.Tag("effect-start/SqlCache")() {
|
|
6
|
+
}
|
|
7
|
+
export function layer(cacheOrOptions) {
|
|
8
|
+
if (Cache.CacheTypeId in cacheOrOptions) {
|
|
9
|
+
return Layer.succeed(SqlCache, cacheOrOptions);
|
|
10
|
+
}
|
|
11
|
+
const options = cacheOrOptions;
|
|
12
|
+
return Layer.effect(SqlCache, Cache.make({
|
|
13
|
+
capacity: options.capacity,
|
|
14
|
+
timeToLive: options.timeToLive,
|
|
15
|
+
lookup: (key) => Effect.die(`cache miss without populate for key: ${key}`),
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
export function withCache(cache) {
|
|
19
|
+
return (self) => {
|
|
20
|
+
const key = JSON.stringify({ sql: self.sql, parameters: self.parameters });
|
|
21
|
+
if (cache) {
|
|
22
|
+
return Effect.flatMap(cache.getOption(key), (option) => {
|
|
23
|
+
if (option._tag === "Some")
|
|
24
|
+
return Effect.succeed(option.value);
|
|
25
|
+
return Effect.tap(self, (result) => cache.set(key, result));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return Effect.flatMap(SqlCache, (c) => Effect.flatMap(c.getOption(key), (option) => {
|
|
29
|
+
if (option._tag === "Some")
|
|
30
|
+
return Effect.succeed(option.value);
|
|
31
|
+
return Effect.tap(self, (result) => c.set(key, result));
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=SqlCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlCache.js","sourceRoot":"","sources":["../../src/experimental/SqlCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAA8B;CAAG;AAOnG,MAAM,UAAU,KAAK,CACnB,cAE8E;IAE9E,IAAI,KAAK,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAkC,CAAC,CAAA;IACpE,CAAC;IACD,MAAM,OAAO,GAAG,cAGf,CAAA;IACD,OAAO,KAAK,CAAC,MAAM,CACjB,QAAQ,EACR,KAAK,CAAC,IAAI,CAA6B;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC;KAC3E,CAAC,CACH,CAAA;AACH,CAAC;AAUD,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,OAAO,CAAmB,IAA4B,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAyB,CAAC,CAAA;gBACnF,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAyB,CAAC,CAAA;YACnF,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|