Sha256: c9304fe2760b7de1d4b1ea49bbe63e7afd3b80e2a258a96d0ee953f6414769ec
Contents?: true
Size: 800 Bytes
Versions: 1
Compression:
Stored size: 800 Bytes
Contents
import { meta as metaFor, peekMeta } from '@ember/-internals/meta'; import { makeChainNode } from './chains'; export function watchPath(obj, keyPath, meta) { let m = meta === undefined ? metaFor(obj) : meta; let counter = m.peekWatching(keyPath); m.writeWatching(keyPath, counter + 1); if (counter === 0) { // activate watching first time m.writableChains(makeChainNode).add(keyPath); } } export function unwatchPath(obj, keyPath, meta) { let m = meta === undefined ? peekMeta(obj) : meta; if (m === undefined) { return; } let counter = m.peekWatching(keyPath); if (counter > 0) { m.writeWatching(keyPath, counter - 1); if (counter === 1) { m.writableChains(makeChainNode).remove(keyPath); } } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
discourse-ember-source-3.6.0.0 | dist/es/@ember/-internals/metal/lib/watch_path.js |