first commit
This commit is contained in:
110
app_vue/node_modules/memfs/lib/volume-localstorage.js
generated
vendored
Normal file
110
app_vue/node_modules/memfs/lib/volume-localstorage.js
generated
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createVolume = exports.ObjectStore = void 0;
|
||||
var volume_1 = require("./volume");
|
||||
var node_1 = require("./node");
|
||||
var ObjectStore = /** @class */ (function () {
|
||||
function ObjectStore(obj) {
|
||||
this.obj = obj;
|
||||
}
|
||||
ObjectStore.prototype.setItem = function (key, json) {
|
||||
this.obj[key] = JSON.stringify(json);
|
||||
};
|
||||
ObjectStore.prototype.getItem = function (key) {
|
||||
var data = this.obj[key];
|
||||
if (typeof data === void 0)
|
||||
return void 0;
|
||||
return JSON.parse(data);
|
||||
};
|
||||
ObjectStore.prototype.removeItem = function (key) {
|
||||
delete this.obj[key];
|
||||
};
|
||||
return ObjectStore;
|
||||
}());
|
||||
exports.ObjectStore = ObjectStore;
|
||||
function createVolume(namespace, LS) {
|
||||
if (LS === void 0) { LS = localStorage; }
|
||||
var store = new ObjectStore(LS);
|
||||
var key = function (type, id) { return "memfs.".concat(namespace, ".").concat(type, ".").concat(id); };
|
||||
var NodeLocalStorage = /** @class */ (function (_super) {
|
||||
__extends(NodeLocalStorage, _super);
|
||||
function NodeLocalStorage() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
Object.defineProperty(NodeLocalStorage.prototype, "Key", {
|
||||
get: function () {
|
||||
if (!this._key)
|
||||
this._key = key('ino', this.ino);
|
||||
return this._key;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
NodeLocalStorage.prototype.sync = function () {
|
||||
store.setItem(this.Key, this.toJSON());
|
||||
};
|
||||
NodeLocalStorage.prototype.touch = function () {
|
||||
_super.prototype.touch.call(this);
|
||||
this.sync();
|
||||
};
|
||||
NodeLocalStorage.prototype.del = function () {
|
||||
_super.prototype.del.call(this);
|
||||
store.removeItem(this.Key);
|
||||
};
|
||||
return NodeLocalStorage;
|
||||
}(node_1.Node));
|
||||
var LinkLocalStorage = /** @class */ (function (_super) {
|
||||
__extends(LinkLocalStorage, _super);
|
||||
function LinkLocalStorage() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
Object.defineProperty(LinkLocalStorage.prototype, "Key", {
|
||||
get: function () {
|
||||
if (!this._key)
|
||||
this._key = key('link', this.getPath());
|
||||
return this._key;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
LinkLocalStorage.prototype.sync = function () {
|
||||
store.setItem(this.Key, this.toJSON());
|
||||
};
|
||||
return LinkLocalStorage;
|
||||
}(node_1.Link));
|
||||
return /** @class */ (function (_super) {
|
||||
__extends(VolumeLocalStorage, _super);
|
||||
function VolumeLocalStorage() {
|
||||
return _super.call(this, {
|
||||
Node: NodeLocalStorage,
|
||||
Link: LinkLocalStorage,
|
||||
}) || this;
|
||||
}
|
||||
VolumeLocalStorage.prototype.createLink = function (parent, name, isDirectory, perm) {
|
||||
var link = _super.prototype.createLink.call(this, parent, name, isDirectory, perm);
|
||||
store.setItem(key('link', link.getPath()), link.toJSON());
|
||||
return link;
|
||||
};
|
||||
VolumeLocalStorage.prototype.deleteLink = function (link) {
|
||||
store.removeItem(key('link', link.getPath()));
|
||||
return _super.prototype.deleteLink.call(this, link);
|
||||
};
|
||||
return VolumeLocalStorage;
|
||||
}(volume_1.Volume));
|
||||
}
|
||||
exports.createVolume = createVolume;
|
Reference in New Issue
Block a user