strtok3 6.0.0 → 6.0.4
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.
- package/lib/AbstractTokenizer.js +1 -0
- package/lib/BufferTokenizer.js +2 -1
- package/lib/FileTokenizer.js +3 -2
- package/lib/FsPromise.js +1 -0
- package/lib/ReadStreamTokenizer.js +15 -6
- package/lib/core.js +2 -1
- package/lib/index.js +4 -3
- package/package.json +17 -18
package/lib/AbstractTokenizer.js
CHANGED
package/lib/BufferTokenizer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BufferTokenizer = void 0;
|
|
3
4
|
const peek_readable_1 = require("peek-readable");
|
|
4
5
|
class BufferTokenizer {
|
|
5
6
|
/**
|
|
@@ -22,7 +23,7 @@ class BufferTokenizer {
|
|
|
22
23
|
async readBuffer(buffer, options) {
|
|
23
24
|
if (options && options.position) {
|
|
24
25
|
if (options.position < this.position) {
|
|
25
|
-
throw new Error('`options.position`
|
|
26
|
+
throw new Error('`options.position` must be equal or greater than `tokenizer.position`');
|
|
26
27
|
}
|
|
27
28
|
this.position = options.position;
|
|
28
29
|
}
|
package/lib/FileTokenizer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromFile = exports.FileTokenizer = void 0;
|
|
3
4
|
const AbstractTokenizer_1 = require("./AbstractTokenizer");
|
|
4
5
|
const peek_readable_1 = require("peek-readable");
|
|
5
6
|
const fs = require("./FsPromise");
|
|
@@ -20,7 +21,7 @@ class FileTokenizer extends AbstractTokenizer_1.AbstractTokenizer {
|
|
|
20
21
|
if (options) {
|
|
21
22
|
if (options.position) {
|
|
22
23
|
if (options.position < this.position) {
|
|
23
|
-
throw new Error('`options.position`
|
|
24
|
+
throw new Error('`options.position` must be equal or greater than `tokenizer.position`');
|
|
24
25
|
}
|
|
25
26
|
this.position = options.position;
|
|
26
27
|
}
|
|
@@ -57,7 +58,7 @@ class FileTokenizer extends AbstractTokenizer_1.AbstractTokenizer {
|
|
|
57
58
|
if (options) {
|
|
58
59
|
if (options.position) {
|
|
59
60
|
if (options.position < this.position) {
|
|
60
|
-
throw new Error('`options.position`
|
|
61
|
+
throw new Error('`options.position` must be equal or greater than `tokenizer.position`');
|
|
61
62
|
}
|
|
62
63
|
position = options.position;
|
|
63
64
|
}
|
package/lib/FsPromise.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Module convert fs functions to promise based functions
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.readFile = exports.writeFileSync = exports.writeFile = exports.read = exports.open = exports.close = exports.stat = exports.createReadStream = exports.pathExists = void 0;
|
|
6
7
|
const fs = require("fs");
|
|
7
8
|
exports.pathExists = fs.existsSync;
|
|
8
9
|
exports.createReadStream = fs.createReadStream;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadStreamTokenizer = void 0;
|
|
3
4
|
const AbstractTokenizer_1 = require("./AbstractTokenizer");
|
|
4
5
|
const peek_readable_1 = require("peek-readable");
|
|
5
|
-
|
|
6
|
-
const debug = _debug('strtok3:ReadStreamTokenizer');
|
|
7
|
-
const maxBufferSize =
|
|
6
|
+
// import * as _debug from 'debug';
|
|
7
|
+
// const debug = _debug('strtok3:ReadStreamTokenizer');
|
|
8
|
+
const maxBufferSize = 256000;
|
|
8
9
|
class ReadStreamTokenizer extends AbstractTokenizer_1.AbstractTokenizer {
|
|
9
10
|
constructor(stream, fileInfo) {
|
|
10
11
|
super(fileInfo);
|
|
@@ -42,7 +43,7 @@ class ReadStreamTokenizer extends AbstractTokenizer_1.AbstractTokenizer {
|
|
|
42
43
|
return this.readBuffer(buffer, options);
|
|
43
44
|
}
|
|
44
45
|
else if (skipBytes < 0) {
|
|
45
|
-
throw new Error('`options.position`
|
|
46
|
+
throw new Error('`options.position` must be equal or greater than `tokenizer.position`');
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
if (options.offset) {
|
|
@@ -94,14 +95,22 @@ class ReadStreamTokenizer extends AbstractTokenizer_1.AbstractTokenizer {
|
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
|
-
|
|
98
|
+
try {
|
|
99
|
+
bytesRead = await this.streamReader.peek(buffer, offset, length);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
if (options && options.mayBeLess && err instanceof peek_readable_1.EndOfStreamError) {
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
throw err;
|
|
106
|
+
}
|
|
98
107
|
if ((!options || !options.mayBeLess) && bytesRead < length) {
|
|
99
108
|
throw new peek_readable_1.EndOfStreamError();
|
|
100
109
|
}
|
|
101
110
|
return bytesRead;
|
|
102
111
|
}
|
|
103
112
|
async ignore(length) {
|
|
104
|
-
debug(`ignore ${this.position}...${this.position + length - 1}`);
|
|
113
|
+
// debug(`ignore ${this.position}...${this.position + length - 1}`);
|
|
105
114
|
const bufSize = Math.min(maxBufferSize, length);
|
|
106
115
|
const buf = Buffer.alloc(bufSize);
|
|
107
116
|
let totBytesRead = 0;
|
package/lib/core.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromBuffer = exports.fromStream = void 0;
|
|
3
4
|
const ReadStreamTokenizer_1 = require("./ReadStreamTokenizer");
|
|
4
5
|
const BufferTokenizer_1 = require("./BufferTokenizer");
|
|
5
6
|
var peek_readable_1 = require("peek-readable");
|
|
6
|
-
exports
|
|
7
|
+
Object.defineProperty(exports, "EndOfStreamError", { enumerable: true, get: function () { return peek_readable_1.EndOfStreamError; } });
|
|
7
8
|
/**
|
|
8
9
|
* Construct ReadStreamTokenizer from given Stream.
|
|
9
10
|
* Will set fileSize, if provided given Stream has set the .path property/
|
package/lib/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fromStream = void 0;
|
|
3
4
|
const fs = require("./FsPromise");
|
|
4
5
|
const core = require("./core");
|
|
5
6
|
var FileTokenizer_1 = require("./FileTokenizer");
|
|
6
|
-
exports
|
|
7
|
+
Object.defineProperty(exports, "fromFile", { enumerable: true, get: function () { return FileTokenizer_1.fromFile; } });
|
|
7
8
|
var core_1 = require("./core");
|
|
8
|
-
exports
|
|
9
|
-
exports
|
|
9
|
+
Object.defineProperty(exports, "EndOfStreamError", { enumerable: true, get: function () { return core_1.EndOfStreamError; } });
|
|
10
|
+
Object.defineProperty(exports, "fromBuffer", { enumerable: true, get: function () { return core_1.fromBuffer; } });
|
|
10
11
|
/**
|
|
11
12
|
* Construct ReadStreamTokenizer from given Stream.
|
|
12
13
|
* Will set fileSize, if provided given Stream has set the .path property.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strtok3",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.4",
|
|
4
4
|
"description": "A promise based streaming tokenizer",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Borewit",
|
|
@@ -38,32 +38,31 @@
|
|
|
38
38
|
"url": "https://github.com/Borewit/strtok3/issues"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/chai": "^4.2.
|
|
42
|
-
"@types/mocha": "^
|
|
43
|
-
"@types/node": "^
|
|
44
|
-
"@typescript-eslint/eslint-plugin": "^2.
|
|
45
|
-
"@typescript-eslint/eslint-plugin-tslint": "^2.
|
|
46
|
-
"@typescript-eslint/parser": "^2.
|
|
41
|
+
"@types/chai": "^4.2.12",
|
|
42
|
+
"@types/mocha": "^8.0.0",
|
|
43
|
+
"@types/node": "^14.0.26",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^2.31.0",
|
|
45
|
+
"@typescript-eslint/eslint-plugin-tslint": "^2.31.0",
|
|
46
|
+
"@typescript-eslint/parser": "^2.31.0",
|
|
47
47
|
"chai": "^4.2.0",
|
|
48
|
-
"coveralls": "^3.0
|
|
48
|
+
"coveralls": "^3.1.0",
|
|
49
49
|
"del-cli": "^3.0.0",
|
|
50
50
|
"eslint": "^6.8.0",
|
|
51
|
-
"eslint-plugin-import": "^2.
|
|
52
|
-
"eslint-plugin-prefer-arrow": "^1.
|
|
53
|
-
"mocha": "^7.
|
|
54
|
-
"nyc": "^15.
|
|
55
|
-
"remark-cli": "^
|
|
56
|
-
"remark-preset-lint-recommended": "^
|
|
51
|
+
"eslint-plugin-import": "^2.22.0",
|
|
52
|
+
"eslint-plugin-prefer-arrow": "^1.2.2",
|
|
53
|
+
"mocha": "^7.2.0",
|
|
54
|
+
"nyc": "^15.1.0",
|
|
55
|
+
"remark-cli": "^8.0.1",
|
|
56
|
+
"remark-preset-lint-recommended": "^4.0.1",
|
|
57
57
|
"source-map-support": "^0.5.16",
|
|
58
58
|
"token-types": "^2.0.0",
|
|
59
|
-
"ts-node": "^8.
|
|
60
|
-
"tslint": "^6.
|
|
61
|
-
"typescript": "^3.7
|
|
59
|
+
"ts-node": "^8.10.2",
|
|
60
|
+
"tslint": "^6.1.2",
|
|
61
|
+
"typescript": "^3.9.7"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@tokenizer/token": "^0.1.1",
|
|
65
65
|
"@types/debug": "^4.1.5",
|
|
66
|
-
"debug": "^4.1.1",
|
|
67
66
|
"peek-readable": "^3.1.0"
|
|
68
67
|
},
|
|
69
68
|
"keywords": [
|