fix: polyfill Buffer for browser compatibility (#112)

* Polyfill with "buffer" and "assert" for browser environments
* Instead of relying on webpack to make this library browser compatible, we now use a buffer library that provides a polyfill when used in the browser
This commit is contained in:
Nathan Nichols
2020-12-03 21:38:57 -06:00
parent b023e9b35b
commit 5a711afb7e
33 changed files with 170 additions and 25 deletions

View File

@@ -11,6 +11,7 @@ const { Field, TransactionType } = require("./../dist/enums");
const { parseHexOnly, hexOnly, loadFixture } = require("./utils");
const fixtures = loadFixture("data-driven-tests.json");
const { BytesList } = require("../dist/serdes/binary-serializer");
const { Buffer } = require("buffer/");
const __ = hexOnly;
function toJSON(v) {

View File

@@ -6,6 +6,7 @@ const { makeParser, BytesList, BinarySerializer } = binary;
const { coreTypes } = require("../dist/types");
const { UInt8, UInt16, UInt32, UInt64, STObject } = coreTypes;
const bigInt = require("big-integer");
const { Buffer } = require("buffer/");
const { loadFixture } = require("./utils");
const fixtures = loadFixture("data-driven-tests.json");

View File

@@ -1,5 +1,6 @@
const { coreTypes } = require("../dist/types");
const { Hash160, Hash256, AccountID, Currency } = coreTypes;
const { Buffer } = require("buffer/");
describe("Hash160", function () {
test("has a static width member", function () {

View File

@@ -2,6 +2,7 @@ const { ShaMap } = require("../dist/shamap.js");
const { binary, HashPrefix } = require("../dist/coretypes");
const { coreTypes } = require("../dist/types");
const { loadFixture } = require("./utils");
const { Buffer } = require("buffer/");
function now() {
return Number(Date.now()) / 1000;

View File

@@ -1,4 +1,5 @@
const fs = require("fs");
const { Buffer } = require('buffer/')
function hexOnly(hex) {
return hex.replace(/[^a-fA-F0-9]/g, "");