feat: add createReadStream support for resources

This commit is contained in:
Bryce Gibson
2018-01-23 07:58:02 +11:00
committed by Caleb Boyd
parent 02481f069c
commit a40d697542
+19
View File
@@ -16,6 +16,7 @@ if (Object.keys(manifest).length) {
const fs = require('fs')
const originalReadFile = fs.readFile
const originalReadFileSync = fs.readFileSync
const originalCreateReadStream = fs.createReadStream
const originalReaddir = fs.readdir
const originalReaddirSync = fs.readdirSync
const originalStatSync = fs.statSync
@@ -139,6 +140,24 @@ if (Object.keys(manifest).length) {
})
})
},
createReadStream: function createReadStream(file: any, options: any) {
setupManifest()
const entry = manifest[file]
if (!entry || !isString(file)) {
return originalCreateReadStream.apply(fs, arguments)
}
const [offset, length] = entry
const resourceOffset = resourceStart + offset
const opts = !options ? {} : isString(options) ? { encoding: options } : options
return fs.createReadStream(
process.execPath,
Object.assign({}, opts, {
start: resourceOffset,
end: resourceOffset + length
})
)
},
readFileSync: function readFileSync(file: any, options: any) {
setupManifest()
const entry = manifest[file]