@alwatr/json2csv 1.0.2 โ 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/main.cjs +2 -2
- package/dist/main.mjs +2 -2
- package/package.json +16 -16
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.0.4](https://github.com/Alwatr/nanolib/compare/@alwatr/json2csv@1.0.3...@alwatr/json2csv@1.0.4) (2026-02-18)
|
|
7
|
+
|
|
8
|
+
### ๐งน Miscellaneous Chores
|
|
9
|
+
|
|
10
|
+
* update keywords in package.json files for better categorization ([cf0ddb6](https://github.com/Alwatr/nanolib/commit/cf0ddb66eab7e2a87158279e455d71c495b30834))
|
|
11
|
+
|
|
12
|
+
## [1.0.3](https://github.com/Alwatr/nanolib/compare/@alwatr/json2csv@1.0.2...@alwatr/json2csv@1.0.3) (2025-12-23)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @alwatr/json2csv
|
|
15
|
+
|
|
6
16
|
## [1.0.2](https://github.com/Alwatr/nanolib/compare/@alwatr/json2csv@1.0.1...@alwatr/json2csv@1.0.2) (2025-12-13)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @alwatr/json2csv
|
package/dist/main.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** ๐ฆ @alwatr/json2csv v1.0.
|
|
2
|
-
__dev_mode__: console.debug("๐ฆ @alwatr/json2csv v1.0.
|
|
1
|
+
/** ๐ฆ @alwatr/json2csv v1.0.4 */
|
|
2
|
+
__dev_mode__: console.debug("๐ฆ @alwatr/json2csv v1.0.4");
|
|
3
3
|
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var main_exports={};__export(main_exports,{jsonToCsv:()=>jsonToCsv});module.exports=__toCommonJS(main_exports);function jsonToCsv(jsonData,delimiter=",",includeHeaders=true,replacer){if(!Array.isArray(jsonData)||jsonData.length===0||typeof jsonData[0]!=="object"||jsonData[0]===null){return""}const delimiterRegex=new RegExp(`[${delimiter}\\n"]`);const doubleQuoteRegex=/"/g;const headers=Object.keys(jsonData[0]);const headersLen=headers.length;const csvRows=[];if(includeHeaders){let headerRow="";for(let i=0;i<headersLen;i++){if(i>0)headerRow+=delimiter;headerRow+=escapeCsvValue(headers[i],delimiterRegex,doubleQuoteRegex)}csvRows.push(headerRow)}for(const row of jsonData){if(typeof row!=="object"||row===null||Array.isArray(row)){continue}let rowStr="";for(let i=0;i<headersLen;i++){if(i>0)rowStr+=delimiter;const header=headers[i];let cellValue=row[header];if(replacer&&cellValue!==void 0){cellValue=replacer(header,cellValue)}if(cellValue===null||cellValue===void 0){}else if(typeof cellValue==="object"){rowStr+=escapeCsvValue(JSON.stringify(cellValue,replacer),delimiterRegex,doubleQuoteRegex)}else{rowStr+=escapeCsvValue(String(cellValue),delimiterRegex,doubleQuoteRegex)}}csvRows.push(rowStr)}return csvRows.join("\n")}function escapeCsvValue(value,delimiterRegex,doubleQuoteRegex){if(value==="")return value;if(delimiterRegex.test(value)){return`"${value.replace(doubleQuoteRegex,'""')}"`}return value}0&&(module.exports={jsonToCsv});
|
|
4
4
|
//# sourceMappingURL=main.cjs.map
|
package/dist/main.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** ๐ฆ @alwatr/json2csv v1.0.
|
|
2
|
-
__dev_mode__: console.debug("๐ฆ @alwatr/json2csv v1.0.
|
|
1
|
+
/** ๐ฆ @alwatr/json2csv v1.0.4 */
|
|
2
|
+
__dev_mode__: console.debug("๐ฆ @alwatr/json2csv v1.0.4");
|
|
3
3
|
function jsonToCsv(jsonData,delimiter=",",includeHeaders=true,replacer){if(!Array.isArray(jsonData)||jsonData.length===0||typeof jsonData[0]!=="object"||jsonData[0]===null){return""}const delimiterRegex=new RegExp(`[${delimiter}\\n"]`);const doubleQuoteRegex=/"/g;const headers=Object.keys(jsonData[0]);const headersLen=headers.length;const csvRows=[];if(includeHeaders){let headerRow="";for(let i=0;i<headersLen;i++){if(i>0)headerRow+=delimiter;headerRow+=escapeCsvValue(headers[i],delimiterRegex,doubleQuoteRegex)}csvRows.push(headerRow)}for(const row of jsonData){if(typeof row!=="object"||row===null||Array.isArray(row)){continue}let rowStr="";for(let i=0;i<headersLen;i++){if(i>0)rowStr+=delimiter;const header=headers[i];let cellValue=row[header];if(replacer&&cellValue!==void 0){cellValue=replacer(header,cellValue)}if(cellValue===null||cellValue===void 0){}else if(typeof cellValue==="object"){rowStr+=escapeCsvValue(JSON.stringify(cellValue,replacer),delimiterRegex,doubleQuoteRegex)}else{rowStr+=escapeCsvValue(String(cellValue),delimiterRegex,doubleQuoteRegex)}}csvRows.push(rowStr)}return csvRows.join("\n")}function escapeCsvValue(value,delimiterRegex,doubleQuoteRegex){if(value==="")return value;if(delimiterRegex.test(value)){return`"${value.replace(doubleQuoteRegex,'""')}"`}return value}export{jsonToCsv};
|
|
4
4
|
//# sourceMappingURL=main.mjs.map
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwatr/json2csv",
|
|
3
3
|
"description": "A tiny, efficient, and cross-platform JSON to CSV converter.",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.4",
|
|
5
5
|
"author": "S. Ali Mihandoost <ali.mihandoost@gmail.com>",
|
|
6
6
|
"bugs": "https://github.com/Alwatr/nanolib/issues",
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"@alwatr/nano-build": "6.
|
|
9
|
-
"@alwatr/prettier-config": "6.0.
|
|
8
|
+
"@alwatr/nano-build": "6.4.1",
|
|
9
|
+
"@alwatr/prettier-config": "6.0.2",
|
|
10
10
|
"@alwatr/tsconfig-base": "6.0.4",
|
|
11
|
-
"@alwatr/type-helper": "7.0.
|
|
11
|
+
"@alwatr/type-helper": "7.0.1",
|
|
12
12
|
"typescript": "^5.9.3"
|
|
13
13
|
},
|
|
14
14
|
"exports": {
|
|
@@ -27,21 +27,21 @@
|
|
|
27
27
|
"homepage": "https://github.com/Alwatr/nanolib/tree/next/packages/json2csv#readme",
|
|
28
28
|
"keywords": [
|
|
29
29
|
"alwatr",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
30
|
+
"cjs",
|
|
31
|
+
"converter",
|
|
32
|
+
"cross-platform",
|
|
33
33
|
"csv",
|
|
34
|
+
"esm",
|
|
35
|
+
"export",
|
|
34
36
|
"json",
|
|
35
|
-
"
|
|
37
|
+
"json-to-csv",
|
|
38
|
+
"json2csv",
|
|
39
|
+
"nanolib",
|
|
36
40
|
"transformer",
|
|
37
|
-
"export",
|
|
38
|
-
"utility",
|
|
39
41
|
"typescript",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"zero-dependency",
|
|
44
|
-
"ultra-lightweight"
|
|
42
|
+
"ultra-lightweight",
|
|
43
|
+
"utility",
|
|
44
|
+
"zero-dependency"
|
|
45
45
|
],
|
|
46
46
|
"license": "MPL-2.0",
|
|
47
47
|
"main": "./dist/main.cjs",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"sideEffects": false,
|
|
73
73
|
"type": "module",
|
|
74
74
|
"types": "./dist/main.d.ts",
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "f9f9ba54b319ce8ccc6968059b222e89f4b5d149"
|
|
76
76
|
}
|