]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/sorted-object/README.md
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / sorted-object / README.md
1 # Get a Version of an Object with Sorted Keys
2
3 Although objects in JavaScript are theoretically unsorted, in practice most engines use insertion order—at least, ignoring numeric keys. This manifests itself most prominently when dealing with an object's JSON serialization.
4
5 So, for example, you might be trying to serialize some object to a JSON file. But every time you write it, it ends up being output in a different order, depending on how you created it in the first place! This makes for some ugly diffs.
6
7 **sorted-object** gives you the answer. Just use this package to create a version of your object with its keys sorted before serializing, and you'll get a consistent order every time.
8
9 ```js
10 var sortedObject = require("sorted-object");
11
12 var objectToSerialize = generateStuffNondeterministically();
13
14 // Before:
15 fs.writeFileSync("dest.json", JSON.stringify(objectToSerialize));
16
17 // After:
18 var sortedVersion = sortedObject(objectToSerialize);
19 fs.writeFileSync("dest.json", JSON.stringify(sortedVersion));
20 ```