@difizen/libro-kernel 0.0.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/es/basemanager.d.ts +94 -0
  4. package/es/basemanager.d.ts.map +1 -0
  5. package/es/basemanager.js +110 -0
  6. package/es/contents/contents-drive.d.ts +189 -0
  7. package/es/contents/contents-drive.d.ts.map +1 -0
  8. package/es/contents/contents-drive.js +792 -0
  9. package/es/contents/contents-manager.d.ts +229 -0
  10. package/es/contents/contents-manager.d.ts.map +1 -0
  11. package/es/contents/contents-manager.js +551 -0
  12. package/es/contents/contents-module.d.ts +3 -0
  13. package/es/contents/contents-module.d.ts.map +1 -0
  14. package/es/contents/contents-module.js +4 -0
  15. package/es/contents/contents-protocol.d.ts +487 -0
  16. package/es/contents/contents-protocol.d.ts.map +1 -0
  17. package/es/contents/contents-protocol.js +1 -0
  18. package/es/contents/index.d.ts +6 -0
  19. package/es/contents/index.d.ts.map +1 -0
  20. package/es/contents/index.js +5 -0
  21. package/es/contents/validate.d.ts +10 -0
  22. package/es/contents/validate.d.ts.map +1 -0
  23. package/es/contents/validate.js +22 -0
  24. package/es/index.d.ts +10 -0
  25. package/es/index.d.ts.map +1 -0
  26. package/es/index.js +9 -0
  27. package/es/index.less +0 -0
  28. package/es/kernel/comm.d.ts +92 -0
  29. package/es/kernel/comm.d.ts.map +1 -0
  30. package/es/kernel/comm.js +216 -0
  31. package/es/kernel/future.d.ts +178 -0
  32. package/es/kernel/future.d.ts.map +1 -0
  33. package/es/kernel/future.js +587 -0
  34. package/es/kernel/index.d.ts +8 -0
  35. package/es/kernel/index.d.ts.map +1 -0
  36. package/es/kernel/index.js +8 -0
  37. package/es/kernel/kernel-connection.d.ts +550 -0
  38. package/es/kernel/kernel-connection.d.ts.map +1 -0
  39. package/es/kernel/kernel-connection.js +1957 -0
  40. package/es/kernel/kernel-module.d.ts +3 -0
  41. package/es/kernel/kernel-module.d.ts.map +1 -0
  42. package/es/kernel/kernel-module.js +32 -0
  43. package/es/kernel/libro-kernel-manager.d.ts +69 -0
  44. package/es/kernel/libro-kernel-manager.d.ts.map +1 -0
  45. package/es/kernel/libro-kernel-manager.js +349 -0
  46. package/es/kernel/libro-kernel-protocol.d.ts +675 -0
  47. package/es/kernel/libro-kernel-protocol.d.ts.map +1 -0
  48. package/es/kernel/libro-kernel-protocol.js +60 -0
  49. package/es/kernel/libro-kernel-utils.d.ts +95 -0
  50. package/es/kernel/libro-kernel-utils.d.ts.map +1 -0
  51. package/es/kernel/libro-kernel-utils.js +130 -0
  52. package/es/kernel/libro-kernel.d.ts +14 -0
  53. package/es/kernel/libro-kernel.d.ts.map +1 -0
  54. package/es/kernel/libro-kernel.js +54 -0
  55. package/es/kernel/messages.d.ts +845 -0
  56. package/es/kernel/messages.d.ts.map +1 -0
  57. package/es/kernel/messages.js +457 -0
  58. package/es/kernel/restapi.d.ts +78 -0
  59. package/es/kernel/restapi.d.ts.map +1 -0
  60. package/es/kernel/restapi.js +367 -0
  61. package/es/kernel/serialize.d.ts +10 -0
  62. package/es/kernel/serialize.d.ts.map +1 -0
  63. package/es/kernel/serialize.js +214 -0
  64. package/es/kernel/validate.d.ts +15 -0
  65. package/es/kernel/validate.d.ts.map +1 -0
  66. package/es/kernel/validate.js +125 -0
  67. package/es/kernelspec/index.d.ts +5 -0
  68. package/es/kernelspec/index.d.ts.map +1 -0
  69. package/es/kernelspec/index.js +4 -0
  70. package/es/kernelspec/kernelspec-module.d.ts +3 -0
  71. package/es/kernelspec/kernelspec-module.d.ts.map +1 -0
  72. package/es/kernelspec/kernelspec-module.js +4 -0
  73. package/es/kernelspec/kernelspec.d.ts +33 -0
  74. package/es/kernelspec/kernelspec.d.ts.map +1 -0
  75. package/es/kernelspec/kernelspec.js +1 -0
  76. package/es/kernelspec/manager.d.ts +81 -0
  77. package/es/kernelspec/manager.d.ts.map +1 -0
  78. package/es/kernelspec/manager.js +248 -0
  79. package/es/kernelspec/restapi.d.ts +71 -0
  80. package/es/kernelspec/restapi.d.ts.map +1 -0
  81. package/es/kernelspec/restapi.js +107 -0
  82. package/es/kernelspec/validate.d.ts +10 -0
  83. package/es/kernelspec/validate.d.ts.map +1 -0
  84. package/es/kernelspec/validate.js +69 -0
  85. package/es/libro-kernel-connection-manager.d.ts +19 -0
  86. package/es/libro-kernel-connection-manager.d.ts.map +1 -0
  87. package/es/libro-kernel-connection-manager.js +142 -0
  88. package/es/module.d.ts +3 -0
  89. package/es/module.d.ts.map +1 -0
  90. package/es/module.js +9 -0
  91. package/es/page-config.d.ts +36 -0
  92. package/es/page-config.d.ts.map +1 -0
  93. package/es/page-config.js +129 -0
  94. package/es/protocol.d.ts +13 -0
  95. package/es/protocol.d.ts.map +1 -0
  96. package/es/protocol.js +8 -0
  97. package/es/server/connection-error.d.ts +36 -0
  98. package/es/server/connection-error.d.ts.map +1 -0
  99. package/es/server/connection-error.js +109 -0
  100. package/es/server/index.d.ts +6 -0
  101. package/es/server/index.d.ts.map +1 -0
  102. package/es/server/index.js +5 -0
  103. package/es/server/server-connection-protocol.d.ts +49 -0
  104. package/es/server/server-connection-protocol.d.ts.map +1 -0
  105. package/es/server/server-connection-protocol.js +0 -0
  106. package/es/server/server-connection.d.ts +25 -0
  107. package/es/server/server-connection.d.ts.map +1 -0
  108. package/es/server/server-connection.js +159 -0
  109. package/es/server/server-manager.d.ts +22 -0
  110. package/es/server/server-manager.d.ts.map +1 -0
  111. package/es/server/server-manager.js +163 -0
  112. package/es/server/server-module.d.ts +3 -0
  113. package/es/server/server-module.d.ts.map +1 -0
  114. package/es/server/server-module.js +4 -0
  115. package/es/session/index.d.ts +5 -0
  116. package/es/session/index.d.ts.map +1 -0
  117. package/es/session/index.js +4 -0
  118. package/es/session/libro-session-manager.d.ts +71 -0
  119. package/es/session/libro-session-manager.d.ts.map +1 -0
  120. package/es/session/libro-session-manager.js +539 -0
  121. package/es/session/libro-session-protocol.d.ts +50 -0
  122. package/es/session/libro-session-protocol.d.ts.map +1 -0
  123. package/es/session/libro-session-protocol.js +21 -0
  124. package/es/session/libro-session.d.ts +12 -0
  125. package/es/session/libro-session.d.ts.map +1 -0
  126. package/es/session/libro-session.js +19 -0
  127. package/es/session/restapi.d.ts +28 -0
  128. package/es/session/restapi.d.ts.map +1 -0
  129. package/es/session/restapi.js +214 -0
  130. package/es/session/session-module.d.ts +3 -0
  131. package/es/session/session-module.d.ts.map +1 -0
  132. package/es/session/session-module.js +18 -0
  133. package/es/session/validate.d.ts +14 -0
  134. package/es/session/validate.d.ts.map +1 -0
  135. package/es/session/validate.js +37 -0
  136. package/es/utils.d.ts +4 -0
  137. package/es/utils.d.ts.map +1 -0
  138. package/es/utils.js +29 -0
  139. package/es/validate-property.d.ts +2 -0
  140. package/es/validate-property.d.ts.map +1 -0
  141. package/es/validate-property.js +35 -0
  142. package/package.json +62 -0
  143. package/src/basemanager.ts +133 -0
  144. package/src/contents/contents-drive.ts +495 -0
  145. package/src/contents/contents-manager.ts +465 -0
  146. package/src/contents/contents-module.ts +6 -0
  147. package/src/contents/contents-protocol.ts +604 -0
  148. package/src/contents/index.ts +5 -0
  149. package/src/contents/validate.ts +29 -0
  150. package/src/index.tsx +9 -0
  151. package/src/kernel/comm.ts +220 -0
  152. package/src/kernel/future.ts +474 -0
  153. package/src/kernel/index.ts +7 -0
  154. package/src/kernel/kernel-connection.ts +1770 -0
  155. package/src/kernel/kernel-module.ts +50 -0
  156. package/src/kernel/libro-kernel-manager.ts +199 -0
  157. package/src/kernel/libro-kernel-protocol.ts +858 -0
  158. package/src/kernel/libro-kernel-utils.ts +152 -0
  159. package/src/kernel/libro-kernel.ts +39 -0
  160. package/src/kernel/messages.ts +1104 -0
  161. package/src/kernel/restapi.ts +183 -0
  162. package/src/kernel/serialize.ts +262 -0
  163. package/src/kernel/validate.ts +101 -0
  164. package/src/kernelspec/index.ts +5 -0
  165. package/src/kernelspec/kernelspec-module.ts +9 -0
  166. package/src/kernelspec/kernelspec.ts +37 -0
  167. package/src/kernelspec/manager.ts +173 -0
  168. package/src/kernelspec/restapi.ts +104 -0
  169. package/src/kernelspec/validate.ts +80 -0
  170. package/src/libro-kernel-connection-manager.ts +73 -0
  171. package/src/module.ts +19 -0
  172. package/src/page-config.ts +106 -0
  173. package/src/protocol.ts +24 -0
  174. package/src/server/connection-error.ts +60 -0
  175. package/src/server/index.ts +5 -0
  176. package/src/server/server-connection-protocol.ts +57 -0
  177. package/src/server/server-connection.ts +144 -0
  178. package/src/server/server-manager.ts +76 -0
  179. package/src/server/server-module.ts +9 -0
  180. package/src/session/index.ts +4 -0
  181. package/src/session/libro-session-manager.ts +377 -0
  182. package/src/session/libro-session-protocol.ts +61 -0
  183. package/src/session/libro-session.ts +33 -0
  184. package/src/session/restapi.ts +126 -0
  185. package/src/session/session-module.ts +26 -0
  186. package/src/session/validate.ts +39 -0
  187. package/src/utils.ts +28 -0
  188. package/src/validate-property.ts +38 -0
