Socket
Socket
Sign inDemoInstall

mixme

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mixme - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

9

dist/esm/index.d.ts

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

export function camelize<T extends Record<string, any>>(
source: T,
depth?: boolean | number
): SnakeCaseKeys<T>;
export function camelize_str(source: string): string;
export function clone<T>(target: T): T;

@@ -72,5 +79,5 @@ export function compare(el1: unknown, el2: unknown): boolean;

source: T,
convert?: boolean | number
depth?: boolean | number
): SnakeCaseKeys<T>;
export function snake_case_str(source: string): string;

49

dist/esm/index.js

@@ -11,2 +11,25 @@ function _typeof(o) {

function camelize(source) {
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var target = {};
if (is_object_literal(source)) {
var d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
var value = source[key];
if (depth) {
key = camelize_str(key);
}
target[key] = camelize(value, d);
}
} else {
target = source;
}
return target;
}
function camelize_str(str) {
return str.replace(/[_.-](\w|$)/g, function (_, x) {
return x.toUpperCase();
});
}
function compare(el1, el2) {

@@ -38,4 +61,4 @@ if (is_object_literal(el1)) {

}
for (var _i = 0; _i < el1.length; _i++) {
if (!compare(el1[_i], el2[_i])) {
for (var _i2 = 0; _i2 < el1.length; _i2++) {
if (!compare(el1[_i2], el2[_i2])) {
return false;

@@ -87,4 +110,4 @@ }

}
for (var _i2 = 0, _Object$keys = Object.keys(source); _i2 < _Object$keys.length; _i2++) {
var name = _Object$keys[_i2];
for (var _i3 = 0, _Object$keys2 = Object.keys(source); _i3 < _Object$keys2.length; _i3++) {
var name = _Object$keys2[_i3];
if (/__proto__|prototype/.test(name)) {

@@ -112,13 +135,13 @@ // See

function snake_case(source) {
var convert = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var target = {};
if (is_object_literal(source)) {
var u = typeof convert === "number" && convert > 0 ? convert - 1 : convert;
for (var _i3 = 0, _Object$keys2 = Object.keys(source); _i3 < _Object$keys2.length; _i3++) {
var name = _Object$keys2[_i3];
var src = source[name];
if (convert) {
name = snake_case_str(name);
var d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (var _i4 = 0, _Object$keys3 = Object.keys(source); _i4 < _Object$keys3.length; _i4++) {
var key = _Object$keys3[_i4];
var value = source[key];
if (depth) {
key = snake_case_str(key);
}
target[name] = snake_case(src, u);
target[key] = snake_case(value, d);
}

@@ -134,2 +157,2 @@ } else {

export { clone, compare, is_object, is_object_literal, merge, mutate, snake_case, snake_case_str };
export { camelize, camelize_str, clone, compare, is_object, is_object_literal, merge, mutate, snake_case, snake_case_str };

@@ -17,2 +17,25 @@ (function (global, factory) {

function camelize(source) {
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var target = {};
if (is_object_literal(source)) {
var d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) {
var key = _Object$keys[_i];
var value = source[key];
if (depth) {
key = camelize_str(key);
}
target[key] = camelize(value, d);
}
} else {
target = source;
}
return target;
}
function camelize_str(str) {
return str.replace(/[_.-](\w|$)/g, function (_, x) {
return x.toUpperCase();
});
}
function compare(el1, el2) {

@@ -44,4 +67,4 @@ if (is_object_literal(el1)) {

}
for (var _i = 0; _i < el1.length; _i++) {
if (!compare(el1[_i], el2[_i])) {
for (var _i2 = 0; _i2 < el1.length; _i2++) {
if (!compare(el1[_i2], el2[_i2])) {
return false;

@@ -93,4 +116,4 @@ }

}
for (var _i2 = 0, _Object$keys = Object.keys(source); _i2 < _Object$keys.length; _i2++) {
var name = _Object$keys[_i2];
for (var _i3 = 0, _Object$keys2 = Object.keys(source); _i3 < _Object$keys2.length; _i3++) {
var name = _Object$keys2[_i3];
if (/__proto__|prototype/.test(name)) {

@@ -118,13 +141,13 @@ // See

function snake_case(source) {
var convert = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var target = {};
if (is_object_literal(source)) {
var u = typeof convert === "number" && convert > 0 ? convert - 1 : convert;
for (var _i3 = 0, _Object$keys2 = Object.keys(source); _i3 < _Object$keys2.length; _i3++) {
var name = _Object$keys2[_i3];
var src = source[name];
if (convert) {
name = snake_case_str(name);
var d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (var _i4 = 0, _Object$keys3 = Object.keys(source); _i4 < _Object$keys3.length; _i4++) {
var key = _Object$keys3[_i4];
var value = source[key];
if (depth) {
key = snake_case_str(key);
}
target[name] = snake_case(src, u);
target[key] = snake_case(value, d);
}

@@ -140,2 +163,4 @@ } else {

exports.camelize = camelize;
exports.camelize_str = camelize_str;
exports.clone = clone;

@@ -142,0 +167,0 @@ exports.compare = compare;

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

export function camelize<T extends Record<string, any>>(
source: T,
depth?: boolean | number
): SnakeCaseKeys<T>;
export function camelize_str(source: string): string;
export function clone<T>(target: T): T;

@@ -72,5 +79,5 @@ export function compare(el1: unknown, el2: unknown): boolean;

source: T,
convert?: boolean | number
depth?: boolean | number
): SnakeCaseKeys<T>;
export function snake_case_str(source: string): string;

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

export function camelize(source, depth = true) {
let target = {};
if (is_object_literal(source)) {
const d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (let key of Object.keys(source)) {
const value = source[key];
if (depth) {
key = camelize_str(key);
}
target[key] = camelize(value, d);
}
} else {
target = source;
}
return target;
}
export function camelize_str(str) {
return str.replace(/[_.-](\w|$)/g, (_, x) => x.toUpperCase());
}
export function compare(el1, el2) {

@@ -102,13 +123,12 @@ if (is_object_literal(el1)) {

export function snake_case(source, convert = true) {
export function snake_case(source, depth = true) {
let target = {};
if (is_object_literal(source)) {
const u =
typeof convert === "number" && convert > 0 ? convert - 1 : convert;
for (let name of Object.keys(source)) {
let src = source[name];
if (convert) {
name = snake_case_str(name);
const d = typeof depth === "number" && depth > 0 ? depth - 1 : depth;
for (let key of Object.keys(source)) {
let value = source[key];
if (depth) {
key = snake_case_str(key);
}
target[name] = snake_case(src, u);
target[key] = snake_case(value, d);
}

@@ -115,0 +135,0 @@ } else {

{
"name": "mixme",
"description": "A library for recursively merging JavaScript objects",
"version": "1.0.0",
"version": "1.1.0",
"author": "David Worms <david@adaltas.com> (https://www.adaltas.com)",

@@ -6,0 +6,0 @@ "contributors": [

@@ -17,2 +17,24 @@

### Function `camelize(object)`
Clone a object and convert its properties into snake case.
```js
import { snake_case } from "mixme"
snake_case({aA: "1", bB: cC: "2"})
// Return {a_a: "1", b_b: c_c: "2"}
```
### Function `camelize_str(str)`
Convert a camel case string to snake case, used internally by `snake_case`.
```js
import { snake_case_str } from "mixme"
snake_case("myValue")
// Return "my_value"
```
### Function `compare(item_1, item_2)`

@@ -19,0 +41,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc