yes!
This commit is contained in:
parent
4fa66a2eb9
commit
ca12ec8a9c
5 changed files with 225 additions and 135 deletions
60
cmd/sync/types.ts
Normal file
60
cmd/sync/types.ts
Normal file
|
@ -0,0 +1,60 @@
|
|||
import * as z from "zod/v4";
|
||||
|
||||
export type MixFile = {
|
||||
[key: string]: {
|
||||
packages: MixPackage[];
|
||||
};
|
||||
};
|
||||
|
||||
export type MixPackage = {
|
||||
id: string;
|
||||
version: string;
|
||||
config: {
|
||||
type: "raw" | "json";
|
||||
path: string;
|
||||
data: unknown;
|
||||
}[]
|
||||
}
|
||||
|
||||
export const MixPackageSchema = z.object({
|
||||
id: z.string(),
|
||||
version: z.string(),
|
||||
config: z.array(z.object({
|
||||
type: z.enum(["raw", "json"]),
|
||||
path: z.string(),
|
||||
data: z.unknown()
|
||||
}))
|
||||
.optional()
|
||||
.default([]),
|
||||
});
|
||||
|
||||
export const MixFileSchema = z.record(
|
||||
z.string(),
|
||||
z.object({
|
||||
packages: z.array(MixPackageSchema)
|
||||
})
|
||||
);
|
||||
|
||||
export type MixLockFile = MixLockPackage[]
|
||||
|
||||
export type MixLockPackage = {
|
||||
id: string;
|
||||
version: string;
|
||||
config: {
|
||||
type: "raw" | "json";
|
||||
path: string;
|
||||
data: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
export const MixLockPackageSchema = z.object({
|
||||
id: z.string(),
|
||||
version: z.string(),
|
||||
config: z.array(z.object({
|
||||
type: z.enum(["raw", "json"]),
|
||||
path: z.string(),
|
||||
data: z.string()
|
||||
}))
|
||||
});
|
||||
|
||||
export const MixLockFileSchema = z.array(MixLockPackageSchema);
|
Loading…
Add table
Add a link
Reference in a new issue