@rxx/worker
Version:
React MVI micro framework.
179 lines • 11.3 kB
JavaScript
;
/**
* The MIT License (MIT)
* Copyright (c) Taketoshi Aono
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* @fileoverview
* @author Taketoshi Aono
*/
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var OBJECT_REGEXP = /\[object ([^\]]+)\]/;
var toStringClass = function (o) {
return o ? Object.prototype.toString.call(o).match(OBJECT_REGEXP)[1] : 'null';
};
function symbol(val) {
return typeof Symbol === 'function' ? Symbol(val) : val;
}
exports.symbol = symbol;
function isDefined(obj) {
return obj !== undefined && obj !== null;
}
exports.isDefined = isDefined;
function assign(base, append) {
return tslib_1.__assign({}, base, append);
}
exports.assign = assign;
function extend(base, append) {
for (var key in append) {
base[key] = append[key];
}
return base;
}
exports.extend = extend;
function omit(obj, name) {
var ret = {};
var omits = typeof name === 'string' ? [name] : name;
for (var key in obj) {
if (omits.indexOf(key) === -1) {
ret[key] = obj[key];
}
}
return ret;
}
exports.omit = omit;
function forIn(obj, cb) {
for (var key in obj || {}) {
cb(obj[key], key, obj);
}
}
exports.forIn = forIn;
function isObject(obj) {
return toStringClass(obj) === 'Object';
}
exports.isObject = isObject;
exports.STATE_ENTITY = '__RMVI_STATE_ENTITY__';
function isSimpleObject(obj) {
return isObject(obj) && (obj.constructor === Object && !obj[exports.STATE_ENTITY]);
}
exports.isSimpleObject = isSimpleObject;
function isArray(obj) {
return toStringClass(obj) === 'Array';
}
exports.isArray = isArray;
function isRegExp(obj) {
return toStringClass(obj) === 'RegExp';
}
exports.isRegExp = isRegExp;
function filter(obj, cb) {
if (isArray(obj)) {
return obj.filter(cb);
}
var ret = [];
for (var key in obj || {}) {
if (cb(obj[key], key, obj)) {
ret.push(obj[key]);
}
}
return ret;
}
exports.filter = filter;
function map(obj, cb) {
if (isArray(obj)) {
return obj.map(cb);
}
var ret = [];
for (var key in obj || {}) {
ret.push(cb(obj[key], key, obj));
}
return ret;
}
exports.map = map;
function some(obj, cb) {
if (isArray(obj)) {
return obj.some(cb);
}
else if (isObject(obj)) {
for (var key in obj || {}) {
if (cb(obj[key], key, obj)) {
return true;
}
}
}
return false;
}
exports.some = some;
function every(obj, cb) {
if (isArray(obj)) {
return obj.every(cb);
}
else if (isObject(obj)) {
for (var key in obj || {}) {
if (!cb(obj[key], key, obj)) {
return false;
}
}
}
return true;
}
exports.every = every;
function mapValues(obj, cb) {
var ret = {};
for (var key in obj || {}) {
ret[key] = cb(obj[key], key, obj);
}
return ret;
}
exports.mapValues = mapValues;
function clone(target) {
if (isObject(target)) {
return tslib_1.__assign({}, target);
}
else if (isArray(target)) {
return target.slice();
}
return target;
}
exports.clone = clone;
function mergeDeep(target, source) {
if (target === source) {
return target;
}
if (isSimpleObject(target) && isSimpleObject(source)) {
var ret_1 = tslib_1.__assign({}, target);
Object.keys(source).forEach(function (key) {
if (isSimpleObject(source[key])) {
if (!(key in ret_1)) {
ret_1[key] = {};
}
ret_1[key] = mergeDeep(ret_1[key], source[key]);
}
else {
ret_1[key] = source[key];
}
});
return ret_1;
}
return source;
}
exports.mergeDeep = mergeDeep;
var IDGenerator = /** @class */ (function () {
function IDGenerator() {
}
IDGenerator.genNextId = function () {
return this.id++;
};
IDGenerator.id = 0;
return IDGenerator;
}());
exports.IDGenerator = IDGenerator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsSUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUM7QUFDNUMsSUFBTSxhQUFhLEdBQUcsVUFBQSxDQUFDO0lBQ3JCLE9BQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO0FBQXZFLENBQXVFLENBQUM7QUFFMUUsU0FBZ0IsTUFBTSxDQUFDLEdBQVc7SUFDaEMsT0FBTyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzFELENBQUM7QUFGRCx3QkFFQztBQUVELFNBQWdCLFNBQVMsQ0FBQyxHQUFRO0lBQ2hDLE9BQU8sR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDO0FBQzNDLENBQUM7QUFGRCw4QkFFQztBQUVELFNBQWdCLE1BQU0sQ0FBNkIsSUFBTyxFQUFFLE1BQVM7SUFDbkUsT0FBTyxxQkFBTSxJQUFZLEVBQU0sTUFBYyxDQUFTLENBQUM7QUFDekQsQ0FBQztBQUZELHdCQUVDO0FBRUQsU0FBZ0IsTUFBTSxDQUE2QixJQUFPLEVBQUUsTUFBUztJQUNuRSxLQUFLLElBQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtRQUN2QixJQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xDO0lBRUQsT0FBTyxJQUFXLENBQUM7QUFDckIsQ0FBQztBQU5ELHdCQU1DO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLEdBQVEsRUFBRSxJ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