@medyll/idae-engine
v1.185.2
Published
A powerful TypeScript library for data manipulation and operations across the idae-engine. Provides utility classes for sorting, finding, grouping, and more.
Readme
@medyll/engine
The main base scripts for idae based modules.
Installation
Install the package using npm:
npm install @medyll/idae-engineOr using yarn:
yarn add @medyll/idae-engineUsage
The @medyll/idae-eengine package contains several utility classes. This section focuses on the dataOp class, which provides various data manipulation methods.
Importing
import { dataOp } from '@medyll/idae-engine';dataOp
Methods
do
Performs a combination of sort, find, and group operations on data.
const result = dataOp.do({
sort: { arr: myArray, by: 'fieldName', sort: 'asc' },
find: { arr: myArray, kw: 'searchTerm', field: 'fieldName' },
group: { dataList: myArray, groupBy: 'fieldName' }
});sortBy
Sorts an array of objects based on specified fields.
const sortedArray = dataOp.sortBy({
arr: myArray,
by: 'fieldName',
sort: 'asc'
});find
Searches for objects in an array based on specified criteria.
const foundItems = dataOp.find({
arr: myArray,
kw: 'searchTerm',
field: 'fieldName'
});findOne
Searches for the first object in an array that matches the specified criteria.
const foundItem = dataOp.findOne({
arr: myArray,
kw: 'searchTerm',
field: 'fieldName'
});groupBy
Groups objects in an array based on specified fields or a custom grouping function.
const groupedData = dataOp.groupBy({
dataList: myArray,
groupBy: 'fieldName'
});findByIndex
Finds the index of an object in an array based on a specified key-value pair.
const index = dataOp.findByIndex(myArray, 'value', 'keyName');resolveDotPath
Resolves a dot-notated path in an object.
const value = dataOp.resolveDotPath(myObject, 'path.to.property');Testing
The dataOp class comes with a comprehensive test suite. To run the tests:
- Clone the repository
- Install dependencies:
npm installoryarn install - Run tests:
npm testoryarn test
The tests cover various scenarios for each method, ensuring the reliability and correctness of the dataOp class.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License.
