# Sheethuahua > Type-safe CSV and Google Sheets Parser For TypeScript and JavaScript ## Table of Contents ### Guide - [Introduction](https://punchupworld.github.io/sheethuahua/guide/0-introduction.md): Overview of Sheethuahua — a set of schemas, transformers, type-safe parsers and formatters for CSV and Google Sheets data, with notes on Google Sheets rate limits. - [Getting Started](https://punchupworld.github.io/sheethuahua/guide/1-getting-started.md): Installation instructions for the sheethuahua npm package (npm, yarn, pnpm, bun) and example imports of core functions. - [Schema](https://punchupworld.github.io/sheethuahua/guide/2-schema.md): Schema definition using Column, Object, and Tuple — including nested schemas and type inference with StaticDecode. - [Transformer](https://punchupworld.github.io/sheethuahua/guide/3-transformer.md): Transformers that decode/encode CSV string cells into typed values — built-in transformers (asString, asNumber, asBoolean, asDate, asOneOf, asArray), custom transformers via createTransformer, and optional/fallback variants. - [Parser](https://punchupworld.github.io/sheethuahua/guide/4-parser.md): Parsing CSV data from different sources — parseCsv for strings, fetchCsv for URLs, and Spreadsheet for Google Sheets, with debugging options. - [Formatter](https://punchupworld.github.io/sheethuahua/guide/5-formatter.md): Formatting JavaScript data back to CSV string using formatToCsv and schema-defined encoders — the inverse of parsing. ### Plugin - [Caching](https://punchupworld.github.io/sheethuahua/plugin/caching.md) ### References #### Functions - [Function: asArray()](https://punchupworld.github.io/references/functions/asArray.md) - [Function: asBoolean()](https://punchupworld.github.io/references/functions/asBoolean.md) - [Function: asDate()](https://punchupworld.github.io/references/functions/asDate.md) - [Function: asNumber()](https://punchupworld.github.io/references/functions/asNumber.md) - [Function: asOneOf()](https://punchupworld.github.io/references/functions/asOneOf.md) - [Function: asString()](https://punchupworld.github.io/references/functions/asString.md) - [Function: Column()](https://punchupworld.github.io/references/functions/Column.md) - [Function: createTransformer()](https://punchupworld.github.io/references/functions/createTransformer.md) - [Function: fetchCsv()](https://punchupworld.github.io/references/functions/fetchCsv.md) - [Function: formatToCsv()](https://punchupworld.github.io/references/functions/formatToCsv.md) - [Function: Object()](https://punchupworld.github.io/references/functions/Object.md) - [Function: parseCsv()](https://punchupworld.github.io/references/functions/parseCsv.md) - [Function: Spreadsheet()](https://punchupworld.github.io/references/functions/Spreadsheet.md) - [Function: Tuple()](https://punchupworld.github.io/references/functions/Tuple.md) - [Function: withCache()](https://punchupworld.github.io/references/functions/withCache.md) #### Interfaces - [Interface: ArrayOptions](https://punchupworld.github.io/references/interfaces/ArrayOptions.md) - [Interface: DateOptions](https://punchupworld.github.io/references/interfaces/DateOptions.md) - [Interface: FetchOptions](https://punchupworld.github.io/references/interfaces/FetchOptions.md) - [Interface: NumberOptions](https://punchupworld.github.io/references/interfaces/NumberOptions.md) - [Interface: ParseOptions](https://punchupworld.github.io/references/interfaces/ParseOptions.md) - [Interface: SchemaOptions](https://punchupworld.github.io/references/interfaces/SchemaOptions.md) - [Interface: SheetOptions](https://punchupworld.github.io/references/interfaces/SheetOptions.md) - [Interface: StringOptions](https://punchupworld.github.io/references/interfaces/StringOptions.md) - [Interface: TCacheAdapter](https://punchupworld.github.io/references/interfaces/TCacheAdapter.md) - [Interface: TempoOptions](https://punchupworld.github.io/references/interfaces/TempoOptions.md) - [Interface: TObject\](https://punchupworld.github.io/references/interfaces/TObject.md) - [Interface: TSpreadsheet](https://punchupworld.github.io/references/interfaces/TSpreadsheet.md) - [Interface: TTuple\](https://punchupworld.github.io/references/interfaces/TTuple.md) - [Interface: WithCacheOptions](https://punchupworld.github.io/references/interfaces/WithCacheOptions.md) #### Type Aliases - [Type Alias: StaticDecode\](https://punchupworld.github.io/references/type-aliases/StaticDecode.md) - [Type Alias: TColumn\](https://punchupworld.github.io/references/type-aliases/TColumn.md) - [Type Alias: TCsvSchema](https://punchupworld.github.io/references/type-aliases/TCsvSchema.md) - [Type Alias: TLiteralValue](https://punchupworld.github.io/references/type-aliases/TLiteralValue.md) - [Type Alias: TMaybePromise\](https://punchupworld.github.io/references/type-aliases/TMaybePromise.md) - [Type Alias: TTransformer\](https://punchupworld.github.io/references/type-aliases/TTransformer.md) #### Variables - [Variable: ColumnKind](https://punchupworld.github.io/references/variables/ColumnKind.md)