@platform/cell.schema
Version:
URI and database schemas for the `cell.os`.
39 lines (38 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileSchema = void 0;
var common_1 = require("../common");
var FileLinks_1 = require("./FileLinks");
var FilePath_1 = require("./FilePath");
var Uri_1 = require("../Uri");
exports.FileSchema = {
ERROR: common_1.ERROR,
Links: FileLinks_1.FileLinks,
Path: FilePath_1.FilePath,
type: 'FILE',
toObject: function (args) {
return {
fileid: args.fileid,
uri: args.uri,
path: "".concat(args.nsPath, "/").concat(exports.FileSchema.type, "/").concat(args.fileid),
};
},
uri: function (args) {
var path = (args.path || '').trim();
var parts = path.split('/');
if (parts[0] !== 'NS') {
throw new Error("The DB path does not start with 'NS/'. Given '".concat(path, "'."));
}
if (parts[2] !== 'FILE') {
throw new Error("The DB path does not contain '/FILE/'. Given '".concat(path, "'."));
}
var ns = parts[1];
var file = parts[3];
return Uri_1.Uri.create.file(ns, file);
},
toFileLocation: function (input) {
if (input === void 0) { input = ''; }
input = input.trim();
return (0, common_1.isHttp)(input) ? input : "file://".concat(input);
},
};