UNPKG

react-torch

Version:

A lib to server-side render with react.

131 lines (130 loc) 4.25 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.forceCheckValue = exports.forcePlainDataCheck = exports.isThenble = exports.shallowEqual = exports.isPlainObject = exports.identity = void 0; var identity = function (x) { return x; }; exports.identity = identity; var isPlainObject = function (obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; }; exports.isPlainObject = isPlainObject; var shallowEqual = function (objA, objB) { if (objA === objB) { return true; } if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } // Test for A's keys different from B. for (var i = 0; i < keysA.length; i++) { if (!objB.hasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) { return false; } } return true; }; exports.shallowEqual = shallowEqual; var isThenble = function (input) { return !!(input && typeof input.then === 'function'); }; exports.isThenble = isThenble; var forcePlainDataCheck = function (input, path) { if (path === void 0) { path = ''; } if (input === null) return; var type = typeof input; if (type === 'function') { throw new Error("Expected plain data, but found a function in " + path + ": " + input); } if (Array.isArray(input)) { for (var i = 0; i < input.length; i++) { (0, exports.forcePlainDataCheck)(input[i], path + "[" + i + "]"); } return; } if (type === 'object') { if (!(0, exports.isPlainObject)(input)) { throw new Error("Expected plain object, but found an instance of " + input.constructor + " in path " + path + ": " + input); } for (var key in input) { (0, exports.forcePlainDataCheck)(input[key], path + "." + key); } return; } }; exports.forcePlainDataCheck = forcePlainDataCheck; var wrapFunctionForChecking = function (f) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } (0, exports.forcePlainDataCheck)(args); return f.apply(void 0, __spreadArray([], __read(args), false)); }; }; var forceCheckValue = function (value) { if (typeof value === 'function') { return wrapFunctionForChecking(value); } if (Array.isArray(value)) { return forceCheckArray(value); } if ((0, exports.isPlainObject)(value)) { return forceCheckObject(value); } return value; }; exports.forceCheckValue = forceCheckValue; var forceCheckObject = function (object) { var result = {}; for (var key in object) { result[key] = (0, exports.forceCheckValue)(object[key]); } return result; }; var forceCheckArray = function (array) { var result = []; for (var i = 0; i < array.length; i++) { result[i] = (0, exports.forceCheckValue)(array[i]); } return result; };