@fncts/query 0.0.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/api.d.ts +28 -0
- package/Cache/definition.d.ts +15 -0
- package/Cache.d.ts +2 -0
- package/CompletedRequestMap.d.ts +17 -0
- package/DataSource/api.d.ts +38 -0
- package/DataSource/definition.d.ts +46 -0
- package/DataSource.d.ts +2 -0
- package/DataSourceAspect.d.ts +7 -0
- package/Described.d.ts +19 -0
- package/Query/api/bimap.d.ts +6 -0
- package/Query/api/catchAllCause.d.ts +12 -0
- package/Query/api/collectAll.d.ts +7 -0
- package/Query/api/collectAllBatched.d.ts +7 -0
- package/Query/api/collectAllConcurrent.d.ts +7 -0
- package/Query/api/defer.d.ts +7 -0
- package/Query/api/ensuring.d.ts +6 -0
- package/Query/api/environment.d.ts +47 -0
- package/Query/api/flatMap.d.ts +11 -0
- package/Query/api/foreach.d.ts +7 -0
- package/Query/api/foreachBatched.d.ts +7 -0
- package/Query/api/foreachConcurrent.d.ts +7 -0
- package/Query/api/fromRequest.d.ts +10 -0
- package/Query/api/map.d.ts +6 -0
- package/Query/api/mapDataSources.d.ts +7 -0
- package/Query/api/mapError.d.ts +6 -0
- package/Query/api/mapErrorCause.d.ts +7 -0
- package/Query/api/mapIO.d.ts +7 -0
- package/Query/api/match.d.ts +6 -0
- package/Query/api/matchCauseQuery.d.ts +7 -0
- package/Query/api/matchQuery.d.ts +6 -0
- package/Query/api/orHalt.d.ts +11 -0
- package/Query/api/race.d.ts +11 -0
- package/Query/api/run.d.ts +18 -0
- package/Query/api/timeout.d.ts +26 -0
- package/Query/api/zipWith.d.ts +7 -0
- package/Query/api/zipWithBatched.d.ts +6 -0
- package/Query/api/zipWithConcurrent.d.ts +6 -0
- package/Query/api.d.ts +66 -0
- package/Query/definition.d.ts +13 -0
- package/Query.d.ts +30 -0
- package/QueryFailure.d.ts +6 -0
- package/Request.d.ts +38 -0
- package/TestSpec.d.ts +6 -0
- package/_cjs/Cache/api.cjs +56 -0
- package/_cjs/Cache/api.cjs.map +1 -0
- package/_cjs/Cache/definition.cjs +13 -0
- package/_cjs/Cache/definition.cjs.map +1 -0
- package/_cjs/Cache.cjs +28 -0
- package/_cjs/Cache.cjs.map +1 -0
- package/_cjs/CompletedRequestMap.cjs +40 -0
- package/_cjs/CompletedRequestMap.cjs.map +1 -0
- package/_cjs/DataSource/api.cjs +111 -0
- package/_cjs/DataSource/api.cjs.map +1 -0
- package/_cjs/DataSource/definition.cjs +76 -0
- package/_cjs/DataSource/definition.cjs.map +1 -0
- package/_cjs/DataSource.cjs +28 -0
- package/_cjs/DataSource.cjs.map +1 -0
- package/_cjs/DataSourceAspect.cjs +17 -0
- package/_cjs/DataSourceAspect.cjs.map +1 -0
- package/_cjs/Described.cjs +32 -0
- package/_cjs/Described.cjs.map +1 -0
- package/_cjs/Query/api/bimap.cjs +19 -0
- package/_cjs/Query/api/bimap.cjs.map +1 -0
- package/_cjs/Query/api/catchAllCause.cjs +29 -0
- package/_cjs/Query/api/catchAllCause.cjs.map +1 -0
- package/_cjs/Query/api/collectAll.cjs +17 -0
- package/_cjs/Query/api/collectAll.cjs.map +1 -0
- package/_cjs/Query/api/collectAllBatched.cjs +17 -0
- package/_cjs/Query/api/collectAllBatched.cjs.map +1 -0
- package/_cjs/Query/api/collectAllConcurrent.cjs +17 -0
- package/_cjs/Query/api/collectAllConcurrent.cjs.map +1 -0
- package/_cjs/Query/api/defer.cjs +18 -0
- package/_cjs/Query/api/defer.cjs.map +1 -0
- package/_cjs/Query/api/ensuring.cjs +20 -0
- package/_cjs/Query/api/ensuring.cjs.map +1 -0
- package/_cjs/Query/api/environment.cjs +94 -0
- package/_cjs/Query/api/environment.cjs.map +1 -0
- package/_cjs/Query/api/flatMap.cjs +35 -0
- package/_cjs/Query/api/flatMap.cjs.map +1 -0
- package/_cjs/Query/api/foreach.cjs +26 -0
- package/_cjs/Query/api/foreach.cjs.map +1 -0
- package/_cjs/Query/api/foreachBatched.cjs +26 -0
- package/_cjs/Query/api/foreachBatched.cjs.map +1 -0
- package/_cjs/Query/api/foreachConcurrent.cjs +19 -0
- package/_cjs/Query/api/foreachConcurrent.cjs.map +1 -0
- package/_cjs/Query/api/fromRequest.cjs +38 -0
- package/_cjs/Query/api/fromRequest.cjs.map +1 -0
- package/_cjs/Query/api/map.cjs +21 -0
- package/_cjs/Query/api/map.cjs.map +1 -0
- package/_cjs/Query/api/mapDataSources.cjs +21 -0
- package/_cjs/Query/api/mapDataSources.cjs.map +1 -0
- package/_cjs/Query/api/mapError.cjs +19 -0
- package/_cjs/Query/api/mapError.cjs.map +1 -0
- package/_cjs/Query/api/mapErrorCause.cjs +19 -0
- package/_cjs/Query/api/mapErrorCause.cjs.map +1 -0
- package/_cjs/Query/api/mapIO.cjs +20 -0
- package/_cjs/Query/api/mapIO.cjs.map +1 -0
- package/_cjs/Query/api/match.cjs +20 -0
- package/_cjs/Query/api/match.cjs.map +1 -0
- package/_cjs/Query/api/matchCauseQuery.cjs +26 -0
- package/_cjs/Query/api/matchCauseQuery.cjs.map +1 -0
- package/_cjs/Query/api/matchQuery.cjs +21 -0
- package/_cjs/Query/api/matchQuery.cjs.map +1 -0
- package/_cjs/Query/api/orHalt.cjs +29 -0
- package/_cjs/Query/api/orHalt.cjs.map +1 -0
- package/_cjs/Query/api/race.cjs +41 -0
- package/_cjs/Query/api/race.cjs.map +1 -0
- package/_cjs/Query/api/run.cjs +49 -0
- package/_cjs/Query/api/run.cjs.map +1 -0
- package/_cjs/Query/api/timeout.cjs +71 -0
- package/_cjs/Query/api/timeout.cjs.map +1 -0
- package/_cjs/Query/api/zipWith.cjs +39 -0
- package/_cjs/Query/api/zipWith.cjs.map +1 -0
- package/_cjs/Query/api/zipWithBatched.cjs +39 -0
- package/_cjs/Query/api/zipWithBatched.cjs.map +1 -0
- package/_cjs/Query/api/zipWithConcurrent.cjs +39 -0
- package/_cjs/Query/api/zipWithConcurrent.cjs.map +1 -0
- package/_cjs/Query/api.cjs +99 -0
- package/_cjs/Query/api.cjs.map +1 -0
- package/_cjs/Query/definition.cjs +22 -0
- package/_cjs/Query/definition.cjs.map +1 -0
- package/_cjs/Query.cjs +336 -0
- package/_cjs/Query.cjs.map +1 -0
- package/_cjs/QueryFailure.cjs +15 -0
- package/_cjs/QueryFailure.cjs.map +1 -0
- package/_cjs/Request.cjs +54 -0
- package/_cjs/Request.cjs.map +1 -0
- package/_cjs/global.cjs +6 -0
- package/_cjs/global.cjs.map +1 -0
- package/_cjs/index.cjs +6 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/internal/BlockedRequest.cjs +30 -0
- package/_cjs/internal/BlockedRequest.cjs.map +1 -0
- package/_cjs/internal/BlockedRequests.cjs +367 -0
- package/_cjs/internal/BlockedRequests.cjs.map +1 -0
- package/_cjs/internal/Continue.cjs +292 -0
- package/_cjs/internal/Continue.cjs.map +1 -0
- package/_cjs/internal/Parallel.cjs +81 -0
- package/_cjs/internal/Parallel.cjs.map +1 -0
- package/_cjs/internal/Result.cjs +234 -0
- package/_cjs/internal/Result.cjs.map +1 -0
- package/_cjs/internal/Sequential.cjs +59 -0
- package/_cjs/internal/Sequential.cjs.map +1 -0
- package/_mjs/Cache/api.mjs +44 -0
- package/_mjs/Cache/api.mjs.map +1 -0
- package/_mjs/Cache/definition.mjs +6 -0
- package/_mjs/Cache/definition.mjs.map +1 -0
- package/_mjs/Cache.mjs +4 -0
- package/_mjs/Cache.mjs.map +1 -0
- package/_mjs/CompletedRequestMap.mjs +31 -0
- package/_mjs/CompletedRequestMap.mjs.map +1 -0
- package/_mjs/DataSource/api.mjs +98 -0
- package/_mjs/DataSource/api.mjs.map +1 -0
- package/_mjs/DataSource/definition.mjs +63 -0
- package/_mjs/DataSource/definition.mjs.map +1 -0
- package/_mjs/DataSource.mjs +4 -0
- package/_mjs/DataSource.mjs.map +1 -0
- package/_mjs/DataSourceAspect.mjs +9 -0
- package/_mjs/DataSourceAspect.mjs.map +1 -0
- package/_mjs/Described.mjs +24 -0
- package/_mjs/Described.mjs.map +1 -0
- package/_mjs/Query/api/bimap.mjs +11 -0
- package/_mjs/Query/api/bimap.mjs.map +1 -0
- package/_mjs/Query/api/catchAllCause.mjs +20 -0
- package/_mjs/Query/api/catchAllCause.mjs.map +1 -0
- package/_mjs/Query/api/collectAll.mjs +9 -0
- package/_mjs/Query/api/collectAll.mjs.map +1 -0
- package/_mjs/Query/api/collectAllBatched.mjs +9 -0
- package/_mjs/Query/api/collectAllBatched.mjs.map +1 -0
- package/_mjs/Query/api/collectAllConcurrent.mjs +9 -0
- package/_mjs/Query/api/collectAllConcurrent.mjs.map +1 -0
- package/_mjs/Query/api/defer.mjs +10 -0
- package/_mjs/Query/api/defer.mjs.map +1 -0
- package/_mjs/Query/api/ensuring.mjs +12 -0
- package/_mjs/Query/api/ensuring.mjs.map +1 -0
- package/_mjs/Query/api/environment.mjs +77 -0
- package/_mjs/Query/api/environment.mjs.map +1 -0
- package/_mjs/Query/api/flatMap.mjs +25 -0
- package/_mjs/Query/api/flatMap.mjs.map +1 -0
- package/_mjs/Query/api/foreach.mjs +18 -0
- package/_mjs/Query/api/foreach.mjs.map +1 -0
- package/_mjs/Query/api/foreachBatched.mjs +18 -0
- package/_mjs/Query/api/foreachBatched.mjs.map +1 -0
- package/_mjs/Query/api/foreachConcurrent.mjs +11 -0
- package/_mjs/Query/api/foreachConcurrent.mjs.map +1 -0
- package/_mjs/Query/api/fromRequest.mjs +30 -0
- package/_mjs/Query/api/fromRequest.mjs.map +1 -0
- package/_mjs/Query/api/map.mjs +13 -0
- package/_mjs/Query/api/map.mjs.map +1 -0
- package/_mjs/Query/api/mapDataSources.mjs +13 -0
- package/_mjs/Query/api/mapDataSources.mjs.map +1 -0
- package/_mjs/Query/api/mapError.mjs +11 -0
- package/_mjs/Query/api/mapError.mjs.map +1 -0
- package/_mjs/Query/api/mapErrorCause.mjs +11 -0
- package/_mjs/Query/api/mapErrorCause.mjs.map +1 -0
- package/_mjs/Query/api/mapIO.mjs +12 -0
- package/_mjs/Query/api/mapIO.mjs.map +1 -0
- package/_mjs/Query/api/match.mjs +12 -0
- package/_mjs/Query/api/match.mjs.map +1 -0
- package/_mjs/Query/api/matchCauseQuery.mjs +18 -0
- package/_mjs/Query/api/matchCauseQuery.mjs.map +1 -0
- package/_mjs/Query/api/matchQuery.mjs +13 -0
- package/_mjs/Query/api/matchQuery.mjs.map +1 -0
- package/_mjs/Query/api/orHalt.mjs +19 -0
- package/_mjs/Query/api/orHalt.mjs.map +1 -0
- package/_mjs/Query/api/race.mjs +33 -0
- package/_mjs/Query/api/race.mjs.map +1 -0
- package/_mjs/Query/api/run.mjs +38 -0
- package/_mjs/Query/api/run.mjs.map +1 -0
- package/_mjs/Query/api/timeout.mjs +59 -0
- package/_mjs/Query/api/timeout.mjs.map +1 -0
- package/_mjs/Query/api/zipWith.mjs +30 -0
- package/_mjs/Query/api/zipWith.mjs.map +1 -0
- package/_mjs/Query/api/zipWithBatched.mjs +31 -0
- package/_mjs/Query/api/zipWithBatched.mjs.map +1 -0
- package/_mjs/Query/api/zipWithConcurrent.mjs +31 -0
- package/_mjs/Query/api/zipWithConcurrent.mjs.map +1 -0
- package/_mjs/Query/api.mjs +77 -0
- package/_mjs/Query/api.mjs.map +1 -0
- package/_mjs/Query/definition.mjs +14 -0
- package/_mjs/Query/definition.mjs.map +1 -0
- package/_mjs/Query.mjs +34 -0
- package/_mjs/Query.mjs.map +1 -0
- package/_mjs/QueryFailure.mjs +8 -0
- package/_mjs/QueryFailure.mjs.map +1 -0
- package/_mjs/Request.mjs +43 -0
- package/_mjs/Request.mjs.map +1 -0
- package/_mjs/global.mjs +2 -0
- package/_mjs/global.mjs.map +1 -0
- package/_mjs/index.mjs +2 -0
- package/_mjs/index.mjs.map +1 -0
- package/_mjs/internal/BlockedRequest.mjs +21 -0
- package/_mjs/internal/BlockedRequest.mjs.map +1 -0
- package/_mjs/internal/BlockedRequests.mjs +341 -0
- package/_mjs/internal/BlockedRequests.mjs.map +1 -0
- package/_mjs/internal/Continue.mjs +262 -0
- package/_mjs/internal/Continue.mjs.map +1 -0
- package/_mjs/internal/Parallel.mjs +62 -0
- package/_mjs/internal/Parallel.mjs.map +1 -0
- package/_mjs/internal/Result.mjs +208 -0
- package/_mjs/internal/Result.mjs.map +1 -0
- package/_mjs/internal/Sequential.mjs +44 -0
- package/_mjs/internal/Sequential.mjs.map +1 -0
- package/_src/Cache/api.ts +49 -0
- package/_src/Cache/definition.ts +13 -0
- package/_src/Cache.ts +4 -0
- package/_src/CompletedRequestMap.ts +38 -0
- package/_src/DataSource/api.ts +97 -0
- package/_src/DataSource/definition.ts +77 -0
- package/_src/DataSource.ts +4 -0
- package/_src/DataSourceAspect.ts +7 -0
- package/_src/Described.ts +21 -0
- package/_src/Query/api/bimap.ts +11 -0
- package/_src/Query/api/catchAllCause.ts +17 -0
- package/_src/Query/api/collectAll.ts +6 -0
- package/_src/Query/api/collectAllBatched.ts +9 -0
- package/_src/Query/api/collectAllConcurrent.ts +6 -0
- package/_src/Query/api/defer.ts +6 -0
- package/_src/Query/api/ensuring.ts +19 -0
- package/_src/Query/api/environment.ts +82 -0
- package/_src/Query/api/flatMap.ts +26 -0
- package/_src/Query/api/foreach.ts +17 -0
- package/_src/Query/api/foreachBatched.ts +17 -0
- package/_src/Query/api/foreachConcurrent.ts +10 -0
- package/_src/Query/api/fromRequest.ts +49 -0
- package/_src/Query/api/map.ts +8 -0
- package/_src/Query/api/mapDataSources.ts +8 -0
- package/_src/Query/api/mapError.ts +8 -0
- package/_src/Query/api/mapErrorCause.ts +8 -0
- package/_src/Query/api/mapIO.ts +8 -0
- package/_src/Query/api/match.ts +11 -0
- package/_src/Query/api/matchCauseQuery.ts +21 -0
- package/_src/Query/api/matchQuery.ts +12 -0
- package/_src/Query/api/orHalt.ts +15 -0
- package/_src/Query/api/race.ts +34 -0
- package/_src/Query/api/run.ts +40 -0
- package/_src/Query/api/timeout.ts +58 -0
- package/_src/Query/api/zipWith.ts +44 -0
- package/_src/Query/api/zipWithBatched.ts +41 -0
- package/_src/Query/api/zipWithConcurrent.ts +45 -0
- package/_src/Query/api.ts +76 -0
- package/_src/Query/definition.ts +13 -0
- package/_src/Query.ts +35 -0
- package/_src/QueryFailure.ts +7 -0
- package/_src/Request.ts +52 -0
- package/_src/global.ts +45 -0
- package/_src/index.ts +3 -0
- package/_src/internal/BlockedRequest.ts +24 -0
- package/_src/internal/BlockedRequests.ts +331 -0
- package/_src/internal/Continue.ts +305 -0
- package/_src/internal/Parallel.ts +82 -0
- package/_src/internal/Result.ts +242 -0
- package/_src/internal/Sequential.ts +63 -0
- package/global.d.ts +45 -0
- package/index.d.ts +1 -0
- package/internal/BlockedRequest.d.ts +21 -0
- package/internal/BlockedRequests.d.ts +123 -0
- package/internal/Continue.d.ts +133 -0
- package/internal/Parallel.d.ts +56 -0
- package/internal/Result.d.ts +115 -0
- package/internal/Sequential.d.ts +40 -0
- package/package.json +22 -0
- package/runTests.d.ts +1 -0
package/global.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tsplus global
|
|
3
|
+
*/
|
|
4
|
+
import type {} from "@fncts/base/global";
|
|
5
|
+
/**
|
|
6
|
+
* @tsplus global
|
|
7
|
+
*/
|
|
8
|
+
import type {} from "@fncts/io/global";
|
|
9
|
+
/**
|
|
10
|
+
* @tsplus global
|
|
11
|
+
*/
|
|
12
|
+
import type {} from "@fncts/query";
|
|
13
|
+
/**
|
|
14
|
+
* @tsplus global
|
|
15
|
+
*/
|
|
16
|
+
import { Left, Right } from "@fncts/base/data/Either";
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus global
|
|
19
|
+
*/
|
|
20
|
+
import { Cache } from "@fncts/query/Cache";
|
|
21
|
+
/**
|
|
22
|
+
* @tsplus global
|
|
23
|
+
*/
|
|
24
|
+
import { DataSource } from "@fncts/query/DataSource";
|
|
25
|
+
/**
|
|
26
|
+
* @tsplus global
|
|
27
|
+
*/
|
|
28
|
+
import { DataSourceAspect } from "@fncts/query/DataSourceAspect";
|
|
29
|
+
/**
|
|
30
|
+
* @tsplus global
|
|
31
|
+
*/
|
|
32
|
+
import { Continue } from "@fncts/query/internal/Continue";
|
|
33
|
+
/**
|
|
34
|
+
* @tsplus global
|
|
35
|
+
*/
|
|
36
|
+
import { Result } from "@fncts/query/internal/Result";
|
|
37
|
+
/**
|
|
38
|
+
* @tsplus global
|
|
39
|
+
*/
|
|
40
|
+
import { Query } from "@fncts/query/Query/definition";
|
|
41
|
+
/**
|
|
42
|
+
* @tsplus global
|
|
43
|
+
*/
|
|
44
|
+
import { Request } from "@fncts/query/Request";
|
|
45
|
+
export {};
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type {} from "./global.js";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Request } from "@fncts/query/Request";
|
|
2
|
+
import { Ref } from "@fncts/io/Ref/definition";
|
|
3
|
+
import { Maybe } from "@fncts/base/data/Maybe/definition";
|
|
4
|
+
import { Either } from "@fncts/base/data/Either/definition";
|
|
5
|
+
export declare const BlockedRequestTypeId: unique symbol;
|
|
6
|
+
export type BlockedRequestTypeId = typeof BlockedRequestTypeId;
|
|
7
|
+
/**
|
|
8
|
+
* @tsplus type fncts.query.BlockedRequest
|
|
9
|
+
* @tsplus companion fncts.query.BlockedRequestOps
|
|
10
|
+
*/
|
|
11
|
+
export declare class BlockedRequest<A> {
|
|
12
|
+
readonly request: Request<Request.ErrorOf<A>, Request.ValueOf<A>>;
|
|
13
|
+
readonly result: Ref<Maybe<Either<Request.ErrorOf<A>, Request.ValueOf<A>>>>;
|
|
14
|
+
readonly [BlockedRequestTypeId]: BlockedRequestTypeId;
|
|
15
|
+
constructor(request: Request<Request.ErrorOf<A>, Request.ValueOf<A>>, result: Ref<Maybe<Either<Request.ErrorOf<A>, Request.ValueOf<A>>>>);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus static fncts.query.BlockedRequestOps make
|
|
19
|
+
* @tsplus location "@fncts/query/internal/BlockedRequest"
|
|
20
|
+
*/
|
|
21
|
+
export declare function make<A extends Request<any, any>>(request: A, result: Ref<Maybe<Either<Request.ErrorOf<A>, Request.ValueOf<A>>>>): BlockedRequest<A>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { List } from "@fncts/base/collection/immutable/List/definition";
|
|
2
|
+
import { Either } from "@fncts/base/data/Either/definition";
|
|
3
|
+
import { DataSourceAspect } from "@fncts/query/DataSourceAspect";
|
|
4
|
+
import { Environment } from "@fncts/base/data/Environment/definition";
|
|
5
|
+
import { IO } from "@fncts/io/IO/definition";
|
|
6
|
+
import type { Sequential } from "./Sequential.js";
|
|
7
|
+
import type { DataSource } from "@fncts/query/DataSource";
|
|
8
|
+
import type { Described } from "@fncts/query/Described";
|
|
9
|
+
import type { BlockedRequest } from "@fncts/query/internal/BlockedRequest";
|
|
10
|
+
import { Parallel } from "./Parallel.js";
|
|
11
|
+
export declare const BlockedRequestsTypeId: unique symbol;
|
|
12
|
+
export type BlockedRequestsTypeId = typeof BlockedRequestsTypeId;
|
|
13
|
+
export declare const BlockedRequestsVariance: unique symbol;
|
|
14
|
+
export type BlockedRequestsVariance = typeof BlockedRequestsVariance;
|
|
15
|
+
/**
|
|
16
|
+
* @tsplus type fncts.query.BlockedRequests
|
|
17
|
+
* @tsplus companion fncts.query.BlockedRequestsOps
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BlockedRequests<R> {
|
|
20
|
+
readonly [BlockedRequestsTypeId]: BlockedRequestsTypeId;
|
|
21
|
+
[BlockedRequestsVariance]: {
|
|
22
|
+
readonly _R: (_: never) => R;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare const enum BlockedRequestsTag {
|
|
26
|
+
Empty = 0,
|
|
27
|
+
Single = 1,
|
|
28
|
+
Then = 2,
|
|
29
|
+
Both = 3
|
|
30
|
+
}
|
|
31
|
+
export declare class Empty extends BlockedRequests<never> {
|
|
32
|
+
readonly _tag = BlockedRequestsTag.Empty;
|
|
33
|
+
}
|
|
34
|
+
export declare class Single<R, A> extends BlockedRequests<R> {
|
|
35
|
+
readonly dataSource: DataSource<R, A>;
|
|
36
|
+
readonly blockedRequest: BlockedRequest<A>;
|
|
37
|
+
readonly _tag = BlockedRequestsTag.Single;
|
|
38
|
+
constructor(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>);
|
|
39
|
+
}
|
|
40
|
+
export declare class Then<R> extends BlockedRequests<R> {
|
|
41
|
+
readonly left: BlockedRequests<R>;
|
|
42
|
+
readonly right: BlockedRequests<R>;
|
|
43
|
+
readonly _tag = BlockedRequestsTag.Then;
|
|
44
|
+
constructor(left: BlockedRequests<R>, right: BlockedRequests<R>);
|
|
45
|
+
}
|
|
46
|
+
export declare class Both<R> extends BlockedRequests<R> {
|
|
47
|
+
readonly left: BlockedRequests<R>;
|
|
48
|
+
readonly right: BlockedRequests<R>;
|
|
49
|
+
readonly _tag = BlockedRequestsTag.Both;
|
|
50
|
+
constructor(left: BlockedRequests<R>, right: BlockedRequests<R>);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @tsplus static fncts.query.BlockedRequestsOps empty
|
|
54
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
55
|
+
*/
|
|
56
|
+
export declare function empty<R>(): BlockedRequests<R>;
|
|
57
|
+
/**
|
|
58
|
+
* @tsplus static fncts.query.BlockedRequestsOps single
|
|
59
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
60
|
+
*/
|
|
61
|
+
export declare function single<R, A>(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>): BlockedRequests<R>;
|
|
62
|
+
/**
|
|
63
|
+
* @tsplus static fncts.query.BlockedRequestsOps then
|
|
64
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
65
|
+
*/
|
|
66
|
+
export declare function then<R>(left: BlockedRequests<R>, right: BlockedRequests<R>): BlockedRequests<R>;
|
|
67
|
+
/**
|
|
68
|
+
* @tsplus static fncts.query.BlockedRequestsOps both
|
|
69
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
70
|
+
*/
|
|
71
|
+
export declare function both<R>(left: BlockedRequests<R>, right: BlockedRequests<R>): BlockedRequests<R>;
|
|
72
|
+
export declare abstract class BlockedRequestsFolder<R, Z> {
|
|
73
|
+
abstract readonly emptyCase: Z;
|
|
74
|
+
abstract singleCase<A>(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>): Z;
|
|
75
|
+
abstract bothCase(left: Z, right: Z): Z;
|
|
76
|
+
abstract thenCase(left: Z, right: Z): Z;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @tsplus pipeable fncts.query.BlockedRequests fold
|
|
80
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
81
|
+
*/
|
|
82
|
+
export declare function fold<R, Z>(folder: BlockedRequestsFolder<R, Z>): (self: BlockedRequests<R>) => Z;
|
|
83
|
+
export declare class MapDataSources<R> extends BlockedRequestsFolder<R, BlockedRequests<R>> {
|
|
84
|
+
readonly f: DataSourceAspect<R>;
|
|
85
|
+
constructor(f: DataSourceAspect<R>);
|
|
86
|
+
emptyCase: BlockedRequests<R>;
|
|
87
|
+
singleCase<A>(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>): BlockedRequests<R>;
|
|
88
|
+
bothCase(left: BlockedRequests<R>, right: BlockedRequests<R>): BlockedRequests<R>;
|
|
89
|
+
thenCase(left: BlockedRequests<R>, right: BlockedRequests<R>): BlockedRequests<R>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @tsplus pipeable fncts.query.BlockedRequests mapDataSources
|
|
93
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
94
|
+
*/
|
|
95
|
+
export declare function mapDataSources<R1>(f: DataSourceAspect<R1>): <R>(self: BlockedRequests<R>) => BlockedRequests<R1 | R>;
|
|
96
|
+
export declare class ContramapEnvironment<R0, R> extends BlockedRequestsFolder<R, BlockedRequests<R0>> {
|
|
97
|
+
readonly f: Described<(_: Environment<R0>) => Environment<R>>;
|
|
98
|
+
constructor(f: Described<(_: Environment<R0>) => Environment<R>>);
|
|
99
|
+
emptyCase: BlockedRequests<R0>;
|
|
100
|
+
singleCase<A>(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>): BlockedRequests<R0>;
|
|
101
|
+
bothCase(left: BlockedRequests<R0>, right: BlockedRequests<R0>): BlockedRequests<R0>;
|
|
102
|
+
thenCase(left: BlockedRequests<R0>, right: BlockedRequests<R0>): BlockedRequests<R0>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @tsplus pipeable fncts.query.BlockedRequests contramapEnvironment
|
|
106
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
107
|
+
*/
|
|
108
|
+
export declare function contramapEnvironment<R0, R>(f: Described<(_: Environment<R0>) => Environment<R>>, __tsplusTrace?: string): (self: BlockedRequests<R>) => BlockedRequests<R0>;
|
|
109
|
+
/**
|
|
110
|
+
* @tsplus getter fncts.query.BlockedRequests step
|
|
111
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
112
|
+
*/
|
|
113
|
+
export declare function step<R>(c: BlockedRequests<R>): readonly [Parallel<R>, List<BlockedRequests<R>>];
|
|
114
|
+
/**
|
|
115
|
+
* @tsplus getter fncts.query.BlockedRequests flatten
|
|
116
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
117
|
+
*/
|
|
118
|
+
export declare function flatten<R>(blockedRequests: BlockedRequests<R>): List<Sequential<R>>;
|
|
119
|
+
/**
|
|
120
|
+
* @tsplus getter fncts.query.BlockedRequests run
|
|
121
|
+
* @tsplus location "@fncts/query/internal/BlockedRequests"
|
|
122
|
+
*/
|
|
123
|
+
export declare function run<R>(self: BlockedRequests<R>, __tsplusTrace?: string): IO<R, never, void>;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Query } from "@fncts/query/Query/definition";
|
|
2
|
+
import { FIO } from "@fncts/io/IO/definition";
|
|
3
|
+
import { Request } from "@fncts/query/Request";
|
|
4
|
+
import { DataSource } from "@fncts/query/DataSource";
|
|
5
|
+
import { Ref } from "@fncts/io/Ref/definition";
|
|
6
|
+
import { Maybe } from "@fncts/base/data/Maybe/definition";
|
|
7
|
+
import { Either } from "@fncts/base/data/Either/definition";
|
|
8
|
+
import { Cause } from "@fncts/base/data/Cause/definition";
|
|
9
|
+
import { DataSourceAspect } from "@fncts/query/DataSourceAspect";
|
|
10
|
+
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
|
11
|
+
import { Environment } from "@fncts/base/data/Environment/definition";
|
|
12
|
+
import type { Described } from "@fncts/query/Described";
|
|
13
|
+
export declare const ContinueTypeId: unique symbol;
|
|
14
|
+
export type ContinueTypeId = typeof ContinueTypeId;
|
|
15
|
+
export declare const ContinueVariance: unique symbol;
|
|
16
|
+
export type ContinueVariance = typeof ContinueVariance;
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus type fncts.query.Continue
|
|
19
|
+
* @tsplus companion fncts.query.ContinueOps
|
|
20
|
+
*/
|
|
21
|
+
export declare abstract class Continue<R, E, A> {
|
|
22
|
+
readonly [ContinueTypeId]: ContinueTypeId;
|
|
23
|
+
[ContinueVariance]: {
|
|
24
|
+
readonly _R: (_: never) => R;
|
|
25
|
+
readonly _E: (_: never) => E;
|
|
26
|
+
readonly _A: (_: never) => A;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare const enum ContinueTag {
|
|
30
|
+
Effect = 0,
|
|
31
|
+
Get = 1
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @tsplus companion fncts.query.Continue.EffectOps
|
|
35
|
+
*/
|
|
36
|
+
export declare class Effect<R, E, A> extends Continue<R, E, A> {
|
|
37
|
+
readonly query: Query<R, E, A>;
|
|
38
|
+
readonly _tag = ContinueTag.Effect;
|
|
39
|
+
constructor(query: Query<R, E, A>);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @tsplus companion fncts.query.Continue.GetOps
|
|
43
|
+
*/
|
|
44
|
+
export declare class Get<E, A> extends Continue<never, E, A> {
|
|
45
|
+
readonly io: FIO<E, A>;
|
|
46
|
+
readonly _tag = ContinueTag.Get;
|
|
47
|
+
constructor(io: FIO<E, A>);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @tsplus static fncts.query.Continue.EffectOps __call
|
|
51
|
+
* @tsplus static fncts.query.Continue effect
|
|
52
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
53
|
+
*/
|
|
54
|
+
export declare function effect<R, E, A>(query: Query<R, E, A>): Continue<R, E, A>;
|
|
55
|
+
/**
|
|
56
|
+
* @tsplus static fncts.query.Continue.GetOps __call
|
|
57
|
+
* @tsplus static fncts.query.Continue get
|
|
58
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
59
|
+
*/
|
|
60
|
+
export declare function get<E, A>(io: FIO<E, A>): Continue<never, E, A>;
|
|
61
|
+
/**
|
|
62
|
+
* @tsplus static fncts.query.ContinueOps __call
|
|
63
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
64
|
+
*/
|
|
65
|
+
export declare function makeContinue<R, E, A extends Request<E, B>, B>(request: A, dataSource: DataSource<R, A>, ref: Ref<Maybe<Either<E, B>>>, __tsplusTrace?: string): Continue<R, E, B>;
|
|
66
|
+
/**
|
|
67
|
+
* @tsplus pipeable fncts.query.Continue matchType
|
|
68
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
69
|
+
*/
|
|
70
|
+
export declare function matchType<R, E, A, B, C>(cases: {
|
|
71
|
+
Effect: (query: Query<R, E, A>) => B;
|
|
72
|
+
Get: (io: FIO<E, A>) => C;
|
|
73
|
+
}): (self: Continue<R, E, A>) => B | C;
|
|
74
|
+
/**
|
|
75
|
+
* @tsplus pipeable fncts.query.Continue mapQuery
|
|
76
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
77
|
+
*/
|
|
78
|
+
export declare function mapQuery<A, R1, E1, B>(f: (a: A) => Query<R1, E1, B>, __tsplusTrace?: string): <R, E>(self: Continue<R, E, A>) => Continue<R1 | R, E1 | E, B>;
|
|
79
|
+
/**
|
|
80
|
+
* @tsplus pipeable fncts.query.Continue match
|
|
81
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
82
|
+
*/
|
|
83
|
+
export declare function match<E, A, B, C>(failure: (e: E) => B, success: (a: A) => C, __tsplusTrace?: string): <R>(self: Continue<R, E, A>) => Continue<R, never, B | C>;
|
|
84
|
+
/**
|
|
85
|
+
* @tsplus pipeable fncts.query.Continue matchCauseQuery
|
|
86
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
87
|
+
*/
|
|
88
|
+
export declare function matchCauseQuery<E, A, R1, E1, B, R2, E2, C>(failure: (cause: Cause<E>) => Query<R1, E1, B>, success: (value: A) => Query<R2, E2, C>, __tsplusTrace?: string): <R>(self: Continue<R, E, A>) => Continue<R1 | R2 | R, E1 | E2, B | C>;
|
|
89
|
+
/**
|
|
90
|
+
* @tsplus pipeable fncts.query.Continue map
|
|
91
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
92
|
+
*/
|
|
93
|
+
export declare function map<A, B>(f: (a: A) => B, __tsplusTrace?: string): <R, E>(self: Continue<R, E, A>) => Continue<R, E, B>;
|
|
94
|
+
/**
|
|
95
|
+
* @tsplus pipeable fncts.query.Continue mapDataSources
|
|
96
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
97
|
+
*/
|
|
98
|
+
export declare function mapDataSources<R1>(f: DataSourceAspect<R1>, __tsplusTrace?: string): <R, E, A>(self: Continue<R, E, A>) => Continue<R1 | R, E, A>;
|
|
99
|
+
/**
|
|
100
|
+
* @tsplus pipeable fncts.query.Continue mapError
|
|
101
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
102
|
+
*/
|
|
103
|
+
export declare function mapError<E, E1>(f: (e: E) => E1, __tsplusTrace?: string): <R, A>(self: Continue<R, E, A>) => Continue<R, E1, A>;
|
|
104
|
+
/**
|
|
105
|
+
* @tsplus pipeable fncts.query.Continue mapErrorCause
|
|
106
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
107
|
+
*/
|
|
108
|
+
export declare function mapErrorCause<E, E1>(f: (cause: Cause<E>) => Cause<E1>, __tsplusTrace?: string): <R, A>(self: Continue<R, E, A>) => Continue<R, E1, A>;
|
|
109
|
+
/**
|
|
110
|
+
* @tsplus pipeable fncts.query.Continue zipWith
|
|
111
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
112
|
+
*/
|
|
113
|
+
export declare function zipWith<A, R1, E1, B, C>(that: Continue<R1, E1, B>, f: (a: A, b: B) => C, __tsplusTrace?: string): <R, E>(self: Continue<R, E, A>) => Continue<R1 | R, E1 | E, C>;
|
|
114
|
+
/**
|
|
115
|
+
* @tsplus pipeable fncts.query.Continue zipWithConcurrent
|
|
116
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
117
|
+
*/
|
|
118
|
+
export declare function zipWithConcurrent<A, R1, E1, B, C>(that: Continue<R1, E1, B>, f: (a: A, b: B) => C, __tsplusTrace?: string): <R, E>(self: Continue<R, E, A>) => Continue<R1 | R, E1 | E, C>;
|
|
119
|
+
/**
|
|
120
|
+
* @tsplus pipeable fncts.query.Continue zipWithBatched
|
|
121
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
122
|
+
*/
|
|
123
|
+
export declare function zipWithBatched<A, R1, E1, B, C>(that: Continue<R1, E1, B>, f: (a: A, b: B) => C, __tsplusTrace?: string): <R, E>(self: Continue<R, E, A>) => Continue<R1 | R, E1 | E, C>;
|
|
124
|
+
/**
|
|
125
|
+
* @tsplus static fncts.query.ContinueOps collectAllConcurrent
|
|
126
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
127
|
+
*/
|
|
128
|
+
export declare function collectAllConcurrent<R, E, A>(continues: Iterable<Continue<R, E, A>>): Continue<R, E, Conc<A>>;
|
|
129
|
+
/**
|
|
130
|
+
* @tsplus pipeable fncts.query.Continue contramapEnvironment
|
|
131
|
+
* @tsplus location "@fncts/query/internal/Continue"
|
|
132
|
+
*/
|
|
133
|
+
export declare function contramapEnvironment<R0, R>(f: Described<(_: Environment<R0>) => Environment<R>>, __tsplusTrace?: string): <E, A>(self: Continue<R, E, A>) => Continue<R0, E, A>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { HashMap } from "@fncts/base/collection/immutable/HashMap/definition";
|
|
2
|
+
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
|
3
|
+
import type { DataSource } from "@fncts/query/DataSource";
|
|
4
|
+
import type { BlockedRequest } from "@fncts/query/internal/BlockedRequest";
|
|
5
|
+
import { Sequential } from "@fncts/query/internal/Sequential";
|
|
6
|
+
export declare const ParallelTypeId: unique symbol;
|
|
7
|
+
export type ParallelTypeId = typeof ParallelTypeId;
|
|
8
|
+
export declare const ParallelVariance: unique symbol;
|
|
9
|
+
export type ParallelVariance = typeof ParallelVariance;
|
|
10
|
+
/**
|
|
11
|
+
* @tsplus type fncts.query.Parallel
|
|
12
|
+
* @tsplus companion fncts.query.ParallelOps
|
|
13
|
+
*/
|
|
14
|
+
export declare class Parallel<R> {
|
|
15
|
+
readonly map: HashMap<DataSource<any, any>, Conc<BlockedRequest<any>>>;
|
|
16
|
+
readonly [ParallelTypeId]: ParallelTypeId;
|
|
17
|
+
[ParallelVariance]: {
|
|
18
|
+
readonly _R: (_: never) => R;
|
|
19
|
+
};
|
|
20
|
+
constructor(map: HashMap<DataSource<any, any>, Conc<BlockedRequest<any>>>);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @tsplus pipeable fncts.query.Parallel concat
|
|
24
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
25
|
+
*/
|
|
26
|
+
export declare function concat<R1>(that: Parallel<R1>): <R>(self: Parallel<R>) => Parallel<R1 | R>;
|
|
27
|
+
/**
|
|
28
|
+
* @tsplus getter fncts.query.Parallel isEmpty
|
|
29
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
30
|
+
*/
|
|
31
|
+
export declare function isEmpty<R>(self: Parallel<R>): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @tsplus getter fncts.query.Parallel keys
|
|
34
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
35
|
+
*/
|
|
36
|
+
export declare function keys<R>(self: Parallel<R>): Iterable<DataSource<R, any>>;
|
|
37
|
+
/**
|
|
38
|
+
* @tsplus getter fncts.query.Parallel toIterable
|
|
39
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
40
|
+
*/
|
|
41
|
+
export declare function toIterable<R>(self: Parallel<R>): Iterable<readonly [DataSource<R, any>, Conc<BlockedRequest<any>>]>;
|
|
42
|
+
/**
|
|
43
|
+
* @tsplus getter fncts.query.Parallel sequential
|
|
44
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
45
|
+
*/
|
|
46
|
+
export declare function sequential<R>(self: Parallel<R>): Sequential<R>;
|
|
47
|
+
/**
|
|
48
|
+
* @tsplus static fncts.query.ParallelOps __call
|
|
49
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
50
|
+
*/
|
|
51
|
+
export declare function makeParallel<R, A>(dataSource: DataSource<R, A>, blockedRequest: BlockedRequest<A>): Parallel<R>;
|
|
52
|
+
/**
|
|
53
|
+
* @tsplus static fncts.query.ParallelOps empty
|
|
54
|
+
* @tsplus location "@fncts/query/internal/Parallel"
|
|
55
|
+
*/
|
|
56
|
+
export declare const empty: Parallel<never>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Continue } from "@fncts/query/internal/Continue";
|
|
2
|
+
import { Cause } from "@fncts/base/data/Cause/definition";
|
|
3
|
+
import { DataSourceAspect } from "@fncts/query/DataSourceAspect";
|
|
4
|
+
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
|
5
|
+
import { Environment } from "@fncts/base/data/Environment/definition";
|
|
6
|
+
import { Either } from "@fncts/base/data/Either/definition";
|
|
7
|
+
import { Exit } from "@fncts/base/data/Exit/definition";
|
|
8
|
+
import type { Described } from "@fncts/query/Described";
|
|
9
|
+
import { BlockedRequests } from "@fncts/query/internal/BlockedRequests";
|
|
10
|
+
export declare const ResultTypeId: unique symbol;
|
|
11
|
+
export type ResultTypeId = typeof ResultTypeId;
|
|
12
|
+
export declare const ResultVariance: unique symbol;
|
|
13
|
+
export type ResultVariance = typeof ResultVariance;
|
|
14
|
+
/**
|
|
15
|
+
* @tsplus type fncts.query.Result
|
|
16
|
+
* @tsplus companion fncts.query.ResultOps
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class Result<R, E, A> {
|
|
19
|
+
readonly [ResultTypeId]: ResultTypeId;
|
|
20
|
+
[ResultVariance]: {
|
|
21
|
+
readonly _R: (_: never) => R;
|
|
22
|
+
readonly _E: (_: never) => E;
|
|
23
|
+
readonly _A: (_: never) => A;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export declare const enum ResultTag {
|
|
27
|
+
Blocked = 0,
|
|
28
|
+
Done = 1,
|
|
29
|
+
Fail = 2
|
|
30
|
+
}
|
|
31
|
+
export declare class Blocked<R, E, A> extends Result<R, E, A> {
|
|
32
|
+
readonly blockedRequests: BlockedRequests<R>;
|
|
33
|
+
readonly cont: Continue<R, E, A>;
|
|
34
|
+
readonly _tag = ResultTag.Blocked;
|
|
35
|
+
constructor(blockedRequests: BlockedRequests<R>, cont: Continue<R, E, A>);
|
|
36
|
+
}
|
|
37
|
+
export declare class Done<A> extends Result<never, never, A> {
|
|
38
|
+
readonly value: A;
|
|
39
|
+
readonly _tag = ResultTag.Done;
|
|
40
|
+
constructor(value: A);
|
|
41
|
+
}
|
|
42
|
+
export declare class Fail<E> extends Result<never, E, never> {
|
|
43
|
+
readonly cause: Cause<E>;
|
|
44
|
+
readonly _tag = ResultTag.Fail;
|
|
45
|
+
constructor(cause: Cause<E>);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @tsplus static fncts.query.ResultOps blocked
|
|
49
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
50
|
+
*/
|
|
51
|
+
export declare function blocked<R, E, A>(blockedRequests: BlockedRequests<R>, cont: Continue<R, E, A>): Result<R, E, A>;
|
|
52
|
+
/**
|
|
53
|
+
* @tsplus static fncts.query.ResultOps done
|
|
54
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
55
|
+
*/
|
|
56
|
+
export declare function done<A>(value: A): Result<never, never, A>;
|
|
57
|
+
/**
|
|
58
|
+
* @tsplus static fncts.query.ResultOps fail
|
|
59
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
60
|
+
*/
|
|
61
|
+
export declare function fail<E>(cause: Cause<E>): Result<never, E, never>;
|
|
62
|
+
/**
|
|
63
|
+
* @tsplus pipeable fncts.query.Result matchType
|
|
64
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
65
|
+
*/
|
|
66
|
+
export declare function matchType<R, E, A, B, C, D>(cases: {
|
|
67
|
+
Blocked: (blockedRequests: BlockedRequests<R>, cont: Continue<R, E, A>) => B;
|
|
68
|
+
Done: (value: A) => C;
|
|
69
|
+
Fail: (cause: Cause<E>) => D;
|
|
70
|
+
}): (self: Result<R, E, A>) => B | C | D;
|
|
71
|
+
/**
|
|
72
|
+
* @tsplus pipeable fncts.query.Result match
|
|
73
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
74
|
+
*/
|
|
75
|
+
export declare function match<E, A, B, C>(failure: (e: E) => B, success: (a: A) => C): <R>(self: Result<R, E, A>) => Result<R, never, B | C>;
|
|
76
|
+
/**
|
|
77
|
+
* @tsplus pipeable fncts.query.Result map
|
|
78
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
79
|
+
*/
|
|
80
|
+
export declare function map<A, B>(f: (a: A) => B, __tsplusTrace?: string): <R, E>(self: Result<R, E, A>) => Result<R, E, B>;
|
|
81
|
+
/**
|
|
82
|
+
* @tsplus pipeable fncts.query.Result mapDataSources
|
|
83
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
84
|
+
*/
|
|
85
|
+
export declare function mapDataSources<R1>(f: DataSourceAspect<R1>): <R, E, A>(self: Result<R, E, A>) => Result<R1 | R, E, A>;
|
|
86
|
+
/**
|
|
87
|
+
* @tsplus pipeable fncts.query.Result mapError
|
|
88
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
89
|
+
*/
|
|
90
|
+
export declare function mapError<E, E1>(f: (e: E) => E1, __tsplusTrace?: string): <R, A>(self: Result<R, E, A>) => Result<R, E1, A>;
|
|
91
|
+
/**
|
|
92
|
+
* @tsplus pipeable fncts.query.Result mapErrorCause
|
|
93
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
94
|
+
*/
|
|
95
|
+
export declare function mapErrorCause<E, E1>(f: (cause: Cause<E>) => Cause<E1>, __tsplusTrace?: string): <R, A>(self: Result<R, E, A>) => Result<R, E1, A>;
|
|
96
|
+
/**
|
|
97
|
+
* @tsplus static fncts.query.ResultOps collectAllConcurrent
|
|
98
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
99
|
+
*/
|
|
100
|
+
export declare function collectAllConcurrent<R, E, A>(self: Iterable<Result<R, E, A>>, __tsplusTrace?: string): Result<R, E, Conc<A>>;
|
|
101
|
+
/**
|
|
102
|
+
* @tsplus pipeable fncts.query.Result contramapEnvironment
|
|
103
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
104
|
+
*/
|
|
105
|
+
export declare function contramapEnvironment<R0, R>(f: Described<(_: Environment<R0>) => Environment<R>>, __tsplusTrace?: string): <E, A>(self: Result<R, E, A>) => Result<R0, E, A>;
|
|
106
|
+
/**
|
|
107
|
+
* @tsplus static fncts.query.ResultOps fromEither
|
|
108
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
109
|
+
*/
|
|
110
|
+
export declare function fromEither<E, A>(either: Either<E, A>): Result<never, E, A>;
|
|
111
|
+
/**
|
|
112
|
+
* @tsplus static fncts.query.ResultOps fromExit
|
|
113
|
+
* @tsplus location "@fncts/query/internal/Result"
|
|
114
|
+
*/
|
|
115
|
+
export declare function fromExit<E, A>(exit: Exit<E, A>): Result<never, E, A>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { HashMap } from "@fncts/base/collection/immutable/HashMap/definition";
|
|
2
|
+
import { Conc } from "@fncts/base/collection/immutable/Conc";
|
|
3
|
+
import type { DataSource } from "@fncts/query/DataSource";
|
|
4
|
+
import type { BlockedRequest } from "@fncts/query/internal/BlockedRequest";
|
|
5
|
+
export declare const SequentialTypeId: unique symbol;
|
|
6
|
+
export type SequentialTypeId = typeof SequentialTypeId;
|
|
7
|
+
export declare const SequentialVariance: unique symbol;
|
|
8
|
+
export type SequentialVariance = typeof SequentialVariance;
|
|
9
|
+
/**
|
|
10
|
+
* @tsplus type fncts.query.Sequential
|
|
11
|
+
* @tsplus companion fncts.query.SequentialOps
|
|
12
|
+
*/
|
|
13
|
+
export declare class Sequential<R> {
|
|
14
|
+
readonly map: HashMap<DataSource<any, any>, Conc<Conc<BlockedRequest<any>>>>;
|
|
15
|
+
readonly [SequentialTypeId]: SequentialTypeId;
|
|
16
|
+
[SequentialVariance]: {
|
|
17
|
+
readonly _R: (_: never) => R;
|
|
18
|
+
};
|
|
19
|
+
constructor(map: HashMap<DataSource<any, any>, Conc<Conc<BlockedRequest<any>>>>);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @tsplus pipeable fncts.query.Sequential concat
|
|
23
|
+
* @tsplus location "@fncts/query/internal/Sequential"
|
|
24
|
+
*/
|
|
25
|
+
export declare function concat<R1>(that: Sequential<R1>): <R>(self: Sequential<R>) => Sequential<R1 | R>;
|
|
26
|
+
/**
|
|
27
|
+
* @tsplus getter fncts.query.Sequential isEmpty
|
|
28
|
+
* @tsplus location "@fncts/query/internal/Sequential"
|
|
29
|
+
*/
|
|
30
|
+
export declare function isEmpty<R>(self: Sequential<R>): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* @tsplus getter fncts.query.Sequential keys
|
|
33
|
+
* @tsplus location "@fncts/query/internal/Sequential"
|
|
34
|
+
*/
|
|
35
|
+
export declare function keys<R>(self: Sequential<R>): Iterable<DataSource<R, any>>;
|
|
36
|
+
/**
|
|
37
|
+
* @tsplus getter fncts.query.Sequential toIterable
|
|
38
|
+
* @tsplus location "@fncts/query/internal/Sequential"
|
|
39
|
+
*/
|
|
40
|
+
export declare function toIterable<R>(self: Sequential<R>): Iterable<readonly [DataSource<R, any>, Conc<Conc<BlockedRequest<any>>>]>;
|
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fncts/query",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@fncts/base": "0.0.24",
|
|
6
|
+
"@fncts/io": "0.0.26",
|
|
7
|
+
"@fncts/typelevel": "0.0.15"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
"./*": {
|
|
11
|
+
"import": "./_mjs/*.mjs",
|
|
12
|
+
"require": "./_cjs/*.cjs"
|
|
13
|
+
},
|
|
14
|
+
".": {
|
|
15
|
+
"import": "./_mjs/index.mjs",
|
|
16
|
+
"require": "./_cjs/index.cjs"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
}
|
|
22
|
+
}
|
package/runTests.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|