msgpack-lite 0.1.20 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/.github/workflows/nodejs.yml +23 -0
  2. package/.github/workflows/publish.yml +64 -0
  3. package/LICENSE +1 -1
  4. package/Makefile +8 -13
  5. package/README.md +28 -91
  6. package/dist/msgpack.min.js +2 -2
  7. package/lib/buffer-global.js +11 -0
  8. package/lib/buffer-lite.js +88 -60
  9. package/lib/bufferish-array.js +41 -0
  10. package/lib/bufferish-buffer.js +46 -0
  11. package/lib/bufferish-proto.js +86 -0
  12. package/lib/bufferish-uint8array.js +51 -0
  13. package/lib/bufferish.js +108 -0
  14. package/lib/codec-base.js +67 -0
  15. package/lib/codec.js +8 -1
  16. package/lib/decode-buffer.js +6 -50
  17. package/lib/decode-stream.js +7 -3
  18. package/lib/encode-buffer.js +6 -79
  19. package/lib/encode-stream.js +12 -4
  20. package/lib/ext-buffer.js +3 -1
  21. package/lib/ext-packer.js +78 -0
  22. package/lib/ext-unpacker.js +81 -0
  23. package/lib/ext.js +4 -77
  24. package/lib/flex-buffer.js +194 -0
  25. package/lib/read-core.js +36 -2
  26. package/lib/read-format.js +83 -56
  27. package/lib/read-token.js +1 -1
  28. package/lib/write-core.js +55 -2
  29. package/lib/write-token.js +54 -26
  30. package/lib/write-type.js +81 -73
  31. package/lib/write-uint8.js +2 -2
  32. package/package.json +22 -12
  33. package/test/10.encode.js +53 -33
  34. package/test/11.decode.js +16 -3
  35. package/test/14.codec.js +10 -3
  36. package/test/15.useraw.js +4 -4
  37. package/test/16.binarraybuffer.js +91 -0
  38. package/test/17.uint8array.js +43 -0
  39. package/test/18.utf8.js +59 -0
  40. package/test/20.roundtrip.js +54 -34
  41. package/test/23.extbuffer.js +46 -4
  42. package/test/27.usemap.js +66 -0
  43. package/test/30.stream.js +49 -1
  44. package/test/50.compat.js +6 -6
  45. package/test/61.encode-only.js +26 -0
  46. package/test/62.decode-only.js +23 -0
  47. package/test/63.module-deps.js +77 -0
  48. package/.npmignore +0 -7
  49. package/.travis.yml +0 -25
  50. package/.zuul.yml +0 -20
  51. package/bower.json +0 -34
  52. package/lib/buffer-shortage.js +0 -8
  53. package/lib/ext-preset.js +0 -188
  54. package/test/60.buffer-lite.js +0 -98
  55. package/test/zuul/ie.html +0 -4
@@ -33,20 +33,40 @@ function pattern(min, max, offset) {
33
33
  return array;
34
34
  }
35
35
 
