fix: Add debounced Undo/Redo system to avoid character-by-character history
- Add debounced state updates for title and content (500ms delay) - Immediate UI updates with delayed history saving - Prevent one-letter-per-undo issue - Add cleanup for debounce timers on unmount
This commit is contained in:
207
mcp-server/node_modules/zod/src/v3/tests/language-server.test.ts
generated
vendored
Normal file
207
mcp-server/node_modules/zod/src/v3/tests/language-server.test.ts
generated
vendored
Normal file
@@ -0,0 +1,207 @@
|
||||
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;
|
||||
// };
|
||||
Reference in New Issue
Block a user