summaryrefslogtreecommitdiff
path: root/std/encoding/csv.ts
diff options
context:
space:
mode:
authorNayeem Rahman <muhammed.9939@gmail.com>2019-12-20 20:21:30 +0000
committerRy Dahl <ry@tinyclouds.org>2019-12-20 15:21:30 -0500
commite8d82a6348d4cf9fc6a023fe16bf75df7fea61b0 (patch)
tree6d9e44694bf55a7e3089b1706dc05919ccc0dc27 /std/encoding/csv.ts
parent29562ed61ea42e46c86cef919f27033f6b3427b0 (diff)
feat: Add missing mod.ts files in std (#3509)
std/archive/tar.ts: - Remove FileReader. - Remove FileWriter. std/encoding/csv.ts: - ExtendedParseOptions -> ParseOptions - HeaderOption -> HeaderOptions - ParseOptions -> ReadOptions - readAll() -> readMatrix() std/encoding/yaml.ts: - DumpOptions -> StringifyOptions std/fmt/colors.ts: - getEnabled() -> getColorEnabled() - setEnabled() -> setColorEnabled() std/testing/mod.ts: - Re-export sibling modules.
Diffstat (limited to 'std/encoding/csv.ts')
-rw-r--r--std/encoding/csv.ts32
1 files changed, 16 insertions, 16 deletions
diff --git a/std/encoding/csv.ts b/std/encoding/csv.ts
index 10d72a8a5..8cfa1cab9 100644
--- a/std/encoding/csv.ts
+++ b/std/encoding/csv.ts
@@ -28,7 +28,7 @@ export class ParseError extends Error {
* @property fieldsPerRecord - Enabling the check of fields for each row.
* If == 0, first row is used as referal for the number of fields.
*/
-export interface ParseOptions {
+export interface ReadOptions {
comma?: string;
comment?: string;
trimLeadingSpace?: boolean;
@@ -36,7 +36,7 @@ export interface ParseOptions {
fieldsPerRecord?: number;
}
-function chkOptions(opt: ParseOptions): void {
+function chkOptions(opt: ReadOptions): void {
if (!opt.comma) opt.comma = ",";
if (!opt.trimLeadingSpace) opt.trimLeadingSpace = false;
if (
@@ -51,7 +51,7 @@ function chkOptions(opt: ParseOptions): void {
async function read(
Startline: number,
reader: BufReader,
- opt: ParseOptions = { comma: ",", trimLeadingSpace: false }
+ opt: ReadOptions = { comma: ",", trimLeadingSpace: false }
): Promise<string[] | Deno.EOF> {
const tp = new TextProtoReader(reader);
let line: string;
@@ -107,9 +107,9 @@ async function read(
return result;
}
-export async function readAll(
+export async function readMatrix(
reader: BufReader,
- opt: ParseOptions = {
+ opt: ReadOptions = {
comma: ",",
trimLeadingSpace: false,
lazyQuotes: false
@@ -151,17 +151,17 @@ export async function readAll(
}
/**
- * HeaderOption provides the column definition
+ * HeaderOptions provides the column definition
* and the parse function for each entry of the
* column.
*/
-export interface HeaderOption {
+export interface HeaderOptions {
name: string;
parse?: (input: string) => unknown;
}
-export interface ExtendedParseOptions extends ParseOptions {
- header: boolean | string[] | HeaderOption[];
+export interface ParseOptions extends ReadOptions {
+ header: boolean | string[] | HeaderOptions[];
parse?: (input: unknown) => unknown;
}
@@ -188,26 +188,26 @@ export interface ExtendedParseOptions extends ParseOptions {
*/
export async function parse(
input: string | BufReader,
- opt: ExtendedParseOptions = {
+ opt: ParseOptions = {
header: false
}
): Promise<unknown[]> {
let r: string[][];
if (input instanceof BufReader) {
- r = await readAll(input, opt);
+ r = await readMatrix(input, opt);
} else {
- r = await readAll(new BufReader(new StringReader(input)), opt);
+ r = await readMatrix(new BufReader(new StringReader(input)), opt);
}
if (opt.header) {
- let headers: HeaderOption[] = [];
+ let headers: HeaderOptions[] = [];
let i = 0;
if (Array.isArray(opt.header)) {
if (typeof opt.header[0] !== "string") {
- headers = opt.header as HeaderOption[];
+ headers = opt.header as HeaderOptions[];
} else {
const h = opt.header as string[];
headers = h.map(
- (e): HeaderOption => {
+ (e): HeaderOptions => {
return {
name: e
};
@@ -216,7 +216,7 @@ export async function parse(
}
} else {
headers = r.shift()!.map(
- (e): HeaderOption => {
+ (e): HeaderOptions => {
return {
name: e
};