Type Alias: ExtenderWrapper<TProps>
ExtenderWrapper<
TProps> = (next) =>EditExtender<TProps>
Defined in: model/edit-request.ts:85
How installing an extender composes. next is the hook's current occupant — the identity
function when nothing has claimed it yet.
ctx.edits.setExtender(() => myExtender); // replace
ctx.edits.setExtender((next) => (request) => mergeEntryEdits(next(request), mine(request))); // tap in
mergeEntryEdits is exported from the package (#197). A spread merges the two maps wrongly: two
extenders that write the same Entry lose the earlier write.
data/ still holds one field and calls it at one site. Wrapping order is the order
requires resolves, never the plugins array's own order.
Lives beside EditExtender, not in plugin.ts (#466): EditExtender now names WriteTarget
(write-verdict.ts), which reaches plugin.ts through error-report.ts's PluginId import —
plugin.ts importing back from here would cycle.
Type Parameters
TProps
TProps = Record<string, unknown>
Parameters
next
EditExtender<TProps>
Returns
EditExtender<TProps>