version-json
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

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

Package Sidebar

Install

npm i version-json

Weekly Downloads

3

Version

1.0.2

License

MIT

Unpacked Size

19.5 kB

Total Files

14

Last publish

Collaborators

  • omarzion