54 lines
2.2 KiB
JavaScript
54 lines
2.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var VirtualFolder_1 = require("../../resource/v1/virtual/VirtualFolder");
|
|
var VirtualFile_1 = require("../../resource/v1/virtual/VirtualFile");
|
|
var Errors_1 = require("../../Errors");
|
|
var VirtualFSManager = /** @class */ (function () {
|
|
function VirtualFSManager() {
|
|
this.uid = 'VirtualFSManager_1.0.2';
|
|
}
|
|
VirtualFSManager.prototype.serialize = function (resource, obj) {
|
|
var result = {
|
|
dateCreation: resource.dateCreation,
|
|
dateLastModified: resource.dateLastModified,
|
|
properties: resource.properties
|
|
};
|
|
result.name = resource.name;
|
|
if (resource.content) {
|
|
result.content = resource.content;
|
|
result.len = resource.len;
|
|
}
|
|
return result;
|
|
};
|
|
VirtualFSManager.prototype.unserialize = function (data, obj) {
|
|
if (obj.type.isDirectory) {
|
|
var rs = new VirtualFolder_1.VirtualFolder(data.name, null, this);
|
|
rs.dateCreation = data.dateCreation;
|
|
rs.dateLastModified = data.dateLastModified;
|
|
rs.properties = data.properties;
|
|
return rs;
|
|
}
|
|
if (obj.type.isFile) {
|
|
var rs = new VirtualFile_1.VirtualFile(data.name, null, this);
|
|
if (data.content) {
|
|
rs.content = data.content.map(function (a) { return Buffer.from(a); });
|
|
rs.len = data.len;
|
|
}
|
|
rs.dateCreation = data.dateCreation;
|
|
rs.dateLastModified = data.dateLastModified;
|
|
rs.properties = data.properties;
|
|
return rs;
|
|
}
|
|
throw Errors_1.Errors.UnrecognizedResource;
|
|
};
|
|
VirtualFSManager.prototype.newResource = function (fullPath, name, type, parent) {
|
|
if (type.isDirectory)
|
|
return new VirtualFolder_1.VirtualFolder(name, parent, this);
|
|
if (type.isFile)
|
|
return new VirtualFile_1.VirtualFile(name, parent, this);
|
|
throw Errors_1.Errors.UnrecognizedResource;
|
|
};
|
|
return VirtualFSManager;
|
|
}());
|
|
exports.VirtualFSManager = VirtualFSManager;
|