Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@datastream/charset

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@datastream/charset - npm Package Compare versions

Comparing version
0.1.6
to
0.2.0
+30
-29
detect.node.mjs
import { createPassThroughStream } from "@datastream/core";
import detect from "charset-detector";
const charsets = {
"UTF-8": 0,
"UTF-16BE": 0,
"UTF-16LE": 0,
"UTF-32BE": 0,
"UTF-32LE": 0,
Shift_JIS: 0,
"ISO-2022-JP": 0,
"ISO-2022-CN": 0,
"ISO-2022-KR": 0,
GB18030: 0,
"EUC-JP": 0,
"EUC-KR": 0,
Big5: 0,
"ISO-8859-1": 0,
"ISO-8859-2": 0,
"ISO-8859-5": 0,
"ISO-8859-6": 0,
"ISO-8859-7": 0,
"ISO-8859-8-I": 0,
"ISO-8859-8": 0,
"windows-1251": 0,
"windows-1256": 0,
"windows-1252": 0,
"windows-1254": 0,
"windows-1250": 0,
"KOIR8-R": 0,
"ISO-8859-9": 0
};
const charsetKeys = [
"UTF-8",
"UTF-16BE",
"UTF-16LE",
"UTF-32BE",
"UTF-32LE",
"Shift_JIS",
"ISO-2022-JP",
"ISO-2022-CN",
"ISO-2022-KR",
"GB18030",
"EUC-JP",
"EUC-KR",
"Big5",
"ISO-8859-1",
"ISO-8859-2",
"ISO-8859-5",
"ISO-8859-6",
"ISO-8859-7",
"ISO-8859-8-I",
"ISO-8859-8",
"windows-1251",
"windows-1256",
"windows-1252",
"windows-1254",
"windows-1250",
"KOIR8-R",
"ISO-8859-9"
];
const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {
const charsets = Object.fromEntries(charsetKeys.map((k) => [k, 0]));
const passThrough = (chunk) => {

@@ -34,0 +35,0 @@ const matches = detect(chunk);

{
"version": 3,
"sources": ["detect.js"],
"sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createPassThroughStream } from \"@datastream/core\";\nimport detect from \"charset-detector\";\n\nconst charsets = {\n\t\"UTF-8\": 0,\n\t\"UTF-16BE\": 0,\n\t\"UTF-16LE\": 0,\n\t\"UTF-32BE\": 0,\n\t\"UTF-32LE\": 0,\n\tShift_JIS: 0,\n\t\"ISO-2022-JP\": 0,\n\t\"ISO-2022-CN\": 0,\n\t\"ISO-2022-KR\": 0,\n\tGB18030: 0,\n\t\"EUC-JP\": 0,\n\t\"EUC-KR\": 0,\n\tBig5: 0,\n\t\"ISO-8859-1\": 0,\n\t\"ISO-8859-2\": 0,\n\t\"ISO-8859-5\": 0,\n\t\"ISO-8859-6\": 0,\n\t\"ISO-8859-7\": 0,\n\t\"ISO-8859-8-I\": 0,\n\t\"ISO-8859-8\": 0,\n\t\"windows-1251\": 0,\n\t\"windows-1256\": 0,\n\t\"windows-1252\": 0,\n\t\"windows-1254\": 0,\n\t\"windows-1250\": 0,\n\t\"KOIR8-R\": 0,\n\t\"ISO-8859-9\": 0,\n};\n\nexport const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {\n\tconst passThrough = (chunk) => {\n\t\tconst matches = detect(chunk);\n\t\tif (matches.length) {\n\t\t\tfor (const match of matches) {\n\t\t\t\tcharsets[match.charsetName] += match.confidence;\n\t\t\t}\n\t\t}\n\t};\n\tconst stream = createPassThroughStream(passThrough, streamOptions);\n\tstream.result = () => {\n\t\tconst values = Object.entries(charsets)\n\t\t\t.map(([charset, confidence]) => ({ charset, confidence }))\n\t\t\t.sort((a, b) => b.confidence - a.confidence);\n\t\treturn { key: resultKey ?? \"charset\", value: values[0] };\n\t};\n\treturn stream;\n};\n\nexport const getSupportedEncoding = (charset) => {\n\tif (charset === \"ISO-8859-8-I\") charset = \"ISO-8859-8\";\n\treturn charset;\n};\n\nexport default charsetDetectStream;\n"],
"mappings": "AAEA,SAAS,+BAA+B;AACxC,OAAO,YAAY;AAEnB,MAAM,WAAW;AAAA,EAChB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AACf;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC9E,QAAM,cAAc,CAAC,UAAU;AAC9B,UAAM,UAAU,OAAO,KAAK;AAC5B,QAAI,QAAQ,QAAQ;AACnB,iBAAW,SAAS,SAAS;AAC5B,iBAAS,MAAM,WAAW,KAAK,MAAM;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AACA,QAAM,SAAS,wBAAwB,aAAa,aAAa;AACjE,SAAO,SAAS,MAAM;AACrB,UAAM,SAAS,OAAO,QAAQ,QAAQ,EACpC,IAAI,CAAC,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,WAAW,EAAE,EACxD,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAC5C,WAAO,EAAE,KAAK,aAAa,WAAW,OAAO,OAAO,CAAC,EAAE;AAAA,EACxD;AACA,SAAO;AACR;AAEO,MAAM,uBAAuB,CAAC,YAAY;AAChD,MAAI,YAAY,eAAgB,WAAU;AAC1C,SAAO;AACR;AAEA,IAAO,iBAAQ;",
"sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createPassThroughStream } from \"@datastream/core\";\nimport detect from \"charset-detector\";\n\nconst charsetKeys = [\n\t\"UTF-8\",\n\t\"UTF-16BE\",\n\t\"UTF-16LE\",\n\t\"UTF-32BE\",\n\t\"UTF-32LE\",\n\t\"Shift_JIS\",\n\t\"ISO-2022-JP\",\n\t\"ISO-2022-CN\",\n\t\"ISO-2022-KR\",\n\t\"GB18030\",\n\t\"EUC-JP\",\n\t\"EUC-KR\",\n\t\"Big5\",\n\t\"ISO-8859-1\",\n\t\"ISO-8859-2\",\n\t\"ISO-8859-5\",\n\t\"ISO-8859-6\",\n\t\"ISO-8859-7\",\n\t\"ISO-8859-8-I\",\n\t\"ISO-8859-8\",\n\t\"windows-1251\",\n\t\"windows-1256\",\n\t\"windows-1252\",\n\t\"windows-1254\",\n\t\"windows-1250\",\n\t\"KOIR8-R\",\n\t\"ISO-8859-9\",\n];\n\nexport const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {\n\tconst charsets = Object.fromEntries(charsetKeys.map((k) => [k, 0]));\n\tconst passThrough = (chunk) => {\n\t\tconst matches = detect(chunk);\n\t\tif (matches.length) {\n\t\t\tfor (const match of matches) {\n\t\t\t\tcharsets[match.charsetName] += match.confidence;\n\t\t\t}\n\t\t}\n\t};\n\tconst stream = createPassThroughStream(passThrough, streamOptions);\n\tstream.result = () => {\n\t\tconst values = Object.entries(charsets)\n\t\t\t.map(([charset, confidence]) => ({ charset, confidence }))\n\t\t\t.sort((a, b) => b.confidence - a.confidence);\n\t\treturn { key: resultKey ?? \"charset\", value: values[0] };\n\t};\n\treturn stream;\n};\n\nexport const getSupportedEncoding = (charset) => {\n\tif (charset === \"ISO-8859-8-I\") charset = \"ISO-8859-8\";\n\treturn charset;\n};\n\nexport default charsetDetectStream;\n"],
"mappings": "AAEA,SAAS,+BAA+B;AACxC,OAAO,YAAY;AAEnB,MAAM,cAAc;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC9E,QAAM,WAAW,OAAO,YAAY,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,QAAM,cAAc,CAAC,UAAU;AAC9B,UAAM,UAAU,OAAO,KAAK;AAC5B,QAAI,QAAQ,QAAQ;AACnB,iBAAW,SAAS,SAAS;AAC5B,iBAAS,MAAM,WAAW,KAAK,MAAM;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AACA,QAAM,SAAS,wBAAwB,aAAa,aAAa;AACjE,SAAO,SAAS,MAAM;AACrB,UAAM,SAAS,OAAO,QAAQ,QAAQ,EACpC,IAAI,CAAC,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,WAAW,EAAE,EACxD,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAC5C,WAAO,EAAE,KAAK,aAAa,WAAW,OAAO,OAAO,CAAC,EAAE;AAAA,EACxD;AACA,SAAO;AACR;AAEO,MAAM,uBAAuB,CAAC,YAAY;AAChD,MAAI,YAAY,eAAgB,WAAU;AAC1C,SAAO;AACR;AAEA,IAAO,iBAAQ;",
"names": []
}
import { createPassThroughStream } from "@datastream/core";
import detect from "charset-detector";
const charsets = {
"UTF-8": 0,
"UTF-16BE": 0,
"UTF-16LE": 0,
"UTF-32BE": 0,
"UTF-32LE": 0,
Shift_JIS: 0,
"ISO-2022-JP": 0,
"ISO-2022-CN": 0,
"ISO-2022-KR": 0,
GB18030: 0,
"EUC-JP": 0,
"EUC-KR": 0,
Big5: 0,
"ISO-8859-1": 0,
"ISO-8859-2": 0,
"ISO-8859-5": 0,
"ISO-8859-6": 0,
"ISO-8859-7": 0,
"ISO-8859-8-I": 0,
"ISO-8859-8": 0,
"windows-1251": 0,
"windows-1256": 0,
"windows-1252": 0,
"windows-1254": 0,
"windows-1250": 0,
"KOIR8-R": 0,
"ISO-8859-9": 0
};
const charsetKeys = [
"UTF-8",
"UTF-16BE",
"UTF-16LE",
"UTF-32BE",
"UTF-32LE",
"Shift_JIS",
"ISO-2022-JP",
"ISO-2022-CN",
"ISO-2022-KR",
"GB18030",
"EUC-JP",
"EUC-KR",
"Big5",
"ISO-8859-1",
"ISO-8859-2",
"ISO-8859-5",
"ISO-8859-6",
"ISO-8859-7",
"ISO-8859-8-I",
"ISO-8859-8",
"windows-1251",
"windows-1256",
"windows-1252",
"windows-1254",
"windows-1250",
"KOIR8-R",
"ISO-8859-9"
];
const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {
const charsets = Object.fromEntries(charsetKeys.map((k) => [k, 0]));
const passThrough = (chunk) => {

@@ -34,0 +35,0 @@ const matches = detect(chunk);

{
"version": 3,
"sources": ["detect.js"],
"sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createPassThroughStream } from \"@datastream/core\";\nimport detect from \"charset-detector\";\n\nconst charsets = {\n\t\"UTF-8\": 0,\n\t\"UTF-16BE\": 0,\n\t\"UTF-16LE\": 0,\n\t\"UTF-32BE\": 0,\n\t\"UTF-32LE\": 0,\n\tShift_JIS: 0,\n\t\"ISO-2022-JP\": 0,\n\t\"ISO-2022-CN\": 0,\n\t\"ISO-2022-KR\": 0,\n\tGB18030: 0,\n\t\"EUC-JP\": 0,\n\t\"EUC-KR\": 0,\n\tBig5: 0,\n\t\"ISO-8859-1\": 0,\n\t\"ISO-8859-2\": 0,\n\t\"ISO-8859-5\": 0,\n\t\"ISO-8859-6\": 0,\n\t\"ISO-8859-7\": 0,\n\t\"ISO-8859-8-I\": 0,\n\t\"ISO-8859-8\": 0,\n\t\"windows-1251\": 0,\n\t\"windows-1256\": 0,\n\t\"windows-1252\": 0,\n\t\"windows-1254\": 0,\n\t\"windows-1250\": 0,\n\t\"KOIR8-R\": 0,\n\t\"ISO-8859-9\": 0,\n};\n\nexport const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {\n\tconst passThrough = (chunk) => {\n\t\tconst matches = detect(chunk);\n\t\tif (matches.length) {\n\t\t\tfor (const match of matches) {\n\t\t\t\tcharsets[match.charsetName] += match.confidence;\n\t\t\t}\n\t\t}\n\t};\n\tconst stream = createPassThroughStream(passThrough, streamOptions);\n\tstream.result = () => {\n\t\tconst values = Object.entries(charsets)\n\t\t\t.map(([charset, confidence]) => ({ charset, confidence }))\n\t\t\t.sort((a, b) => b.confidence - a.confidence);\n\t\treturn { key: resultKey ?? \"charset\", value: values[0] };\n\t};\n\treturn stream;\n};\n\nexport const getSupportedEncoding = (charset) => {\n\tif (charset === \"ISO-8859-8-I\") charset = \"ISO-8859-8\";\n\treturn charset;\n};\n\nexport default charsetDetectStream;\n"],
"mappings": "AAEA,SAAS,+BAA+B;AACxC,OAAO,YAAY;AAEnB,MAAM,WAAW;AAAA,EAChB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,cAAc;AACf;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC9E,QAAM,cAAc,CAAC,UAAU;AAC9B,UAAM,UAAU,OAAO,KAAK;AAC5B,QAAI,QAAQ,QAAQ;AACnB,iBAAW,SAAS,SAAS;AAC5B,iBAAS,MAAM,WAAW,KAAK,MAAM;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AACA,QAAM,SAAS,wBAAwB,aAAa,aAAa;AACjE,SAAO,SAAS,MAAM;AACrB,UAAM,SAAS,OAAO,QAAQ,QAAQ,EACpC,IAAI,CAAC,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,WAAW,EAAE,EACxD,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAC5C,WAAO,EAAE,KAAK,aAAa,WAAW,OAAO,OAAO,CAAC,EAAE;AAAA,EACxD;AACA,SAAO;AACR;AAEO,MAAM,uBAAuB,CAAC,YAAY;AAChD,MAAI,YAAY,eAAgB,WAAU;AAC1C,SAAO;AACR;AAEA,IAAO,iBAAQ;",
"sourcesContent": ["// Copyright 2026 will Farrell, and datastream contributors.\n// SPDX-License-Identifier: MIT\nimport { createPassThroughStream } from \"@datastream/core\";\nimport detect from \"charset-detector\";\n\nconst charsetKeys = [\n\t\"UTF-8\",\n\t\"UTF-16BE\",\n\t\"UTF-16LE\",\n\t\"UTF-32BE\",\n\t\"UTF-32LE\",\n\t\"Shift_JIS\",\n\t\"ISO-2022-JP\",\n\t\"ISO-2022-CN\",\n\t\"ISO-2022-KR\",\n\t\"GB18030\",\n\t\"EUC-JP\",\n\t\"EUC-KR\",\n\t\"Big5\",\n\t\"ISO-8859-1\",\n\t\"ISO-8859-2\",\n\t\"ISO-8859-5\",\n\t\"ISO-8859-6\",\n\t\"ISO-8859-7\",\n\t\"ISO-8859-8-I\",\n\t\"ISO-8859-8\",\n\t\"windows-1251\",\n\t\"windows-1256\",\n\t\"windows-1252\",\n\t\"windows-1254\",\n\t\"windows-1250\",\n\t\"KOIR8-R\",\n\t\"ISO-8859-9\",\n];\n\nexport const charsetDetectStream = ({ resultKey } = {}, streamOptions = {}) => {\n\tconst charsets = Object.fromEntries(charsetKeys.map((k) => [k, 0]));\n\tconst passThrough = (chunk) => {\n\t\tconst matches = detect(chunk);\n\t\tif (matches.length) {\n\t\t\tfor (const match of matches) {\n\t\t\t\tcharsets[match.charsetName] += match.confidence;\n\t\t\t}\n\t\t}\n\t};\n\tconst stream = createPassThroughStream(passThrough, streamOptions);\n\tstream.result = () => {\n\t\tconst values = Object.entries(charsets)\n\t\t\t.map(([charset, confidence]) => ({ charset, confidence }))\n\t\t\t.sort((a, b) => b.confidence - a.confidence);\n\t\treturn { key: resultKey ?? \"charset\", value: values[0] };\n\t};\n\treturn stream;\n};\n\nexport const getSupportedEncoding = (charset) => {\n\tif (charset === \"ISO-8859-8-I\") charset = \"ISO-8859-8\";\n\treturn charset;\n};\n\nexport default charsetDetectStream;\n"],
"mappings": "AAEA,SAAS,+BAA+B;AACxC,OAAO,YAAY;AAEnB,MAAM,cAAc;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM;AAC9E,QAAM,WAAW,OAAO,YAAY,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,QAAM,cAAc,CAAC,UAAU;AAC9B,UAAM,UAAU,OAAO,KAAK;AAC5B,QAAI,QAAQ,QAAQ;AACnB,iBAAW,SAAS,SAAS;AAC5B,iBAAS,MAAM,WAAW,KAAK,MAAM;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AACA,QAAM,SAAS,wBAAwB,aAAa,aAAa;AACjE,SAAO,SAAS,MAAM;AACrB,UAAM,SAAS,OAAO,QAAQ,QAAQ,EACpC,IAAI,CAAC,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,WAAW,EAAE,EACxD,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAC5C,WAAO,EAAE,KAAK,aAAa,WAAW,OAAO,OAAO,CAAC,EAAE;AAAA,EACxD;AACA,SAAO;AACR;AAEO,MAAM,uBAAuB,CAAC,YAAY;AAChD,MAAI,YAAY,eAAgB,WAAU;AAC1C,SAAO;AACR;AAEA,IAAO,iBAAQ;",
"names": []
}
{
"name": "@datastream/charset",
"version": "0.1.6",
"version": "0.2.0",
"description": "Character encoding detection, decoding, and conversion streams",

@@ -111,3 +111,3 @@ "type": "module",

"dependencies": {
"@datastream/core": "0.1.6",
"@datastream/core": "0.2.0",
"charset-detector": "0.0.2",

@@ -114,0 +114,0 @@ "iconv-lite": "0.7.2"