dfx 0.18.0 → 0.18.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/Cache/driver.d.ts +4 -4
- package/Cache/driver.js.map +1 -1
- package/Cache/index.d.ts +29 -29
- package/Cache/index.js +2 -2
- package/Cache/index.js.map +1 -1
- package/Cache/memory.d.ts +2 -2
- package/Cache/memoryTTL.d.ts +2 -4
- package/Cache/memoryTTL.js +3 -3
- package/Cache/memoryTTL.js.map +1 -1
- package/Cache/prelude.d.ts +4 -18
- package/Cache/prelude.js +3 -12
- package/Cache/prelude.js.map +1 -1
- package/package.json +2 -2
- package/utils/effect.d.ts +19 -0
- package/utils/effect.js +19 -1
- package/utils/effect.js.map +1 -1
package/Cache/driver.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "@effect/io/Effect";
|
|
2
2
|
import { Maybe } from "dfx";
|
|
3
|
-
export interface
|
|
3
|
+
export interface ParentCacheDriver<E, T> {
|
|
4
4
|
readonly size: Effect<never, E, number>;
|
|
5
5
|
sizeForParent: (parentId: string) => Effect<never, E, number>;
|
|
6
6
|
get: (parentId: string, resourceId: string) => Effect<never, E, Maybe<T>>;
|
|
@@ -11,8 +11,8 @@ export interface ParentCacheStoreDriver<E, T> {
|
|
|
11
11
|
refreshTTL: (parentId: string, resourceId: string) => Effect<never, E, void>;
|
|
12
12
|
readonly run: Effect<never, E, void>;
|
|
13
13
|
}
|
|
14
|
-
export declare const createParentDriver: <E, T>(driver:
|
|
15
|
-
export interface
|
|
14
|
+
export declare const createParentDriver: <E, T>(driver: ParentCacheDriver<E, T>) => ParentCacheDriver<E, T>;
|
|
15
|
+
export interface CacheDriver<E, T> {
|
|
16
16
|
readonly size: Effect<never, E, number>;
|
|
17
17
|
get: (resourceId: string) => Effect<never, E, Maybe<T>>;
|
|
18
18
|
set: (resourceId: string, resource: T) => Effect<never, E, void>;
|
|
@@ -20,4 +20,4 @@ export interface CacheStoreDriver<E, T> {
|
|
|
20
20
|
refreshTTL: (resourceId: string) => Effect<never, E, void>;
|
|
21
21
|
readonly run: Effect<never, E, void>;
|
|
22
22
|
}
|
|
23
|
-
export declare const createDriver: <E, T>(driver:
|
|
23
|
+
export declare const createDriver: <E, T>(driver: CacheDriver<E, T>) => CacheDriver<E, T>;
|
package/Cache/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/Cache/driver.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/Cache/driver.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAO,MAA+B,EAAE,EAAE,CAC1E,MAAM,CAAA;AAWR,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,MAAyB,EAAE,EAAE,CAAC,MAAM,CAAA"}
|
package/Cache/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Effect } from "@effect/io/Effect";
|
|
2
2
|
import { EffectSource } from "callbag-effect-ts/Source";
|
|
3
|
-
import {
|
|
3
|
+
import { CacheDriver, ParentCacheDriver } from "./driver.js";
|
|
4
4
|
export * from "./driver.js";
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
5
|
+
export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./memory.js";
|
|
6
|
+
export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./memoryTTL.js";
|
|
7
7
|
export type ParentCacheOp<T> = {
|
|
8
8
|
op: "create";
|
|
9
9
|
parentId: string;
|
|
@@ -34,33 +34,33 @@ export type CacheOp<T> = {
|
|
|
34
34
|
op: "delete";
|
|
35
35
|
resourceId: string;
|
|
36
36
|
};
|
|
37
|
-
export declare const makeParent: <
|
|
38
|
-
driver: import("../global.js").Effect<
|
|
39
|
-
ops?: import("callbag-effect-ts/Source").EffectSource<
|
|
40
|
-
onMiss: (parentId: string, id: string) => import("../global.js").Effect<
|
|
41
|
-
onParentMiss: (parentId: string) => import("../global.js").Effect<
|
|
42
|
-
}) => import("../global.js").Effect<
|
|
43
|
-
get: (parentId: string, id: string) => import("../global.js").Effect<
|
|
44
|
-
getForParent: (parentId: string) => import("../global.js").Effect<
|
|
45
|
-
run: import("../global.js").Effect<
|
|
46
|
-
size: import("../global.js").Effect<never,
|
|
47
|
-
sizeForParent: (parentId: string) => import("../global.js").Effect<never,
|
|
48
|
-
set: (parentId: string, resourceId: string, resource:
|
|
49
|
-
delete: (parentId: string, resourceId: string) => import("../global.js").Effect<never,
|
|
50
|
-
parentDelete: (parentId: string) => import("../global.js").Effect<never,
|
|
51
|
-
refreshTTL: (parentId: string, resourceId: string) => import("../global.js").Effect<never,
|
|
37
|
+
export declare const makeParent: <ROps, RMakeDriver, RMiss, RPMiss, EOps, EMakeDriver, EDriver, EMiss, EPMiss, A>({ driver: makeDriver, ops, onMiss, onParentMiss, }: {
|
|
38
|
+
driver: import("../global.js").Effect<RMakeDriver, EMakeDriver, ParentCacheDriver<EDriver, A>>;
|
|
39
|
+
ops?: import("callbag-effect-ts/Source").EffectSource<ROps, EOps, ParentCacheOp<A>> | undefined;
|
|
40
|
+
onMiss: (parentId: string, id: string) => import("../global.js").Effect<RMiss, EMiss, A>;
|
|
41
|
+
onParentMiss: (parentId: string) => import("../global.js").Effect<RPMiss, EPMiss, [id: string, resource: A][]>;
|
|
42
|
+
}) => import("../global.js").Effect<RMakeDriver, EMakeDriver, {
|
|
43
|
+
get: (parentId: string, id: string) => import("../global.js").Effect<RMiss, EDriver | EMiss, A>;
|
|
44
|
+
getForParent: (parentId: string) => import("../global.js").Effect<RPMiss, EDriver | EPMiss, ReadonlyMap<string, A>>;
|
|
45
|
+
run: import("../global.js").Effect<ROps, EOps | EDriver, void>;
|
|
46
|
+
size: import("../global.js").Effect<never, EDriver, number>;
|
|
47
|
+
sizeForParent: (parentId: string) => import("../global.js").Effect<never, EDriver, number>;
|
|
48
|
+
set: (parentId: string, resourceId: string, resource: A) => import("../global.js").Effect<never, EDriver, void>;
|
|
49
|
+
delete: (parentId: string, resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
|
|
50
|
+
parentDelete: (parentId: string) => import("../global.js").Effect<never, EDriver, void>;
|
|
51
|
+
refreshTTL: (parentId: string, resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
|
|
52
52
|
}>;
|
|
53
|
-
export declare const make: <
|
|
54
|
-
driver: import("../global.js").Effect<
|
|
55
|
-
ops?: import("callbag-effect-ts/Source").EffectSource<
|
|
56
|
-
onMiss: (id: string) => import("../global.js").Effect<
|
|
57
|
-
}) => import("../global.js").Effect<
|
|
58
|
-
get: (id: string) => import("../global.js").Effect<
|
|
59
|
-
run: import("../global.js").Effect<
|
|
60
|
-
size: import("../global.js").Effect<never,
|
|
61
|
-
set: (resourceId: string, resource:
|
|
62
|
-
delete: (resourceId: string) => import("../global.js").Effect<never,
|
|
63
|
-
refreshTTL: (resourceId: string) => import("../global.js").Effect<never,
|
|
53
|
+
export declare const make: <ROps, RMakeDriver, RMiss, EOps, EMakeDriver, EDriver, EMiss, A>({ driver: makeDriver, ops, onMiss, }: {
|
|
54
|
+
driver: import("../global.js").Effect<RMakeDriver, EMakeDriver, CacheDriver<EDriver, A>>;
|
|
55
|
+
ops?: import("callbag-effect-ts/Source").EffectSource<ROps, EOps, CacheOp<A>> | undefined;
|
|
56
|
+
onMiss: (id: string) => import("../global.js").Effect<RMiss, EMiss, A>;
|
|
57
|
+
}) => import("../global.js").Effect<RMakeDriver, EMakeDriver, {
|
|
58
|
+
get: (id: string) => import("../global.js").Effect<RMiss, EDriver | EMiss, A>;
|
|
59
|
+
run: import("../global.js").Effect<ROps, EOps | EDriver, void>;
|
|
60
|
+
size: import("../global.js").Effect<never, EDriver, number>;
|
|
61
|
+
set: (resourceId: string, resource: A) => import("../global.js").Effect<never, EDriver, void>;
|
|
62
|
+
delete: (resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
|
|
63
|
+
refreshTTL: (resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
|
|
64
64
|
}>;
|
|
65
65
|
export declare class CacheMissError {
|
|
66
66
|
readonly cacheName: string;
|
package/Cache/index.js
CHANGED
|
@@ -3,8 +3,8 @@ import * as tsplus_module_2 from "@effect/io/Effect";
|
|
|
3
3
|
import * as tsplus_module_3 from "callbag-effect-ts/Source/tap";
|
|
4
4
|
import * as tsplus_module_4 from "callbag-effect-ts/Source/run";
|
|
5
5
|
export * from "./driver.js";
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
6
|
+
export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./memory.js";
|
|
7
|
+
export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./memoryTTL.js";
|
|
8
8
|
export const makeParent = ({ driver: makeDriver, ops = tsplus_module_1.empty, onMiss, onParentMiss, }) => tsplus_module_2.map(driver => {
|
|
9
9
|
const sync = tsplus_module_4.runDrain(tsplus_module_3.tap((op) => {
|
|
10
10
|
switch (op.op) {
|
package/Cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cache/index.ts"],"names":[],"mappings":";;;;AAEA,cAAc,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cache/index.ts"],"names":[],"mappings":"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"}
|
package/Cache/memory.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Maybe } from "dfx";
|
|
2
|
-
export declare const createWithParent: <T>() => import("../global.js").Effect<never, never, import("./driver.js").
|
|
3
|
-
export declare const create: <T>() => import("../global.js").Effect<never, never, import("./driver.js").
|
|
2
|
+
export declare const createWithParent: <T>() => import("../global.js").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
|
|
3
|
+
export declare const create: <T>() => import("../global.js").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
|
package/Cache/memoryTTL.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ export interface MemoryTTLOpts {
|
|
|
6
6
|
ttl: Duration;
|
|
7
7
|
/**
|
|
8
8
|
* How often items should be cleared.
|
|
9
|
-
*
|
|
10
|
-
* Defaults to 5 minutes
|
|
11
9
|
*/
|
|
12
10
|
resolution?: Duration;
|
|
13
11
|
/**
|
|
@@ -20,5 +18,5 @@ export interface MemoryTTLOpts {
|
|
|
20
18
|
*/
|
|
21
19
|
strategy?: "activity" | "usage" | "expiry";
|
|
22
20
|
}
|
|
23
|
-
export declare const create: <T>(opts: MemoryTTLOpts) => import("../global.js").Effect<never, never, import("./driver.js").
|
|
24
|
-
export declare const createWithParent: <T>(opts: MemoryTTLOpts) => import("../global.js").Effect<never, never, import("./driver.js").
|
|
21
|
+
export declare const create: <T>(opts: MemoryTTLOpts) => import("../global.js").Effect<never, never, import("./driver.js").CacheDriver<never, T>>;
|
|
22
|
+
export declare const createWithParent: <T>(opts: MemoryTTLOpts) => import("../global.js").Effect<never, never, import("./driver.js").ParentCacheDriver<never, T>>;
|
package/Cache/memoryTTL.js
CHANGED
|
@@ -83,14 +83,14 @@ export const createWithParent = (opts) => tsplus_module_2.sync(() => {
|
|
|
83
83
|
if (!ids)
|
|
84
84
|
return tsplus_module_3.none;
|
|
85
85
|
const toGet = [];
|
|
86
|
-
|
|
86
|
+
ids.forEach((id) => {
|
|
87
87
|
toGet.push(tsplus_module_2.map(item => {
|
|
88
|
-
if (item._tag === "
|
|
88
|
+
if (item._tag === "None") {
|
|
89
89
|
parentIds.delete(id);
|
|
90
90
|
}
|
|
91
91
|
return [id, item];
|
|
92
92
|
})(store.get(id)));
|
|
93
|
-
}
|
|
93
|
+
});
|
|
94
94
|
return tsplus_module_2.map(results => {
|
|
95
95
|
const map = tsplus_module_4.reduce(new Map(), (map, [id, a]) => a._tag === "Some" ? map.set(id, a.value) : map)(results);
|
|
96
96
|
return tsplus_module_3.some(map);
|
package/Cache/memoryTTL.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryTTL.js","sourceRoot":"","sources":["../../src/Cache/memoryTTL.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"memoryTTL.js","sourceRoot":"","sources":["../../src/Cache/memoryTTL.ts"],"names":[],"mappings":"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"}
|
package/Cache/prelude.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Discord } from "dfx";
|
|
2
|
-
import { Success } from "dfx/utils/effect";
|
|
3
|
-
import { Cache } from "dfx";
|
|
4
2
|
import { Effect } from "@effect/io/Effect";
|
|
5
|
-
|
|
3
|
+
import { Cache } from "dfx";
|
|
4
|
+
export declare const guilds: <RM, EM, E>(driver: Effect<RM, EM, Cache.CacheDriver<E, import("../types.js").Guild>>) => Effect<RM, EM, {
|
|
6
5
|
get: (id: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Guild>;
|
|
7
6
|
run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
|
|
8
7
|
size: Effect<never, E, number>;
|
|
@@ -10,11 +9,7 @@ declare const makeGuilds: <RM, EM, E>(driver: Effect<RM, EM, Cache.CacheStoreDri
|
|
|
10
9
|
delete: (resourceId: string) => Effect<never, E, void>;
|
|
11
10
|
refreshTTL: (resourceId: string) => Effect<never, E, void>;
|
|
12
11
|
}>;
|
|
13
|
-
export
|
|
14
|
-
}
|
|
15
|
-
export declare const GuildsCache: import("../global.js").Tag<GuildsCache>;
|
|
16
|
-
export declare const guilds: <RM, EM, E>(driver: Effect<RM, EM, Cache.CacheStoreDriver<E, import("../types.js").Guild>>) => import("../global.js").Layer<RM, EM, GuildsCache>;
|
|
17
|
-
declare const makeChannels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheStoreDriver<E, import("../types.js").Channel>>) => Effect<RM, EM, {
|
|
12
|
+
export declare const channels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Channel>>) => Effect<RM, EM, {
|
|
18
13
|
get: (parentId: string, id: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Channel>;
|
|
19
14
|
getForParent: (parentId: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Channel>>;
|
|
20
15
|
run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
|
|
@@ -25,11 +20,7 @@ declare const makeChannels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCache
|
|
|
25
20
|
parentDelete: (parentId: string) => Effect<never, E, void>;
|
|
26
21
|
refreshTTL: (parentId: string, resourceId: string) => Effect<never, E, void>;
|
|
27
22
|
}>;
|
|
28
|
-
export
|
|
29
|
-
}
|
|
30
|
-
export declare const ChannelsCache: import("../global.js").Tag<ChannelsCache>;
|
|
31
|
-
export declare const channels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheStoreDriver<E, import("../types.js").Channel>>) => import("../global.js").Layer<RM, EM, ChannelsCache>;
|
|
32
|
-
declare const makeRoles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheStoreDriver<E, import("../types.js").Role>>) => Effect<RM, EM, {
|
|
23
|
+
export declare const roles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Role>>) => Effect<RM, EM, {
|
|
33
24
|
get: (parentId: string, id: string) => Effect<never, Cache.CacheMissError | E, import("../types.js").Role>;
|
|
34
25
|
getForParent: (parentId: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Role>>;
|
|
35
26
|
run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
|
|
@@ -40,8 +31,3 @@ declare const makeRoles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheSto
|
|
|
40
31
|
parentDelete: (parentId: string) => Effect<never, E, void>;
|
|
41
32
|
refreshTTL: (parentId: string, resourceId: string) => Effect<never, E, void>;
|
|
42
33
|
}>;
|
|
43
|
-
export interface RolesCache extends Success<ReturnType<typeof makeRoles>> {
|
|
44
|
-
}
|
|
45
|
-
export declare const RolesCache: import("../global.js").Tag<RolesCache>;
|
|
46
|
-
export declare const roles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheStoreDriver<E, import("../types.js").Role>>) => import("../global.js").Layer<RM, EM, RolesCache>;
|
|
47
|
-
export {};
|
package/Cache/prelude.js
CHANGED
|
@@ -1,31 +1,22 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "dfx";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "@fp-ts/data/Context";
|
|
4
|
-
import * as tsplus_module_4 from "@fp-ts/data/Function";
|
|
5
3
|
import { Cache } from "dfx";
|
|
6
4
|
import { CacheOps } from "dfx/gateway";
|
|
7
|
-
|
|
8
|
-
const makeGuilds = (driver) => Cache.make({
|
|
5
|
+
export const guilds = (driver) => Cache.make({
|
|
9
6
|
driver,
|
|
10
7
|
ops: CacheOps.guilds,
|
|
11
8
|
onMiss: (id) => tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuild(id)),
|
|
12
9
|
});
|
|
13
|
-
export const
|
|
14
|
-
export const guilds = tsplus_module_4.flow(makeGuilds, toLayer(GuildsCache));
|
|
15
|
-
const makeChannels = (driver) => Cache.makeParent({
|
|
10
|
+
export const channels = (driver) => Cache.makeParent({
|
|
16
11
|
driver,
|
|
17
12
|
ops: CacheOps.channels,
|
|
18
13
|
onMiss: (id) => tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getChannel(id)),
|
|
19
14
|
onParentMiss: (guildId) => tsplus_module_2.map((a) => a.map((a) => [a.id, a]))(tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuildChannels(guildId))),
|
|
20
15
|
});
|
|
21
|
-
export const
|
|
22
|
-
export const channels = tsplus_module_4.flow(makeChannels, toLayer(ChannelsCache));
|
|
23
|
-
const makeRoles = (driver) => Cache.makeParent({
|
|
16
|
+
export const roles = (driver) => Cache.makeParent({
|
|
24
17
|
driver,
|
|
25
18
|
ops: CacheOps.roles,
|
|
26
19
|
onMiss: (id) => tsplus_module_2.fail(new Cache.CacheMissError("RolesCache", id)),
|
|
27
20
|
onParentMiss: (guildId) => tsplus_module_2.map((a) => a.map((a) => [a.id, a]))(tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuildRoles(guildId))),
|
|
28
21
|
});
|
|
29
|
-
export const RolesCache = tsplus_module_3.Tag();
|
|
30
|
-
export const roles = tsplus_module_4.flow(makeRoles, toLayer(RolesCache));
|
|
31
22
|
//# sourceMappingURL=prelude.js.map
|
package/Cache/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAA2D,EAC3D,EAAE,CACF,KAAK,CAAC,IAAI,CAAC;IACT,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,MAAM;IACpB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAA0B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAvC,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAuB;CACzD,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAmE,EACnE,EAAE,CACF,KAAK,CAAC,UAAU,CAAC;IACf,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,QAAQ;IACtB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAA4B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAzC,gBAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAuB;IAC1D,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,gBAAA,IAAI,CACD,gBAAgB,CAAC,OAAO,CAAC,CACH,CACa;CACzC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAgE,EAChE,EAAE,CACF,KAAK,CAAC,UAAU,CAAC;IACf,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,KAAK;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAY,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,gBAAA,IAAI,CACD,aAAa,CAAC,OAAO,CAAC,CACA,CACa;CACzC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"@fp-ts/data": "^0.0.25"
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "acfecfbba7d2ad87bc95c80158f9930d270aeb5f"
|
|
53
53
|
}
|
package/utils/effect.d.ts
CHANGED
|
@@ -1,2 +1,21 @@
|
|
|
1
1
|
import { Effect } from "@effect/io/Effect";
|
|
2
|
+
import { Tag } from "@fp-ts/data/Context";
|
|
2
3
|
export type Success<A extends Effect<any, any, any>> = A extends Effect<any, any, infer R> ? R : never;
|
|
4
|
+
export type ShapeFn<T> = Pick<T, {
|
|
5
|
+
[k in keyof T]: T[k] extends (...args: infer ARGS) => Effect<infer R, infer E, infer A> ? ((...args: ARGS) => Effect<R, E, A>) extends T[k] ? k : never : never;
|
|
6
|
+
}[keyof T]>;
|
|
7
|
+
export type ShapeCn<T> = Pick<T, {
|
|
8
|
+
[k in keyof T]: T[k] extends Effect<any, any, any> ? k : never;
|
|
9
|
+
}[keyof T]>;
|
|
10
|
+
export type DerivedLifted<T, Fns extends keyof ShapeFn<T>, Cns extends keyof ShapeCn<T>, Values extends keyof T> = {
|
|
11
|
+
[k in Fns]: T[k] extends (...args: infer ARGS) => Effect<infer R, infer E, infer A> ? (...args: ARGS) => Effect<R | T, E, A> : never;
|
|
12
|
+
} & {
|
|
13
|
+
[k in Cns]: T[k] extends Effect<infer R, infer E, infer A> ? Effect<R | T, E, A> : never;
|
|
14
|
+
} & {
|
|
15
|
+
[k in Values]: Effect<T, never, T[k]>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus static effect/io/Effect.Ops deriveLifted
|
|
19
|
+
* @tsplus location "dfx/utils/effect"
|
|
20
|
+
*/
|
|
21
|
+
export declare function deriveLifted<T>(S: Tag<T>): <Fns extends keyof ShapeFn<T> = never, Cns extends keyof ShapeCn<T> = never, Values extends keyof T = never>(functions: Fns[], effects: Cns[], values: Values[]) => DerivedLifted<T, Fns, Cns, Values>;
|
package/utils/effect.js
CHANGED
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
+
/**
|
|
3
|
+
* @tsplus static effect/io/Effect.Ops deriveLifted
|
|
4
|
+
*/
|
|
5
|
+
export function deriveLifted(S) {
|
|
6
|
+
return (functions, constants, values) => {
|
|
7
|
+
const ret = {};
|
|
8
|
+
for (const k of functions) {
|
|
9
|
+
ret[k] = (...args) => tsplus_module_1.serviceWithEffect(S)((h) => h[k](...args));
|
|
10
|
+
}
|
|
11
|
+
for (const k of constants) {
|
|
12
|
+
ret[k] = tsplus_module_1.serviceWithEffect(S)((h) => h[k]);
|
|
13
|
+
}
|
|
14
|
+
for (const k of values) {
|
|
15
|
+
ret[k] = tsplus_module_1.serviceWith(S)((h) => h[k]);
|
|
16
|
+
}
|
|
17
|
+
return ret;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
2
20
|
//# sourceMappingURL=effect.js.map
|
package/utils/effect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../../src/utils/effect.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"effect.js","sourceRoot":"","sources":["../../src/utils/effect.ts"],"names":[],"mappings":";AA+CA;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,CAAS;IAUT,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,EAAS,CAAA;QAErB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;YACzB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC1B,kCAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;SAC7D;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;YACzB,GAAG,CAAC,CAAC,CAAC,GAAG,kCAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAA;SACzD;QAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,GAAG,CAAC,CAAC,CAAC,GAAG,4BAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5C;QAED,OAAO,GAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC"}
|