+6
-13
@@ -5,3 +5,3 @@ const gulp = require('gulp'); | ||
| const mocha = require('gulp-mocha'); | ||
| const del = require('del'); | ||
| const sourcemaps = require('gulp-sourcemaps'); | ||
@@ -12,16 +12,14 @@ const buildPath = 'lib'; | ||
| // Not all tasks need to use streams | ||
| // A gulpfile is just another node program and you can use any package available on npm | ||
| gulp.task('clean', function () { | ||
| // You can use multiple globbing patterns as you would with `gulp.src` | ||
| return del([buildPath]); | ||
| return gulp.src([buildPath], {read: false}) | ||
| .pipe(clean()); | ||
| }); | ||
| gulp.task('compile', ['clean'], function () { | ||
| // Minify and copy all JavaScript (except vendor scripts) | ||
| // with sourcemaps all the way down | ||
| return gulp.src(['src/**/*.ts']) | ||
| .pipe(sourcemaps.init()) // generate sourcemaps | ||
| .pipe(typescript({ | ||
| declaration: true, target: 'es5' | ||
| })) // ({tmpDir:'.tmp'}) | ||
| })) | ||
| .pipe(sourcemaps.write()) // add the sourcemaps to the .js file | ||
| .pipe(gulp.dest(buildPath)) | ||
@@ -31,4 +29,2 @@ }); | ||
| gulp.task('test-compile', ['compile'], function () { | ||
| // Minify and copy all JavaScript (except vendor scripts) | ||
| // with sourcemaps all the way down | ||
| return gulp.src(['test/**/*.ts']) | ||
@@ -40,8 +36,5 @@ .pipe(typescript(), {target: 'es5'}) | ||
| gulp.task('test', ['test-compile'], function () { | ||
| // Minify and copy all JavaScript (except vendor scripts) | ||
| // with sourcemaps all the way down | ||
| return gulp.src('test', { read: false }) | ||
| //.pipe(mocha({require: 'ts-node/register'})) | ||
| .pipe(mocha()) | ||
| }); | ||
+1
-1
@@ -81,3 +81,3 @@ "use strict"; | ||
| var buf = new Buffer(length); | ||
| return this.streamReader.read(buf, 0, length); // stream cannot skip data | ||
| return this.streamReader.read(buf, 0, length).then(function () { return null; }); // stream cannot skip data | ||
| }; | ||
@@ -84,0 +84,0 @@ return ReadStreamTokenizer; |
+3
-4
| { | ||
| "name": "strtok3", | ||
| "version": "0.1.1", | ||
| "version": "0.1.2", | ||
| "description": "A promise based streaming tokenizer", | ||
@@ -37,9 +37,8 @@ "author": { | ||
| "debug": "^2.6.8", | ||
| "del": "^3.0.0", | ||
| "gulp": "^3.9.1", | ||
| "gulp-clean": "^0.3.2", | ||
| "gulp-mocha": "^4.3.1", | ||
| "gulp-sourcemaps": "^2.6.0", | ||
| "gulp-tsc": "^1.3.2", | ||
| "mocha": "^3.4.2", | ||
| "token-types": "0.0.1", | ||
| "ts-node": "^3.1.0", | ||
@@ -52,3 +51,3 @@ "typescript": "^2.4.0", | ||
| "fs-extra": "^3.0.1", | ||
| "then-read-stream": "^0.0.4", | ||
| "then-read-stream": "0.0.6", | ||
| "token-types": "0.0.2" | ||
@@ -55,0 +54,0 @@ }, |
+2
-3
| "use strict"; | ||
| // Test reading an array of bytes. | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.__esModule = true; | ||
| var then_read_stream_1 = require("then-read-stream"); | ||
@@ -30,3 +30,3 @@ var Token = require("token-types"); | ||
| chai_1.assert.fail("Should rejct due to end-of-stream"); | ||
| }).catch(function (err) { | ||
| })["catch"](function (err) { | ||
| chai_1.assert.equal(err, then_read_stream_1.StreamReader.EndOfStream); | ||
@@ -367,2 +367,1 @@ }); | ||
| }); | ||
| //# sourceMappingURL=test.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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","sourcesContent":["// Test reading an array of bytes.\n\nimport {StreamReader} from \"then-read-stream\";\nimport * as Token from \"token-types\";\n\nimport {} from \"mocha\"\nimport {assert} from 'chai';\nimport {SourceStream} from \"./util\";\nimport {FileTokenizer, ReadStreamTokenizer} from \"../src\";\nimport * as Path from 'path';\nimport {IgnoreType} from \"token-types\";\n\ndescribe(\"ReadStreamTokenizer\", () => {\n\n\n describe(\"buffer\", () => {\n\n const ss = new SourceStream('\\x05peter');\n const rst = new ReadStreamTokenizer(ss);\n\n it(\"should decode UINT8 from chunk\", () => {\n\n return rst.readToken<number>(Token.UINT8).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 5, \"0x05 == 5\");\n });\n });\n\n it(\"should decode string from chunk\", () => {\n\n return rst.readToken<string>(new Token.StringType(5, 'utf-8')).then((value) => {\n assert.ok(typeof value === 'string');\n assert.equal(value, 'peter', \"0x05 == 5\");\n });\n });\n\n it(\"should should reject at the end of the stream\", () => {\n\n return rst.readToken<number>(Token.UINT8).then((value) => {\n assert.fail(\"Should rejct due to end-of-stream\");\n }).catch((err) => {\n assert.equal(err, StreamReader.EndOfStream);\n })\n });\n });\n\n\n describe(\"Parsing binary numbers\", () => {\n\n\n it(\"should encode signed 8-bit integer (INT8)\", () => {\n\n const b = new Buffer(1);\n\n Token.INT8.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00');\n\n Token.INT8.put(b, 0, 0x22);\n assert.strictEqual(b.toString('binary'), '\\x22');\n\n Token.INT8.put(b, 0, -0x22);\n assert.strictEqual(b.toString('binary'), '\\xde');\n });\n\n it(\"should decode signed 8-bit integer (INT8)\", () => {\n\n const ss = new SourceStream('\\x00\\x7f\\x80\\xff\\x81');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT8)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT8 #1 == 0\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 127, \"INT8 #2 == 127\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -128, \"INT8 #3 == -128\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT8 #4 == -1\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -127, \"INT8 #5 == -127\");\n });\n });\n\n it(\"should encode signed 16-bit big-endian integer (INT16_BE)\", () => {\n\n const b = new Buffer(2);\n\n Token.INT16_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00');\n\n Token.INT16_BE.put(b, 0, 0x0f0b);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b');\n\n Token.INT16_BE.put(b, 0, -0x0f0b);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf5');\n });\n\n it(\"should decode signed 16-bit big-endian integer (INT16_BE)\", () => {\n\n const ss = new SourceStream('\\x0a\\x1a\\x00\\x00\\xff\\xff\\x80\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT16_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 2586, \"INT16_BE#1\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT16_BE#2\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT16_BE#3\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -32768, \"INT16_BE#4\");\n })\n });\n\n it(\"should encode signed 24-bit big-endian integer (INT24_BE)\", () => {\n\n const b = new Buffer(3);\n\n Token.INT24_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.INT24_BE.put(b, 0, 0x0f0ba0);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b\\xa0');\n\n Token.INT24_BE.put(b, 0, -0x0f0bcc);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf4\\x34');\n });\n\n it(\"should decode signed 24-bit big-endian integer (INT24_BE)\", () => {\n\n const ss = new SourceStream('\\x00\\x00\\x00\\xff\\xff\\xff\\x10\\x00\\xff\\x80\\x00\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT24_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT24_BE#1\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT24_BE#2\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 1048831, \"INT24_BE#3\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -8388608, \"INT24_BE#4\");\n })\n });\n\n // ToDo: test decoding: INT24_LE\n\n it(\"should encode signed 32-bit big-endian integer (INT32_BE)\", () => {\n\n const b = new Buffer(4);\n\n Token.INT32_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.INT32_BE.put(b, 0, 0x0f0bcca0);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b\\xcc\\xa0');\n\n Token.INT32_BE.put(b, 0, -0x0f0bcca0);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf4\\x33\\x60');\n });\n\n it(\"should decode signed 32-bit big-endian integer (INT32_BE)\", () => {\n\n const ss = new SourceStream('\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\x00\\x10\\x00\\xff\\x80\\x00\\x00\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT32_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT24_BE #1\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT32_BE #2\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 1048831, \"INT32_BE #3\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -2147483648, \"INT32_BE #4\");\n })\n });\n\n it(\"should encode signed 8-bit big-endian integer (INT8)\", () => {\n\n const b = new Buffer(1);\n\n Token.UINT8.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00');\n\n Token.UINT8.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff');\n });\n\n it(\"should decode unsigned 8-bit big-endian integer (UINT8)\", () => {\n\n const ss = new SourceStream('\\x00\\x1a\\xff');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT8)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"UINT8 #1\");\n return rst.readToken<number>(Token.UINT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 26, \"UINT8 #2\");\n return rst.readToken<number>(Token.UINT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 255, \"UINT8 #3\");\n });\n });\n\n it(\"should encode unsigned 16-bit big-endian integer (UINT16_LE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT16_LE.put(b, 0, 0x00);\n Token.UINT16_LE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\xaa\\xff');\n });\n\n it(\"should encode unsigned 16-bit little-endian integer (UINT16_BE)\", () => {\n const b = new Buffer(4);\n Token.UINT16_BE.put(b, 0, 0xf);\n Token.UINT16_BE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\x00\\x0f\\xff\\xaa');\n });\n\n it(\"should encode unsigned 16-bit mixed little/big-endian integers\", () => {\n const b = new Buffer(4);\n Token.UINT16_BE.put(b, 0, 0xffaa);\n Token.UINT16_LE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\xff\\xaa\\xaa\\xff');\n });\n\n it(\"should decode unsigned mixed 16-bit big/little-endian integer\", () => {\n\n const ss = new SourceStream('\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT16_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a, \"UINT16_LE #1\");\n return rst.readToken<number>(Token.UINT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a00, \"UINT16_BE #2\");\n return rst.readToken<number>(Token.UINT16_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a, \"UINT16_BE #3\");\n return rst.readToken<number>(Token.UINT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a00, \"UINT16_LE #4\");\n });\n });\n\n it(\"should encode unsigned 24-bit little-endian integer (UINT24_LE)\", () => {\n\n const b = new Buffer(3);\n\n Token.UINT24_LE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.UINT24_LE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff\\x00\\x00');\n\n Token.UINT24_LE.put(b, 0, 0xaabbcc);\n assert.strictEqual(b.toString('binary'), '\\xcc\\xbb\\xaa');\n });\n\n it(\"should encode unsigned 24-bit big-endian integer (UINT24_BE)\", () => {\n\n const b = new Buffer(3);\n\n Token.UINT24_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.UINT24_BE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\xff');\n\n Token.UINT24_BE.put(b, 0, 0xaabbcc);\n assert.strictEqual(b.toString('binary'), '\\xaa\\xbb\\xcc');\n });\n\n it(\"should decode signed 24-bit big/little-endian integer (UINT24_LE/INT24_BE)\", () => {\n\n const ss = new SourceStream('\\x1a\\x1a\\x00\\x1a\\x1a\\x00\\x1a\\x1a\\x00\\x1a\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT24_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a1a, \"INT24_LE#1\");\n return rst.readToken<number>(Token.UINT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a1a00, \"INT24_BE#2\");\n return rst.readToken<number>(Token.UINT24_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a1a, \"INT24_LE#3\");\n return rst.readToken<number>(Token.UINT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a1a00, \"INT24_BE#4\");\n })\n });\n\n it(\"should encode unsigned 32-bit little-endian integer (UINT32_LE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT32_LE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.UINT32_LE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff\\x00\\x00\\x00');\n\n Token.UINT32_LE.put(b, 0, 0xaabbccdd);\n assert.strictEqual(b.toString('binary'), '\\xdd\\xcc\\xbb\\xaa');\n });\n\n it(\"should encode unsigned 32-bit big-endian integer (INT32_BE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT32_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.UINT32_BE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\xff');\n\n Token.UINT32_BE.put(b, 0, 0xaabbccdd);\n assert.strictEqual(b.toString('binary'), '\\xaa\\xbb\\xcc\\xdd');\n });\n\n it(\"should decode unsigned 32-bit little/big-endian integer (UINT32_LE/UINT32_BE)\", () => {\n\n const ss = new SourceStream('\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT32_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT24_LE #1\");\n return rst.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return rst.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return rst.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n\n });\n});\n\ndescribe(\"FileTokenizer\", () => {\n\n it(\"should be able to read from a file\", () => {\n\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n\n assert.equal(tokenizer.fileSize, 16, \"check file size property\");\n\n return tokenizer.readToken<number>(Token.UINT32_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT24_LE #1\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n\n });\n\n it(\"should be able to ignore (skip) a given number of bytes\", () => {\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n return tokenizer.ignore(4)\n .then((value) => {\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n });\n\n it(\"should be able to parse the IgnoreType-token\", () => {\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n return tokenizer.readToken<void>(new IgnoreType(4))\n .then((value) => {\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n });\n});\n\n\n\n\n\n"]} | ||
| {"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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","sourcesContent":["// Test reading an array of bytes.\n\nimport {StreamReader} from \"then-read-stream\";\nimport * as Token from \"token-types\";\n\nimport {} from \"mocha\"\nimport {assert} from 'chai';\nimport {SourceStream} from \"./util\";\nimport {FileTokenizer, ReadStreamTokenizer} from \"../src\";\nimport * as Path from 'path';\nimport {IgnoreType} from \"token-types\";\n\ndescribe(\"ReadStreamTokenizer\", () => {\n\n\n describe(\"buffer\", () => {\n\n const ss = new SourceStream('\\x05peter');\n const rst = new ReadStreamTokenizer(ss);\n\n it(\"should decode UINT8 from chunk\", () => {\n\n return rst.readToken<number>(Token.UINT8).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 5, \"0x05 == 5\");\n });\n });\n\n it(\"should decode string from chunk\", () => {\n\n return rst.readToken<string>(new Token.StringType(5, 'utf-8')).then((value) => {\n assert.ok(typeof value === 'string');\n assert.equal(value, 'peter', \"0x05 == 5\");\n });\n });\n\n it(\"should should reject at the end of the stream\", () => {\n\n return rst.readToken<number>(Token.UINT8).then((value) => {\n assert.fail(\"Should rejct due to end-of-stream\");\n }).catch((err) => {\n assert.equal(err, StreamReader.EndOfStream);\n })\n });\n });\n\n\n describe(\"Parsing binary numbers\", () => {\n\n\n it(\"should encode signed 8-bit integer (INT8)\", () => {\n\n const b = new Buffer(1);\n\n Token.INT8.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00');\n\n Token.INT8.put(b, 0, 0x22);\n assert.strictEqual(b.toString('binary'), '\\x22');\n\n Token.INT8.put(b, 0, -0x22);\n assert.strictEqual(b.toString('binary'), '\\xde');\n });\n\n it(\"should decode signed 8-bit integer (INT8)\", () => {\n\n const ss = new SourceStream('\\x00\\x7f\\x80\\xff\\x81');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT8)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT8 #1 == 0\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 127, \"INT8 #2 == 127\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -128, \"INT8 #3 == -128\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT8 #4 == -1\");\n return rst.readToken<number>(Token.INT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -127, \"INT8 #5 == -127\");\n });\n });\n\n it(\"should encode signed 16-bit big-endian integer (INT16_BE)\", () => {\n\n const b = new Buffer(2);\n\n Token.INT16_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00');\n\n Token.INT16_BE.put(b, 0, 0x0f0b);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b');\n\n Token.INT16_BE.put(b, 0, -0x0f0b);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf5');\n });\n\n it(\"should decode signed 16-bit big-endian integer (INT16_BE)\", () => {\n\n const ss = new SourceStream('\\x0a\\x1a\\x00\\x00\\xff\\xff\\x80\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT16_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 2586, \"INT16_BE#1\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT16_BE#2\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT16_BE#3\");\n return rst.readToken<number>(Token.INT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -32768, \"INT16_BE#4\");\n })\n });\n\n it(\"should encode signed 24-bit big-endian integer (INT24_BE)\", () => {\n\n const b = new Buffer(3);\n\n Token.INT24_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.INT24_BE.put(b, 0, 0x0f0ba0);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b\\xa0');\n\n Token.INT24_BE.put(b, 0, -0x0f0bcc);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf4\\x34');\n });\n\n it(\"should decode signed 24-bit big-endian integer (INT24_BE)\", () => {\n\n const ss = new SourceStream('\\x00\\x00\\x00\\xff\\xff\\xff\\x10\\x00\\xff\\x80\\x00\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT24_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT24_BE#1\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT24_BE#2\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 1048831, \"INT24_BE#3\");\n return rst.readToken<number>(Token.INT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -8388608, \"INT24_BE#4\");\n })\n });\n\n // ToDo: test decoding: INT24_LE\n\n it(\"should encode signed 32-bit big-endian integer (INT32_BE)\", () => {\n\n const b = new Buffer(4);\n\n Token.INT32_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.INT32_BE.put(b, 0, 0x0f0bcca0);\n assert.strictEqual(b.toString('binary'), '\\x0f\\x0b\\xcc\\xa0');\n\n Token.INT32_BE.put(b, 0, -0x0f0bcca0);\n assert.strictEqual(b.toString('binary'), '\\xf0\\xf4\\x33\\x60');\n });\n\n it(\"should decode signed 32-bit big-endian integer (INT32_BE)\", () => {\n\n const ss = new SourceStream('\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\x00\\x10\\x00\\xff\\x80\\x00\\x00\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.INT32_BE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"INT24_BE #1\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -1, \"INT32_BE #2\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 1048831, \"INT32_BE #3\");\n return rst.readToken<number>(Token.INT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, -2147483648, \"INT32_BE #4\");\n })\n });\n\n it(\"should encode signed 8-bit big-endian integer (INT8)\", () => {\n\n const b = new Buffer(1);\n\n Token.UINT8.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00');\n\n Token.UINT8.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff');\n });\n\n it(\"should decode unsigned 8-bit big-endian integer (UINT8)\", () => {\n\n const ss = new SourceStream('\\x00\\x1a\\xff');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT8)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0, \"UINT8 #1\");\n return rst.readToken<number>(Token.UINT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 26, \"UINT8 #2\");\n return rst.readToken<number>(Token.UINT8);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 255, \"UINT8 #3\");\n });\n });\n\n it(\"should encode unsigned 16-bit big-endian integer (UINT16_LE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT16_LE.put(b, 0, 0x00);\n Token.UINT16_LE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\xaa\\xff');\n });\n\n it(\"should encode unsigned 16-bit little-endian integer (UINT16_BE)\", () => {\n const b = new Buffer(4);\n Token.UINT16_BE.put(b, 0, 0xf);\n Token.UINT16_BE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\x00\\x0f\\xff\\xaa');\n });\n\n it(\"should encode unsigned 16-bit mixed little/big-endian integers\", () => {\n const b = new Buffer(4);\n Token.UINT16_BE.put(b, 0, 0xffaa);\n Token.UINT16_LE.put(b, 2, 0xffaa);\n assert.strictEqual(b.toString('binary'), '\\xff\\xaa\\xaa\\xff');\n });\n\n it(\"should decode unsigned mixed 16-bit big/little-endian integer\", () => {\n\n const ss = new SourceStream('\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT16_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a, \"UINT16_LE #1\");\n return rst.readToken<number>(Token.UINT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a00, \"UINT16_BE #2\");\n return rst.readToken<number>(Token.UINT16_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a, \"UINT16_BE #3\");\n return rst.readToken<number>(Token.UINT16_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a00, \"UINT16_LE #4\");\n });\n });\n\n it(\"should encode unsigned 24-bit little-endian integer (UINT24_LE)\", () => {\n\n const b = new Buffer(3);\n\n Token.UINT24_LE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.UINT24_LE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff\\x00\\x00');\n\n Token.UINT24_LE.put(b, 0, 0xaabbcc);\n assert.strictEqual(b.toString('binary'), '\\xcc\\xbb\\xaa');\n });\n\n it(\"should encode unsigned 24-bit big-endian integer (UINT24_BE)\", () => {\n\n const b = new Buffer(3);\n\n Token.UINT24_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00');\n\n Token.UINT24_BE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\xff');\n\n Token.UINT24_BE.put(b, 0, 0xaabbcc);\n assert.strictEqual(b.toString('binary'), '\\xaa\\xbb\\xcc');\n });\n\n it(\"should decode signed 24-bit big/little-endian integer (UINT24_LE/INT24_BE)\", () => {\n\n const ss = new SourceStream('\\x1a\\x1a\\x00\\x1a\\x1a\\x00\\x1a\\x1a\\x00\\x1a\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT24_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a1a, \"INT24_LE#1\");\n return rst.readToken<number>(Token.UINT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a1a00, \"INT24_BE#2\");\n return rst.readToken<number>(Token.UINT24_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a1a, \"INT24_LE#3\");\n return rst.readToken<number>(Token.UINT24_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a1a00, \"INT24_BE#4\");\n })\n });\n\n it(\"should encode unsigned 32-bit little-endian integer (UINT32_LE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT32_LE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.UINT32_LE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\xff\\x00\\x00\\x00');\n\n Token.UINT32_LE.put(b, 0, 0xaabbccdd);\n assert.strictEqual(b.toString('binary'), '\\xdd\\xcc\\xbb\\xaa');\n });\n\n it(\"should encode unsigned 32-bit big-endian integer (INT32_BE)\", () => {\n\n const b = new Buffer(4);\n\n Token.UINT32_BE.put(b, 0, 0x00);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\x00');\n\n Token.UINT32_BE.put(b, 0, 0xff);\n assert.strictEqual(b.toString('binary'), '\\x00\\x00\\x00\\xff');\n\n Token.UINT32_BE.put(b, 0, 0xaabbccdd);\n assert.strictEqual(b.toString('binary'), '\\xaa\\xbb\\xcc\\xdd');\n });\n\n it(\"should decode unsigned 32-bit little/big-endian integer (UINT32_LE/UINT32_BE)\", () => {\n\n const ss = new SourceStream('\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00\\x1a\\x00');\n const rst = new ReadStreamTokenizer(ss);\n\n return rst.readToken<number>(Token.UINT32_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT24_LE #1\");\n return rst.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return rst.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return rst.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n\n });\n});\n\ndescribe(\"FileTokenizer\", () => {\n\n it(\"should be able to read from a file\", () => {\n\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n\n assert.equal(tokenizer.fileSize, 16, \"check file size property\");\n\n return tokenizer.readToken<number>(Token.UINT32_LE)\n .then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT24_LE #1\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n\n });\n\n it(\"should be able to ignore (skip) a given number of bytes\", () => {\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n return tokenizer.ignore(4)\n .then((value) => {\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n });\n\n it(\"should be able to parse the IgnoreType-token\", () => {\n return FileTokenizer.open(Path.join(__dirname, 'resources', 'test1.dat')).then((tokenizer) => {\n return tokenizer.readToken<void>(new IgnoreType(4))\n .then((value) => {\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #2\");\n return tokenizer.readToken<number>(Token.UINT32_LE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x001a001a, \"UINT32_LE #3\");\n return tokenizer.readToken<number>(Token.UINT32_BE);\n }).then((value) => {\n assert.ok(typeof value === 'number');\n assert.equal(value, 0x1a001a00, \"UINT32_BE #4\");\n })\n });\n });\n});\n\n\n\n\n\n"]} |
+1
-2
@@ -13,3 +13,3 @@ "use strict"; | ||
| })(); | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.__esModule = true; | ||
| var assert = require('assert'); | ||
@@ -56,2 +56,1 @@ var stream_1 = require("stream"); | ||
| exports.SourceStream = SourceStream; | ||
| //# sourceMappingURL=util.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"util.js","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":";AAAA,sBAAsB;;;;;;;;;;;;AAEtB,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,iCAAgC;AAEhC;;;;GAIG;AACH;IAAkC,gCAAQ;IAIxC,sBAAoB,GAAgB,EAAU,GAAe,EAAU,GAAwB;QAA3E,oBAAA,EAAA,QAAgB;QAAU,oBAAA,EAAA,OAAe;QAAU,oBAAA,EAAA,MAAc,GAAG,CAAC,MAAM;QAA/F,YACE,iBAAO,SAGR;QAJmB,SAAG,GAAH,GAAG,CAAa;QAAU,SAAG,GAAH,GAAG,CAAY;QAAU,SAAG,GAAH,GAAG,CAAqB;QAG7F,KAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;;IACvC,CAAC;IAEM,4BAAK,GAAZ;QAEE;;;;;;;;;;;;;WAaG;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IACzD,CAAC;IACH,mBAAC;AAAD,CAAC,AA9BD,CAAkC,iBAAQ,GA8BzC;AA9BY,oCAAY","sourcesContent":["// Utilies for testing\n\nconst assert = require('assert');\nimport {Readable} from \"stream\";\n\n/**\n * A mock stream implementation that breaks up provided data into\n * random-sized chunks and emits 'data' events. This is used to simulate\n * data arriving with arbitrary packet boundaries.\n */\nexport class SourceStream extends Readable {\n\n private buf: Buffer;\n\n constructor(private str: string = '', private min: number = 1, private max: number = str.length) {\n super();\n\n this.buf = new Buffer(str, 'binary');\n }\n\n public _read() {\n\n /* ToDo: segment data\n const len = Math.min(\n this.min + Math.floor(Math.random() * (this.max - this.min)),\n this.buf.length\n );\n\n const b = this.buf.slice(0, len);\n\n if (len < this.buf.length) {\n this.buf = this.buf.slice(len, this.buf.length);\n this.push(b);\n } else {\n this.push(null); // push the EOF-signaling `null` chunk\n }*/\n\n this.push(this.buf);\n this.push(null); // push the EOF-signaling `null` chunk\n }\n}\n"]} | ||
| {"version":3,"file":"util.js","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAAA,sBAAsB;;;;;;;AAEtB,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,uBAAuB,QAAQ,CAAC,CAAA;AAEhC;;;;GAIG;AACH;IAAkC,gCAAQ;IAIxC,sBAAoB,GAAgB,EAAU,GAAe,EAAU,GAAwB;QAAnF,mBAAwB,GAAxB,QAAwB;QAAE,mBAAuB,GAAvB,OAAuB;QAAE,mBAAgC,GAAhC,MAAsB,GAAG,CAAC,MAAM;QAC7F,iBAAO,CAAC;QADU,QAAG,GAAH,GAAG,CAAa;QAAU,QAAG,GAAH,GAAG,CAAY;QAAU,QAAG,GAAH,GAAG,CAAqB;QAG7F,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEM,4BAAK,GAAZ;QAEE;;;;;;;;;;;;;WAaG;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IACzD,CAAC;IACH,mBAAC;AAAD,CAAC,AA9BD,CAAkC,iBAAQ,GA8BzC;AA9BY,oBAAY,eA8BxB,CAAA","sourcesContent":["// Utilies for testing\n\nconst assert = require('assert');\nimport {Readable} from \"stream\";\n\n/**\n * A mock stream implementation that breaks up provided data into\n * random-sized chunks and emits 'data' events. This is used to simulate\n * data arriving with arbitrary packet boundaries.\n */\nexport class SourceStream extends Readable {\n\n private buf: Buffer;\n\n constructor(private str: string = '', private min: number = 1, private max: number = str.length) {\n super();\n\n this.buf = new Buffer(str, 'binary');\n }\n\n public _read() {\n\n /* ToDo: segment data\n const len = Math.min(\n this.min + Math.floor(Math.random() * (this.max - this.min)),\n this.buf.length\n );\n\n const b = this.buf.slice(0, len);\n\n if (len < this.buf.length) {\n this.buf = this.buf.slice(len, this.buf.length);\n this.push(b);\n } else {\n this.push(null); // push the EOF-signaling `null` chunk\n }*/\n\n this.push(this.buf);\n this.push(null); // push the EOF-signaling `null` chunk\n }\n}\n"]} |
+2
-1
@@ -8,3 +8,4 @@ { | ||
| "declaration": true, | ||
| "target": "es5" | ||
| "target": "es5", | ||
| "outDir": "lib" | ||
| }, | ||
@@ -11,0 +12,0 @@ "include": [ |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
16
-5.88%90519
-0.37%1051
-0.57%+ Added
Updated