3.0.0-1 • Published 8 months ago

@laufire/utils v3.0.0-1

Weekly downloads
284
License
ISC
Repository
github
Last release
8 months ago

Laufire - JS Utils

A simple set of utility libraries to ease development.

Notes

  • The reason for writing custom functions instead of depending on libraries is that, there isn't a coherent set. Depending on many libraries increases the time to learn their APIs.

  • The differences between some functions: merge - replaces array elements, thus does not allow resulting array to have fewer elements. overlay - uses extension arrays, as they are, allowing for greater control. * combine - adds the extension arrays to the source arrays, thus makes array lengths the sum of the two.

  • Randomized tests are expected to have an accuracy above second standard deviation, to allow for faster testing cycles.

HowTo

  • When immutability is required for functions like collection.merge and collection.combine, pass an empty base object. Ex: merge({}, someObj)

ToDo

  • Consider passing nested paths to the callbacks of collection.traverse and collection.walk.

  • Ensure key order in the results.

  • Move to Typescript, to allow for better support on IDEs.

  • Fix grammar.

  • Improve API documentation.

  • Test the index file for the integrity of imports.

  • Coverage might not cover all paths. Especially those of shared functions, as they might be partially covered by multiple functions, yet report full coverage. Find a fix for this.

  • Make randomized testing to achieve accuracy above third standard deviation, when publishing (to NPM). Use environment variables.

  • Functionalities:

    	* collection
    
    		* set - a container agnostic function to set the given values to the given keys.
    
    		* till / findResult - a findKey like function which returns the return value of the predicate instead.
  • Pre-release

    	* Audit the packages.
    
    	* Update the packages.
    
    	* Support at least the last four LTS vesrions of Node JS.
    
    	* Use module alias instead of relative path.

Later

  • Test for and improve performance.

  • Rename the functions for readability, ease of recollection and to be semantic.

  • Try avoiding duplicate names across modules.

  • Try to build synthesis with al-js.

Gotchas

  • Object keys maintain a chronological order, unless they are integers. In which case they are added to the beginning in an ascending order.

Decisions

  • 20211111 - Decided to use numbers as array keys, to play nice with third party libraries.
3.0.0-1

8 months ago

3.0.0-0

3 years ago

2.9.2

4 years ago

2.9.1

4 years ago

2.8.1

4 years ago

2.8.0

4 years ago

2.9.0

4 years ago

2.8.2

4 years ago

2.6.0

4 years ago

2.5.6

4 years ago

2.5.5

4 years ago

2.7.0

4 years ago

2.5.4

5 years ago

2.5.2

5 years ago

2.5.3

5 years ago

2.5.1

5 years ago

2.5.0

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.30

6 years ago

0.0.29

6 years ago

0.0.28

6 years ago

0.0.27

6 years ago

0.0.26

6 years ago

0.0.25

6 years ago

0.0.24

6 years ago

0.0.23

6 years ago

0.0.22

6 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago