summaryrefslogtreecommitdiffhomepage
path: root/app/lib/enum.js
blob: 4359c3bfb32969af8ec1b687ea0c9e03659de11f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * Creates enum object with keys provided as arguments
 */
export default function Enum() {
  let object = {};

  for(const key of arguments) {
    Object.defineProperty(object, key, {
      enumerable: true,
      value: key,
      writable: false
    });
  }

  Object.freeze(object);

  return object;
}