cloneBinary.js 1007 B

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.cloneBinary = void 0;
  4. const isUint8Array_1 = require("../buffers/isUint8Array");
  5. const { isArray } = Array;
  6. const objectKeys = Object.keys;
  7. const cloneBinary = (obj) => {
  8. if (!obj)
  9. return obj;
  10. if (isArray(obj)) {
  11. const arr = [];
  12. const length = obj.length;
  13. for (let i = 0; i < length; i++)
  14. arr.push((0, exports.cloneBinary)(obj[i]));
  15. return arr;
  16. }
  17. else if (typeof obj === 'object') {
  18. if ((0, isUint8Array_1.isUint8Array)(obj))
  19. return new Uint8Array(obj);
  20. const keys = objectKeys(obj);
  21. const length = keys.length;
  22. const newObject = {};
  23. for (let i = 0; i < length; i++) {
  24. const key = keys[i];
  25. newObject[key] = (0, exports.cloneBinary)(obj[key]);
  26. }
  27. return newObject;
  28. }
  29. return obj;
  30. };
  31. exports.cloneBinary = cloneBinary;
  32. //# sourceMappingURL=cloneBinary.js.map