export default class DirtyKeys { constructor(name) { this.name = name; this._keys = {}; } keyDirty(key, options) { options = options || {}; options.dirty = true; this._keys[key] = options; } forceAll() { this.keyDirty('*'); } allDirty() { return !!this._keys['*']; } optionsFor(key) { return this._keys[key] || { dirty: false }; } renderedKey(key) { if (key === '*') { this._keys = {}; } else { delete this._keys[key]; } } }