Object literal maintaining its properties in the order they were added

Usage no npm install needed!

<script type="module">
  import stoplightOrderedObjectLiteral from 'https://cdn.skypack.dev/@stoplight/ordered-object-literal';




Do not use it if you can use maps.

yarn add @stoplight/ordered-object-literal

or if npm is package manager of your choice

npm install @stoplight/ordered-object-literal --save


I want to create a new object

import box from '@stoplight/ordered-object-literal';

const trackedObj = box({});

I have an existing object

import box from '@stoplight/ordered-object-literal';

const myObj = { 
  a: true,
  b: void 0,

const trackedObj = box(myObj);
// alternatively if you want to provide a custom orer
const trackedReversedObj = box(myObj, ['b', 'a']);


Apache License 2.0