react-native-nitro-screen-recorder
Version:
A library to capture screen recordings with react-native powered by NitroModules.
47 lines (46 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FileManager = void 0;
var fs = _interopRequireWildcard(require("fs"));
var _ScreenRecorderLog = require("./ScreenRecorderLog");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
/**
* FileManager contains static *awaitable* file-system functions
*/
class FileManager {
static async readFile(path) {
return new Promise((resolve, reject) => {
fs.readFile(path, 'utf8', (err, data) => {
if (err || !data) {
_ScreenRecorderLog.ScreenRecorderLog.error("Couldn't read file:" + path);
reject(err);
return;
}
resolve(data);
});
});
}
static async writeFile(path, contents) {
return new Promise((resolve, reject) => {
fs.writeFile(path, contents, 'utf8', err => {
if (err) {
_ScreenRecorderLog.ScreenRecorderLog.error("Couldn't write file:" + path);
reject(err);
return;
}
resolve();
});
});
}
static async copyFile(path1, path2) {
const fileContents = await FileManager.readFile(path1);
await FileManager.writeFile(path2, fileContents);
}
static dirExists(path) {
return fs.existsSync(path);
}
}
exports.FileManager = FileManager;
//# sourceMappingURL=FileManager.js.map