UNPKG

1.03 kBJavaScriptView Raw
1function Address(address) {
2 this._str;
3 this._buf;
4
5 if (typeof address === "string") {
6 this._str = address;
7 this._buf = Address.strToBuf(this._str);
8 }
9 else if (Buffer.isBuffer(address)) {
10 this._buf = address;
11 this._str = Address.bufToStr(this._buf);
12 }
13 else {
14 throw new Error("Address intializer must be string or buffer.");
15 }
16}
17
18Address.prototype.toString = function() {
19return this._str;
20}
21
22Address.prototype.toBuffer = function() {
23return this._buf;
24}
25
26Address.strToBuf = function(addressStr) {
27 var b = new Buffer(6);
28 var bytes = addressStr.split('.');
29 for (var i = 0; i < bytes.length; i++) {
30 b.writeUInt8(bytes[i], i);
31 }
32 return b;
33}
34
35Address.bufToStr = function(addressBuf) {
36 var str = "";
37 for (var i = 0; i < addressBuf.length; i++) {
38 str+= addressBuf.readUInt8(i).toString(10);
39 if (i != addressBuf.length-1) {
40 str+=".";
41 }
42 }
43 return str;
44}
45
46module.exports = Address;
47module.exports.bufToStr = Address.bufToStr;
48module.exports.strToBuf = Address.strToBuf;