Buckets:
ktongue/docker_container / .cache /opencode /node_modules /zod /src /v3 /tests /language-server.test.ts
| import { test } from "vitest"; | |
| // import path from "path"; | |
| // import { Node, Project, SyntaxKind } from "ts-morph"; | |
| // import { filePath } from "./language-server.source"; | |
| // The following tool is helpful for understanding the TypeScript AST associated with these tests: | |
| // https://ts-ast-viewer.com/ (just copy the contents of language-server.source into the viewer) | |
| test("", () => {}); | |
| // describe("Executing Go To Definition (and therefore Find Usages and Rename Refactoring) using an IDE works on inferred object properties", () => { | |
| // // Compile file developmentEnvironment.source | |
| // const project = new Project({ | |
| // tsConfigFilePath: path.join(__dirname, "..", "..", "tsconfig.json"), | |
| // skipAddingFilesFromTsConfig: true, | |
| // }); | |
| // const sourceFile = project.addSourceFileAtPath(filePath); | |
| // test("works for object properties inferred from z.object()", () => { | |
| // // Find usage of Test.f1 property | |
| // const instanceVariable = | |
| // sourceFile.getVariableDeclarationOrThrow("instanceOfTest"); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f1" | |
| // ); | |
| // // Find definition of Test.f1 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of Test | |
| // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // }); | |
| // // test("works for first object properties inferred from z.object().merge()", () => { | |
| // // // Find usage of TestMerge.f1 property | |
| // // const instanceVariable = sourceFile.getVariableDeclarationOrThrow( | |
| // // "instanceOfTestMerge" | |
| // // ); | |
| // // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // // instanceVariable, | |
| // // "f1" | |
| // // ); | |
| // // // Find definition of TestMerge.f1 property | |
| // // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // // SyntaxKind.VariableDeclaration | |
| // // ); | |
| // // // Assert that find definition returned the Zod definition of Test | |
| // // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // // }); | |
| // // test("works for second object properties inferred from z.object().merge()", () => { | |
| // // // Find usage of TestMerge.f2 property | |
| // // const instanceVariable = sourceFile.getVariableDeclarationOrThrow( | |
| // // "instanceOfTestMerge" | |
| // // ); | |
| // // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // // instanceVariable, | |
| // // "f2" | |
| // // ); | |
| // // // Find definition of TestMerge.f2 property | |
| // // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // // SyntaxKind.VariableDeclaration | |
| // // ); | |
| // // // Assert that find definition returned the Zod definition of TestMerge | |
| // // expect(definitionOfProperty?.getText()).toEqual( | |
| // // "f2: z.string().optional()" | |
| // // ); | |
| // // expect(parentOfProperty?.getName()).toEqual("TestMerge"); | |
| // // }); | |
| // test("works for first object properties inferred from z.union()", () => { | |
| // // Find usage of TestUnion.f1 property | |
| // const instanceVariable = sourceFile.getVariableDeclarationOrThrow( | |
| // "instanceOfTestUnion" | |
| // ); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f1" | |
| // ); | |
| // // Find definition of TestUnion.f1 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of Test | |
| // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // }); | |
| // test("works for second object properties inferred from z.union()", () => { | |
| // // Find usage of TestUnion.f2 property | |
| // const instanceVariable = sourceFile.getVariableDeclarationOrThrow( | |
| // "instanceOfTestUnion" | |
| // ); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f2" | |
| // ); | |
| // // Find definition of TestUnion.f2 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of TestUnion | |
| // expect(definitionOfProperty?.getText()).toEqual( | |
| // "f2: z.string().optional()" | |
| // ); | |
| // expect(parentOfProperty?.getName()).toEqual("TestUnion"); | |
| // }); | |
| // test("works for object properties inferred from z.object().partial()", () => { | |
| // // Find usage of TestPartial.f1 property | |
| // const instanceVariable = sourceFile.getVariableDeclarationOrThrow( | |
| // "instanceOfTestPartial" | |
| // ); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f1" | |
| // ); | |
| // // Find definition of TestPartial.f1 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of Test | |
| // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // }); | |
| // test("works for object properties inferred from z.object().pick()", () => { | |
| // // Find usage of TestPick.f1 property | |
| // const instanceVariable = | |
| // sourceFile.getVariableDeclarationOrThrow("instanceOfTestPick"); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f1" | |
| // ); | |
| // // Find definition of TestPick.f1 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of Test | |
| // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // }); | |
| // test("works for object properties inferred from z.object().omit()", () => { | |
| // // Find usage of TestOmit.f1 property | |
| // const instanceVariable = | |
| // sourceFile.getVariableDeclarationOrThrow("instanceOfTestOmit"); | |
| // const propertyBeingAssigned = getPropertyBeingAssigned( | |
| // instanceVariable, | |
| // "f1" | |
| // ); | |
| // // Find definition of TestOmit.f1 property | |
| // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0]; | |
| // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind( | |
| // SyntaxKind.VariableDeclaration | |
| // ); | |
| // // Assert that find definition returned the Zod definition of Test | |
| // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()"); | |
| // expect(parentOfProperty?.getName()).toEqual("Test"); | |
| // }); | |
| // }); | |
| // const getPropertyBeingAssigned = (node: Node, name: string) => { | |
| // const propertyAssignment = node.forEachDescendant((descendent) => | |
| // Node.isPropertyAssignment(descendent) && descendent.getName() == name | |
| // ? descendent | |
| // : undefined | |
| // ); | |
| // if (propertyAssignment == null) | |
| // fail(`Could not find property assignment with name ${name}`); | |
| // const propertyLiteral = propertyAssignment.getFirstDescendantByKind( | |
| // SyntaxKind.Identifier | |
| // ); | |
| // if (propertyLiteral == null) | |
| // fail(`Could not find property literal with name ${name}`); | |
| // return propertyLiteral; | |
| // }; | |
Xet Storage Details
- Size:
- 8.32 kB
- Xet hash:
- d8b6b1e48356e1ef7c9f005e337cb4a50eb4867a5a2ddcc40854e12427e5e104
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.