🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@rainbowatcher/common

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rainbowatcher/common - npm Package Compare versions

Comparing version
0.6.0
to
0.7.0
+11
-3
dist/index.d.ts

@@ -51,2 +51,9 @@ /**

type Composer<L extends Record<PropertyKey, any> = any, R extends Record<PropertyKey, any> = any> = (leftValue: L[keyof L], rightValue: R[keyof R], key: keyof L & keyof R, left: L, right: R) => any;
type MergeWithOptions<L extends Record<PropertyKey, any> = any, R extends Record<PropertyKey, any> = any> = {
composer?: Composer<L, R>;
/**
* if true, undefined value in left will be ignored
*/
ignoreUndefined?: boolean;
};
type MergedType<L, R> = IsObject<L> extends true ? IsObject<R> extends true ? {

@@ -61,6 +68,6 @@ [K in keyof L | keyof R]: K extends keyof R ? R[K] extends undefined ? K extends keyof L ? L[K] : undefined : R[K] : K extends keyof L ? L[K] : never;

* @param right - The right object to merge from.
* @param composer - An optional function to customize the merge behavior.
* @param options - An optional function or options object to customize the merge behavior. @see MergeWithOptions
* @returns A new object with the merged properties.
*/
declare function mergeWith<L extends Record<PropertyKey, any>, R extends Record<PropertyKey, any>>(left: L, right: R, composer?: Composer<L, R>): MergedType<L, R>;
declare function mergeWith<L extends Record<PropertyKey, any>, R extends Record<PropertyKey, any>>(left: L, right: R, options?: Composer<L, R> | MergeWithOptions<L, R>): MergedType<L, R>;
declare function hasValue(value?: unknown): boolean;

@@ -72,2 +79,3 @@

type objects_FilterFunction = FilterFunction;
type objects_MergeWithOptions<L extends Record<PropertyKey, any> = any, R extends Record<PropertyKey, any> = any> = MergeWithOptions<L, R>;
type objects_MergedType<L, R> = MergedType<L, R>;

@@ -79,3 +87,3 @@ declare const objects_deepCopy: typeof deepCopy;

declare namespace objects {
export { type objects_Composer as Composer, type objects_DeepCopyOptions as DeepCopyOptions, type objects_DeepCopyResult as DeepCopyResult, type objects_FilterFunction as FilterFunction, type objects_MergedType as MergedType, objects_deepCopy as deepCopy, objects_deepEqual as deepEqual, objects_hasValue as hasValue, objects_mergeWith as mergeWith };
export { type objects_Composer as Composer, type objects_DeepCopyOptions as DeepCopyOptions, type objects_DeepCopyResult as DeepCopyResult, type objects_FilterFunction as FilterFunction, type objects_MergeWithOptions as MergeWithOptions, type objects_MergedType as MergedType, objects_deepCopy as deepCopy, objects_deepEqual as deepEqual, objects_hasValue as hasValue, objects_mergeWith as mergeWith };
}

@@ -82,0 +90,0 @@

@@ -1,1 +0,1 @@

var m=Object.defineProperty;var f=(e,t)=>{for(var n in t)m(e,n,{get:t[n],enumerable:!0})};var R={};f(R,{isEmpty:()=>k,isNotEmpty:()=>j});function k(e){return e?e.length===0:!0}function j(e){return e?e.length>0:!1}var x={};f(x,{deepCopy:()=>u,deepEqual:()=>c,hasValue:()=>l,mergeWith:()=>g});function L(e){return Object.prototype.toString.call(e).slice(8,-1)}function a(e){return L(e)==="Date"}function p(e){return typeof e=="object"&&e!==null}function u(e,t){let{cycle:n=!0,filter:o=()=>!1}=t??{};if(typeof e!="object"||e===null)return e;if(Array.isArray(e))return e.map(r=>u(r,t));let s={};for(let r in e)if(!o(r,e[r])){if(e[r]===e){n&&(s[r]=s);continue}s[r]=u(e[r],t)}return s}function c(e,t,n){if(!e||!t||typeof e!="object"||typeof t!="object")return e===t;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((r,i)=>c(r,t[i])):!1;if(a(e)&&a(t))return e.getTime()===t.getTime();if(e.constructor!==t.constructor||Object.keys(e).length!==Object.keys(t).length)return!1;let o=n??Object.keys(e),s=n??Object.keys(t);for(let r of o)if(!s.includes(r)||!c(e[r],t[r]))return!1;return!0}function g(e,t,n){if(!p(e)||!p(t))return t??e;let o=Object.create(Object.getPrototypeOf(e));Object.assign(o,e);let s=Object.keys(t);for(let r of s)if(Object.prototype.hasOwnProperty.call(t,r)){let i=e[r],y=t[r],d=n?.(i,y,r,e,t);if(d)o[r]=d;else if(Array.isArray(i)&&Array.isArray(y))o[r]=y.length>0?y:i;else if(p(i)&&p(y)){if(y===e||y===t)throw new Error("Detected circular reference in mergeWith, You must handle it in composer manually");o[r]=g(i,y,n)}else(l(y)||!l(i))&&(o[r]=y)}return o}function l(e){return e==null?!1:typeof e=="number"||typeof e=="bigint"||typeof e=="boolean"||typeof e=="function"||typeof e=="symbol"||typeof e=="string"||a(e)?!0:Array.isArray(e)?e.length>0:p(e)?Object.keys(e)?.length>0:!1}var T={};f(T,{isEmpty:()=>b,isNotEmpty:()=>O});function b(e,t=!1){if(e==null)return!0;if(typeof e!="string")throw new TypeError("Strings.isEmpty accepts only string type parameters");return t?e.trim().length===0:e.length===0}function O(e,t=!1){return!b(e,t)}export{R as Collections,x as Objects,T as Strings};
var L=Object.defineProperty;var u=(e,t)=>{for(var n in t)L(e,n,{get:t[n],enumerable:!0})};var m={};u(m,{isEmpty:()=>j,isNotEmpty:()=>A});function j(e){return e?e.length===0:!0}function A(e){return e?e.length>0:!1}var b={};u(b,{deepCopy:()=>l,deepEqual:()=>d,hasValue:()=>R,mergeWith:()=>x});function K(e){return Object.prototype.toString.call(e).slice(8,-1)}function a(e){return K(e)==="Date"}function p(e){return typeof e=="object"&&e!==null}function l(e,t){let{cycle:n=!0,filter:f=()=>!1}=t??{};if(typeof e!="object"||e===null)return e;if(Array.isArray(e))return e.map(r=>l(r,t));let s={};for(let r in e)if(!f(r,e[r])){if(e[r]===e){n&&(s[r]=s);continue}s[r]=l(e[r],t)}return s}function d(e,t,n){if(!e||!t||typeof e!="object"||typeof t!="object")return e===t;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((r,c)=>d(r,t[c])):!1;if(a(e)&&a(t))return e.getTime()===t.getTime();if(e.constructor!==t.constructor||Object.keys(e).length!==Object.keys(t).length)return!1;let f=n??Object.keys(e),s=n??Object.keys(t);for(let r of f)if(!s.includes(r)||!d(e[r],t[r]))return!1;return!0}function x(e,t,n){let{composer:f,ignoreUndefined:s=!1}=typeof n=="function"?{composer:n}:n??{};if(!p(e)||!p(t))return t??e;let r=Object.create(Object.getPrototypeOf(e)),c=s?Object.fromEntries(Object.entries(e).filter(([y,i])=>i!==void 0)):e;Object.assign(r,c);let O=Object.keys(t);for(let y of O)if(Object.prototype.hasOwnProperty.call(t,y)){let i=e[y],o=t[y],g=f?.(i,o,y,e,t);if(g)r[y]=g;else if(Array.isArray(i)&&Array.isArray(o))r[y]=o.length>0?o:i;else if(p(i)&&p(o)){if(o===e||o===t)throw new Error("Detected circular reference in mergeWith, You must handle it in composer manually");r[y]=x(i,o,n)}else R(o)?r[y]=o:R(i)||(r[y]=o)}return r}function R(e){return e==null?!1:typeof e=="number"||typeof e=="bigint"||typeof e=="boolean"||typeof e=="function"||typeof e=="symbol"||typeof e=="string"||a(e)?!0:Array.isArray(e)?e.length>0:p(e)?Object.keys(e)?.length>0:!1}var k={};u(k,{isEmpty:()=>T,isNotEmpty:()=>h});function T(e,t=!1){if(e==null)return!0;if(typeof e!="string")throw new TypeError("Strings.isEmpty accepts only string type parameters");return t?e.trim().length===0:e.length===0}function h(e,t=!1){return!T(e,t)}export{m as Collections,b as Objects,k as Strings};
{
"name": "@rainbowatcher/common",
"type": "module",
"version": "0.6.0",
"version": "0.7.0",
"description": "Opinionated collection of common JavaScript / TypeScript utils by @rainbowatcher",

@@ -6,0 +6,0 @@ "author": "rainbowatcher <rainbow-w@outlook.com>",