@vulcan-sql/core
Version:
Core package of VulcanSQL
35 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocalFilePersistentStore = void 0;
const tslib_1 = require("tslib");
const fs_1 = require("fs");
const models_1 = require("../../../models/index");
const inversify_1 = require("inversify");
const types_1 = require("../../../containers/types");
const options_1 = require("../../../options/index");
let LocalFilePersistentStore = class LocalFilePersistentStore extends models_1.PersistentStore {
constructor(options, config, moduleName) {
super(config, moduleName);
this.filePath = options.filePath;
}
save(data) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
yield fs_1.promises.writeFile(this.filePath, data);
});
}
load() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return yield fs_1.promises.readFile(this.filePath);
});
}
};
LocalFilePersistentStore = tslib_1.__decorate([
(0, models_1.VulcanInternalExtension)(),
(0, models_1.VulcanExtensionId)(models_1.ArtifactBuilderProviderType.LocalFile),
tslib_1.__param(0, (0, inversify_1.inject)(types_1.TYPES.ArtifactBuilderOptions)),
tslib_1.__param(1, (0, inversify_1.inject)(types_1.TYPES.ExtensionConfig)),
tslib_1.__param(2, (0, inversify_1.inject)(types_1.TYPES.ExtensionName)),
tslib_1.__metadata("design:paramtypes", [options_1.ArtifactBuilderOptions, Object, String])
], LocalFilePersistentStore);
exports.LocalFilePersistentStore = LocalFilePersistentStore;
//# sourceMappingURL=localFilePersistentStore.js.map