This commit is contained in:
2022-04-07 18:09:31 +05:30
parent 36ea86d8e6
commit 1c779ef816
14095 changed files with 1769361 additions and 47 deletions
+3
View File
@@ -0,0 +1,3 @@
### API
All available methods
+8
View File
@@ -0,0 +1,8 @@
[![Travis](https://img.shields.io/travis/com/ecrmnn/collect.js?style=flat-square)](https://app.travis-ci.com/github/ecrmnn/collect.js/builds)
[![npm version](https://img.shields.io/npm/v/collect.js.svg?style=flat-square)](http://badge.fury.io/js/collect.js)
[![npm downloads](https://img.shields.io/npm/dm/collect.js.svg?style=flat-square)](http://badge.fury.io/js/collect.js)
[![npm license](https://img.shields.io/npm/l/collect.js.svg?style=flat-square)](http://badge.fury.io/js/collect.js)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![dependencies](https://img.shields.io/badge/dependencies-none-brightgreen.svg?style=flat-square)](https://github.com/ecrmnn/collect.js/blob/master/package.json)
[![eslint](https://img.shields.io/badge/code_style-airbnb-blue.svg?style=flat-square)](https://github.com/airbnb/javascript)
[![cdnjs version](https://img.shields.io/cdnjs/v/collect.js.svg?style=flat-square)](https://cdnjs.com/libraries/collect.js)
+55
View File
@@ -0,0 +1,55 @@
'use strict';
const { readFileSync, readdirSync, writeFileSync } = require('fs');
// Get all markdown stubs
const header = readFileSync('bundler/header.md', 'utf-8');
const badges = readFileSync('bundler/badges.md', 'utf-8');
const installation = readFileSync('bundler/installation.md', 'utf-8');
const api = readFileSync('bundler/api.md', 'utf-8');
const strictnessAndComparisons = readFileSync('bundler/strictness_and_comparisons.md', 'utf-8');
const notImplemented = readFileSync('bundler/not_implemented.md', 'utf-8');
const contribute = readFileSync('bundler/contribute.md', 'utf-8');
const license = readFileSync('bundler/license.md', 'utf-8');
// Get all API docs
const methods = readdirSync('docs/api', 'utf-8');
// Build table of contents
const tableOfContents = methods.map((file) => {
const methodName = file.replace('.md', '');
return `- [${methodName}](#${methodName.toLowerCase()})`;
}).join('\n');
// Build methods "readme"
const methodDocumentation = methods.map((file) => {
let content = readFileSync(`docs/api/${file}`, 'utf-8');
const lines = content.split('\n');
lines[0] = `###${lines[0]}`;
lines.pop();
lines.pop();
content = lines.join('\n');
content = content.replace(/(\r\n|\r|\n){2,}/g, '$1\n');
return content;
}).join('\n\n');
writeFileSync(
'README.md',
[
header,
badges,
installation,
api,
tableOfContents,
strictnessAndComparisons,
notImplemented,
methodDocumentation,
contribute,
license,
].join('\n\n'),
);
+3
View File
@@ -0,0 +1,3 @@
### Contribute
PRs are welcomed to this project, and help is needed in order to keep up with the changes of Laravel Collections. If you want to improve the collection library, add functionality or improve the docs please feel free to submit a PR.
+3
View File
@@ -0,0 +1,3 @@
# <img src="https://raw.githubusercontent.com/ecrmnn/collect.js/master/collectjs.jpg" alt="collect.js">
> Convenient and dependency free wrapper for working with arrays and objects
+27
View File
@@ -0,0 +1,27 @@
### Installation
#### NPM
```bash
npm install collect.js --save
```
#### Yarn
```bash
yarn add collect.js
```
#### From CDN
1. Visit https://cdnjs.com/libraries/collect.js
2. Add CDN link to your site with `<script>`
#### Using build / minified version
1. Download [`collect.min.js`](https://github.com/ecrmnn/collect.js/blob/master/build/collect.min.js)
2. Add to your site with `<script>`
### Tip
Using Laravel as your backend? Collect.js offers an (almost) identical api to [Laravel Collections](https://laravel.com/docs/master/collections). [See differences](#strictness-and-comparisons).
+3
View File
@@ -0,0 +1,3 @@
### License
MIT © [Daniel Eckermann](https://danieleckermann.com)
+8
View File
@@ -0,0 +1,8 @@
##### Methods that have not been implemented:
- ~~`containsStrict`~~ use `contains()`
- ~~`duplicatesStrict`~~ use `duplicates()`
- ~~`uniqueStrict`~~ use `unique()`
- ~~`whereStrict`~~ use `where()`
- ~~`whereInStrict`~~ use `whereIn()`
- ~~`whereNotInStrict`~~ use `whereNotIn()`
@@ -0,0 +1,3 @@
### Strictness and comparisons
All comparisons in `collect.js` are done using strict equality. Using loose equality comparisons are generally frowned upon in JavaScript. Laravel only performs "loose" comparisons by default and offer several "strict" comparison methods. These methods have not been implemented in `collect.js` because all methods are strict by default.