1.0.2 • Published 2 years ago

version-json v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

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'
}