mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-01 01:25:48 +00:00
feat: remove Buffer support and bundle polyfill (#2526)
- Removes need for bundlers to polyfill the `Buffer` class. `UInt8Array` are used instead which are native to the browser and node. - Reduces bundle size 7.1kb gzipped and eliminates 4 runtime dependencies: `base-x`, `base64-js`, `buffer`, and `ieee754`. BREAKING CHANGE: All methods that previously took a `Buffer` now accept a `UInt8Array`. --------- Co-authored-by: Jackson Mills <jmills@ripple.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
const { coreTypes } = require('../src/types')
|
||||
const { Hash128, Hash160, Hash256, AccountID, Currency } = coreTypes
|
||||
import { Hash128, Hash160, Hash256, AccountID, Currency } from '../src/types'
|
||||
|
||||
describe('Hash128', function () {
|
||||
it('has a static width member', function () {
|
||||
@@ -110,8 +109,8 @@ describe('Currency', function () {
|
||||
).toBe(null)
|
||||
})
|
||||
|
||||
it('can be constructed from a Buffer', function () {
|
||||
const xrp = new Currency(Buffer.alloc(20))
|
||||
it('can be constructed from a Uint8Array', function () {
|
||||
const xrp = new Currency(new Uint8Array(20))
|
||||
expect(xrp.iso()).toBe('XRP')
|
||||
})
|
||||
it('Can handle non-standard currency codes', () => {
|
||||
@@ -125,7 +124,9 @@ describe('Currency', function () {
|
||||
})
|
||||
|
||||
it('throws on invalid reprs', function () {
|
||||
expect(() => Currency.from(Buffer.alloc(19))).toThrow()
|
||||
// @ts-expect-error -- invalid type check
|
||||
expect(() => Currency.from(new Uint8Array(19))).toThrow()
|
||||
// @ts-expect-error -- invalid type check
|
||||
expect(() => Currency.from(1)).toThrow()
|
||||
expect(() =>
|
||||
Currency.from('00000000000000000000000000000000000000m'),
|
||||
|
||||
Reference in New Issue
Block a user