- Update a 'walk' library to version 5.x.x;
- Dev dependencies updates;
- Dependencies updates. @peter.naydenov/walk to version 4.2.3;
- Dev dependencies updates. Chai to version 5.0.3;
- Dev dependencies updates. C8 to version 9.1.0;
- Folder 'dist' was added to the project. Includes commonjs, umd and esm versions of the library;
- Package.json: "exports" section was added. Allows you to use package as commonjs or es6 module without additional configuration;
- Rollup was added to the project. Used to build the library versions;
- Dependencies updates. @peter.naydenov/walk to version 4.2.1;
- Dev dependencies updates. Chai to version 5.0.0;
- Dev dependencies updates. C8 to version 9.0.0;
- Types were added to the project;
- Model function recognize a
dt-model
model. Result is equal to result ofexport
; - Model function recognize a
dt-object
model. Returns a new dt-object; - Method
extractList
recognize adt-model
anddt-object
models; - Method
init
recognize adt-model
model. Result is equal to result ofload
; - Update of @peter.naydenov/walk to version 4.2.0;
- Convertors recognize HTML DOM nodes. Makes a copy by reference;
- Convertors recognize functions. Makes a copy by reference;
- Model 'files' is not possible for functions and DOM nodes, so the value in the result will be string. For functions will be
function:functionName
and for DOM nodes will behtmlElement:elementName
;
- Fix: extractList: Negative value is treated as property does not exist and returns null instead of real value;
- Fix: Dt-Storage method 'from' is not filtering the list if requested 'breadcrumbs' does not exist;
- Bug: extractList: Negative value is treated as property does not exist and returns null instead of real value;
- Fix: Multiple queries in same programming scope;
- Bug: Dt-Storage method 'from' is not filtering the list if requested 'breadcrumbs' does not exist;
- Bug: extractList: Negative value is treated as property does not exist and returns null instead of real value;
- Method
extractList
was added; - Fix: Method
model
recognizes 'files' as a model; - Fix: Tuple model if data is just an array is wrong;
- Fix: Convertor to files shows 'root' in the beginning of the path;
- Fix: Convertor to breadcrumbs shows 'root' in the beginning of the path;
- Bug: Multiple queries in same programming scope;
- Bug: Dt-Storage method 'from' is not filtering the list if requested 'breadcrumbs' does not exist;
- Method
look
has new arguments: functionsnext
andfinish
; - To stop iteration on current dt-line
return next()
; - To stop iteration on all dt-lines
return finish()
; - Method
insert
was renamed toinsertSegment
; - Method
listSegments
was added to show list of all segments in dt-object; - Method
insertSegment
expect the incoming data as dt-object, but if is not - will assume it as a standard javascript object and will convert it to dt-object automatically; - Method
insertSegment
can recognize a dt model object. - Bug: Method
model
doesn't recognize 'files' as a model; - Bug: Tuple model if data is just an array is wrong;
- Bug: Convertor to files shows 'root' in the beginning of the path;
- Bug: Convertor to breadcrumbs shows 'root' in the beginning of the path;
- Bug: Multiple queries in same programming scope;
- Bug: Dt-Storage method 'from' is not filtering the list if requested 'breadcrumbs' does not exist;
- Version 5 is full rethinking of the idea and rewrite from scratch;
- Simplified API interface;
- New internal data-model;
- Multiple data inserts;
- Predefined and custom filters for faster data scan;
- Model and query functions to shape the results;
- Library '@peter.naydenov/walk' was included as a dependency;
- Cleaning: Method 'help.generateObject' was removed. Not in use anymore;
- Cleaning: Method 'help.generateList' was removed. Not in use anymore;
- Cleaning: Old convertor file 'convertors_oldVersion.js' was removed;
- Refactoring: Convertor 'standard' is using 'walk';
- Fix: Initialization with 'tuples' doesn't work;
- Fix: Sometimes empty array structures are converted to empty objects;
- Bug: Initialization with 'tuples' doesn't work;
- Fix: Arrays are recognized as objects. Object members of arrays are recognized as arrays;
- Bug: Sometimes empty array structures are converted to empty objects;
- Bug: Initialization with 'tuples' doesn't work;
- Fix: Convertor for 'midFlat' is loosing empty data-structures;
- Fix: Boolean values "true" are converted to 1(number);
- Fix: Operation "add" treats numbers as string;
- Fix: Convertor from 'breadcrumbs' breaks;
- Bug: Arrays are recognized as objects. Object members of arrays are recognized as arrays;
- Bug: Initialization with 'tuples' doesn't work;
- Fix: Initialize with breadcrumbs is not working at all;
- Bug: Convertor for 'midFlat' is loosing empty data-structures;
- Bug: Boolean values "true" are converted to 1(number);
- Bug: Operation "add" treats numbers as string;
- Bug: Convertor from 'breadcrumbs' breaks;
- Bug: Initialization with 'tuples' doesn't work;
- Fix: Methods 'keep' and 'remove' received
flat keys
instead ofbreadcrumbs keys
. If need aflat key
, its still available as third argument.
.remove ( (value, breadcrumbKey, flatKey)=> {
// ... set your filter here...
})
- Bug: Initialize with breadcrumbs is not working at all;
- Bug: Convertor for 'midFlat' is loosing empty data-structures;
- Bug: Boolean values "true" are converted to 1(number);
- Bug: Operation "add" treats numbers as string;
- Bug: Convertor from 'breadcrumbs' breaks;
- Bug: Initialization with 'tuples' doesn't work;
- Fix: Methods "add/update/overwrite/combine/append/prepend" expect by default data-type 'standard'. Should be a 'flat' data-type. This update is coming as major release because may require some changes. Everything else is according documentation for version 3.x.x;
- Bug: Methods 'keep' and 'remove' received
flat keys
instead ofbreadcrumbs keys
- Bug: Initialize with breadcrumbs is not working at all;
- Bug: Initialization with 'tuples' doesn't work;
- Bug: Convertor for 'midFlat' is loosing empty data-structures;
- Bug: Boolean values "true" are converted to 1(number);
- Bug: Operation "add" treats numbers as string;
- Bug: Convertor from 'breadcrumbs' breaks;
- Methods "export" and "exportAll" were added;
- [] Bug: Methods "add/update/overwrite/combine/append/prepend" expect by default data-type 'standard'. Should be a 'flat' data-type;
- Fix: Convert to 'standard' fails on some objects;
- [] Bug: Methods "add/update/overwrite/combine/append/prepend" expect by default data-type 'standard'. Should be a 'flat' data-type;
- Complete rewrite of the library;
- Dt-toolbox is using . Consider this for support of old browsers;
- Export API was removed. Methods were moved to main API or removed;
- Method that is searching for string in keys was renamed from 'folder' to 'find';
- Method 'folder' works like 'space' in previous versions. That makes more sense...;
- Method 'space' is depricated;
- New method 'purify'. Removes empty structures from the selection;
- Method 'loadFast' was depricated. Use 'load' instead;
- Added support for different data-models: standard, tuples, flat, midFlat, breadcrumbs, files;
- New method 'flatten' was added;
- New method 'mix' was added;
- New method 'keyPrefix' was added;
- New method 'replace' was added;
- New method 'combine' was added;
- All methods expect data as 'flat'. Other models should be converted or provide an option/model param;
- [] Bug: Convert to 'standard' fails on some objects;
- [] Bug: Methods "add/update/overwrite/combine/append/prepend" expect by default data-type 'standard'. Should be a 'flat' data-type;
- Fix: Similar namespaces bug - Overwrite of object properties values. Ex: "s1" and "s11";
- Browser version was updated;
- Fix: Build a ST object with repeating structure;
- Browser version was updated;
- Bug: Similar namespaces bug - Overwrite of object properties values. Ex: "s1" and "s11";
- Modify methods ( add/update/overwrite ) can receive DT data model;
- Browser version was updated;
- Bug: Build a ST object with repeating structure;
- Bug: Similar namespaces bug - Overwrite of object properties values. Ex: "s1" and "s11";
- Fix: ST Build regression with boolean values;
- Browser version was updated;
- Bug: Build a ST object with repeating structure;
- Bug: Similar namespaces bug - Overwrite of object properties values. Ex: "s1" and "s11";
- Fix: ST Build (lib._build) was refactored;
- Improvment: Method 'lib._toFolderFiles' has array of counters in sync with duplications;
- Browser version was updated;
- Bug: ST Build regression with boolean values;
- Bug: Build a ST object with repeating structure;
- Bug: Similar namespaces bug - Overwrite of object properties values. Ex: "s1" and "s11".;
- Breaking change: Method ‘modifyKeys’ argument should be a function;
- Test cases updates;
- Browser version was updated;
- Problems with building heavy ST structures;
- Build a wrong ST object when similar namespaces are available. Example: "sample1" and "sample11";
- Method 'remove' has new argument-key. Evaluate the key name;
- Method 'keep' has new argument-key. Evaluate the key name;
- Test coverage - 100%;
- Browser version is available;
- Dependencies updates ( Mocha, chai );
- Istambul coverage tool was added;
- Some minor project structure changes;
- Unit tests updates for Mocha v.4;
- ExportAPI method
keyValue
returns a key-value string;
- ExportAPI method 'cut' will cut out number of key elements;
- ExportAPI method 'file' will convert dt data to a 'file' model;
- Fix: ExportAPI method 'map' could break the app if callback function does not return a string;
- Fix: Very large files can cause 'stack overflow';
- Warning: ExportAPI method 'map' could break the app if callback function does not return a string;
- API method 'invert' - selector. Invert existing selection;
- Warning: Very large files can cause 'stack overflow';
- Warning: ExportAPI method 'map' could break the app if callback function does not return a string;
- ExportAPI method 'list'. Returns findings in an array.
- API method 'deepArray' - selector
- API method 'deepObject' - selector
- API method 'loadFast' - load DT data without meta information calculation.
- ExportLib method
map
is 'root/' aware. - Warning: Very large files can cause 'stack overflow';
- Warning: ExportAPI method 'map' could break the app if callback function does not return a string;
- Fix: ExportAPI method
map
hasindex
argument; - ExportAPI method
map
is not aware of 'root/'. Add 'root/' explicitly; - Warning: Very large files can cause 'stack overflow';
- Warning: ExportAPI method 'map' could break the app if callback function does not return a string;
- Fix: Method
empty
now works as it was intended; - Method
spreadAll
was added and could be used instead the chain: .select().all().spread() - ExportAPI method
map
is not aware of 'root/'. Add 'root/' explicitly; - Error: ExportAPI method
map
has noindex
argument; - Warning: Very large files can cause 'stack overflow';
- Warning: ExportAPI method 'map' could break the app if callback function does not return a string;
- Method
empty
returns empty DT object; - Compare method were added:
identical
,change
,same
,different
,missing
- Error: Method
empty
is actually an object; - Error: ExportAPI method
map
has noindex
argument; - Warning: Very large files can cause 'stack overflow';
- Warning: ExportAPI method
map
is not aware of 'root/'. Add 'root/' explicitly; - Warning: ExportAPI method
map
could break the app if callback function does not return a string;
- Bug fix - init with files;
- Initial code;
- Test package;
- Documentation;