@newtonschool/react_proctoring_library 0.0.58 → 0.0.60

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.
@@ -12,16 +12,16 @@ Object.defineProperty(exports, "FullScreenPermission", {
12
12
  Object.defineProperty(exports, "ProctorApp", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _Loadable.default;
15
+ return _proctorApp.default;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "ProctoredContextApp", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _Loadable2.default;
21
+ return _proctorContextApp.default;
22
22
  }
23
23
  });
24
24
  var _permissions = require("./permissions");
25
- var _Loadable = _interopRequireDefault(require("./proctor-app/Loadable"));
26
- var _Loadable2 = _interopRequireDefault(require("./proctor-context-app/Loadable"));
25
+ var _proctorApp = _interopRequireDefault(require("./proctor-app"));
26
+ var _proctorContextApp = _interopRequireDefault(require("./proctor-context-app"));
27
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -13,8 +13,8 @@ var text = _interopRequireWildcard(require("../../constants/text"));
13
13
  var _permissionBody = require("./permission-body");
14
14
  var _breachUtils = require("../../utils/breachUtils");
15
15
  var _permission = require("../../utils/permission");
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  const Permission = _ref => {
20
20
  let {
@@ -11,8 +11,8 @@ var _urlVideoPermissionHighlight = _interopRequireDefault(require("../../assets/
11
11
  require("./index.scss");
12
12
  var text = _interopRequireWildcard(require("../../constants/text"));
13
13
  var _browserUtils = require("../../utils/browserUtils");
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  const PermissionBody = _ref => {
18
18
  let {
@@ -10,10 +10,10 @@ require("core-js/modules/web.dom-collections.iterator.js");
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _loadable = _interopRequireDefault(require("../../utils/loadable"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /**
15
- * Asynchronously loads the component for FeaturePage
16
- */
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
15
+ * Asynchronously loads the component for FeaturePage
16
+ */
17
17
  var _default = exports.default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
18
18
  fallback: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)
19
19
  });
@@ -2,12 +2,12 @@
2
2
 
3
3
  require("core-js/modules/es.object.assign.js");
4
4
  require("core-js/modules/es.weak-map.js");
5
+ require("core-js/modules/web.dom-collections.iterator.js");
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.default = exports.ProctorApp = void 0;
9
10
  require("core-js/modules/es.promise.js");
10
- require("core-js/modules/web.dom-collections.iterator.js");
11
11
  require("core-js/modules/es.symbol.description.js");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _useWakeUpLock = require("../../hooks/useWakeUpLock");
@@ -25,8 +25,8 @@ var _screenshareActivityTracker = require("../screenshare-activity-tracker");
25
25
  var _dom = require("../../constants/dom");
26
26
  var _useIsPageFocussed = _interopRequireDefault(require("../../hooks/useIsPageFocussed"));
27
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
30
30
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
31
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -92,7 +92,6 @@ const ProctorApp = _ref => {
92
92
  let breachParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
93
93
  getProctorParamValues(proctoringIdentifier, statistics.current, isBreach, breachParam);
94
94
  }, [proctoringIdentifier, getProctorParamValues]);
95
- const [userCount, lookedAwayCount] = (0, _useWebcamData.default)(references.webcamReference, references.canvasReference, proctorParams);
96
95
  const isTabSwitched = !(0, _hooks.usePageVisibility)(proctorParams.tabSwitch);
97
96
  const isPageFocussed = (0, _useIsPageFocussed.default)(proctorParams.pageFocus);
98
97
  (0, _react.useEffect)(() => {
@@ -109,10 +108,8 @@ const ProctorApp = _ref => {
109
108
  }, [recurring, recurringFetchInterval, sendProctoredParamValues, sendWebcamSnapshot, sendScreengrab]);
110
109
  (0, _react.useEffect)(() => {
111
110
  const currentStats = {
112
- userCount,
113
111
  isTabSwitched,
114
112
  isFullScreen: permissions.fullscreen,
115
- lookedAwayCount,
116
113
  isWebcamDataNotReliable: !isWebcamProcessingReliable,
117
114
  isPageFocussed
118
115
  };
@@ -123,12 +120,13 @@ const ProctorApp = _ref => {
123
120
  sendWebcamSnapshot(true, breachData.breachedParam);
124
121
  sendScreengrab(true, breachData.breachedParam);
125
122
  }
126
- }, [userCount, isTabSwitched, isPageFocussed, permissions.fullscreen, lookedAwayCount, sendProctoredParamValues, sendWebcamSnapshot, sendScreengrab, proctorParams]);
123
+ }, [isTabSwitched, isPageFocussed, permissions.fullscreen, sendProctoredParamValues, sendWebcamSnapshot, sendScreengrab, proctorParams]);
127
124
  const shouldShowProctoredComponent = (0, _breachUtils.showProctoredComponent)(proctorParams, permissions);
128
125
  return /*#__PURE__*/_react.default.createElement("div", {
129
126
  className: "".concat(proctorParams.copyPasteProctoring ? 'disable-copy-paste fullwidth fullheight' : 'fullwidth fullheight')
130
127
  }, shouldShowProctoredComponent && children, !shouldShowProctoredComponent && customPermissionView && /*#__PURE__*/_react.default.createElement(CustomPermissionView, _extends({
131
128
  permissions: permissions,
129
+ proctorParams: proctorParams,
132
130
  references: references,
133
131
  actions: actions,
134
132
  browserDetails: (0, _browserUtils.getBrowserDetails)()
@@ -143,7 +141,7 @@ const ProctorApp = _ref => {
143
141
  webcamReference: references.webcamReference,
144
142
  canvasReference: references.canvasReference,
145
143
  logger: logger
146
- }), /*#__PURE__*/_react.default.createElement(_screenshareActivityTracker.ScreenshareActivityTracker, {
144
+ }), proctorParams.screenshareSnapshots && /*#__PURE__*/_react.default.createElement(_screenshareActivityTracker.ScreenshareActivityTracker, {
147
145
  screenshareStream: screenshareStream,
148
146
  ref: references.screenshareReference
149
147
  }));
@@ -10,10 +10,10 @@ require("core-js/modules/web.dom-collections.iterator.js");
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _loadable = _interopRequireDefault(require("../../utils/loadable"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /**
15
- * Asynchronously loads the component for FeaturePage
16
- */
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
15
+ * Asynchronously loads the component for FeaturePage
16
+ */
17
17
  var _default = exports.default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
18
18
  fallback: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)
19
19
  });
@@ -11,8 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _hooks = require("../../hooks");
12
12
  var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
13
13
  var _defaults = require("../../constants/defaults");
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -9,8 +9,8 @@ exports.ScreenshareActivityTracker = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _dom = require("../../constants/dom");
11
11
  var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
14
  const ScreenshareActivityTracker = exports.ScreenshareActivityTracker = /*#__PURE__*/(0, _react.forwardRef)((_ref, screenshareReference) => {
15
15
  let {
16
16
  screenshareStream
@@ -14,8 +14,8 @@ var _browserUtils = require("../../utils/browserUtils");
14
14
  var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
15
15
  var _dom = require("../../constants/dom");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  const WEBCAM_PERMISISON_RETRIES_COUNT = 2;
20
20
  const WebcamActivityTracker = _ref => {
21
21
  let {
@@ -5,10 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.proctorParamsToPermission = exports.initialValues = exports.gpuTypes = exports.evaluateVideoIntervalInSeconds = exports.defaultConfig = exports.STATS_PARAMS = exports.INITIAL_STATISTICS = void 0;
7
7
  const defaultConfig = exports.defaultConfig = {
8
- people: true,
9
8
  tabSwitch: true,
10
9
  fullscreenExit: true,
11
- lookedAway: true,
12
10
  webcamSnapshots: true,
13
11
  screenshareSnapshots: true,
14
12
  copyPasteProctoring: true,
@@ -17,32 +15,25 @@ const defaultConfig = exports.defaultConfig = {
17
15
  const initialValues = exports.initialValues = {
18
16
  isTabSwitched: false,
19
17
  pageFocus: true,
20
- userCount: 0,
21
18
  isWebcamDataNotReliable: true,
22
19
  isWatching: true,
23
20
  canOpenFullScreen: false,
24
21
  isFullscreen: false,
25
- lookedAwayCount: 0,
26
22
  firstTimeFullScreen: true
27
23
  };
28
24
  const STATS_PARAMS = exports.STATS_PARAMS = {
29
25
  isTabSwitched: 'IS_TAB_SWITCHED',
30
26
  isPageFocussed: 'PAGE_FOCUS',
31
27
  isFullscreen: 'IS_FULLSCREEN',
32
- lookedAwayCount: 'LOOKED_AWAY_COUNT',
33
- userCountMax: 'USER_COUNT_MAX',
34
28
  isWebcamNotReliable: 'IS_WEBCAM_DATA_NOT_RELIABLE'
35
29
  };
36
30
  const INITIAL_STATISTICS = exports.INITIAL_STATISTICS = {
37
31
  [STATS_PARAMS.isTabSwitched]: initialValues.isTabSwitched,
38
32
  [STATS_PARAMS.isFullscreen]: initialValues.isFullscreen,
39
- [STATS_PARAMS.lookedAwayCount]: initialValues.lookedAwayCount,
40
- [STATS_PARAMS.userCountMax]: initialValues.userCount,
41
33
  [STATS_PARAMS.isWebcamNotReliable]: initialValues.isWebcamDataNotReliable
42
34
  };
43
35
  const proctorParamsToPermission = exports.proctorParamsToPermission = {
44
36
  fullscreenExit: 'fullscreen',
45
- lookedAway: 'video',
46
37
  webcamSnapshots: 'video',
47
38
  screenshareSnapshots: 'screenshare'
48
39
  };
@@ -3,31 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WATCHING_SCREEN = exports.VIDEO_UNSUPPORTED_IN_BROWSER = exports.USER_COUNT_LABEL = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = exports.REQUEST_PERMISSION = exports.PERMISSION_VIDEO = exports.PERMISSION_TITLE = exports.PERMISSION_SCREENSHARE = exports.PERMISSION_GENERIC = exports.PERMISSION_FULLSCREEN = exports.PERMISSION_AUDIO_VIDEO = exports.PERMISSION_AUDIO = exports.NO_CAMERA_AVAILABLE = exports.NO_AUDIO_DEVICE_AVAILABLE = exports.NOT_WATCHING_SCREEN = exports.MESSAGE = exports.FULLSCREEN_ERROR_MESSAGE = exports.DENY_FULLSCREEN = exports.CAMERA_UNAVAILABLE_INSECURE_CONN = exports.BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = exports.BROWSER_BLOCKED_PERMISSION_DIALOG = exports.BROWSER_BLOCKED_PERMISSION = exports.ALLOW_SCREENSHARE = exports.ALLOW_FULLSCREEN = void 0;
7
- const WATCHING_SCREEN = exports.WATCHING_SCREEN = "You are watching the screen";
8
- const NOT_WATCHING_SCREEN = exports.NOT_WATCHING_SCREEN = "You are not watching the screen";
9
- const USER_COUNT_LABEL = exports.USER_COUNT_LABEL = "User count";
10
- const PERMISSION_TITLE = exports.PERMISSION_TITLE = "Permissions";
11
- const MESSAGE = exports.MESSAGE = "This screen can only be accessed in fullscreen mode. Please allow us to switch your screen to fullscreen mode for continuous access of the screen.";
12
- const FULLSCREEN_ERROR_MESSAGE = exports.FULLSCREEN_ERROR_MESSAGE = "This screen is only accessible in fullscreen mode";
13
- const DENY_FULLSCREEN = exports.DENY_FULLSCREEN = "Deny";
14
- const ALLOW_FULLSCREEN = exports.ALLOW_FULLSCREEN = "Switch to Fullscreen";
15
- const ALLOW_SCREENSHARE = exports.ALLOW_SCREENSHARE = "Share Screen";
16
- const NO_CAMERA_AVAILABLE = exports.NO_CAMERA_AVAILABLE = "No Camera available for use.";
17
- const NO_AUDIO_DEVICE_AVAILABLE = exports.NO_AUDIO_DEVICE_AVAILABLE = "No audio device available for use";
18
- const CAMERA_UNAVAILABLE_INSECURE_CONN = exports.CAMERA_UNAVAILABLE_INSECURE_CONN = "Camera can only be used in secure connection. Please check that you are in https mode";
19
- const VIDEO_UNSUPPORTED_IN_BROWSER = exports.VIDEO_UNSUPPORTED_IN_BROWSER = "This page requires a browser, such as Google Chrome or Firefox, that supports the video tag.";
20
- const BROWSER_BLOCKED_PERMISSION = exports.BROWSER_BLOCKED_PERMISSION = "It seems your browser is blocked from accessing your camera and microphone.";
21
- const REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = "To access this page, you will need to give us video and audio permissions";
6
+ exports.WATCHING_SCREEN = exports.VIDEO_UNSUPPORTED_IN_BROWSER = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = exports.REQUEST_PERMISSION = exports.PERMISSION_VIDEO = exports.PERMISSION_TITLE = exports.PERMISSION_SCREENSHARE = exports.PERMISSION_GENERIC = exports.PERMISSION_FULLSCREEN = exports.PERMISSION_AUDIO_VIDEO = exports.PERMISSION_AUDIO = exports.NO_CAMERA_AVAILABLE = exports.NO_AUDIO_DEVICE_AVAILABLE = exports.NOT_WATCHING_SCREEN = exports.MESSAGE = exports.FULLSCREEN_ERROR_MESSAGE = exports.DENY_FULLSCREEN = exports.CAMERA_UNAVAILABLE_INSECURE_CONN = exports.BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = exports.BROWSER_BLOCKED_PERMISSION_DIALOG = exports.BROWSER_BLOCKED_PERMISSION = exports.ALLOW_SCREENSHARE = exports.ALLOW_FULLSCREEN = void 0;
7
+ const WATCHING_SCREEN = exports.WATCHING_SCREEN = 'You are watching the screen';
8
+ const NOT_WATCHING_SCREEN = exports.NOT_WATCHING_SCREEN = 'You are not watching the screen';
9
+ const PERMISSION_TITLE = exports.PERMISSION_TITLE = 'Permissions';
10
+ const MESSAGE = exports.MESSAGE = 'This screen can only be accessed in fullscreen mode. Please allow us to switch your screen to fullscreen mode for continuous access of the screen.';
11
+ const FULLSCREEN_ERROR_MESSAGE = exports.FULLSCREEN_ERROR_MESSAGE = 'This screen is only accessible in fullscreen mode';
12
+ const DENY_FULLSCREEN = exports.DENY_FULLSCREEN = 'Deny';
13
+ const ALLOW_FULLSCREEN = exports.ALLOW_FULLSCREEN = 'Switch to Fullscreen';
14
+ const ALLOW_SCREENSHARE = exports.ALLOW_SCREENSHARE = 'Share Screen';
15
+ const NO_CAMERA_AVAILABLE = exports.NO_CAMERA_AVAILABLE = 'No Camera available for use.';
16
+ const NO_AUDIO_DEVICE_AVAILABLE = exports.NO_AUDIO_DEVICE_AVAILABLE = 'No audio device available for use';
17
+ const CAMERA_UNAVAILABLE_INSECURE_CONN = exports.CAMERA_UNAVAILABLE_INSECURE_CONN = 'Camera can only be used in secure connection. Please check that you are in https mode';
18
+ const VIDEO_UNSUPPORTED_IN_BROWSER = exports.VIDEO_UNSUPPORTED_IN_BROWSER = 'This page requires a browser, such as Google Chrome or Firefox, that supports the video tag.';
19
+ const BROWSER_BLOCKED_PERMISSION = exports.BROWSER_BLOCKED_PERMISSION = 'It seems your browser is blocked from accessing your camera and microphone.';
20
+ const REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = 'To access this page, you will need to give us video and audio permissions';
22
21
  const REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = "Without these permissions, you won't be able to access the screen";
23
- const REQUEST_PERMISSION = exports.REQUEST_PERMISSION = "Request Permission";
24
- const BROWSER_BLOCKED_PERMISSION_DIRECTION = exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = "Somewhere near right corner of url bar you will find icon like below, please click it.";
25
- const BROWSER_BLOCKED_PERMISSION_DIALOG = exports.BROWSER_BLOCKED_PERMISSION_DIALOG = "It will open dialog box like the one shown below, please allow us the permissions.";
26
- const BROWSER_BLOCKED_PERMISSION_NEXT_STEP = exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = "Click on the button below, after completing above steps.";
22
+ const REQUEST_PERMISSION = exports.REQUEST_PERMISSION = 'Request Permission';
23
+ const BROWSER_BLOCKED_PERMISSION_DIRECTION = exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = 'Somewhere near right corner of url bar you will find icon like below, please click it.';
24
+ const BROWSER_BLOCKED_PERMISSION_DIALOG = exports.BROWSER_BLOCKED_PERMISSION_DIALOG = 'It will open dialog box like the one shown below, please allow us the permissions.';
25
+ const BROWSER_BLOCKED_PERMISSION_NEXT_STEP = exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = 'Click on the button below, after completing above steps.';
27
26
  const BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = exports.BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = "I've given permission, Check Again";
28
27
  const PERMISSION_GENERIC = exports.PERMISSION_GENERIC = "This screen requires following permissions for continuous access. Without these permissions, you won't be able to access the screen.";
29
- const PERMISSION_FULLSCREEN = exports.PERMISSION_FULLSCREEN = "Please allow us to switch your screen to fullscreen mode.";
28
+ const PERMISSION_FULLSCREEN = exports.PERMISSION_FULLSCREEN = 'Please allow us to switch your screen to fullscreen mode.';
30
29
  const PERMISSION_AUDIO_VIDEO = exports.PERMISSION_AUDIO_VIDEO = "Your browser or system settings have disallowed Microphone and Camera permissions. Please permit this website to access microphone and camera. Refresh after you've given the permission to access the screen";
31
30
  const PERMISSION_VIDEO = exports.PERMISSION_VIDEO = "Your browser or system settings have disallowed Camera permissions. Please permit this website to access the camera. Refresh after you've given the permission to access the screen";
32
31
  const PERMISSION_AUDIO = exports.PERMISSION_AUDIO = "Your browser or system settings have disallowed Microphone permissions. Please permit this website to access the microphone. Refresh after you've given the permission to access the screen";
33
- const PERMISSION_SCREENSHARE = exports.PERMISSION_SCREENSHARE = "Please share your entire screen";
32
+ const PERMISSION_SCREENSHARE = exports.PERMISSION_SCREENSHARE = 'Please share your entire screen';
@@ -12,12 +12,13 @@ function useFullscreenData(isProctorParam) {
12
12
  const fullScreenElement = (0, _react.useRef)(document.documentElement);
13
13
  const [isFullscreen, setIsFullscreen] = (0, _react.useState)(document[browserFullscreenElementProp] != null);
14
14
  const setFullscreen = () => {
15
+ var _fullScreenElement$cu, _fullScreenElement$cu2, _fullScreenElement$cu3, _fullScreenElement$cu4, _fullScreenElement$cu5, _fullScreenElement$cu6;
15
16
  if (!fullScreenElement || !fullScreenElement.current) {
16
17
  return;
17
18
  }
18
- fullScreenElement.current.requestFullscreen({
19
- navigationUI: "hide"
20
- }).then(() => {
19
+ (((_fullScreenElement$cu = (_fullScreenElement$cu2 = fullScreenElement.current).requestFullscreen) === null || _fullScreenElement$cu === void 0 ? void 0 : _fullScreenElement$cu.call(_fullScreenElement$cu2, {
20
+ navigationUI: 'hide'
21
+ })) || ((_fullScreenElement$cu3 = (_fullScreenElement$cu4 = fullScreenElement.current).mozRequestFullscreen) === null || _fullScreenElement$cu3 === void 0 ? void 0 : _fullScreenElement$cu3.call(_fullScreenElement$cu4)) || ((_fullScreenElement$cu5 = (_fullScreenElement$cu6 = fullScreenElement.current).webkitRequestFullscreen) === null || _fullScreenElement$cu5 === void 0 ? void 0 : _fullScreenElement$cu5.call(_fullScreenElement$cu6))).then(() => {
21
22
  setIsFullscreen(document[browserFullscreenElementProp] != null);
22
23
  }).catch(err => {
23
24
  setIsFullscreen(false);
@@ -14,18 +14,12 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
14
14
  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); }
15
15
  const getInitialStats = proctorParams => {
16
16
  const initialStats = {};
17
- if (proctorParams.people) {
18
- initialStats[_defaults.STATS_PARAMS.userCountMax] = _defaults.initialValues.userCount;
19
- }
20
17
  if (proctorParams.tabSwitch) {
21
18
  initialStats[_defaults.STATS_PARAMS.isTabSwitched] = _defaults.initialValues.isTabSwitched;
22
19
  }
23
20
  if (proctorParams.fullscreenExit) {
24
21
  initialStats[_defaults.STATS_PARAMS.isFullscreen] = _defaults.initialValues.isFullscreen;
25
22
  }
26
- if (proctorParams.lookedAway) {
27
- initialStats[_defaults.STATS_PARAMS.lookedAwayCount] = _defaults.initialValues.lookedAwayCount;
28
- }
29
23
  if (proctorParams.pageFocus) {
30
24
  initialStats[_defaults.STATS_PARAMS.isPageFocussed] = _defaults.initialValues.pageFocus;
31
25
  }
@@ -42,7 +36,7 @@ const getRequiredPermissionsFromProctorParams = proctorParams => {
42
36
  return requiredPermissions;
43
37
  };
44
38
  exports.getRequiredPermissionsFromProctorParams = getRequiredPermissionsFromProctorParams;
45
- const isWebcamRequired = proctorParams => proctorParams.people || proctorParams.lookedAway || proctorParams.webcamSnapshots;
39
+ const isWebcamRequired = proctorParams => proctorParams.webcamSnapshots;
46
40
  exports.isWebcamRequired = isWebcamRequired;
47
41
  const isAudioRequired = () => false;
48
42
  exports.isAudioRequired = isAudioRequired;
@@ -52,10 +46,8 @@ const showProctoredComponent = (proctorParams, permissions) => {
52
46
  exports.showProctoredComponent = showProctoredComponent;
53
47
  const getDataOnBreach = (statistics, currentData, proctorParams) => {
54
48
  const {
55
- userCount,
56
49
  isTabSwitched,
57
50
  isFullScreen,
58
- lookedAwayCount,
59
51
  isWebcamDataNotReliable,
60
52
  isPageFocussed
61
53
  } = currentData;
@@ -71,16 +63,6 @@ const getDataOnBreach = (statistics, currentData, proctorParams) => {
71
63
  })
72
64
  };
73
65
  }
74
- const userCountMaxParam = _defaults.STATS_PARAMS.userCountMax;
75
- if (proctorParams.people && data[userCountMaxParam] < userCount) {
76
- return {
77
- breachedParam: userCountMaxParam,
78
- timestamp,
79
- data: _objectSpread(_objectSpread({}, data), {}, {
80
- [userCountMaxParam]: userCount
81
- })
82
- };
83
- }
84
66
  const isTabSwitchedParam = _defaults.STATS_PARAMS.isTabSwitched;
85
67
  if (proctorParams.tabSwitch && isTabSwitched && !data[isTabSwitchedParam]) {
86
68
  return {
@@ -111,15 +93,5 @@ const getDataOnBreach = (statistics, currentData, proctorParams) => {
111
93
  })
112
94
  };
113
95
  }
114
- const lookedAwayParam = _defaults.STATS_PARAMS.lookedAwayCount;
115
- if (proctorParams.lookedAway && data[lookedAwayParam] !== lookedAwayCount) {
116
- return {
117
- breachedParam: lookedAwayParam,
118
- timestamp,
119
- data: _objectSpread(_objectSpread({}, data), {}, {
120
- [lookedAwayParam]: lookedAwayCount
121
- })
122
- };
123
- }
124
96
  };
125
97
  exports.getDataOnBreach = getDataOnBreach;
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  const loadable = function loadable(importFunc) {
13
13
  let {
14
14
  fallback = null
@@ -21,8 +21,6 @@ const updateStatistics = (statistics, currentStats, proctorParams) => {
21
21
  const {
22
22
  isTabSwitched,
23
23
  isFullScreen,
24
- lookedAwayCount,
25
- userCount,
26
24
  isWebcamDataReliable,
27
25
  isPageFocussed
28
26
  } = currentStats;
@@ -32,12 +30,6 @@ const updateStatistics = (statistics, currentStats, proctorParams) => {
32
30
  if (proctorParams.fullscreenExit) {
33
31
  statistics.current[_defaults.STATS_PARAMS.isFullscreen] = isFullScreen;
34
32
  }
35
- if (proctorParams.lookedAway) {
36
- statistics.current[_defaults.STATS_PARAMS.lookedAwayCount] = lookedAwayCount;
37
- }
38
- if (proctorParams.people) {
39
- statistics.current[_defaults.STATS_PARAMS.userCountMax] = Math.max(userCount, statistics.current[_defaults.STATS_PARAMS.userCountMax]);
40
- }
41
33
  if (proctorParams.pageFocus) {
42
34
  statistics.current[_defaults.STATS_PARAMS.isPageFocussed] = isPageFocussed;
43
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newtonschool/react_proctoring_library",
3
- "version": "0.0.58",
3
+ "version": "0.0.60",
4
4
  "description": "Used to proctor online tests",
5
5
  "author": "ayushkagrawal,shreyachandra,weastel",
6
6
  "main": "dist/index.js",
@@ -13,8 +13,6 @@
13
13
  ""
14
14
  ],
15
15
  "dependencies": {
16
- "@tensorflow-models/coco-ssd": "2.2.2",
17
- "@tensorflow/tfjs": "3.9.0",
18
16
  "bootstrap": "5.1.3",
19
17
  "core-js": "3.22.7",
20
18
  "react-bootstrap": "2.0.4",
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.weak-map.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = useWebcamData;
8
- require("core-js/modules/es.promise.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- var _react = require("react");
11
- var cocoSsd = _interopRequireWildcard(require("@tensorflow-models/coco-ssd"));
12
- var tf = _interopRequireWildcard(require("@tensorflow/tfjs"));
13
- var _utils = require("../utils");
14
- var _defaults = require("../constants/defaults");
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- const getUserCount = async (model, image) => {
18
- try {
19
- let predictions = await model.detect(image);
20
- let numOfUsers = 0;
21
- predictions.forEach(prediction => {
22
- if (prediction.class === 'person') {
23
- numOfUsers += 1;
24
- }
25
- });
26
- return numOfUsers;
27
- } catch (err) {}
28
- };
29
- function useWebcamData(webcamReference, canvasReference, proctorParams) {
30
- const [userCount, setUserCount] = (0, _react.useState)(_defaults.initialValues.userCount);
31
- const isWatching = (0, _react.useState)(_defaults.initialValues.isWatching);
32
- const [lookedAwayCount, setLookedAwayCount] = (0, _react.useState)(_defaults.initialValues.lookedAwayCount);
33
- (0, _react.useEffect)(() => {
34
- if (proctorParams.people && proctorParams.lookedAwayCount && (0, _utils.isGPUAvailable)()) {
35
- const loadCocoSSDModel = async () => {
36
- try {
37
- const model = await cocoSsd.load();
38
- setInterval(async () => {
39
- if ((0, _utils.isWebcamVideoValid)(webcamReference)) {
40
- const video = webcamReference.current.video;
41
- const {
42
- videoWidth,
43
- videoHeight
44
- } = video;
45
- const b64Snapshot = webcamReference.current.getScreenshot();
46
- const webcamSnapShot = new Image(videoWidth, videoHeight);
47
- webcamSnapShot.src = b64Snapshot;
48
- webcamSnapShot.onload = async () => {
49
- const count = await getUserCount(model, webcamSnapShot);
50
- setUserCount(count);
51
- };
52
- canvasReference.current.width = videoWidth;
53
- canvasReference.current.height = videoHeight;
54
- }
55
- }, _defaults.evaluateVideoIntervalInSeconds * 1000);
56
- } catch (err) {
57
- return;
58
- }
59
- };
60
- loadCocoSSDModel();
61
- }
62
- }, [webcamReference, canvasReference, proctorParams.webcamSnapshots, proctorParams.people, proctorParams.lookedAwayCount]);
63
- (0, _react.useEffect)(() => {
64
- if (!isWatching) {
65
- setLookedAwayCount(lookedAwayCount => lookedAwayCount + 1);
66
- }
67
- }, [isWatching]);
68
- return [userCount, lookedAwayCount];
69
- }