appflare 0.2.25 → 0.2.27
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/Documentation.md +758 -758
- package/cli/commands/index.ts +238 -238
- package/cli/generate.ts +178 -178
- package/cli/index.ts +120 -120
- package/cli/load-config.ts +184 -184
- package/cli/schema-compiler.ts +1183 -1183
- package/cli/templates/auth/README.md +156 -156
- package/cli/templates/auth/config.ts +61 -61
- package/cli/templates/auth/route-config.ts +1 -1
- package/cli/templates/auth/route-handler.ts +1 -1
- package/cli/templates/auth/route-request-utils.ts +5 -5
- package/cli/templates/auth/route.config.ts +18 -18
- package/cli/templates/auth/route.handler.ts +18 -18
- package/cli/templates/auth/route.request-utils.ts +55 -55
- package/cli/templates/auth/route.ts +14 -14
- package/cli/templates/core/README.md +266 -266
- package/cli/templates/core/app-creation.ts +19 -19
- package/cli/templates/core/client/appflare.ts +112 -112
- package/cli/templates/core/client/handlers/index.ts +748 -748
- package/cli/templates/core/client/handlers.ts +1 -1
- package/cli/templates/core/client/index.ts +7 -7
- package/cli/templates/core/client/storage.ts +205 -180
- package/cli/templates/core/client/types.ts +186 -184
- package/cli/templates/core/client-modules/appflare.ts +1 -1
- package/cli/templates/core/client-modules/handlers.ts +1 -1
- package/cli/templates/core/client-modules/index.ts +1 -1
- package/cli/templates/core/client-modules/storage.ts +1 -1
- package/cli/templates/core/client-modules/types.ts +1 -1
- package/cli/templates/core/client.artifacts.ts +39 -39
- package/cli/templates/core/client.ts +4 -4
- package/cli/templates/core/drizzle.ts +15 -15
- package/cli/templates/core/export.ts +14 -14
- package/cli/templates/core/handlers.route.ts +24 -24
- package/cli/templates/core/handlers.ts +1 -1
- package/cli/templates/core/imports.ts +9 -9
- package/cli/templates/core/server.ts +38 -38
- package/cli/templates/core/types.ts +6 -6
- package/cli/templates/core/wrangler.ts +109 -109
- package/cli/templates/dashboard/builders/functions/index.ts +17 -17
- package/cli/templates/dashboard/builders/functions/render-page/header.ts +20 -20
- package/cli/templates/dashboard/builders/functions/render-page/index.ts +33 -33
- package/cli/templates/dashboard/builders/functions/render-page/request-panel.ts +171 -171
- package/cli/templates/dashboard/builders/functions/render-page/result-panel.ts +85 -85
- package/cli/templates/dashboard/builders/functions/render-page/scripts.ts +554 -554
- package/cli/templates/dashboard/builders/navigation.ts +122 -122
- package/cli/templates/dashboard/builders/storage/index.ts +13 -13
- package/cli/templates/dashboard/builders/storage/routes/create-directory-route.ts +29 -29
- package/cli/templates/dashboard/builders/storage/routes/delete-route.ts +18 -18
- package/cli/templates/dashboard/builders/storage/routes/download-route.ts +23 -23
- package/cli/templates/dashboard/builders/storage/routes/index.ts +22 -22
- package/cli/templates/dashboard/builders/storage/routes/list-route.ts +25 -25
- package/cli/templates/dashboard/builders/storage/routes/preview-route.ts +21 -21
- package/cli/templates/dashboard/builders/storage/routes/upload-route.ts +21 -21
- package/cli/templates/dashboard/builders/storage/runtime/helpers.ts +72 -72
- package/cli/templates/dashboard/builders/storage/runtime/storage-page.ts +130 -130
- package/cli/templates/dashboard/builders/table-routes/common/drawer-panel.ts +27 -27
- package/cli/templates/dashboard/builders/table-routes/common/pagination.ts +30 -30
- package/cli/templates/dashboard/builders/table-routes/common/search-bar.ts +23 -23
- package/cli/templates/dashboard/builders/table-routes/fragments.ts +217 -217
- package/cli/templates/dashboard/builders/table-routes/helpers.ts +45 -45
- package/cli/templates/dashboard/builders/table-routes/index.ts +8 -8
- package/cli/templates/dashboard/builders/table-routes/table/actions-cell.ts +71 -71
- package/cli/templates/dashboard/builders/table-routes/table/get-route.ts +291 -291
- package/cli/templates/dashboard/builders/table-routes/table/index.ts +80 -80
- package/cli/templates/dashboard/builders/table-routes/table/post-routes.ts +163 -163
- package/cli/templates/dashboard/builders/table-routes/table-route.ts +7 -7
- package/cli/templates/dashboard/builders/table-routes/users/get-route.ts +69 -69
- package/cli/templates/dashboard/builders/table-routes/users/html/modals.ts +57 -57
- package/cli/templates/dashboard/builders/table-routes/users/html/page.ts +27 -27
- package/cli/templates/dashboard/builders/table-routes/users/html/table.ts +128 -128
- package/cli/templates/dashboard/builders/table-routes/users/index.ts +32 -32
- package/cli/templates/dashboard/builders/table-routes/users/post-routes.ts +150 -150
- package/cli/templates/dashboard/builders/table-routes/users/redirect.ts +14 -14
- package/cli/templates/dashboard/builders/table-routes/users-route.ts +10 -10
- package/cli/templates/dashboard/components/dashboard-home.ts +23 -23
- package/cli/templates/dashboard/components/layout.ts +388 -388
- package/cli/templates/dashboard/components/login-page.ts +65 -65
- package/cli/templates/dashboard/index.ts +61 -61
- package/cli/templates/dashboard/types.ts +9 -9
- package/cli/templates/handlers/README.md +353 -353
- package/cli/templates/handlers/auth.ts +37 -37
- package/cli/templates/handlers/execution.ts +42 -42
- package/cli/templates/handlers/generators/context/context-creation.ts +101 -101
- package/cli/templates/handlers/generators/context/error-helpers.ts +11 -11
- package/cli/templates/handlers/generators/context/scheduler.ts +24 -24
- package/cli/templates/handlers/generators/context/storage-api.ts +82 -112
- package/cli/templates/handlers/generators/context/storage-helpers.ts +59 -59
- package/cli/templates/handlers/generators/context/types.ts +18 -18
- package/cli/templates/handlers/generators/context.ts +43 -43
- package/cli/templates/handlers/generators/execution.ts +15 -15
- package/cli/templates/handlers/generators/handlers.ts +13 -13
- package/cli/templates/handlers/generators/registration/modules/cron.ts +26 -26
- package/cli/templates/handlers/generators/registration/modules/realtime/auth.ts +75 -75
- package/cli/templates/handlers/generators/registration/modules/realtime/durable-object.ts +144 -144
- package/cli/templates/handlers/generators/registration/modules/realtime/index.ts +14 -14
- package/cli/templates/handlers/generators/registration/modules/realtime/publisher.ts +102 -102
- package/cli/templates/handlers/generators/registration/modules/realtime/routes.ts +164 -164
- package/cli/templates/handlers/generators/registration/modules/realtime/types.ts +30 -30
- package/cli/templates/handlers/generators/registration/modules/realtime/utils.ts +516 -516
- package/cli/templates/handlers/generators/registration/modules/scheduler.ts +56 -56
- package/cli/templates/handlers/generators/registration/modules/storage.ts +192 -194
- package/cli/templates/handlers/generators/registration/sections.ts +210 -210
- package/cli/templates/handlers/generators/types/context.ts +67 -66
- package/cli/templates/handlers/generators/types/core.ts +106 -106
- package/cli/templates/handlers/generators/types/operations.ts +135 -135
- package/cli/templates/handlers/generators/types/query-definitions/filter-and-where-types.ts +259 -259
- package/cli/templates/handlers/generators/types/query-definitions/query-api-types.ts +135 -135
- package/cli/templates/handlers/generators/types/query-definitions/query-helper-functions.ts +1031 -1031
- package/cli/templates/handlers/generators/types/query-definitions/schema-and-table-types.ts +246 -246
- package/cli/templates/handlers/generators/types/query-definitions.ts +13 -13
- package/cli/templates/handlers/generators/types/query-runtime/handled-error.ts +13 -13
- package/cli/templates/handlers/generators/types/query-runtime/runtime-aggregate-and-footer.ts +174 -174
- package/cli/templates/handlers/generators/types/query-runtime/runtime-read.ts +121 -121
- package/cli/templates/handlers/generators/types/query-runtime/runtime-setup.ts +45 -45
- package/cli/templates/handlers/generators/types/query-runtime/runtime-write.ts +676 -676
- package/cli/templates/handlers/generators/types/query-runtime.ts +15 -15
- package/cli/templates/handlers/index.ts +43 -43
- package/cli/templates/handlers/operations.ts +116 -116
- package/cli/templates/handlers/registration.ts +91 -91
- package/cli/templates/handlers/types.ts +15 -15
- package/cli/templates/handlers/utils.ts +48 -48
- package/cli/types.ts +110 -110
- package/cli/utils/handler-discovery.ts +466 -466
- package/cli/utils/json-utils.ts +24 -24
- package/cli/utils/path-utils.ts +19 -19
- package/cli/utils/schema-discovery.ts +399 -399
- package/dist/cli/index.js +95 -99
- package/dist/cli/index.mjs +95 -99
- package/index.ts +18 -18
- package/package.json +58 -58
- package/react/index.ts +5 -5
- package/react/use-infinite-query.ts +252 -252
- package/react/use-mutation.ts +89 -89
- package/react/use-query.ts +207 -207
- package/schema.ts +415 -415
- package/test-better-auth-hash.ts +2 -2
- package/tsconfig.json +6 -6
- package/tsup.config.ts +82 -82
- package/dist/cli/index.d.mts +0 -2
- package/dist/cli/index.d.ts +0 -2
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
export function generateQueryApiTypesSection(): string {
|
|
2
|
-
return `type AggregateWithInput<TName extends TableName> =
|
|
3
|
-
QueryWithInput<TName, NativeFindManyWith<TName>>;
|
|
4
|
-
|
|
5
|
-
type NumericFieldKey<TName extends TableName> = NumericModelFieldKey<
|
|
6
|
-
TableModel<TName>
|
|
7
|
-
>;
|
|
8
|
-
|
|
9
|
-
type RelationAggregateAvgResult<TAvg> = TAvg extends Record<string, unknown>
|
|
10
|
-
? {
|
|
11
|
-
[K in Extract<keyof TAvg, string> as TAvg[K] extends true ? K : never]: number;
|
|
12
|
-
}
|
|
13
|
-
: {};
|
|
14
|
-
|
|
15
|
-
type RelationAggregateResult<TEntry> =
|
|
16
|
-
Extract<TEntry, Record<string, unknown>> extends infer TRelation
|
|
17
|
-
? TRelation extends Record<string, unknown>
|
|
18
|
-
? (TRelation extends { _count?: true } ? { count: number } : {}) &
|
|
19
|
-
(TRelation extends { _avg?: infer TAvg }
|
|
20
|
-
? { avg: RelationAggregateAvgResult<TAvg> }
|
|
21
|
-
: {})
|
|
22
|
-
: {}
|
|
23
|
-
: {};
|
|
24
|
-
|
|
25
|
-
type HasRelationAggregateRequest<TEntry> =
|
|
26
|
-
Extract<TEntry, Record<string, unknown>> extends infer TRelation
|
|
27
|
-
? TRelation extends Record<string, unknown>
|
|
28
|
-
? TRelation extends { _count?: true }
|
|
29
|
-
? true
|
|
30
|
-
: TRelation extends { _avg?: Record<string, unknown> }
|
|
31
|
-
? true
|
|
32
|
-
: false
|
|
33
|
-
: false
|
|
34
|
-
: false;
|
|
35
|
-
|
|
36
|
-
type QueryWithAggregateResult<TWith> = TWith extends Record<string, unknown>
|
|
37
|
-
? {
|
|
38
|
-
[K in Extract<keyof TWith, string> as HasRelationAggregateRequest<
|
|
39
|
-
TWith[K]
|
|
40
|
-
> extends true
|
|
41
|
-
? \`\${K}Aggregate\`
|
|
42
|
-
: never]: RelationAggregateResult<TWith[K]>;
|
|
43
|
-
}
|
|
44
|
-
: {};
|
|
45
|
-
|
|
46
|
-
type WithFromArgs<TArgs> = TArgs extends { with?: infer TWith }
|
|
47
|
-
? TWith
|
|
48
|
-
: undefined;
|
|
49
|
-
|
|
50
|
-
type AppendRelationAggregatesToRow<TRow, TWith> = TRow &
|
|
51
|
-
QueryWithAggregateResult<TWith>;
|
|
52
|
-
|
|
53
|
-
type ApplyFindManyWithAggregateResult<TResult, TArgs> =
|
|
54
|
-
TResult extends Promise<infer TRows>
|
|
55
|
-
? TRows extends Array<infer TRow>
|
|
56
|
-
? Promise<
|
|
57
|
-
Array<AppendRelationAggregatesToRow<TRow, WithFromArgs<TArgs>>>
|
|
58
|
-
>
|
|
59
|
-
: TResult
|
|
60
|
-
: TResult;
|
|
61
|
-
|
|
62
|
-
type ApplyFindFirstWithAggregateResult<TResult, TArgs> =
|
|
63
|
-
TResult extends Promise<infer TRow>
|
|
64
|
-
? Promise<
|
|
65
|
-
TRow extends null
|
|
66
|
-
? null
|
|
67
|
-
: AppendRelationAggregatesToRow<TRow, WithFromArgs<TArgs>>
|
|
68
|
-
>
|
|
69
|
-
: TResult;
|
|
70
|
-
|
|
71
|
-
export type QueryCountArgs<TName extends TableName> = {
|
|
72
|
-
where?: WhereInput<TableModel<TName>>;
|
|
73
|
-
field?: Extract<keyof TableModel<TName>, string> | string;
|
|
74
|
-
distinct?: boolean;
|
|
75
|
-
with?: AggregateWithInput<TName>;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export type QueryAvgArgs<TName extends TableName> = {
|
|
79
|
-
where?: WhereInput<TableModel<TName>>;
|
|
80
|
-
field: NumericFieldKey<TName> | string;
|
|
81
|
-
distinct?: boolean;
|
|
82
|
-
with?: AggregateWithInput<TName>;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export type QueryUpsertArgs<TName extends TableName> = {
|
|
86
|
-
values: TableInsertModel<TName> | Array<TableInsertModel<TName>>;
|
|
87
|
-
target?:
|
|
88
|
-
| Extract<keyof TableInsertModel<TName>, string>
|
|
89
|
-
| Array<Extract<keyof TableInsertModel<TName>, string>>;
|
|
90
|
-
set?: Partial<TableInsertModel<TName>>;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export type QueryTableApi<TName extends TableName> = {
|
|
94
|
-
findMany: <
|
|
95
|
-
TArgs extends QueryFindManyArgs<TName> | undefined =
|
|
96
|
-
| QueryFindManyArgs<TName>
|
|
97
|
-
| undefined,
|
|
98
|
-
>(
|
|
99
|
-
args?: TArgs,
|
|
100
|
-
) => ApplyFindManyWithAggregateResult<TableFindManyResult<TName, TArgs>, TArgs>;
|
|
101
|
-
findFirst: <
|
|
102
|
-
TArgs extends QueryFindFirstArgs<TName> | undefined =
|
|
103
|
-
| QueryFindFirstArgs<TName>
|
|
104
|
-
| undefined,
|
|
105
|
-
>(
|
|
106
|
-
args?: TArgs,
|
|
107
|
-
) => ApplyFindFirstWithAggregateResult<TableFindFirstResult<TName, TArgs>, TArgs>;
|
|
108
|
-
insert: <TArgs extends QueryInsertArgs<TName>>(
|
|
109
|
-
args: TArgs,
|
|
110
|
-
) => Promise<Array<QueryInsertResultRow<TName, TArgs>>>;
|
|
111
|
-
update: (args: QueryUpdateArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
112
|
-
upsert: (args: QueryUpsertArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
113
|
-
delete: (args?: QueryDeleteArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
114
|
-
count: (args?: QueryCountArgs<TName>) => Promise<number>;
|
|
115
|
-
avg: (args: QueryAvgArgs<TName>) => Promise<number | null>;
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export type AppflareQueryDb = {
|
|
119
|
-
[TName in TableName]: QueryTableApi<TName>;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
export type DbMutationKind = "insert" | "update" | "upsert" | "delete";
|
|
123
|
-
|
|
124
|
-
export type DbMutationEvent = {
|
|
125
|
-
kind: DbMutationKind;
|
|
126
|
-
table: string;
|
|
127
|
-
args: Record<string, unknown>;
|
|
128
|
-
rows: unknown[];
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
export type QueryDbOptions = {
|
|
132
|
-
onMutation?: (event: DbMutationEvent) => void;
|
|
133
|
-
};
|
|
134
|
-
`;
|
|
135
|
-
}
|
|
1
|
+
export function generateQueryApiTypesSection(): string {
|
|
2
|
+
return `type AggregateWithInput<TName extends TableName> =
|
|
3
|
+
QueryWithInput<TName, NativeFindManyWith<TName>>;
|
|
4
|
+
|
|
5
|
+
type NumericFieldKey<TName extends TableName> = NumericModelFieldKey<
|
|
6
|
+
TableModel<TName>
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
type RelationAggregateAvgResult<TAvg> = TAvg extends Record<string, unknown>
|
|
10
|
+
? {
|
|
11
|
+
[K in Extract<keyof TAvg, string> as TAvg[K] extends true ? K : never]: number;
|
|
12
|
+
}
|
|
13
|
+
: {};
|
|
14
|
+
|
|
15
|
+
type RelationAggregateResult<TEntry> =
|
|
16
|
+
Extract<TEntry, Record<string, unknown>> extends infer TRelation
|
|
17
|
+
? TRelation extends Record<string, unknown>
|
|
18
|
+
? (TRelation extends { _count?: true } ? { count: number } : {}) &
|
|
19
|
+
(TRelation extends { _avg?: infer TAvg }
|
|
20
|
+
? { avg: RelationAggregateAvgResult<TAvg> }
|
|
21
|
+
: {})
|
|
22
|
+
: {}
|
|
23
|
+
: {};
|
|
24
|
+
|
|
25
|
+
type HasRelationAggregateRequest<TEntry> =
|
|
26
|
+
Extract<TEntry, Record<string, unknown>> extends infer TRelation
|
|
27
|
+
? TRelation extends Record<string, unknown>
|
|
28
|
+
? TRelation extends { _count?: true }
|
|
29
|
+
? true
|
|
30
|
+
: TRelation extends { _avg?: Record<string, unknown> }
|
|
31
|
+
? true
|
|
32
|
+
: false
|
|
33
|
+
: false
|
|
34
|
+
: false;
|
|
35
|
+
|
|
36
|
+
type QueryWithAggregateResult<TWith> = TWith extends Record<string, unknown>
|
|
37
|
+
? {
|
|
38
|
+
[K in Extract<keyof TWith, string> as HasRelationAggregateRequest<
|
|
39
|
+
TWith[K]
|
|
40
|
+
> extends true
|
|
41
|
+
? \`\${K}Aggregate\`
|
|
42
|
+
: never]: RelationAggregateResult<TWith[K]>;
|
|
43
|
+
}
|
|
44
|
+
: {};
|
|
45
|
+
|
|
46
|
+
type WithFromArgs<TArgs> = TArgs extends { with?: infer TWith }
|
|
47
|
+
? TWith
|
|
48
|
+
: undefined;
|
|
49
|
+
|
|
50
|
+
type AppendRelationAggregatesToRow<TRow, TWith> = TRow &
|
|
51
|
+
QueryWithAggregateResult<TWith>;
|
|
52
|
+
|
|
53
|
+
type ApplyFindManyWithAggregateResult<TResult, TArgs> =
|
|
54
|
+
TResult extends Promise<infer TRows>
|
|
55
|
+
? TRows extends Array<infer TRow>
|
|
56
|
+
? Promise<
|
|
57
|
+
Array<AppendRelationAggregatesToRow<TRow, WithFromArgs<TArgs>>>
|
|
58
|
+
>
|
|
59
|
+
: TResult
|
|
60
|
+
: TResult;
|
|
61
|
+
|
|
62
|
+
type ApplyFindFirstWithAggregateResult<TResult, TArgs> =
|
|
63
|
+
TResult extends Promise<infer TRow>
|
|
64
|
+
? Promise<
|
|
65
|
+
TRow extends null
|
|
66
|
+
? null
|
|
67
|
+
: AppendRelationAggregatesToRow<TRow, WithFromArgs<TArgs>>
|
|
68
|
+
>
|
|
69
|
+
: TResult;
|
|
70
|
+
|
|
71
|
+
export type QueryCountArgs<TName extends TableName> = {
|
|
72
|
+
where?: WhereInput<TableModel<TName>>;
|
|
73
|
+
field?: Extract<keyof TableModel<TName>, string> | string;
|
|
74
|
+
distinct?: boolean;
|
|
75
|
+
with?: AggregateWithInput<TName>;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export type QueryAvgArgs<TName extends TableName> = {
|
|
79
|
+
where?: WhereInput<TableModel<TName>>;
|
|
80
|
+
field: NumericFieldKey<TName> | string;
|
|
81
|
+
distinct?: boolean;
|
|
82
|
+
with?: AggregateWithInput<TName>;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export type QueryUpsertArgs<TName extends TableName> = {
|
|
86
|
+
values: TableInsertModel<TName> | Array<TableInsertModel<TName>>;
|
|
87
|
+
target?:
|
|
88
|
+
| Extract<keyof TableInsertModel<TName>, string>
|
|
89
|
+
| Array<Extract<keyof TableInsertModel<TName>, string>>;
|
|
90
|
+
set?: Partial<TableInsertModel<TName>>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export type QueryTableApi<TName extends TableName> = {
|
|
94
|
+
findMany: <
|
|
95
|
+
TArgs extends QueryFindManyArgs<TName> | undefined =
|
|
96
|
+
| QueryFindManyArgs<TName>
|
|
97
|
+
| undefined,
|
|
98
|
+
>(
|
|
99
|
+
args?: TArgs,
|
|
100
|
+
) => ApplyFindManyWithAggregateResult<TableFindManyResult<TName, TArgs>, TArgs>;
|
|
101
|
+
findFirst: <
|
|
102
|
+
TArgs extends QueryFindFirstArgs<TName> | undefined =
|
|
103
|
+
| QueryFindFirstArgs<TName>
|
|
104
|
+
| undefined,
|
|
105
|
+
>(
|
|
106
|
+
args?: TArgs,
|
|
107
|
+
) => ApplyFindFirstWithAggregateResult<TableFindFirstResult<TName, TArgs>, TArgs>;
|
|
108
|
+
insert: <TArgs extends QueryInsertArgs<TName>>(
|
|
109
|
+
args: TArgs,
|
|
110
|
+
) => Promise<Array<QueryInsertResultRow<TName, TArgs>>>;
|
|
111
|
+
update: (args: QueryUpdateArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
112
|
+
upsert: (args: QueryUpsertArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
113
|
+
delete: (args?: QueryDeleteArgs<TName>) => Promise<Array<TableModel<TName>>>;
|
|
114
|
+
count: (args?: QueryCountArgs<TName>) => Promise<number>;
|
|
115
|
+
avg: (args: QueryAvgArgs<TName>) => Promise<number | null>;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export type AppflareQueryDb = {
|
|
119
|
+
[TName in TableName]: QueryTableApi<TName>;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export type DbMutationKind = "insert" | "update" | "upsert" | "delete";
|
|
123
|
+
|
|
124
|
+
export type DbMutationEvent = {
|
|
125
|
+
kind: DbMutationKind;
|
|
126
|
+
table: string;
|
|
127
|
+
args: Record<string, unknown>;
|
|
128
|
+
rows: unknown[];
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export type QueryDbOptions = {
|
|
132
|
+
onMutation?: (event: DbMutationEvent) => void;
|
|
133
|
+
};
|
|
134
|
+
`;
|
|
135
|
+
}
|