@agile-ts/utils
Advanced tools
Comparing version 0.0.5 to 0.0.6
# @agile-ts/utils | ||
## 0.0.6 | ||
### Patch Changes | ||
- cef61b6: #### :rocket: New Feature | ||
- `react` | ||
- [#171](https://github.com/agile-ts/agile/pull/171) Add deps array to useAgile() hook ([@bennodev19](https://github.com/bennodev19)) | ||
- `core`, `event`, `react`, `vue` | ||
- [#166](https://github.com/agile-ts/agile/pull/166) Shared Agile Instance ([@bennodev19](https://github.com/bennodev19)) | ||
#### :nail_care: Polish | ||
- `api`, `core`, `event`, `logger`, `multieditor`, `react`, `utils` | ||
- [#168](https://github.com/agile-ts/agile/pull/168) Performance optimization ([@bennodev19](https://github.com/bennodev19)) | ||
- `core`, `event`, `react`, `vue` | ||
- [#166](https://github.com/agile-ts/agile/pull/166) Shared Agile Instance ([@bennodev19](https://github.com/bennodev19)) | ||
#### Committers: 1 | ||
- BennoDev ([@bennodev19](https://github.com/bennodev19)) | ||
## 0.0.5 | ||
@@ -4,0 +26,0 @@ |
@@ -52,10 +52,2 @@ /** | ||
* @internal | ||
* Merges default values/properties into config object | ||
* @param config - Config object that receives default values | ||
* @param defaults - Default values object that gets merged into config object | ||
* @param overwriteUndefinedProperties - If undefined Properties in config gets overwritten by the default value | ||
*/ | ||
export declare function defineConfig<ConfigInterface = Object>(config: ConfigInterface, defaults: Object, overwriteUndefinedProperties?: boolean): ConfigInterface; | ||
/** | ||
* @internal | ||
* @param addNewProperties - Adds new properties to source Object | ||
@@ -62,0 +54,0 @@ */ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.removeProperties = exports.clone = exports.createArrayFromObject = exports.generateId = exports.notEqual = exports.equal = exports.flatMerge = exports.defineConfig = exports.isJsonString = exports.isAsyncFunction = exports.isFunction = exports.normalizeArray = exports.includesArray = exports.isValidObject = exports.copy = void 0; | ||
exports.removeProperties = exports.clone = exports.createArrayFromObject = exports.generateId = exports.notEqual = exports.equal = exports.flatMerge = exports.isJsonString = exports.isAsyncFunction = exports.isFunction = exports.normalizeArray = exports.includesArray = exports.isValidObject = exports.copy = void 0; | ||
function copy(value) { | ||
if (!value) | ||
if (value == null || typeof value !== 'object') | ||
return value; | ||
const valConstructorName = Object.getPrototypeOf(value).constructor.name; | ||
if (!['object', 'array'].includes(valConstructorName.toLowerCase())) | ||
const valConstructorName = Object.getPrototypeOf(value).constructor.name.toLowerCase(); | ||
if (valConstructorName !== 'object' && valConstructorName !== 'array') | ||
return value; | ||
@@ -14,3 +14,3 @@ let temp; | ||
temp = value[property]; | ||
newObject[property] = typeof temp === 'object' ? copy(temp) : temp; | ||
newObject[property] = copy(temp); | ||
} | ||
@@ -43,5 +43,3 @@ return newObject; | ||
function normalizeArray(items, config = {}) { | ||
config = defineConfig(config, { | ||
createUndefinedArray: false, | ||
}); | ||
config = Object.assign({ createUndefinedArray: false }, config); | ||
if (items == null && !config.createUndefinedArray) | ||
@@ -75,19 +73,4 @@ return []; | ||
exports.isJsonString = isJsonString; | ||
function defineConfig(config, defaults, overwriteUndefinedProperties) { | ||
if (overwriteUndefinedProperties === undefined) | ||
overwriteUndefinedProperties = true; | ||
if (overwriteUndefinedProperties) { | ||
const finalConfig = Object.assign(Object.assign({}, defaults), config); | ||
for (const key in finalConfig) | ||
if (finalConfig[key] === undefined) | ||
finalConfig[key] = defaults[key]; | ||
return finalConfig; | ||
} | ||
return Object.assign(Object.assign({}, defaults), config); | ||
} | ||
exports.defineConfig = defineConfig; | ||
function flatMerge(source, changes, config = {}) { | ||
config = defineConfig(config, { | ||
addNewProperties: true, | ||
}); | ||
config = Object.assign({ addNewProperties: true }, config); | ||
const _source = copy(source); | ||
@@ -106,3 +89,6 @@ if (_source == null) | ||
function equal(value1, value2) { | ||
return value1 === value2 || JSON.stringify(value1) === JSON.stringify(value2); | ||
return (value1 === value2 || | ||
(typeof value1 === 'object' && | ||
typeof value2 === 'object' && | ||
JSON.stringify(value1) === JSON.stringify(value2))); | ||
} | ||
@@ -109,0 +95,0 @@ exports.equal = equal; |
{ | ||
"name": "@agile-ts/utils", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"author": "BennoDev", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15126
242