123456789101112131415161718192021222324252627282930 |
- 'use strict'
- 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
|