ordered-object v0.2.3
ordered-object
An experimental module to maintain the order of object properties.
Installation
npm install ordered-objectUsage
const orderedObject = require("ordered-json");
const obj = {a: 1, b: 2, c: 3};
Object.values(obj); // [1, 2, 3]
const obj2 = orderedObject.create(obj, ["c", "b", "a"]);
Object.values(obj2); // [3, 2, 1]API reference
create(object, keys = Object.keys(object), unordered = null): OrderedObject
Return an object whose keys are ordered.
object: an object, which can also be an ordered-keys object (proxy).keys: keys of the object. Ifobjecthas apropertywhich is not included inkeys,Object.keys(OrderedObject)won't contain the property either. However it can still be accessed fromOrderedObject.property.unordered: if provided, do some extra normalization to unordered properties (i.e. not occured inkeys). Possible values are:trim: trim unordered properties.start: move unordered properties to the start.end: move unordered properties to the end.keep: keep the position (index) of unordered properties. With this option, you can only reorder the properties occured inkeys. For example:const obj = create({a: 1, b: 2, c: 3}, ["c", "a"], "keep"); Object.keys(obj); // ["c", "b", "a"]
wrap(object): OrderedObject
Recursively convert entire object into OrderedObject with create.
Notes
Changelog
0.2.3 (May 27, 2019)
- Fix: remove useless stuff in the package.
0.2.2 (May 27, 2019)
- Fix: type error when sending
nullvalue towrap.
- Fix: type error when sending
0.2.1 (May 6, 2018)
- Fix: some keys are stripped if
Object.keys(obj).length > order.lengthandunordered == "keep". - Fix: use a set to avoid duplicated keys.
- Fix: some keys are stripped if
0.2.0 (Dec 23, 2017)
- Add:
unorderedargument tocreate(). - Change: Always create a new object in
create(). - Remove
__raw__property.
- Add:
0.1.0 (Dec 14, 2017)
- First release.