UNPKG

@taraai/read-write

Version:

Synchronous NoSQL/Firestore for React

57 lines (45 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _ReduxFirestoreContext = _interopRequireDefault(require("./ReduxFirestoreContext")); var _createFirebaseInstance = _interopRequireDefault(require("./createFirebaseInstance")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ReduxFirestoreProvider() { let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; const { children, config, dispatch, firebase, createFirestoreInstance, initializeAuth } = props; const extendedFirestoreInstance = _react.default.useMemo(() => { const extendedFirebaseInstance = firebase._reactReduxFirebaseExtended ? firebase : (0, _createFirebaseInstance.default)(firebase, config, dispatch); const extendedFirestoreInstance = createFirestoreInstance(firebase, config, dispatch); if (initializeAuth) { extendedFirebaseInstance.initializeAuth(); } return extendedFirestoreInstance; }, [firebase, config, dispatch, createFirestoreInstance, initializeAuth]); return _react.default.createElement(_ReduxFirestoreContext.default.Provider, { value: extendedFirestoreInstance }, children); } ReduxFirestoreProvider.defaultProps = { initializeAuth: true }; ReduxFirestoreProvider.propTypes = { children: _propTypes.default.node, config: _propTypes.default.object.isRequired, dispatch: _propTypes.default.func.isRequired, createFirestoreInstance: _propTypes.default.func.isRequired, initializeAuth: _propTypes.default.bool, firebase: _propTypes.default.object.isRequired }; var _default = ReduxFirestoreProvider; exports.default = _default;