@gaganref/confect-core 10.3.1-fork.22 → 10.3.1-fork.24
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/dist/FunctionSpec.d.ts +2 -2
- package/dist/FunctionSpec.d.ts.map +1 -1
- package/dist/FunctionSpec.js +3 -1
- package/dist/FunctionSpec.js.map +1 -1
- package/dist/Profile.d.ts +12 -5
- package/dist/Profile.d.ts.map +1 -1
- package/dist/Profile.js.map +1 -1
- package/package.json +1 -1
- package/src/FunctionSpec.ts +7 -3
- package/src/Profile.ts +18 -5
package/dist/FunctionSpec.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type * as MiddlewareAttachment from "./MiddlewareAttachment.js";
|
|
2
2
|
import type { DefaultFunctionArgs, FunctionType, FunctionVisibility, RegisteredAction, RegisteredMutation, RegisteredQuery } from "convex/server";
|
|
3
|
-
import
|
|
3
|
+
import * as Schema from "effect/Schema";
|
|
4
4
|
import * as FunctionProvenance from "./FunctionProvenance.js";
|
|
5
5
|
import * as MiddlewareSpec from "./MiddlewareSpec.js";
|
|
6
6
|
import type * as Profile from "./Profile.js";
|
|
@@ -605,7 +605,7 @@ type Declared<MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec, Functio
|
|
|
605
605
|
type Wrapped<Layers extends ReadonlyArray<Profile.Transforms>, Key extends keyof Profile.Transforms, Input> = Layers extends readonly [
|
|
606
606
|
infer First extends Profile.Transforms,
|
|
607
607
|
...infer Rest extends ReadonlyArray<Profile.Transforms>
|
|
608
|
-
] ? Wrapped<Rest, Key, Key extends keyof First ? [Input] extends [never] ? never : Profile.Transform<First[Key], Input> : Input> : Input;
|
|
608
|
+
] ? Wrapped<Rest, Key, Key extends keyof First ? [Input] extends [never] ? Key extends "error" ? Profile.Transform<First[Key], typeof Schema.Never> : never : Profile.Transform<First[Key], Input> : Input> : Input;
|
|
609
609
|
type UserArgs<A> = [A] extends [never] ? {} : A;
|
|
610
610
|
type ExtendedMake<RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType, Fields_ extends Profile.Fields, MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec, Layers extends ReadonlyArray<Profile.Transforms>> = Declared<MiddlewareSpecs_, RuntimeAndFunctionType_["functionType"], <const Name_ extends string, const ArgsFields_ extends FunctionProvenance.ArgsFields = never, Returns_ extends Schema.Codec<any, any> = never, Error_ extends Schema.Codec<any, any> = never>(options: {
|
|
611
611
|
readonly name: Name_;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionSpec.d.ts","sourceRoot":"","sources":["../src/FunctionSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AAEtE,eAAO,MAAM,MAAM,gCAAgC,CAAC;AACpD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,cAAc,MAAO,OAAO,KAAG,CAAC,IAAI,YACf,CAAC;AAEnC,MAAM,WAAW,YAAY,CAC3B,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,mBAAmB,SAAS,kBAAkB,EAC9C,KAAK,SAAS,MAAM,EACpB,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,EACjE,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,GAAG,KAAK;IAEjE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IACzD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC1D,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAC3C,oBAAoB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAC5D,CAAC;CACH;AAED,MAAM,WAAW,OAAO,CACtB,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,mBAAmB,SAAS,kBAAkB,EAC9C,KAAK,SAAS,MAAM,EACpB,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,EACjE,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,GAAG,KAAK,CACjE,SAAQ,YAAY,CACpB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,CACjB;IACC,UAAU,CAAC,eAAe,SAAS,cAAc,CAAC,iBAAiB,EACjE,cAAc,EAAE,eAAe,GAC7B,cAAc,CAAC,sBAAsB,CACnC,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,CACjB,EACH,GAAG,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAC9D,OAAO,CACR,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,GAAG,eAAe,CACnC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB,CAC/B,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,mBAAmB,SAAS,kBAAkB,EAC9C,KAAK,SAAS,MAAM,EACpB,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,EACjE,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,GAAG,KAAK,CACjE,SAAQ,OAAO,CACf,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,CACjB;IACC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,UAAU,CAAC,eAAe,SAAS,cAAc,CAAC,iBAAiB,EACjE,cAAc,EAAE,eAAe,GAC7B,cAAc,CAAC,sBAAsB,CACnC,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,CACjB,EACH,GAAG,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAC9D,gBAAgB,CACjB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,GAAG,eAAe,CACnC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAC9B,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,mBAAmB,SAAS,kBAAkB,EAC9C,KAAK,SAAS,MAAM,EACpB,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,EACjE,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,EACzD,OAAO,CACP,SAAQ,OAAO,CACf,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,CACjB;IACC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,eAAe,SAAS,cAAc,CAAC,iBAAiB,EACjE,cAAc,EAAE,eAAe,GAC7B,cAAc,CAAC,sBAAsB,CACnC,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,CACjB,EACH,GAAG,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAC9D,eAAe,CAChB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,EACL,mBAAmB,EACnB,gBAAgB,GAAG,eAAe,EAClC,OAAO,CACR,CAAC;CACH;AAED,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY,CAChD,sBAAsB,CAAC,sBAAsB,EAC7C,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CAAC,kBAAkB,EACrC,cAAc,CAAC,iBAAiB,CACjC;IACC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY,CAC9C,sBAAsB,CAAC,sBAAsB,EAC7C,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CAAC,UAAU,EAC7B,cAAc,CAAC,iBAAiB,CACjC;CAAG;AAEJ,MAAM,WAAW,SAAU,SAAQ,YAAY,CAC7C,sBAAsB,CAAC,sBAAsB,EAC7C,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CAAC,SAAS,EAC5B,cAAc,CAAC,iBAAiB,CACjC;CAAG;AAEJ,MAAM,WAAW,uBAAuB,CACtC,OAAO,SAAS,sBAAsB,CAAC,OAAO,CAC9C,SAAQ,YAAY,CACpB,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC,EAC3C,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CAAC,kBAAkB,EACrC,cAAc,CAAC,iBAAiB,CACjC;CAAG;AAEJ,MAAM,WAAW,4BAA4B,CAC3C,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,CAC7E,SAAQ,YAAY,CACpB,uBAAuB,EACvB,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CAAC,kBAAkB,EACrC,cAAc,CAAC,iBAAiB,CACjC;CAAG;AAEJ,MAAM,WAAW,kCAAkC,CACjD,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,CACjE,SAAQ,YAAY,CACpB,sBAAsB,CAAC,sBAAsB,EAC7C,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,cAAc,CAAC,iBAAiB,CACjC;CAAG;AAEJ,MAAM,MAAM,yBAAyB,CAAC,aAAa,SAAS,YAAY,IACtE,aAAa,CAAC,wBAAwB,CAAC,CAAC;AAE1C,MAAM,MAAM,qBAAqB,CAAC,aAAa,SAAS,YAAY,IAClE,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEtC,MAAM,MAAM,qBAAqB,CAAC,aAAa,SAAS,YAAY,IAClE,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEtC,MAAM,MAAM,IAAI,CAAC,aAAa,SAAS,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,eAAe,CAAC,aAAa,SAAS,YAAY,IAC5D,aAAa,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,aAAa,SAAS,YAAY,IACvD,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,WAAW,SACvC,kBAAkB,CAAC,UAAU,CAAC;KACjC,CAAC;CACH,GACG,WAAW,GACX,aAAa,SAAS;IAClB,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC3D,GACD,kBAAkB,CAAC,UAAU,GAC7B,KAAK,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,aAAa,SAAS,YAAY,IACvD,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,WAAW,SACvC,kBAAkB,CAAC,UAAU,CAAC;KACjC,CAAC;CACH,GACG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAC1B,aAAa,SAAS;IAClB,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,WAAW,SAC9B,kBAAkB,CAAC,aAAa,CAAC;KACpC,CAAC;CACH,GACD,WAAW,GACX,KAAK,CAAC;AAEd,MAAM,MAAM,aAAa,CAAC,aAAa,SAAS,YAAY,IAC1D,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,cAAc,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACvE,CAAC;CACH,GACG,cAAc,GACd,KAAK,CAAC;AAEZ,MAAM,MAAM,WAAW,CAAC,aAAa,SAAS,YAAY,IACxD,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KACrC,CAAC;CACH,GACG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7C,KAAK,CAAC;AAEZ,MAAM,MAAM,IAAI,CAAC,aAAa,SAAS,YAAY,IAAI,aAAa,SAAS;IAC3E,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC3D,GACG,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GACjC,qBAAqB,CAAC,aAAa,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAClE,MAAM,KAAK,EACX,GAAG,CACJ,GACD,KAAK,GACL,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,aAAa,SAAS,YAAY,IACpD,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC3D,GACG,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GACpC,qBAAqB,CAAC,aAAa,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAClE,GAAG,EACH,MAAM,QAAQ,CACf,GACD,OAAO,CAAC,QAAQ,CAAC,GACjB,KAAK,CAAC;AAEd,MAAM,MAAM,WAAW,CAAC,aAAa,SAAS,YAAY,IACxD,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC3D,GACG,UAAU,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GACpC,qBAAqB,CAAC,aAAa,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAClE,MAAM,KAAK,EACX,GAAG,CACJ,GACD,KAAK,GACL,KAAK,CAAC;AAEd,MAAM,MAAM,cAAc,CAAC,aAAa,SAAS,YAAY,IAC3D,aAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CAC3D,GACG,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GACvC,qBAAqB,CAAC,aAAa,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAClE,GAAG,EACH,MAAM,QAAQ,CACf,GACD,QAAQ,GACR,KAAK,CAAC;AAEd,MAAM,MAAM,KAAK,CAAC,aAAa,SAAS,YAAY,IAClD,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,MAAM,YAAY,CAAC,aAAa,SAAS,YAAY,IACzD,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC;AAExC,MAAM,MAAM,QAAQ,CAClB,aAAa,SAAS,YAAY,EAClC,KAAK,SAAS,MAAM,IAClB,OAAO,CAAC,aAAa,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAErD,MAAM,MAAM,0BAA0B,CACpC,aAAa,SAAS,YAAY,EAClC,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,IAC3E,OAAO,CACT,aAAa,EACb;IAAE,QAAQ,CAAC,sBAAsB,EAAE,uBAAuB,CAAA;CAAE,CAC7D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAC1B,aAAa,SAAS,YAAY,EAClC,aAAa,SAAS,YAAY,IAChC,OAAO,CACT,aAAa,EACb;IAAE,QAAQ,CAAC,sBAAsB,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;KAAE,CAAA;CAAE,CAC9E,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAChC,aAAa,SAAS,YAAY,EAClC,mBAAmB,SAAS,kBAAkB,CAAC,kBAAkB,IAC/D,OAAO,CACT,aAAa,EACb;IAAE,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAA;CAAE,CACrD,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,aAAa,SAAS,YAAY,EAClC,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAC/B,OAAO,CAAC,aAAa,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAuJrD;;;;;GAKG;AACH,KAAK,oBAAoB,CACvB,cAAc,SAAS,kBAAkB,CAAC,UAAU,IAClD,gBAAgB,SAAS,MAAM,cAAc,GAC7C;IAAE,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;CAAE,GAClC,OAAO,CAAC;AA4GZ,eAAO,MAAM,WAAW;WA1Md,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAkJ6D,CAAC;AAC9E,eAAO,MAAM,aAAa;WA3MhB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAsJf,CAAC;AACF,eAAO,MAAM,oBAAoB;WA/FvB,KAAK,SAAS,MAAM,QACpB,eAAe,SAAS,kBAAkB,CAAC,UAAU,EAC3D,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,eAAe,SAAS,kBAAkB,CAAC,UAAU,EAC3D,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CA0Cf,CAAC;AACF,eAAO,MAAM,sBAAsB;WAnGzB,KAAK,SAAS,MAAM,QACpB,eAAe,SAAS,kBAAkB,CAAC,UAAU,EAC3D,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,eAAe,SAAS,kBAAkB,CAAC,UAAU,EAC3D,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CA8Cf,CAAC;AACF,eAAO,MAAM,cAAc;WAvNjB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAkKf,CAAC;AACF,eAAO,MAAM,gBAAgB;WA3NnB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAsKf,CAAC;AACF,eAAO,MAAM,YAAY;WA/Nf,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAuK+D,CAAC;AAChF,eAAO,MAAM,cAAc;WAhOjB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CA2Kf,CAAC;AAEF,eAAO,MAAM,gBAAgB;WArOnB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAgLf,CAAC;AACF,eAAO,MAAM,kBAAkB;WAzOrB,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;;;;;;;;WAWb,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAGvB,KAAK;eACZ,KAAK;;;;;;;WAUN,KAAK,SAAS,MAAM,QACpB,WAAW,SAAS,kBAAkB,CAAC,UAAU,EACvD,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;WAc/B,KAAK,SAAS,MAAM,EAC1B,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;;;eAI9B,KAAK;;;;;;;CAoLf,CAAC;AAEF,KAAK,wBAAwB,GAAG,cAAc,CAAC,iBAAiB,GAAG;IACjE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;CAC5B,CAAC;AAEF,KAAK,aAAa,GACd,MAAM,GACN,aAAa,GACb,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,CAAC;AAEZ;;;;;GAKG;AACH,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAChE,OAAO,GACP;IAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,IAAI,GAAG,aAAa,GAAG,KAAK;CAAE,CAAC;AAE/D;;;GAGG;AACH,KAAK,aAAa,CAAC,IAAI,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAEnD,KAAK,WAAW,CACd,WAAW,EACX,SAAS,SAAS,cAAc,CAAC,iBAAiB,IAChD,WAAW,SAAS;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;CAC/D,GACG,cAAc,CAAC,eAAe,CAAC,eAAe,GAAG,uCAAuC,CAAC,GACzF,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,KAAK,YAAY,CACf,WAAW,SAAS,aAAa,CAAC,OAAO,CAAC,EAC1C,SAAS,SAAS,cAAc,CAAC,iBAAiB,IAChD;IACF,QAAQ,EAAE,KAAK,IAAI,MAAM,WAAW,GAAG,WAAW,CAChD,WAAW,CAAC,KAAK,CAAC,EAClB,SAAS,CACV;CACF,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,CAAC,UAAU,IAC7B,wBAAwB,GACxB,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAErE,KAAK,MAAM,CAAC,WAAW,IACrB,WAAW,SAAS,OAAO,CAAC,UAAU,CAAC,MAAM,eAAe,EAAE,GAAG,CAAC,GAC9D,eAAe,GACf,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAE7D;;GAEG;AACH,KAAK,QAAQ,CACX,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,EACzD,aAAa,SAAS,YAAY,EAClC,IAAI,IACF;IACF,gBAAgB,SAAS,OAAO,GAC5B,aAAa,SAAS,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAClE,KAAK,GACL,gBAAgB,GAClB,KAAK;CACV,SAAS,CAAC,KAAK,CAAC,GACb,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,OAAO,CACV,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAChD,GAAG,SAAS,MAAM,OAAO,CAAC,UAAU,EACpC,KAAK,IACH,MAAM,SAAS,SAAS;IAC1B,MAAM,KAAK,SAAS,OAAO,CAAC,UAAU;IACtC,GAAG,MAAM,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;CACxD,GACG,OAAO,CACL,IAAI,EACJ,GAAG,EACH,GAAG,SAAS,MAAM,KAAK,GACnB,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACrB,KAAK,GACL,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GACtC,KAAK,CACV,GACD,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEhD,KAAK,YAAY,CACf,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,OAAO,SAAS,OAAO,CAAC,MAAM,EAC9B,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,EACzD,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAC9C,QAAQ,CACV,gBAAgB,EAChB,uBAAuB,CAAC,cAAc,CAAC,EACvC,CACE,KAAK,CAAC,KAAK,SAAS,MAAM,EAC1B,KAAK,CAAC,WAAW,SAAS,kBAAkB,CAAC,UAAU,GAAG,KAAK,EAC/D,QAAQ,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,EAC/C,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,EAE7C,OAAO,EAAE;IACP,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B,GAAG,OAAO,CACT,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CACpE,KACE,eAAe,CAClB,uBAAuB,EACvB,QAAQ,EACR,KAAK,EACL,kBAAkB,CAAC,OAAO,CACxB,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAC9C,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EACpC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CACjC,EACD,gBAAgB,EAChB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CACrD,CACF,CAAC;AAEF,KAAK,qBAAqB,CACxB,OAAO,SAAS,OAAO,CAAC,MAAM,EAC9B,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,EACzD,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAC9C,QAAQ,CACV,gBAAgB,EAChB,OAAO,EACP,CACE,KAAK,CAAC,KAAK,SAAS,MAAM,EAC1B,KAAK,CAAC,eAAe,SAAS,kBAAkB,CAAC,UAAU,GAAG,KAAK,EACnE,KAAK,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,EAC5C,MAAM,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,EAE7C,OAAO,EAAE;IACP,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,eAAe,GACnC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B,GAAG,OAAO,CACT,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CACxE,KACE,eAAe,CAClB,sBAAsB,CAAC,WAAW,EAClC,QAAQ,EACR,KAAK,EACL,kBAAkB,CAAC,gBAAgB,CACjC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,EAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAC9B,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CACjC,EACD,gBAAgB,EAChB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CACzD,CACF,CAAC;AAEF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,UAAU,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,CAClB,OAAO,SAAS,OAAO,CAAC,MAAM,EAC9B,gBAAgB,SAAS,cAAc,CAAC,iBAAiB,EACzD,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,IACnD;IACF,QAAQ,EAAE,QAAQ,IAAI,MAAM,gBAAgB,GAAG,YAAY,CACzD,gBAAgB,CAAC,QAAQ,CAAC,EAC1B,OAAO,EACP,gBAAgB,EAChB,MAAM,CACP;CACF,GAAG;IACF,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAClD,OAAO,EACP,gBAAgB,EAChB,MAAM,CACP,CAAC;IACF;;OAEG;IACH,MAAM,CACJ,SAAS,SAAS,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EACnD,UAAU,SAAS,OAAO,CAAC,UAAU,GAAG,EAAE,KACvC,CACH,KAAK,CAAC,WAAW,SAAS,aAAa,CACrC,iBAAiB,CACf,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAC7D,CACF,EAED,MAAM,EAAE;QACN,QAAQ,CAAC,UAAU,EAAE,WAAW,GAC9B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KAC/C,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAC/B,OAAO,CAAC,YAAY,CAClB,UAAU,EACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAC7D,KACA,QAAQ,CACX,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAChC,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAC9C;QAAC,GAAG,MAAM;QAAE,UAAU;KAAC,CACxB,CAAC;CACH,CAAC;AA4EF;;GAEG;AACH,eAAO,MAAM,MAAM,GAEf,OAAO,SAAS,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EACjD,UAAU,SAAS,OAAO,CAAC,UAAU,GAAG,EAAE,QAG1C,KAAK,CAAC,WAAW,SAAS,aAAa,CACrC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CACvD,UAEO;IACN,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAC7B,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAEZ,QAAQ,CACjE,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAC3B,CAAC,UAAU,CAAC,CACb,CAAC;AAEN,KAAK,0BAA0B,CAC7B,uBAAuB,SAAS,sBAAsB,CAAC,sBAAsB,EAC7E,mBAAmB,SAAS,kBAAkB,IAE9C,sBAAsB,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAS,OAAO,GAC3E,eAAe,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,GAC9C,sBAAsB,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAS,UAAU,GAChF,kBAAkB,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,GACjD,sBAAsB,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAS,QAAQ,GAC9E,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C,KAAK,CAAC;AAEhB,KAAK,WAAW,CAAC,CAAC,IAChB,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,mBAAmB,EAAE,GAAG,CAAC,GACpE,CAAC,GACD,CAAC,SAAS,kBAAkB,CACxB,GAAG,EACH,MAAM,CAAC,SAAS,mBAAmB,EACnC,GAAG,CACJ,GACD,CAAC,GACD,CAAC,SAAS,gBAAgB,CACtB,GAAG,EACH,MAAM,CAAC,SAAS,mBAAmB,EACnC,GAAG,CACJ,GACD,CAAC,GACD,KAAK,CAAC;AAEhB,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GACxC,CAAC,GACD,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAC7C,CAAC,GACD,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AAuChB,eAAO,MAAM,iBAAiB,GA3B1B,CAAC,SAAS,0BAA0B;;;YAGnC,cAEI,KAAK,SAAS,MAAM;;;wFAyB5B,CAAC;AACF,eAAO,MAAM,mBAAmB,GA/B5B,CAAC,SAAS,0BAA0B;;;cAGnC,cAEI,KAAK,SAAS,MAAM;;;0FA6B5B,CAAC;AACF,eAAO,MAAM,oBAAoB,GAnC7B,CAAC,SAAS,0BAA0B;;;YAGnC,cAEI,KAAK,SAAS,MAAM;;;wFAiC5B,CAAC;AACF,eAAO,MAAM,sBAAsB,GAvC/B,CAAC,SAAS,0BAA0B;;;cAGnC,cAEI,KAAK,SAAS,MAAM;;;0FAqC5B,CAAC;AACF,eAAO,MAAM,kBAAkB,GA3C3B,CAAC,SAAS,0BAA0B;;;YAGnC,cAEI,KAAK,SAAS,MAAM;;;wFAyC5B,CAAC;AACF,eAAO,MAAM,oBAAoB,GA/C7B,CAAC,SAAS,0BAA0B;;;cAGnC,cAEI,KAAK,SAAS,MAAM;;;0FA6C5B,CAAC;AACF,eAAO,MAAM,sBAAsB,GAnD/B,CAAC,SAAS,0BAA0B;;;YAGnC,cAEI,KAAK,SAAS,MAAM;;;wFAiD5B,CAAC;AACF,eAAO,MAAM,wBAAwB,GAvDjC,CAAC,SAAS,0BAA0B;;;cAGnC,cAEI,KAAK,SAAS,MAAM;;;0FAqD5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"FunctionSpec.d.ts","sourceRoot":"","sources":["../src/FunctionSpec.ts"],"names":[],"mappings":"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"}
|
package/dist/FunctionSpec.js
CHANGED
|
@@ -4,6 +4,7 @@ import { isMiddlewareSpec } from "./MiddlewareSpec.js";
|
|
|
4
4
|
import { validateConfectFunctionIdentifier } from "./Identifier.js";
|
|
5
5
|
import { ConvexAction, ConvexMutation, ConvexQuery, NodeAction } from "./RuntimeAndFunctionType.js";
|
|
6
6
|
import * as Predicate from "effect/Predicate";
|
|
7
|
+
import * as Schema from "effect/Schema";
|
|
7
8
|
//#region src/FunctionSpec.ts
|
|
8
9
|
var FunctionSpec_exports = /* @__PURE__ */ __exportAll({
|
|
9
10
|
TypeId: () => TypeId,
|
|
@@ -96,6 +97,7 @@ const makeExtended = (middleware, schemas = []) => {
|
|
|
96
97
|
const extended = (makeSpec, paginated = false) => ({ name, description, args, returns, item, error, ...fields }) => {
|
|
97
98
|
const info = {
|
|
98
99
|
name,
|
|
100
|
+
...description === void 0 ? {} : { description },
|
|
99
101
|
args: args ?? (() => ({})),
|
|
100
102
|
fields
|
|
101
103
|
};
|
|
@@ -112,7 +114,7 @@ const makeExtended = (middleware, schemas = []) => {
|
|
|
112
114
|
"error"
|
|
113
115
|
]) {
|
|
114
116
|
const wrap = wrappers[key];
|
|
115
|
-
const thunk = thunks[key];
|
|
117
|
+
const thunk = thunks[key] ?? (key === "error" ? () => Schema.Never : void 0);
|
|
116
118
|
if (wrap !== void 0 && thunk !== void 0) thunks[key] = () => wrap(thunk, info)();
|
|
117
119
|
}
|
|
118
120
|
return middleware.reduce((spec, entry) => isMiddlewareSpec(entry) ? spec.middleware(entry) : spec.middleware(entry.spec, entry.options(info)), Object.assign(makeSpec({
|
package/dist/FunctionSpec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionSpec.js","names":["FunctionProvenance.Confect","FunctionProvenance.ConfectPaginated","RuntimeAndFunctionType.ConvexQuery","RuntimeAndFunctionType.ConvexMutation","RuntimeAndFunctionType.ConvexAction","RuntimeAndFunctionType.NodeAction","MiddlewareSpec.isMiddlewareSpec","FunctionProvenance.Convex"],"sources":["../src/FunctionSpec.ts"],"sourcesContent":["import type * as MiddlewareAttachment from \"./MiddlewareAttachment.js\";\nimport type {\n DefaultFunctionArgs,\n FunctionType,\n FunctionVisibility,\n RegisteredAction,\n RegisteredMutation,\n RegisteredQuery,\n} from \"convex/server\";\nimport type * as Schema from \"effect/Schema\";\nimport * as Predicate from \"effect/Predicate\";\nimport * as FunctionProvenance from \"./FunctionProvenance.js\";\nimport { validateConfectFunctionIdentifier } from \"./Identifier.js\";\nimport * as MiddlewareSpec from \"./MiddlewareSpec.js\";\nimport type * as Profile from \"./Profile.js\";\nimport * as RuntimeAndFunctionType from \"./RuntimeAndFunctionType.js\";\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 FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> {\n readonly [TypeId]: TypeId;\n readonly runtimeAndFunctionType: RuntimeAndFunctionType_;\n readonly functionVisibility: FunctionVisibility_;\n readonly name: Name_;\n readonly functionProvenance: FunctionProvenance_;\n readonly middlewareSpecs: ReadonlyArray<MiddlewareSpecs_>;\n readonly middlewareAttachments: ReadonlyArray<\n MiddlewareAttachment.MiddlewareAttachment<MiddlewareSpecs_>\n >;\n}\n\nexport interface Builder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_\n >;\n}\n\nexport interface DescribedBuilder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> extends Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n readonly description?: string;\n\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_\n >;\n}\n\n/**\n * A spec built through {@link extend}, keeping its fields through middleware.\n */\nexport interface ExtendedBuilder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Fields_,\n> extends Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n readonly description?: string;\n readonly fields: Fields_;\n\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): ExtendedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_,\n Fields_\n >;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport interface AnyWithProps extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {\n readonly description?: string;\n readonly fields?: object;\n}\n\nexport interface AnyConfect extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.AnyConfect,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyConvex extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.AnyConvex,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithRuntime<\n Runtime extends RuntimeAndFunctionType.Runtime,\n> extends FunctionSpec<\n RuntimeAndFunctionType.WithRuntime<Runtime>,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithFunctionType<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithFunctionProvenance<\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n> extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance_,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport type GetRuntimeAndFunctionType<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"runtimeAndFunctionType\"];\n\nexport type GetFunctionVisibility<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"functionVisibility\"];\n\nexport type GetFunctionProvenance<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"functionProvenance\"];\n\nexport type Name<FunctionSpec_ extends AnyWithProps> = FunctionSpec_[\"name\"];\n\nexport type MiddlewareSpecs<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"middlewareSpecs\"][number];\n\n/**\n * The field map declared by a Confect-provenance spec.\n */\nexport type ArgsFields<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly \"~ArgsFields\": infer ArgsFields_ extends\n FunctionProvenance.ArgsFields;\n };\n }\n ? ArgsFields_\n : FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? FunctionProvenance.ArgsFields\n : never;\n\n/**\n * The args schema assembled from a Confect-provenance spec's field map.\n */\nexport type ArgsSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly \"~ArgsFields\": infer ArgsFields_ extends\n FunctionProvenance.ArgsFields;\n };\n }\n ? Schema.Struct<ArgsFields_>\n : FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly args: infer ArgsSchema_ extends\n FunctionProvenance.AnyArgsSchema;\n };\n }\n ? ArgsSchema_\n : never;\n\nexport type ReturnsSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly returns: infer ReturnsSchema_ extends Schema.Codec<any, any>;\n };\n }\n ? ReturnsSchema_\n : never;\n\nexport type ErrorSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly error?: infer ErrorSchema_;\n };\n }\n ? Extract<ErrorSchema_, Schema.Codec<any, any>>\n : never;\n\nexport type Args<FunctionSpec_ extends AnyWithProps> = FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n}\n ? ArgsSchema<FunctionSpec_>[\"Type\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n infer Args_,\n any\n >\n ? Args_\n : never;\n\nexport type Returns<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ReturnsSchema<FunctionSpec_>[\"Type\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n any,\n infer Returns_\n >\n ? Awaited<Returns_>\n : never;\n\nexport type EncodedArgs<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ArgsSchema<FunctionSpec_>[\"Encoded\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n infer Args_,\n any\n >\n ? Args_\n : never;\n\nexport type EncodedReturns<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ReturnsSchema<FunctionSpec_>[\"Encoded\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n any,\n infer Returns_\n >\n ? Returns_\n : never;\n\nexport type Error<FunctionSpec_ extends AnyWithProps> =\n ErrorSchema<FunctionSpec_>[\"Type\"];\n\nexport type EncodedError<FunctionSpec_ extends AnyWithProps> =\n ErrorSchema<FunctionSpec_>[\"Encoded\"];\n\nexport type WithName<\n FunctionSpec_ extends AnyWithProps,\n Name_ extends string,\n> = Extract<FunctionSpec_, { readonly name: Name_ }>;\n\nexport type WithRuntimeAndFunctionType<\n FunctionSpec_ extends AnyWithProps,\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> = Extract<\n FunctionSpec_,\n { readonly runtimeAndFunctionType: RuntimeAndFunctionType_ }\n>;\n\nexport type WithFunctionType<\n FunctionSpec_ extends AnyWithProps,\n FunctionType_ extends FunctionType,\n> = Extract<\n FunctionSpec_,\n { readonly runtimeAndFunctionType: { readonly functionType: FunctionType_ } }\n>;\n\nexport type WithFunctionProvenance<\n FunctionSpec_ extends AnyWithProps,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n> = Extract<\n FunctionSpec_,\n { readonly functionProvenance: FunctionProvenance_ }\n>;\n\nexport type WithoutName<\n FunctionSpec_ extends AnyWithProps,\n Name_ extends Name<FunctionSpec_>,\n> = Exclude<FunctionSpec_, { readonly name: Name_ }>;\n\nconst Proto = {\n [TypeId]: TypeId,\n\n get middlewareSpecs() {\n return this.middlewareAttachments.map(({ spec }) => spec);\n },\n\n middleware(\n this: AnyWithProps,\n middlewareSpec: MiddlewareSpec.AnyMiddlewareSpec,\n ...options: ReadonlyArray<unknown>\n ) {\n if (this.functionProvenance._tag === \"Convex\") {\n throw new Error(\n `Plain Convex function \"${this.name}\" cannot have middleware`,\n );\n }\n const functionType = this.runtimeAndFunctionType.functionType;\n if (!middlewareSpec.functionTypes[functionType]) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" does not declare function type \"${functionType}\" of function \"${this.name}\"`,\n );\n }\n if (\n !(\"options\" in middlewareSpec) &&\n this.middlewareAttachments.some(\n ({ spec }) => spec.key === middlewareSpec.key,\n )\n ) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" is already attached to function \"${this.name}\"`,\n );\n }\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType: this.runtimeAndFunctionType,\n functionVisibility: this.functionVisibility,\n name: this.name,\n ...(\"description\" in this ? { description: this.description } : {}),\n ...(\"fields\" in this ? { fields: this.fields } : {}),\n functionProvenance: this.functionProvenance,\n middlewareAttachments: [\n ...this.middlewareAttachments,\n { spec: middlewareSpec, options: options[0] },\n ],\n });\n },\n} satisfies ThisType<AnyWithProps>;\n\ninterface Options {\n readonly description?: string;\n readonly name: string;\n readonly args?: () => FunctionProvenance.ArgsFields;\n readonly returns: () => Schema.Codec<any, any>;\n readonly error?: () => Schema.Codec<any, any>;\n}\n\nconst make = <\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n>(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n) => {\n function makeSpec<\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args: () => ArgsFields_;\n returns: () => Returns_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<ArgsFields_, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args?: never;\n returns: () => Returns_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<{}, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args: () => ArgsFields_;\n returns: () => Returns_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<ArgsFields_, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args?: never;\n returns: () => Returns_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<{}, Returns_, Error_>\n >;\n function makeSpec({ name, description, args, returns, error }: Options) {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n ...(description === undefined ? {} : { description }),\n functionProvenance:\n args === undefined\n ? FunctionProvenance.Confect(() => ({}), returns, error)\n : FunctionProvenance.Confect(args, returns, error),\n middlewareAttachments: [],\n });\n }\n\n return makeSpec;\n};\n\n/**\n * `Schema.Struct` fields that must not declare `paginationOpts`. Used to reject\n * a user args schema that redeclares the field the paginated constructors add\n * themselves; the check reports at the `args` thunk with an unsatisfiable type\n * when violated.\n */\ntype ForbidPaginationOpts<\n UserArgsFields extends FunctionProvenance.ArgsFields,\n> = \"paginationOpts\" extends keyof UserArgsFields\n ? { readonly paginationOpts: never }\n : unknown;\n\ninterface PaginatedOptions {\n readonly description?: string;\n readonly name: string;\n readonly args?: () => FunctionProvenance.ArgsFields;\n readonly item: () => Schema.Codec<any, any>;\n readonly error?: () => Schema.Codec<any, any>;\n}\n\nconst makePaginated = <\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n>(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n) => {\n function makeSpec<\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args: () => UserArgsFields_ & ForbidPaginationOpts<UserArgsFields_>;\n item: () => Item_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<UserArgsFields_, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args?: never;\n item: () => Item_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<{}, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args: () => UserArgsFields_ & ForbidPaginationOpts<UserArgsFields_>;\n item: () => Item_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<UserArgsFields_, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args?: never;\n item: () => Item_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<{}, Item_, Error_>\n >;\n function makeSpec({\n name,\n description,\n args,\n item,\n error,\n }: PaginatedOptions) {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n ...(description === undefined ? {} : { description }),\n functionProvenance:\n args === undefined\n ? FunctionProvenance.ConfectPaginated(() => ({}), item, error)\n : FunctionProvenance.ConfectPaginated(args, item, error),\n middlewareAttachments: [],\n });\n }\n\n return makeSpec;\n};\n\nexport const publicQuery = make(RuntimeAndFunctionType.ConvexQuery, \"public\");\nexport const internalQuery = make(\n RuntimeAndFunctionType.ConvexQuery,\n \"internal\",\n);\nexport const publicPaginatedQuery = makePaginated(\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n);\nexport const internalPaginatedQuery = makePaginated(\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\ntype OptionlessMiddlewareSpec = MiddlewareSpec.AnyMiddlewareSpec & {\n readonly \"~Options\": never;\n};\n\ntype BuilderOption =\n | \"name\"\n | \"description\"\n | \"args\"\n | \"returns\"\n | \"item\"\n | \"error\";\n\n/**\n * Refuses fields named after a builder option, which the builder would read as\n * that option. The conditional keeps the mapped type out of a builder call's\n * inference, which would otherwise widen the function's name to `string` when\n * reporting the error.\n */\ntype OptionFree<Type> = [keyof Type & BuilderOption] extends [never]\n ? unknown\n : { readonly [Option in keyof Type & BuilderOption]: never };\n\n/**\n * A function's fields, checked once applied, since a profile's field type can\n * branch on the function's name.\n */\ntype CheckedFields<Type> = Type & OptionFree<Type>;\n\ntype NotRepeated<\n Middleware_,\n Inherited extends MiddlewareSpec.AnyMiddlewareSpec,\n> = Middleware_ extends {\n readonly key: infer Key extends MiddlewareSpec.Key<Inherited>;\n}\n ? MiddlewareSpec.AttachmentError<`Middleware \"${Key}\" is already attached by this profile`>\n : Middleware_;\n\n/**\n * Refuses a middleware without options that an earlier layer attached, as it is\n * attached at most once; one with options may repeat. Each member of an\n * element's union is checked, so an array typed `(A | B)[]` is refused when\n * either was attached.\n */\ntype NotInherited<\n Middleware_ extends ReadonlyArray<unknown>,\n Inherited extends MiddlewareSpec.AnyMiddlewareSpec,\n> = {\n readonly [Index in keyof Middleware_]: NotRepeated<\n Middleware_[Index],\n Inherited\n >;\n};\n\n/**\n * A profile's middleware: a spec without options, or an attachment.\n */\ntype ProfileMiddleware<FieldsType> =\n | OptionlessMiddlewareSpec\n | Profile.Attachment<MiddlewareSpec.AnyMiddlewareSpec, FieldsType>;\n\ntype SpecOf<Middleware_> =\n Middleware_ extends Profile.Attachment<infer MiddlewareSpec_, any>\n ? MiddlewareSpec_\n : Extract<Middleware_, MiddlewareSpec.AnyMiddlewareSpec>;\n\n/**\n * `never` when a profile middleware does not declare the function type.\n */\ntype Declared<\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n FunctionType_ extends FunctionType,\n Make,\n> = [\n MiddlewareSpecs_ extends unknown\n ? FunctionType_ extends MiddlewareSpec.FunctionTypes<MiddlewareSpecs_>\n ? never\n : MiddlewareSpecs_\n : never,\n] extends [never]\n ? Make\n : never;\n\ntype Wrapped<\n Layers extends ReadonlyArray<Profile.Transforms>,\n Key extends keyof Profile.Transforms,\n Input,\n> = Layers extends readonly [\n infer First extends Profile.Transforms,\n ...infer Rest extends ReadonlyArray<Profile.Transforms>,\n]\n ? Wrapped<\n Rest,\n Key,\n Key extends keyof First\n ? [Input] extends [never]\n ? never\n : Profile.Transform<First[Key], Input>\n : Input\n >\n : Input;\n\ntype UserArgs<A> = [A] extends [never] ? {} : A;\n\ntype ExtendedMake<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms>,\n> = Declared<\n MiddlewareSpecs_,\n RuntimeAndFunctionType_[\"functionType\"],\n <\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields = never,\n Returns_ extends Schema.Codec<any, any> = never,\n Error_ extends Schema.Codec<any, any> = never,\n >(\n options: {\n readonly name: Name_;\n readonly description?: string;\n readonly args?: () => ArgsFields_;\n readonly returns: () => Returns_;\n readonly error?: () => Error_;\n } & NoInfer<\n CheckedFields<Profile.Apply<Fields_, Name_, UserArgs<ArgsFields_>>>\n >,\n ) => ExtendedBuilder<\n RuntimeAndFunctionType_,\n \"public\",\n Name_,\n FunctionProvenance.Confect<\n UserArgs<Wrapped<Layers, \"args\", ArgsFields_>>,\n Wrapped<Layers, \"returns\", Returns_>,\n Wrapped<Layers, \"error\", Error_>\n >,\n MiddlewareSpecs_,\n Profile.Apply<Fields_, Name_, UserArgs<ArgsFields_>>\n >\n>;\n\ntype ExtendedMakePaginated<\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms>,\n> = Declared<\n MiddlewareSpecs_,\n \"query\",\n <\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields = never,\n Item_ extends Schema.Codec<any, any> = never,\n Error_ extends Schema.Codec<any, any> = never,\n >(\n options: {\n readonly name: Name_;\n readonly description?: string;\n readonly args?: () => UserArgsFields_ &\n ForbidPaginationOpts<UserArgsFields_>;\n readonly item: () => Item_;\n readonly error?: () => Error_;\n } & NoInfer<\n CheckedFields<Profile.Apply<Fields_, Name_, UserArgs<UserArgsFields_>>>\n >,\n ) => ExtendedBuilder<\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n Name_,\n FunctionProvenance.ConfectPaginated<\n UserArgs<Wrapped<Layers, \"args\", UserArgsFields_>>,\n Wrapped<Layers, \"item\", Item_>,\n Wrapped<Layers, \"error\", Error_>\n >,\n MiddlewareSpecs_,\n Profile.Apply<Fields_, Name_, UserArgs<UserArgsFields_>>\n >\n>;\n\ninterface ExtendedRuntimes {\n readonly publicQuery: RuntimeAndFunctionType.ConvexQuery;\n readonly publicMutation: RuntimeAndFunctionType.ConvexMutation;\n readonly publicAction: RuntimeAndFunctionType.ConvexAction;\n readonly publicNodeAction: RuntimeAndFunctionType.NodeAction;\n}\n\n/**\n * A profile's five public builders and its own `extend`.\n */\nexport type Extended<\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms> = [],\n> = {\n readonly [Builder_ in keyof ExtendedRuntimes]: ExtendedMake<\n ExtendedRuntimes[Builder_],\n Fields_,\n MiddlewareSpecs_,\n Layers\n >;\n} & {\n readonly publicPaginatedQuery: ExtendedMakePaginated<\n Fields_,\n MiddlewareSpecs_,\n Layers\n >;\n /**\n * Require more fields and attach more middleware after this profile's.\n */\n extend<\n Extension extends Profile.Fields = Profile.NoFields,\n Transforms extends Profile.Transforms = {},\n >(): <\n const Middleware_ extends ReadonlyArray<\n ProfileMiddleware<\n Profile.Apply<Profile.Both<Fields_, Extension>, string, any>\n >\n >,\n >(\n config: {\n readonly middleware: Middleware_ &\n NotInherited<Middleware_, MiddlewareSpecs_>;\n } & OptionFree<Extension[\"Type\"]> &\n Profile.SchemaConfig<\n Transforms,\n Profile.Apply<Profile.Both<Fields_, Extension>, string, any>\n >,\n ) => Extended<\n Profile.Both<Fields_, Extension>,\n MiddlewareSpecs_ | SpecOf<Middleware_[number]>,\n [...Layers, Transforms]\n >;\n};\n\ntype RuntimeWrappers = Partial<\n Record<\n keyof Profile.Transforms,\n (thunk: () => any, info: Profile.Info<any>) => () => any\n >\n>;\n\nconst makeExtended = (\n middleware: ReadonlyArray<ProfileMiddleware<any>>,\n schemas: ReadonlyArray<RuntimeWrappers> = [],\n): Extended<any, any> => {\n // `OptionFree` keeps option names out of the fields; this split is the\n // runtime's fallback.\n const extended =\n (makeSpec: (options: never) => object, paginated = false): any =>\n ({\n name,\n description,\n args,\n returns,\n item,\n error,\n ...fields\n }: Record<string, unknown>) => {\n const info = {\n name,\n args: args ?? (() => ({})),\n fields,\n } as Profile.Info<unknown>;\n const thunks = {\n args,\n returns: paginated ? undefined : returns,\n item: paginated ? item : undefined,\n error,\n } as Partial<Record<keyof Profile.Transforms, () => any>>;\n for (const wrappers of schemas) {\n for (const key of [\"args\", \"returns\", \"item\", \"error\"] as const) {\n const wrap = wrappers[key];\n const thunk = thunks[key];\n if (wrap !== undefined && thunk !== undefined) {\n thunks[key] = () => wrap(thunk, info)();\n }\n }\n }\n return middleware.reduce(\n (spec: any, entry) =>\n MiddlewareSpec.isMiddlewareSpec(entry)\n ? spec.middleware(entry)\n : spec.middleware(entry.spec, entry.options(info)),\n Object.assign(makeSpec({ name, description, ...thunks } as never), {\n fields,\n }),\n );\n };\n\n return {\n publicQuery: extended(publicQuery),\n publicMutation: extended(publicMutation),\n publicAction: extended(publicAction),\n publicNodeAction: extended(publicNodeAction),\n publicPaginatedQuery: extended(publicPaginatedQuery, true),\n extend:\n () =>\n (config: {\n middleware: ReadonlyArray<ProfileMiddleware<any>>;\n schemas?: RuntimeWrappers;\n }) =>\n makeExtended(\n [...middleware, ...config.middleware],\n [...schemas, config.schemas ?? {}],\n ),\n };\n};\n\n/**\n * Public builders whose specs require and keep `Fields_`, with `middleware`.\n */\nexport const extend =\n <\n Fields_ extends Profile.Fields = Profile.NoFields,\n Transforms extends Profile.Transforms = {},\n >() =>\n <\n const Middleware_ extends ReadonlyArray<\n ProfileMiddleware<Profile.Apply<Fields_, string, any>>\n >,\n >(\n config: {\n readonly middleware: Middleware_;\n } & OptionFree<Fields_[\"Type\"]> &\n Profile.SchemaConfig<Transforms, Profile.Apply<Fields_, string, any>>,\n ) =>\n makeExtended(config.middleware, [config.schemas ?? {}]) as Extended<\n Fields_,\n SpecOf<Middleware_[number]>,\n [Transforms]\n >;\n\ntype MatchingRegisteredFunction<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n> =\n RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"query\"\n ? RegisteredQuery<FunctionVisibility_, any, any>\n : RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"mutation\"\n ? RegisteredMutation<FunctionVisibility_, any, any>\n : RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"action\"\n ? RegisteredAction<FunctionVisibility_, any, any>\n : never;\n\ntype ExtractArgs<F> =\n F extends RegisteredQuery<any, infer A extends DefaultFunctionArgs, any>\n ? A\n : F extends RegisteredMutation<\n any,\n infer A extends DefaultFunctionArgs,\n any\n >\n ? A\n : F extends RegisteredAction<\n any,\n infer A extends DefaultFunctionArgs,\n any\n >\n ? A\n : never;\n\ntype ExtractReturns<F> =\n F extends RegisteredQuery<any, any, infer R>\n ? R\n : F extends RegisteredMutation<any, any, infer R>\n ? R\n : F extends RegisteredAction<any, any, infer R>\n ? R\n : never;\n\nconst makeConvex =\n <\n RuntimeAndFunctionType_ extends\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n >(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n ) =>\n <\n F extends MatchingRegisteredFunction<\n RuntimeAndFunctionType_,\n FunctionVisibility_\n >,\n >() =>\n <const Name_ extends string>(\n name: Name_,\n ): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Convex<ExtractArgs<F>, ExtractReturns<F>>\n > => {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n functionProvenance: FunctionProvenance.Convex<\n ExtractArgs<F>,\n ExtractReturns<F>\n >(),\n middlewareAttachments: [],\n }) as any;\n };\n\nexport const convexPublicQuery = makeConvex(\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n);\nexport const convexInternalQuery = makeConvex(\n RuntimeAndFunctionType.ConvexQuery,\n \"internal\",\n);\nexport const convexPublicMutation = makeConvex(\n RuntimeAndFunctionType.ConvexMutation,\n \"public\",\n);\nexport const convexInternalMutation = makeConvex(\n RuntimeAndFunctionType.ConvexMutation,\n \"internal\",\n);\nexport const convexPublicAction = makeConvex(\n RuntimeAndFunctionType.ConvexAction,\n \"public\",\n);\nexport const convexInternalAction = makeConvex(\n RuntimeAndFunctionType.ConvexAction,\n \"internal\",\n);\nexport const convexPublicNodeAction = makeConvex(\n RuntimeAndFunctionType.NodeAction,\n \"public\",\n);\nexport const convexInternalNodeAction = makeConvex(\n RuntimeAndFunctionType.NodeAction,\n \"internal\",\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FunctionSpec.js","names":["FunctionProvenance.Confect","FunctionProvenance.ConfectPaginated","RuntimeAndFunctionType.ConvexQuery","RuntimeAndFunctionType.ConvexMutation","RuntimeAndFunctionType.ConvexAction","RuntimeAndFunctionType.NodeAction","MiddlewareSpec.isMiddlewareSpec","FunctionProvenance.Convex"],"sources":["../src/FunctionSpec.ts"],"sourcesContent":["import type * as MiddlewareAttachment from \"./MiddlewareAttachment.js\";\nimport type {\n DefaultFunctionArgs,\n FunctionType,\n FunctionVisibility,\n RegisteredAction,\n RegisteredMutation,\n RegisteredQuery,\n} from \"convex/server\";\nimport * as Schema from \"effect/Schema\";\nimport * as Predicate from \"effect/Predicate\";\nimport * as FunctionProvenance from \"./FunctionProvenance.js\";\nimport { validateConfectFunctionIdentifier } from \"./Identifier.js\";\nimport * as MiddlewareSpec from \"./MiddlewareSpec.js\";\nimport type * as Profile from \"./Profile.js\";\nimport * as RuntimeAndFunctionType from \"./RuntimeAndFunctionType.js\";\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 FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> {\n readonly [TypeId]: TypeId;\n readonly runtimeAndFunctionType: RuntimeAndFunctionType_;\n readonly functionVisibility: FunctionVisibility_;\n readonly name: Name_;\n readonly functionProvenance: FunctionProvenance_;\n readonly middlewareSpecs: ReadonlyArray<MiddlewareSpecs_>;\n readonly middlewareAttachments: ReadonlyArray<\n MiddlewareAttachment.MiddlewareAttachment<MiddlewareSpecs_>\n >;\n}\n\nexport interface Builder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_\n >;\n}\n\nexport interface DescribedBuilder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec = never,\n> extends Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n readonly description?: string;\n\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_\n >;\n}\n\n/**\n * A spec built through {@link extend}, keeping its fields through middleware.\n */\nexport interface ExtendedBuilder<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n Name_ extends string,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Fields_,\n> extends Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_\n> {\n readonly description?: string;\n readonly fields: Fields_;\n\n middleware<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec>(\n middlewareSpec: MiddlewareSpec_ &\n MiddlewareSpec.ValidateFunctionAttach<\n MiddlewareSpec_,\n RuntimeAndFunctionType_,\n FunctionProvenance_,\n MiddlewareSpecs_\n >,\n ...options: MiddlewareAttachment.Args<NoInfer<MiddlewareSpec_>>\n ): ExtendedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance_,\n MiddlewareSpecs_ | MiddlewareSpec_,\n Fields_\n >;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport interface AnyWithProps extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {\n readonly description?: string;\n readonly fields?: object;\n}\n\nexport interface AnyConfect extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.AnyConfect,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyConvex extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance.AnyConvex,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithRuntime<\n Runtime extends RuntimeAndFunctionType.Runtime,\n> extends FunctionSpec<\n RuntimeAndFunctionType.WithRuntime<Runtime>,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithFunctionType<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> extends FunctionSpec<\n RuntimeAndFunctionType_,\n FunctionVisibility,\n string,\n FunctionProvenance.FunctionProvenance,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport interface AnyWithPropsWithFunctionProvenance<\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n> extends FunctionSpec<\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility,\n string,\n FunctionProvenance_,\n MiddlewareSpec.AnyMiddlewareSpec\n> {}\n\nexport type GetRuntimeAndFunctionType<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"runtimeAndFunctionType\"];\n\nexport type GetFunctionVisibility<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"functionVisibility\"];\n\nexport type GetFunctionProvenance<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"functionProvenance\"];\n\nexport type Name<FunctionSpec_ extends AnyWithProps> = FunctionSpec_[\"name\"];\n\nexport type MiddlewareSpecs<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_[\"middlewareSpecs\"][number];\n\n/**\n * The field map declared by a Confect-provenance spec.\n */\nexport type ArgsFields<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly \"~ArgsFields\": infer ArgsFields_ extends\n FunctionProvenance.ArgsFields;\n };\n }\n ? ArgsFields_\n : FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? FunctionProvenance.ArgsFields\n : never;\n\n/**\n * The args schema assembled from a Confect-provenance spec's field map.\n */\nexport type ArgsSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly \"~ArgsFields\": infer ArgsFields_ extends\n FunctionProvenance.ArgsFields;\n };\n }\n ? Schema.Struct<ArgsFields_>\n : FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly args: infer ArgsSchema_ extends\n FunctionProvenance.AnyArgsSchema;\n };\n }\n ? ArgsSchema_\n : never;\n\nexport type ReturnsSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly returns: infer ReturnsSchema_ extends Schema.Codec<any, any>;\n };\n }\n ? ReturnsSchema_\n : never;\n\nexport type ErrorSchema<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: {\n readonly _tag: \"Confect\";\n readonly error?: infer ErrorSchema_;\n };\n }\n ? Extract<ErrorSchema_, Schema.Codec<any, any>>\n : never;\n\nexport type Args<FunctionSpec_ extends AnyWithProps> = FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n}\n ? ArgsSchema<FunctionSpec_>[\"Type\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n infer Args_,\n any\n >\n ? Args_\n : never;\n\nexport type Returns<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ReturnsSchema<FunctionSpec_>[\"Type\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n any,\n infer Returns_\n >\n ? Awaited<Returns_>\n : never;\n\nexport type EncodedArgs<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ArgsSchema<FunctionSpec_>[\"Encoded\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n infer Args_,\n any\n >\n ? Args_\n : never;\n\nexport type EncodedReturns<FunctionSpec_ extends AnyWithProps> =\n FunctionSpec_ extends {\n readonly functionProvenance: { readonly _tag: \"Confect\" };\n }\n ? ReturnsSchema<FunctionSpec_>[\"Encoded\"]\n : GetFunctionProvenance<FunctionSpec_> extends FunctionProvenance.Convex<\n any,\n infer Returns_\n >\n ? Returns_\n : never;\n\nexport type Error<FunctionSpec_ extends AnyWithProps> =\n ErrorSchema<FunctionSpec_>[\"Type\"];\n\nexport type EncodedError<FunctionSpec_ extends AnyWithProps> =\n ErrorSchema<FunctionSpec_>[\"Encoded\"];\n\nexport type WithName<\n FunctionSpec_ extends AnyWithProps,\n Name_ extends string,\n> = Extract<FunctionSpec_, { readonly name: Name_ }>;\n\nexport type WithRuntimeAndFunctionType<\n FunctionSpec_ extends AnyWithProps,\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n> = Extract<\n FunctionSpec_,\n { readonly runtimeAndFunctionType: RuntimeAndFunctionType_ }\n>;\n\nexport type WithFunctionType<\n FunctionSpec_ extends AnyWithProps,\n FunctionType_ extends FunctionType,\n> = Extract<\n FunctionSpec_,\n { readonly runtimeAndFunctionType: { readonly functionType: FunctionType_ } }\n>;\n\nexport type WithFunctionProvenance<\n FunctionSpec_ extends AnyWithProps,\n FunctionProvenance_ extends FunctionProvenance.FunctionProvenance,\n> = Extract<\n FunctionSpec_,\n { readonly functionProvenance: FunctionProvenance_ }\n>;\n\nexport type WithoutName<\n FunctionSpec_ extends AnyWithProps,\n Name_ extends Name<FunctionSpec_>,\n> = Exclude<FunctionSpec_, { readonly name: Name_ }>;\n\nconst Proto = {\n [TypeId]: TypeId,\n\n get middlewareSpecs() {\n return this.middlewareAttachments.map(({ spec }) => spec);\n },\n\n middleware(\n this: AnyWithProps,\n middlewareSpec: MiddlewareSpec.AnyMiddlewareSpec,\n ...options: ReadonlyArray<unknown>\n ) {\n if (this.functionProvenance._tag === \"Convex\") {\n throw new Error(\n `Plain Convex function \"${this.name}\" cannot have middleware`,\n );\n }\n const functionType = this.runtimeAndFunctionType.functionType;\n if (!middlewareSpec.functionTypes[functionType]) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" does not declare function type \"${functionType}\" of function \"${this.name}\"`,\n );\n }\n if (\n !(\"options\" in middlewareSpec) &&\n this.middlewareAttachments.some(\n ({ spec }) => spec.key === middlewareSpec.key,\n )\n ) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" is already attached to function \"${this.name}\"`,\n );\n }\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType: this.runtimeAndFunctionType,\n functionVisibility: this.functionVisibility,\n name: this.name,\n ...(\"description\" in this ? { description: this.description } : {}),\n ...(\"fields\" in this ? { fields: this.fields } : {}),\n functionProvenance: this.functionProvenance,\n middlewareAttachments: [\n ...this.middlewareAttachments,\n { spec: middlewareSpec, options: options[0] },\n ],\n });\n },\n} satisfies ThisType<AnyWithProps>;\n\ninterface Options {\n readonly description?: string;\n readonly name: string;\n readonly args?: () => FunctionProvenance.ArgsFields;\n readonly returns: () => Schema.Codec<any, any>;\n readonly error?: () => Schema.Codec<any, any>;\n}\n\nconst make = <\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n>(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n) => {\n function makeSpec<\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args: () => ArgsFields_;\n returns: () => Returns_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<ArgsFields_, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args?: never;\n returns: () => Returns_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<{}, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args: () => ArgsFields_;\n returns: () => Returns_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<ArgsFields_, Returns_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Returns_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args?: never;\n returns: () => Returns_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Confect<{}, Returns_, Error_>\n >;\n function makeSpec({ name, description, args, returns, error }: Options) {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n ...(description === undefined ? {} : { description }),\n functionProvenance:\n args === undefined\n ? FunctionProvenance.Confect(() => ({}), returns, error)\n : FunctionProvenance.Confect(args, returns, error),\n middlewareAttachments: [],\n });\n }\n\n return makeSpec;\n};\n\n/**\n * `Schema.Struct` fields that must not declare `paginationOpts`. Used to reject\n * a user args schema that redeclares the field the paginated constructors add\n * themselves; the check reports at the `args` thunk with an unsatisfiable type\n * when violated.\n */\ntype ForbidPaginationOpts<\n UserArgsFields extends FunctionProvenance.ArgsFields,\n> = \"paginationOpts\" extends keyof UserArgsFields\n ? { readonly paginationOpts: never }\n : unknown;\n\ninterface PaginatedOptions {\n readonly description?: string;\n readonly name: string;\n readonly args?: () => FunctionProvenance.ArgsFields;\n readonly item: () => Schema.Codec<any, any>;\n readonly error?: () => Schema.Codec<any, any>;\n}\n\nconst makePaginated = <\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n>(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n) => {\n function makeSpec<\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args: () => UserArgsFields_ & ForbidPaginationOpts<UserArgsFields_>;\n item: () => Item_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<UserArgsFields_, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: never;\n args?: never;\n item: () => Item_;\n error?: () => Error_;\n }): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<{}, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args: () => UserArgsFields_ & ForbidPaginationOpts<UserArgsFields_>;\n item: () => Item_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<UserArgsFields_, Item_, Error_>\n >;\n function makeSpec<\n const Name_ extends string,\n Item_ extends Schema.Codec<any, any>,\n Error_ extends Schema.Codec<any, any> = never,\n >(options: {\n name: Name_;\n description?: FunctionVisibility_ extends \"public\" ? string : never;\n args?: never;\n item: () => Item_;\n error?: () => Error_;\n }): DescribedBuilder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.ConfectPaginated<{}, Item_, Error_>\n >;\n function makeSpec({\n name,\n description,\n args,\n item,\n error,\n }: PaginatedOptions) {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n ...(description === undefined ? {} : { description }),\n functionProvenance:\n args === undefined\n ? FunctionProvenance.ConfectPaginated(() => ({}), item, error)\n : FunctionProvenance.ConfectPaginated(args, item, error),\n middlewareAttachments: [],\n });\n }\n\n return makeSpec;\n};\n\nexport const publicQuery = make(RuntimeAndFunctionType.ConvexQuery, \"public\");\nexport const internalQuery = make(\n RuntimeAndFunctionType.ConvexQuery,\n \"internal\",\n);\nexport const publicPaginatedQuery = makePaginated(\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n);\nexport const internalPaginatedQuery = makePaginated(\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\ntype OptionlessMiddlewareSpec = MiddlewareSpec.AnyMiddlewareSpec & {\n readonly \"~Options\": never;\n};\n\ntype BuilderOption =\n | \"name\"\n | \"description\"\n | \"args\"\n | \"returns\"\n | \"item\"\n | \"error\";\n\n/**\n * Refuses fields named after a builder option, which the builder would read as\n * that option. The conditional keeps the mapped type out of a builder call's\n * inference, which would otherwise widen the function's name to `string` when\n * reporting the error.\n */\ntype OptionFree<Type> = [keyof Type & BuilderOption] extends [never]\n ? unknown\n : { readonly [Option in keyof Type & BuilderOption]: never };\n\n/**\n * A function's fields, checked once applied, since a profile's field type can\n * branch on the function's name.\n */\ntype CheckedFields<Type> = Type & OptionFree<Type>;\n\ntype NotRepeated<\n Middleware_,\n Inherited extends MiddlewareSpec.AnyMiddlewareSpec,\n> = Middleware_ extends {\n readonly key: infer Key extends MiddlewareSpec.Key<Inherited>;\n}\n ? MiddlewareSpec.AttachmentError<`Middleware \"${Key}\" is already attached by this profile`>\n : Middleware_;\n\n/**\n * Refuses a middleware without options that an earlier layer attached, as it is\n * attached at most once; one with options may repeat. Each member of an\n * element's union is checked, so an array typed `(A | B)[]` is refused when\n * either was attached.\n */\ntype NotInherited<\n Middleware_ extends ReadonlyArray<unknown>,\n Inherited extends MiddlewareSpec.AnyMiddlewareSpec,\n> = {\n readonly [Index in keyof Middleware_]: NotRepeated<\n Middleware_[Index],\n Inherited\n >;\n};\n\n/**\n * A profile's middleware: a spec without options, or an attachment.\n */\ntype ProfileMiddleware<FieldsType> =\n | OptionlessMiddlewareSpec\n | Profile.Attachment<MiddlewareSpec.AnyMiddlewareSpec, FieldsType>;\n\ntype SpecOf<Middleware_> =\n Middleware_ extends Profile.Attachment<infer MiddlewareSpec_, any>\n ? MiddlewareSpec_\n : Extract<Middleware_, MiddlewareSpec.AnyMiddlewareSpec>;\n\n/**\n * `never` when a profile middleware does not declare the function type.\n */\ntype Declared<\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n FunctionType_ extends FunctionType,\n Make,\n> = [\n MiddlewareSpecs_ extends unknown\n ? FunctionType_ extends MiddlewareSpec.FunctionTypes<MiddlewareSpecs_>\n ? never\n : MiddlewareSpecs_\n : never,\n] extends [never]\n ? Make\n : never;\n\ntype Wrapped<\n Layers extends ReadonlyArray<Profile.Transforms>,\n Key extends keyof Profile.Transforms,\n Input,\n> = Layers extends readonly [\n infer First extends Profile.Transforms,\n ...infer Rest extends ReadonlyArray<Profile.Transforms>,\n]\n ? Wrapped<\n Rest,\n Key,\n Key extends keyof First\n ? [Input] extends [never]\n ? Key extends \"error\"\n ? Profile.Transform<First[Key], typeof Schema.Never>\n : never\n : Profile.Transform<First[Key], Input>\n : Input\n >\n : Input;\n\ntype UserArgs<A> = [A] extends [never] ? {} : A;\n\ntype ExtendedMake<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms>,\n> = Declared<\n MiddlewareSpecs_,\n RuntimeAndFunctionType_[\"functionType\"],\n <\n const Name_ extends string,\n const ArgsFields_ extends FunctionProvenance.ArgsFields = never,\n Returns_ extends Schema.Codec<any, any> = never,\n Error_ extends Schema.Codec<any, any> = never,\n >(\n options: {\n readonly name: Name_;\n readonly description?: string;\n readonly args?: () => ArgsFields_;\n readonly returns: () => Returns_;\n readonly error?: () => Error_;\n } & NoInfer<\n CheckedFields<Profile.Apply<Fields_, Name_, UserArgs<ArgsFields_>>>\n >,\n ) => ExtendedBuilder<\n RuntimeAndFunctionType_,\n \"public\",\n Name_,\n FunctionProvenance.Confect<\n UserArgs<Wrapped<Layers, \"args\", ArgsFields_>>,\n Wrapped<Layers, \"returns\", Returns_>,\n Wrapped<Layers, \"error\", Error_>\n >,\n MiddlewareSpecs_,\n Profile.Apply<Fields_, Name_, UserArgs<ArgsFields_>>\n >\n>;\n\ntype ExtendedMakePaginated<\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms>,\n> = Declared<\n MiddlewareSpecs_,\n \"query\",\n <\n const Name_ extends string,\n const UserArgsFields_ extends FunctionProvenance.ArgsFields = never,\n Item_ extends Schema.Codec<any, any> = never,\n Error_ extends Schema.Codec<any, any> = never,\n >(\n options: {\n readonly name: Name_;\n readonly description?: string;\n readonly args?: () => UserArgsFields_ &\n ForbidPaginationOpts<UserArgsFields_>;\n readonly item: () => Item_;\n readonly error?: () => Error_;\n } & NoInfer<\n CheckedFields<Profile.Apply<Fields_, Name_, UserArgs<UserArgsFields_>>>\n >,\n ) => ExtendedBuilder<\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n Name_,\n FunctionProvenance.ConfectPaginated<\n UserArgs<Wrapped<Layers, \"args\", UserArgsFields_>>,\n Wrapped<Layers, \"item\", Item_>,\n Wrapped<Layers, \"error\", Error_>\n >,\n MiddlewareSpecs_,\n Profile.Apply<Fields_, Name_, UserArgs<UserArgsFields_>>\n >\n>;\n\ninterface ExtendedRuntimes {\n readonly publicQuery: RuntimeAndFunctionType.ConvexQuery;\n readonly publicMutation: RuntimeAndFunctionType.ConvexMutation;\n readonly publicAction: RuntimeAndFunctionType.ConvexAction;\n readonly publicNodeAction: RuntimeAndFunctionType.NodeAction;\n}\n\n/**\n * A profile's five public builders and its own `extend`.\n */\nexport type Extended<\n Fields_ extends Profile.Fields,\n MiddlewareSpecs_ extends MiddlewareSpec.AnyMiddlewareSpec,\n Layers extends ReadonlyArray<Profile.Transforms> = [],\n> = {\n readonly [Builder_ in keyof ExtendedRuntimes]: ExtendedMake<\n ExtendedRuntimes[Builder_],\n Fields_,\n MiddlewareSpecs_,\n Layers\n >;\n} & {\n readonly publicPaginatedQuery: ExtendedMakePaginated<\n Fields_,\n MiddlewareSpecs_,\n Layers\n >;\n /**\n * Require more fields and attach more middleware after this profile's.\n */\n extend<\n Extension extends Profile.Fields = Profile.NoFields,\n Transforms extends Profile.Transforms = {},\n >(): <\n const Middleware_ extends ReadonlyArray<\n ProfileMiddleware<\n Profile.Apply<Profile.Both<Fields_, Extension>, string, any>\n >\n >,\n >(\n config: {\n readonly middleware: Middleware_ &\n NotInherited<Middleware_, MiddlewareSpecs_>;\n } & OptionFree<Extension[\"Type\"]> &\n Profile.SchemaConfig<\n Transforms,\n Profile.Apply<Profile.Both<Fields_, Extension>, string, any>\n >,\n ) => Extended<\n Profile.Both<Fields_, Extension>,\n MiddlewareSpecs_ | SpecOf<Middleware_[number]>,\n [...Layers, Transforms]\n >;\n};\n\ntype RuntimeWrappers = Partial<\n Record<\n keyof Profile.Transforms,\n (thunk: () => any, info: Profile.Info<any>) => () => any\n >\n>;\n\nconst makeExtended = (\n middleware: ReadonlyArray<ProfileMiddleware<any>>,\n schemas: ReadonlyArray<RuntimeWrappers> = [],\n): Extended<any, any> => {\n // `OptionFree` keeps option names out of the fields; this split is the\n // runtime's fallback.\n const extended =\n (makeSpec: (options: never) => object, paginated = false): any =>\n ({\n name,\n description,\n args,\n returns,\n item,\n error,\n ...fields\n }: Record<string, unknown>) => {\n const info = {\n name,\n ...(description === undefined ? {} : { description }),\n args: args ?? (() => ({})),\n fields,\n } as Profile.Info<unknown>;\n const thunks = {\n args,\n returns: paginated ? undefined : returns,\n item: paginated ? item : undefined,\n error,\n } as Partial<Record<keyof Profile.Transforms, () => any>>;\n for (const wrappers of schemas) {\n for (const key of [\"args\", \"returns\", \"item\", \"error\"] as const) {\n const wrap = wrappers[key];\n const thunk =\n thunks[key] ?? (key === \"error\" ? () => Schema.Never : undefined);\n if (wrap !== undefined && thunk !== undefined) {\n thunks[key] = () => wrap(thunk, info)();\n }\n }\n }\n return middleware.reduce(\n (spec: any, entry) =>\n MiddlewareSpec.isMiddlewareSpec(entry)\n ? spec.middleware(entry)\n : spec.middleware(entry.spec, entry.options(info)),\n Object.assign(makeSpec({ name, description, ...thunks } as never), {\n fields,\n }),\n );\n };\n\n return {\n publicQuery: extended(publicQuery),\n publicMutation: extended(publicMutation),\n publicAction: extended(publicAction),\n publicNodeAction: extended(publicNodeAction),\n publicPaginatedQuery: extended(publicPaginatedQuery, true),\n extend:\n () =>\n (config: {\n middleware: ReadonlyArray<ProfileMiddleware<any>>;\n schemas?: RuntimeWrappers;\n }) =>\n makeExtended(\n [...middleware, ...config.middleware],\n [...schemas, config.schemas ?? {}],\n ),\n };\n};\n\n/**\n * Public builders whose specs require and keep `Fields_`, with `middleware`.\n */\nexport const extend =\n <\n Fields_ extends Profile.Fields = Profile.NoFields,\n Transforms extends Profile.Transforms = {},\n >() =>\n <\n const Middleware_ extends ReadonlyArray<\n ProfileMiddleware<Profile.Apply<Fields_, string, any>>\n >,\n >(\n config: {\n readonly middleware: Middleware_;\n } & OptionFree<Fields_[\"Type\"]> &\n Profile.SchemaConfig<Transforms, Profile.Apply<Fields_, string, any>>,\n ) =>\n makeExtended(config.middleware, [config.schemas ?? {}]) as Extended<\n Fields_,\n SpecOf<Middleware_[number]>,\n [Transforms]\n >;\n\ntype MatchingRegisteredFunction<\n RuntimeAndFunctionType_ extends RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n> =\n RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"query\"\n ? RegisteredQuery<FunctionVisibility_, any, any>\n : RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"mutation\"\n ? RegisteredMutation<FunctionVisibility_, any, any>\n : RuntimeAndFunctionType.GetFunctionType<RuntimeAndFunctionType_> extends \"action\"\n ? RegisteredAction<FunctionVisibility_, any, any>\n : never;\n\ntype ExtractArgs<F> =\n F extends RegisteredQuery<any, infer A extends DefaultFunctionArgs, any>\n ? A\n : F extends RegisteredMutation<\n any,\n infer A extends DefaultFunctionArgs,\n any\n >\n ? A\n : F extends RegisteredAction<\n any,\n infer A extends DefaultFunctionArgs,\n any\n >\n ? A\n : never;\n\ntype ExtractReturns<F> =\n F extends RegisteredQuery<any, any, infer R>\n ? R\n : F extends RegisteredMutation<any, any, infer R>\n ? R\n : F extends RegisteredAction<any, any, infer R>\n ? R\n : never;\n\nconst makeConvex =\n <\n RuntimeAndFunctionType_ extends\n RuntimeAndFunctionType.RuntimeAndFunctionType,\n FunctionVisibility_ extends FunctionVisibility,\n >(\n runtimeAndFunctionType: RuntimeAndFunctionType_,\n functionVisibility: FunctionVisibility_,\n ) =>\n <\n F extends MatchingRegisteredFunction<\n RuntimeAndFunctionType_,\n FunctionVisibility_\n >,\n >() =>\n <const Name_ extends string>(\n name: Name_,\n ): Builder<\n RuntimeAndFunctionType_,\n FunctionVisibility_,\n Name_,\n FunctionProvenance.Convex<ExtractArgs<F>, ExtractReturns<F>>\n > => {\n validateConfectFunctionIdentifier(name);\n\n return Object.assign(Object.create(Proto), {\n runtimeAndFunctionType,\n functionVisibility,\n name,\n functionProvenance: FunctionProvenance.Convex<\n ExtractArgs<F>,\n ExtractReturns<F>\n >(),\n middlewareAttachments: [],\n }) as any;\n };\n\nexport const convexPublicQuery = makeConvex(\n RuntimeAndFunctionType.ConvexQuery,\n \"public\",\n);\nexport const convexInternalQuery = makeConvex(\n RuntimeAndFunctionType.ConvexQuery,\n \"internal\",\n);\nexport const convexPublicMutation = makeConvex(\n RuntimeAndFunctionType.ConvexMutation,\n \"public\",\n);\nexport const convexInternalMutation = makeConvex(\n RuntimeAndFunctionType.ConvexMutation,\n \"internal\",\n);\nexport const convexPublicAction = makeConvex(\n RuntimeAndFunctionType.ConvexAction,\n \"public\",\n);\nexport const convexInternalAction = makeConvex(\n RuntimeAndFunctionType.ConvexAction,\n \"internal\",\n);\nexport const convexPublicNodeAction = makeConvex(\n RuntimeAndFunctionType.NodeAction,\n \"public\",\n);\nexport const convexInternalNodeAction = makeConvex(\n RuntimeAndFunctionType.NodeAction,\n \"internal\",\n);\n"],"mappings":"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"}
|
package/dist/Profile.d.ts
CHANGED
|
@@ -26,10 +26,11 @@ export interface Both<Base extends Fields, Extension extends Fields> extends Fie
|
|
|
26
26
|
readonly Type: Apply<Base, this["Name"], this["Args"]> & Apply<Extension, this["Name"], this["Args"]>;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* What
|
|
29
|
+
* What a profile callback sees. `args` stays a thunk.
|
|
30
30
|
*/
|
|
31
31
|
export interface Info<FieldsType> {
|
|
32
32
|
readonly name: string;
|
|
33
|
+
readonly description?: string;
|
|
33
34
|
readonly args: () => FunctionProvenance.ArgsFields;
|
|
34
35
|
readonly fields: FieldsType;
|
|
35
36
|
}
|
|
@@ -72,17 +73,23 @@ export interface Transforms {
|
|
|
72
73
|
export type Transform<T, Input> = (T & {
|
|
73
74
|
readonly Input: Input;
|
|
74
75
|
})["Type" & keyof T];
|
|
76
|
+
/**
|
|
77
|
+
* Error wrappers opt into Schema.Never when no error thunk was declared.
|
|
78
|
+
*/
|
|
75
79
|
export type Wrappers<T extends Transforms, FieldsType> = {
|
|
76
80
|
readonly [K in keyof T]-?: K extends keyof Transforms ? <Input extends (K extends "args" ? FunctionProvenance.ArgsFields : Schema.Codec<any, any>)>(thunk: () => Input, info: Info<FieldsType>) => () => Transform<T[K], Input> : never;
|
|
77
81
|
} & {
|
|
78
82
|
readonly [K in Exclude<keyof Transforms, keyof T>]?: never;
|
|
79
83
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
] ?
|
|
84
|
+
type NonemptyError<T extends Transforms> = T extends {
|
|
85
|
+
readonly error: infer E extends SchemaTransform;
|
|
86
|
+
} ? [Transform<E, typeof Schema.Never>["Type"]] extends [never] ? MiddlewareSpec.AttachmentError<"Profile error wrapper must add an error to Schema.Never"> : unknown : unknown;
|
|
87
|
+
export type SchemaConfig<T extends Transforms, FieldsType> = ([
|
|
88
|
+
keyof T
|
|
89
|
+
] extends [never] ? {
|
|
83
90
|
readonly schemas?: never;
|
|
84
91
|
} : {
|
|
85
92
|
readonly schemas: Wrappers<T, FieldsType>;
|
|
86
|
-
}
|
|
93
|
+
}) & NonemptyError<T>;
|
|
87
94
|
export {};
|
|
88
95
|
//# sourceMappingURL=Profile.d.ts.map
|
package/dist/Profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../src/Profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Profile.d.ts","sourceRoot":"","sources":["../src/Profile.ts"],"names":[],"mappings":"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"}
|
package/dist/Profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","names":[],"sources":["../src/Profile.ts"],"sourcesContent":["import type * as Schema from \"effect/Schema\";\nimport type * as FunctionProvenance from \"./FunctionProvenance.js\";\nimport type * as MiddlewareSpec from \"./MiddlewareSpec.js\";\n\n/**\n * A type-level function from a function's name and args fields to the fields a\n * profile's builders require. Read `this[\"Name\"]` and `this[\"Args\"]` directly\n * in `Type`, passing them to a type alias; a nested object type cannot name\n * `this`.\n */\nexport interface Fields {\n readonly Name: string;\n // `unknown`, not `ArgsFields`: an index signature here would leak into\n // `keyof this[\"Args\"]`.\n readonly Args: unknown;\n readonly Type: object;\n}\n\nexport interface NoFields extends Fields {\n readonly Type: {};\n}\n\nexport type Apply<\n Fields_ extends Fields,\n Name_ extends string,\n Args_,\n> = (Fields_ & { readonly Name: Name_; readonly Args: Args_ })[\"Type\"];\n\n/**\n * A base profile's fields and its extension's, for one function.\n */\nexport interface Both<\n Base extends Fields,\n Extension extends Fields,\n> extends Fields {\n readonly Type: Apply<Base, this[\"Name\"], this[\"Args\"]> &\n Apply<Extension, this[\"Name\"], this[\"Args\"]>;\n}\n\n/**\n * What
|
|
1
|
+
{"version":3,"file":"Profile.js","names":[],"sources":["../src/Profile.ts"],"sourcesContent":["import type * as Schema from \"effect/Schema\";\nimport type * as FunctionProvenance from \"./FunctionProvenance.js\";\nimport type * as MiddlewareSpec from \"./MiddlewareSpec.js\";\n\n/**\n * A type-level function from a function's name and args fields to the fields a\n * profile's builders require. Read `this[\"Name\"]` and `this[\"Args\"]` directly\n * in `Type`, passing them to a type alias; a nested object type cannot name\n * `this`.\n */\nexport interface Fields {\n readonly Name: string;\n // `unknown`, not `ArgsFields`: an index signature here would leak into\n // `keyof this[\"Args\"]`.\n readonly Args: unknown;\n readonly Type: object;\n}\n\nexport interface NoFields extends Fields {\n readonly Type: {};\n}\n\nexport type Apply<\n Fields_ extends Fields,\n Name_ extends string,\n Args_,\n> = (Fields_ & { readonly Name: Name_; readonly Args: Args_ })[\"Type\"];\n\n/**\n * A base profile's fields and its extension's, for one function.\n */\nexport interface Both<\n Base extends Fields,\n Extension extends Fields,\n> extends Fields {\n readonly Type: Apply<Base, this[\"Name\"], this[\"Args\"]> &\n Apply<Extension, this[\"Name\"], this[\"Args\"]>;\n}\n\n/**\n * What a profile callback sees. `args` stays a thunk.\n */\nexport interface Info<FieldsType> {\n readonly name: string;\n readonly description?: string;\n readonly args: () => FunctionProvenance.ArgsFields;\n readonly fields: FieldsType;\n}\n\nexport interface Attachment<\n MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec,\n FieldsType,\n> {\n readonly spec: MiddlewareSpec_;\n readonly options: (\n info: Info<FieldsType>,\n ) => MiddlewareSpec.Options<MiddlewareSpec_>;\n}\n\n/**\n * A middleware without options has none to compute and is attached at most\n * once, so it joins a profile's list directly.\n */\ntype TakesOptions<MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec> = [\n MiddlewareSpec.WithoutOptions<MiddlewareSpec_>,\n] extends [never]\n ? unknown\n : MiddlewareSpec.AttachmentError<`Middleware \"${MiddlewareSpec.Key<MiddlewareSpec_>}\" takes no options, so list it without Profile.attach`>;\n\n/**\n * Attach a middleware that takes options to every function a profile builds,\n * with options computed from each function's fields.\n */\nexport const attach = <\n MiddlewareSpec_ extends MiddlewareSpec.AnyMiddlewareSpec,\n FieldsType,\n>(\n spec: MiddlewareSpec_ & TakesOptions<MiddlewareSpec_>,\n options: (\n info: Info<FieldsType>,\n ) => MiddlewareSpec.Options<NoInfer<MiddlewareSpec_>>,\n): Attachment<MiddlewareSpec_, FieldsType> => ({ spec, options });\n\n/**\n * A type function for a schema wrapper, applied to each declared codec.\n */\nexport interface SchemaTransform {\n readonly Input: Schema.Codec<unknown, unknown>;\n readonly Type: Schema.Codec<any, any>;\n}\n\n/**\n * Args wrappers transform the declared field map, before Struct composition.\n */\nexport interface ArgsTransform {\n readonly Input: unknown;\n readonly Type: FunctionProvenance.ArgsFields;\n}\n\nexport interface Transforms {\n readonly args?: ArgsTransform;\n readonly returns?: SchemaTransform;\n readonly item?: SchemaTransform;\n readonly error?: SchemaTransform;\n}\n\nexport type Transform<T, Input> = (T & { readonly Input: Input })[\"Type\" &\n keyof T];\n\n/**\n * Error wrappers opt into Schema.Never when no error thunk was declared.\n */\nexport type Wrappers<T extends Transforms, FieldsType> = {\n readonly [K in keyof T]-?: K extends keyof Transforms\n ? <\n Input extends (K extends \"args\"\n ? FunctionProvenance.ArgsFields\n : Schema.Codec<any, any>),\n >(\n thunk: () => Input,\n info: Info<FieldsType>,\n ) => () => Transform<T[K], Input>\n : never;\n} & { readonly [K in Exclude<keyof Transforms, keyof T>]?: never };\n\ntype NonemptyError<T extends Transforms> = T extends {\n readonly error: infer E extends SchemaTransform;\n}\n ? [Transform<E, typeof Schema.Never>[\"Type\"]] extends [never]\n ? MiddlewareSpec.AttachmentError<\"Profile error wrapper must add an error to Schema.Never\">\n : unknown\n : unknown;\n\nexport type SchemaConfig<T extends Transforms, FieldsType> = ([\n keyof T,\n] extends [never]\n ? { readonly schemas?: never }\n : { readonly schemas: Wrappers<T, FieldsType> }) &\n NonemptyError<T>;\n"],"mappings":";;;;;;;AAyEA,MAAa,UAIX,MACA,aAG6C;CAAE;CAAM;AAAQ"}
|
package/package.json
CHANGED
package/src/FunctionSpec.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
RegisteredMutation,
|
|
8
8
|
RegisteredQuery,
|
|
9
9
|
} from "convex/server";
|
|
10
|
-
import
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
11
|
import * as Predicate from "effect/Predicate";
|
|
12
12
|
import * as FunctionProvenance from "./FunctionProvenance.js";
|
|
13
13
|
import { validateConfectFunctionIdentifier } from "./Identifier.js";
|
|
@@ -762,7 +762,9 @@ type Wrapped<
|
|
|
762
762
|
Key,
|
|
763
763
|
Key extends keyof First
|
|
764
764
|
? [Input] extends [never]
|
|
765
|
-
?
|
|
765
|
+
? Key extends "error"
|
|
766
|
+
? Profile.Transform<First[Key], typeof Schema.Never>
|
|
767
|
+
: never
|
|
766
768
|
: Profile.Transform<First[Key], Input>
|
|
767
769
|
: Input
|
|
768
770
|
>
|
|
@@ -925,6 +927,7 @@ const makeExtended = (
|
|
|
925
927
|
}: Record<string, unknown>) => {
|
|
926
928
|
const info = {
|
|
927
929
|
name,
|
|
930
|
+
...(description === undefined ? {} : { description }),
|
|
928
931
|
args: args ?? (() => ({})),
|
|
929
932
|
fields,
|
|
930
933
|
} as Profile.Info<unknown>;
|
|
@@ -937,7 +940,8 @@ const makeExtended = (
|
|
|
937
940
|
for (const wrappers of schemas) {
|
|
938
941
|
for (const key of ["args", "returns", "item", "error"] as const) {
|
|
939
942
|
const wrap = wrappers[key];
|
|
940
|
-
const thunk =
|
|
943
|
+
const thunk =
|
|
944
|
+
thunks[key] ?? (key === "error" ? () => Schema.Never : undefined);
|
|
941
945
|
if (wrap !== undefined && thunk !== undefined) {
|
|
942
946
|
thunks[key] = () => wrap(thunk, info)();
|
|
943
947
|
}
|
package/src/Profile.ts
CHANGED
|
@@ -38,10 +38,11 @@ export interface Both<
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* What
|
|
41
|
+
* What a profile callback sees. `args` stays a thunk.
|
|
42
42
|
*/
|
|
43
43
|
export interface Info<FieldsType> {
|
|
44
44
|
readonly name: string;
|
|
45
|
+
readonly description?: string;
|
|
45
46
|
readonly args: () => FunctionProvenance.ArgsFields;
|
|
46
47
|
readonly fields: FieldsType;
|
|
47
48
|
}
|
|
@@ -106,6 +107,9 @@ export interface Transforms {
|
|
|
106
107
|
export type Transform<T, Input> = (T & { readonly Input: Input })["Type" &
|
|
107
108
|
keyof T];
|
|
108
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Error wrappers opt into Schema.Never when no error thunk was declared.
|
|
112
|
+
*/
|
|
109
113
|
export type Wrappers<T extends Transforms, FieldsType> = {
|
|
110
114
|
readonly [K in keyof T]-?: K extends keyof Transforms
|
|
111
115
|
? <
|
|
@@ -119,8 +123,17 @@ export type Wrappers<T extends Transforms, FieldsType> = {
|
|
|
119
123
|
: never;
|
|
120
124
|
} & { readonly [K in Exclude<keyof Transforms, keyof T>]?: never };
|
|
121
125
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
type NonemptyError<T extends Transforms> = T extends {
|
|
127
|
+
readonly error: infer E extends SchemaTransform;
|
|
128
|
+
}
|
|
129
|
+
? [Transform<E, typeof Schema.Never>["Type"]] extends [never]
|
|
130
|
+
? MiddlewareSpec.AttachmentError<"Profile error wrapper must add an error to Schema.Never">
|
|
131
|
+
: unknown
|
|
132
|
+
: unknown;
|
|
133
|
+
|
|
134
|
+
export type SchemaConfig<T extends Transforms, FieldsType> = ([
|
|
135
|
+
keyof T,
|
|
136
|
+
] extends [never]
|
|
125
137
|
? { readonly schemas?: never }
|
|
126
|
-
: { readonly schemas: Wrappers<T, FieldsType> }
|
|
138
|
+
: { readonly schemas: Wrappers<T, FieldsType> }) &
|
|
139
|
+
NonemptyError<T>;
|