Lowdash
liberocks/lowdash is a Lodash inspired utility library to manipulate array and object
β οΈ Disclaimer
This project is still in heavy development and not ready for production use.
π Installation
This library has no dependencies outside the Rust standard library.
π Documentation
You can find the generated documentation here
Utility functions for array:
- earliest_by
- earliest
- find_duplicates_by
- find_duplicates
- find_index_of
- find_key_by
- find_key
- find_last_index_of
- find_or_else
- find_uniques_by
- find_uniques
- find
- first_or_empty
- first_or
- first
- index_of
- last_index_of
- last_or_empty
- last_or
- last
- latest_by
- latest
- max_by
- max
- min_by
- min
- nth
- sample
- samples
Utility functions for string manipulation:
- camel_case
- capitalize
- char_length
- chunk_string
- ellipsis
- kebab_case
- pascal_case
- random_string
- snake_case
- substring
- words
Utility functions for math:
camel_case
Converts a string to camelCase.
use camel_case;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
capitalize
Capitalizes the first letter of the input string and converts the rest to lowercase.
use capitalize;
assert_eq!;
assert_eq!;
assert_eq!;
char_length
Returns the length of a string in Unicode characters.
use char_length;
assert_eq!;
assert_eq!;
assert_eq!;
chunk_string
Splits a string into chunks of specified size.
use chunk_string;
let result = chunk_string;
assert_eq!;
earliest_by
Find the earliest item in a collection based on a custom iteratee function.
use ;
use earliest_by;
let t1 = UNIX_EPOCH;
let t2 = t1 + new;
let t3 = t1 + new;
let times = vec!;
let earliest_time = earliest_by;
assert_eq!;
let events = vec!;
let earliest_event = earliest_by;
assert_eq!;
earliest
Find the earliest time in a collection.
use ;
use earliest;
let t1 = UNIX_EPOCH;
let t2 = t1 + new;
let t3 = t1 + new;
let times = vec!;
let earliest_time = earliest;
assert_eq!;
ellipsis
Truncates a string and appends an ellipsis ("...") if it exceeds the specified length.
use ellipsis;
let result = ellipsis;
assert_eq!;
let result = ellipsis;
assert_eq!;
let result = ellipsis;
assert_eq!;
let result = ellipsis;
assert_eq!;
let result = ellipsis;
assert_eq!;
find_duplicates_by
Find all duplicate elements in a collection based on a key generated by the iteratee function.
use find_duplicates_by;
let numbers = vec!;
let result = find_duplicates_by;
assert_eq!; // Second occurrences of duplicated keys
use find_duplicates_by;
let people = vec!;
let result = find_duplicates_by;
assert_eq!;
find_duplicates
Find all duplicate elements in a collection (elements that appear more than once).
use find_duplicates;
let numbers = vec!;
let result = find_duplicates;
assert_eq!;
use find_duplicates;
let words = vec!;
let result = find_duplicates;
assert_eq!;
use find_duplicates;
let people = vec!;
let result = find_duplicates;
assert_eq!;
find_index_of
Find the first item in a collection that satisfies a predicate and return its index.
use find_index_of;
let numbers = vec!;
let predicate = ;
let result = find_index_of;
assert_eq!;
use find_index_of;
let numbers = vec!;
let result = find_index_of;
assert_eq!;
use find_index_of;
let people = vec!;
let result = find_index_of;
assert_eq!;
find_key_by
Find the key in a map that satisfies a predicate based on both key and value.
use find_key_by;
let mut map = new;
map.insert;
map.insert;
map.insert;
let result = find_key_by;
assert_eq!;
use find_key_by;
let mut map = new;
map.insert;
map.insert;
map.insert;
let result = find_key_by;
assert_eq!;
find_key
Find the key in a map that corresponds to a given value.
use find_key;
let mut map = new;
map.insert;
map.insert;
map.insert;
let result = find_key;
assert_eq!;
use find_key;
let mut map = new;
map.insert;
map.insert;
map.insert;
let result = find_key;
assert_eq!;
use find_key;
let mut map = new;
map.insert;
map.insert;
map.insert;
let result = find_key;
assert_eq!;
find_last_index_of
Find the last item in a collection that satisfies a predicate and return its index.
use find_last_index_of;
let numbers = vec!;
let predicate = ;
let result = find_last_index_of;
assert_eq!;
use find_last_index_of;
let numbers = vec!;
let result = find_last_index_of;
assert_eq!;
use find_last_index_of;
let people = vec!;
let result = find_last_index_of;
assert_eq!;
find_or_else
Find the first item in a collection that satisfies a predicate.
use find_or_else;
let numbers = vec!;
let predicate = ;
let result = find_or_else;
assert_eq!;
use find_or_else;
let numbers = vec!;
let result = find_or_else;
assert_eq!;
use find_or_else;
let people = vec!;
let fallback = Person ;
let result = find_or_else;
assert_eq!;
find_uniques
Find all unique elements in a collection (elements that appear exactly once).
use find_uniques;
let numbers = vec!;
let result = find_uniques;
assert_eq!;
use find_uniques;
let words = vec!;
let result = find_uniques;
assert_eq!;
use find_uniques;
let people = vec!;
let result = find_uniques;
assert_eq!;
find_uniques_by
Find all unique elements in a collection based on a key generated by the iteratee function.
use find_uniques_by;
let numbers = vec!;
let result = find_uniques_by; // Group by even/odd
assert_eq!; // No unique remainders
use find_uniques_by;
let people = vec!;
let result = find_uniques_by;
assert_eq!;
find
Find the first item in a collection that satisfies a predicate.
use find;
let numbers = vec!;
let predicate = ;
let result = find;
assert_eq!;
use find;
let numbers = vec!;
let result = find;
assert_eq!;
use find;
let people = vec!;
let result = find;
assert_eq!;
first_or_empty
Returns the first item from the collection.
use first_or_empty;
let numbers = vec!;
let first_num = first_or_empty;
assert_eq!;
let empty: = vec!;
let first_num = first_or_empty;
assert_eq!; // i32::default() is 0
use first_or_empty;
let people = vec!;
let first_person = first_or_empty;
assert_eq!;
let empty_people: = vec!;
let first_person = first_or_empty;
assert_eq!;
first_or
Returns the first item from the collection.
use first_or;
let numbers = vec!;
let first_num = first_or;
assert_eq!;
let empty: = vec!;
let first_num = first_or;
assert_eq!;
use first_or;
let people = vec!;
let first_person = first_or;
assert_eq!;
let empty_people: = vec!;
let first_person = first_or;
assert_eq!;
first
Returns the first item from the collection.
use first;
let numbers = vec!;
let = first;
assert_eq!;
assert!;
let empty: = vec!;
let = first;
assert_eq!; // i32::default() is 0
assert!;
index_of
Finds the position of the first occurrence of an element in a collection.
use index_of;
let collection = vec!;
let index = index_of;
assert_eq!;
use index_of;
let collection = vec!;
let index = index_of;
assert_eq!;
use index_of;
let collection = vec!;
let index = index_of;
assert_eq!;
kebab_case
Converts a string to kebab-case.
use kebab_case;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
last_index_of
Finds the position of the last occurrence of an element in a collection.
use last_index_of;
let collection = vec!;
let index = last_index_of;
assert_eq!;
use last_index_of;
let collection = vec!;
let index = last_index_of;
assert_eq!;
use last_index_of;
let collection = vec!;
let index = last_index_of;
assert_eq!;
last_or_empty
Returns the last item from the collection.
use last_or_empty;
let numbers = vec!;
let last_num = last_or_empty;
assert_eq!;
let empty: = vec!;
let last_num = last_or_empty;
assert_eq!; // i32::default() is 0
use last_or_empty;
let people = vec!;
let last_person = last_or_empty;
assert_eq!;
let empty_people: = vec!;
let last_person = last_or_empty;
assert_eq!;
last_or
Returns the last item from the collection.
use last_or;
let numbers = vec!;
let last_num = last_or;
assert_eq!;
let empty: = vec!;
let last_num = last_or;
assert_eq!;
last
Returns the last item from the collection.
use last;
let numbers = vec!;
let = last;
assert_eq!;
assert!;
let empty: = vec!;
let = last;
assert_eq!; // i32::default() is 0
assert!;
use last;
let people = vec!;
let = last;
assert_eq!;
assert!;
let empty_people: = vec!;
let = last;
assert_eq!;
assert!;
latest_by
Returns the item from the collection for which the iteratee returns the latest SystemTime.
use ;
use latest_by;
let records = vec!;
let latest_record = latest_by;
assert_eq!;
latest
Returns the latest SystemTime from the provided arguments.
use ;
use latest;
let now = now;
let later = now + new;
let latest_time = latest;
assert_eq!;
max_by
Find the maximum element in a collection based on a custom comparison function.
use max_by;
let people = vec!;
let result = max_by;
assert_eq!;
max
Find the maximum element in a collection.
use max;
let numbers = vec!;
let result = max;
assert_eq!;
use max;
let strings = vec!;
let result = max;
assert_eq!;
use max;
let people = vec!;
let result = max;
assert_eq!;
use max;
let collection = vec!;
let result = max;
assert_eq!;
min_by
Find the minimum element in a collection based on a custom comparison function.
use min_by;
let numbers = vec!;
let min = min_by;
assert_eq!;
let strings = vec!;
let min = min_by;
assert_eq!;
let empty: = vec!;
let min = min_by;
assert_eq!;
min
Find the minimum element in a collection.
use min;
let numbers = vec!;
let result = min;
assert_eq!;
use min;
let strings = vec!;
let result = min;
assert_eq!;
use min;
let people = vec!;
let result = min;
assert_eq!;
use min;
let collection = vec!;
let result = min;
assert_eq!;
nearest_power_of_two
Calculates the smallest power of two greater than or equal to the given capacity.
use nearest_power_of_two;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
nth
Returns the nth element from the collection.
use nth;
let numbers = vec!;
let result = nth;
assert_eq!;
let result = nth;
assert_eq!;
let result = nth;
assert!;
pascal_case
Converts a string to PascalCase.
use pascal_case;
assert_eq!;
assert_eq!;
assert_eq!;
random_string
Generates a random string of a specified size using the provided charset.
use ALPHANUMERIC_CHARSET;
use random_string;
let charset = ALPHANUMERIC_CHARSET;
let random_str = random_string;
assert_eq!;
for c in random_str.chars
sample
Returns a pseudo-random element from the collection.
use sample;
let numbers = vec!;
let result = sample;
assert!;
let empty: = vec!;
let result = sample;
assert_eq!; // i32::default()
samples
Returns a slice of pseudo-randomly selected elements from the collection.
use samples;
let numbers = vec!;
let result = samples;
assert_eq!;
assert!;
snake_case
Converts a string to snake_case.
use snake_case;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
substring
Extracts a substring from the given string based on the specified offset and length.
use substring;
let s = Stringfrom;
assert_eq!;
let s = Stringfrom;
assert_eq!;
let s = Stringfrom;
assert_eq!;
let s = Stringfrom;
assert_eq!;
words
Splits a string into words based on casing, digits, and separators.
use words;
let result = words;
assert_eq!;
let result = words;
assert_eq!;
let result = words;
assert_eq!;