javiercejudo/modelico

View on GitHub
src/validate.js

Summary

Maintainability
A
0 mins
Test Coverage
import M from './'

export default (instance, innerMetadata = []) => {
  if (!(instance instanceof M.Base)) {
    throw TypeError(
      'Modelico.validate only works with instances of Modelico.Base'
    )
  }

  try {
    M.genericsFromJSON(
      instance[M.symbols.typeSymbol](),
      innerMetadata,
      JSON.stringify(instance)
    )
  } catch (e) {
    return [false, e]
  }

  return [true, undefined]
}