{"_id":"@1-/csv","_rev":"5-144357ee775e1e4fffb43885bac8b50a","name":"@1-/csv","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@1-/csv","version":"0.1.0","keywords":["csv","encoder","decoder","rfc4180","performance"],"author":{"name":"x-at-01@googlegroups.com"},"license":"MulanPSL-2.0","_id":"@1-/csv@0.1.0","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"homepage":"https://github.com/webc-site/npm/tree/main/csv","bugs":{"url":"https://github.com/webc-site/npm/issues"},"dist":{"shasum":"a258cc484763b68f90535619e2f23dc1bc435666","tarball":"https://registry.npmjs.org/@1-/csv/-/csv-0.1.0.tgz","fileCount":6,"integrity":"sha512-+Lx8ydqKmQM9fbLLCHnxO/k2LzHxuwd9mzcLQ8ktHDTM6x1shOYH+KxNi4MGWWJ7HDu2GxVkfjTmqfQHm46Udw==","signatures":[{"sig":"MEUCIEXBEP7VWUhAj7lpgxHgTLtuKT/SZjulChGl2mWi4jxCAiEAowdKIipmJeiRHYFITOnM2EMqdv95LRSrj1F6Ixl9MLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8383},"type":"module","exports":{"./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"repository":{"url":"git+https://github.com/webc-site/npm.git","type":"git"},"_npmVersion":"11.16.0","description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","directories":{},"_nodeVersion":"26.2.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/csv_0.1.0_1781172016114_0.11080567547715892","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@1-/csv","version":"0.1.1","keywords":["csv","decoder","encoder","performance","rfc4180"],"author":{"name":"x-at-01@googlegroups.com"},"license":"MulanPSL-2.0","_id":"@1-/csv@0.1.1","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"homepage":"https://github.com/webc-site/npm/tree/main/csv","bugs":{"url":"https://github.com/webc-site/npm/issues"},"dist":{"shasum":"20e90ee48fc71de815ce279554629bf597f03983","tarball":"https://registry.npmjs.org/@1-/csv/-/csv-0.1.1.tgz","fileCount":6,"integrity":"sha512-ePlDhjJYaJQKTBsbOndCkGUjKcAKOMFWmT8u4z0sK1VuG860ucLsq3x5wGQjFo0I1Ud5/N/lEypaM7uYmdgABw==","signatures":[{"sig":"MEUCIQCjwUvtDWjXwgD9aTrDCptuDElVUDS3t+oPMOY2/S5YrgIgCrWFmqnzQtE3Qw6tQr6pnOFsI/OZHD/iXqtRGjp3r4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7132},"type":"module","exports":{"./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"repository":{"url":"git+https://github.com/webc-site/npm.git","type":"git"},"_npmVersion":"11.16.0","description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","directories":{},"_nodeVersion":"26.2.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/csv_0.1.1_1781186171695_0.8100999251168874","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@1-/csv","version":"0.1.2","keywords":["csv","decoder","encoder","performance","rfc4180"],"author":{"name":"x-at-01@googlegroups.com"},"license":"MulanPSL-2.0","_id":"@1-/csv@0.1.2","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"homepage":"https://github.com/webc-site/npm/tree/main/csv","bugs":{"url":"https://github.com/webc-site/npm/issues"},"dist":{"shasum":"f330148f6e8d0157d04a4e7e05b16309fcf6c371","tarball":"https://registry.npmjs.org/@1-/csv/-/csv-0.1.2.tgz","fileCount":14,"integrity":"sha512-6GnC0etztODDz0byGCXB/a0+0beZ7DRpyoDCYYLvMFzGAM/IdEI8E4S4pXUBRAP5H8dEyJGXdoYa1pS4kC33rQ==","signatures":[{"sig":"MEYCIQD8IvpKbyHuzwbGCA+Ixa9paYy1jLKny4RVRMuCbpJBJQIhAIIiODhq5nI92SC/rj5fdT9uwWFVLXV1iVHezlSSD7GA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8852},"type":"module","exports":{"./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"repository":{"url":"git+https://github.com/webc-site/npm.git","type":"git"},"_npmVersion":"11.16.0","description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","directories":{},"_nodeVersion":"26.2.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/csv_0.1.2_1781267283400_0.8261483222286985","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@1-/csv","version":"0.1.3","keywords":["csv","decoder","encoder","performance","rfc4180"],"author":{"name":"x-at-01@googlegroups.com"},"license":"MulanPSL-2.0","_id":"@1-/csv@0.1.3","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"homepage":"https://github.com/webc-site/npm/tree/main/csv","bugs":{"url":"https://github.com/webc-site/npm/issues"},"dist":{"shasum":"126663da6b9600f09fe63e305aad282574c3110d","tarball":"https://registry.npmjs.org/@1-/csv/-/csv-0.1.3.tgz","fileCount":14,"integrity":"sha512-40ApoEI55//g1aeQkd0v/rPUoUv3NAgp0PqTNPN/Q8V0jPtui8WR1kNvjCLI1H9CJD1nvUhlAQNT6lwAP9WfCg==","signatures":[{"sig":"MEUCIQCr0ZlbcUwxjHTPcAlb9u/q6x3K1cj2FKgebOP/o/3+gAIgcIj2GCICfw7JbP+KiXKqMu5fJqiUuVzA2i7bxrxnLRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10940},"type":"module","exports":{"./*":"./*"},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"repository":{"url":"git+https://github.com/webc-site/npm.git","type":"git"},"_npmVersion":"11.16.0","description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","directories":{},"_nodeVersion":"26.2.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/csv_0.1.3_1781267547743_0.27440459995960764","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@1-/csv","version":"0.1.4","description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","keywords":["csv","decoder","encoder","performance","rfc4180"],"homepage":"https://github.com/webc-site/npm/tree/main/csv","license":"MulanPSL-2.0","author":{"name":"x-at-01@googlegroups.com"},"repository":{"type":"git","url":"git+https://github.com/webc-site/npm.git"},"type":"module","exports":{"./*":"./*"},"dependencies":{"@1-/read":"^0.1.1"},"_id":"@1-/csv@0.1.4","bugs":{"url":"https://github.com/webc-site/npm/issues"},"_nodeVersion":"26.2.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-GRK2fUAeNI/aN57JpvPEMLy7z+OtL2zn4ZW/3BJMT2Pcz7R5gdLCzz9SzDeFzwVg2svOYJ4NOoIzwPsNYehn/A==","shasum":"e03b20d63c0fd8c6bbbf650e8f13319d65440b8a","tarball":"https://registry.npmjs.org/@1-/csv/-/csv-0.1.4.tgz","fileCount":14,"unpackedSize":11114,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC1cUWXbd69uRjYZUy1YXDTmbVdmxDV0cKgRVEPQ6VL2QIhAOHckJxsZ7NvaVvwUJTB8YnZvpAuAbA91wKUs8crtR3i"}]},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"directories":{},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/csv_0.1.4_1781268190404_0.703692004577877"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-11T10:00:15.919Z","modified":"2026-06-12T12:43:10.644Z","0.1.0":"2026-06-11T10:00:16.242Z","0.1.1":"2026-06-11T13:56:11.857Z","0.1.2":"2026-06-12T12:28:03.539Z","0.1.3":"2026-06-12T12:32:27.890Z","0.1.4":"2026-06-12T12:43:10.548Z"},"bugs":{"url":"https://github.com/webc-site/npm/issues"},"author":{"name":"x-at-01@googlegroups.com"},"license":"MulanPSL-2.0","homepage":"https://github.com/webc-site/npm/tree/main/csv","keywords":["csv","decoder","encoder","performance","rfc4180"],"repository":{"type":"git","url":"git+https://github.com/webc-site/npm.git"},"description":"A minimalist and ultra-fast CSV encoder and decoder package. 极简、极速的 CSV 编码与解码工具包。","maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"readme":"[English](#en) | [中文](#zh)\n\n---\n\n<a id=\"en\"></a>\n# @1-/csv : A minimalist and ultra-fast CSV encoder and decoder package\n\n- [@1-/csv : A minimalist and ultra-fast CSV encoder and decoder package](#1-csv-a-minimalist-and-ultra-fast-csv-encoder-and-decoder-package)\n  - [Features](#features)\n  - [Usage](#usage)\n    - [Installation](#installation)\n    - [Single-line encode](#single-line-encode)\n    - [Single-line decode](#single-line-decode)\n    - [Multi-line encode](#multi-line-encode)\n    - [Multi-line decode](#multi-line-decode)\n  - [Design Principles](#design-principles)\n  - [Tech Stack](#tech-stack)\n  - [Code Structure](#code-structure)\n  - [Historical Note](#historical-note)\n  - [About](#about)\n\n## Features\n\nZero-dependency, high-performance CSV serialization/deserialization. Supports both single-line and multi-line CSV processing with full RFC 4180 compliance and real-world fault tolerance.\n\n## Usage\n\n### Installation\n\n```bash\nbun add @1-/csv\n```\n\n### Single-line encode\n\n```javascript\nimport csvE from \"@1-/csv/csvE.js\";\n\nconst data = [\"Name\", \"Age\", \"20\"];\n\nconst csv = csvE(data);\n// Output: Name,Age,20\n```\n\n### Single-line decode\n\n```javascript\nimport csvD from \"@1-/csv/csvD.js\";\n\nconst csv = \"Name,Age,20\";\nconst data = csvD(csv);\n// Output: [\"Name\", \"Age\", \"20\"]\n```\n\n### Multi-line encode\n\n```javascript\nimport dumps from \"@1-/csv/dumps.js\";\n\nconst data = [\n  [\"Name\", \"Age\"],\n  [\"John\", \"25\"],\n  [\"Jane\", \"30\"]\n];\n\nconst csv = dumps(data);\n// Output: Name,Age\\nJohn,25\\nJane,30\n```\n\n### Multi-line decode\n\n```javascript\nimport loads from \"@1-/csv/loads.js\";\n\nconst csv = \"Name,Age\\nJohn,25\\nJane,30\";\nconst data = loads(csv);\n// Output: [[\"Name\", \"Age\"], [\"John\", \"25\"], [\"Jane\", \"30\"]]\n```\n\n## Design Principles\n\nPure functional implementation using character code operations. Supports RFC 4180 and real-world variants:\n\n- Null/undefined handling (converted to empty string)\n- Quote escaping (`\"\"` → `\"`)\n- Cross-platform line endings (`\\n`, `\\r`, `\\r\\n`)\n- Fault-tolerant parsing (handles incomplete lines, trailing commas, etc.)\n- Multi-line CSV batch processing\n\n![](https://fastly.jsdelivr.net/gh/webc-fs/-@YT/9xX_RKSA4EAqsc3nv17w.svg)\n\n## Tech Stack\n\n- Runtime: ECMAScript 2023+\n- Build: No build step\n- Testing: `mitata`\n- License: MulanPSL-2.0\n\n## Code Structure\n\n```\nsrc/\n├── csvD.js     # Single-line decoder, RFC 4180 compatible, fault-tolerant\n├── csvE.js     # Single-line encoder, auto quoting/escaping\n├── dumps.js    # Multi-line encoder, convert array of arrays to CSV string\n├── loads.js    # Multi-line decoder, parse CSV string to array of arrays\n├── dump.js     # File writer, write data to CSV file\n├── load.js     # File reader, read data from CSV file\n├── csvD.d.ts   # Type declarations\n├── csvE.d.ts   # Type declarations\n├── dumps.d.ts  # Type declarations\n├── loads.d.ts  # Type declarations\n├── dump.d.ts   # Type declarations\n└── load.d.ts   # Type declarations\n```\n\n## Historical Note\n\nCSV originated in 1970s IBM System/360. Lotus 1-2-3 (1983) established it as de facto standard. RFC 4180 (2005) attempted standardization, but permissiveness remains a challenge. This project achieves dual compatibility through extreme minimalism while providing both single-line and multi-line processing capabilities.\n\n## About\n\nThis library is developed by [WebC.site](https://webc.site).\n\n[WebC.site](https://webc.site): A new paradigm of web development for AI\n\n\n---\n\n<a id=\"zh\"></a>\n# @1-/csv : 极简、极速的 CSV 编码与解码工具包\n\n- [@1-/csv : 极简、极速的 CSV 编码与解码工具包](#1-csv-极简极速的-csv-编码与解码工具包)\n  - [功能介绍](#功能介绍)\n  - [使用演示](#使用演示)\n    - [安装](#安装)\n    - [单行编码](#单行编码)\n    - [单行解码](#单行解码)\n    - [多行编码](#多行编码)\n    - [多行解码](#多行解码)\n  - [设计思路](#设计思路)\n  - [技术栈](#技术栈)\n  - [代码结构](#代码结构)\n  - [历史故事](#历史故事)\n  - [关于](#关于)\n\n## 功能介绍\n\n提供零依赖、高性能的 CSV 序列化与反序列化功能。支持单行与多行 CSV 处理，完全兼容 RFC 4180 标准，同时具备现实世界容错能力。\n\n## 使用演示\n\n### 安装\n\n```bash\nbun add @1-/csv\n```\n\n### 单行编码\n\n```javascript\nimport csvE from \"@1-/csv/csvE.js\";\n\nconst data = [\"姓名\", \"年龄\", \"20\"];\n\nconst csv = csvE(data);\n// 输出: 姓名,年龄,20\n```\n\n### 单行解码\n\n```javascript\nimport csvD from \"@1-/csv/csvD.js\";\n\nconst csv = \"姓名,年龄,20\";\nconst data = csvD(csv);\n// 输出: [\"姓名\", \"年龄\", \"20\"]\n```\n\n### 多行编码\n\n```javascript\nimport dumps from \"@1-/csv/dumps.js\";\n\nconst data = [\n  [\"姓名\", \"年龄\"],\n  [\"张三\", \"25\"],\n  [\"李四\", \"30\"]\n];\n\nconst csv = dumps(data);\n// 输出: 姓名,年龄\\n张三,25\\n李四,30\n```\n\n### 多行解码\n\n```javascript\nimport loads from \"@1-/csv/loads.js\";\n\nconst csv = \"姓名,年龄\\n张三,25\\n李四,30\";\nconst data = loads(csv);\n// 输出: [[\"姓名\", \"年龄\"], [\"张三\", \"25\"], [\"李四\", \"30\"]]\n```\n\n## 设计思路\n\n采用纯函数式实现，基于字符码直接操作。支持 RFC 4180 及常见变体：\n\n- 空值与 null/undefined 处理（转换为空字符串）\n- 双引号转义（`\"\"` → `\"`）\n- 跨平台换行符（`\\n`, `\\r`, `\\r\\n`）\n- 容错解析（处理不完整行、尾随逗号等）\n- 多行 CSV 批量处理\n\n![](https://fastly.jsdelivr.net/gh/webc-fs/-@1S/9rxEyr-67emjIDBkL56g.svg)\n\n## 技术栈\n\n- 运行时：ECMAScript 2023+\n- 构建：无构建步骤\n- 测试：`mitata`\n- 许可证：MulanPSL-2.0\n\n## 代码结构\n\n```\nsrc/\n├── csvD.js     # 单行解码器，RFC 4180 兼容，容错\n├── csvE.js     # 单行编码器，自动 quoting/escaping\n├── dumps.js    # 多行编码器，将数组的数组转换为 CSV 字符串\n├── loads.js    # 多行解码器，将 CSV 字符串解析为数组的数组\n├── dump.js     # 文件写入器，将数据写入 CSV 文件\n├── load.js     # 文件读取器，从 CSV 文件读取数据\n├── csvD.d.ts   # 类型声明\n├── csvE.d.ts   # 类型声明\n├── dumps.d.ts  # 类型声明\n├── loads.d.ts  # 类型声明\n├── dump.d.ts   # 类型声明\n└── load.d.ts   # 类型声明\n```\n\n## 历史故事\n\nCSV 格式源于 1970 年代 IBM System/360。1983 年 Lotus 1-2-3 确立其为事实标准。RFC 4180（2005）尝试标准化，但宽松性仍是挑战。本项目以极致精简实现双重兼容，同时提供单行与多行处理能力。\n\n## 关于\n\n本库由 [WebC.site](https://webc.site) 开发。\n\n[WebC.site](https://webc.site) : 面向人工智能的网站开发新范式\n\n","readmeFilename":"README.md"}