@confect/core 10.0.0-next.8 → 10.0.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/CHANGELOG.md +966 -46
- package/README.md +3 -1
- package/dist/FunctionProvenance.d.ts +166 -68
- package/dist/FunctionProvenance.d.ts.map +1 -1
- package/dist/FunctionProvenance.js +55 -13
- package/dist/FunctionProvenance.js.map +1 -1
- package/dist/FunctionSpec.d.ts +320 -138
- package/dist/FunctionSpec.d.ts.map +1 -1
- package/dist/FunctionSpec.js +56 -13
- package/dist/FunctionSpec.js.map +1 -1
- package/dist/GenericId.d.ts.map +1 -1
- package/dist/GenericId.js +1 -1
- package/dist/GroupPath.d.ts +6 -10
- package/dist/GroupPath.d.ts.map +1 -1
- package/dist/GroupPath.js.map +1 -1
- package/dist/GroupSpec.d.ts +25 -12
- package/dist/GroupSpec.d.ts.map +1 -1
- package/dist/GroupSpec.js +51 -14
- package/dist/GroupSpec.js.map +1 -1
- package/dist/Identifier.d.ts +6 -5
- package/dist/Identifier.d.ts.map +1 -1
- package/dist/Identifier.js +6 -5
- package/dist/Identifier.js.map +1 -1
- package/dist/Lazy.d.ts +11 -14
- package/dist/Lazy.d.ts.map +1 -1
- package/dist/Lazy.js +11 -14
- package/dist/Lazy.js.map +1 -1
- package/dist/MiddlewareAttachment.d.ts +171 -0
- package/dist/MiddlewareAttachment.d.ts.map +1 -0
- package/dist/MiddlewareAttachment.js +48 -0
- package/dist/MiddlewareAttachment.js.map +1 -0
- package/dist/MiddlewareSpec.d.ts +198 -0
- package/dist/MiddlewareSpec.d.ts.map +1 -0
- package/dist/MiddlewareSpec.js +60 -0
- package/dist/MiddlewareSpec.js.map +1 -0
- package/dist/PaginationError.d.ts +20 -0
- package/dist/PaginationError.d.ts.map +1 -0
- package/dist/PaginationError.js +31 -0
- package/dist/PaginationError.js.map +1 -0
- package/dist/PaginationOptions.d.ts +23 -0
- package/dist/PaginationOptions.d.ts.map +1 -0
- package/dist/PaginationOptions.js +29 -0
- package/dist/PaginationOptions.js.map +1 -0
- package/dist/PaginationResult.d.ts +1 -0
- package/dist/PaginationResult.d.ts.map +1 -1
- package/dist/PaginationResult.js.map +1 -1
- package/dist/Ref.d.ts +135 -47
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +104 -46
- package/dist/Ref.js.map +1 -1
- package/dist/Refs.d.ts +10 -5
- package/dist/Refs.d.ts.map +1 -1
- package/dist/Refs.js +5 -4
- package/dist/Refs.js.map +1 -1
- package/dist/SchemaToValidator.d.ts +99 -0
- package/dist/SchemaToValidator.d.ts.map +1 -0
- package/dist/SchemaToValidator.js +158 -0
- package/dist/SchemaToValidator.js.map +1 -0
- package/dist/Spec.d.ts +16 -12
- package/dist/Spec.d.ts.map +1 -1
- package/dist/Spec.js +14 -9
- package/dist/Spec.js.map +1 -1
- package/dist/SystemFields.d.ts +16 -15
- package/dist/SystemFields.d.ts.map +1 -1
- package/dist/SystemFields.js +16 -15
- package/dist/SystemFields.js.map +1 -1
- package/dist/Table.d.ts +75 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +77 -0
- package/dist/Table.js.map +1 -0
- package/dist/Types.d.ts +8 -2
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js.map +1 -1
- package/dist/UserIdentity.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/package.json +17 -15
- package/src/FunctionProvenance.ts +197 -34
- package/src/FunctionSpec.ts +332 -86
- package/src/GroupPath.ts +6 -12
- package/src/GroupSpec.ts +184 -25
- package/src/Identifier.ts +6 -5
- package/src/Lazy.ts +11 -14
- package/src/MiddlewareAttachment.ts +106 -0
- package/src/MiddlewareSpec.ts +392 -0
- package/src/PaginationError.ts +78 -0
- package/src/PaginationOptions.ts +23 -0
- package/src/PaginationResult.ts +4 -0
- package/src/Ref.ts +468 -236
- package/src/Refs.ts +43 -18
- package/src/SchemaToValidator.ts +612 -0
- package/src/Spec.ts +50 -39
- package/src/SystemFields.ts +32 -36
- package/src/Table.ts +427 -0
- package/src/Types.ts +9 -3
- package/src/index.ts +6 -1
- package/dist/Registry.d.ts +0 -24
- package/dist/Registry.d.ts.map +0 -1
- package/dist/Registry.js +0 -19
- package/dist/Registry.js.map +0 -1
- package/dist/tsconfig.src.tsbuildinfo +0 -1
- package/src/Registry.ts +0 -30
package/src/Refs.ts
CHANGED
|
@@ -4,8 +4,9 @@ import * as Option from "effect/Option";
|
|
|
4
4
|
import * as Record from "effect/Record";
|
|
5
5
|
import type * as FunctionSpec from "./FunctionSpec";
|
|
6
6
|
import type * as GroupSpec from "./GroupSpec";
|
|
7
|
+
import type * as MiddlewareSpec from "./MiddlewareSpec";
|
|
7
8
|
import * as Ref from "./Ref";
|
|
8
|
-
import
|
|
9
|
+
import * as Spec from "./Spec";
|
|
9
10
|
|
|
10
11
|
export type Refs<
|
|
11
12
|
Spec_ extends Spec.AnyWithProps,
|
|
@@ -22,7 +23,11 @@ type GroupRefs<
|
|
|
22
23
|
Predicate extends Ref.Any,
|
|
23
24
|
> = Types.Simplify<
|
|
24
25
|
OmitEmpty<Helper<GroupSpec.Groups<Group>, Predicate>> &
|
|
25
|
-
FilteredFunctions<
|
|
26
|
+
FilteredFunctions<
|
|
27
|
+
GroupSpec.Functions<Group>,
|
|
28
|
+
Predicate,
|
|
29
|
+
MiddlewareSpec.Error<GroupSpec.MiddlewareSpecs<Group>>
|
|
30
|
+
>
|
|
26
31
|
>;
|
|
27
32
|
|
|
28
33
|
type OmitEmpty<T> = {
|
|
@@ -37,6 +42,7 @@ type FunctionSpecMatchesPredicate<
|
|
|
37
42
|
FunctionSpec.GetRuntimeAndFunctionType<FunctionSpec_>,
|
|
38
43
|
FunctionSpec.GetFunctionVisibility<FunctionSpec_>,
|
|
39
44
|
any,
|
|
45
|
+
any,
|
|
40
46
|
any
|
|
41
47
|
> extends Predicate
|
|
42
48
|
? true
|
|
@@ -45,17 +51,29 @@ type FunctionSpecMatchesPredicate<
|
|
|
45
51
|
type FilteredFunctions<
|
|
46
52
|
FunctionSpecs extends FunctionSpec.AnyWithProps,
|
|
47
53
|
Predicate extends Ref.Any,
|
|
54
|
+
MiddlewareError,
|
|
48
55
|
> = {
|
|
49
|
-
[
|
|
50
|
-
FunctionSpecs
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
?
|
|
56
|
+
[
|
|
57
|
+
Name in FunctionSpec.Name<FunctionSpecs> as FunctionSpec.WithName<
|
|
58
|
+
FunctionSpecs,
|
|
59
|
+
Name
|
|
60
|
+
> extends infer FunctionSpec_ extends FunctionSpec.AnyWithProps
|
|
61
|
+
? FunctionSpecMatchesPredicate<FunctionSpec_, Predicate> extends true
|
|
62
|
+
? Name
|
|
63
|
+
: never
|
|
55
64
|
: never
|
|
56
|
-
|
|
65
|
+
]: FunctionSpec.WithName<FunctionSpecs, Name> extends infer F extends
|
|
57
66
|
FunctionSpec.AnyWithProps
|
|
58
|
-
? Ref.FromFunctionSpec<
|
|
67
|
+
? Ref.FromFunctionSpec<
|
|
68
|
+
F,
|
|
69
|
+
F extends {
|
|
70
|
+
readonly functionProvenance: { readonly _tag: "Confect" };
|
|
71
|
+
}
|
|
72
|
+
?
|
|
73
|
+
| MiddlewareError
|
|
74
|
+
| MiddlewareSpec.Error<FunctionSpec.MiddlewareSpecs<F>>
|
|
75
|
+
: never
|
|
76
|
+
>
|
|
59
77
|
: never;
|
|
60
78
|
};
|
|
61
79
|
|
|
@@ -80,7 +98,7 @@ type Any =
|
|
|
80
98
|
export const make = <Spec_ extends Spec.AnyWithProps>(
|
|
81
99
|
spec: Spec_,
|
|
82
100
|
): FromSpec<Spec_> => {
|
|
83
|
-
const refs = makeHelper(
|
|
101
|
+
const refs = makeHelper(Spec.groups(spec));
|
|
84
102
|
return {
|
|
85
103
|
public: refs as Refs<Spec_, Ref.AnyPublic>,
|
|
86
104
|
internal: refs as Refs<Spec_, Ref.AnyInternal>,
|
|
@@ -89,20 +107,27 @@ export const make = <Spec_ extends Spec.AnyWithProps>(
|
|
|
89
107
|
|
|
90
108
|
const makeHelper = (
|
|
91
109
|
groups: Record.ReadonlyRecord<string, GroupSpec.Any>,
|
|
92
|
-
|
|
110
|
+
convexFunctionNamespace: Option.Option<string> = Option.none(),
|
|
93
111
|
): Any =>
|
|
94
112
|
pipe(
|
|
95
113
|
groups as Record.ReadonlyRecord<string, GroupSpec.AnyWithProps>,
|
|
96
114
|
Record.map((group, name) => {
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
115
|
+
const currentConvexFunctionNamespace = Option.match(
|
|
116
|
+
convexFunctionNamespace,
|
|
117
|
+
{
|
|
118
|
+
onNone: () => name,
|
|
119
|
+
onSome: (parentNamespace) => `${parentNamespace}/${name}`,
|
|
120
|
+
},
|
|
121
|
+
);
|
|
101
122
|
|
|
102
123
|
return Record.union(
|
|
103
|
-
makeHelper(group.groups, Option.some(
|
|
124
|
+
makeHelper(group.groups, Option.some(currentConvexFunctionNamespace)),
|
|
104
125
|
Record.map(group.functions, (function_) =>
|
|
105
|
-
Ref.make(
|
|
126
|
+
Ref.make(
|
|
127
|
+
currentConvexFunctionNamespace,
|
|
128
|
+
function_,
|
|
129
|
+
group.middlewareAttachments,
|
|
130
|
+
),
|
|
106
131
|
),
|
|
107
132
|
(_subGroup, _function) => {
|
|
108
133
|
throw new Error(
|