docs(rfc): narrow scoped-layer disposers
This commit is contained in:
@@ -2,5 +2,5 @@
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write
|
||||
2026-07-12-scoped-layers-store.md: c3a9ab8724191b5b1bc87f02a90d6995c247d944
|
||||
2026-07-12-scoped-layers-store.zh.md: e2ec72145766a95ea1c330e3a658f7c86490e263
|
||||
2026-07-12-scoped-layers-store.md: 510f462344b25b72bb8604d88f125cc92c6510b1
|
||||
2026-07-12-scoped-layers-store.zh.md: abc2aad140cc10325392ed8800e33e38684511a8
|
||||
@@ -48,7 +48,7 @@ export class ScopedLayers<L extends ScopeLayer> {
|
||||
values<T>(scope: ScopeKey | undefined, pick: (layer: L) => EntryValues<T>): T[]
|
||||
keys<T>(scope: ScopeKey | undefined, pick: (layer: L) => NamedEntries<T>): string[]
|
||||
some(fn: (layer: L, scope: ScopeKey | undefined) => boolean): boolean
|
||||
effect(ctx: Context, action: (layer: L) => () => void, options: { label: string; silent?: boolean }): () => Promise<void> | void
|
||||
effect(ctx: Context, action: (layer: L) => () => void, options: { label: string; silent?: boolean }): () => void
|
||||
}
|
||||
|
||||
export interface EntryValues<V> {
|
||||
@@ -98,7 +98,7 @@ class ToolRegistry extends Service {
|
||||
{ onChange: () => this.ctx.emit('tools/change') },
|
||||
)
|
||||
|
||||
register(definition: ToolDefinition): () => Promise<void> | void {
|
||||
register(definition: ToolDefinition): () => void {
|
||||
return this.layers.effect(this.ctx,
|
||||
layer => layer.tools.insert(definition.name, definition),
|
||||
{ label: 'tools.register()' })
|
||||
|
||||
@@ -48,7 +48,7 @@ export class ScopedLayers<L extends ScopeLayer> {
|
||||
values<T>(scope: ScopeKey | undefined, pick: (layer: L) => EntryValues<T>): T[]
|
||||
keys<T>(scope: ScopeKey | undefined, pick: (layer: L) => NamedEntries<T>): string[]
|
||||
some(fn: (layer: L, scope: ScopeKey | undefined) => boolean): boolean
|
||||
effect(ctx: Context, action: (layer: L) => () => void, options: { label: string; silent?: boolean }): () => Promise<void> | void
|
||||
effect(ctx: Context, action: (layer: L) => () => void, options: { label: string; silent?: boolean }): () => void
|
||||
}
|
||||
|
||||
export interface EntryValues<V> {
|
||||
@@ -98,7 +98,7 @@ class ToolRegistry extends Service {
|
||||
{ onChange: () => this.ctx.emit('tools/change') },
|
||||
)
|
||||
|
||||
register(definition: ToolDefinition): () => Promise<void> | void {
|
||||
register(definition: ToolDefinition): () => void {
|
||||
return this.layers.effect(this.ctx,
|
||||
layer => layer.tools.insert(definition.name, definition),
|
||||
{ label: 'tools.register()' })
|
||||
|
||||
Reference in New Issue
Block a user