refactor(core): simplify filesystem mutation protocol (#31059)
This commit is contained in:
parent
54f4974546
commit
ceccde7e84
13 changed files with 356 additions and 623 deletions
|
|
@ -60,11 +60,11 @@ export const layer = Layer.effectDiscard(
|
|||
tool: definition,
|
||||
execute: ({ parameters, assertPermission }) =>
|
||||
Effect.gen(function* () {
|
||||
const plan = yield* mutation.resolve({ path: parameters.path, kind: "file" })
|
||||
const external = plan.target.externalDirectory
|
||||
const target = yield* mutation.resolve({ path: parameters.path, kind: "file" })
|
||||
const external = target.externalDirectory
|
||||
if (external) yield* assertPermission(LocationMutation.externalDirectoryPermission(external))
|
||||
yield* assertPermission({ action: "edit", resources: [plan.target.resource], save: ["*"] })
|
||||
return yield* files.writeTextPreservingBom({ plan, content: parameters.content })
|
||||
yield* assertPermission({ action: "edit", resources: [target.resource], save: ["*"] })
|
||||
return yield* files.writeTextPreservingBom({ target, content: parameters.content })
|
||||
}).pipe(
|
||||
Effect.catchCause((cause) =>
|
||||
Effect.fail(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue