{"_id":"@aid-on/nagare","_rev":"9-d9e75d570898cb2005e8c862853b5546","name":"@aid-on/nagare","dist-tags":{"latest":"0.2.5"},"versions":{"0.1.0":{"name":"@aid-on/nagare","version":"0.1.0","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"author":{"name":"Aid-On Platform"},"license":"MIT","_id":"@aid-on/nagare@0.1.0","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"homepage":"https://github.com/Aid-On/aid-on-platform/tree/main/packages/nagare","bugs":{"url":"https://github.com/Aid-On/aid-on-platform/issues"},"dist":{"shasum":"67daf5f9352b6c895f3b87b7c8e8d0084f0b8134","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.1.0.tgz","fileCount":7,"integrity":"sha512-qFSzNA38S3RIqAaiZ+XLSqtLjEwJxQIPoNODLj6S9ZD0Ro0wvUpxq8C+ZFyFUVfwNUjAFm/w25aSHAPGQbnbTQ==","signatures":[{"sig":"MEYCIQCCVGalDEycqDNTByDu8c88Gc0Qkic3DponWhZ8YRe5pAIhALjxYmSur8KYHurAyl0PDqT1EVAp/HimPgGiFQW+QfIE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79558},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5378dc8634755ec70354746bca6ec1d11bb3528e","scripts":{"test":"vitest run","build":"tsc","benchmark":"npx tsx benchmarks/basic.ts","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"repository":{"url":"git+https://github.com/Aid-On/aid-on-platform.git","type":"git","directory":"packages/nagare"},"_npmVersion":"10.8.2","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","directories":{},"_nodeVersion":"20.19.6","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@cloudflare/workers-types":"^4.20241230.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nagare_0.1.0_1766672724294_0.025697198470184368","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aid-on/nagare","version":"0.2.0","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"author":{"name":"Aid-On"},"license":"MIT","_id":"@aid-on/nagare@0.2.0","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"homepage":"https://github.com/Aid-On/nagare#readme","bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"dist":{"shasum":"918e5c670a2d0848033877118410c66b5e752c33","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.2.0.tgz","fileCount":10,"integrity":"sha512-6+/AKZWnOisi42cWdTiCEMydpQHB6yXSrPJS4hgNhmck7M70y9j3t63ZcwbYuAaVjmN0o6XfDoK2fDWhxPDkKA==","signatures":[{"sig":"MEUCIQCAt9NNAwy1ilxE8rQ0KLfjEN0oif5XW2K76Qkn4Kf2oQIgPVcxCPw36p1VBmd1lGuwJ7yPWfA37q3gmYSrcQotKqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","build:tsc":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"repository":{"url":"git+https://github.com/Aid-On/nagare.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.5.1","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@cloudflare/workers-types":"^4.20241230.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nagare_0.2.0_1767189116095_0.1431387472348249","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aid-on/nagare","version":"0.2.1","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"author":{"name":"Aid-On"},"license":"MIT","_id":"@aid-on/nagare@0.2.1","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"homepage":"https://github.com/Aid-On/nagare#readme","bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"dist":{"shasum":"314a66efdbd93bd49af9744d93e89d31a972a187","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.2.1.tgz","fileCount":10,"integrity":"sha512-QHmZWCW14LoPbTISECghWkAt1vlFkj4FyX6wu/kiqLcmHbQzYs822KSVqfOjk/J4XZMNtQX5euErgFPuZ3XrrA==","signatures":[{"sig":"MEQCIFmC2UPT5MK+YPiHFuiHKOXVShc5X21dJ2e265v7NKlkAiBlLc9pM5o5JcU26vCK8DOBCKrlS3oNu6M7UdtQzd5oPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157000},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","build:tsc":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"repository":{"url":"git+https://github.com/Aid-On/nagare.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.5.1","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@cloudflare/workers-types":"^4.20241230.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nagare_0.2.1_1767189677858_0.601739980047298","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aid-on/nagare","version":"0.2.2","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"author":{"name":"Aid-On"},"license":"MIT","_id":"@aid-on/nagare@0.2.2","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"homepage":"https://github.com/Aid-On/nagare#readme","bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"dist":{"shasum":"5e7ef862f7bd11bd0611a32e9ab9895551a20bc5","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.2.2.tgz","fileCount":10,"integrity":"sha512-AMZFPMrKZ6BxJZ5XTfvEf7P1ZF16aJHhui5Twhdurz89s2ees3hlKFlZCtrqV3f+0c7MkD+tqxsNcK7xnEc+xg==","signatures":[{"sig":"MEYCIQDs9DepsIYowRfViZLdpWpzbxFiY+xsQhzQ/8mlVSK58wIhAKpaie6FMy1evMC+e3xJnoeKae9e/fvi8GbYpT04nZ46","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147362},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","build:tsc":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"repository":{"url":"git+https://github.com/Aid-On/nagare.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.5.1","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@cloudflare/workers-types":"^4.20241230.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nagare_0.2.2_1771341149633_0.11928914798053802","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@aid-on/nagare","version":"0.2.3","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"author":{"name":"Aid-On"},"license":"MIT","_id":"@aid-on/nagare@0.2.3","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"homepage":"https://github.com/Aid-On/nagare#readme","bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"dist":{"shasum":"a84954802842b6039b29cc4578529c120ef39b64","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.2.3.tgz","fileCount":10,"integrity":"sha512-YiXB3+yJSIABap6UnTy56Gd9koXn5le8gXV206q3ZtopCyL8aIbQO6QvxAElvVzd4tG++jbJLBRE0k9XaZCTKg==","signatures":[{"sig":"MEUCIQDCHip4NpSBj8p11KLj+RPsfAi65EnKdhu5KvImAbV4WQIgIbKTJ8yR2VerwXa47VoHMwm5G/ThkeupnwQEvp4Fon8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147362},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"vitest run","build":"tsup","build:tsc":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"repository":{"url":"git+https://github.com/Aid-On/nagare.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.5.1","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.2","@cloudflare/workers-types":"^4.20241230.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nagare_0.2.3_1771343124019_0.7298316422924154","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@aid-on/nagare","version":"0.2.5","description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"sideEffects":false,"keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"scripts":{"build":"tsup","build:tsc":"tsc","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","prepublishOnly":"npm run build && npm run test"},"devDependencies":{"@cloudflare/workers-types":"^4.20241230.0","@types/node":"^22.10.2","tsup":"^8.5.1","tsx":"^4.19.2","typescript":"^5.7.2","vitest":"^2.1.8"},"repository":{"type":"git","url":"git+https://github.com/Aid-On/nagare.git"},"homepage":"https://github.com/Aid-On/nagare#readme","bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"author":{"name":"Aid-On"},"license":"MIT","engines":{"node":">=18.0.0"},"peerDependencies":{"@cloudflare/workers-types":"^4.0.0"},"peerDependenciesMeta":{"@cloudflare/workers-types":{"optional":true}},"_id":"@aid-on/nagare@0.2.5","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-9KP0uVyVsqwy05uFL9ohLoP7XM6FajO5VegX+ukqMpV5eKH+jk+Zyfm4ne9AoSqWDfFU8lEOMhUXb2dY7fq1Ow==","shasum":"60de68c8aaacae8034d63a3a1e0fab2e98ea8b47","tarball":"https://registry.npmjs.org/@aid-on/nagare/-/nagare-0.2.5.tgz","fileCount":10,"unpackedSize":166170,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHl5wi0h6MlxXuB7mAdQEFAk9zSwCPHBZa3b3bLnHMraAiAWTwGOtJ3H8Ik9jaPEJcCVcgxVw6uN61sQzJCxIBencg=="}]},"_npmUser":{"name":"aid-on","email":"hiromi.motodera@aid-on.org"},"directories":{},"maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nagare_0.2.5_1771435060139_0.15238372334880346"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-25T14:25:24.212Z","modified":"2026-02-18T17:17:40.677Z","0.0.1":"2025-12-02T17:06:21.343Z","0.0.2":"2025-12-02T17:06:43.768Z","0.1.0":"2025-12-25T14:25:24.433Z","0.2.0":"2025-12-31T13:51:56.231Z","0.2.1":"2025-12-31T14:01:18.017Z","0.2.2":"2026-02-17T15:12:29.782Z","0.2.3":"2026-02-17T15:45:24.163Z","0.2.5":"2026-02-18T17:17:40.278Z"},"bugs":{"url":"https://github.com/Aid-On/nagare/issues"},"author":{"name":"Aid-On"},"license":"MIT","homepage":"https://github.com/Aid-On/nagare#readme","keywords":["streaming","webstreams","web-streams","rxjs-like","reactive","edge-computing","cloudflare-workers","deno","vercel-edge","backpressure","async","operators","typescript","serverless","sse","server-sent-events","real-time","observable"],"repository":{"type":"git","url":"git+https://github.com/Aid-On/nagare.git"},"description":"Universal streaming interface built on Web Streams API for edge computing environments with reactive extensions","maintainers":[{"name":"aid-on","email":"hiromi.motodera@aid-on.org"}],"readme":"# @aid-on/nagare\n\n<div align=\"center\">\n\n[![npm version](https://img.shields.io/npm/v/@aid-on/nagare.svg?style=flat-square&color=00DC82)](https://www.npmjs.com/package/@aid-on/nagare)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@aid-on/nagare?style=flat-square&color=FF6B6B)](https://bundlephobia.com/package/@aid-on/nagare)\n\n<br />\n\n<h3>\n<b>nagare</b> (流れ) - The Missing Stream Primitive for Edge Computing\n</h3>\n\n<p align=\"center\">\n<b>Not just another streaming library.</b><br/>\nA library that makes ReadableStream a first-class citizen with reactive extensions.\n</p>\n\n<br/>\n\n[**日本語**](./README.ja.md) | **English**\n\n<br/>\n\n</div>\n\n## Why nagare is Different\n\n### **nagare Features**\n\n#### **1. Makes ReadableStream<T> the Primary Interface**\n```typescript\n// nagare: Stream<T> IS ReadableStream<T> + methods\nconst nagareStream = stream.from(readableStream); // Zero overhead\nnagareStream instanceof ReadableStream; // true! \n```\n\n#### **2. Zero-Cost Reactive Programming**\n```typescript\n// nagare: Minimal footprint, tree-shakeable\nimport { stream } from '@aid-on/nagare';\n// Native performance, no wrapper objects\n```\n\n#### **3. Built for Edge, Not Retrofitted**\n```typescript\n// nagare: Native edge runtime support\nexport default {\n  async fetch(request) {\n    return stream\n      .fromSSE('/api/chat')\n      .mapAsync(processWithAI)\n      .toResponse(); // Direct to Response object!\n  }\n}\n```\n\n## Unique Features You Won't Find Elsewhere\n\n### **Order-Preserving Concurrent Processing**\n```typescript\n// Process 10 items concurrently but maintain order!\nconst results = await stream\n  .array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n  .mapAsync(async (n) => {\n    await delay(Math.random() * 1000); // Random delays\n    return n * 2;\n  }, 10) // Concurrency: 10\n  .collect();\n\nconsole.log(results); // ALWAYS [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n// Order preserved despite concurrent execution!\n```\n\n### **Automatic Backpressure Handling**\n```typescript\n// Stream automatically pauses when consumer is slow\nstream.subscribe({\n  next: async (value) => {\n    await heavyProcessing(value); // Stream waits!\n    // No memory overflow, no lost data\n  }\n});\n```\n\n### **Native SSE with Cross-Platform Line Endings**\n```typescript\n// Works with ANY server (Windows, Unix, Mac)\nconst events = await stream.fromSSE('/api/events');\n// Automatically handles \\r\\n, \\n, and \\r line endings\n```\n\n### **Dual Interface: Reactive + Imperative**\n```typescript\n// Choose your style!\n\n// Reactive (pull-based)\nconst s1 = stream.from(source)\n  .map(x => x * 2)\n  .filter(x => x > 10);\n\n// Imperative (push-based)\nconst s2 = stream.create((controller) => {\n  controller.next(1);\n  controller.next(2);\n  controller.complete();\n});\n```\n\n## Real-World Edge Examples\n\n### AI Streaming Response (Cloudflare Workers)\n```typescript\nexport default {\n  async fetch(request: Request) {\n    const aiStream = stream.create<string>((controller) => {\n      // Stream AI responses as they generate\n      const response = await ai.complete(prompt, {\n        stream: true,\n        onToken: (token) => controller.next(token)\n      });\n    });\n\n    return aiStream\n      .tap(token => metrics.record(token))\n      .throttle(50) // Prevent client overflow\n      .toSSE()\n      .toResponse({\n        headers: { \n          'Content-Type': 'text/event-stream',\n          'X-Powered-By': 'nagare'\n        }\n      });\n  }\n};\n```\n\n### Real-time Data Pipeline\n```typescript\nconst pipeline = stream\n  .fromSSE('/api/market-data')\n  .mapAsync(async data => {\n    // Parallel enrichment with order preservation\n    const [analysis, prediction] = await Promise.all([\n      analyzeMarket(data),\n      predictTrend(data)\n    ]);\n    return { ...data, analysis, prediction };\n  }, 5) // Process 5 concurrently\n  .buffer(10) // Batch for efficiency\n  .tap(batch => database.insert(batch))\n  .debounce(100); // Prevent UI thrashing\n```\n\n## Installation\n\n```bash\nnpm install @aid-on/nagare\n```\n\n## Quick Start\n\n```typescript\nimport { stream } from '@aid-on/nagare';\n\n// Your first nagare stream\nconst result = await stream\n  .array([1, 2, 3, 4, 5])\n  .map(x => x * 2)\n  .filter(x => x > 5)\n  .collect();\n\nconsole.log(result); // [6, 8, 10]\n```\n\n## The nagare Philosophy\n\n1. **Streams are the primitive** - Not observables, not promises\n2. **Edge-first** - Built for Cloudflare, Deno, Bun from day one\n3. **Zero magic** - What you see is what runs\n4. **Type safety** - Full TypeScript with no compromises\n5. **Web standards** - ReadableStream is the foundation\n\n## Who Should Use nagare?\n\n- **Edge application developers** - First-class edge runtime support\n- **Performance enthusiasts** - Minimal overhead, maximum throughput\n- **Type-safety advocates** - Full TypeScript with strict types\n- **Stream processing experts** - Advanced operators with backpressure\n- **AI/ML engineers** - Perfect for streaming LLM responses\n\n## License\n\nMIT © Aid-On\n\n---\n\n<div align=\"center\">\n\n**Built for the edge. Designed for developers. Ready for production.**\n\n<br/>\n\n[NPM](https://www.npmjs.com/package/@aid-on/nagare) • \n[GitHub](https://github.com/Aid-On/nagare)\n\n</div>","readmeFilename":"README.md"}