aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@babel/core/lib/transformation/util/clone-deep-browser.js
blob: a42de824d8995cc2522d3d6d5c650e4d3eb5eee6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = _default;
const serialized = "$$ babel internal serialized type" + Math.random();

function serialize(key, value) {
  if (typeof value !== "bigint") return value;
  return {
    [serialized]: "BigInt",
    value: value.toString()
  };
}

function revive(key, value) {
  if (!value || typeof value !== "object") return value;
  if (value[serialized] !== "BigInt") return value;
  return BigInt(value.value);
}

function _default(value) {
  return JSON.parse(JSON.stringify(value, serialize), revive);
}