UNPKG

data-sort

Version:

Data engine is small data management lib for some sort and filter.

85 lines (64 loc) 1.77 kB
# SORT Sort engine for array of object, this sort will not work with plain array. Sort has some criterias like `primary key`, `default direction`, `custom sort function`. This criteria can be changed in runtime. All criteria are optional, but can significantly change how sort will look like. # Installation ``` npm install --save data-sort ``` # Example Usage ```javascript var Filter = require('data-sort'); ``` ## Example data ```javascript const a = [ { 'column1': 1, 'column2': false, 'column3': 'test', }, { 'column1': 2, 'column2': true, 'column3': 'test2', } ] ``` ## Constructor Creating new Sort ```javascript const sort = new Sort({ data: [] }); const sort2 = new Sort({ primaryKey: 'Primary key'}); const sort3 = new Sort({ sortFunction: (a, b) => (a > b? 1 : -1)}); const sort3 = new Sort({ direction: true}); ``` ## Data ```javascript // Setter sort.Data = []; sort.setData([], false); // Getter const sortedData = sort.Data; const sortedData = sort.getData(); ``` ## Sorting ```javascript // Sorting by collumn name const sorted = sort.sortBy('Column name'); // Calling this function again with same argument will cause revere const reversed = sort.sortBy('Column name'); ``` ## Custom sort function ```javascript // Setting your own comparing function sort.SortFunction = (a, b) => (a > b? 1: -1); // Setting default sort sort.setDefaultSort(); ``` ## Primary key ```javascript // Setting primary - fallback key sort.PrimaryKey = 'column name'; // Removing primary key sort.removePrimaryKey(); ```