UNPKG

@naturalcycles/js-lib

Version:

Standard library for universal (browser + Node.js) javascript

25 lines (24 loc) 642 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._sortObject = _sortObject; /** * Returns new object with keys sorder in the given order. * All keys that are not listed in `keyOrder` go last. * Does not mutate original object. */ function _sortObject(obj, keyOrder) { const r = {}; // First, go over ordered keys for (const k of keyOrder) { if (k in obj) { r[k] = obj[k]; } } // Second, go over all other keys for (const [k, v] of Object.entries(obj)) { if (keyOrder.includes(k)) continue; r[k] = v; } return r; }