Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
exotic / src / mobx / is / isObservableObj.ts
Size: Mime:
import { IObservableObject } from '../typings'
import { isObj } from '../../types/obj/check/isObj'
import { createPredicateForProperty } from '../deps/createInstanceofPredicate'
import { toMobxSymbol } from '../deps/toMobxSymbol'

const isObservableObjectAdministration = createPredicateForProperty(
  'ObservableObjectAdministration'
)
export function isObservableObj(thing: any): thing is IObservableObject {
  if (isObj(thing)) {
    // Initializers run lazily when transpiling to babel, so make sure they are run...
    // initializeInstance(thing)
    const $mobx = toMobxSymbol(thing)
    const symbol = toMobxSymbol as any
    return isObservableObjectAdministration((thing as any)[symbol])
  }
  return false
}