Skip to content

Rewrite event_to_object package #1196

Closed

Description

@Archmonger

Current Situation

Right now, the event_to_object JS package within this repo manually declares every attribute that is serializable.

This is primarily to prevent infinite recursive serialization of events. As a result, it currently only attempts to serialize pre-defined "safe" attributes.

Related issues

Proposed Actions

Re-write event_to_object to either have a max-depth of something reasonable, or perform serialization in a way that auto-detects recursive behavior, and skips non-serializable objects.

In terms of auto detection, the core idea would be to keep an temporary list of all events that have been serialized, and make sure to not serialize them twice. Here's some quick and dirty psuedocode...

function convert(event){
   let current_objects = []
   for object in event:
      if !(object in current_objects){
         current_objects.add(object)
      }
   ...
}

For things that aren't serializable, we can skip them.

Ref: https://stackoverflow.com/questions/11547672/how-to-stringify-event-object

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority-1-highShould be resolved ASAP.release-minorWarrents a minor releasetype-refactorAbout improving code structure.type-revisionAbout a change in functionality or behavior

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions