0.1.0 • Published 4 years ago

@bouzuya/tsv v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

@bouzuya/tsv

format/parse TSV format.

Installation

$ npm install @bouzuya/tsv
# ...

Usage

import assert from "assert";
import { format, parse } from "@bouzuya/tsv";

assert.deepStrictEqual(
  format([
    ["123", "456"],
    ["789", "012"],
  ),
  "123\t456\n789\t012"
);
assert.deepStrictEqual(parse("123\t456\n789\t012"), [
  ["123", "456"],
  ["789", "012"],
]);

// escape: true
assert.deepStrictEqual(
  format([["123", "\\", "\n", "\r", "\t"], ["456"]]), // default: { escape: true }
  "123\t\\\\\t\\n\t\\r\t\\t\n456"
);
assert.deepStrictEqual(
  parse("123\t\\\\\t\\n\t\\r\t\\t\n456"), // default: { escape: true }
  [["123", "\\", "\n", "\r", "\t"], ["456"]]
);

// escape: false
assert.deepStrictEqual(
  format([["123", "\\", "\n", "\r", "\t"], ["456"]], { escape: false }),
  "123\t\\\t\n\t\r\t\t\n456"
);
assert.deepStrictEqual(
  parse("123\t\\\t\n\t\r\t\t\n456", { escape: false }),
  [['123', '\\', ''], ['', '\r', '', ''], ['456']]
);