1.1.3 • Published 6 years ago

json-overrides v1.1.3

Weekly downloads
12
License
MIT
Repository
github
Last release
6 years ago

Greenkeeper badge Build Status License NPM version NPM downloads

json-overrides creates name-specific manifests from a plain object. Overrides object properties with name-specific ones and removes the overrides property.

Installation

$ npm install json-overrides

Usage

override(json: string | Overridable, name: string): Object
import override from "json-overrides";

let obj = {
  a: "I'm a default value!",
  b: "I'll never change!",

  overrides: {
    projectA: {
      a: "I'm a default value for project A!"
    },

    projectB: {
      a: "I'm a default value for project B!"
    },

    projectC: {
      a: "I'm a default value for project B!",
      b: "... or will I?"
    }
  }
};

override(obj, "projectA");
// {
//   a: "I'm a default value for project A!",
//   b: "I'll never change!"
// }

override(obj, "projectB");
// {
//   a: "I'm a default value for project B!",
//   b: "I'll never change!"
// }

override(obj, "projectC");
// {
//   a: "I'm a default value for project C!",
//   b: "... or will I?"
// }

override(obj, "projectD");
// Error: Overrides for projectD not found

override(123, "projectD");
// TypeError: Expected JSON to be an object (got number)

override(true, "projectD");
// TypeError: Expected JSON to be an object (got boolean)

Note: you can pass valid serialized objects as argument, e.g. override(JSON.stringify(object), key");.

Tests

$ npm test
1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

8 years ago

0.0.1

8 years ago