mirror of
https://github.com/arthur-pbty/portfolio2023.git
synced 2026-06-17 16:09:32 +02:00
modified
This commit is contained in:
-35
@@ -1,35 +0,0 @@
|
||||
<a name="2.0.2"></a>
|
||||
## [2.0.2](https://github.com/poppinss/haye/compare/v2.0.1...v2.0.2) (2018-06-18)
|
||||
|
||||
|
||||
|
||||
<a name="2.0.1"></a>
|
||||
## [2.0.1](https://github.com/poppinss/haye/compare/v2.0.0...v2.0.1) (2017-12-08)
|
||||
|
||||
|
||||
|
||||
<a name="2.0.0"></a>
|
||||
# [2.0.0](https://github.com/poppinss/haye/compare/v1.0.1...v2.0.0) (2017-12-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* rewrite ([d825339](https://github.com/poppinss/haye/commit/d825339))
|
||||
|
||||
|
||||
|
||||
<a name="1.0.1"></a>
|
||||
## [1.0.1](https://github.com/poppinss/haye/compare/v1.0.0...v1.0.1) (2016-09-30)
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0"></a>
|
||||
# 1.0.0 (2016-09-30)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* initial commit ([8568757](https://github.com/poppinss/haye/commit/8568757))
|
||||
|
||||
|
||||
|
||||
-174
@@ -1,174 +0,0 @@
|
||||
# Haye
|
||||
|
||||
Haye is a simple super fast string expression parser. In support `pipe` and `qs` string expressions ( explained below ).
|
||||
|
||||
> **Limitations**
|
||||
The keys/values inside the expression cannot have any of the reserved keywords, otherwise parser will mis-behave.
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary> Benchmarks </summary>
|
||||
<pre>
|
||||
<code>
|
||||
haye #pipeToArray x 741,030 ops/sec ±0.97% (90 runs sampled)
|
||||
haye #pipeToJson x 313,101 ops/sec ±0.95% (87 runs sampled)
|
||||
haye #qsToArray x 698,688 ops/sec ±0.74% (91 runs sampled)
|
||||
haye #qsToJson x 303,482 ops/sec ±1.10% (89 runs sampled)
|
||||
</code>
|
||||
</pre>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary> Comparison with 1.0.1 </summary>
|
||||
<h4> Legacy </h4>
|
||||
<pre>
|
||||
<code>
|
||||
219,138 op/s » haye #pipeToArray #legacy
|
||||
170,068 op/s » haye #pipeToJson #legacy
|
||||
147,594 op/s » haye #qsToArray #legacy
|
||||
121,094 op/s » haye #qsToJson #legacy
|
||||
</code>
|
||||
</pre>
|
||||
|
||||
<h4> Latest </h4>
|
||||
<pre>
|
||||
<code>
|
||||
747,298 op/s » haye #pipeToArray
|
||||
363,152 op/s » haye #pipeToJson
|
||||
742,310 op/s » haye #qsToArray
|
||||
349,075 op/s » haye #qsToJson
|
||||
</code>
|
||||
</pre>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary> Upgrading from 1.0.1 </summary>
|
||||
<p> There are couple of breaking changes from 1.0.1 to 2.x.x </p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
All methods to convert <code>Arrays</code> and <code>Objects</code> have been removed.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
The `args` property in `toArray` methods is always an array. Earlier it used to be string for single values and array for multiple.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
The value in `key/value` pair is always an array. Earlier it used to be string for single values and array for multiple.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
</details>
|
||||
|
||||
### Pipe expression
|
||||
The pipe based expression is very popular in Laravel community, due to their [Validation engine](https://laravel.com/docs/validation), and same is adopted by [Indicative](http://indicative.adonisjs.com).
|
||||
|
||||
#### Syntax example:
|
||||
|
||||
```js
|
||||
required|email|max:4|range:10,30
|
||||
```
|
||||
|
||||
1. Each item is separated by `|`
|
||||
2. The values are defined after `:`
|
||||
3. Multiple values are separated by `,`.
|
||||
4. White spaces in keys are trimmed.
|
||||
|
||||
---
|
||||
|
||||
### Qs expression
|
||||
The query string expression is almost similar to the URL query string, with couple of small modifications to make the expression readable.
|
||||
|
||||
#### Syntax example:
|
||||
```
|
||||
required,email,max=4,range=[1, 10]
|
||||
```
|
||||
|
||||
1. Each item is separated by `,`
|
||||
2. The values are defined after `=`
|
||||
3. Multiple values are separated by `,` inside `[]`.
|
||||
4. White spaces in keys are trimmed.
|
||||
|
||||
## Installation
|
||||
|
||||
The module is available on npm
|
||||
|
||||
```bash
|
||||
npm i haye
|
||||
|
||||
# yarn
|
||||
yarn add haye
|
||||
```
|
||||
|
||||
## Usage
|
||||
Below is the bunch of usage examples
|
||||
|
||||
#### Pipe -> Array
|
||||
|
||||
```js
|
||||
const haye = require('haye')
|
||||
const expression = 'required|email:unique,users'
|
||||
|
||||
const parsed = haye.fromPipe(expression).toArray()
|
||||
```
|
||||
|
||||
Output
|
||||
```js
|
||||
[
|
||||
{ name: 'required', args: [] },
|
||||
{ name: 'email', args: ['unique', 'users'] }
|
||||
]
|
||||
```
|
||||
|
||||
#### Pipe -> JSON
|
||||
|
||||
```js
|
||||
const haye = require('haye')
|
||||
const expression = 'required|email:unique,users'
|
||||
|
||||
const parsed = haye.fromPipe(expression).toJSON()
|
||||
```
|
||||
|
||||
Output
|
||||
```js
|
||||
{
|
||||
required: [],
|
||||
email: [ 'unique', 'users' ]
|
||||
}
|
||||
```
|
||||
|
||||
#### Qs -> Array
|
||||
|
||||
```js
|
||||
const haye = require('haye')
|
||||
const expression = 'required,email=[unique,users]'
|
||||
|
||||
const parsed = haye.fromQS(expression).toArray()
|
||||
```
|
||||
|
||||
Output
|
||||
```js
|
||||
[
|
||||
{ name: 'required', args: [] },
|
||||
{ name: 'email', args: ['unique', 'users'] }
|
||||
]
|
||||
```
|
||||
|
||||
#### Qs -> JSON
|
||||
|
||||
```js
|
||||
const haye = require('haye')
|
||||
const expression = 'required,email=[unique,users]'
|
||||
|
||||
const parsed = haye.fromQS(expression).toJSON()
|
||||
```
|
||||
|
||||
Output
|
||||
```js
|
||||
{
|
||||
required: [],
|
||||
email: [ 'unique', 'users' ]
|
||||
}
|
||||
```
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
{
|
||||
"name": "haye",
|
||||
"version": "3.0.0",
|
||||
"description": "Haye is a super fast string based expression parser for Node.js",
|
||||
"main": "dist/haye.js",
|
||||
"module": "dist/haye.es.js",
|
||||
"browser": "dist/haye.browser.js",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm run build",
|
||||
"pretest": "npm run lint && npm run build",
|
||||
"test": "node japaFile.js",
|
||||
"build": "rollup -c rollup.config.js",
|
||||
"lint": "standard src/**/*.js index.js test/**/*.js",
|
||||
"coverage": "nyc report --reporter=text-lcov | coveralls",
|
||||
"benchmark": "matcha benchmarks/index.js"
|
||||
},
|
||||
"keywords": [
|
||||
"string-parser",
|
||||
"indicative",
|
||||
"expression"
|
||||
],
|
||||
"author": "virk",
|
||||
"license": "MIT",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.13.10",
|
||||
"@rollup/plugin-babel": "^5.3.0",
|
||||
"babel-preset-env": "^1.7.0",
|
||||
"benchmark": "^2.1.4",
|
||||
"coveralls": "^3.1.0",
|
||||
"cz-conventional-changelog": "^3.3.0",
|
||||
"japa": "^3.1.1",
|
||||
"rollup": "^2.42.2",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"standard": "^16.0.3"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-conventional-changelog"
|
||||
}
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/poppinss/haye.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/poppinss/haye/issues"
|
||||
},
|
||||
"homepage": "https://github.com/poppinss/haye#readme"
|
||||
}
|
||||
Reference in New Issue
Block a user