Skip to content

A simple way to version your long lived json payloads

License

Notifications You must be signed in to change notification settings

odama626/version-json

Repository files navigation

A simple way to version your long lived json payloads

const upVersion = new VersionJson('version');

upversion
  .add(1, p => p)
  .add(2, p => {
    p.newData = p.data;
    delete p.data;
    return p;
  });

const newData = upversion.process({ version: 1, data: 'hello world'})

newData {
  version: 2,
  newData: 'hello world'
}

if your data doesn't have a field that can be used for versioning, you can use a function instead

const upVersion = new VersionJson(payload => {
  if ('newData' in p) return 2;
  if ('data' in p) return 1;
});

upversion
  .add(1, p => p)
  .add(2, p => {
    p.newData = p.data;
    delete p.data;
    return p;
  });

const newData = upversion.process({ version: 1, data: 'hello world'})

newData {
  version: 2,
  newData: 'hello world'
}

About

A simple way to version your long lived json payloads

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published