Skip to content

Commit

Permalink
improve readme
Browse files Browse the repository at this point in the history
  • Loading branch information
mahendraHegde committed Apr 2, 2024
1 parent bf04255 commit 0d69ba9
Show file tree
Hide file tree
Showing 16 changed files with 134 additions and 30 deletions.
20 changes: 15 additions & 5 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
<h3> Node-Idempotency </h3>
<i>makes any request idepotent.</i>
<i>makes any request idempotent.</i>

<br/>
<br/>
package that is

- <i>Race Condition free.</i>
- <i>Modular, you can attach your storage or plug in core implementation into your implemtation.</i>
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant. </i>
#### Why?

---

Internet requests are unpredictable; clients/proxies may send duplicate or concurrent requests due to retries or network issues. To ensure smooth operation, servers must process each request only once. <i>**This package detects and handles duplicates, preventing issues like double charging the customer**</i>. It's:

- <i>Race Condition free: </i> Ensures consistent behavior even during concurrent requests.
- <i>Modular:</i> Easily integrates with your storage or existing implementation.
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

and powers,

Expand All @@ -17,8 +23,12 @@ and powers,

- [`@node-idempotency/fastify`](https://www.npmjs.com/package/@node-idempotency/fastify) - Plug and Play `fastify` plugin for `@node-idempotency/core`

---

#### @node-idempotency/core

---

if above packages dont meet your needs, you can utilise the core package directly to tweek it as per your needs.

##### install
Expand Down
6 changes: 6 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @node-idempotency/core

## 1.0.6

### Patch Changes

- improve readme

## 1.0.5

### Patch Changes
Expand Down
16 changes: 12 additions & 4 deletions packages/core/Readme.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
#### @node-idempotency/core
<i>makes any request idempotent.</i>

Core package that is
#### Why?

- <i>Race Condition free.</i>
- <i>Modular, you can attach your storage or plug in core implementation into your implemtation.</i>
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant. </i>
---

Internet requests are unpredictable; clients/proxies may send duplicate or concurrent requests due to retries or network issues. To ensure smooth operation, servers must process each request only once. <i>**This package detects and handles duplicates, preventing issues like double charging the customer**</i>. It's:

- <i>Race Condition free: </i> Ensures consistent behavior even during concurrent requests.
- <i>Modular:</i> Easily integrates with your storage or existing implementation.
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

and powers

Expand All @@ -16,6 +22,8 @@ and powers

if above packages dont meet your needs, you can utilise the core package directly to tweek it as per your needs.

---

##### install

```bash
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-idempotency/core",
"version": "1.0.5",
"version": "1.0.6",
"description": "A Race-Condition free Node.js library that ensures idempotency for requests, preventing unintended duplicate operations.",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand Down
9 changes: 9 additions & 0 deletions packages/plugin-express/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @node-idempotency/express

## 1.0.2

### Patch Changes

- improve readme
- Updated dependencies
- @node-idempotency/core@1.0.6
- @node-idempotency/shared@1.0.2

## 1.0.1

### Patch Changes
Expand Down
19 changes: 17 additions & 2 deletions packages/plugin-express/Readme.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,22 @@
#### @node-idempotency/express

A Fastify plugin that makes requests idempotent
Implements `@node-idempotency/core` as fastify plugin.
An Express middleware that makes requests idempotent
Implements `@node-idempotency/core` as express middleware.

---

#### Why?

---

Internet requests are unpredictable; clients/proxies may send duplicate or concurrent requests due to retries or network issues. To ensure smooth operation, servers must process each request only once. <i>**This package detects and handles duplicates, preventing issues like double charging the customer**</i>. It's:

- <i>Race Condition free: </i> Ensures consistent behavior even during concurrent requests.
- <i>Modular:</i> Easily integrates with your storage or existing implementation.(as simple as registering a middleware)
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

---

##### instal

Expand Down
6 changes: 3 additions & 3 deletions packages/plugin-express/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-idempotency/express",
"version": "1.0.1",
"version": "1.0.2",
"description": "Express middleware to provide Race-Condition free idempotency for HTTP requests, preventing unintended duplicate operations.",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand Down Expand Up @@ -46,8 +46,8 @@
},
"license": "MIT",
"dependencies": {
"@node-idempotency/core": "1.0.5",
"@node-idempotency/shared": "1.0.1",
"@node-idempotency/core": "1.0.6",
"@node-idempotency/shared": "1.0.2",
"@node-idempotency/storage": "1.0.2",
"@node-idempotency/storage-adapter-memory": "1.0.1",
"express": "^4.19.2"
Expand Down
9 changes: 9 additions & 0 deletions packages/plugin-fastify/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @node-idempotency/fastify

## 1.0.2

### Patch Changes

- improve readme
- Updated dependencies
- @node-idempotency/core@1.0.6
- @node-idempotency/shared@1.0.2

## 1.0.1

### Patch Changes
Expand Down
15 changes: 15 additions & 0 deletions packages/plugin-fastify/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,21 @@
A Fastify plugin that makes requests idempotent
Implements `@node-idempotency/core` as fastify plugin.

---

#### Why?

---

Internet requests are unpredictable; clients/proxies may send duplicate or concurrent requests due to retries or network issues. To ensure smooth operation, servers must process each request only once. <i>**This package detects and handles duplicates, preventing issues like double charging the customer**</i>. It's:

- <i>Race Condition free: </i> Ensures consistent behavior even during concurrent requests.
- <i>Modular:</i> Easily integrates with your storage or existing implementation.(as simple as registering a plugin to fastify)
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

---

##### instal

```bash
Expand Down
6 changes: 3 additions & 3 deletions packages/plugin-fastify/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-idempotency/fastify",
"version": "1.0.1",
"version": "1.0.2",
"description": "fastify plugin that provides Race-Condition free idempotency for HTTP requests, preventing unintended duplicate operations.",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand Down Expand Up @@ -44,8 +44,8 @@
},
"license": "MIT",
"dependencies": {
"@node-idempotency/core": "1.0.5",
"@node-idempotency/shared": "1.0.1",
"@node-idempotency/core": "1.0.6",
"@node-idempotency/shared": "1.0.2",
"@node-idempotency/storage": "1.0.2",
"@node-idempotency/storage-adapter-memory": "1.0.1",
"fastify": "^4.26.2",
Expand Down
9 changes: 9 additions & 0 deletions packages/plugin-nestjs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @node-idempotency/nestjs

## 1.0.3

### Patch Changes

- improve readme
- Updated dependencies
- @node-idempotency/core@1.0.6
- @node-idempotency/shared@1.0.2

## 1.0.2

### Patch Changes
Expand Down
15 changes: 15 additions & 0 deletions packages/plugin-nestjs/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,21 @@
Nestjs wrapper for Node-Idempotency.
Implements `@node-idempotency/core` as a nestjs interceptor.

---

#### Why?

---

Internet requests are unpredictable; clients/proxies may send duplicate or concurrent requests due to retries or network issues. To ensure smooth operation, servers must process each request only once. <i>**This package detects and handles duplicates, preventing issues like double charging the customer**</i>. It's:

- <i>Race Condition free: </i> Ensures consistent behavior even during concurrent requests.
- <i>Modular:</i> Easily integrates with your storage or existing implementation, adding a decorator makes the endpoint idempotent.
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

---

##### instal

```bash
Expand Down
6 changes: 3 additions & 3 deletions packages/plugin-nestjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-idempotency/nestjs",
"version": "1.0.2",
"version": "1.0.3",
"description": "Nestjs Plugin that provides Race-Condition free idempotency for HTTP requests, preventing unintended duplicate operations.",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand Down Expand Up @@ -44,8 +44,8 @@
},
"license": "MIT",
"dependencies": {
"@node-idempotency/core": "1.0.5",
"@node-idempotency/shared": "1.0.1",
"@node-idempotency/core": "1.0.6",
"@node-idempotency/shared": "1.0.2",
"@node-idempotency/storage": "1.0.2"
},
"peerDependencies": {
Expand Down
7 changes: 7 additions & 0 deletions packages/shared/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @node-idempotency/shared

## 1.0.2

### Patch Changes

- Updated dependencies
- @node-idempotency/core@1.0.6

## 1.0.1

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-idempotency/shared",
"version": "1.0.1",
"version": "1.0.2",
"description": "",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand All @@ -15,7 +15,7 @@
"keywords": [],
"author": "Mahendra Hegde",
"dependencies": {
"@node-idempotency/core": "1.0.5",
"@node-idempotency/core": "1.0.6",
"@node-idempotency/storage": "1.0.2",
"@node-idempotency/storage-adapter-memory": "1.0.1",
"@node-idempotency/storage-adapter-redis": "1.0.1"
Expand Down
15 changes: 8 additions & 7 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 0d69ba9

Please sign in to comment.