@nkzw/fate 0.1.2 → 1.0.0-rc.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/README.md +810 -129
- package/docs/api/classes/FateClient.md +832 -0
- package/docs/api/functions/clientRoot.md +27 -0
- package/docs/api/functions/createClient.md +21 -0
- package/docs/api/functions/createHTTPTransport.md +51 -0
- package/docs/api/functions/createTRPCTransport.md +46 -0
- package/docs/api/functions/getListEntries.md +15 -0
- package/docs/api/functions/getSelectionPlan.md +36 -0
- package/docs/api/functions/isRecord.md +15 -0
- package/docs/api/functions/isViewTag.md +17 -0
- package/docs/api/functions/liveConnectionTopic.md +19 -0
- package/docs/api/functions/liveEntityTopic.md +19 -0
- package/docs/api/functions/liveGlobalConnectionTopic.md +15 -0
- package/docs/api/functions/mutation.md +32 -0
- package/docs/api/functions/toEntityId.md +21 -0
- package/docs/api/functions/view.md +26 -0
- package/docs/api/index.md +81 -0
- package/docs/api/interfaces/FateThenable.md +31 -0
- package/docs/api/interfaces/Transport.md +199 -0
- package/docs/api/server/classes/FateRequestError.md +67 -0
- package/docs/api/server/drizzle/functions/createDrizzleFate.md +431 -0
- package/docs/api/server/drizzle/functions/createDrizzleSourceAdapter.md +21 -0
- package/docs/api/server/drizzle/functions/createDrizzleSourceRegistry.md +21 -0
- package/docs/api/server/drizzle/index.md +23 -0
- package/docs/api/server/drizzle/type-aliases/DrizzleManyToManyConfig.md +15 -0
- package/docs/api/server/drizzle/type-aliases/DrizzleManyToManyInput.md +5 -0
- package/docs/api/server/drizzle/type-aliases/DrizzleQueryExtra.md +21 -0
- package/docs/api/server/drizzle/type-aliases/DrizzleSourceAdapter.md +337 -0
- package/docs/api/server/drizzle/type-aliases/DrizzleViewConfig.md +29 -0
- package/docs/api/server/functions/bindSourceProcedures.md +32 -0
- package/docs/api/server/functions/computed.md +43 -0
- package/docs/api/server/functions/count.md +21 -0
- package/docs/api/server/functions/createFateFetchHandler.md +21 -0
- package/docs/api/server/functions/createFateServer.md +41 -0
- package/docs/api/server/functions/createHonoFateHandler.md +21 -0
- package/docs/api/server/functions/createLiveEventBus.md +17 -0
- package/docs/api/server/functions/createNestedSourcePlan.md +103 -0
- package/docs/api/server/functions/createResolver.md +74 -0
- package/docs/api/server/functions/createSourcePlan.md +95 -0
- package/docs/api/server/functions/createSourceProcedures.md +46 -0
- package/docs/api/server/functions/dataView.md +32 -0
- package/docs/api/server/functions/field.md +15 -0
- package/docs/api/server/functions/getNestedSelection.md +19 -0
- package/docs/api/server/functions/getScopedArgs.md +21 -0
- package/docs/api/server/functions/hasNestedSelection.md +19 -0
- package/docs/api/server/functions/list.md +28 -0
- package/docs/api/server/functions/refetchSourceById.md +55 -0
- package/docs/api/server/functions/resolveSourceById.md +55 -0
- package/docs/api/server/functions/resolveSourceByIds.md +55 -0
- package/docs/api/server/functions/resolveSourceConnection.md +67 -0
- package/docs/api/server/functions/resolver.md +42 -0
- package/docs/api/server/functions/toPrismaSelect.md +25 -0
- package/docs/api/server/functions/withConnection.md +24 -0
- package/docs/api/server/index.md +109 -0
- package/docs/api/server/prisma/functions/createPrismaFate.md +435 -0
- package/docs/api/server/prisma/functions/createPrismaSourceAdapter.md +21 -0
- package/docs/api/server/prisma/functions/createPrismaSourceRegistry.md +21 -0
- package/docs/api/server/prisma/functions/prismaConnectionArgs.md +57 -0
- package/docs/api/server/prisma/index.md +23 -0
- package/docs/api/server/prisma/type-aliases/PrismaDelegate.md +59 -0
- package/docs/api/server/prisma/type-aliases/PrismaQueryExtra.md +5 -0
- package/docs/api/server/prisma/type-aliases/PrismaSourceAdapter.md +343 -0
- package/docs/api/server/prisma/type-aliases/PrismaViewConfig.md +31 -0
- package/docs/api/server/type-aliases/ComputedField.md +55 -0
- package/docs/api/server/type-aliases/ComputedSelection.md +5 -0
- package/docs/api/server/type-aliases/ConnectionItem.md +29 -0
- package/docs/api/server/type-aliases/ConnectionPagination.md +39 -0
- package/docs/api/server/type-aliases/ConnectionResult.md +29 -0
- package/docs/api/server/type-aliases/CountSelection.md +29 -0
- package/docs/api/server/type-aliases/CountWhere.md +5 -0
- package/docs/api/server/type-aliases/DataViewListOptions.md +13 -0
- package/docs/api/server/type-aliases/DataViewOrderBy.md +5 -0
- package/docs/api/server/type-aliases/DataViewOrderDirection.md +5 -0
- package/docs/api/server/type-aliases/DataViewResult.md +11 -0
- package/docs/api/server/type-aliases/Entity.md +21 -0
- package/docs/api/server/type-aliases/FateServer.md +75 -0
- package/docs/api/server/type-aliases/FateServerManifest.md +5 -0
- package/docs/api/server/type-aliases/FieldSelection.md +21 -0
- package/docs/api/server/type-aliases/LiveConnectionEventType.md +5 -0
- package/docs/api/server/type-aliases/LiveConnectionSourceEvent.md +5 -0
- package/docs/api/server/type-aliases/LiveEventBus.md +5 -0
- package/docs/api/server/type-aliases/LiveEventType.md +5 -0
- package/docs/api/server/type-aliases/LiveSourceEvent.md +5 -0
- package/docs/api/server/type-aliases/NativeFateAPI.md +47 -0
- package/docs/api/server/type-aliases/OrderDirection.md +5 -0
- package/docs/api/server/type-aliases/SourceConfig.md +55 -0
- package/docs/api/server/type-aliases/SourceDefinition.md +55 -0
- package/docs/api/server/type-aliases/SourceOrder.md +5 -0
- package/docs/api/server/type-aliases/SourceOrderField.md +21 -0
- package/docs/api/server/type-aliases/SourcePlan.md +29 -0
- package/docs/api/server/type-aliases/SourcePlanNode.md +29 -0
- package/docs/api/server/type-aliases/SourceRegistry.md +11 -0
- package/docs/api/server/type-aliases/SourceRelation.md +15 -0
- package/docs/api/server/type-aliases/SourceRelationConfig.md +23 -0
- package/docs/api/server/variables/byIdInput.md +5 -0
- package/docs/api/server/variables/connectionArgs.md +7 -0
- package/docs/api/type-aliases/ConnectionMetadata.md +7 -0
- package/docs/api/type-aliases/ConnectionRef.md +13 -0
- package/docs/api/type-aliases/Entity.md +15 -0
- package/docs/api/type-aliases/EntityId.md +7 -0
- package/docs/api/type-aliases/FateLiveConnectionEvent.md +5 -0
- package/docs/api/type-aliases/FateLiveEvent.md +5 -0
- package/docs/api/type-aliases/FateMutations.md +7 -0
- package/docs/api/type-aliases/FateOperation.md +5 -0
- package/docs/api/type-aliases/FateProtocolRequest.md +5 -0
- package/docs/api/type-aliases/FateProtocolResponse.md +5 -0
- package/docs/api/type-aliases/FateRecord.md +7 -0
- package/docs/api/type-aliases/FateRoots.md +7 -0
- package/docs/api/type-aliases/InferFateAPI.md +11 -0
- package/docs/api/type-aliases/List.md +5 -0
- package/docs/api/type-aliases/ListEntry.md +5 -0
- package/docs/api/type-aliases/ListItem.md +13 -0
- package/docs/api/type-aliases/Mask.md +15 -0
- package/docs/api/type-aliases/MutationDefinition.md +21 -0
- package/docs/api/type-aliases/MutationEntity.md +13 -0
- package/docs/api/type-aliases/MutationIdentifier.md +19 -0
- package/docs/api/type-aliases/MutationInput.md +13 -0
- package/docs/api/type-aliases/MutationResult.md +13 -0
- package/docs/api/type-aliases/NodesItem.md +13 -0
- package/docs/api/type-aliases/Pagination.md +39 -0
- package/docs/api/type-aliases/Request.md +7 -0
- package/docs/api/type-aliases/RequestMode.md +7 -0
- package/docs/api/type-aliases/RequestOptions.md +7 -0
- package/docs/api/type-aliases/RequestResult.md +18 -0
- package/docs/api/type-aliases/Selection.md +13 -0
- package/docs/api/type-aliases/Snapshot.md +7 -0
- package/docs/api/type-aliases/TypeConfig.md +41 -0
- package/docs/api/type-aliases/View.md +17 -0
- package/docs/api/type-aliases/ViewData.md +18 -0
- package/docs/api/type-aliases/ViewEntity.md +13 -0
- package/docs/api/type-aliases/ViewEntityName.md +13 -0
- package/docs/api/type-aliases/ViewRef.md +13 -0
- package/docs/api/type-aliases/ViewSelection.md +13 -0
- package/docs/api/type-aliases/ViewSnapshot.md +18 -0
- package/docs/api/type-aliases/ViewTag.md +7 -0
- package/docs/api/variables/ConnectionTag.md +7 -0
- package/docs/guide/actions.md +263 -0
- package/docs/guide/core-concepts.md +22 -0
- package/docs/guide/getting-started.md +57 -0
- package/docs/guide/list-views.md +86 -0
- package/docs/guide/live-views.md +245 -0
- package/docs/guide/requests.md +130 -0
- package/docs/guide/server-integration.md +630 -0
- package/docs/guide/views.md +278 -0
- package/docs/guide/void-integration.md +167 -0
- package/docs/index.md +4 -0
- package/lib/cli.mjs +17 -250
- package/lib/clientStub.d.mts +6 -0
- package/lib/clientStub.mjs +6 -0
- package/lib/executor-BqwHdN3n.d.mts +468 -0
- package/lib/index.d.mts +64 -3
- package/lib/index.mjs +1965 -559
- package/lib/list-4wRNSVgI.d.mts +10 -0
- package/lib/list-C_mi6GnE.mjs +16 -0
- package/lib/list.d.mts +2 -0
- package/lib/list.mjs +2 -0
- package/lib/liveTopics-DzNtJaBD.mjs +197 -0
- package/lib/{record-DnhZuvUe.mjs → record-AeZJC9fd.mjs} +1 -2
- package/lib/record-ENh92gyb.d.mts +315 -0
- package/lib/server/drizzle.d.mts +304 -0
- package/lib/server/drizzle.mjs +688 -0
- package/lib/server/prisma.d.mts +309 -0
- package/lib/server/prisma.mjs +345 -0
- package/lib/server.d.mts +82 -184
- package/lib/server.mjs +870 -416
- package/lib/sourceRouter-Bwpkr062.mjs +972 -0
- package/lib/{types-Djlh7mMH.d.mts → types-Dz46PXr3.d.mts} +327 -197
- package/lib/vite.d.mts +17 -0
- package/lib/vite.mjs +592 -0
- package/package.json +44 -6
package/lib/server.d.mts
CHANGED
|
@@ -1,201 +1,99 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as AnyProcedure, t as AnyRecord$1 } from "./types-Dz46PXr3.mjs";
|
|
2
|
+
import { C as liveGlobalConnectionTopic, S as liveEntityTopic, _ as LiveEventBus, b as createLiveEventBus, c as FateServer, d as NativeFateAPI, f as createFateFetchHandler, g as LiveConnectionSourceEvent, h as LiveConnectionEventType, l as FateServerManifest, m as createHonoFateHandler, p as createFateServer, s as FateRequestError, t as isRecord, u as InferFateAPI, v as LiveEventType, x as liveConnectionTopic, y as LiveSourceEvent } from "./record-ENh92gyb.mjs";
|
|
3
|
+
import { A as DataViewListOptions, B as dataView, C as connectionArgs, D as CountSelection, E as ComputedSelection, F as FieldSelection, H as list$1, I as ViewPlan, L as computed, M as DataViewOrderDirection, N as DataViewResult, O as CountWhere, P as Entity, R as count, S as ConnectionResult, T as ComputedField, U as resolver, V as field, _ as createSourcePlan, a as resolveSourceConnection, b as ConnectionItem, c as SourceConfig, d as SourceOrderField, f as SourcePlan, g as createNestedSourcePlan, h as SourceRelationConfig, i as resolveSourceByIds, j as DataViewOrderBy, l as SourceDefinition, m as SourceRelation, n as refetchSourceById, p as SourcePlanNode, r as resolveSourceById, s as OrderDirection, t as SourceRegistry, u as SourceOrder, v as getNestedSelection, w as withConnection, x as ConnectionPagination, y as hasNestedSelection, z as createResolver } from "./executor-BqwHdN3n.mjs";
|
|
2
4
|
import { z } from "zod";
|
|
3
5
|
|
|
4
|
-
//#region src/server/
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
type ResolverResolve<Item$1 extends AnyRecord, Result, Context> = Bivariant<(item: Item$1, context?: Context, args?: AnyRecord) => Promise<Result> | Result>;
|
|
14
|
-
type ResolverAuthorize<Item$1 extends AnyRecord, Context> = Bivariant<(item: Item$1, context?: Context, args?: AnyRecord) => Promise<boolean> | boolean>;
|
|
15
|
-
/**
|
|
16
|
-
* Field configuration for selecting and resolving a computed value on the backend.
|
|
17
|
-
*/
|
|
18
|
-
type ResolverField<Item$1 extends AnyRecord, Result, Context> = {
|
|
19
|
-
authorize?: ResolverAuthorize<Item$1, Context>;
|
|
20
|
-
kind: 'resolver';
|
|
21
|
-
resolve: ResolverResolve<Item$1, Result, Context>;
|
|
22
|
-
select?: ResolverSelect<Context>;
|
|
23
|
-
};
|
|
24
|
-
type DataField<Item$1 extends AnyRecord> = true | DataView<AnyRecord> | ResolverField<Item$1, any, any>;
|
|
25
|
-
/**
|
|
26
|
-
* Recursively serializes resolver results for transport across the network.
|
|
27
|
-
*/
|
|
28
|
-
type Serializable<T> = T extends Date ? string : T extends Array<infer U> ? Array<Serializable<U>> : T extends object ? { [K in keyof T]: Serializable<T[K]> } : T;
|
|
29
|
-
/**
|
|
30
|
-
* Server-side mirror of a view definition describing how to select and resolve
|
|
31
|
-
* fields when fulfilling a client request.
|
|
32
|
-
*/
|
|
33
|
-
type DataView<Item$1 extends AnyRecord> = {
|
|
34
|
-
fields: Record<string, DataField<Item$1>>;
|
|
35
|
-
kind?: 'resolver' | 'list';
|
|
36
|
-
typeName: string;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Convenience type for declaring the fields of a server data view.
|
|
40
|
-
*/
|
|
41
|
-
type DataViewConfig<Item$1 extends AnyRecord> = Record<string, DataField<Item$1>>;
|
|
42
|
-
/**
|
|
43
|
-
* Declares a server data view that exposes an object's available fields to the client.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* const Post = dataView<PostItem>('Post')({
|
|
47
|
-
* id: true,
|
|
48
|
-
* title: true,
|
|
49
|
-
* });
|
|
50
|
-
*/
|
|
51
|
-
declare function dataView<Item$1 extends AnyRecord>(typeName: string): <Fields extends DataViewConfig<Item$1>>(fields: Fields) => DataView<Item$1> & {
|
|
52
|
-
readonly [dataViewFieldsKey]: Fields;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Marks a data view as a list resolver so the server can respond with
|
|
56
|
-
* connection information.
|
|
57
|
-
*/
|
|
58
|
-
declare const list: <Item$1 extends AnyRecord>(view: DataView<Item$1>) => {
|
|
59
|
-
kind: "list";
|
|
60
|
-
fields: Record<string, DataField<Item$1>>;
|
|
61
|
-
typeName: string;
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Declares a resolver field inside a data view, optionally providing a
|
|
65
|
-
* selection for any data dependencies.
|
|
66
|
-
*/
|
|
67
|
-
declare function resolver<Item$1 extends AnyRecord, Result = unknown, Context = unknown>(config: {
|
|
68
|
-
authorize?: ResolverAuthorize<Item$1, Context>;
|
|
69
|
-
resolve: ResolverResolve<Item$1, Result, Context>;
|
|
70
|
-
select?: ResolverSelect<Context>;
|
|
71
|
-
}): ResolverField<Item$1, Result, Context>;
|
|
72
|
-
type NonNullish<T> = Exclude<T, null | undefined>;
|
|
73
|
-
type WithNullish<Original, Value> = null extends Original ? undefined extends Original ? Value | null | undefined : Value | null : undefined extends Original ? Value | undefined : Value;
|
|
74
|
-
type ResolverResult<Field> = Field extends ResolverField<AnyRecord, any, any> ? Field['authorize'] extends ResolverAuthorize<any, any> ? Awaited<ReturnType<Field['resolve']>> | null : Awaited<ReturnType<Field['resolve']>> : never;
|
|
75
|
-
type RelationResult<ItemField, V extends DataView<AnyRecord>> = NonNullish<ItemField> extends Array<unknown> ? WithNullish<ItemField, Array<RawDataViewResult<V>>> : WithNullish<ItemField, RawDataViewResult<V>>;
|
|
76
|
-
type ViewFieldConfig<V extends DataView<AnyRecord>> = V extends {
|
|
77
|
-
readonly [dataViewFieldsKey]: infer Fields;
|
|
78
|
-
} ? Fields : V['fields'];
|
|
79
|
-
type RawFieldResult<Item$1 extends AnyRecord, Key extends PropertyKey, Field extends DataField<Item$1>> = Field extends true ? Key extends keyof Item$1 ? Item$1[Key] : never : Field extends DataView<infer ChildItem> ? Key extends keyof Item$1 ? RelationResult<Item$1[Key], DataView<ChildItem>> : never : Field extends ResolverField<Item$1, any, any> ? ResolverResult<Field> : never;
|
|
80
|
-
type RawDataViewResult<V extends DataView<AnyRecord>> = V extends DataView<infer Item> ? { [K in keyof ViewFieldConfig<V>]: RawFieldResult<Item, K, ViewFieldConfig<V>[K]> } : never;
|
|
81
|
-
type DataViewResult<V extends DataView<AnyRecord>> = Serializable<RawDataViewResult<V>>;
|
|
82
|
-
type WithTypename<T, Name extends string> = T & {
|
|
83
|
-
__typename: Name;
|
|
84
|
-
};
|
|
6
|
+
//#region src/server/input.d.ts
|
|
7
|
+
declare const byIdInput: z.ZodObject<{
|
|
8
|
+
args: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
|
|
9
|
+
ids: z.ZodArray<z.ZodString>;
|
|
10
|
+
select: z.ZodArray<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/server/prismaSelect.d.ts
|
|
14
|
+
type AnyRecord = Record<string, unknown>;
|
|
85
15
|
/**
|
|
86
|
-
*
|
|
16
|
+
* Builds a Prisma `select` object from flattened selection paths and optional
|
|
17
|
+
* scoped args, always including the `id` field.
|
|
87
18
|
*/
|
|
88
|
-
|
|
19
|
+
declare function toPrismaSelect<Item extends AnyRecord, Context = unknown>(plan: ViewPlan<Item, Context>): AnyRecord;
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/server/queryArgs.d.ts
|
|
89
22
|
/**
|
|
90
|
-
*
|
|
91
|
-
* filtering fields, running nested resolvers, and shaping selects.
|
|
23
|
+
* Narrows nested args to the slice relevant for a particular selection path.
|
|
92
24
|
*/
|
|
93
|
-
declare function
|
|
94
|
-
args,
|
|
95
|
-
ctx,
|
|
96
|
-
select: initialSelect,
|
|
97
|
-
view
|
|
98
|
-
}: {
|
|
99
|
-
args?: AnyRecord;
|
|
100
|
-
ctx?: Context;
|
|
101
|
-
select: Iterable<string>;
|
|
102
|
-
view: DataView<Item$1>;
|
|
103
|
-
}): {
|
|
104
|
-
resolve: (item: Item$1) => Promise<AnyRecord>;
|
|
105
|
-
resolveMany: (items: Array<AnyRecord>) => Promise<Array<AnyRecord>>;
|
|
106
|
-
select: Record<string, unknown>;
|
|
107
|
-
};
|
|
25
|
+
declare function getScopedArgs(args: AnyRecord$1 | undefined, path: string): AnyRecord$1 | undefined;
|
|
108
26
|
//#endregion
|
|
109
|
-
//#region src/server/
|
|
110
|
-
type
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
27
|
+
//#region src/server/sourceRouter.d.ts
|
|
28
|
+
type ProcedureLike = {
|
|
29
|
+
input: (schema: any) => {
|
|
30
|
+
query: (resolver: (options: any) => unknown) => AnyProcedure;
|
|
31
|
+
};
|
|
114
32
|
};
|
|
115
|
-
type
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
33
|
+
type ConnectionProcedureLike = (options: {
|
|
34
|
+
defaultSize?: number;
|
|
35
|
+
query: (options: {
|
|
36
|
+
ctx: unknown;
|
|
37
|
+
cursor?: string;
|
|
38
|
+
direction: 'backward' | 'forward';
|
|
39
|
+
input: {
|
|
40
|
+
args?: Record<string, unknown>;
|
|
41
|
+
select: Array<string>;
|
|
42
|
+
};
|
|
43
|
+
skip?: number;
|
|
44
|
+
take: number;
|
|
45
|
+
}) => Promise<Array<AnyRecord$1>>;
|
|
46
|
+
}) => AnyProcedure;
|
|
47
|
+
type ListConfig = {
|
|
48
|
+
defaultSize?: number;
|
|
122
49
|
};
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
previousCursor?: ConnectionCursor;
|
|
50
|
+
type SourceProcedureOptions<Context, Item extends AnyRecord$1, Procedure extends ProcedureLike = ProcedureLike, ConnectionProcedure extends ConnectionProcedureLike | undefined = ConnectionProcedureLike | undefined> = {
|
|
51
|
+
byId?: boolean;
|
|
52
|
+
createConnectionProcedure?: ConnectionProcedure;
|
|
53
|
+
list?: boolean | ListConfig;
|
|
54
|
+
procedure: Procedure;
|
|
55
|
+
registry: SourceRegistry<Context>;
|
|
56
|
+
source: SourceDefinition<Item, unknown>;
|
|
131
57
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
items: Array<ConnectionItem<TNode>>;
|
|
137
|
-
pagination: ConnectionPagination;
|
|
58
|
+
type SourceProcedureFactoryOptions<Item extends AnyRecord$1, ById extends boolean | undefined = boolean | undefined, List extends boolean | ListConfig | undefined = boolean | ListConfig | undefined> = {
|
|
59
|
+
byId?: ById;
|
|
60
|
+
list?: List;
|
|
61
|
+
source: SourceDefinition<Item, unknown>;
|
|
138
62
|
};
|
|
139
|
-
type
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
63
|
+
type SourceProcedureFactoryInput<Item extends AnyRecord$1, ById extends boolean | undefined = boolean | undefined, List extends boolean | ListConfig | undefined = boolean | ListConfig | undefined> = SourceDefinition<Item, unknown> | SourceProcedureFactoryOptions<Item, ById, List>;
|
|
64
|
+
type SourceProcedureFactoryDefaults<Context, Procedure extends ProcedureLike, ConnectionProcedure extends ConnectionProcedureLike | undefined> = {
|
|
65
|
+
createConnectionProcedure?: ConnectionProcedure;
|
|
66
|
+
procedure: Procedure;
|
|
67
|
+
registry: SourceRegistry<Context>;
|
|
143
68
|
};
|
|
144
|
-
type
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
type ConnectionProcedure<TInput, TOutput> = QueryProcedure<{
|
|
152
|
-
input: TInput;
|
|
153
|
-
meta: unknown;
|
|
154
|
-
output: TOutput;
|
|
155
|
-
}>;
|
|
156
|
-
type QueryFn<TContext, TItem, TInput extends ConnectionInput> = (options: {
|
|
157
|
-
ctx: TContext;
|
|
158
|
-
cursor?: ConnectionCursor;
|
|
159
|
-
direction: 'forward' | 'backward';
|
|
160
|
-
input: TInput;
|
|
161
|
-
skip?: number;
|
|
162
|
-
take: number;
|
|
163
|
-
}) => Promise<Array<TItem>>;
|
|
164
|
-
type MapFn<TContext, TItem, TNode, TInput extends ConnectionInput> = (options: {
|
|
165
|
-
ctx: TContext;
|
|
166
|
-
input: TInput;
|
|
167
|
-
items: Array<TItem>;
|
|
168
|
-
}) => Promise<Array<TNode>> | Array<TNode>;
|
|
69
|
+
type ProcedureResult<Procedure extends ProcedureLike> = ReturnType<ReturnType<Procedure['input']>['query']>;
|
|
70
|
+
type ConnectionProcedureResult<ConnectionProcedure extends ConnectionProcedureLike | undefined> = ConnectionProcedure extends ConnectionProcedureLike ? ReturnType<ConnectionProcedure> : never;
|
|
71
|
+
type SourceProcedureResult<ById extends boolean | undefined, List extends boolean | ListConfig | undefined, Procedure extends ProcedureLike, ConnectionProcedure extends ConnectionProcedureLike | undefined> = (ById extends false ? Record<never, never> : {
|
|
72
|
+
byId: ProcedureResult<Procedure>;
|
|
73
|
+
}) & (List extends false ? Record<never, never> : {
|
|
74
|
+
list: ConnectionProcedureResult<ConnectionProcedure>;
|
|
75
|
+
});
|
|
169
76
|
/**
|
|
170
|
-
*
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
args: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
|
|
175
|
-
select: z.ZodArray<z.ZodString>;
|
|
176
|
-
}, z.core.$strict>;
|
|
177
|
-
/**
|
|
178
|
-
* Converts an array of nodes into a list view connection result the client
|
|
179
|
-
* can normalize.
|
|
77
|
+
* Creates standard `byId` and `list` procedures for a Fate source.
|
|
78
|
+
*
|
|
79
|
+
* Use this when a router also has custom mutations or custom queries and you
|
|
80
|
+
* want to spread the generated source procedures into that router.
|
|
180
81
|
*/
|
|
181
|
-
|
|
82
|
+
declare function createSourceProcedures<Context, Item extends AnyRecord$1, Procedure extends ProcedureLike, ConnectionProcedure extends ConnectionProcedureLike | undefined = ConnectionProcedureLike | undefined, ById extends boolean | undefined = undefined, List extends boolean | ListConfig | undefined = undefined>({
|
|
83
|
+
byId,
|
|
84
|
+
createConnectionProcedure,
|
|
85
|
+
list,
|
|
86
|
+
procedure,
|
|
87
|
+
registry,
|
|
88
|
+
source
|
|
89
|
+
}: SourceProcedureOptions<Context, Item, Procedure, ConnectionProcedure> & {
|
|
90
|
+
byId?: ById;
|
|
91
|
+
list?: List;
|
|
92
|
+
}): SourceProcedureResult<ById, List, Procedure, ConnectionProcedure>;
|
|
182
93
|
/**
|
|
183
|
-
*
|
|
184
|
-
*
|
|
94
|
+
* Binds the app-specific tRPC pieces once and returns a compact helper for
|
|
95
|
+
* source procedures.
|
|
185
96
|
*/
|
|
186
|
-
declare function
|
|
187
|
-
defaultSize?: number;
|
|
188
|
-
getCursor?: (node: TNode) => ConnectionCursor;
|
|
189
|
-
input?: TAdditionalInput;
|
|
190
|
-
map?: MapFn<ProcedureContext<TProcedure>, TItem, TNode, ConnectionInputWithAdditional<TAdditionalInput>>;
|
|
191
|
-
query: QueryFn<ProcedureContext<TProcedure>, TItem, ConnectionInputWithAdditional<TAdditionalInput>>;
|
|
192
|
-
}) => ConnectionProcedure<ConnectionInputWithAdditional<TAdditionalInput>, ConnectionResult<TNode>>;
|
|
193
|
-
//#endregion
|
|
194
|
-
//#region src/server/input.d.ts
|
|
195
|
-
declare const byIdInput: z.ZodObject<{
|
|
196
|
-
args: z.ZodOptional<z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>>;
|
|
197
|
-
ids: z.ZodArray<z.ZodString>;
|
|
198
|
-
select: z.ZodArray<z.ZodString>;
|
|
199
|
-
}, z.core.$strip>;
|
|
97
|
+
declare function bindSourceProcedures<Context, Procedure extends ProcedureLike, ConnectionProcedure extends ConnectionProcedureLike | undefined = ConnectionProcedureLike | undefined>(defaults: SourceProcedureFactoryDefaults<Context, Procedure, ConnectionProcedure>): <Item extends AnyRecord$1, ById extends boolean | undefined = undefined, List extends boolean | ListConfig | undefined = undefined>(input: SourceProcedureFactoryInput<Item, ById, List>) => SourceProcedureResult<ById, List, Procedure, ConnectionProcedure>;
|
|
200
98
|
//#endregion
|
|
201
|
-
export { type Entity, byIdInput, connectionArgs, createResolver, dataView, list, resolver, withConnection };
|
|
99
|
+
export { type ComputedField, type ComputedSelection, type ConnectionItem, type ConnectionPagination, type ConnectionResult, type CountSelection, type CountWhere, type DataViewListOptions, type DataViewOrderBy, type DataViewOrderDirection, type DataViewResult, type Entity, FateRequestError, type FateServer, type FateServerManifest, type FieldSelection, type InferFateAPI, type LiveConnectionEventType, type LiveConnectionSourceEvent, type LiveEventBus, type LiveEventType, type LiveSourceEvent, type NativeFateAPI, type OrderDirection, type SourceConfig, type SourceDefinition, type SourceOrder, type SourceOrderField, type SourcePlan, type SourcePlanNode, type SourceRegistry, type SourceRelation, type SourceRelationConfig, bindSourceProcedures, byIdInput, computed, connectionArgs, count, createFateFetchHandler, createFateServer, createHonoFateHandler, createLiveEventBus, createNestedSourcePlan, createResolver, createSourcePlan, createSourceProcedures, dataView, field, getNestedSelection, getScopedArgs, hasNestedSelection, isRecord, list$1 as list, liveConnectionTopic, liveEntityTopic, liveGlobalConnectionTopic, refetchSourceById, resolveSourceById, resolveSourceByIds, resolveSourceConnection, resolver, toPrismaSelect, withConnection };
|