1.1.0 • Published 2 years ago
collects v1.1.0
Collects
Laravel-like Javascript collection Library written in Typescript.
This is a tiny implementation of the Laravel collection. If you looking for more, you should use Lodash or similar libraries.
Installation
npm install collects --save-dev
yarn install collects
pnpm i collects -D
Usage
You can use the functions with fluently or standalone.
Fluent Usage
There are 2 different ways to use it fluently. You can create an instance of the Collection
class or use the built-in function called collects
. Actually there is no big difference in these 2 ways, only the collects
method creates an instance of the Collection
behind the scene.
Example with collects methods
import collects from 'collects';
const sumOfFirstChunk collects([1, 2, 3]).chunk(2).first()?.sum();
// It return 3 which is sum of the first chunk, which is 1,2
Example with Collection class
import { Collection } from 'collects';
const collection = new Collection([1, 2, 3]);
const sumOfFirstChunk = collection.chunk(2).first()?.sum();
// It return 3 which is sum of the first chunk, which is 1,2
Standalone Usage
You can use any of available methods importing standalone.
Example with standalone
import { chunk, first, sum } from 'collects';
const arr = [1, 2, 3];
const sumOfFirstChunk = sum(first(chunk(arr, 2)));
// It return 3 which is sum of the first chunk, which is 1,2
Available Methods
- ✅ all
- ✅ average
- ✅ avg
- ✅ chunk
- ✅ chunkWhile
- ✅ first
- ✅ sum
- ✅ collapse
- ✅ count
- ✅ firstOrFail
- ✅ at // This is not Laravel thing!
- ✅ get
- 🧑💻 isEmpty
- 🧑💻 isNotEmpty
- 🧑💻 max
- 🧑💻 min
- 🧑💻 push
- 🧑💻 put
- 🧑💻 reverse
- 🧑💻 toArray
- 🧑💻 toJson
- 🧑💻 collect
- ⌛ combine
- ⌛ concat
- ⌛ contains
- ⌛ containsStrict
- ⌛ countBy
- ⌛ crossJoin
- ⌛ dd
- ⌛ diff
- ⌛ diffAssoc
- ⌛ diffKeys
- ⌛ doesntContain
- ⌛ dump
- ⌛ duplicates
- ⌛ duplicatesStrict
- ⌛ each
- ⌛ eachSpread
- ⌛ every
- ⌛ except
- ⌛ filter
- ⌛ firstWhere
- ⌛ flatMap
- ⌛ flatten
- ⌛ flip
- ⌛ forget
- ⌛ forPage
- ⌛ groupBy
- ⌛ has
- ⌛ implode
- ⌛ intersect
- ⌛ intersectByKeys
- ⌛ join
- ⌛ keyBy
- ⌛ keys
- ⌛ last
- ⌛ lazy
- ⌛ macro
- ⌛ make
- ⌛ map
- ⌛ mapInto
- ⌛ mapSpread
- ⌛ mapToGroups
- ⌛ mapWithKeys
- ⌛ median
- ⌛ merge
- ⌛ mergeRecursive
- ⌛ mode
- ⌛ nth
- ⌛ only
- ⌛ pad
- ⌛ partition
- ⌛ pipe
- ⌛ pipeInto
- ⌛ pipeThrough
- ⌛ pluck
- ⌛ pop
- ⌛ prepend
- ⌛ pull
- ⌛ random
- ⌛ range
- ⌛ reduce
- ⌛ reduceSpread
- ⌛ reject
- ⌛ replace
- ⌛ replaceRecursive
- ⌛ search
- ⌛ shift
- ⌛ shuffle
- ⌛ sliding
- ⌛ skip
- ⌛ skipUntil
- ⌛ skipWhile
- ⌛ slice
- ⌛ sole
- ⌛ some
- ⌛ sort
- ⌛ sortBy
- ⌛ sortByDesc
- ⌛ sortDesc
- ⌛ sortKeys
- ⌛ sortKeysDesc
- ⌛ sortKeysUsing
- ⌛ splice
- ⌛ split
- ⌛ splitIn
- ⌛ take
- ⌛ takeUntil
- ⌛ takeWhile
- ⌛ tap
- ⌛ times
- ⌛ transform
- ⌛ undot
- ⌛ union
- ⌛ unique
- ⌛ uniqueStrict
- ⌛ unless
- ⌛ unlessEmpty
- ⌛ unlessNotEmpty
- ⌛ unwrap
- ⌛ values
- ⌛ when
- ⌛ whenEmpty
- ⌛ whenNotEmpty
- ⌛ where
- ⌛ whereStrict
- ⌛ whereBetween
- ⌛ whereIn
- ⌛ whereInStrict
- ⌛ whereInstanceOf
- ⌛ whereNotBetween
- ⌛ whereNotIn
- ⌛ whereNotInStrict
- ⌛ whereNotNull
- ⌛ whereNull
- ⌛ wrap
- ⌛ zip