import { T } from ".."; import { utils } from "../util"; type WrapperType = { config: { someValue: string; }; }; const todo = (): A => { throw new Error("not implemented"); }; const noop = () => {}; describe("wrapperData", () => { test.skip("types", async () => { utils(todo()).setWrapperData( "/config/someValue", "someValue", ); utils(todo()).setWrapperData( "/config/someValue", // @ts-expect-error Type is wrong for the setting value 5, ); utils(todo()).setWrapperData( // @ts-expect-error Path is wrong "/config/someVae3lue", "someValue", ); todo().setWrapperData({ path: "/config/someValue", value: "someValueIn", }); todo().setWrapperData({ //@ts-expect-error Path is wrong path: "/config/someValue", //@ts-expect-error Path is wrong value: "someValueIn", }); todo().setWrapperData({ //@ts-expect-error Path is wrong path: "/config/some2Value", value: "someValueIn", }); (await utils(todo()) .getWrapperData("/config/someValue") .const()) satisfies string; (await utils(todo()) .getWrapperData("/config") .const()) satisfies WrapperType["config"]; await utils(todo()) // @ts-expect-error Path is wrong .getWrapperData("/config/somdsfeValue") .const(); (await utils(todo()) .getWrapperData("/config/someValue") // @ts-expect-error satisfies type is wrong .const()) satisfies number; (await utils(todo()) // @ts-expect-error Path is wrong .getWrapperData("/config/") .const()) satisfies WrapperType["config"]; (await todo().getWrapperData({ path: "/config/someValue", callback: noop, })) satisfies string; await todo().getWrapperData({ // @ts-expect-error Path is wrong as in it doesn't match above path: "/config/someV2alue", callback: noop, }); await todo().getWrapperData({ // @ts-expect-error Path is wrong as in it doesn't exists in wrapper type path: "/config/someV2alue", callback: noop, }); }); });