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:
48
mcp-server/node_modules/zod/src/v3/tests/generics.test.ts
generated
vendored
Normal file
48
mcp-server/node_modules/zod/src/v3/tests/generics.test.ts
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
// @ts-ignore TS6133
|
||||
import { expect, test } from "vitest";
|
||||
|
||||
import * as z from "zod/v3";
|
||||
import { util } from "../helpers/util.js";
|
||||
|
||||
test("generics", () => {
|
||||
async function stripOuter<TData extends z.ZodTypeAny>(schema: TData, data: unknown) {
|
||||
return z
|
||||
.object({
|
||||
nested: schema, // as z.ZodTypeAny,
|
||||
})
|
||||
.transform((data) => {
|
||||
return data.nested!;
|
||||
})
|
||||
.parse({ nested: data });
|
||||
}
|
||||
|
||||
const result = stripOuter(z.object({ a: z.string() }), { a: "asdf" });
|
||||
util.assertEqual<typeof result, Promise<{ a: string }>>(true);
|
||||
});
|
||||
|
||||
// test("assignability", () => {
|
||||
// const createSchemaAndParse = <K extends string, VS extends z.ZodString>(
|
||||
// key: K,
|
||||
// valueSchema: VS,
|
||||
// data: unknown
|
||||
// ) => {
|
||||
// const schema = z.object({
|
||||
// [key]: valueSchema,
|
||||
// } as { [k in K]: VS });
|
||||
// return { [key]: valueSchema };
|
||||
// const parsed = schema.parse(data);
|
||||
// return parsed;
|
||||
// // const inferred: z.infer<z.ZodObject<{ [k in K]: VS }>> = parsed;
|
||||
// // return inferred;
|
||||
// };
|
||||
// const parsed = createSchemaAndParse("foo", z.string(), { foo: "" });
|
||||
// util.assertEqual<typeof parsed, { foo: string }>(true);
|
||||
// });
|
||||
|
||||
test("nested no undefined", () => {
|
||||
const inner = z.string().or(z.array(z.string()));
|
||||
const outer = z.object({ inner });
|
||||
type outerSchema = z.infer<typeof outer>;
|
||||
z.util.assertEqual<outerSchema, { inner: string | string[] }>(true);
|
||||
expect(outer.safeParse({ inner: undefined }).success).toEqual(false);
|
||||
});
|
||||
Reference in New Issue
Block a user