From b2c61867beab6c29d2c44a9c8b10eb47eb579efe Mon Sep 17 00:00:00 2001 From: Arthur Fiorette Date: Fri, 11 Oct 2024 16:44:07 -0300 Subject: [PATCH] another expect statement --- prisma-old/generated/a.ts | 5 ++++ prisma-old/generated/types copy.ts | 19 +++++++++++++ prisma-old/generated/types.ts | 32 ++++++++++++++++++++++ prisma-old/schema.prisma | 43 ++++++++++++++++++++++++++++++ src/__test__/e2e.test.ts | 3 +++ 5 files changed, 102 insertions(+) create mode 100644 prisma-old/generated/a.ts create mode 100644 prisma-old/generated/types copy.ts create mode 100644 prisma-old/generated/types.ts create mode 100644 prisma-old/schema.prisma diff --git a/prisma-old/generated/a.ts b/prisma-old/generated/a.ts new file mode 100644 index 0000000..d1d9fec --- /dev/null +++ b/prisma-old/generated/a.ts @@ -0,0 +1,5 @@ +import {type a,b} from './types' + +type asd= a.TestUser + +const c = b.C \ No newline at end of file diff --git a/prisma-old/generated/types copy.ts b/prisma-old/generated/types copy.ts new file mode 100644 index 0000000..60ac2e5 --- /dev/null +++ b/prisma-old/generated/types copy.ts @@ -0,0 +1,19 @@ +import type { ColumnType } from "kysely"; + +export type Generated = T extends ColumnType + ? ColumnType + : ColumnType; +export type Timestamp = ColumnType; + +export type Eagle = { + id: number; + name: string; +}; +export type Elephant = { + id: number; + name: string; +}; +export type DB = { + "birds.eagles": Eagle; + "mammals.elephants": Elephant; +}; diff --git a/prisma-old/generated/types.ts b/prisma-old/generated/types.ts new file mode 100644 index 0000000..a5f9e43 --- /dev/null +++ b/prisma-old/generated/types.ts @@ -0,0 +1,32 @@ +import type { ColumnType } from "kysely"; + +export type Generated = T extends ColumnType + ? ColumnType + : ColumnType; +export type Timestamp = ColumnType; + +export const Ability = { + FLY: "FLY", + WALK: "WALK", +} as const; +export type Ability = (typeof Ability)[keyof typeof Ability]; +export const Color = { + GRAY: "GRAY", + PINK: "PINK", +} as const; +export type Color = (typeof Color)[keyof typeof Color]; +export type Eagle = { + id: number; + name: string; + ability: Generated; +}; +export type Elephant = { + id: number; + name: string; + ability: Generated; + color: Color; +}; +export type DB = { + "birds.eagles": Eagle; + "mammals.elephants": Elephant; +}; diff --git a/prisma-old/schema.prisma b/prisma-old/schema.prisma new file mode 100644 index 0000000..f13464b --- /dev/null +++ b/prisma-old/schema.prisma @@ -0,0 +1,43 @@ +generator kysely { + provider = "node ./dist/bin.js" + previewFeatures = ["multiSchema"] +} + +datasource db { + provider = "postgresql" + schemas = ["mammals", "birds", "world"] + url = env("TEST_DATABASE_URL") +} + +model Elephant { + id Int @id + name String + ability Ability @default(WALK) + color Color + + @@map("elephants") + @@schema("mammals") +} + +model Eagle { + id Int @id + name String + ability Ability @default(FLY) + + @@map("eagles") + @@schema("birds") +} + +enum Ability { + FLY + WALK + + @@schema("world") +} + +enum Color { + GRAY + PINK + + @@schema("mammals") +} diff --git a/src/__test__/e2e.test.ts b/src/__test__/e2e.test.ts index 0fd12fc..6d3477a 100644 --- a/src/__test__/e2e.test.ts +++ b/src/__test__/e2e.test.ts @@ -351,6 +351,9 @@ enum Color { expect(typeFile).toContain(`export namespace Mammals { export const Color = {`); + // correctly references the color enum + expect(typeFile).toContain("color: Mammals.Color;"); + expect(typeFile).toContain(`export type DB = { "birds.eagles": Birds.Eagle; "mammals.elephants": Mammals.Elephant;