diff --git a/packages/effect-fc/src/types/Schema.ts b/packages/effect-fc/src/types/Schema.ts deleted file mode 100644 index 65ad399..0000000 --- a/packages/effect-fc/src/types/Schema.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Array, Function, Option, Predicate, Schema } from "effect" -import type { Simplify } from "effect/Types" - - -export type SchemaFromPath = S extends Schema.Schema.Any - ? P extends [infer Head, ...infer Tail] - ? Head extends keyof S["Type"] - ? ( - S extends Schema.TupleType ? ( - Head extends keyof Elements ? SchemaFromPath : - Head extends keyof Rest ? SchemaFromPath : - never - ) : - S extends Schema.Array$ ? SchemaFromPath : - S extends Schema.Struct ? SchemaFromPath : - never - ) - : never - : S - : never - -const TestSchema = Schema.Struct({ - allUsers: Schema.Array(Schema.Struct({ - name: Schema.String - })), - - admins: Schema.Tuple( - Schema.Struct({ - name: Schema.Literal("Gneugneu") - }), - Schema.Struct({ - name: Schema.Literal("AAAAYA") - }), - ), -}) -type S = SchemaFromPath -type T = number extends keyof typeof TestSchema.fields.admins.elements ? true : false