ajvincent / es-membrane

An ECMAScript implementation of a Membrane, allowing users to dynamically hide, override, or extend objects in JavaScript with controlled effects on the original objects.
111 stars 13 forks source link

ObjectGraph refactor: Define ordering, insertion API of linked list proxy handlers #214

Closed ajvincent closed 5 years ago

ajvincent commented 5 years ago

Blocks #179

ajvincent commented 5 years ago

Rule of thumb: the ordering of handlers should be:

  1. Specially designated entry handler (for forwarding)
  2. Outgoing assertions
  3. Object graph handler wrapping
  4. Distortions
  5. Inbound assertions, if any
  6. Reflect
ajvincent commented 5 years ago

Each of the items in groups 2 through 5 should be its own LinkedListHandler, such that the master LinkedListHandler can just link the groups together.