Skip to content

Commit

Permalink
feat: add typescript declaration file
Browse files Browse the repository at this point in the history
This commit adds the typescript declaration file. It further upgrades
parcel to version 2. This needed to be done to get rid of the `Invalid
Version: undefined` error (see
parcel-bundler/parcel#5943).
  • Loading branch information
rickstaa committed Oct 26, 2021
1 parent 3cff891 commit a9ff5a5
Show file tree
Hide file tree
Showing 11 changed files with 12,437 additions and 85 deletions.
8 changes: 0 additions & 8 deletions .babelrc.js

This file was deleted.

8 changes: 8 additions & 0 deletions .babelrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"env": {
"test": {
"presets": [["@babel/env", { "targets": { "node": "current" } }]]
}
},
"presets": ["@babel/env"]
}
7 changes: 6 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
module.exports = {
env: { browser: 1 },
extends: 'seegno'
extends: 'seegno',
settings: {
react: {
version: 'detect'
}
}
};
6 changes: 6 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default useUserMedia;
declare function useUserMedia(constraints: any): {
error: undefined;
state: string;
stream: undefined;
};
102 changes: 31 additions & 71 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -1,74 +1,34 @@
"use strict";

Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;

var _react = require("react");

var _stopMediaStream = _interopRequireDefault(require("stop-media-stream"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }

function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var stop_media_stream_1 = __importDefault(require("stop-media-stream"));
function useUserMedia(constraints) {
var _useState = (0, _react.useState)(),
_useState2 = _slicedToArray(_useState, 2),
stream = _useState2[0],
setStream = _useState2[1];

var _useState3 = (0, _react.useState)(),
_useState4 = _slicedToArray(_useState3, 2),
error = _useState4[0],
setError = _useState4[1];

var _useState5 = (0, _react.useState)('pending'),
_useState6 = _slicedToArray(_useState5, 2),
state = _useState6[0],
setState = _useState6[1];

(0, _react.useDebugValue)({
error: error,
state: state,
stream: stream
});
(0, _react.useEffect)(function () {
var canceled = false;
setState('pending');
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
if (!canceled) {
setState('resolved');
setStream(stream);
}
}, function (error) {
if (!canceled) {
setState('rejected');
setError(error);
}
});
return function () {
canceled = true;
};
}, [constraints]);
(0, _react.useEffect)(function () {
return function () {
return (0, _stopMediaStream["default"])(stream);
};
}, [stream]);
return {
error: error,
state: state,
stream: stream
};
var _a = (0, react_1.useState)(), stream = _a[0], setStream = _a[1];
var _b = (0, react_1.useState)(), error = _b[0], setError = _b[1];
var _c = (0, react_1.useState)('pending'), state = _c[0], setState = _c[1];
(0, react_1.useDebugValue)({ error: error, state: state, stream: stream });
(0, react_1.useEffect)(function () {
var canceled = false;
setState('pending');
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
if (!canceled) {
setState('resolved');
setStream(stream);
}
}, function (error) {
if (!canceled) {
setState('rejected');
setError(error);
}
});
return function () {
canceled = true;
};
}, [constraints]);
(0, react_1.useEffect)(function () { return function () { return (0, stop_media_stream_1.default)(stream); }; }, [stream]);
return { error: error, state: state, stream: stream };
}

var _default = useUserMedia;
exports["default"] = _default;
exports.default = useUserMedia;
1 change: 1 addition & 0 deletions example/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {};
2 changes: 1 addition & 1 deletion example/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
</head>
<body>
<div id="root"></div>
<script src="./index.js" type="text/javascript"></script>
<script type="module" src="./index.js" type="text/javascript"></script>
</body>
</html>
Loading

0 comments on commit a9ff5a5

Please sign in to comment.