Skip to content

Commit

Permalink
Switch to yaml instead of js-yaml
Browse files Browse the repository at this point in the history
Fixes #36
  • Loading branch information
akx committed Jan 23, 2024
1 parent 316de61 commit 4529560
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
"allotment": "^1.20.0",
"codemirror": "^5.65.0",
"d3-dsv": "^3.0.1",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"markdown-table": "^3.0.2",
"ramda": "^0.29.1",
Expand All @@ -24,7 +23,8 @@
"semantic-ui-react": "^2.0.4",
"toml": "^3.0.0",
"toml-patch": "^0.2.3",
"xlsx": "^0.17.4"
"xlsx": "^0.17.4",
"yaml": "^2.3.4"
},
"devDependencies": {
"@types/codemirror": "^5.60.5",
Expand Down
15 changes: 10 additions & 5 deletions src/converters.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { dsvFormat } from "d3-dsv";
import toml from "toml";
import * as tomlPatch from "toml-patch";
import yaml from "js-yaml";
import YAML from "yaml";

import { DestinationConverter, SourceConverter, StringTransformResult } from "./types";
import { tableConverter } from "./components/TableView";
Expand All @@ -28,7 +28,8 @@ export const sourceConverters: { [key: string]: SourceConverter } = {
lines: parseLines,
toml: toml.parse,
tsv: tsv.parse,
yaml: yaml.load,
yaml: YAML.parse,
yamlMulti: (s) => YAML.parseAllDocuments(s).map((d) => d.toJSON()),
};

const stringTransform = (fn: (data: any) => string) => (data: any) =>
Expand All @@ -42,13 +43,16 @@ export const destinationConverters: { [key: string]: DestinationConverter } = {
text: stringTransform((data) => "" + data),
toml: stringTransform(tomlPatch.stringify),
tsv: stringTransform(tsv.format),
yaml: stringTransform(yaml.dump),
yaml: stringTransform(YAML.stringify),
yamlMulti: stringTransform(data => [...data].map((d) => YAML.stringify(d)).join("---\n")),
markdownTable: stringTransform(renderMarkdownTable),
table: tableConverter,
xlsx: xlsxConverter,
};

export const converterPrettyNames: { [key: string]: string } = {
type ConverterName = keyof typeof sourceConverters | keyof typeof destinationConverters;

export const converterPrettyNames: { [key: ConverterName]: string } = {
"json-compact": "JSON (compact)",
csv: "CSV",
json: "JSON",
Expand All @@ -62,9 +66,10 @@ export const converterPrettyNames: { [key: string]: string } = {
tsv: "TSV",
xlsx: "XLS/XLSX",
yaml: "YAML",
yamlMulti: "YAML (multiple documents)",
};

export const converterDescriptions: { [key: string]: string } = {
export const converterDescriptions: { [key: ConverterName]: string } = {
csv: "Comma-separated values",
scsv: "Semicolon-separated values",
tsv: "Tab-separated values",
Expand Down
5 changes: 5 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2637,6 +2637,11 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==

yaml@^2.3.4:
version "2.3.4"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==

yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
Expand Down

0 comments on commit 4529560

Please sign in to comment.