This commit is contained in:
66
node_modules/geotiff/dist-node/source/file.js
generated
vendored
Normal file
66
node_modules/geotiff/dist-node/source/file.js
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.makeFileSource = void 0;
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
const basesource_js_1 = require("./basesource.js");
|
||||
function closeAsync(fd) {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs_1.default.close(fd, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
function openAsync(path, flags, mode = undefined) {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs_1.default.open(path, flags, mode, (err, fd) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve(fd);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
function readAsync(...args) {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs_1.default.read(...args, (err, bytesRead, buffer) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
resolve({ bytesRead, buffer });
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
class FileSource extends basesource_js_1.BaseSource {
|
||||
constructor(path) {
|
||||
super();
|
||||
this.path = path;
|
||||
this.openRequest = openAsync(path, 'r');
|
||||
}
|
||||
async fetchSlice(slice) {
|
||||
// TODO: use `signal`
|
||||
const fd = await this.openRequest;
|
||||
const { buffer } = await readAsync(fd, Buffer.alloc(slice.length), 0, slice.length, slice.offset);
|
||||
return buffer.buffer;
|
||||
}
|
||||
async close() {
|
||||
const fd = await this.openRequest;
|
||||
await closeAsync(fd);
|
||||
}
|
||||
}
|
||||
function makeFileSource(path) {
|
||||
return new FileSource(path);
|
||||
}
|
||||
exports.makeFileSource = makeFileSource;
|
||||
//# sourceMappingURL=file.js.map
|
||||
Reference in New Issue
Block a user