diff --git a/packages/koishi-utils/src/observe.ts b/packages/koishi-utils/src/observe.ts index 8507ca51b7..ba1ae0e17a 100644 --- a/packages/koishi-utils/src/observe.ts +++ b/packages/koishi-utils/src/observe.ts @@ -117,16 +117,16 @@ export function observe (target: T, ...args: [(string | nu } } - let label = '', update: UpdateFunction = noop + let label = '', update: UpdateFunction if (typeof args[0] === 'function') update = args.shift() as UpdateFunction if (typeof args[0] === 'string') label = args[0] if (label && label in refs) { - refs[label].__updateCallback__ = update + refs[label].__updateCallback__ = update || refs[label].__updateCallback__ return refs[label]._merge(target) } - Object.defineProperty(target, '__updateCallback__', { value: update, writable: true }) + Object.defineProperty(target, '__updateCallback__', { value: update || noop, writable: true }) Object.defineProperty(target, '_update', { value (this: Observed) {