diff --git a/src/type/module/compute.ts b/src/type/module/compute.ts index d694c8a8..28666559 100644 --- a/src/type/module/compute.ts +++ b/src/type/module/compute.ts @@ -77,11 +77,11 @@ import * as KindGuard from '../guard/kind' // // ------------------------------------------------------------------ // prettier-ignore -type TDereferenceParamters = ( +type TDereferenceParameters = ( Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TRef - ? TDereferenceParamters]> - : TDereferenceParamters]> + ? TDereferenceParameters]> + : TDereferenceParameters]> : Result ) // prettier-ignore @@ -207,7 +207,7 @@ function FromRequired(parameters: Parameters): TFr // ------------------------------------------------------------------ // prettier-ignore type TFromComputed + Dereferenced extends TSchema[] = TDereferenceParameters > = ( Target extends 'Awaited' ? TFromAwaited : Target extends 'Index' ? TFromIndex : @@ -345,6 +345,21 @@ function FromRecord( return result as never } // ------------------------------------------------------------------ +// Transform +// ------------------------------------------------------------------ +// prettier-ignore +type TFromTransform + ? TTransform, Output> + : TTransform +> = Result +// prettier-ignore +function FromTransform(moduleProperties: ModuleProperties, transform: Transform): TSchema { + return (KindGuard.IsRef(transform)) + ? { ...Dereference(moduleProperties, transform.$ref), [TransformKind]: transform[TransformKind] } + : transform +} +// ------------------------------------------------------------------ // Tuple // ------------------------------------------------------------------ // prettier-ignore @@ -365,7 +380,7 @@ function FromUnion = ( @@ -377,21 +392,6 @@ function FromTypes FromType(moduleProperties, type)) as never } // ------------------------------------------------------------------ -// Transform -// ------------------------------------------------------------------ -// prettier-ignore -type TFromTransform - ? TTransform, Output> - : TTransform -> = Result -// prettier-ignore -function FromTransform(moduleProperties: ModuleProperties, transform: Transform): TSchema { - return (KindGuard.IsRef(transform)) - ? { ...Dereference(moduleProperties, transform.$ref), [TransformKind]: transform[TransformKind] } - : transform -} -// ------------------------------------------------------------------ // Type // ------------------------------------------------------------------ // prettier-ignore