UNPKG

@data-client/endpoint

Version:

Declarative Network Interface Definitions

15 lines 1.9 kB
/** This serializes in consistent way even if members are added in differnet orders */ export function consistentSerialize(obj) { let keys = Object.keys(obj); // sort doesn't always work in RN try { keys = keys.sort(); // eslint-disable-next-line no-empty } catch {} const sortedObj = {}; for (const key of keys) { sortedObj[key] = obj[key]; } return JSON.stringify(sortedObj); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25zaXN0ZW50U2VyaWFsaXplIiwib2JqIiwia2V5cyIsIk9iamVjdCIsInNvcnQiLCJzb3J0ZWRPYmoiLCJrZXkiLCJKU09OIiwic3RyaW5naWZ5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYXMvY29uc2lzdGVudFNlcmlhbGl6ZS5uYXRpdmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoaXMgc2VyaWFsaXplcyBpbiBjb25zaXN0ZW50IHdheSBldmVuIGlmIG1lbWJlcnMgYXJlIGFkZGVkIGluIGRpZmZlcm5ldCBvcmRlcnMgKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zaXN0ZW50U2VyaWFsaXplKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICAvLyBzb3J0IGRvZXNuJ3QgYWx3YXlzIHdvcmsgaW4gUk5cbiAgdHJ5IHtcbiAgICBrZXlzID0ga2V5cy5zb3J0KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5XG4gIH0gY2F0Y2gge31cbiAgY29uc3Qgc29ydGVkT2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICBzb3J0ZWRPYmpba2V5XSA9IG9ialtrZXldO1xuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNvcnRlZE9iaik7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBTyxTQUFTQSxtQkFBbUJBLENBQUNDLEdBQTRCLEVBQUU7RUFDaEUsSUFBSUMsSUFBSSxHQUFHQyxNQUFNLENBQUNELElBQUksQ0FBQ0QsR0FBRyxDQUFDO0VBQzNCO0VBQ0EsSUFBSTtJQUNGQyxJQUFJLEdBQUdBLElBQUksQ0FBQ0UsSUFBSSxDQUFDLENBQUM7SUFDbEI7RUFDRixDQUFDLENBQUMsTUFBTSxDQUFDO0VBQ1QsTUFBTUMsU0FBa0MsR0FBRyxDQUFDLENBQUM7RUFFN0MsS0FBSyxNQUFNQyxHQUFHLElBQUlKLElBQUksRUFBRTtJQUN0QkcsU0FBUyxDQUFDQyxHQUFHLENBQUMsR0FBR0wsR0FBRyxDQUFDSyxHQUFHLENBQUM7RUFDM0I7RUFFQSxPQUFPQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0gsU0FBUyxDQUFDO0FBQ2xDIiwiaWdub3JlTGlzdCI6W119