Skip to content

Commit 98e8260

Browse files
author
Daniel Wirtz
committed
Decouple node buffers to also work with RequireJS, fixes #4
1 parent 08f1ddd commit 98e8260

File tree

6 files changed

+70
-46
lines changed

6 files changed

+70
-46
lines changed

ByteBuffer.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,17 @@
2222
(function(global) {
2323
"use strict";
2424

25-
function loadByteBuffer(Long, nodeBuffer) {
26-
var Buffer = nodeBuffer &&
27-
typeof nodeBuffer['Buffer'] == 'function' &&
28-
typeof nodeBuffer['Buffer']['isBuffer'] == 'function'
29-
? nodeBuffer['Buffer'] : null;
25+
function loadByteBuffer(Long) {
26+
27+
// Support node's Buffer if available, http://nodejs.org/api/buffer.html
28+
var Buffer = null;
29+
if (typeof require === 'function') {
30+
try {
31+
var nodeBuffer = require("buffer");
32+
Buffer = nodeBuffer && typeof nodeBuffer['Buffer'] === 'function' && typeof nodeBuffer['Buffer']['isBuffer'] === 'function'
33+
? nodeBuffer['Buffer'] : null;
34+
} catch (e) {}
35+
}
3036

3137
/**
3238
* Constructs a new ByteBuffer.
@@ -1992,11 +1998,13 @@
19921998

19931999
return ByteBuffer;
19942000
}
2001+
2002+
19952003

19962004
// Enable module loading if available
19972005
if (typeof module != 'undefined' && module["exports"]) { // CommonJS
19982006
/** @expose */
1999-
module["exports"] = loadByteBuffer(require("long"), require("buffer"));
2007+
module["exports"] = loadByteBuffer(require("long"));
20002008
} else if (typeof define != 'undefined' && define["amd"]) { // AMD
20012009
define("ByteBuffer", ["Math/Long"], function(Long) { return loadByteBuffer(Long); });
20022010
} else { // Shim

0 commit comments

Comments
 (0)