fs-stream-sync 2.0.3 → 2.0.9

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/CHANGELOG.md CHANGED
@@ -3,6 +3,91 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.9](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.6...fs-stream-sync@2.0.9) (2021-12-29)
7
+
8
+
9
+ ### 🛠 Build System
10
+
11
+ * update typescript ([141a8ee](https://github.com/bluelovers/ws-iconv/commit/141a8eefbaeeb45f235f5cdceadaeaeb05d9acc7))
12
+
13
+
14
+ ### 🔖 Miscellaneous
15
+
16
+ * . ([c60df45](https://github.com/bluelovers/ws-iconv/commit/c60df451cb6728e0c28522bba043feaad4a883e0))
17
+ * . ([526ff7c](https://github.com/bluelovers/ws-iconv/commit/526ff7c919a83f407386c2e872170813bfc575d0))
18
+ * . ([a77b29a](https://github.com/bluelovers/ws-iconv/commit/a77b29ae69eb4e0c87d5120618c699273637510a))
19
+
20
+
21
+
22
+
23
+
24
+ ## [2.0.8](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.6...fs-stream-sync@2.0.8) (2021-12-29)
25
+
26
+
27
+ ### 🛠 Build System
28
+
29
+ * update typescript ([141a8ee](https://github.com/bluelovers/ws-iconv/commit/141a8eefbaeeb45f235f5cdceadaeaeb05d9acc7))
30
+
31
+
32
+ ### 🔖 Miscellaneous
33
+
34
+ * . ([526ff7c](https://github.com/bluelovers/ws-iconv/commit/526ff7c919a83f407386c2e872170813bfc575d0))
35
+ * . ([a77b29a](https://github.com/bluelovers/ws-iconv/commit/a77b29ae69eb4e0c87d5120618c699273637510a))
36
+
37
+
38
+
39
+
40
+
41
+ ## [2.0.7](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.6...fs-stream-sync@2.0.7) (2021-12-29)
42
+
43
+
44
+ ### 🛠 Build System
45
+
46
+ * update typescript ([141a8ee](https://github.com/bluelovers/ws-iconv/commit/141a8eefbaeeb45f235f5cdceadaeaeb05d9acc7))
47
+
48
+
49
+ ### 🔖 Miscellaneous
50
+
51
+ * . ([a77b29a](https://github.com/bluelovers/ws-iconv/commit/a77b29ae69eb4e0c87d5120618c699273637510a))
52
+
53
+
54
+
55
+
56
+
57
+ ## [2.0.6](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.5...fs-stream-sync@2.0.6) (2021-12-06)
58
+
59
+
60
+ ### ♻️ Chores
61
+
62
+ * **deps:** update deps ([64ec271](https://github.com/bluelovers/ws-iconv/commit/64ec2718aaa422a5d8761198824886410200c47f))
63
+
64
+
65
+
66
+
67
+
68
+ ## [2.0.5](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.4...fs-stream-sync@2.0.5) (2021-08-13)
69
+
70
+
71
+ ### ♻️ Chores
72
+
73
+ * **deps:** update deps ([ffdf75f](https://github.com/bluelovers/ws-iconv/commit/ffdf75f27917b2698690436b66df040f2cc5cebc))
74
+
75
+
76
+
77
+
78
+
79
+ ## [2.0.4](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.3...fs-stream-sync@2.0.4) (2021-07-08)
80
+
81
+
82
+ ### 🛠 Build System
83
+
84
+ * update .js ([a50437a](https://github.com/bluelovers/ws-iconv/commit/a50437a84acedeabe884b56978507ee04ea90d58))
85
+ * use tslib ([897fbd2](https://github.com/bluelovers/ws-iconv/commit/897fbd2808c31f284dd368759f715c450b033e5e))
86
+
87
+
88
+
89
+
90
+
6
91
  ## [2.0.3](https://github.com/bluelovers/ws-iconv/compare/fs-stream-sync@2.0.2...fs-stream-sync@2.0.3) (2021-02-12)
7
92
 
8
93
 
package/lib/internal.js CHANGED
@@ -8,7 +8,7 @@ function open(thisArgv, argv) {
8
8
  let fd;
9
9
  try {
10
10
  // @ts-ignore
11
- fd = fs_1.openSync(thisArgv.path, thisArgv.flags, thisArgv.mode);
11
+ fd = (0, fs_1.openSync)(thisArgv.path, thisArgv.flags, thisArgv.mode);
12
12
  }
13
13
  catch (er) {
14
14
  _error_emit(thisArgv, er);
@@ -41,7 +41,7 @@ function closeFsStreamSync(stream, cb, err) {
41
41
  let er;
42
42
  try {
43
43
  // @ts-ignore
44
- fs_1.closeSync(stream.fd);
44
+ (0, fs_1.closeSync)(stream.fd);
45
45
  }
46
46
  catch (e) {
47
47
  er = e || err;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["internal.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { ReadStream } from '../read';\nimport { WriteStream } from '../write';\nimport { SyncReadStream } from '../read-sync';\nimport { SyncWriteStream } from '../write-sync';\nimport { IFsStreamData } from './interface';\nimport fs, { openSync, closeSync } from 'fs';\n\nexport const SYM_FS_STREAM_DATA = Symbol('FsStreamData')\n\nexport type IThisFsStream = WriteStream | ReadStream | SyncWriteStream | SyncReadStream\n\nexport function open(thisArgv: IThisFsStream, argv?: any[])\n{\n\tif (typeof thisArgv.fd !== 'number')\n\t{\n\t\tlet fd: number\n\t\ttry\n\t\t{\n\t\t\t// @ts-ignore\n\t\t\tfd = openSync(thisArgv.path, thisArgv.flags, thisArgv.mode)\n\t\t}\n\t\tcatch (er)\n\t\t{\n\t\t\t_error_emit(thisArgv, er)\n\t\t\treturn;\n\t\t}\n\n\t\tthisArgv.fd = fd;\n\t}\n\n\tthisArgv.emit('open', thisArgv.fd);\n\tthisArgv.emit('ready');\n}\n\nexport function _error_emit<T extends Error>(thisArgv: IThisFsStream, e: T): void\n{\n\t__close(thisArgv)\n\tthisArgv.emit('error', e);\n}\n\nexport function __close(thisArgv: IThisFsStream): void\n{\n\t// @ts-ignore\n\tif (thisArgv.autoClose)\n\t{\n\t\tthisArgv.destroy();\n\t}\n}\n\nexport function _error_callback<T extends Error>(thisArgv: IThisFsStream, e: T, callback: Function): void\n{\n\t__close(thisArgv)\n\tcallback(e);\n}\n\nexport function closeFsStreamSync(stream: fs.WriteStream | fs.ReadStream | SyncWriteStream | SyncReadStream,\n\tcb: Function,\n\terr?,\n)\n{\n\tlet er\n\ttry\n\t{\n\t\t// @ts-ignore\n\t\tcloseSync(stream.fd)\n\t}\n\tcatch (e)\n\t{\n\t\ter = e || err;\n\t}\n\n\tcb(er)\n\t// @ts-ignore\n\tstream.closed = true;\n\tif (!er)\n\t{\n\t\tstream.emit('close');\n\t}\n}\n\nexport function _destroy(thisArgv: IThisFsStream, error: Error | null, callback: (error: Error | null) => void): void\n{\n\t// @ts-ignore\n\tconst isOpen = typeof thisArgv.fd !== 'number';\n\n\tif (isOpen)\n\t{\n\t\t// @ts-ignore\n\t\tthisArgv.once('open', closeFsStreamSync.bind(null, thisArgv, callback, error));\n\t\treturn;\n\t}\n\n\tcloseFsStreamSync(thisArgv as any, callback)\n\t// @ts-ignore\n\tthisArgv.fd = null;\n}\n\nfunction emitErrorAndCloseNT(self, err)\n{\n\temitErrorNT(self, err);\n\temitCloseNT(self);\n}\n\nfunction emitCloseNT(self)\n{\n\tif (self._writableState && !self._writableState.emitClose)\n\t{\n\t\treturn;\n\t}\n\tif (self._readableState && !self._readableState.emitClose)\n\t{\n\t\treturn;\n\t}\n\tself.emit('close');\n}\n\nfunction emitErrorNT(self, err)\n{\n\tself.emit('error', err);\n}\n\nexport function getFsStreamData(thisArgv: IThisFsStream): IFsStreamData\n{\n\treturn thisArgv[SYM_FS_STREAM_DATA] = thisArgv[SYM_FS_STREAM_DATA] || {}\n}\n\nexport default exports as typeof import('./internal');\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["internal.ts"],"names":[],"mappings":";;;AAMA,2BAA6C;AAEhC,QAAA,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAIxD,SAAgB,IAAI,CAAC,QAAuB,EAAE,IAAY;IAEzD,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EACnC;QACC,IAAI,EAAU,CAAA;QACd,IACA;YACC,aAAa;YACb,EAAE,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;SAC3D;QACD,OAAO,EAAE,EACT;YACC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACzB,OAAO;SACP;QAED,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;KACjB;IAED,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AArBD,oBAqBC;AAED,SAAgB,WAAW,CAAkB,QAAuB,EAAE,CAAI;IAEzE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC;AAJD,kCAIC;AAED,SAAgB,OAAO,CAAC,QAAuB;IAE9C,aAAa;IACb,IAAI,QAAQ,CAAC,SAAS,EACtB;QACC,QAAQ,CAAC,OAAO,EAAE,CAAC;KACnB;AACF,CAAC;AAPD,0BAOC;AAED,SAAgB,eAAe,CAAkB,QAAuB,EAAE,CAAI,EAAE,QAAkB;IAEjG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACjB,QAAQ,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAJD,0CAIC;AAED,SAAgB,iBAAiB,CAAC,MAAyE,EAC1G,EAAY,EACZ,GAAI;IAGJ,IAAI,EAAE,CAAA;IACN,IACA;QACC,aAAa;QACb,IAAA,cAAS,EAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KACpB;IACD,OAAO,CAAC,EACR;QACC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;KACd;IAED,EAAE,CAAC,EAAE,CAAC,CAAA;IACN,aAAa;IACb,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,EACP;QACC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrB;AACF,CAAC;AAvBD,8CAuBC;AAED,SAAgB,QAAQ,CAAC,QAAuB,EAAE,KAAmB,EAAE,QAAuC;IAE7G,aAAa;IACb,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC;IAE/C,IAAI,MAAM,EACV;QACC,aAAa;QACb,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO;KACP;IAED,iBAAiB,CAAC,QAAe,EAAE,QAAQ,CAAC,CAAA;IAC5C,aAAa;IACb,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC;AACpB,CAAC;AAfD,4BAeC;AAED,SAAS,mBAAmB,CAAC,IAAI,EAAE,GAAG;IAErC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvB,WAAW,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAI;IAExB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EACzD;QACC,OAAO;KACP;IACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EACzD;QACC,OAAO;KACP;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,IAAI,EAAE,GAAG;IAE7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,eAAe,CAAC,QAAuB;IAEtD,OAAO,QAAQ,CAAC,0BAAkB,CAAC,GAAG,QAAQ,CAAC,0BAAkB,CAAC,IAAI,EAAE,CAAA;AACzE,CAAC;AAHD,0CAGC;AAED,kBAAe,OAAsC,CAAC","sourcesContent":["\nimport { ReadStream } from '../read';\nimport { WriteStream } from '../write';\nimport { SyncReadStream } from '../read-sync';\nimport { SyncWriteStream } from '../write-sync';\nimport { IFsStreamData } from './interface';\nimport fs, { openSync, closeSync } from 'fs';\n\nexport const SYM_FS_STREAM_DATA = Symbol('FsStreamData')\n\nexport type IThisFsStream = WriteStream | ReadStream | SyncWriteStream | SyncReadStream\n\nexport function open(thisArgv: IThisFsStream, argv?: any[])\n{\n\tif (typeof thisArgv.fd !== 'number')\n\t{\n\t\tlet fd: number\n\t\ttry\n\t\t{\n\t\t\t// @ts-ignore\n\t\t\tfd = openSync(thisArgv.path, thisArgv.flags, thisArgv.mode)\n\t\t}\n\t\tcatch (er)\n\t\t{\n\t\t\t_error_emit(thisArgv, er)\n\t\t\treturn;\n\t\t}\n\n\t\tthisArgv.fd = fd;\n\t}\n\n\tthisArgv.emit('open', thisArgv.fd);\n\tthisArgv.emit('ready');\n}\n\nexport function _error_emit<T extends Error>(thisArgv: IThisFsStream, e: T): void\n{\n\t__close(thisArgv)\n\tthisArgv.emit('error', e);\n}\n\nexport function __close(thisArgv: IThisFsStream): void\n{\n\t// @ts-ignore\n\tif (thisArgv.autoClose)\n\t{\n\t\tthisArgv.destroy();\n\t}\n}\n\nexport function _error_callback<T extends Error>(thisArgv: IThisFsStream, e: T, callback: Function): void\n{\n\t__close(thisArgv)\n\tcallback(e);\n}\n\nexport function closeFsStreamSync(stream: fs.WriteStream | fs.ReadStream | SyncWriteStream | SyncReadStream,\n\tcb: Function,\n\terr?,\n)\n{\n\tlet er\n\ttry\n\t{\n\t\t// @ts-ignore\n\t\tcloseSync(stream.fd)\n\t}\n\tcatch (e)\n\t{\n\t\ter = e || err;\n\t}\n\n\tcb(er)\n\t// @ts-ignore\n\tstream.closed = true;\n\tif (!er)\n\t{\n\t\tstream.emit('close');\n\t}\n}\n\nexport function _destroy(thisArgv: IThisFsStream, error: Error | null, callback: (error: Error | null) => void): void\n{\n\t// @ts-ignore\n\tconst isOpen = typeof thisArgv.fd !== 'number';\n\n\tif (isOpen)\n\t{\n\t\t// @ts-ignore\n\t\tthisArgv.once('open', closeFsStreamSync.bind(null, thisArgv, callback, error));\n\t\treturn;\n\t}\n\n\tcloseFsStreamSync(thisArgv as any, callback)\n\t// @ts-ignore\n\tthisArgv.fd = null;\n}\n\nfunction emitErrorAndCloseNT(self, err)\n{\n\temitErrorNT(self, err);\n\temitCloseNT(self);\n}\n\nfunction emitCloseNT(self)\n{\n\tif (self._writableState && !self._writableState.emitClose)\n\t{\n\t\treturn;\n\t}\n\tif (self._readableState && !self._readableState.emitClose)\n\t{\n\t\treturn;\n\t}\n\tself.emit('close');\n}\n\nfunction emitErrorNT(self, err)\n{\n\tself.emit('error', err);\n}\n\nexport function getFsStreamData(thisArgv: IThisFsStream): IFsStreamData\n{\n\treturn thisArgv[SYM_FS_STREAM_DATA] = thisArgv[SYM_FS_STREAM_DATA] || {}\n}\n\nexport default exports as typeof import('./internal');\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fs-stream-sync",
3
- "version": "2.0.3",
3
+ "version": "2.0.9",
4
4
  "description": "File System SyncWriteStream/SyncReadStream implementation from Node.js Core",
5
5
  "keywords": [
6
6
  "File System",
@@ -30,7 +30,7 @@
30
30
  "lib": "lib"
31
31
  },
32
32
  "scripts": {
33
- "test": "echo \"Error: no test specified\" && exit 1",
33
+ "test": "echo \"Error: no test specified\"",
34
34
  "prepublishOnly_": "yarn run prepublishOnly:check-bin && yarn run test",
35
35
  "prepublishOnly:check-bin": "ynpx --quiet @yarn-tool/check-pkg-bin",
36
36
  "prepublishOnly:update": "yarn run ncu && yarn run sort-package-json",
@@ -38,7 +38,8 @@
38
38
  "sort-package-json": "ynpx --quiet yarn-tool -- sort"
39
39
  },
40
40
  "dependencies": {
41
- "@types/node": "*"
41
+ "@types/node": "*",
42
+ "tslib": "^2.3.1"
42
43
  },
43
- "gitHead": "86b0b4c91c87cacdaa1907e127a7fce6cd039266"
44
+ "gitHead": "5af510f708e5d8b9bbd54fe65bc8dc09f4079ac0"
44
45
  }
package/read-sync.js CHANGED
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createSyncReadStream = exports.SyncReadStream = exports.kMinPoolSpace = void 0;
7
- const fs_1 = __importDefault(require("fs"));
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
8
6
  const internal_1 = require("./lib/internal");
9
- const internal_2 = __importDefault(require("./lib/internal"));
7
+ const internal_2 = tslib_1.__importDefault(require("./lib/internal"));
10
8
  const read_1 = require("./read");
11
9
  exports.kMinPoolSpace = 128;
12
10
  let pool;
@@ -29,7 +27,7 @@ class SyncReadStream extends read_1.ReadStream {
29
27
  return createSyncReadStream;
30
28
  }
31
29
  open() {
32
- if (typeof internal_1.getFsStreamData(this) !== 'boolean') {
30
+ if (typeof (0, internal_1.getFsStreamData)(this) !== 'boolean') {
33
31
  this[internal_1.SYM_FS_STREAM_DATA].opened = true;
34
32
  internal_2.default.open(this);
35
33
  this.read();
package/read-sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"read-sync.js","sourceRoot":"","sources":["read-sync.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs';\nimport { PathLike } from \"fs\";\nimport { IFsReadStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\nimport internal from \"./lib/internal\";\nimport { ReadStream } from './read'\n\nexport const kMinPoolSpace = 128;\nlet pool;\nconst poolFragments = [];\n\nfunction allocNewPool(poolSize: number)\n{\n\tif (poolFragments.length > 0)\n\t{\n\t\tpool = poolFragments.pop();\n\t}\n\telse\n\t{\n\t\tpool = Buffer.allocUnsafe(poolSize);\n\t}\n\tpool.used = 0;\n}\n\nexport class SyncReadStream extends ReadStream\n{\n\tconstructor(path: PathLike, options?: string | IFsReadStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createSyncReadStream\n\t}\n\n\topen(): void\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\tinternal.open(this)\n\t\t\tthis.read();\n\t\t}\n\t\telse if (this[SYM_FS_STREAM_DATA].opened === true)\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = false\n\t\t\tthis.emit('open', this.fd);\n\t\t\tthis.emit('ready');\n\t\t}\n\t}\n\n\t_read(n: number)\n\t{\n\t\tif (typeof this.fd !== 'number')\n\t\t{\n\t\t\treturn this.once('open', function ()\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\tthis._read(n);\n\t\t\t});\n\t\t}\n\n\t\tif (this.destroyed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!pool || pool.length - pool.used < kMinPoolSpace)\n\t\t{\n\t\t\t// discard the old pool.\n\t\t\tallocNewPool(this.readableHighWaterMark);\n\t\t}\n\n\t\tconst thisPool = pool;\n\t\tlet toRead = Math.min(pool.length - pool.used, n);\n\t\tconst start = pool.used;\n\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\ttoRead = Math.min(this.end - this.pos + 1, toRead);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttoRead = Math.min(this.end - this.bytesRead + 1, toRead);\n\t\t}\n\n\t\t// already read everything we were supposed to read!\n\t\t// treat as EOF.\n\t\tif (toRead <= 0)\n\t\t{\n\t\t\treturn this.push(null);\n\t\t}\n\n\t\ttry\n\t\t{\n\t\t\t// the actual read.\n\t\t\tlet bytesRead = fs.readSync(this.fd, pool, pool.used, toRead, this.pos);\n\n\t\t\tlet b = null;\n\t\t\t// Now that we know how much data we have actually read, re-wind the\n\t\t\t// 'used' field if we can, and otherwise allow the remainder of our\n\t\t\t// reservation to be used as a new pool later.\n\t\t\tif (start + toRead === thisPool.used && thisPool === pool)\n\t\t\t{\n\t\t\t\tthisPool.used += bytesRead - toRead;\n\t\t\t}\n\t\t\telse if (toRead - bytesRead > kMinPoolSpace)\n\t\t\t{\n\t\t\t\tpoolFragments.push(thisPool.slice(start + bytesRead, start + toRead));\n\t\t\t}\n\n\t\t\tif (bytesRead > 0)\n\t\t\t{\n\t\t\t\tthis.bytesRead += bytesRead;\n\t\t\t\tb = thisPool.slice(start, start + bytesRead);\n\t\t\t}\n\n\t\t\tthis.push(b);\n\t\t}\n\t\tcatch (er)\n\t\t{\n\t\t\tif (this.autoClose)\n\t\t\t{\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t\tthis.emit('error', er);\n\t\t}\n\n\t\t// move the pool positions, and internal position for reading.\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\tthis.pos += toRead;\n\t\t}\n\t\tpool.used += toRead;\n\t}\n\n\t_destroy(error: Error | null, callback: (error: Error | null) => void): void\n\t{\n\t\tinternal._destroy(this, error, callback)\n\t}\n}\n\nexport function createSyncReadStream(path: PathLike, options?: string | IFsReadStreamOptions)\n{\n\treturn new SyncReadStream(path, options)\n}\n\nexport default SyncReadStream\n"]}
1
+ {"version":3,"file":"read-sync.js","sourceRoot":"","sources":["read-sync.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs';\nimport { PathLike } from \"fs\";\nimport { IFsReadStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\nimport internal from \"./lib/internal\";\nimport { ReadStream } from './read'\n\nexport const kMinPoolSpace = 128;\nlet pool;\nconst poolFragments = [];\n\nfunction allocNewPool(poolSize: number)\n{\n\tif (poolFragments.length > 0)\n\t{\n\t\tpool = poolFragments.pop();\n\t}\n\telse\n\t{\n\t\tpool = Buffer.allocUnsafe(poolSize);\n\t}\n\tpool.used = 0;\n}\n\nexport class SyncReadStream extends ReadStream\n{\n\tconstructor(path: PathLike, options?: string | IFsReadStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createSyncReadStream\n\t}\n\n\topen(): void\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\tinternal.open(this)\n\t\t\tthis.read();\n\t\t}\n\t\telse if (this[SYM_FS_STREAM_DATA].opened === true)\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = false\n\t\t\tthis.emit('open', this.fd);\n\t\t\tthis.emit('ready');\n\t\t}\n\t}\n\n\t_read(n: number)\n\t{\n\t\tif (typeof this.fd !== 'number')\n\t\t{\n\t\t\treturn this.once('open', function ()\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\tthis._read(n);\n\t\t\t});\n\t\t}\n\n\t\tif (this.destroyed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!pool || pool.length - pool.used < kMinPoolSpace)\n\t\t{\n\t\t\t// discard the old pool.\n\t\t\tallocNewPool(this.readableHighWaterMark);\n\t\t}\n\n\t\tconst thisPool = pool;\n\t\tlet toRead = Math.min(pool.length - pool.used, n);\n\t\tconst start = pool.used;\n\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\ttoRead = Math.min(this.end - this.pos + 1, toRead);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttoRead = Math.min(this.end - this.bytesRead + 1, toRead);\n\t\t}\n\n\t\t// already read everything we were supposed to read!\n\t\t// treat as EOF.\n\t\tif (toRead <= 0)\n\t\t{\n\t\t\treturn this.push(null);\n\t\t}\n\n\t\ttry\n\t\t{\n\t\t\t// the actual read.\n\t\t\tlet bytesRead = fs.readSync(this.fd, pool, pool.used, toRead, this.pos);\n\n\t\t\tlet b = null;\n\t\t\t// Now that we know how much data we have actually read, re-wind the\n\t\t\t// 'used' field if we can, and otherwise allow the remainder of our\n\t\t\t// reservation to be used as a new pool later.\n\t\t\tif (start + toRead === thisPool.used && thisPool === pool)\n\t\t\t{\n\t\t\t\tthisPool.used += bytesRead - toRead;\n\t\t\t}\n\t\t\telse if (toRead - bytesRead > kMinPoolSpace)\n\t\t\t{\n\t\t\t\tpoolFragments.push(thisPool.slice(start + bytesRead, start + toRead));\n\t\t\t}\n\n\t\t\tif (bytesRead > 0)\n\t\t\t{\n\t\t\t\tthis.bytesRead += bytesRead;\n\t\t\t\tb = thisPool.slice(start, start + bytesRead);\n\t\t\t}\n\n\t\t\tthis.push(b);\n\t\t}\n\t\tcatch (er)\n\t\t{\n\t\t\tif (this.autoClose)\n\t\t\t{\n\t\t\t\tthis.destroy();\n\t\t\t}\n\t\t\tthis.emit('error', er);\n\t\t}\n\n\t\t// move the pool positions, and internal position for reading.\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\tthis.pos += toRead;\n\t\t}\n\t\tpool.used += toRead;\n\t}\n\n\t_destroy(error: Error | null, callback: (error: Error | null) => void): void\n\t{\n\t\tinternal._destroy(this, error, callback)\n\t}\n}\n\nexport function createSyncReadStream(path: PathLike, options?: string | IFsReadStreamOptions)\n{\n\treturn new SyncReadStream(path, options)\n}\n\nexport default SyncReadStream\n"]}
package/read.js CHANGED
@@ -1,23 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createReadStream = exports.ReadStream = void 0;
7
- const fs_1 = __importDefault(require("fs"));
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
8
6
  const internal_1 = require("./lib/internal");
9
7
  // @ts-ignore
10
8
  class ReadStream extends fs_1.default.ReadStream {
11
9
  constructor(path, options) {
12
10
  // @ts-ignore
13
11
  super(path, options);
14
- internal_1.getFsStreamData(this);
12
+ (0, internal_1.getFsStreamData)(this);
15
13
  }
16
14
  static get create() {
17
15
  return createReadStream;
18
16
  }
19
17
  open() {
20
- if (typeof internal_1.getFsStreamData(this) !== 'boolean') {
18
+ if (typeof (0, internal_1.getFsStreamData)(this) !== 'boolean') {
21
19
  this[internal_1.SYM_FS_STREAM_DATA].opened = true;
22
20
  // @ts-ignore
23
21
  fs_1.default.ReadStream.prototype.open.call(this);
package/read.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["read.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AAEpB,6CAAqE;AAErE,aAAa;AACb,MAAa,UAAW,SAAQ,YAAE,CAAC,UAAU;IAiB5C,YAAY,IAAc,EAAE,OAAwC;QAEnE,aAAa;QACb,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpB,0BAAe,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,KAAK,MAAM;QAEhB,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,IAAI;QAEH,IAAI,OAAO,0BAAe,CAAC,IAAI,CAAC,KAAK,SAAS,EAC9C;YACC,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;YACtC,aAAa;YACb,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACvC;IACF,CAAC;CACD;AAvCD,gCAuCC;AAED,SAAgB,gBAAgB,CAAC,IAAc,EAAE,OAAuC;IAEvF,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAHD,4CAGC;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import { PathLike } from \"fs\";\nimport fs from 'fs';\nimport { IFsReadStreamOptions, IFsStreamData, IFsStreamState, IFsWriteStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\n\n// @ts-ignore\nexport class ReadStream extends fs.ReadStream\n{\n\tprotected autoClose: boolean\n\tprotected flags: string\n\tfd: number\n\tprotected mode: number\n\tprotected pos: number\n\tprotected closed: boolean\n\tprotected destroyed: boolean\n\n\tprotected _writableState: IFsStreamState\n\tprotected _readableState: IFsStreamState\n\n\tprotected [SYM_FS_STREAM_DATA]: IFsStreamData\n\n\tprotected end: number\n\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\n\t\tgetFsStreamData(this)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createReadStream\n\t}\n\n\topen()\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\t// @ts-ignore\n\t\t\tfs.ReadStream.prototype.open.call(this)\n\t\t}\n\t}\n}\n\nexport function createReadStream(path: PathLike, options?: string | IFsReadStreamOptions)\n{\n\treturn new ReadStream(path, options)\n}\n\nexport default ReadStream\n"]}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["read.ts"],"names":[],"mappings":";;;;AACA,oDAAoB;AAEpB,6CAAqE;AAErE,aAAa;AACb,MAAa,UAAW,SAAQ,YAAE,CAAC,UAAU;IAiB5C,YAAY,IAAc,EAAE,OAAwC;QAEnE,aAAa;QACb,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpB,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,KAAK,MAAM;QAEhB,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,IAAI;QAEH,IAAI,OAAO,IAAA,0BAAe,EAAC,IAAI,CAAC,KAAK,SAAS,EAC9C;YACC,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;YACtC,aAAa;YACb,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACvC;IACF,CAAC;CACD;AAvCD,gCAuCC;AAED,SAAgB,gBAAgB,CAAC,IAAc,EAAE,OAAuC;IAEvF,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAHD,4CAGC;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import { PathLike } from \"fs\";\nimport fs from 'fs';\nimport { IFsReadStreamOptions, IFsStreamData, IFsStreamState, IFsWriteStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\n\n// @ts-ignore\nexport class ReadStream extends fs.ReadStream\n{\n\tprotected autoClose: boolean\n\tprotected flags: string\n\tfd: number\n\tprotected mode: number\n\tprotected pos: number\n\tprotected closed: boolean\n\tprotected destroyed: boolean\n\n\tprotected _writableState: IFsStreamState\n\tprotected _readableState: IFsStreamState\n\n\tprotected [SYM_FS_STREAM_DATA]: IFsStreamData\n\n\tprotected end: number\n\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\n\t\tgetFsStreamData(this)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createReadStream\n\t}\n\n\topen()\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\t// @ts-ignore\n\t\t\tfs.ReadStream.prototype.open.call(this)\n\t\t}\n\t}\n}\n\nexport function createReadStream(path: PathLike, options?: string | IFsReadStreamOptions)\n{\n\treturn new ReadStream(path, options)\n}\n\nexport default ReadStream\n"]}
package/write-sync.js CHANGED
@@ -1,13 +1,11 @@
1
1
  'use strict';
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createSyncWriteStream = exports.SyncWriteStream = void 0;
7
- const fs_1 = __importDefault(require("fs"));
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
8
6
  const errors_1 = require("./lib/errors");
9
7
  const internal_1 = require("./lib/internal");
10
- const internal_2 = __importDefault(require("./lib/internal"));
8
+ const internal_2 = tslib_1.__importDefault(require("./lib/internal"));
11
9
  const write_1 = require("./write");
12
10
  class SyncWriteStream extends write_1.WriteStream {
13
11
  constructor(path, options) {
@@ -18,7 +16,7 @@ class SyncWriteStream extends write_1.WriteStream {
18
16
  return createSyncWriteStream;
19
17
  }
20
18
  open() {
21
- if (typeof internal_1.getFsStreamData(this) !== 'boolean') {
19
+ if (typeof (0, internal_1.getFsStreamData)(this) !== 'boolean') {
22
20
  this[internal_1.SYM_FS_STREAM_DATA].opened = true;
23
21
  internal_2.default.open(this);
24
22
  }
package/write-sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"write-sync.js","sourceRoot":"","sources":["write-sync.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport fs from \"fs\";\nimport { PathLike } from \"fs\";\nimport { EnumFsStreamErrorCode, NodeLikeError } from './lib/errors';\nimport {\n\tIFsStream,\n\tIFsStreamState,\n\tIFsStreamOptions,\n\tIFsWriteStreamOptions,\n\tIFsStreamData,\n\tIFsPath,\n} from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\nimport internal from \"./lib/internal\";\nimport { WriteStream } from './write'\n\nexport class SyncWriteStream extends WriteStream\n{\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createSyncWriteStream\n\t}\n\n\topen(): void\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\tinternal.open(this)\n\t\t}\n\t\telse if (this[SYM_FS_STREAM_DATA].opened === true)\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = false\n\t\t\tthis.emit('open', this.fd);\n\t\t\tthis.emit('ready');\n\t\t}\n\t}\n\n\twrite(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;\n\twrite(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean;\n\twrite(chunk: any, ...argv)\n\t{\n\t\t/*\n\t\tif (this.closed)\n\t\t{\n\t\t\tthrow new NodeLikeError(EnumFsStreamErrorCode.ERR_STREAM_WRITE_AFTER_END, `write after end`)\n\t\t}\n\t\t*/\n\t\tif (this._writableState.destroyed)\n\t\t{\n\t\t\tthrow new NodeLikeError(EnumFsStreamErrorCode.ERR_STREAM_DESTROYED, `Cannot call write after a stream was destroyed`)\n\t\t}\n\n\t\t//console.dir({chunk,argv} );\n\n\t\treturn super.write(chunk, ...argv)\n\t}\n\n\t/**\n\t * @fixme a unknow bug make stream.write only run once\n\t */\n\t_write(chunk: Buffer, encoding: string, callback: Function)\n\t{\n\t\tlet self = this\n\n\t\t//console.dir({chunk, encoding, callback} );\n\n\t\tif (!(chunk instanceof Buffer))\n\t\t{\n\t\t\treturn this.emit('error', new Error('Invalid data'));\n\t\t}\n\n\t\tif (typeof this.fd !== 'number')\n\t\t{\n\t\t\treturn this.once('open', function ()\n\t\t\t{\n\t\t\t\tself._write(chunk, encoding, callback);\n\t\t\t});\n\t\t}\n\n\t\ttry\n\t\t{\n\t\t\tlet bytes = fs.writeSync(this.fd, chunk, 0, chunk.length, this.pos);\n\n\t\t\tthis.bytesWritten += bytes;\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\tinternal._error_callback(this, e, callback)\n\t\t}\n\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\tthis.pos += chunk.length;\n\t\t}\n\t}\n\n\tclose(cb?: Function)\n\t{\n\t\tif (cb)\n\t\t{\n\t\t\tif (this.closed)\n\t\t\t{\n\t\t\t\tcb();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\tthis.on('close', cb);\n\t\t\t}\n\t\t}\n\n\t\t// If we are not autoClosing, we should call\n\t\t// destroy on 'finish'.\n\t\tif (!this.autoClose)\n\t\t{\n\t\t\tthis.on('finish', this.destroy.bind(this));\n\t\t}\n\n\t\t// we use end() instead of destroy() because of\n\t\t// https://github.com/nodejs/node/issues/2006\n\t\tthis.end();\n\t}\n\n\t_destroy(error: Error | null, callback: (error: Error | null) => void): void\n\t{\n\t\tinternal._destroy(this, error, callback)\n\t}\n}\n\nexport function createSyncWriteStream(path: PathLike, options?: string | IFsWriteStreamOptions)\n{\n\treturn new SyncWriteStream(path, options)\n}\n\nexport default SyncWriteStream\n"]}
1
+ {"version":3,"file":"write-sync.js","sourceRoot":"","sources":["write-sync.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;AAEb,oDAAoB;AAEpB,yCAAoE;AASpE,6CAAqE;AACrE,sEAAsC;AACtC,mCAAqC;AAErC,MAAa,eAAgB,SAAQ,mBAAW;IAE/C,YAAY,IAAc,EAAE,OAAwC;QAEnE,aAAa;QACb,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,KAAK,MAAM;QAEhB,OAAO,qBAAqB,CAAA;IAC7B,CAAC;IAED,IAAI;QAEH,IAAI,OAAO,IAAA,0BAAe,EAAC,IAAI,CAAC,KAAK,SAAS,EAC9C;YACC,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;YACtC,kBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACnB;aACI,IAAI,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,KAAK,IAAI,EACjD;YACC,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnB;IACF,CAAC;IAID,KAAK,CAAC,KAAU,EAAE,GAAG,IAAI;QAExB;;;;;UAKE;QACF,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EACjC;YACC,MAAM,IAAI,sBAAa,CAAC,8BAAqB,CAAC,oBAAoB,EAAE,gDAAgD,CAAC,CAAA;SACrH;QAED,6BAA6B;QAE7B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE,QAAkB;QAEzD,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,4CAA4C;QAE5C,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,EAC9B;YACC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;SACrD;QAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAC/B;YACC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAExB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACH;QAED,IACA;YACC,IAAI,KAAK,GAAG,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpE,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;SAC3B;QACD,OAAO,CAAC,EACR;YACC,kBAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;SAC3C;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAC1B;YACC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;SACzB;IACF,CAAC;IAED,KAAK,CAAC,EAAa;QAElB,IAAI,EAAE,EACN;YACC,IAAI,IAAI,CAAC,MAAM,EACf;gBACC,EAAE,EAAE,CAAC;gBACL,OAAO;aACP;iBAED;gBACC,aAAa;gBACb,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aACrB;SACD;QAED,4CAA4C;QAC5C,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EACnB;YACC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;QAED,+CAA+C;QAC/C,6CAA6C;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,KAAmB,EAAE,QAAuC;QAEpE,kBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACzC,CAAC;CACD;AAvHD,0CAuHC;AAED,SAAgB,qBAAqB,CAAC,IAAc,EAAE,OAAwC;IAE7F,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAHD,sDAGC;AAED,kBAAe,eAAe,CAAA","sourcesContent":["'use strict';\n\nimport fs from \"fs\";\nimport { PathLike } from \"fs\";\nimport { EnumFsStreamErrorCode, NodeLikeError } from './lib/errors';\nimport {\n\tIFsStream,\n\tIFsStreamState,\n\tIFsStreamOptions,\n\tIFsWriteStreamOptions,\n\tIFsStreamData,\n\tIFsPath,\n} from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\nimport internal from \"./lib/internal\";\nimport { WriteStream } from './write'\n\nexport class SyncWriteStream extends WriteStream\n{\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createSyncWriteStream\n\t}\n\n\topen(): void\n\t{\n\t\tif (typeof getFsStreamData(this) !== 'boolean')\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\t\t\tinternal.open(this)\n\t\t}\n\t\telse if (this[SYM_FS_STREAM_DATA].opened === true)\n\t\t{\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = false\n\t\t\tthis.emit('open', this.fd);\n\t\t\tthis.emit('ready');\n\t\t}\n\t}\n\n\twrite(chunk: any, cb?: (error: Error | null | undefined) => void): boolean;\n\twrite(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean;\n\twrite(chunk: any, ...argv)\n\t{\n\t\t/*\n\t\tif (this.closed)\n\t\t{\n\t\t\tthrow new NodeLikeError(EnumFsStreamErrorCode.ERR_STREAM_WRITE_AFTER_END, `write after end`)\n\t\t}\n\t\t*/\n\t\tif (this._writableState.destroyed)\n\t\t{\n\t\t\tthrow new NodeLikeError(EnumFsStreamErrorCode.ERR_STREAM_DESTROYED, `Cannot call write after a stream was destroyed`)\n\t\t}\n\n\t\t//console.dir({chunk,argv} );\n\n\t\treturn super.write(chunk, ...argv)\n\t}\n\n\t/**\n\t * @fixme a unknow bug make stream.write only run once\n\t */\n\t_write(chunk: Buffer, encoding: string, callback: Function)\n\t{\n\t\tlet self = this\n\n\t\t//console.dir({chunk, encoding, callback} );\n\n\t\tif (!(chunk instanceof Buffer))\n\t\t{\n\t\t\treturn this.emit('error', new Error('Invalid data'));\n\t\t}\n\n\t\tif (typeof this.fd !== 'number')\n\t\t{\n\t\t\treturn this.once('open', function ()\n\t\t\t{\n\t\t\t\tself._write(chunk, encoding, callback);\n\t\t\t});\n\t\t}\n\n\t\ttry\n\t\t{\n\t\t\tlet bytes = fs.writeSync(this.fd, chunk, 0, chunk.length, this.pos);\n\n\t\t\tthis.bytesWritten += bytes;\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\tinternal._error_callback(this, e, callback)\n\t\t}\n\n\t\tif (this.pos !== undefined)\n\t\t{\n\t\t\tthis.pos += chunk.length;\n\t\t}\n\t}\n\n\tclose(cb?: Function)\n\t{\n\t\tif (cb)\n\t\t{\n\t\t\tif (this.closed)\n\t\t\t{\n\t\t\t\tcb();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// @ts-ignore\n\t\t\t\tthis.on('close', cb);\n\t\t\t}\n\t\t}\n\n\t\t// If we are not autoClosing, we should call\n\t\t// destroy on 'finish'.\n\t\tif (!this.autoClose)\n\t\t{\n\t\t\tthis.on('finish', this.destroy.bind(this));\n\t\t}\n\n\t\t// we use end() instead of destroy() because of\n\t\t// https://github.com/nodejs/node/issues/2006\n\t\tthis.end();\n\t}\n\n\t_destroy(error: Error | null, callback: (error: Error | null) => void): void\n\t{\n\t\tinternal._destroy(this, error, callback)\n\t}\n}\n\nexport function createSyncWriteStream(path: PathLike, options?: string | IFsWriteStreamOptions)\n{\n\treturn new SyncWriteStream(path, options)\n}\n\nexport default SyncWriteStream\n"]}
package/write.js CHANGED
@@ -1,23 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createWriteStream = exports.WriteStream = void 0;
7
- const fs_1 = __importDefault(require("fs"));
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
8
6
  const internal_1 = require("./lib/internal");
9
7
  // @ts-ignore
10
8
  class WriteStream extends fs_1.default.WriteStream {
11
9
  constructor(path, options) {
12
10
  // @ts-ignore
13
11
  super(path, options);
14
- internal_1.getFsStreamData(this);
12
+ (0, internal_1.getFsStreamData)(this);
15
13
  }
16
14
  static get create() {
17
15
  return createWriteStream;
18
16
  }
19
17
  open() {
20
- if (!internal_1.getFsStreamData(this).opened) {
18
+ if (!(0, internal_1.getFsStreamData)(this).opened) {
21
19
  const self = this;
22
20
  this[internal_1.SYM_FS_STREAM_DATA].opened = true;
23
21
  this.once('open', function () {
package/write.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["write.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAGpB,6CAAqE;AAErE,aAAa;AACb,MAAa,WAAY,SAAQ,YAAE,CAAC,WAAW;IAyB9C,YAAY,IAAc,EAAE,OAAwC;QAEnE,aAAa;QACb,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpB,0BAAe,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,KAAK,MAAM;QAEhB,OAAO,iBAAiB,CAAA;IACzB,CAAC;IAED,IAAI;QAEH,IAAI,CAAC,0BAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EACjC;YACC,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;YAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAEjB,OAAO,CAAC,QAAQ,CAAC;oBAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC,CAAC,CAAA;YACH,CAAC,CAAC,CAAA;YACF,aAAa;YACb,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACxC;IACF,CAAC;CAED;AA1DD,kCA0DC;AAED,SAAgB,iBAAiB,CAAC,IAAc,EAAE,OAAwC;IAEzF,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAHD,8CAGC;AAED,kBAAe,WAAW,CAAA","sourcesContent":["import fs from \"fs\";\nimport { PathLike } from 'fs';\nimport { IFsPath, IFsStreamData, IFsStreamState, IFsWriteStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\n\n// @ts-ignore\nexport class WriteStream extends fs.WriteStream\n{\n\tprotected autoClose: boolean\n\tprotected flags: string\n\tfd: number\n\tprotected mode: number\n\tprotected pos: number\n\tprotected closed: boolean\n\tprotected destroyed: boolean\n\n\tprotected _writableState: IFsStreamState\n\tprotected _readableState: IFsStreamState\n\n\tprotected [SYM_FS_STREAM_DATA]: IFsStreamData\n\n\t/**\n\t * The number of bytes written so far. Does not include data that is still queued for writing.\n\t */\n\tpublic bytesWritten: number\n\n\t/**\n\t * The path to the file the stream is writing to as specified in the first argument to fs.createWriteStream(). If path is passed as a string, then writeStream.path will be a string. If path is passed as a Buffer, then writeStream.path will be a Buffer.\n\t */\n\tpublic readonly path: IFsPath\n\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\n\t\tgetFsStreamData(this)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createWriteStream\n\t}\n\n\topen()\n\t{\n\t\tif (!getFsStreamData(this).opened)\n\t\t{\n\t\t\tconst self = this\n\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\n\t\t\tthis.once('open', function ()\n\t\t\t{\n\t\t\t\tprocess.nextTick(function ()\n\t\t\t\t{\n\t\t\t\t\tself.emit('ready')\n\t\t\t\t})\n\t\t\t})\n\t\t\t// @ts-ignore\n\t\t\tfs.WriteStream.prototype.open.call(this)\n\t\t}\n\t}\n\n}\n\nexport function createWriteStream(path: PathLike, options?: string | IFsWriteStreamOptions)\n{\n\treturn new WriteStream(path, options)\n}\n\nexport default WriteStream\n"]}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["write.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AAGpB,6CAAqE;AAErE,aAAa;AACb,MAAa,WAAY,SAAQ,YAAE,CAAC,WAAW;IAyB9C,YAAY,IAAc,EAAE,OAAwC;QAEnE,aAAa;QACb,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpB,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,KAAK,MAAM;QAEhB,OAAO,iBAAiB,CAAA;IACzB,CAAC;IAED,IAAI;QAEH,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC,MAAM,EACjC;YACC,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,IAAI,CAAC,6BAAkB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;YAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAEjB,OAAO,CAAC,QAAQ,CAAC;oBAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC,CAAC,CAAA;YACH,CAAC,CAAC,CAAA;YACF,aAAa;YACb,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACxC;IACF,CAAC;CAED;AA1DD,kCA0DC;AAED,SAAgB,iBAAiB,CAAC,IAAc,EAAE,OAAwC;IAEzF,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAHD,8CAGC;AAED,kBAAe,WAAW,CAAA","sourcesContent":["import fs from \"fs\";\nimport { PathLike } from 'fs';\nimport { IFsPath, IFsStreamData, IFsStreamState, IFsWriteStreamOptions } from './lib/interface';\nimport { getFsStreamData, SYM_FS_STREAM_DATA } from './lib/internal';\n\n// @ts-ignore\nexport class WriteStream extends fs.WriteStream\n{\n\tprotected autoClose: boolean\n\tprotected flags: string\n\tfd: number\n\tprotected mode: number\n\tprotected pos: number\n\tprotected closed: boolean\n\tprotected destroyed: boolean\n\n\tprotected _writableState: IFsStreamState\n\tprotected _readableState: IFsStreamState\n\n\tprotected [SYM_FS_STREAM_DATA]: IFsStreamData\n\n\t/**\n\t * The number of bytes written so far. Does not include data that is still queued for writing.\n\t */\n\tpublic bytesWritten: number\n\n\t/**\n\t * The path to the file the stream is writing to as specified in the first argument to fs.createWriteStream(). If path is passed as a string, then writeStream.path will be a string. If path is passed as a Buffer, then writeStream.path will be a Buffer.\n\t */\n\tpublic readonly path: IFsPath\n\n\tconstructor(path: PathLike, options?: string | IFsWriteStreamOptions)\n\t{\n\t\t// @ts-ignore\n\t\tsuper(path, options)\n\n\t\tgetFsStreamData(this)\n\t}\n\n\tstatic get create()\n\t{\n\t\treturn createWriteStream\n\t}\n\n\topen()\n\t{\n\t\tif (!getFsStreamData(this).opened)\n\t\t{\n\t\t\tconst self = this\n\n\t\t\tthis[SYM_FS_STREAM_DATA].opened = true\n\n\t\t\tthis.once('open', function ()\n\t\t\t{\n\t\t\t\tprocess.nextTick(function ()\n\t\t\t\t{\n\t\t\t\t\tself.emit('ready')\n\t\t\t\t})\n\t\t\t})\n\t\t\t// @ts-ignore\n\t\t\tfs.WriteStream.prototype.open.call(this)\n\t\t}\n\t}\n\n}\n\nexport function createWriteStream(path: PathLike, options?: string | IFsWriteStreamOptions)\n{\n\treturn new WriteStream(path, options)\n}\n\nexport default WriteStream\n"]}