Spaces:
Paused
Paused
| const crypto = require('crypto') | |
| const fallback = require('./browser').from | |
| const bytes = require('./core') | |
| bytes.from = (_from, encoding) => { | |
| if (_from instanceof DataView) return _from | |
| if (_from instanceof ArrayBuffer) return new DataView(_from) | |
| if (typeof _from === 'string') { | |
| _from = Buffer.from(_from, encoding) | |
| } | |
| if (Buffer.isBuffer(_from)) { | |
| return new DataView(_from.buffer, _from.byteOffset, _from.byteLength) | |
| } | |
| return fallback(_from, encoding) | |
| } | |
| bytes.toString = (_from, encoding) => { | |
| _from = bytes(_from) | |
| return Buffer.from(_from.buffer, _from.byteOffset, _from.byteLength).toString(encoding) | |
| } | |
| bytes.native = (_from, encoding) => { | |
| if (Buffer.isBuffer(_from)) return _from | |
| _from = bytes(_from, encoding) | |
| return Buffer.from(_from.buffer, _from.byteOffset, _from.byteLength) | |
| } | |
| bytes._randomFill = crypto.randomFillSync | |
| module.exports = bytes | |