@itwin/imodels-client-authoring
Version:
iModels API client wrapper for applications that author iModels.
34 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeLocalFileSystem = void 0;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const fs_1 = require("fs");
class NodeLocalFileSystem {
async createDirectory(directory) {
await fs_1.promises.mkdir(directory, { recursive: true });
}
async getFileSize(filePath) {
const fileStats = await fs_1.promises.stat(filePath);
return fileStats.size;
}
async fileExists(filePath) {
return this.pathIsAccessible(filePath);
}
async deleteFile(filePath) {
return fs_1.promises.unlink(filePath);
}
async pathIsAccessible(path) {
try {
await fs_1.promises.access(path, fs_1.constants.F_OK);
return true;
}
catch {
return false;
}
}
}
exports.NodeLocalFileSystem = NodeLocalFileSystem;
//# sourceMappingURL=NodeLocalFileSystem.js.map