UNPKG

@rest-api/react-models

Version:

[![npm version](https://img.shields.io/npm/v/@rest-api/react-models)](https://www.npmjs.com/package/@rest-api/react-models) [![codecov](https://codecov.io/gh/hector7/rest-api-react-models/branch/master/graph/badge.svg)](https://codecov.io/gh/hector7/rest-

50 lines (49 loc) 2.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.filterNulls = exports.getProvider = exports.createAction = exports.HttpError = exports.useDispatch = exports.useSelector = exports.idOnly = exports.required = void 0; const react_1 = __importDefault(require("react")); const react_redux_1 = require("react-redux"); const redux_thunk_1 = __importDefault(require("redux-thunk")); const redux_1 = require("redux"); const ReducerStorage_1 = __importDefault(require("./src/models/ReducerStorage")); var DataTypes_1 = require("./src/DataTypes"); Object.defineProperty(exports, "Model", { enumerable: true, get: function () { return DataTypes_1.default; } }); Object.defineProperty(exports, "Schema", { enumerable: true, get: function () { return DataTypes_1.Schema; } }); Object.defineProperty(exports, "SchemaClass", { enumerable: true, get: function () { return DataTypes_1.SchemaClass; } }); const TRUE = true; exports.required = TRUE; exports.idOnly = TRUE; const initialContext = null; const Context = react_1.default.createContext(initialContext); exports.useSelector = react_redux_1.createSelectorHook(Context); exports.useDispatch = react_redux_1.createDispatchHook(Context); class HttpError { constructor(status, message) { this.codeNumber = status; this.date = new Date(); this.message = message; } } exports.HttpError = HttpError; function createAction(type, payload) { if (payload) { return Object.assign({ type }, payload); } return { type }; } exports.createAction = createAction; function getProvider() { const store = redux_1.createStore(ReducerStorage_1.default.generalReducer, {}, redux_1.applyMiddleware(redux_thunk_1.default)); const Provider = (props) => { return react_1.default.createElement(react_redux_1.Provider, Object.assign({}, props, { store: store, context: Context })); }; return Provider; } exports.getProvider = getProvider; function filterNulls(array) { return array.filter(el => el !== null); } exports.filterNulls = filterNulls;