36
+ var HAS_UINT8ARRAY = ("undefined" !== typeof Uint8Array);
37
+
36
38
  describe(TITLE, function() {
39
+ describe("Buffer", function() {
40
+ run_tests();
41
+ });
42
+
43
+ var describe_Uint8Array = HAS_UINT8ARRAY ? describe : describe.skip;
44
+ describe_Uint8Array("Uint8Array", function() {
45
+ run_tests({uint8array: true});
46
+ });
47
+ });
48
+
49
+ function run_tests(codecopt) {
50
+ var options;
51
+
52
+ if (codecopt) it(JSON.stringify(codecopt), function() {
53
+ var codec = msgpack.createCodec(codecopt);
54
+ assert.ok(codec);
55
+ options = {codec: codec};
56
+ });
37
57
 
38
58
  it("null", function() {
39
59
  [null, undefined].forEach(function(value) {
40
- var encoded = msgpack.encode(value);
41
- var decoded = msgpack.decode(encoded);
60
+ var encoded = msgpack.encode(value, options);
61
+ var decoded = msgpack.decode(encoded, options);
42
62
  assert.equal(decoded, value);
43
63
  });
44
64
  });
45
65
 
46
66
  it("boolean", function() {
47
67
  [true, false].forEach(function(value) {
48
- var encoded = msgpack.encode(value);
49
- var decoded = msgpack.decode(encoded);
68
+ var encoded = msgpack.encode(value, options);
69
+ var decoded = msgpack.decode(encoded, options);
50
70
  assert.equal(decoded, value);
51
71
  });
52
72
  });
@@ -54,16 +74,16 @@ describe(TITLE, function() {
54
74
  it("positive int (small)", function() {
55
75
  pattern(0, 0x40000000).forEach(function(value) {
56
76
  value = value | 0; // integer
57
- var encoded = msgpack.encode(value);
58
- var decoded = msgpack.decode(encoded);
77
+ var encoded = msgpack.encode(value, options);
78
+ var decoded = msgpack.decode(encoded, options);
59
79
  assert.equal(decoded, value);
60
80
  });
61
81
  });
62
82
 
63
83
  it("positive int (large)", function() {
64
84
  pattern(0x40000000, 0xFFFFFFFF).forEach(function(value) {
65
- var encoded = msgpack.encode(value);
66
- var decoded = msgpack.decode(encoded);
85
+ var encoded = msgpack.encode(value, options);
86
+ var decoded = msgpack.decode(encoded, options);
67
87
  assert.equal(decoded, value);
68
88
  });
69
89
  });
@@ -71,8 +91,8 @@ describe(TITLE, function() {
71
91
  it("negative int (small)", function() {
72
92
  pattern(0, 0x40000000).forEach(function(value) {
73
93
  value = -value | 0; // integer
74
- var encoded = msgpack.encode(value);
75
- var decoded = msgpack.decode(encoded);
94
+ var encoded = msgpack.encode(value, options);
95
+ var decoded = msgpack.decode(encoded, options);
76
96
  assert.equal(decoded, value);
77
97
  });
78
98
  });
@@ -80,16 +100,16 @@ describe(TITLE, function() {
80
100
  it("negative int (large)", function() {
81
101
  pattern(0x40000000, 0xFFFFFFFF).forEach(function(value) {
82
102
  value = -value;
83
- var encoded = msgpack.encode(value);
84
- var decoded = msgpack.decode(encoded);
103
+ var encoded = msgpack.encode(value, options);
104
+ var decoded = msgpack.decode(encoded, options);
85
105
  assert.equal(decoded, value);
86
106
  });
87
107
  });
88
108
 
89
109
  it("float", function() {
90
110
  [1.1, 10.01, 100.001, 1000.0001, 10000.00001, 100000.000001, 1000000.0000001].forEach(function(value) {
91
- var encoded = msgpack.encode(value);
92
- var decoded = msgpack.decode(encoded);
111
+ var encoded = msgpack.encode(value, options);
112
+ var decoded = msgpack.decode(encoded, options);
93
113
  assert.equal(decoded, value);
94
114
  });
95
115
  });
@@ -98,8 +118,8 @@ describe(TITLE, function() {
98
118
  this.timeout(30000);
99
119
  pattern(0, 65537).forEach(function(length) {
100
120
  var value = STRING_ASCII.substr(0, length);
101
- var encoded = msgpack.encode(value);
102
- var decoded = msgpack.decode(encoded);
121
+ var encoded = msgpack.encode(value, options);
122
+ var decoded = msgpack.decode(encoded, options);
103
123
  assert.equal(decoded, value);
104
124
  });
105
125
  });
@@ -108,8 +128,8 @@ describe(TITLE, function() {
108
128
  this.timeout(30000);
109
129
  pattern(0, 65537).forEach(function(length) {
110
130
  var value = STRING_GREEK.substr(0, length);
111
- var encoded = msgpack.encode(value);
112
- var decoded = msgpack.decode(encoded);
131
+ var encoded = msgpack.encode(value, options);
132
+ var decoded = msgpack.decode(encoded, options);
113
133
  assert.equal(decoded, value);
114
134
  });
115
135
  });
@@ -118,8 +138,8 @@ describe(TITLE, function() {
118
138
  this.timeout(30000);
119
139
  pattern(0, 65537).forEach(function(length) {
120
140
  var value = STRING_ASIAN.substr(0, length);
121
- var encoded = msgpack.encode(value);
122
- var decoded = msgpack.decode(encoded);
141
+ var encoded = msgpack.encode(value, options);
142
+ var decoded = msgpack.decode(encoded, options);
123
143
  assert.equal(decoded, value);
124
144
  });
125
145
  });
@@ -131,8 +151,8 @@ describe(TITLE, function() {
131
151
  value[i] = String.fromCharCode(i);
132
152
  }
133
153
  assert.equal(value.length, length);
134
- var encoded = msgpack.encode(value);
135
- var decoded = msgpack.decode(encoded);
154
+ var encoded = msgpack.encode(value, options);
155
+ var decoded = msgpack.decode(encoded, options);
136
156
  assert.equal(decoded.length, length);
137
157
  assert.equal(decoded[0], value[0]);
138
158
  assert.equal(decoded[length - 1], value[length - 1]);
@@ -144,15 +164,15 @@ describe(TITLE, function() {
144
164
  pattern(0, 65537).forEach(function(length) {
145
165
  var value = new Array(length);
146
166
  assert.equal(value.length, length);
147
- var encoded = msgpack.encode(value);
148
- var decoded = msgpack.decode(encoded);
167
+ var encoded = msgpack.encode(value, options);
168
+ var decoded = msgpack.decode(encoded, options);
149
169
  assert.equal(decoded.length, length);
150
170
  assert.equal(decoded[0], value[0]);
151
171
  assert.equal(decoded[length - 1], value[length - 1]);
152
172
  });
153
173
  });
154
174
 
155
- it("map (small)", function() {
175
+ it("object map (small)", function() {
156
176
  pattern(0, 257).forEach(function(length) {
157
177
  var value = {};
158
178
  for (var i = 0; i < length; i++) {
@@ -160,15 +180,15 @@ describe(TITLE, function() {
160
180
  value[key] = length;
161
181
  }
162
182
  assert.equal(Object.keys(value).length, length);
163
- var encoded = msgpack.encode(value);
164
- var decoded = msgpack.decode(encoded);
183
+ var encoded = msgpack.encode(value, options);
184
+ var decoded = msgpack.decode(encoded, options);
165
185
  assert.equal(Object.keys(decoded).length, length);
166
186
  assert.equal(decoded[0], value[0]);
167
187
  assert.equal(decoded[length - 1], value[length - 1]);
168
188
  });
169
189
  });
170
190
 
171
- it("map (large)", function() {
191
+ it("object map (large)", function() {
172
192
  this.timeout(30000);
173
193
  pattern(65536, 65537).forEach(function(length) {
174
194
  var value = {};
@@ -176,8 +196,8 @@ describe(TITLE, function() {
176
196
  value[i] = length;
177
197
  }
178
198
  assert.equal(Object.keys(value).length, length);
179
- var encoded = msgpack.encode(value);
180
- var decoded = msgpack.decode(encoded);
199
+ var encoded = msgpack.encode(value, options);
200
+ var decoded = msgpack.decode(encoded, options);
181
201
  assert.equal(Object.keys(decoded).length, length);
182
202
  assert.equal(decoded[0], value[0]);
183
203
  assert.equal(decoded[length - 1], value[length - 1]);
@@ -187,14 +207,14 @@ describe(TITLE, function() {
187
207
  it("buffer", function() {
188
208
  this.timeout(30000);
189
209
  pattern(2, 65537).forEach(function(length, idx) {
190
- var value = new Buffer(length);
210
+ var value = Buffer.alloc(length);
191
211
  value.fill(idx);
192
212
  assert.equal(value.length, length);
193
- var encoded = msgpack.encode(value);
194
- var decoded = msgpack.decode(encoded);
213
+ var encoded = msgpack.encode(value, options);
214
+ var decoded = msgpack.decode(encoded, options);
195
215
  assert.equal(decoded.length, length);
196
216
  assert.equal(decoded[0], value[0]);
197
217
  assert.equal(decoded[length - 1], value[length - 1]);
198
218
  });
199
219
  });
200
- });
220
+ }
@@ -8,6 +8,8 @@ var isBrowser = ("undefined" !== typeof window);
8
8
  var msgpack = isBrowser && window.msgpack || require(msgpackJS);
9
9
  var TITLE = __filename.replace(/^.*\//, "");
10
10
 
11
+ var HAS_UINT8ARRAY = ("undefined" !== typeof Uint8Array);
12
+
11
13
  describe(TITLE, function() {
12
14
  it("ExtBuffer (0x00)", function() {
13
15
  testExtBuffer(0);
@@ -19,10 +21,16 @@ describe(TITLE, function() {
19
21
  }
20
22
  });
21
23
 
24
+ it("ExtBuffer Array (0x20-0xFF)", function() {
25
+ for (var i = 32; i < 256; i++) {
26
+ testExtBufferArray(i);
27
+ }
28
+ });
29
+
22
30
  function testExtBuffer(type) {
23
31
  // fixext 8 -- 0xd7
24
- var header = new Buffer([0xd7, type]);
25
- var content = new Buffer(8);
32
+ var header = Buffer.from([0xd7, type]);
33
+ var content = Buffer.alloc(8);
26
34
  for (var i = 0; i < 8; i++) {
27
35
  content[i] = (type + i) & 0x7F;
28
36
  }
@@ -30,8 +38,42 @@ describe(TITLE, function() {
30
38
  var decoded = msgpack.decode(source);
31
39
  assert.equal(decoded.type, type);
32
40
  assert.equal(decoded.buffer.length, content.length);
33
- assert.deepEqual(decoded.buffer, content);
41
+ assert.deepEqual(toArray(decoded.buffer), toArray(content));
34
42
  var encoded = msgpack.encode(decoded);
35
- assert.deepEqual(encoded, source);
43
+ assert.deepEqual(toArray(encoded), toArray(source));
36
44
  }
45
+
46
+ // Unpack and re-pack an array of extension types.
47
+ // Tests, among other things, that the right number of bytes are
48
+ // consumed with each ext type read.
49
+ function testExtBufferArray(type) {
50
+ function content(j) {
51
+ var x = j * type;
52
+ return Buffer.from([x & 0x7F, (x + 1) & 0x7F]);
53
+ }
54
+ // fixarray len 10
55
+ var arrayHeader = Buffer.from([0x9a]);
56
+ var fullBuffer = arrayHeader;
57
+ for (var j = 0; j < 10; j++) {
58
+ // fixext 2 -- 0xd5
59
+ var header = Buffer.from([0xd5, type]);
60
+ fullBuffer = Buffer.concat([fullBuffer, header, content(j)]);
61
+ }
62
+ var decoded = msgpack.decode(fullBuffer);
63
+ assert.equal(true, decoded instanceof Array);
64
+ assert.equal(decoded.length, 10);
65
+ for (j = 0; j < 10; j++) {
66
+ assert.equal(decoded[j].type, type);
67
+ assert.equal(decoded[j].buffer.length, 2);
68
+ assert.deepEqual(decoded[j].buffer, content(j));
69
+ }
70
+ var encoded = msgpack.encode(decoded);
71
+ assert.deepEqual(encoded, fullBuffer);
72
+ }
73
+
37
74
  });
75
+
76
+ function toArray(array) {
77
+ if (HAS_UINT8ARRAY && array instanceof ArrayBuffer) array = new Uint8Array(array);
78
+ return Array.prototype.slice.call(array);
79
+ }
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env mocha -R spec
2
+
3
+ var assert = require("assert");
4
+ var msgpackJS = "../index";
5
+ var isBrowser = ("undefined" !== typeof window);
6
+ var HAS_MAP = ("undefined" !== typeof Map);
7
+ var msgpack = isBrowser && window.msgpack || require(msgpackJS);
8
+ var TITLE = __filename.replace(/^.*\//, "");
9
+
10
+ function pattern(min, max, offset) {
11
+ var array = [];
12
+ var check = {};
13
+ var val = min - 1;
14
+ while (val <= max) {
15
+ if (min <= val && !check[val]) array.push(val);
16
+ check[val++] = 1;
17
+ if (val <= max && !check[val]) array.push(val);
18
+ check[val++] = 1;
19
+ if (val <= max && !check[val]) array.push(val);
20
+ check[val--] = 1;
21
+ val = val ? val * 2 - 1 : 1;
22
+ }
23
+ return array;
24
+ }
25
+
26
+ // Run these tests when Map is available
27
+ var describeSkip = HAS_MAP ? describe : describe.skip;
28
+
29
+ describeSkip(TITLE, function() {
30
+
31
+ it("Map (small)", function() {
32
+ pattern(0, 257).forEach(function(length) {
33
+ var value = new Map();
34
+ assert.equal(true, value instanceof Map);
35
+ for (var i = 0; i < length; i++) {
36
+ var key = String.fromCharCode(i);
37
+ value.set(key, length);
38
+ }
39
+ assert.equal(value.size, length);
40
+ var options = {codec: msgpack.createCodec({usemap: true})};
41
+ var encoded = msgpack.encode(value, options);
42
+ var decoded = msgpack.decode(encoded, options);
43
+ assert.equal(true, decoded instanceof Map);
44
+ assert.equal(decoded.size, length);
45
+ assert.equal(decoded.get(String.fromCharCode(0)), value.get(String.fromCharCode(0)));
46
+ assert.equal(decoded.get(String.fromCharCode(length - 1)), value.get(String.fromCharCode(length - 1)));
47
+ });
48
+ });
49
+
50
+ it("Map (large)", function() {
51
+ this.timeout(30000);
52
+ pattern(65536, 65537).forEach(function(length) {
53
+ var value = new Map();
54
+ for (var i = 0; i < length; i++) {
55
+ value.set(i, length);
56
+ }
57
+ assert.equal(value.size, length);
58
+ var options = {codec: msgpack.createCodec({usemap: true})};
59
+ var encoded = msgpack.encode(value, options);
60
+ var decoded = msgpack.decode(encoded, options);
61
+ assert.equal(decoded.size, length);
62
+ assert.equal(decoded.get(0), value.get(0));
63
+ assert.equal(decoded.get(length - 1), value.get(length - 1));
64
+ });
65
+ });
66
+ });
package/test/30.stream.js CHANGED
@@ -22,6 +22,9 @@ var encoded = [
22
22
 
23
23
  var encodeall = Buffer.concat(encoded);
24
24
 
25
+ // invalid msgpack type
26
+ var invalencoded = Buffer.from([0xc1]);
27
+
25
28
  describe(TITLE, function() {
26
29
 
27
30
  it("msgpack.createEncodeStream()", function(done) {
@@ -108,7 +111,7 @@ describe(TITLE, function() {
108
111
 
109
112
  // write a single byte into the decode stream
110
113
  function each(x) {
111
- decoder.write(Buffer([x]));
114
+ decoder.write(Buffer.from([x]));
112
115
  }
113
116
 
114
117
  function onData(data) {
@@ -116,4 +119,49 @@ describe(TITLE, function() {
116
119
  if (++count === 3) done();
117
120
  }
118
121
  });
122
+
123
+ it("msgpack.createDecodeStream().on('error',fn)", function(done) {
124
+ var decoder = msgpack.createDecodeStream();
125
+
126
+ decoder.on("error", function(e) {
127
+ if (!(e instanceof Error)) return done(new Error("should be an error"));
128
+ if (!/Invalid type/.test(e.message)) return done(new Error("unexpected: " + e.message));
129
+ done();
130
+ });
131
+
132
+ decoder.on("data", function() {
133
+ // throwing here would be captured by the try/catch under test
134
+ done(new Error("should not emit data"));
135
+ });
136
+
137
+ decoder.end(invalencoded);
138
+ });
139
+
140
+ it("msgpack.createEncodeStream().on('error',fn)", function(done) {
141
+ var circular = [];
142
+ circular.push(circular);
143
+
144
+ // the error event should carry what the synchronous API throws
145
+ var expected;
146
+ try {
147
+ msgpack.encode(circular);
148
+ } catch (e) {
149
+ expected = e;
150
+ }
151
+ assert.ok(expected instanceof Error, "encode() should throw for circular references");
152
+
153
+ var encoder = msgpack.createEncodeStream();
154
+
155
+ encoder.on("error", function(e) {
156
+ if (!(e instanceof Error)) return done(new Error("should be an error"));
157
+ if (e.name !== expected.name) return done(new Error("unexpected: " + e.name));
158
+ done();
159
+ });
160
+
161
+ // partial output is flushed as the internal buffer overflows
162
+ encoder.resume();
163
+
164
+ encoder.end(circular);
165
+ });
166
+
119
167
  });
package/test/50.compat.js CHANGED
@@ -10,28 +10,28 @@ var data = require("./example.json");
10
10
  describe(TITLE, function() {
11
11
  test("msgpack", function(they) {
12
12
  assert.deepEqual(they.unpack(msgpack.encode(data)), data);
13
- assert.deepEqual(msgpack.decode(Buffer(they.pack(data))), data);
13
+ assert.deepEqual(msgpack.decode(Buffer.from(they.pack(data))), data);
14
14
  });
15
15
 
16
16
  test("msgpack-js", function(they) {
17
17
  assert.deepEqual(they.decode(msgpack.encode(data)), data);
18
- assert.deepEqual(msgpack.decode(Buffer(they.encode(data))), data);
18
+ assert.deepEqual(msgpack.decode(Buffer.from(they.encode(data))), data);
19
19
  });
20
20
 
21
21
  test("msgpack-js-v5", function(they) {
22
22
  assert.deepEqual(they.decode(msgpack.encode(data)), data);
23
- assert.deepEqual(msgpack.decode(Buffer(they.encode(data))), data);
23
+ assert.deepEqual(msgpack.decode(Buffer.from(they.encode(data))), data);
24
24
  });
25
25
 
26
26
  test("msgpack5", function(they) {
27
27
  they = they();
28
28
  assert.deepEqual(they.decode(msgpack.encode(data)), data);
29
- assert.deepEqual(msgpack.decode(Buffer(they.encode(data))), data);
29
+ assert.deepEqual(msgpack.decode(Buffer.from(they.encode(data))), data);
30
30
  });
31
31
 
32
32
  test("notepack", function(they) {
33
33
  assert.deepEqual(they.decode(msgpack.encode(data)), data);
34
- assert.deepEqual(msgpack.decode(Buffer(they.encode(data))), data);
34
+ assert.deepEqual(msgpack.decode(Buffer.from(they.encode(data))), data);
35
35
  });
36
36
 
37
37
  test("msgpack-unpack", function(they) {
@@ -41,7 +41,7 @@ describe(TITLE, function() {
41
41
  test("msgpack.codec", function(they) {
42
42
  they = they.msgpack;
43
43
  assert.deepEqual(they.unpack(msgpack.encode(data)), data);
44
- assert.deepEqual(msgpack.decode(Buffer(they.pack(data))), data);
44
+ assert.deepEqual(msgpack.decode(Buffer.from(they.pack(data))), data);
45
45
  });
46
46
  });
47
47
 
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env mocha -R spec
2
+
3
+ var assert = require("assert");
4
+
5
+ var encode = require("../lib/encode").encode;
6
+ var ExtBuffer = require("../lib/ext-buffer").ExtBuffer;
7
+ var TITLE = __filename.replace(/^.*\//, "");
8
+
9
+ describe(TITLE, function() {
10
+ it("encode", function() {
11
+ // int
12
+ assert.deepEqual(toArray(encode(1)), [1]);
13
+
14
+ // str
15
+ assert.deepEqual(toArray(encode("a")), [161, 97]);
16
+
17
+ // ExtBuffer
18
+ var ext = new ExtBuffer(Buffer.from([1]), 127);
19
+ assert.ok(ext instanceof ExtBuffer);
20
+ assert.deepEqual(toArray(encode(ext)), [212, 127, 1]);
21
+ });
22
+ });
23
+
24
+ function toArray(buffer) {
25
+ return Array.prototype.slice.call(buffer);
26
+ }
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env mocha -R spec
2
+
3
+ var assert = require("assert");
4
+
5
+ var decode = require("../lib/decode").decode;
6
+ var ExtBuffer = require("../lib/ext-buffer").ExtBuffer;
7
+ var TITLE = __filename.replace(/^.*\//, "");
8
+
9
+ describe(TITLE, function() {
10
+ it("decode", function() {
11
+ // int
12
+ assert.equal(decode([1]), 1);
13
+
14
+ // str
15
+ assert.equal(decode([161, 97]), "a");
16
+
17
+ // ExtBuffer
18
+ var ext = decode(Buffer.from([212, 127, 1]));
19
+ assert.ok(ext instanceof ExtBuffer);
20
+ assert.equal(ext.buffer[0], 1);
21
+ assert.equal(ext.type, 127);
22
+ });
23
+ });
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env mocha -R spec
2
+
3
+ var TITLE = __filename.replace(/^.*\//, "");
4
+
5
+ describe(TITLE, function() {
6
+ var mdeps;
7
+ var itSkip = it;
8
+
9
+ try {
10
+ mdeps = require("browserify/node_modules/module-deps");
11
+ } catch (e) {
12
+ itSkip = it.skip;
13
+ }
14
+
15
+ // index.js should not require stream modules
16
+
17
+ itSkip("index.js dependencies", function(next) {
18
+ var opt = {file: __dirname + "/../index.js"};
19
+ var list = [];
20
+ mdeps().on("data", onData).on("end", onEnd).end(opt);
21
+
22
+ function onData(data) {
23
+ list.push(data.file);
24
+ }
25
+
26
+ function onEnd() {
27
+ var hit = list.filter(check)[0];
28
+ next(hit && new Error(hit));
29
+ }
30
+
31
+ function check(value) {
32
+ return value.match(/stream/) && !value.match(/node_modules/);
33
+ }
34
+ });
35
+
36
+ // decode.js should not require encode|write modules
37
+
38
+ itSkip("decode.js dependencies", function(next) {
39
+ var opt = {file: __dirname + "/../lib/decode.js"};
40
+ var list = [];
41
+ mdeps().on("data", onData).on("end", onEnd).end(opt);
42
+
43
+ function onData(data) {
44
+ list.push(data.file);
45
+ }
46
+
47
+ function onEnd() {
48
+ var hit = list.filter(check)[0];
49
+ next(hit && new Error(hit));
50
+ }
51
+
52
+ function check(value) {
53
+ return value.match(/encode|write/) && !value.match(/node_modules/);
54
+ }
55
+ });
56
+
57
+ // encode.js should not require decode|read modules
58
+
59
+ itSkip("encode.js dependencies", function(next) {
60
+ var opt = {file: __dirname + "/../lib/encode.js"};
61
+ var list = [];
62
+ mdeps().on("data", onData).on("end", onEnd).end(opt);
63
+
64
+ function onData(data) {
65
+ list.push(data.file);
66
+ }
67
+
68
+ function onEnd() {
69
+ var hit = list.filter(check)[0];
70
+ next(hit && new Error(hit));
71
+ }
72
+
73
+ function check(value) {
74
+ return value.match(/decode|read/) && !value.match(/node_modules/);
75
+ }
76
+ });
77
+ });
package/.npmignore DELETED
@@ -1,7 +0,0 @@
1
- *~
2
- .DS_Store
3
- .idea/
4
- node_modules/
5
- *.browserify.js
6
- *.js.gz
7
- gh-pages/
package/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- sudo: false
2
-
3
- language: node_js
4
-
5
- matrix:
6
- include:
7
- - node_js: "0.12"
8
- env: BROWSER=1
9
- - node_js: "0.10"
10
- - node_js: "0.12"
11
- - node_js: "4"
12
- - node_js: "5"
13
-
14
- env:
15
- global:
16
- - CXX=g++-4.8
17
- - secure: P5H38v7QLRCYOWZkDKkl5ubJK0WxaAeVPDqbRlZDXbzEthjNf/rVMF6vnjyssbgbujTaU7xJmnVXKxjKtwAZXRrv3D9pmqqAOXdBNxaIs+Y05exA0pPBfBQNxVWKx6jbCoW7a12yWBreOAVd7sqjT86Plr2LsLM72BLaSl2v+18wOAnxYPFdDTEU17DegDUeQfmt+qFVNIUfuLcHyuiNFnLisWjhJmm3JmcjBL2WuSj2JC5Qll/zr7ezZns8qzqXqFsRRkLie4nVERV0kXvZRH5t5iB9444vwXhkVcOa2HSH+aVEDXoRVkj7JLmvYBGay/DKrGUDST91f7d5DpNYwZYNi5YHfpySaEEM8RDd+TM7oHr2YeWykqjBv4lfqVq3t9WFpC3YvLujaTNtNh01P24jvx81/XCKYWtYmBeGD7I8lVmFbOt7JNRSvfz2kP5qT47AIj3bpSBfouhntOVPkFz+e3pvK4w8wBBOLhRgXaFJZnE5IK5CRqNuEps/dBmAk5ANwoTewtLXmr2pJXVBBKmaj6E/1EmOb3KBC8F5yqid4UWJMgGK9g+QtY24mYfkIB5mldK5t9sePtNxkEqfxPO22IS7CEydr/LCB6g5zftcy7WN28DhCr3UbAC9Ydsa1k8LFsgznQ0sfyxOi/8c6lOdCLR947elLy5tAaemi20=
18
- - secure: Lqm+pi1xprYlJurnEGmShpcohkWh7BwT2WvZXbfTwFH4K1BQIzbTbmhdkBTpfrJzF05q0zUGvYOTOpmz4K0JKsJfCdrjjEkpsZxTMrOvJG/C0aDLAsaiOtXTNA4unjL4qlaOA82btry6ATOsxYDWyYtjQKBUJvFEYgjBUkLarWxywU7cw8OcL4ICfHjFVA4ODvOmxUQ9ESCc1E6JkacjyprVx5gmrzEfN0JL6wcaXewt7prx02U5iDFONkntpx8VEhTwBGM2nWGzbPgiuRfOV879YXkPPWUNJc/P1Q8r8T3hvFGmg2b1x8aNZ60ir64ArXannsQhJB3rZ15rp5cAptuhMAMuuc+aF0z0VIDVStSNsLxWa/u6pH8ctMvHokrguFUSpQpduOdke/B4y719fRLUS3IW98Z10+dw0LQUn1TDmryK4ELy0IDLYPNeJJ0NoaUCv7a6OT22II085iAjGw+vMaiTm/3MRIe4kjIg2jJaCsYUZ1VFW9O/0aqtUpjuHmLg0cAxfrjBW/+sexhfO3/Ea6NCmTjaC9T7fB5YzCiEvYCHRoDUj1aloYvMBog8eE0BvDLCtbwqGBIwa5G9TEfu1ywJLQPmRXf1U1c5HUvUc+P82XOX1fs0AeeskHRSkIBLkuzYXQNcp6hU3Iy1/FOClBcAdHSi3OExJdSFHHo=
19
-
20
- addons:
21
- apt:
22
- sources:
23
- - ubuntu-toolchain-r-test
24
- packages:
25
- - g++-4.8
package/.zuul.yml DELETED
@@ -1,20 +0,0 @@
1
- sauce_username: msgpack-lite
2
- sauce_key: "32947ef3-a727-4848-9aee-cebe65df3be4"
3
- name: msgpack-lite
4
- ui: mocha-bdd
5
- html: "test/zuul/ie.html"
6
- scripts:
7
- - "dist/msgpack.min.js"
8
- browsers:
9
- - name: ie
10
- version: "9..latest"
11
- - name: chrome
12
- version: "latest"
13
- - name: firefox
14
- version: "latest"
15
- - name: safari
16
- version: "7..latest"
17
- - name: iphone
18
- version: ["7.1", "8.4", "9.2..latest"]
19
- - name: android
20
- version: ["4.1", "4.4", "5.1..latest"]
package/bower.json DELETED
@@ -1,34 +0,0 @@
1
- {
2
- "name": "msgpack-lite",
3
- "description": "Fast Pure JavaScript MessagePack Encoder and Decoder",
4
- "authors": [
5
- "@kawanet"
6
- ],
7
- "license": "MIT",
8
- "moduleType": [
9
- "globals"
10
- ],
11
- "keywords": [
12
- "buffer",
13
- "fluentd",
14
- "messagepack",
15
- "msgpack",
16
- "serialize",
17
- "stream",
18
- "typedarray",
19
- "arraybuffer",
20
- "uint8array"
21
- ],
22
- "homepage": "https://github.com/kawanet/msgpack-lite",
23
- "ignore": [
24
- ".*",
25
- "Makefile",
26
- "bin",
27
- "bower_components",
28
- "global.js",
29
- "index.js",
30
- "lib",
31
- "node_modules",
32
- "test"
33
- ]
34
- }
@@ -1,8 +0,0 @@
1
- // buffer-shortage.js
2
-
3
- exports.BufferShortageError = BufferShortageError;
4
-
5
- BufferShortageError.prototype = Error.prototype;
6
-
7
- function BufferShortageError() {
8
- }