@@ -0,0 +1,587 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
3
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
4
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
5
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
6
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
7
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
8
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
10
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
14
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ import { Deferred } from '@difizen/mana-app';
18
+ import { isStatusMsg } from "./libro-kernel-utils.js";
19
+ var Private;
20
+ (function (_Private) {
21
+ var noOp = _Private.noOp = function () {
22
+ /* no-op */
23
+ };
24
+ /**
25
+ * Defer a computation.
26
+ *
27
+ * #### NOTES
28
+ * We can't just use requestAnimationFrame since it is not available in node.
29
+ * This implementation is from Phosphor:
30
+ * https://github.com/phosphorjs/phosphor/blob/e88e4321289bb1198f3098e7bda40736501f2ed8/tests/test-messaging/src/index.spec.ts#L63
31
+ */
32
+ var defer = function () {
33
+ var ok = typeof requestAnimationFrame === 'function';
34
+ return ok ? requestAnimationFrame : setImmediate;
35
+ }();
36
+ var HookList = /*#__PURE__*/function () {
37
+ function HookList() {
38
+ _classCallCheck(this, HookList);
39
+ this._hooks = [];
40
+ }
41
+ _createClass(HookList, [{
42
+ key: "add",
43
+ value:
44
+ /**
45
+ * Register a hook.
46
+ *
47
+ * @param hook - The callback to register.
48
+ */
49
+ function add(hook) {
50
+ this.remove(hook);
51
+ this._hooks.push(hook);
52
+ }
53
+
54
+ /**
55
+ * Remove a hook, if it exists in the hook list.
56
+ *
57
+ * @param hook - The callback to remove.
58
+ */
59
+ }, {
60
+ key: "remove",
61
+ value: function remove(hook) {
62
+ var index = this._hooks.indexOf(hook);
63
+ if (index >= 0) {
64
+ this._hooks[index] = null;
65
+ this._scheduleCompact();
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Process a message through the hooks.
71
+ *
72
+ * @returns a promise resolving to false if any hook resolved as false,
73
+ * otherwise true
74
+ *
75
+ * #### Notes
76
+ * The most recently registered hook is run first. A hook can return a
77
+ * boolean or a promise to a boolean, in which case processing pauses until
78
+ * the promise is fulfilled. If a hook return value resolves to false, any
79
+ * later hooks will not run and the function will return a promise resolving
80
+ * to false. If a hook throws an error, the error is logged to the console
81
+ * and the next hook is run. If a hook is registered during the hook
82
+ * processing, it will not run until the next message. If a hook is removed
83
+ * during the hook processing, it will be deactivated immediately.
84
+ */
85
+ }, {
86
+ key: "process",
87
+ value: function () {
88
+ var _process = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(msg) {
89
+ var processing, continueHandling, i, hook;
90
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
91
+ while (1) switch (_context5.prev = _context5.next) {
92
+ case 0:
93
+ _context5.next = 2;
94
+ return this._processing;
95
+ case 2:
96
+ // Start the next process run.
97
+ processing = new Deferred();
98
+ this._processing = processing.promise;
99
+ i = this._hooks.length - 1;
100
+ case 5:
101
+ if (!(i >= 0)) {
102
+ _context5.next = 25;
103
+ break;
104
+ }
105
+ hook = this._hooks[i]; // If the hook has been removed, continue to the next one.
106
+ if (!(hook === null)) {
107
+ _context5.next = 9;
108
+ break;
109
+ }
110
+ return _context5.abrupt("continue", 22);
111
+ case 9:
112
+ _context5.prev = 9;
113
+ _context5.next = 12;
114
+ return hook(msg);
115
+ case 12:
116
+ continueHandling = _context5.sent;
117
+ _context5.next = 19;
118
+ break;
119
+ case 15:
120
+ _context5.prev = 15;
121
+ _context5.t0 = _context5["catch"](9);
122
+ continueHandling = true;
123
+ console.error(_context5.t0);
124
+ case 19:
125
+ if (!(continueHandling === false)) {
126
+ _context5.next = 22;
127
+ break;
128
+ }
129
+ processing.resolve(undefined);
130
+ return _context5.abrupt("return", false);
131
+ case 22:
132
+ i--;
133
+ _context5.next = 5;
134
+ break;
135
+ case 25:
136
+ // All hooks returned true (or errored out), so return true.
137
+ processing.resolve(undefined);
138
+ return _context5.abrupt("return", true);
139
+ case 27:
140
+ case "end":
141
+ return _context5.stop();
142
+ }
143
+ }, _callee5, this, [[9, 15]]);
144
+ }));
145
+ function process(_x5) {
146
+ return _process.apply(this, arguments);
147
+ }
148
+ return process;
149
+ }()
150
+ /**
151
+ * Schedule a cleanup of the list, removing any hooks that have been nulled out.
152
+ */
153
+ }, {
154
+ key: "_scheduleCompact",
155
+ value: function _scheduleCompact() {
156
+ var _this = this;
157
+ if (!this._compactScheduled) {
158
+ this._compactScheduled = true;
159
+
160
+ // Schedule a compaction in between processing runs. We do the
161
+ // scheduling in an animation frame to rate-limit our compactions. If we
162
+ // need to compact more frequently, we can change this to directly
163
+ // schedule the compaction.
164
+ defer(function () {
165
+ _this._processing = _this._processing.then(function () {
166
+ _this._compactScheduled = false;
167
+ _this._compact();
168
+ return;
169
+ });
170
+ });
171
+ }
172
+ }
173
+
174
+ /**
175
+ * Compact the list, removing any nulls.
176
+ */
177
+ }, {
178
+ key: "_compact",
179
+ value: function _compact() {
180
+ var numNulls = 0;
181
+ for (var i = 0, len = this._hooks.length; i < len; i++) {
182
+ var hook = this._hooks[i];
183
+ if (this._hooks[i] === null) {
184
+ numNulls++;
185
+ } else {
186
+ this._hooks[i - numNulls] = hook;
187
+ }
188
+ }
189
+ this._hooks.length -= numNulls;
190
+ }
191
+ }]);
192
+ return HookList;
193
+ }();
194
+ _Private.HookList = HookList;
195
+ var KernelFutureFlag = /*#__PURE__*/function (KernelFutureFlag) {
196
+ KernelFutureFlag[KernelFutureFlag["GotReply"] = 1] = "GotReply";
197
+ KernelFutureFlag[KernelFutureFlag["GotIdle"] = 2] = "GotIdle";
198
+ KernelFutureFlag[KernelFutureFlag["IsDone"] = 4] = "IsDone";
199
+ KernelFutureFlag[KernelFutureFlag["DisposeOnDone"] = 8] = "DisposeOnDone";
200
+ return KernelFutureFlag;
201
+ }({});
202
+ _Private.KernelFutureFlag = KernelFutureFlag;
203
+ })(Private || (Private = {}));
204
+ /**
205
+ * Implementation of a kernel future.
206
+ *
207
+ * If a reply is expected, the Future is considered done when both a `reply`
208
+ * message and an `idle` iopub status message have been received. Otherwise, it
209
+ * is considered done when the `idle` status is received.
210
+ *
211
+ */
212
+ export var KernelFutureHandler = /*#__PURE__*/function () {
213
+ /**
214
+ * Construct a new KernelFutureHandler.
215
+ */
216
+ function KernelFutureHandler(cb, msg, expectReply, disposeOnDone, kernel) {
217
+ _classCallCheck(this, KernelFutureHandler);
218
+ this.disposed = false;
219
+ this._status = 0;
220
+ this._stdin = Private.noOp;
221
+ this._iopub = Private.noOp;
222
+ this._reply = Private.noOp;
223
+ this._done = new Deferred();
224
+ this._hooks = new Private.HookList();
225
+ this._disposeOnDone = true;
226
+ this.disposeCb = cb;
227
+ this._msg = msg;
228
+ if (!expectReply) {
229
+ this._setFlag(Private.KernelFutureFlag.GotReply);
230
+ }
231
+ this._disposeOnDone = disposeOnDone;
232
+ this._kernel = kernel;
233
+ }
234
+
235
+ /**
236
+ * Get the original outgoing message.
237
+ */
238
+ _createClass(KernelFutureHandler, [{
239
+ key: "msg",
240
+ get: function get() {
241
+ return this._msg;
242
+ }
243
+
244
+ /**
245
+ * A promise that resolves when the future is done.
246
+ */
247
+ }, {
248
+ key: "done",
249
+ get: function get() {
250
+ return this._done.promise;
251
+ }
252
+
253
+ /**
254
+ * Get the reply handler.
255
+ */
256
+ }, {
257
+ key: "onReply",
258
+ get: function get() {
259
+ return this._reply;
260
+ }
261
+
262
+ /**
263
+ * Set the reply handler.
264
+ */,
265
+ set: function set(cb) {
266
+ this._reply = cb;
267
+ }
268
+
269
+ /**
270
+ * Get the iopub handler.
271
+ */
272
+ }, {
273
+ key: "onIOPub",
274
+ get: function get() {
275
+ return this._iopub;
276
+ }
277
+
278
+ /**
279
+ * Set the iopub handler.
280
+ */,
281
+ set: function set(cb) {
282
+ this._iopub = cb;
283
+ }
284
+
285
+ /**
286
+ * Get the stdin handler.
287
+ */
288
+ }, {
289
+ key: "onStdin",
290
+ get: function get() {
291
+ return this._stdin;
292
+ }
293
+
294
+ /**
295
+ * Set the stdin handler.
296
+ */,
297
+ set: function set(cb) {
298
+ this._stdin = cb;
299
+ }
300
+
301
+ /**
302
+ * Register hook for IOPub messages.
303
+ *
304
+ * @param hook - The callback invoked for an IOPub message.
305
+ *
306
+ * #### Notes
307
+ * The IOPub hook system allows you to preempt the handlers for IOPub
308
+ * messages handled by the future.
309
+ *
310
+ * The most recently registered hook is run first. A hook can return a
311
+ * boolean or a promise to a boolean, in which case all kernel message
312
+ * processing pauses until the promise is fulfilled. If a hook return value
313
+ * resolves to false, any later hooks will not run and the function will
314
+ * return a promise resolving to false. If a hook throws an error, the error
315
+ * is logged to the console and the next hook is run. If a hook is
316
+ * registered during the hook processing, it will not run until the next
317
+ * message. If a hook is removed during the hook processing, it will be
318
+ * deactivated immediately.
319
+ */
320
+ }, {
321
+ key: "registerMessageHook",
322
+ value: function registerMessageHook(hook) {
323
+ if (this.disposed) {
324
+ throw new Error('Kernel future is disposed');
325
+ }
326
+ this._hooks.add(hook);
327
+ }
328
+
329
+ /**
330
+ * Remove a hook for IOPub messages.
331
+ *
332
+ * @param hook - The hook to remove.
333
+ *
334
+ * #### Notes
335
+ * If a hook is removed during the hook processing, it will be deactivated immediately.
336
+ */
337
+ }, {
338
+ key: "removeMessageHook",
339
+ value: function removeMessageHook(hook) {
340
+ if (this.disposed) {
341
+ return;
342
+ }
343
+ this._hooks.remove(hook);
344
+ }
345
+
346
+ /**
347
+ * Send an `input_reply` message.
348
+ */
349
+ }, {
350
+ key: "sendInputReply",
351
+ value: function sendInputReply(content, parent_header) {
352
+ this._kernel.sendInputReply(content, parent_header);
353
+ }
354
+
355
+ /**
356
+ * Dispose and unregister the future.
357
+ */
358
+ }, {
359
+ key: "dispose",
360
+ value: function dispose() {
361
+ this._stdin = Private.noOp;
362
+ this._iopub = Private.noOp;
363
+ this._reply = Private.noOp;
364
+ this._hooks = null;
365
+ if (!this._testFlag(Private.KernelFutureFlag.IsDone)) {
366
+ // TODO: Uncomment the following logging code, and check for any tests that trigger it.
367
+ // let status = [];
368
+ // if (!this._testFlag(Private.KernelFutureFlag.GotIdle)) {
369
+ // status.push('idle');
370
+ // }
371
+ // if (!this._testFlag(Private.KernelFutureFlag.GotReply)) {
372
+ // status.push('reply');
373
+ // }
374
+ // console.warn(
375
+ // `*************** DISPOSED BEFORE DONE: K${this._kernel.id.slice(
376
+ // 0,
377
+ // 6
378
+ // )} M${this._msg.header.msg_id.slice(0, 6)} missing ${status.join(' ')}`
379
+ // );
380
+
381
+ // Reject the `done` promise, but catch its error here in case no one else
382
+ // is waiting for the promise to resolve. This prevents the error from
383
+ // being displayed in the console, but does not prevent it from being
384
+ // caught by a client who is waiting for it.
385
+ this._done.promise.catch(function () {
386
+ /* no-op */
387
+ });
388
+ this._done.reject(new Error("Canceled future for ".concat(this.msg.header.msg_type, " message before replies were done")));
389
+ }
390
+ this.disposeCb();
391
+ this.disposed = true;
392
+ }
393
+
394
+ /**
395
+ * Handle an incoming kernel message.
396
+ */
397
+ }, {
398
+ key: "handleMsg",
399
+ value: function () {
400
+ var _handleMsg = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg) {
401
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
402
+ while (1) switch (_context.prev = _context.next) {
403
+ case 0:
404
+ _context.t0 = msg.channel;
405
+ _context.next = _context.t0 === 'control' ? 3 : _context.t0 === 'shell' ? 3 : _context.t0 === 'stdin' ? 7 : _context.t0 === 'iopub' ? 10 : 13;
406
+ break;
407
+ case 3:
408
+ if (!(msg.channel === this.msg.channel && msg.parent_header.msg_id === this.msg.header.msg_id)) {
409
+ _context.next = 6;
410
+ break;
411
+ }
412
+ _context.next = 6;
413
+ return this._handleReply(msg);
414
+ case 6:
415
+ return _context.abrupt("break", 14);
416
+ case 7:
417
+ _context.next = 9;
418
+ return this._handleStdin(msg);
419
+ case 9:
420
+ return _context.abrupt("break", 14);
421
+ case 10:
422
+ _context.next = 12;
423
+ return this._handleIOPub(msg);
424
+ case 12:
425
+ return _context.abrupt("break", 14);
426
+ case 13:
427
+ return _context.abrupt("break", 14);
428
+ case 14:
429
+ case "end":
430
+ return _context.stop();
431
+ }
432
+ }, _callee, this);
433
+ }));
434
+ function handleMsg(_x) {
435
+ return _handleMsg.apply(this, arguments);
436
+ }
437
+ return handleMsg;
438
+ }()
439
+ }, {
440
+ key: "_handleReply",
441
+ value: function () {
442
+ var _handleReply2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(msg) {
443
+ var reply;
444
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
445
+ while (1) switch (_context2.prev = _context2.next) {
446
+ case 0:
447
+ reply = this._reply;
448
+ if (!reply) {
449
+ _context2.next = 4;
450
+ break;
451
+ }
452
+ _context2.next = 4;
453
+ return reply(msg);
454
+ case 4:
455
+ this._replyMsg = msg;
456
+ this._setFlag(Private.KernelFutureFlag.GotReply);
457
+ if (this._testFlag(Private.KernelFutureFlag.GotIdle)) {
458
+ this._handleDone();
459
+ }
460
+ case 7:
461
+ case "end":
462
+ return _context2.stop();
463
+ }
464
+ }, _callee2, this);
465
+ }));
466
+ function _handleReply(_x2) {
467
+ return _handleReply2.apply(this, arguments);
468
+ }
469
+ return _handleReply;
470
+ }()
471
+ }, {
472
+ key: "_handleStdin",
473
+ value: function () {
474
+ var _handleStdin2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(msg) {
475
+ var stdin;
476
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
477
+ while (1) switch (_context3.prev = _context3.next) {
478
+ case 0:
479
+ this._kernel.hasPendingInput = true;
480
+ stdin = this._stdin;
481
+ if (!stdin) {
482
+ _context3.next = 5;
483
+ break;
484
+ }
485
+ _context3.next = 5;
486
+ return stdin(msg);
487
+ case 5:
488
+ case "end":
489
+ return _context3.stop();
490
+ }
491
+ }, _callee3, this);
492
+ }));
493
+ function _handleStdin(_x3) {
494
+ return _handleStdin2.apply(this, arguments);
495
+ }
496
+ return _handleStdin;
497
+ }()
498
+ }, {
499
+ key: "_handleIOPub",
500
+ value: function () {
501
+ var _handleIOPub2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(msg) {
502
+ var process, iopub;
503
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
504
+ while (1) switch (_context4.prev = _context4.next) {
505
+ case 0:
506
+ _context4.next = 2;
507
+ return this._hooks.process(msg);
508
+ case 2:
509
+ process = _context4.sent;
510
+ iopub = this._iopub;
511
+ if (!(process && iopub)) {
512
+ _context4.next = 7;
513
+ break;
514
+ }
515
+ _context4.next = 7;
516
+ return iopub(msg);
517
+ case 7:
518
+ if (isStatusMsg(msg) && msg.content.execution_state === 'idle') {
519
+ this._setFlag(Private.KernelFutureFlag.GotIdle);
520
+ if (this._testFlag(Private.KernelFutureFlag.GotReply)) {
521
+ this._handleDone();
522
+ }
523
+ }
524
+ case 8:
525
+ case "end":
526
+ return _context4.stop();
527
+ }
528
+ }, _callee4, this);
529
+ }));
530
+ function _handleIOPub(_x4) {
531
+ return _handleIOPub2.apply(this, arguments);
532
+ }
533
+ return _handleIOPub;
534
+ }()
535
+ }, {
536
+ key: "_handleDone",
537
+ value: function _handleDone() {
538
+ if (this._testFlag(Private.KernelFutureFlag.IsDone)) {
539
+ return;
540
+ }
541
+ this._setFlag(Private.KernelFutureFlag.IsDone);
542
+ this._done.resolve(this._replyMsg);
543
+ if (this._disposeOnDone) {
544
+ this.dispose();
545
+ }
546
+ }
547
+
548
+ /**
549
+ * Test whether the given future flag is set.
550
+ */
551
+ }, {
552
+ key: "_testFlag",
553
+ value: function _testFlag(flag) {
554
+ // tslint:disable-next-line
555
+ return (this._status & flag) !== 0;
556
+ }
557
+
558
+ /**
559
+ * Set the given future flag.
560
+ */
561
+ }, {
562
+ key: "_setFlag",
563
+ value: function _setFlag(flag) {
564
+ // tslint:disable-next-line
565
+ this._status |= flag;
566
+ }
567
+ }]);
568
+ return KernelFutureHandler;
569
+ }();
570
+ export var KernelControlFutureHandler = /*#__PURE__*/function (_ref) {
571
+ _inherits(KernelControlFutureHandler, _ref);
572
+ var _super = _createSuper(KernelControlFutureHandler);
573
+ function KernelControlFutureHandler() {
574
+ _classCallCheck(this, KernelControlFutureHandler);
575
+ return _super.apply(this, arguments);
576
+ }
577
+ return _createClass(KernelControlFutureHandler);
578
+ }(KernelFutureHandler);
579
+ export var KernelShellFutureHandler = /*#__PURE__*/function (_ref2) {
580
+ _inherits(KernelShellFutureHandler, _ref2);
581
+ var _super2 = _createSuper(KernelShellFutureHandler);
582
+ function KernelShellFutureHandler() {
583
+ _classCallCheck(this, KernelShellFutureHandler);
584
+ return _super2.apply(this, arguments);
585
+ }
586
+ return _createClass(KernelShellFutureHandler);
587
+ }(KernelFutureHandler);
@@ -0,0 +1,8 @@
1
+ export * from './kernel-connection.js';
2
+ export * from './kernel-module.js';
3
+ export * as KernelMessage from './messages.js';
4
+ export * from './libro-kernel-manager.js';
5
+ export * from './libro-kernel-protocol.js';
6
+ export * from './libro-kernel-utils.js';
7
+ export * from './restapi.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./kernel-connection.js";
2
+ export * from "./kernel-module.js";
3
+ import * as _KernelMessage from "./messages.js";
4
+ export { _KernelMessage as KernelMessage };
5
+ export * from "./libro-kernel-manager.js";
6
+ export * from "./libro-kernel-protocol.js";
7
+ export * from "./libro-kernel-utils.js";
8
+ export * from "./restapi.js";