UNPKG

@data-client/endpoint

Version:

Declarative Network Interface Definitions

15 lines 1.94 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 (_unused) {} const sortedObj = {}; for (const key of keys) { sortedObj[key] = obj[key]; } return JSON.stringify(sortedObj); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25zaXN0ZW50U2VyaWFsaXplIiwib2JqIiwia2V5cyIsIk9iamVjdCIsInNvcnQiLCJfdW51c2VkIiwic29ydGVkT2JqIiwia2V5IiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL2NvbnNpc3RlbnRTZXJpYWxpemUubmF0aXZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGlzIHNlcmlhbGl6ZXMgaW4gY29uc2lzdGVudCB3YXkgZXZlbiBpZiBtZW1iZXJzIGFyZSBhZGRlZCBpbiBkaWZmZXJuZXQgb3JkZXJzICovXG5leHBvcnQgZnVuY3Rpb24gY29uc2lzdGVudFNlcmlhbGl6ZShvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gIGxldCBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgLy8gc29ydCBkb2Vzbid0IGFsd2F5cyB3b3JrIGluIFJOXG4gIHRyeSB7XG4gICAga2V5cyA9IGtleXMuc29ydCgpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxuICB9IGNhdGNoIHt9XG4gIGNvbnN0IHNvcnRlZE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgc29ydGVkT2JqW2tleV0gPSBvYmpba2V5XTtcbiAgfVxuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShzb3J0ZWRPYmopO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU8sU0FBU0EsbUJBQW1CQSxDQUFDQyxHQUE0QixFQUFFO0VBQ2hFLElBQUlDLElBQUksR0FBR0MsTUFBTSxDQUFDRCxJQUFJLENBQUNELEdBQUcsQ0FBQztFQUMzQjtFQUNBLElBQUk7SUFDRkMsSUFBSSxHQUFHQSxJQUFJLENBQUNFLElBQUksQ0FBQyxDQUFDO0lBQ2xCO0VBQ0YsQ0FBQyxDQUFDLE9BQUFDLE9BQUEsRUFBTSxDQUFDO0VBQ1QsTUFBTUMsU0FBa0MsR0FBRyxDQUFDLENBQUM7RUFFN0MsS0FBSyxNQUFNQyxHQUFHLElBQUlMLElBQUksRUFBRTtJQUN0QkksU0FBUyxDQUFDQyxHQUFHLENBQUMsR0FBR04sR0FBRyxDQUFDTSxHQUFHLENBQUM7RUFDM0I7RUFFQSxPQUFPQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0gsU0FBUyxDQUFDO0FBQ2xDIiwiaWdub3JlTGlzdCI6W119