Comparing version 0.2.5 to 0.2.6
67
hexy.js
@@ -48,15 +48,19 @@ //= hexy.js -- utility to create hex dumps | ||
// var format = {} | ||
// format.width = width // how many bytes per line, default 16 | ||
// format.numbering = n // ["hex_bytes" | "none"], default "hex_bytes" | ||
// format.format = f // ["fours"|"twos"|"none"], how many nibbles per group | ||
// // default "fours" | ||
// format.caps = c // ["lower"|"upper"], default lower | ||
// format.annotate=a // ["ascii"|"none"], ascii annotation at end of line? | ||
// // default "ascii" | ||
// format.prefix=p // <string> something pretty to put in front of each line | ||
// // default "" | ||
// format.indent=i // <num> number of spaces to indent | ||
// // default 0 | ||
// format.html=true // funky html divs 'n stuff! experimental. | ||
// // default: false | ||
// format.width = width // how many bytes per line, default 16 | ||
// format.numbering = n // ["hex_bytes" | "none"], default "hex_bytes" | ||
// format.format = f // ["fours"|"twos"|"none"], how many nibbles per group | ||
// // default "fours" | ||
// format.caps = c // ["lower"|"upper"], default lower | ||
// format.annotate=a // ["ascii"|"none"], ascii annotation at end of line? | ||
// // default "ascii" | ||
// format.prefix=p // <string> something pretty to put in front of each line | ||
// // default "" | ||
// format.indent=i // <num> number of spaces to indent | ||
// // default 0 | ||
// format.offset // offset into the buffer to start | ||
// format.length // number of bytes to display | ||
// format.display_offset // modifiy the starting address by the indicated | ||
// // number of bytes | ||
// format.html=true // funky html divs 'n stuff! experimental. | ||
// // default: false | ||
// | ||
@@ -148,8 +152,24 @@ // console.log(hexy.hexy(buffer, format)) | ||
self.caps = config.caps == "upper" ? "upper" : "lower" | ||
self.annotate = config.annotate == "none" ? "none" : "ascii" | ||
self.prefix = config.prefix || "" | ||
self.indent = config.indent || 0 | ||
self.html = config.html || false | ||
self.caps = config.caps == "upper" ? "upper" : "lower" | ||
self.annotate = config.annotate == "none" ? "none" : "ascii" | ||
self.prefix = config.prefix || "" | ||
self.indent = config.indent || 0 | ||
self.html = config.html || false | ||
self.offset = config.offset || 0 | ||
self.length = config.length || -1 | ||
self.display_offset = config.display_offset || 0 | ||
if (self.offset) { | ||
if (self.offset < self.buffer.length) { | ||
self.buffer = self.buffer.slice(self.offset) | ||
} | ||
} | ||
if (self.length !== -1) { | ||
if (self.length <= self.buffer.length) { | ||
self.buffer = self.buffer.slice(0,self.length) | ||
} | ||
} | ||
for (var i = 0; i!=self.indent; ++i) { | ||
@@ -189,5 +209,6 @@ self.prefix = " "+self.prefix | ||
var addr = (i*self.width)+self.offset+self.display_offset; | ||
if (self.html) { | ||
odd = i%2 == 0 ? " even" : " odd" | ||
str += "<div class='"+pad(i*self.width, 8)+odd+"'>" | ||
str += "<div class='"+pad(addr, 8)+odd+"'>" | ||
} | ||
@@ -197,3 +218,3 @@ str += self.prefix | ||
if (self.numbering === "hex_bytes") { | ||
str += pad(i*self.width, 8) // padding... | ||
str += pad(addr, 8) // padding... | ||
str += ": " | ||
@@ -233,8 +254,6 @@ } | ||
var hex_raw = [] | ||
for (var i = 0; i<self.buffer.length ; i+=self.width) { | ||
var begin = i, | ||
end = i+self.width >= buffer.length ? buffer.length : i+self.width, | ||
slice = buffer.slice(begin, end), | ||
end = i+self.width >= self.buffer.length ? self.buffer.length : i+self.width, | ||
slice = self.buffer.slice(begin, end), | ||
hex = self.caps === "upper" ? hexu(slice) : hexl(slice), | ||
@@ -241,0 +260,0 @@ raw = slice.toString('ascii') |
{ | ||
"name" : "hexy", | ||
"version" : "0.2.5", | ||
"version" : "0.2.6", | ||
"description" : "hexdump, binary pretty-printing", | ||
@@ -5,0 +5,0 @@ "author" : "Tim Becker <tim.becker@kuriositaet.de>", |
22
test.js
@@ -61,2 +61,17 @@ var hexy = require("./hexy.js") | ||
"</div>\n", | ||
"0000000a: 6162 6364 6566 6768 696a 6b6c 6d6e 6f70 abcdefghijklmnop\n"+ | ||
"0000001a: 7172 7374 7576 7778 7a79 qrstuvwxzy\n", | ||
"0000000a: 6162 6364 6566 6768 696a abcdefghij\n", | ||
"<div class='hexy'>\n"+ | ||
"<div class='0000000a even'>0000000a: 6162 6364 6566 6768 696a abcdefghij</div>\n"+ | ||
"</div>\n", | ||
"0000000a: 3031 3233 3435 3637 3839 6162 6364 6566 0123456789abcdef\n"+ | ||
"0000001a: 6768 696a 6b6c 6d6e 6f70 7172 7374 7576 ghijklmnopqrstuv\n"+ | ||
"0000002a: 7778 7a79 wxzy\n", | ||
"00000014: 6162 6364 6566 6768 696a abcdefghij\n", | ||
] | ||
@@ -76,3 +91,8 @@ | ||
{caps:"upper", numbering:"none", annotate:"none", prefix:"dingdong", format:"twos"}, | ||
{html:true} | ||
{html:true}, | ||
{offset:10}, | ||
{offset:10, length:10}, | ||
{offset:10, length:10, html:true}, | ||
{display_offset: 10}, | ||
{display_offset: 10, offset:10, length:10}, | ||
] | ||
@@ -79,0 +99,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
24811
526
140