Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Add base diffChangeset schema and extend for other schemas
Sebastian Martinez committed 2 years ago
commit 217d8b2dd44acf406406891bb0108f4775e11b62
parent 00905afea4165d66125466d93a328576ea040939
1 file changed +13 -15
modified httpd-client/lib/project/commit.ts
@@ -98,30 +98,28 @@ const diffContentSchema = object({
  ]),
});

-
type DiffAddedChangeset = z.infer<typeof diffAddedChangesetSchema>;
-

-
const diffAddedChangesetSchema = object({
+
const diffChangesetSchema = object({
  path: string(),
  diff: diffContentSchema,
-
  new: diffFileSchema,
});

+
type DiffAddedChangeset = z.infer<typeof diffAddedChangesetSchema>;
+

+
const diffAddedChangesetSchema = diffChangesetSchema.merge(
+
  object({ new: diffFileSchema }),
+
);
+

type DiffDeletedChangeset = z.infer<typeof diffDeletedChangesetSchema>;

-
const diffDeletedChangesetSchema = object({
-
  path: string(),
-
  diff: diffContentSchema,
-
  old: diffFileSchema,
-
});
+
const diffDeletedChangesetSchema = diffChangesetSchema.merge(
+
  object({ old: diffFileSchema }),
+
);

type DiffModifiedChangeset = z.infer<typeof diffModifiedChangesetSchema>;

-
const diffModifiedChangesetSchema = object({
-
  path: string(),
-
  diff: diffContentSchema,
-
  new: diffFileSchema,
-
  old: diffFileSchema,
-
});
+
const diffModifiedChangesetSchema = diffChangesetSchema.merge(
+
  object({ new: diffFileSchema, old: diffFileSchema }),
+
);

type DiffCopiedChangeset = z.infer<typeof diffCopiedChangesetSchema>;