Init: RoggioApp Architecture, Prisma Schema, API MVP
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* @since 2.0.0
|
||||
*/
|
||||
import type * as Types from "./Types.js"
|
||||
|
||||
/**
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export declare const URI: unique symbol
|
||||
|
||||
/**
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export interface TypeClass<F extends TypeLambda> {
|
||||
readonly [URI]?: F
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export interface TypeLambda {
|
||||
readonly In: unknown
|
||||
readonly Out2: unknown
|
||||
readonly Out1: unknown
|
||||
readonly Target: unknown
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 2.0.0
|
||||
*/
|
||||
export type Kind<F extends TypeLambda, In, Out2, Out1, Target> = F extends {
|
||||
readonly type: unknown
|
||||
} ? (F & {
|
||||
readonly In: In
|
||||
readonly Out2: Out2
|
||||
readonly Out1: Out1
|
||||
readonly Target: Target
|
||||
})["type"]
|
||||
: {
|
||||
readonly F: F
|
||||
readonly In: Types.Contravariant<In>
|
||||
readonly Out2: Types.Covariant<Out2>
|
||||
readonly Out1: Types.Covariant<Out1>
|
||||
readonly Target: Types.Invariant<Target>
|
||||
}
|
||||
Reference in New Issue
Block a user