Skip to content

Core Model

Jonathan Montane edited this page Jan 31, 2017 · 13 revisions

The core models of API-Flow are extensions of immutable records as designed in immutables.js.

API-Flow does not convert from one format to another directly, but first calls a parser on the initial file and converts it to a core model that is then used to translated into the second format by a serializer. As such, the core model should be able to parse all key elements from any of the format it can take as an input. In a perfect world, transforming any file in any format to any other format and back again would yield the same file. However, since no format is perfect and they all implement something better than their competitor, some information can be lost due to the inadequacy of the target format. Additionally, although API-Flow tries to import data with as much accuracy as possible, there is still some information loss that we're actively trying to reduce.

This core model can be broken into several model components:

Core Structure components

Authentication

  • Basic
  • Digest
  • NTLM
  • Negotiate
  • ApiKey
  • OAuth1
  • OAuth2
  • AWSSig4
  • Hawk

References

  • Reference
  • FileReference
  • SchemaReference
  • JSONReference
  • RemoteReference
  • URIReference

Constraints

  • Constraint
  • MultipleOf
  • Maximum
  • ExclusiveMaximum
  • Minimum
  • ExclusiveMinimum
  • MaximumLength
  • MinimumLength
  • Pattern
  • MaximumItems
  • MinimumItems
  • UniqueItems
  • MaximumProperties
  • MinimumProperties
  • Enum

Miscellaneous

  • URL
  • Info
  • Contact
  • License
Clone this wiki locally