@bigbinary/neeto-media-recorder 1.0.1 → 1.0.2

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.
package/core.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/apis/s3.js","src/core/multipartS3Uploader/store/index.js","src/core/multipartS3Uploader/index.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/utils.js","src/core/screenRecorder/index.js"],"sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n 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;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n 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);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n 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);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n 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;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import axios from \"axios\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst abortUploadApi = { create };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/complete_upload`, {\n completeUpload: payload,\n });\n\nconst completeUploadApi = { create };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/part_presigned_url`, {\n partPresignedUrl: payload,\n });\n\nconst partPresignedUrlApi = { create };\n\nexport default partPresignedUrlApi;\n","import axios from \"axios\";\nimport { identity } from \"ramda\";\n\nimport { RETRIABLE_ERRORS } from \"neetomediarecorder/constants\";\nimport { sleep } from \"neetomediarecorder/utils\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": 'video/webm;codecs=\"vp9\"' },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = async ({\n presignedUrl,\n blob,\n config,\n retries = 3,\n retryDelay = 4000,\n}) => {\n let remainingAttempts = retries + 1;\n\n while (remainingAttempts--) {\n try {\n return await s3AxiosInstance.put(presignedUrl, blob, config);\n } catch (error) {\n if (\n RETRIABLE_ERRORS.includes(error.response?.status) &&\n remainingAttempts > 0\n ) {\n await sleep(retryDelay);\n retryDelay *= 2;\n } else {\n throw error;\n }\n }\n }\n\n return null;\n};\n\nconst s3Api = { presignedUpload };\n\nexport default s3Api;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nconst prepareStore = () => create(withImmutableActions(() => ({ status: \"\" })));\n\nexport default prepareStore;\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot } from \"neetocist\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\n\nimport prepareStore from \"./store\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #store;\n #abortController;\n #pendingS3ChunkUploads = [];\n\n constructor() {\n this.#store = prepareStore();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useMultipartS3UploadStore() {\n return this.#store;\n }\n\n initialize = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.uploading });\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n await Promise.all(this.#pendingS3ChunkUploads);\n\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n const parts = resolvedS3PartUploadPromises.map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }));\n\n await completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: { parts, uploadId: this.#uploadId },\n });\n\n await this.#store.setState({ status: UPLOAD_STATUS.completed });\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n logger.error(error);\n }\n };\n\n abortUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.aborting });\n\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId: this.#recordingId,\n payload: { uploadId: this.#uploadId },\n });\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#store.setState({ status: \"\" });\n this.#abortController = null;\n } catch (error) {\n logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#callbacks = {};\n this.#store.setState({ status: \"\" });\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #uploadChunkToS3 = async chunks => {\n logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n try {\n const { presignedUrl } = await partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: { partNumber: this.#partNumber++, uploadId: this.#uploadId },\n });\n\n const s3PartUploadPromise = s3Api.presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: 'video/webm;codecs=\"vp9\"' }),\n config: {\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n },\n });\n\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n if (!axios.isCancel(error)) logger.error(error);\n }\n\n return;\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, { type: 'video/webm;codecs=\"vp9\"' });\n}\n\nconst multipartS3Uploader = new MultipartS3Uploader();\n\nexport default multipartS3Uploader;\n","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n","import { isNot } from \"neetocist\";\nimport { pick } from \"ramda\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport { checkConstraints, isStreamEnded } from \"./utils\";\nimport {\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n} from \"neetomediarecorder/constants\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #mediaRecorder;\n #mediaStream;\n #store;\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n getPreviewStream = () => new MediaStream(this.#mediaStream.getVideoTracks());\n\n getMediaBlobUrl = () => {\n const blob = new Blob(this.#mediaChunks, {\n type: 'video/webm;codecs=\"vp9\"',\n });\n\n // TODO: Revoke the object url\n return URL.createObjectURL(blob);\n };\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: 'video/webm;codecs=\"vp9\"' });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n\n this.#countdownAndStartRecording();\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n clearInterval(this.#countdownTimerId);\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.#countdownAndStartRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#mediaStream.getTracks().forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (!navigator.mediaDevices?.getDisplayMedia) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n try {\n const stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n });\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n if (this.#audio) {\n const audioStream = await window.navigator.mediaDevices.getUserMedia({\n audio: this.#audio,\n });\n\n audioStream\n .getAudioTracks()\n .forEach(audioTrack => stream.addTrack(audioTrack));\n }\n\n this.#mediaStream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #countdownAndStartRecording = () => {\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (countdownTimeLeft - ONE_SECOND > 0) {\n return {\n countdownTimeLeft: countdownTimeLeft - ONE_SECOND,\n };\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.start(5000);\n this.#startTimer();\n\n clearInterval(this.#countdownTimerId);\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n return { elapsedTime: newElapsedTime };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","toPrimitive","toPropertyKey","classExtractFieldDescriptor","classApplyDescriptorGet","classApplyDescriptorSet","require$$0","create","_ref","recordingId","payload","axios","post","concat","abortUpload","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","s3AxiosInstance","headers","interceptors","response","use","identity","error","isCancel","Promise","reject","presignedUpload","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","presignedUrl","blob","config","_ref$retries","retries","_ref$retryDelay","retryDelay","remainingAttempts","_error$response","wrap","_callee$","_context","prev","next","put","abrupt","sent","t0","RETRIABLE_ERRORS","includes","status","sleep","stop","_x","apply","arguments","s3Api","prepareStore","withImmutableActions","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_store","_abortController","_pendingS3ChunkUploads","_fireCallbacks","_uploadChunkToS","_getCurrentUnUploadedBlob","MultipartS3Uploader","_this","_classCallCheck","_defineProperty","_classPrivateFieldInitSpec","writable","value","uploadId","_classPrivateFieldSet","AbortController","data","size","_classPrivateFieldGet","push","logger","info","call","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","resolvedS3PartUploadPromises","parts","setState","UPLOAD_STATUS","uploading","all","map","resolvedResponse","etag","partNumber","URL","request","responseURL","searchParams","get","completed","UPLOAD_EVENT","onComplete","_callee2","_callee2$","_context2","aborting","abort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","filter","isNot","_classPrivateFieldGet4","args","length","undefined","forEach","_value","_callee3","chunks","_this$partNumber","_this$partNumber2","_yield$partPresignedU","s3PartUploadPromise","_callee3$","_context3","Blob","type","includeMetadataInResponse","signal","_createClass","key","multipartS3Uploader","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","set","resetState","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","_audio","_video","_mediaRecorder","_mediaStream","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_countdownAndStartRecording","_startTimer","_stopTimer","ScreenRecorder","audio","video","MediaStream","getVideoTracks","createObjectURL","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","state","clearInterval","track","SCREEN_RECORDER_EVENT","onDiscardDuringCountdown","stopping","_classPrivateFieldGet5","paused","pause","_classPrivateFieldGet6","recording","resume","_classPrivateFieldGet7","removeAllCallbacksByEvent","onStop","onDiscard","onRestart","getState","_navigator$mediaDevic","getDisplayMedia","UnSupportedBrowser","stream","audioStream","acquiring_media","addEventListener","stopRecording","getUserMedia","getAudioTracks","audioTrack","addTrack","media_acquired","name","_classPrivateFieldGet8","onStart","onDataAvailable","stopped","active","restarting","setInterval","_ref3","ONE_SECOND","start","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","screenRecorder","displaySurface"],"mappings":"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"}