mirror of
https://github.com/esiur/esiur-js.git
synced 2025-05-06 12:32:58 +00:00
April
This commit is contained in:
parent
98877b9b85
commit
5967d6c901
6
.babelrc
6
.babelrc
@ -1,5 +1,9 @@
|
||||
{
|
||||
"presets": ["@babel/preset-env"],
|
||||
"presets": [
|
||||
[
|
||||
"@babel/preset-env", { "useBuiltIns": "entry" }
|
||||
]
|
||||
],
|
||||
"plugins": [
|
||||
["@babel/transform-runtime"]
|
||||
]
|
||||
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Esi Ur
|
||||
Copyright (c) 2017-2020 Esyur
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
389
build/esyur.js
389
build/esyur.js
@ -212,6 +212,8 @@ function _superPropBase(object, property) {
|
||||
module.exports = _superPropBase;
|
||||
},{"./getPrototypeOf":7}],14:[function(require,module,exports){
|
||||
function _typeof(obj) {
|
||||
"@babel/helpers - typeof";
|
||||
|
||||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
||||
module.exports = _typeof = function _typeof(obj) {
|
||||
return typeof obj;
|
||||
@ -1048,9 +1050,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _AsyncReply2 = _interopRequireDefault(require("./AsyncReply.js"));
|
||||
|
||||
var AsyncBag =
|
||||
/*#__PURE__*/
|
||||
function (_AsyncReply) {
|
||||
var AsyncBag = /*#__PURE__*/function (_AsyncReply) {
|
||||
(0, _inherits2["default"])(AsyncBag, _AsyncReply);
|
||||
|
||||
function AsyncBag() {
|
||||
@ -1156,9 +1156,7 @@ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/w
|
||||
|
||||
var _ExceptionCode = _interopRequireDefault(require("./ExceptionCode.js"));
|
||||
|
||||
var AsyncException =
|
||||
/*#__PURE__*/
|
||||
function (_Error) {
|
||||
var AsyncException = /*#__PURE__*/function (_Error) {
|
||||
(0, _inherits2["default"])(AsyncException, _Error);
|
||||
|
||||
function AsyncException() {
|
||||
@ -1194,7 +1192,7 @@ function (_Error) {
|
||||
}
|
||||
}]);
|
||||
return AsyncException;
|
||||
}((0, _wrapNativeSuper2["default"])(Error));
|
||||
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Error));
|
||||
|
||||
exports["default"] = AsyncException;
|
||||
|
||||
@ -1247,9 +1245,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _AsyncReply2 = _interopRequireDefault(require("./AsyncReply.js"));
|
||||
|
||||
var AsyncQueue =
|
||||
/*#__PURE__*/
|
||||
function (_AsyncReply) {
|
||||
var AsyncQueue = /*#__PURE__*/function (_AsyncReply) {
|
||||
(0, _inherits2["default"])(AsyncQueue, _AsyncReply);
|
||||
|
||||
function AsyncQueue() {
|
||||
@ -1264,8 +1260,15 @@ function (_AsyncReply) {
|
||||
for (var i = 0; i < self.list.length; i++) {
|
||||
if (self.list[i].ready) {
|
||||
self.trigger(self.list[i].result);
|
||||
self.list.splice(i, 1);
|
||||
self.ready = false; //self.list.splice(i, 1);
|
||||
|
||||
self.list.shift();
|
||||
i--;
|
||||
} else if (self.list[i].failed) {
|
||||
self.ready = false;
|
||||
self.list.shift();
|
||||
i--;
|
||||
console.log("AsyncQueue (Reply Failed)");
|
||||
} else break;
|
||||
}
|
||||
|
||||
@ -1280,11 +1283,12 @@ function (_AsyncReply) {
|
||||
value: function add(reply) {
|
||||
this.list.push(reply);
|
||||
this.ready = false;
|
||||
reply.then(this.processQueue);
|
||||
reply.then(this.processQueue).error(this.processQueue);
|
||||
}
|
||||
}, {
|
||||
key: "remove",
|
||||
value: function remove(reply) {
|
||||
console.log("REMOVE QUEUE");
|
||||
this.list.splice(this.list.indexOf(reply), 1);
|
||||
this.processQueue();
|
||||
}
|
||||
@ -1345,9 +1349,7 @@ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/w
|
||||
|
||||
var _AsyncException = _interopRequireDefault(require("./AsyncException.js"));
|
||||
|
||||
var AsyncReply =
|
||||
/*#__PURE__*/
|
||||
function (_Promise) {
|
||||
var AsyncReply = /*#__PURE__*/function (_Promise) {
|
||||
(0, _inherits2["default"])(AsyncReply, _Promise);
|
||||
(0, _createClass2["default"])(AsyncReply, [{
|
||||
key: "then",
|
||||
@ -1464,7 +1466,7 @@ function (_Promise) {
|
||||
}
|
||||
|
||||
return AsyncReply;
|
||||
}((0, _wrapNativeSuper2["default"])(Promise));
|
||||
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Promise));
|
||||
|
||||
exports["default"] = AsyncReply;
|
||||
|
||||
@ -1569,9 +1571,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _IEventHandler2 = _interopRequireDefault(require("./IEventHandler.js"));
|
||||
|
||||
var IDestructible =
|
||||
/*#__PURE__*/
|
||||
function (_IEventHandler) {
|
||||
var IDestructible = /*#__PURE__*/function (_IEventHandler) {
|
||||
(0, _inherits2["default"])(IDestructible, _IEventHandler);
|
||||
(0, _createClass2["default"])(IDestructible, [{
|
||||
key: "destroy",
|
||||
@ -1629,9 +1629,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var IEventHandler =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var IEventHandler = /*#__PURE__*/function () {
|
||||
(0, _createClass2["default"])(IEventHandler, [{
|
||||
key: "_register",
|
||||
value: function _register(event) {
|
||||
@ -1764,9 +1762,7 @@ var _IEventHandler2 = _interopRequireDefault(require("../Core/IEventHandler.js")
|
||||
|
||||
var _IDestructible = _interopRequireDefault(require("../Core/IDestructible.js"));
|
||||
|
||||
var AutoList =
|
||||
/*#__PURE__*/
|
||||
function (_IEventHandler) {
|
||||
var AutoList = /*#__PURE__*/function (_IEventHandler) {
|
||||
(0, _inherits2["default"])(AutoList, _IEventHandler);
|
||||
|
||||
function AutoList() {
|
||||
@ -1888,9 +1884,7 @@ var _DataType = _interopRequireDefault(require("./DataType.js"));
|
||||
|
||||
var _DataConverter = _interopRequireDefault(require("./DataConverter.js"));
|
||||
|
||||
var BinaryList =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var BinaryList = /*#__PURE__*/function () {
|
||||
function BinaryList() {
|
||||
(0, _classCallCheck2["default"])(this, BinaryList);
|
||||
this.list = [];
|
||||
@ -2197,9 +2191,7 @@ var _DistributedResource = _interopRequireDefault(require("../Net/IIP/Distribute
|
||||
|
||||
var _IResource = _interopRequireDefault(require("../Resource/IResource.js"));
|
||||
|
||||
var Codec =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Codec = /*#__PURE__*/function () {
|
||||
function Codec() {
|
||||
(0, _classCallCheck2["default"])(this, Codec);
|
||||
}
|
||||
@ -3029,9 +3021,7 @@ exports.UNIX_EPOCH = UNIX_EPOCH;
|
||||
var TWO_PWR_32 = (1 << 16) * (1 << 16);
|
||||
exports.TWO_PWR_32 = TWO_PWR_32;
|
||||
|
||||
var DC =
|
||||
/*#__PURE__*/
|
||||
function (_Uint8Array) {
|
||||
var DC = /*#__PURE__*/function (_Uint8Array) {
|
||||
(0, _inherits2["default"])(DC, _Uint8Array);
|
||||
|
||||
function DC(bufferOrSize) {
|
||||
@ -3155,45 +3145,58 @@ function (_Uint8Array) {
|
||||
value: function getUint8Array(offset, length) {
|
||||
return new Uint8Array(this.buffer, offset, length);
|
||||
}
|
||||
}, {
|
||||
key: "copy",
|
||||
value: function copy(offset, length, elementSize, func, dstType) {
|
||||
var rt = new dstType(length / elementSize);
|
||||
var d = 0,
|
||||
end = offset + length;
|
||||
|
||||
for (var i = offset; i < end; i += elementSize) {
|
||||
rt[d++] = func.call(this, i);
|
||||
}
|
||||
|
||||
return rt;
|
||||
}
|
||||
}, {
|
||||
key: "getInt16Array",
|
||||
value: function getInt16Array(offset, length) {
|
||||
return new Int16Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 2, this.getInt16, Int16Array); //return new Int16Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getUint16Array",
|
||||
value: function getUint16Array(offset, length) {
|
||||
return new Uint16Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 2, this.getUint16, Uint16Array); //return new Uint16Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getInt32Array",
|
||||
value: function getInt32Array(offset, length) {
|
||||
return new Int32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getInt32, Int32Array); //return new Int32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getUint32Array",
|
||||
value: function getUint32Array(offset, length) {
|
||||
return new Uint32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getUint32, Uint32Array); //return new Uint32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getFloat32Array",
|
||||
value: function getFloat32Array(offset, length) {
|
||||
return new Float32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getFloat32, Float32Array); //return new Float32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getFloat64Array",
|
||||
value: function getFloat64Array(offset, length) {
|
||||
return new Float64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getFloat64, Float64Array); // return new Float64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getInt64Array",
|
||||
value: function getInt64Array(offset, length) {
|
||||
return new Int64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getInt64, Int64Array); //return new Int64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getUint64Array",
|
||||
value: function getUint64Array(offset, length) {
|
||||
return new Uint64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getUint64, Uint64Array); //return new Uint64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
}, {
|
||||
key: "getBoolean",
|
||||
@ -3503,7 +3506,7 @@ function (_Uint8Array) {
|
||||
}
|
||||
}]);
|
||||
return DC;
|
||||
}((0, _wrapNativeSuper2["default"])(Uint8Array));
|
||||
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Uint8Array));
|
||||
|
||||
exports.DC = exports["default"] = DC;
|
||||
|
||||
@ -3671,9 +3674,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var Guid =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Guid = /*#__PURE__*/function () {
|
||||
function Guid(dc) {
|
||||
(0, _classCallCheck2["default"])(this, Guid);
|
||||
this.value = dc;
|
||||
@ -3731,9 +3732,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
||||
|
||||
var _IDestructible = _interopRequireDefault(require("../Core/IDestructible.js"));
|
||||
|
||||
var KeyList =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var KeyList = /*#__PURE__*/function () {
|
||||
function KeyList() {
|
||||
(0, _classCallCheck2["default"])(this, KeyList);
|
||||
this.keys = [];
|
||||
@ -3932,9 +3931,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var Structure =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Structure = /*#__PURE__*/function () {
|
||||
(0, _createClass2["default"])(Structure, [{
|
||||
key: "getKeys",
|
||||
value: function getKeys() {
|
||||
@ -4009,9 +4006,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
||||
|
||||
var StructureArray =
|
||||
/*#__PURE__*/
|
||||
function (_Array) {
|
||||
var StructureArray = /*#__PURE__*/function (_Array) {
|
||||
(0, _inherits2["default"])(StructureArray, _Array);
|
||||
|
||||
function StructureArray() {
|
||||
@ -4026,7 +4021,7 @@ function (_Array) {
|
||||
}
|
||||
}]);
|
||||
return StructureArray;
|
||||
}((0, _wrapNativeSuper2["default"])(Array));
|
||||
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Array));
|
||||
|
||||
exports["default"] = StructureArray;
|
||||
|
||||
@ -4156,9 +4151,11 @@ var _DistributedPropertyContext = _interopRequireDefault(require("./DistributedP
|
||||
|
||||
var _IResource = require("../../Resource/IResource.js");
|
||||
|
||||
var DistributedConnection =
|
||||
/*#__PURE__*/
|
||||
function (_IStore) {
|
||||
var _Ruling = _interopRequireDefault(require("../../Security/Permissions/Ruling.js"));
|
||||
|
||||
var _ActionType = _interopRequireDefault(require("../../Security/Permissions/ActionType.js"));
|
||||
|
||||
var DistributedConnection = /*#__PURE__*/function (_IStore) {
|
||||
(0, _inherits2["default"])(DistributedConnection, _IStore);
|
||||
(0, _createClass2["default"])(DistributedConnection, [{
|
||||
key: "send",
|
||||
@ -4246,6 +4243,7 @@ function (_IStore) {
|
||||
} else {
|
||||
offset += rt;
|
||||
|
||||
try {
|
||||
if (packet.command == _IIPPacketCommand["default"].Event) {
|
||||
switch (packet.event) {
|
||||
case _IIPPacketEvent["default"].ResourceReassigned:
|
||||
@ -4485,6 +4483,9 @@ function (_IStore) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (ex) {
|
||||
console.log("Esyur Error ", ex);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var rt = authPacket.parse(msg, offset, ends);
|
||||
@ -4683,7 +4684,13 @@ function (_IStore) {
|
||||
self.hold();
|
||||
|
||||
while (this.networkBuffer.available > 0 && !this.networkBuffer["protected"]) {
|
||||
self.receive(this.networkBuffer);
|
||||
// try
|
||||
// {
|
||||
self.receive(this.networkBuffer); // }
|
||||
// catch(e)
|
||||
//{
|
||||
// console.log(e);
|
||||
//}
|
||||
}
|
||||
|
||||
self.unhold();
|
||||
@ -4832,19 +4839,18 @@ function (_IStore) {
|
||||
value: function IIPEventPropertyUpdated(resourceId, index, content) {
|
||||
var self = this;
|
||||
this.fetch(resourceId).then(function (r) {
|
||||
var pt = r.instance.template.getPropertyTemplateByIndex(index);
|
||||
if (pt == null) return; // ft found, fi not found, this should never happen
|
||||
// push to the queue to gaurantee serialization
|
||||
|
||||
var item = new _AsyncReply["default"]();
|
||||
self.queue.add(item);
|
||||
|
||||
_Codec["default"].parse(content, 0, {}, self).then(function (args) {
|
||||
var pt = r.instance.template.getPropertyTemplateByIndex(index);
|
||||
|
||||
if (pt != null) {
|
||||
item.trigger(new _DistributedResourceQueueItem["default"](r, _DistributedResourceQueueItemType["default"].Propery, args, index));
|
||||
} else {
|
||||
// ft found, fi not found, this should never happen
|
||||
}).error(function (ex) {
|
||||
self.queue.remove(item);
|
||||
}
|
||||
console.log("Esyur Property Error", ex);
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -4853,20 +4859,18 @@ function (_IStore) {
|
||||
value: function IIPEventEventOccurred(resourceId, index, content) {
|
||||
var self = this;
|
||||
this.fetch(resourceId).then(function (r) {
|
||||
var et = r.instance.template.getEventTemplateByIndex(index);
|
||||
if (et == null) return; // ft found, fi not found, this should never happen
|
||||
// push to the queue to guarantee serialization
|
||||
|
||||
var item = new _AsyncReply["default"]();
|
||||
var r = self.resources[resourceId];
|
||||
self.queue.add(item);
|
||||
|
||||
_Codec["default"].parseVarArray(content, 0, content.length, self).then(function (args) {
|
||||
var et = r.instance.template.getEventTemplateByIndex(index);
|
||||
|
||||
if (et != null) {
|
||||
item.trigger(new _DistributedResourceQueueItem["default"](r, _DistributedResourceQueueItemType["default"].Event, args, index));
|
||||
} else {
|
||||
// ft found, fi not found, this should never happen
|
||||
}).error(function (ex) {
|
||||
self.queue.remove(item);
|
||||
}
|
||||
console.log("Esyur Event Error", ex);
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -4926,7 +4930,7 @@ function (_IStore) {
|
||||
|
||||
_Warehouse["default"].getById(resourceId).then(function (r) {
|
||||
if (r != null) {
|
||||
if (r.instance.applicable(self.session, ActionType.Attach, null) == Ruling.Denied) {
|
||||
if (r.instance.applicable(self.session, _ActionType["default"].Attach, null) == _Ruling["default"].Denied) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AttachDenied);
|
||||
return;
|
||||
}
|
||||
@ -4997,14 +5001,14 @@ function (_IStore) {
|
||||
} // check security
|
||||
|
||||
|
||||
if (store.instance.applicable(self.session, ActionType.CreateResource, null) != Ruling.Allowed) {
|
||||
if (store.instance.applicable(self.session, _ActionType["default"].CreateResource, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].CreateDenied);
|
||||
return;
|
||||
}
|
||||
|
||||
_Warehouse["default"].getById(parentId).then(function (parent) {
|
||||
// check security
|
||||
if (parent != null) if (parent.instance.applicable(self.session, ActionType.AddChild, null) != Ruling.Allowed) {
|
||||
if (parent != null) if (parent.instance.applicable(self.session, _ActionType["default"].AddChild, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AddChildDenied);
|
||||
return;
|
||||
}
|
||||
@ -5054,7 +5058,7 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (r.instance.store.instance.applicable(session, ActionType.Delete, null) != Ruling.Allowed) {
|
||||
if (r.instance.store.instance.applicable(session, _ActionType["default"].Delete, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].DeleteDenied);
|
||||
return;
|
||||
}
|
||||
@ -5121,15 +5125,13 @@ function (_IStore) {
|
||||
} else {
|
||||
var fi = r[ft.name];
|
||||
|
||||
if (r.instance.applicable(self.session, ActionType.Execute, ft) == Ruling.Denied) {
|
||||
if (r.instance.applicable(self.session, _ActionType["default"].Execute, ft) == _Ruling["default"].Denied) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].InvokeDenied);
|
||||
return;
|
||||
}
|
||||
|
||||
if (fi instanceof Function) {
|
||||
var itt =
|
||||
/*#__PURE__*/
|
||||
_regenerator["default"].mark(function itt() {
|
||||
var itt = /*#__PURE__*/_regenerator["default"].mark(function itt() {
|
||||
return _regenerator["default"].wrap(function itt$(_context) {
|
||||
while (1) {
|
||||
switch (_context.prev = _context.next) {
|
||||
@ -5211,7 +5213,7 @@ function (_IStore) {
|
||||
} else {
|
||||
var fi = r[ft.name];
|
||||
|
||||
if (r.instance.applicable(self.session, ActionType.Execute, ft) == Ruling.Denied) {
|
||||
if (r.instance.applicable(self.session, _ActionType["default"].Execute, ft) == _Ruling["default"].Denied) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].InvokeDenied);
|
||||
return;
|
||||
}
|
||||
@ -5335,7 +5337,7 @@ function (_IStore) {
|
||||
self.sendError(x.type, callback, x.code, x.message).done();
|
||||
});
|
||||
} else {
|
||||
if (r.instance.applicable(self.session, ActionType.SetProperty, pt) == Ruling.Denied) {
|
||||
if (r.instance.applicable(self.session, _ActionType["default"].SetProperty, pt) == _Ruling["default"].Denied) {
|
||||
self.sendError(_AsyncReply["default"].ErrorType.Exception, callback, _ExceptionCode["default"].SetPropertyDenied);
|
||||
return;
|
||||
}
|
||||
@ -5381,7 +5383,7 @@ function (_IStore) {
|
||||
|
||||
_Warehouse["default"].query(resourceLink).then(function (resources) {
|
||||
var list = resources.filter(function (r) {
|
||||
return r.instance.applicable(self.session, ActionType.Attach, null) != Ruling.Denied;
|
||||
return r.instance.applicable(self.session, _ActionType["default"].Attach, null) != _Ruling["default"].Denied;
|
||||
});
|
||||
if (list.length == 0) self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].ResourceNotFound);else self.sendReply(_IIPPacketAction["default"].QueryLink, callback).addUint8Array(_Codec["default"].composeResourceArray(list, self, true)).done();
|
||||
});
|
||||
@ -5541,7 +5543,7 @@ function (_IStore) {
|
||||
var et = resource.instance.template.getEventTemplateByName(name);
|
||||
if (et == null) return;
|
||||
if (receivers != null) if (receivers.indexOf(this.session) < 0) return;
|
||||
if (resource.instance.applicable(this.session, ActionType.ReceiveEvent, et, issuer) == Ruling.Denied) return; // compose the packet
|
||||
if (resource.instance.applicable(this.session, _ActionType["default"].ReceiveEvent, et, issuer) == _Ruling["default"].Denied) return; // compose the packet
|
||||
|
||||
this.sendEvent(_IIPPacketEvent["default"].EventOccurred).addUint32(resource.instance.id).addUint8(et.index).addUint8Array(_Codec["default"].composeVarArray(args, this, true)).done();
|
||||
}
|
||||
@ -5562,12 +5564,12 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (parent.instance.applicable(self.session, ActionType.AddChild, null) != Ruling.Allowed) {
|
||||
if (parent.instance.applicable(self.session, _ActionType["default"].AddChild, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AddChildDenied);
|
||||
return;
|
||||
}
|
||||
|
||||
if (child.instance.applicable(self.session, ActionType.AddParent, null) != Ruling.Allowed) {
|
||||
if (child.instance.applicable(self.session, _ActionType["default"].AddParent, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AddParentDenied);
|
||||
return;
|
||||
}
|
||||
@ -5594,12 +5596,12 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (parent.instance.applicable(self.session, ActionType.RemoveChild, null) != Ruling.Allowed) {
|
||||
if (parent.instance.applicable(self.session, _ActionType["default"].RemoveChild, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AddChildDenied);
|
||||
return;
|
||||
}
|
||||
|
||||
if (child.instance.applicable(self.session, ActionType.RemoveParent, null) != Ruling.Allowed) {
|
||||
if (child.instance.applicable(self.session, _ActionType["default"].RemoveParent, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].AddParentDenied);
|
||||
return;
|
||||
}
|
||||
@ -5620,7 +5622,7 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (resource.instance.applicable(self.session, ActionType.Rename, null) != Ruling.Allowed) {
|
||||
if (resource.instance.applicable(self.session, _ActionType["default"].Rename, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].RenameDenied);
|
||||
return;
|
||||
}
|
||||
@ -5668,7 +5670,7 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (r.instance.store.instance.applicable(self.session, ActionType.UpdateAttributes, null) != Ruling.Allowed) {
|
||||
if (r.instance.store.instance.applicable(self.session, _ActionType["default"].UpdateAttributes, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].UpdateAttributeDenied);
|
||||
return;
|
||||
}
|
||||
@ -5690,7 +5692,7 @@ function (_IStore) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (r.instance.store.instance.applicable(self.session, ActionType.UpdateAttributes, null) != Ruling.Allowed) {
|
||||
if (r.instance.store.instance.applicable(self.session, _ActionType["default"].UpdateAttributes, null) != _Ruling["default"].Allowed) {
|
||||
self.sendError(_ErrorType["default"].Management, callback, _ExceptionCode["default"].UpdateAttributeDenied);
|
||||
return;
|
||||
}
|
||||
@ -5808,7 +5810,7 @@ function (_IStore) {
|
||||
|
||||
exports["default"] = DistributedConnection;
|
||||
|
||||
},{"../../Core/AsyncQueue.js":20,"../../Core/AsyncReply.js":21,"../../Core/ErrorType.js":22,"../../Core/ExceptionCode.js":23,"../../Core/ProgressType.js":26,"../../Data/Codec.js":29,"../../Data/DataConverter.js":30,"../../Data/KeyList.js":33,"../../Resource/IResource.js":56,"../../Resource/IStore.js":57,"../../Resource/Template/ResourceTemplate.js":64,"../../Resource/Warehouse.js":65,"../../Security/Authority/Authentication.js":66,"../../Security/Authority/AuthenticationType.js":67,"../../Security/Authority/Session.js":68,"../../Security/Integrity/SHA256.js":69,"../Packets//IIPPacketReport.js":52,"../Packets/IIPAuthPacket.js":44,"../Packets/IIPAuthPacketAction.js":45,"../Packets/IIPAuthPacketCommand.js":46,"../Packets/IIPAuthPacketMethod.js":47,"../Packets/IIPPacket.js":48,"../Packets/IIPPacketAction.js":49,"../Packets/IIPPacketCommand.js":50,"../Packets/IIPPacketEvent.js":51,"../SendList.js":53,"../Sockets/NetworkBuffer.js":54,"./DistributedPropertyContext.js":40,"./DistributedResource.js":41,"./DistributedResourceQueueItem.js":42,"./DistributedResourceQueueItemType.js":43,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11,"@babel/runtime/regenerator":17}],40:[function(require,module,exports){
|
||||
},{"../../Core/AsyncQueue.js":20,"../../Core/AsyncReply.js":21,"../../Core/ErrorType.js":22,"../../Core/ExceptionCode.js":23,"../../Core/ProgressType.js":26,"../../Data/Codec.js":29,"../../Data/DataConverter.js":30,"../../Data/KeyList.js":33,"../../Resource/IResource.js":56,"../../Resource/IStore.js":57,"../../Resource/Template/ResourceTemplate.js":64,"../../Resource/Warehouse.js":65,"../../Security/Authority/Authentication.js":66,"../../Security/Authority/AuthenticationType.js":67,"../../Security/Authority/Session.js":68,"../../Security/Integrity/SHA256.js":69,"../../Security/Permissions/ActionType.js":70,"../../Security/Permissions/Ruling.js":72,"../Packets//IIPPacketReport.js":52,"../Packets/IIPAuthPacket.js":44,"../Packets/IIPAuthPacketAction.js":45,"../Packets/IIPAuthPacketCommand.js":46,"../Packets/IIPAuthPacketMethod.js":47,"../Packets/IIPPacket.js":48,"../Packets/IIPPacketAction.js":49,"../Packets/IIPPacketCommand.js":50,"../Packets/IIPPacketEvent.js":51,"../SendList.js":53,"../Sockets/NetworkBuffer.js":54,"./DistributedPropertyContext.js":40,"./DistributedResource.js":41,"./DistributedResourceQueueItem.js":42,"./DistributedResourceQueueItemType.js":43,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11,"@babel/runtime/regenerator":17}],40:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017-2018 Ahmed Kh. Zamil
|
||||
*
|
||||
@ -5913,9 +5915,7 @@ var _Structure = _interopRequireDefault(require("../../Data/Structure.js"));
|
||||
|
||||
var _IIPPacketAction = _interopRequireDefault(require("../Packets//IIPPacketAction.js"));
|
||||
|
||||
var DistributedResource =
|
||||
/*#__PURE__*/
|
||||
function (_IResource) {
|
||||
var DistributedResource = /*#__PURE__*/function (_IResource) {
|
||||
(0, _inherits2["default"])(DistributedResource, _IResource);
|
||||
(0, _createClass2["default"])(DistributedResource, [{
|
||||
key: "destroy",
|
||||
@ -6181,9 +6181,7 @@ var _IIPAuthPacketAction = _interopRequireDefault(require("./IIPAuthPacketAction
|
||||
|
||||
var _IIPAuthPacketMethod = _interopRequireDefault(require("./IIPAuthPacketMethod.js"));
|
||||
|
||||
var IIPAuthPacket =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var IIPAuthPacket = /*#__PURE__*/function () {
|
||||
function IIPAuthPacket() {
|
||||
(0, _classCallCheck2["default"])(this, IIPAuthPacket);
|
||||
this.command = 0;
|
||||
@ -6412,9 +6410,7 @@ var _IIPPacketReport = _interopRequireDefault(require("./IIPPacketReport.js"));
|
||||
|
||||
var _DataType = _interopRequireDefault(require("../../Data/DataType.js"));
|
||||
|
||||
var IIPPacket =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var IIPPacket = /*#__PURE__*/function () {
|
||||
function IIPPacket() {
|
||||
(0, _classCallCheck2["default"])(this, IIPPacket);
|
||||
this.command = 0;
|
||||
@ -6897,9 +6893,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _BinaryList2 = _interopRequireDefault(require("../Data/BinaryList.js"));
|
||||
|
||||
var SendList =
|
||||
/*#__PURE__*/
|
||||
function (_BinaryList) {
|
||||
var SendList = /*#__PURE__*/function (_BinaryList) {
|
||||
(0, _inherits2["default"])(SendList, _BinaryList);
|
||||
|
||||
function SendList(connection, doneReply) {
|
||||
@ -6965,9 +6959,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
||||
|
||||
var _DataConverter = _interopRequireDefault(require("../../Data/DataConverter.js"));
|
||||
|
||||
var NetworkBuffer =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var NetworkBuffer = /*#__PURE__*/function () {
|
||||
function NetworkBuffer() {
|
||||
(0, _classCallCheck2["default"])(this, NetworkBuffer);
|
||||
this.neededDataLength = 0;
|
||||
@ -7164,9 +7156,7 @@ var ResourceTrigger = {
|
||||
};
|
||||
exports.ResourceTrigger = ResourceTrigger;
|
||||
|
||||
var IResource =
|
||||
/*#__PURE__*/
|
||||
function (_IDestructible) {
|
||||
var IResource = /*#__PURE__*/function (_IDestructible) {
|
||||
(0, _inherits2["default"])(IResource, _IDestructible);
|
||||
(0, _createClass2["default"])(IResource, [{
|
||||
key: "trigger",
|
||||
@ -7241,9 +7231,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _IResource2 = _interopRequireDefault(require("./IResource.js"));
|
||||
|
||||
var IStore =
|
||||
/*#__PURE__*/
|
||||
function (_IResource) {
|
||||
var IStore = /*#__PURE__*/function (_IResource) {
|
||||
(0, _inherits2["default"])(IStore, _IResource);
|
||||
(0, _createClass2["default"])(IStore, [{
|
||||
key: "get",
|
||||
@ -7342,9 +7330,7 @@ var _CustomResourceEvent = _interopRequireDefault(require("./CustomResourceEvent
|
||||
|
||||
var _Warehouse = _interopRequireDefault(require("./Warehouse.js"));
|
||||
|
||||
var Instance =
|
||||
/*#__PURE__*/
|
||||
function (_IEventHandler) {
|
||||
var Instance = /*#__PURE__*/function (_IEventHandler) {
|
||||
(0, _inherits2["default"])(Instance, _IEventHandler);
|
||||
(0, _createClass2["default"])(Instance, [{
|
||||
key: "getAge",
|
||||
@ -7616,7 +7602,7 @@ function (_IEventHandler) {
|
||||
|
||||
exports["default"] = Instance;
|
||||
|
||||
},{"../Core/IEventHandler.js":25,"../Data/AutoList.js":27,"../Data/KeyList.js":33,"../Data/PropertyValue.js":34,"../Data/Structure.js":36,"../Data/StructureArray.js":37,"../Security/Permissions/IPermissionsManager.js":70,"./CustomResourceEvent.js":55,"./Warehouse.js":65,"@babel/runtime/helpers/assertThisInitialized":1,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/get":6,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11}],59:[function(require,module,exports){
|
||||
},{"../Core/IEventHandler.js":25,"../Data/AutoList.js":27,"../Data/KeyList.js":33,"../Data/PropertyValue.js":34,"../Data/Structure.js":36,"../Data/StructureArray.js":37,"../Security/Permissions/IPermissionsManager.js":71,"./CustomResourceEvent.js":55,"./Warehouse.js":65,"@babel/runtime/helpers/assertThisInitialized":1,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/get":6,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11}],59:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
@ -7669,9 +7655,7 @@ var _MemberTemplate2 = _interopRequireDefault(require("./MemberTemplate.js"));
|
||||
|
||||
var _MemberType = _interopRequireDefault(require("./MemberType.js"));
|
||||
|
||||
var EventTemplate =
|
||||
/*#__PURE__*/
|
||||
function (_MemberTemplate) {
|
||||
var EventTemplate = /*#__PURE__*/function (_MemberTemplate) {
|
||||
(0, _inherits2["default"])(EventTemplate, _MemberTemplate);
|
||||
|
||||
function EventTemplate() {
|
||||
@ -7754,9 +7738,7 @@ var _MemberTemplate2 = _interopRequireDefault(require("./MemberTemplate.js"));
|
||||
|
||||
var _MemberType = _interopRequireDefault(require("./MemberType.js"));
|
||||
|
||||
var FunctionTemplate =
|
||||
/*#__PURE__*/
|
||||
function (_MemberTemplate) {
|
||||
var FunctionTemplate = /*#__PURE__*/function (_MemberTemplate) {
|
||||
(0, _inherits2["default"])(FunctionTemplate, _MemberTemplate);
|
||||
(0, _createClass2["default"])(FunctionTemplate, [{
|
||||
key: "compose",
|
||||
@ -7827,9 +7809,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
||||
|
||||
var _DataConverter = _interopRequireDefault(require("../../Data/DataConverter.js"));
|
||||
|
||||
var MemberTemplate =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var MemberTemplate = /*#__PURE__*/function () {
|
||||
function MemberTemplate() {
|
||||
(0, _classCallCheck2["default"])(this, MemberTemplate);
|
||||
}
|
||||
@ -7919,9 +7899,7 @@ var PropertyPermission = {
|
||||
};
|
||||
exports.PropertyPermission = PropertyPermission;
|
||||
|
||||
var PropertyTemplate =
|
||||
/*#__PURE__*/
|
||||
function (_MemberTemplate) {
|
||||
var PropertyTemplate = /*#__PURE__*/function (_MemberTemplate) {
|
||||
(0, _inherits2["default"])(PropertyTemplate, _MemberTemplate);
|
||||
|
||||
function PropertyTemplate() {
|
||||
@ -8007,9 +7985,7 @@ var _SHA = _interopRequireDefault(require("../../Security/Integrity/SHA256.js"))
|
||||
|
||||
var _DataConverter = require("../../Data/DataConverter.js");
|
||||
|
||||
var ResourceTemplate =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var ResourceTemplate = /*#__PURE__*/function () {
|
||||
(0, _createClass2["default"])(ResourceTemplate, [{
|
||||
key: "getEventTemplateByName",
|
||||
value: function getEventTemplateByName(eventName) {
|
||||
@ -8353,9 +8329,7 @@ var _IStore = _interopRequireDefault(require("./IStore.js"));
|
||||
|
||||
var _IResource = require("./IResource.js");
|
||||
|
||||
var WH =
|
||||
/*#__PURE__*/
|
||||
function (_IEventHandler) {
|
||||
var WH = /*#__PURE__*/function (_IEventHandler) {
|
||||
(0, _inherits2["default"])(WH, _IEventHandler);
|
||||
|
||||
function WH() {
|
||||
@ -8625,9 +8599,7 @@ function (_IEventHandler) {
|
||||
}, {
|
||||
key: "query",
|
||||
value: function () {
|
||||
var _query = (0, _asyncToGenerator2["default"])(
|
||||
/*#__PURE__*/
|
||||
_regenerator["default"].mark(function _callee(path) {
|
||||
var _query = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(path) {
|
||||
var rt, p, resource, i, store, res, children;
|
||||
return _regenerator["default"].wrap(function _callee$(_context) {
|
||||
while (1) {
|
||||
@ -8758,7 +8730,7 @@ Warehouse.protocols.add("mem", function () {
|
||||
var _default = Warehouse;
|
||||
exports["default"] = _default;
|
||||
|
||||
},{"../Core/AsyncReply.js":21,"../Core/IEventHandler.js":25,"../Data/AutoList.js":27,"../Data/KeyList.js":33,"../Net/IIP/DistributedConnection.js":39,"../Resource/Instance.js":58,"../Resource/Template/ResourceTemplate.js":64,"../Stores/MemoryStore.js":71,"./IResource.js":56,"./IStore.js":57,"@babel/runtime/helpers/asyncToGenerator":2,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11,"@babel/runtime/helpers/typeof":14,"@babel/runtime/regenerator":17}],66:[function(require,module,exports){
|
||||
},{"../Core/AsyncReply.js":21,"../Core/IEventHandler.js":25,"../Data/AutoList.js":27,"../Data/KeyList.js":33,"../Net/IIP/DistributedConnection.js":39,"../Resource/Instance.js":58,"../Resource/Template/ResourceTemplate.js":64,"../Stores/MemoryStore.js":73,"./IResource.js":56,"./IStore.js":57,"@babel/runtime/helpers/asyncToGenerator":2,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11,"@babel/runtime/helpers/typeof":14,"@babel/runtime/regenerator":17}],66:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
@ -8797,9 +8769,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var Authentication =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Authentication = /*#__PURE__*/function () {
|
||||
function Authentication(type) {
|
||||
(0, _classCallCheck2["default"])(this, Authentication);
|
||||
this.type = type;
|
||||
@ -8925,9 +8895,7 @@ var _DataConverter = require("../../Data/DataConverter.js");
|
||||
* Created by Ahmed Zamil on 25/12/2017.
|
||||
* Ref: https://en.wikipedia.org/wiki/SHA-2
|
||||
*/
|
||||
var SHA256 =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var SHA256 = /*#__PURE__*/function () {
|
||||
function SHA256() {
|
||||
(0, _classCallCheck2["default"])(this, SHA256);
|
||||
}
|
||||
@ -9070,22 +9038,16 @@ exports["default"] = SHA256;
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by Ahmed Zamil on 16/11/2017.
|
||||
* Created by Ahmed Zamil on 9/2/2017.
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = exports.Ruling = exports.ActionType = void 0;
|
||||
|
||||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var ActionType = {
|
||||
exports["default"] = void 0;
|
||||
var _default = // ActionType =
|
||||
{
|
||||
Attach: 0,
|
||||
Delete: 1,
|
||||
Execute: 2,
|
||||
@ -9101,17 +9063,48 @@ var ActionType = {
|
||||
Rename: 12,
|
||||
ReceiveEvent: 13
|
||||
};
|
||||
exports.ActionType = ActionType;
|
||||
var Ruling = {
|
||||
Denied: 0,
|
||||
Allowed: 1,
|
||||
DontCare: 2
|
||||
};
|
||||
exports.Ruling = Ruling;
|
||||
exports["default"] = _default;
|
||||
|
||||
var IPermissionsManager =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
},{}],71:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by Ahmed Zamil on 16/11/2017.
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = void 0;
|
||||
|
||||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
||||
|
||||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
||||
|
||||
var IPermissionsManager = /*#__PURE__*/function () {
|
||||
function IPermissionsManager() {
|
||||
(0, _classCallCheck2["default"])(this, IPermissionsManager);
|
||||
}
|
||||
@ -9139,7 +9132,47 @@ function () {
|
||||
|
||||
exports["default"] = IPermissionsManager;
|
||||
|
||||
},{"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/interopRequireDefault":9}],71:[function(require,module,exports){
|
||||
},{"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/interopRequireDefault":9}],72:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by Ahmed Zamil on 9/2/2020.
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = void 0;
|
||||
var _default = //Ruling =
|
||||
{
|
||||
Denied: 0,
|
||||
Allowed: 1,
|
||||
DontCare: 2
|
||||
};
|
||||
exports["default"] = _default;
|
||||
|
||||
},{}],73:[function(require,module,exports){
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
@ -9186,9 +9219,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
||||
|
||||
var _IStore2 = _interopRequireDefault(require("../Resource/IStore.js"));
|
||||
|
||||
var MemoryStore =
|
||||
/*#__PURE__*/
|
||||
function (_IStore) {
|
||||
var MemoryStore = /*#__PURE__*/function (_IStore) {
|
||||
(0, _inherits2["default"])(MemoryStore, _IStore);
|
||||
|
||||
function MemoryStore() {
|
||||
@ -9237,7 +9268,8 @@ function (_IStore) {
|
||||
|
||||
exports["default"] = MemoryStore;
|
||||
|
||||
},{"../Resource/IStore.js":57,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11}],72:[function(require,module,exports){
|
||||
},{"../Resource/IStore.js":57,"@babel/runtime/helpers/classCallCheck":3,"@babel/runtime/helpers/createClass":5,"@babel/runtime/helpers/getPrototypeOf":7,"@babel/runtime/helpers/inherits":8,"@babel/runtime/helpers/interopRequireDefault":9,"@babel/runtime/helpers/possibleConstructorReturn":11}],74:[function(require,module,exports){
|
||||
(function (global){
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
@ -9253,13 +9285,26 @@ var _Structure = _interopRequireDefault(require("./Data/Structure.js"));
|
||||
|
||||
var _DistributedResource = _interopRequireDefault(require("./Net/IIP/DistributedResource.js"));
|
||||
|
||||
var _MemoryStore = _interopRequireDefault(require("./Stores/MemoryStore.js"));
|
||||
|
||||
var _IResource = _interopRequireDefault(require("./Resource/IResource.js"));
|
||||
|
||||
if (window) {
|
||||
window.wh = _Warehouse["default"];
|
||||
window.Structure = _Structure["default"];
|
||||
window.DistributedResource = _DistributedResource["default"];
|
||||
window.MemoryStore = _MemoryStore["default"];
|
||||
window.IResource = _IResource["default"];
|
||||
} else if (global) {
|
||||
global.wh = _Warehouse["default"];
|
||||
global.Structure = _Structure["default"];
|
||||
global.DistributedResource = _DistributedResource["default"];
|
||||
global.MemoryStore = _MemoryStore["default"];
|
||||
global.IResource = _IResource["default"];
|
||||
}
|
||||
|
||||
var _default = _Warehouse["default"];
|
||||
exports["default"] = _default;
|
||||
|
||||
},{"./Data/Structure.js":36,"./Net/IIP/DistributedResource.js":41,"./Resource/Warehouse.js":65,"@babel/runtime/helpers/interopRequireDefault":9}]},{},[72]);
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{"./Data/Structure.js":36,"./Net/IIP/DistributedResource.js":41,"./Resource/IResource.js":56,"./Resource/Warehouse.js":65,"./Stores/MemoryStore.js":73,"@babel/runtime/helpers/interopRequireDefault":9}]},{},[74]);
|
||||
|
@ -5,3 +5,4 @@ exports.printMsg = function() {
|
||||
module.exports = { wh };
|
||||
|
||||
let WebSocket = require('ws')
|
||||
|
||||
|
1091
package-lock.json
generated
1091
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
15
package.json
15
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "esyur",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.6",
|
||||
"description": "Distributed Object Framework",
|
||||
"main": "esyur.js",
|
||||
"scripts": {
|
||||
@ -19,14 +19,15 @@
|
||||
},
|
||||
"homepage": "https://github.com/esyur/esyur-js#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"ws": "^6.2.0"
|
||||
"@babel/polyfill": "^7.8.3",
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"ws": "^6.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "^7.7.7",
|
||||
"@babel/core": "^7.7.7",
|
||||
"@babel/plugin-transform-runtime": "^7.7.6",
|
||||
"@babel/preset-env": "^7.7.7",
|
||||
"@babel/cli": "^7.8.4",
|
||||
"@babel/core": "^7.8.6",
|
||||
"@babel/plugin-transform-runtime": "^7.8.3",
|
||||
"@babel/preset-env": "^7.8.6",
|
||||
"babel-cli": "^6.0.0",
|
||||
"babelify": "^10.0.0",
|
||||
"browserify": "^16.5.0"
|
||||
|
@ -40,12 +40,20 @@ export default class AsyncQueue extends AsyncReply
|
||||
this.processQueue = function ()
|
||||
{
|
||||
for (var i = 0; i < self.list.length; i++)
|
||||
if (self.list[i].ready)
|
||||
{
|
||||
if (self.list[i].ready) {
|
||||
self.trigger(self.list[i].result);
|
||||
self.list.splice(i, 1);
|
||||
self.ready = false;
|
||||
//self.list.splice(i, 1);
|
||||
self.list.shift();
|
||||
|
||||
i--;
|
||||
}
|
||||
else if (self.list[i].failed) {
|
||||
self.ready = false;
|
||||
self.list.shift();
|
||||
i--;
|
||||
console.log("AsyncQueue (Reply Failed)");
|
||||
}
|
||||
else
|
||||
break;
|
||||
|
||||
@ -57,11 +65,13 @@ export default class AsyncQueue extends AsyncReply
|
||||
{
|
||||
this.list.push(reply);
|
||||
this.ready = false;
|
||||
reply.then(this.processQueue);
|
||||
reply.then(this.processQueue).error(this.processQueue);
|
||||
|
||||
}
|
||||
|
||||
remove(reply)
|
||||
{
|
||||
console.log("REMOVE QUEUE");
|
||||
this.list.splice(this.list.indexOf(reply), 1);
|
||||
this.processQueue();
|
||||
}
|
||||
|
@ -72,6 +72,7 @@ export default class IEventHandler
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
off(event, fn)
|
||||
{
|
||||
event = event.toLocaleString();
|
||||
|
@ -295,45 +295,64 @@ export default class DC extends Uint8Array
|
||||
return new Uint8Array(this.buffer, offset, length);
|
||||
}
|
||||
|
||||
copy(offset, length, elementSize, func, dstType)
|
||||
{
|
||||
let rt = new dstType(length / elementSize);
|
||||
let d = 0, end = offset + length;
|
||||
for (let i = offset; i < end; i += elementSize)
|
||||
rt[d++] = func.call(this, i);
|
||||
return rt;
|
||||
}
|
||||
|
||||
getInt16Array(offset, length)
|
||||
{
|
||||
return new Int16Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 2, this.getInt16, Int16Array);
|
||||
//return new Int16Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getUint16Array(offset, length)
|
||||
{
|
||||
return new Uint16Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 2, this.getUint16, Uint16Array);
|
||||
//return new Uint16Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getInt32Array(offset, length)
|
||||
{
|
||||
return new Int32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getInt32, Int32Array);
|
||||
//return new Int32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
|
||||
getUint32Array(offset, length)
|
||||
{
|
||||
return new Uint32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getUint32, Uint32Array);
|
||||
//return new Uint32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getFloat32Array(offset, length)
|
||||
{
|
||||
return new Float32Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 4, this.getFloat32, Float32Array);
|
||||
//return new Float32Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getFloat64Array(offset, length)
|
||||
{
|
||||
return new Float64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getFloat64, Float64Array);
|
||||
|
||||
// return new Float64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getInt64Array(offset, length)
|
||||
{
|
||||
return new Int64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getInt64, BigInt64Array);
|
||||
//return new Int64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
|
||||
getUint64Array(offset, length)
|
||||
{
|
||||
return new Uint64Array(this.clip(offset, length).buffer);
|
||||
return this.copy(offset, length, 8, this.getUint64, BigUint64Array);
|
||||
//return new Uint64Array(this.clip(offset, length).buffer);
|
||||
}
|
||||
|
||||
getBoolean(offset)
|
||||
|
@ -92,6 +92,11 @@ export default class KeyList
|
||||
return false;
|
||||
}
|
||||
|
||||
containsKey(key)
|
||||
{
|
||||
return this.contains(key);
|
||||
}
|
||||
|
||||
set(key, value)
|
||||
{
|
||||
this.remove(key);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -37,15 +37,24 @@ export default class DistributedResource extends IResource
|
||||
destroy()
|
||||
{
|
||||
this.destroyed = true;
|
||||
this._p.attached = false;
|
||||
this._p.connection.sendDetachRequest(this._p.instanceId);
|
||||
this._emit("destroy", this);
|
||||
}
|
||||
|
||||
_suspend()
|
||||
{
|
||||
this._p.suspended = true;
|
||||
this._p.attached = false;
|
||||
}
|
||||
|
||||
constructor(connection, instanceId, age, link)
|
||||
{
|
||||
super();
|
||||
|
||||
this._p = {
|
||||
isAttached: false,
|
||||
suspended: false,
|
||||
attached: false,
|
||||
connection: connection,
|
||||
instanceId: instanceId,
|
||||
age: age,
|
||||
@ -66,13 +75,16 @@ export default class DistributedResource extends IResource
|
||||
return props;
|
||||
}
|
||||
|
||||
_attached(properties)
|
||||
_attach(properties)
|
||||
{
|
||||
|
||||
if (this._isAttached)
|
||||
if (this._p.attached)
|
||||
return false;
|
||||
else
|
||||
{
|
||||
|
||||
this._p.suspended = false;
|
||||
|
||||
for(var i = 0; i < properties.length; i++)
|
||||
{
|
||||
this.instance.setAge(i, properties[i].age);
|
||||
@ -81,7 +93,7 @@ export default class DistributedResource extends IResource
|
||||
}
|
||||
|
||||
|
||||
this._p.isAttached = true;
|
||||
this._p.attached = true;
|
||||
|
||||
var self = this;
|
||||
|
||||
@ -154,6 +166,9 @@ export default class DistributedResource extends IResource
|
||||
if (this.destroyed)
|
||||
throw new Error("Trying to access destroyed object");
|
||||
|
||||
if (this._p.suspended)
|
||||
throw new Error("Trying to access suspended object");
|
||||
|
||||
if (index >= this.instance.template.functions.length)
|
||||
throw new Error("Function index is incorrect");
|
||||
|
||||
@ -164,6 +179,9 @@ export default class DistributedResource extends IResource
|
||||
if (this.destroyed)
|
||||
throw new Error("Trying to access destroyed object");
|
||||
|
||||
if (this._p.suspended)
|
||||
throw new Error("Trying to access suspended object");
|
||||
|
||||
if (index >= this.instance.template.functions.length)
|
||||
throw new Error("Function index is incorrect");
|
||||
|
||||
|
@ -189,6 +189,9 @@ export default class IIPPacket
|
||||
var cl = data.getUint32(offset);
|
||||
offset += 4;
|
||||
|
||||
if (this.notEnough(offset, ends, cl))
|
||||
return -this.dataLengthNeeded;
|
||||
|
||||
this.content = data.clip(offset, cl);
|
||||
offset += cl;
|
||||
}
|
||||
|
@ -137,7 +137,8 @@ export default class Instance extends IEventHandler
|
||||
this.store.record(this.resource, pt.name, value, this.ages[pt.index], now);
|
||||
|
||||
super._emit("ResourceModified", this.resource, pt.name, value);
|
||||
this.resource._emit("modified", pt.name, value);
|
||||
//this.resource._emit("modified", pt.name, value);
|
||||
this.resource._emit(":" + pt.name, value);
|
||||
}
|
||||
|
||||
modified(propertyName = null)
|
||||
|
45
src/Security/Permissions/ActionType.js
Normal file
45
src/Security/Permissions/ActionType.js
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by Ahmed Zamil on 9/2/2017.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
export default // ActionType =
|
||||
{
|
||||
Attach: 0,
|
||||
Delete: 1,
|
||||
Execute: 2,
|
||||
GetProperty: 3,
|
||||
SetProperty: 4,
|
||||
CreateResource: 5,
|
||||
UpdateAttributes: 6,
|
||||
InquireAttributes: 7,
|
||||
AddParent: 8,
|
||||
RemoveParent: 9,
|
||||
AddChild: 10,
|
||||
RemoveChild: 11,
|
||||
Rename: 12,
|
||||
ReceiveEvent: 13
|
||||
};
|
@ -26,30 +26,6 @@
|
||||
|
||||
"use strict";
|
||||
|
||||
export const ActionType =
|
||||
{
|
||||
Attach: 0,
|
||||
Delete: 1,
|
||||
Execute: 2,
|
||||
GetProperty: 3,
|
||||
SetProperty: 4,
|
||||
CreateResource: 5,
|
||||
UpdateAttributes: 6,
|
||||
InquireAttributes: 7,
|
||||
AddParent: 8,
|
||||
RemoveParent: 9,
|
||||
AddChild: 10,
|
||||
RemoveChild: 11,
|
||||
Rename: 12,
|
||||
ReceiveEvent: 13
|
||||
};
|
||||
|
||||
export const Ruling = {
|
||||
Denied: 0,
|
||||
Allowed: 1,
|
||||
DontCare: 2,
|
||||
};
|
||||
|
||||
export default class IPermissionsManager
|
||||
{
|
||||
/// <summary>
|
||||
|
35
src/Security/Permissions/Ruling.js
Normal file
35
src/Security/Permissions/Ruling.js
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2017 Ahmed Kh. Zamil
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by Ahmed Zamil on 9/2/2020.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
export default //Ruling =
|
||||
{
|
||||
Denied: 0,
|
||||
Allowed: 1,
|
||||
DontCare: 2,
|
||||
};
|
||||
|
13
src/esyur.js
13
src/esyur.js
@ -2,11 +2,24 @@
|
||||
import wh from './Resource/Warehouse.js';
|
||||
import Structure from './Data/Structure.js';
|
||||
import DistributedResource from './Net/IIP/DistributedResource.js'
|
||||
import MemoryStore from './Stores/MemoryStore.js';
|
||||
import IResource from './Resource/IResource.js';
|
||||
|
||||
if (window) {
|
||||
window.wh = wh;
|
||||
window.Structure = Structure;
|
||||
window.DistributedResource = DistributedResource;
|
||||
window.MemoryStore = MemoryStore;
|
||||
window.IResource = IResource;
|
||||
}
|
||||
else if (global)
|
||||
{
|
||||
global.wh = wh;
|
||||
global.Structure = Structure;
|
||||
global.DistributedResource = DistributedResource;
|
||||
global.MemoryStore = MemoryStore;
|
||||
global.IResource = IResource;
|
||||
|
||||
}
|
||||
|
||||
export default wh;
|
Loading…
x
Reference in New Issue
Block a user