@confect/core 1.0.0 → 1.0.2
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 +8 -0
- package/README.md +11 -0
- package/dist/FunctionSpec.d.ts +1 -1
- package/dist/FunctionSpec.d.ts.map +1 -1
- package/dist/FunctionSpec.js.map +1 -1
- package/dist/GroupSpec.d.ts +6 -6
- package/package.json +1 -1
- package/src/FunctionSpec.ts +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Confect 🧁
|
|
2
|
+
|
|
3
|
+
Confect is a framework that deeply integrates Effect with Convex. It's more than just Effect bindings! Confect allows you to:
|
|
4
|
+
|
|
5
|
+
- Define your Convex database schema using Effect schemas.
|
|
6
|
+
- Write Convex function args and returns validators using Effect's schema library.
|
|
7
|
+
- Use Confect functions to automatically decode and encode your data according to your Effect schema definitions for end-to-end rich types, from client to function to database (and back).
|
|
8
|
+
- Use Effect's HTTP API modules to define your HTTP API(s). Includes interactive OpenAPI documentation powered by [Scalar](https://github.com/scalar/scalar).
|
|
9
|
+
- Access Convex platform capabilities via Effect services.
|
|
10
|
+
|
|
11
|
+
Want to learn more? Read the [docs](https://confect.dev)!
|
package/dist/FunctionSpec.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ type WithFunctionType<Function extends AnyWithProps, FunctionType_ extends Funct
|
|
|
42
42
|
type WithoutName<Function extends AnyWithProps, Name_ extends Name<Function>> = Exclude<Function, {
|
|
43
43
|
readonly name: Name_;
|
|
44
44
|
}>;
|
|
45
|
-
type RegisteredFunction<Function extends AnyWithProps> = GetFunctionType<Function["runtimeAndFunctionType"]> extends "
|
|
45
|
+
type RegisteredFunction<Function extends AnyWithProps> = GetFunctionType<Function["runtimeAndFunctionType"]> extends "query" ? RegisteredQuery<GetFunctionVisibility<Function>, Args<Function>["Encoded"], Promise<Returns<Function>["Encoded"]>> : GetFunctionType<Function["runtimeAndFunctionType"]> extends "mutation" ? RegisteredMutation<GetFunctionVisibility<Function>, Args<Function>["Encoded"], Promise<Returns<Function>["Encoded"]>> : GetFunctionType<Function["runtimeAndFunctionType"]> extends "action" ? RegisteredAction<GetFunctionVisibility<Function>, Args<Function>["Encoded"], Promise<Returns<Function>["Encoded"]>> : never;
|
|
46
46
|
declare const publicQuery: <const Name_ extends string, Args_ extends Schema.Schema.AnyNoContext, Returns_ extends Schema.Schema.AnyNoContext>({
|
|
47
47
|
name,
|
|
48
48
|
args,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionSpec.d.ts","names":[],"sources":["../src/FunctionSpec.ts"],"mappings":";;;;;;;;cAYa,MAAA;AAAA,KACD,MAAA,UAAgB,MAAA;AAAA,cAEf,cAAA,GAAkB,CAAA,cAAa,CAAA,IAAK,YAAA;AAAA,UAGhC,YAAA,iCACiB,sBAAA,8BACJ,kBAAA,sCAEd,MAAA,CAAO,MAAA,CAAO,YAAA,mBACX,MAAA,CAAO,MAAA,CAAO,YAAA;EAAA,UAErB,MAAA,GAAS,MAAA;EAAA,SACV,sBAAA,EAAwB,uBAAA;EAAA,SACxB,kBAAA,EAAoB,mBAAA;EAAA,SACpB,IAAA,EAAM,KAAA;EAAA,SACN,IAAA,EAAM,KAAA;EAAA,SACN,OAAA,EAAS,QAAA;AAAA;AAAA,UAGH,GAAA;EAAA,UACL,MAAA,GAAS,MAAA;AAAA;AAAA,UAGJ,YAAA,SAAqB,YAAA,CACpC,sBAAA,EACA,kBAAA,UAEA,MAAA,CAAO,MAAA,CAAO,YAAA,EACd,MAAA,CAAO,MAAA,CAAO,YAAA;AAAA,UAGC,uBAAA,mBACC,OAAA,UACR,YAAA,CACR,WAAA,CAAmC,SAAA,GACnC,kBAAA,UAEA,MAAA,CAAO,MAAA,CAAO,YAAA,EACd,MAAA,CAAO,MAAA,CAAO,YAAA;AAAA,UAGC,4BAAA,iCACiB,sBAAA,UACxB,YAAA,CACR,uBAAA,EACA,kBAAA,UAEA,MAAA,CAAO,MAAA,CAAO,YAAA,EACd,MAAA,CAAO,MAAA,CAAO,YAAA;AAAA,KAGJ,yBAAA,kBAA2C,YAAA,IACrD,QAAA;AAAA,KAEU,qBAAA,kBAAuC,YAAA,IACjD,QAAA;AAAA,KAEU,IAAA,kBAAsB,YAAA,IAAgB,QAAA;AAAA,KAEtC,IAAA,kBAAsB,YAAA,IAAgB,QAAA;AAAA,KAEtC,OAAA,kBAAyB,YAAA,IAAgB,QAAA;AAAA,KAEzC,QAAA,kBACO,YAAA,0BAEf,OAAA,CAAQ,QAAA;EAAA,SAAqB,IAAA,EAAM,KAAA;AAAA;AAAA,KAE3B,0BAAA,kBACO,YAAA,kCACe,sBAAA,IAC9B,OAAA,CACF,QAAA;EAAA,SACW,sBAAA,EAAwB,uBAAA;AAAA;AAAA,KAGzB,gBAAA,kBACO,YAAA,wBACK,YAAA,IACpB,OAAA,CACF,QAAA;EAAA,SACW,sBAAA;IAAA,SAAmC,YAAA,EAAc,aAAA;EAAA;AAAA;AAAA,KAGlD,WAAA,kBACO,YAAA,gBACH,IAAA,CAAK,QAAA,KACjB,OAAA,CAAQ,QAAA;EAAA,SAAqB,IAAA,EAAM,KAAA;AAAA;AAAA,KAE3B,kBAAA,kBAAoC,YAAA,IAC9C,eAAA,CACE,QAAA
|
|
1
|
+
{"version":3,"file":"FunctionSpec.d.ts","names":[],"sources":["../src/FunctionSpec.ts"],"mappings":"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"}
|
package/dist/FunctionSpec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionSpec.js","names":["RuntimeAndFunctionType.ConvexQuery","RuntimeAndFunctionType.ConvexMutation","RuntimeAndFunctionType.ConvexAction","RuntimeAndFunctionType.NodeAction"],"sources":["../src/FunctionSpec.ts"],"sourcesContent":["import type {\n FunctionType,\n FunctionVisibility,\n RegisteredAction,\n RegisteredMutation,\n RegisteredQuery,\n} from \"convex/server\";\nimport type { Schema } from \"effect\";\nimport { Predicate } from \"effect\";\nimport { validateConfectFunctionIdentifier } from \"./internal/utils\";\nimport * as RuntimeAndFunctionType from \"./RuntimeAndFunctionType\";\n\nexport const TypeId = \"@confect/core/FunctionSpec\";\nexport type TypeId = typeof TypeId;\n\nexport const isFunctionSpec = (u: unknown): u is AnyWithProps =>\n Predicate.hasProperty(u, TypeId);\n\nexport interface FunctionSpec<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n Args_ extends Schema.Schema.AnyNoContext,\n Returns_ extends Schema.Schema.AnyNoContext,\n> {\n readonly [TypeId]: TypeId;\n readonly runtimeAndFunctionType: RuntimeAndFunctionType_;\n readonly functionVisibility: FunctionVisibility_;\n readonly name: Name_;\n readonly args: Args_;\n readonly returns: Returns_;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport interface AnyWithProps extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport interface AnyWithPropsWithRuntime<\n Runtime extends RuntimeAndFunctionType.Runtime,\n> extends FunctionSpec<\n RuntimeAndFunctionType.WithRuntime<Runtime>,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport interface AnyWithPropsWithFunctionType<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport type GetRuntimeAndFunctionType<Function extends AnyWithProps> =\n Function[\"runtimeAndFunctionType\"];\n\nexport type GetFunctionVisibility<Function extends AnyWithProps> =\n Function[\"functionVisibility\"];\n\nexport type Name<Function extends AnyWithProps> = Function[\"name\"];\n\nexport type Args<Function extends AnyWithProps> = Function[\"args\"];\n\nexport type Returns<Function extends AnyWithProps> = Function[\"returns\"];\n\nexport type WithName<\n Function extends AnyWithProps,\n Name_ extends string,\n> = Extract<Function, { readonly name: Name_ }>;\n\nexport type WithRuntimeAndFunctionType<\n Function extends AnyWithProps,\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> = Extract<\n Function,\n { readonly runtimeAndFunctionType: RuntimeAndFunctionType_ }\n>;\n\nexport type WithFunctionType<\n Function extends AnyWithProps,\n FunctionType_ extends FunctionType,\n> = Extract<\n Function,\n { readonly runtimeAndFunctionType: { readonly functionType: FunctionType_ } }\n>;\n\nexport type WithoutName<\n Function extends AnyWithProps,\n Name_ extends Name<Function>,\n> = Exclude<Function, { readonly name: Name_ }>;\n\nexport type RegisteredFunction<Function extends AnyWithProps> =\n RuntimeAndFunctionType.GetFunctionType<\n Function[\"runtimeAndFunctionType\"]\n > extends \"
|
|
1
|
+
{"version":3,"file":"FunctionSpec.js","names":["RuntimeAndFunctionType.ConvexQuery","RuntimeAndFunctionType.ConvexMutation","RuntimeAndFunctionType.ConvexAction","RuntimeAndFunctionType.NodeAction"],"sources":["../src/FunctionSpec.ts"],"sourcesContent":["import type {\n FunctionType,\n FunctionVisibility,\n RegisteredAction,\n RegisteredMutation,\n RegisteredQuery,\n} from \"convex/server\";\nimport type { Schema } from \"effect\";\nimport { Predicate } from \"effect\";\nimport { validateConfectFunctionIdentifier } from \"./internal/utils\";\nimport * as RuntimeAndFunctionType from \"./RuntimeAndFunctionType\";\n\nexport const TypeId = \"@confect/core/FunctionSpec\";\nexport type TypeId = typeof TypeId;\n\nexport const isFunctionSpec = (u: unknown): u is AnyWithProps =>\n Predicate.hasProperty(u, TypeId);\n\nexport interface FunctionSpec<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n Args_ extends Schema.Schema.AnyNoContext,\n Returns_ extends Schema.Schema.AnyNoContext,\n> {\n readonly [TypeId]: TypeId;\n readonly runtimeAndFunctionType: RuntimeAndFunctionType_;\n readonly functionVisibility: FunctionVisibility_;\n readonly name: Name_;\n readonly args: Args_;\n readonly returns: Returns_;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport interface AnyWithProps extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport interface AnyWithPropsWithRuntime<\n Runtime extends RuntimeAndFunctionType.Runtime,\n> extends FunctionSpec<\n RuntimeAndFunctionType.WithRuntime<Runtime>,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport interface AnyWithPropsWithFunctionType<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility,\n string,\n Schema.Schema.AnyNoContext,\n Schema.Schema.AnyNoContext\n> {}\n\nexport type GetRuntimeAndFunctionType<Function extends AnyWithProps> =\n Function[\"runtimeAndFunctionType\"];\n\nexport type GetFunctionVisibility<Function extends AnyWithProps> =\n Function[\"functionVisibility\"];\n\nexport type Name<Function extends AnyWithProps> = Function[\"name\"];\n\nexport type Args<Function extends AnyWithProps> = Function[\"args\"];\n\nexport type Returns<Function extends AnyWithProps> = Function[\"returns\"];\n\nexport type WithName<\n Function extends AnyWithProps,\n Name_ extends string,\n> = Extract<Function, { readonly name: Name_ }>;\n\nexport type WithRuntimeAndFunctionType<\n Function extends AnyWithProps,\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> = Extract<\n Function,\n { readonly runtimeAndFunctionType: RuntimeAndFunctionType_ }\n>;\n\nexport type WithFunctionType<\n Function extends AnyWithProps,\n FunctionType_ extends FunctionType,\n> = Extract<\n Function,\n { readonly runtimeAndFunctionType: { readonly functionType: FunctionType_ } }\n>;\n\nexport type WithoutName<\n Function extends AnyWithProps,\n Name_ extends Name<Function>,\n> = Exclude<Function, { readonly name: Name_ }>;\n\nexport type RegisteredFunction<Function extends AnyWithProps> =\n RuntimeAndFunctionType.GetFunctionType<\n Function[\"runtimeAndFunctionType\"]\n > extends \"query\"\n ? RegisteredQuery<\n GetFunctionVisibility<Function>,\n Args<Function>[\"Encoded\"],\n Promise<Returns<Function>[\"Encoded\"]>\n >\n : RuntimeAndFunctionType.GetFunctionType<\n Function[\"runtimeAndFunctionType\"]\n > extends \"mutation\"\n ? RegisteredMutation<\n GetFunctionVisibility<Function>,\n Args<Function>[\"Encoded\"],\n Promise<Returns<Function>[\"Encoded\"]>\n >\n : RuntimeAndFunctionType.GetFunctionType<\n Function[\"runtimeAndFunctionType\"]\n > extends \"action\"\n ? RegisteredAction<\n GetFunctionVisibility<Function>,\n Args<Function>[\"Encoded\"],\n Promise<Returns<Function>[\"Encoded\"]>\n >\n : never;\n\nconst Proto = {\n [TypeId]: TypeId,\n};\n\nconst make =\n <\n RuntimeAndFunctionType_ extends\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n >(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n ) =>\n <\n const Name_ extends string,\n Args_ extends Schema.Schema.AnyNoContext,\n Returns_ extends Schema.Schema.AnyNoContext,\n >({\n name,\n args,\n returns,\n }: {\n name: Name_;\n args: Args_;\n returns: Returns_;\n }): FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n Args_,\n Returns_\n > => {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n args,\n returns,\n });\n };\n\nexport const publicQuery = make(RuntimeAndFunctionType.ConvexQuery, \"public\");\nexport const internalQuery = make(\n RuntimeAndFunctionType.ConvexQuery,\n \"internal\",\n);\nexport const publicMutation = make(\n RuntimeAndFunctionType.ConvexMutation,\n \"public\",\n);\nexport const internalMutation = make(\n RuntimeAndFunctionType.ConvexMutation,\n \"internal\",\n);\nexport const publicAction = make(RuntimeAndFunctionType.ConvexAction, \"public\");\nexport const internalAction = make(\n RuntimeAndFunctionType.ConvexAction,\n \"internal\",\n);\n\nexport const publicNodeAction = make(\n RuntimeAndFunctionType.NodeAction,\n \"public\",\n);\nexport const internalNodeAction = make(\n RuntimeAndFunctionType.NodeAction,\n \"internal\",\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAYA,MAAa,SAAS;AAGtB,MAAa,kBAAkB,MAC7B,UAAU,YAAY,GAAG,OAAO;AAkHlC,MAAM,QAAQ,GACX,SAAS,QACX;AAED,MAAM,QAMF,wBACA,wBAMA,EACA,MACA,MACA,cAWG;AACH,mCAAkC,KAAK;AAEvC,QAAO,OAAO,OAAO,OAAO,OAAO,MAAM,EAAE;EACzC;EACA;EACA;EACA;EACA;EACD,CAAC;;AAGN,MAAa,cAAc,KAAKA,aAAoC,SAAS;AAC7E,MAAa,gBAAgB,KAC3BA,aACA,WACD;AACD,MAAa,iBAAiB,KAC5BC,gBACA,SACD;AACD,MAAa,mBAAmB,KAC9BA,gBACA,WACD;AACD,MAAa,eAAe,KAAKC,cAAqC,SAAS;AAC/E,MAAa,iBAAiB,KAC5BA,cACA,WACD;AAED,MAAa,mBAAmB,KAC9BC,YACA,SACD;AACD,MAAa,qBAAqB,KAChCA,YACA,WACD"}
|
package/dist/GroupSpec.d.ts
CHANGED
|
@@ -8,20 +8,20 @@ declare namespace GroupSpec_d_exports {
|
|
|
8
8
|
declare const TypeId = "@confect/core/GroupSpec";
|
|
9
9
|
type TypeId = typeof TypeId;
|
|
10
10
|
declare const isGroupSpec: (u: unknown) => u is Any;
|
|
11
|
-
interface GroupSpec<Runtime$
|
|
11
|
+
interface GroupSpec<Runtime$2 extends Runtime, Name_ extends string, Functions_ extends AnyWithPropsWithRuntime$1<Runtime$2> = never, Groups_ extends AnyWithPropsWithRuntime<Runtime$2> = never> {
|
|
12
12
|
readonly [TypeId]: TypeId;
|
|
13
|
-
readonly runtime: Runtime$
|
|
13
|
+
readonly runtime: Runtime$2;
|
|
14
14
|
readonly name: Name_;
|
|
15
|
-
readonly functions: { [FunctionName in Name$1<AnyWithPropsWithRuntime$1<Runtime$
|
|
15
|
+
readonly functions: { [FunctionName in Name$1<AnyWithPropsWithRuntime$1<Runtime$2>>]: WithName$1<Functions_, FunctionName> };
|
|
16
16
|
readonly groups: { [GroupName in Name<Groups_>]: WithName<Groups_, GroupName> };
|
|
17
|
-
addFunction<Function extends AnyWithPropsWithRuntime$1<Runtime$
|
|
18
|
-
addGroup<Group extends AnyWithPropsWithRuntime<Runtime$
|
|
17
|
+
addFunction<Function extends AnyWithPropsWithRuntime$1<Runtime$2>>(function_: Function): GroupSpec<Runtime$2, Name_, Functions_ | Function, Groups_>;
|
|
18
|
+
addGroup<Group extends AnyWithPropsWithRuntime<Runtime$2>>(group: Group): GroupSpec<Runtime$2, Name_, Functions_, Groups_ | Group>;
|
|
19
19
|
}
|
|
20
20
|
interface Any {
|
|
21
21
|
readonly [TypeId]: TypeId;
|
|
22
22
|
}
|
|
23
23
|
interface AnyWithProps extends GroupSpec<Runtime, string, AnyWithProps$1, AnyWithProps> {}
|
|
24
|
-
interface AnyWithPropsWithRuntime<Runtime$
|
|
24
|
+
interface AnyWithPropsWithRuntime<Runtime$1 extends Runtime> extends GroupSpec<Runtime$1, string, AnyWithPropsWithRuntime$1<Runtime$1>, AnyWithPropsWithRuntime<Runtime$1>> {}
|
|
25
25
|
type Name<Group extends AnyWithProps> = Group["name"];
|
|
26
26
|
type Functions<Group extends AnyWithProps> = Group["functions"][keyof Group["functions"]];
|
|
27
27
|
type Groups<Group extends AnyWithProps> = Group["groups"][keyof Group["groups"]];
|
package/package.json
CHANGED
package/src/FunctionSpec.ts
CHANGED
|
@@ -104,7 +104,7 @@ export type WithoutName<
|
|
|
104
104
|
export type RegisteredFunction<Function extends AnyWithProps> =
|
|
105
105
|
RuntimeAndFunctionType.GetFunctionType<
|
|
106
106
|
Function["runtimeAndFunctionType"]
|
|
107
|
-
> extends "
|
|
107
|
+
> extends "query"
|
|
108
108
|
? RegisteredQuery<
|
|
109
109
|
GetFunctionVisibility<Function>,
|
|
110
110
|
Args<Function>["Encoded"],
|