recode

Conversão de dados entre vários formatos

Importação

_ <- fat.recode

pacote type é automaticamente importado com esta importação

Constantes

  • numeric, definição regex usado por inferType

Variáveis

Estas configurações podem ser ajustadas para configurar o comportamento das funções de processamento:

  • csvSeparator, o padrão é , (vírgula)
  • csvReplacement, o padrão é vazio (apenas remove vírgulas do texto)
  • xmlWarnings, o padrão é true - defina como false para suprimir avisos XML

Funções Base64

Nome Assinatura Breve descrição
toBase64 (data: Chunk): Text Codifica bloco binário para texto base64
fromBase64 (b64: Text): Chunk Decodifica texto base64 para formato original

Funções JSON

Nome Assinatura Breve descrição
toJSON (_: Any): Text Codifica JSON a partir de tipos nativos
fromJSON (json: Text): Any Decodifica JSON para tipos nativos

Funções URL

Nome Assinatura Breve descrição
toURL (text: Text): Text Codifica texto para texto escapado URL
fromURL (url: Text): Text Decodifica texto escapado URL para formato original
toFormData (data: Scope): Text Codifica dados de formulário URL a partir de escopo
fromFormData (data: Text): Scope Decodifica dados de formulário URL para escopo

Funções CSV

Nome Assinatura Breve descrição
toCSV (header: List/Text, rows: List/Scope): Text Codifica CSV a partir de linhas
fromCSV (csv: Text): List/Scope Decodifica CSV para linhas

csvReplacement é usado por toCSV como substituição em caso de um csvSeparator ser encontrado dentro de um texto sendo codificado

Funções XML (rudimentares)

Atributos XML e tags auto-fechadas não são suportados.

Nome Assinatura Breve descrição
toXML (node: Any): Text Codifica XML a partir de tipos nativos
fromXML (text: Text): Any Decodifica XML para tipos nativos

Funções RLE

Nome Assinatura Breve descrição
toRLE (chunk: Chunk): Chunk Comprime para esquema RLE
fromRLE (chunk: Chunk): Chunk Descomprime de esquema RLE

Outras funções

Nome Assinatura Breve descrição
inferType (val: Text): Any Converte texto em boolean/number se aplicável
minify (src: Text): Text Minifica arquivos JSON e código FatScript

minify substituirá quaisquer instruções $break (ponto de interrupção do depurador) por ()

Uso

JSON

Uma vez que FatScript aceita alternativamente sintaxe semelhante a JSON, fromJSON usa internamente o parser do FatScript, que é extremamente rápido, mas pode ou não produzir exatamente o que se espera de um analisador JSON.

Por exemplo, uma vez que o fragmento abaixo é analisado, já que null no FatScript é ausência de valor, não haverá declarações de entrada para "prop":

"prop": null

Portanto, ler com fromJSON e escrever de volta com toJSON não é necessariamente uma operação idempotente.

XML

Construindo XML a partir de tipos nativos:

data = {
  bookstore: [
    { book: { title: 'Book 1', author: 'Author 1' } }
  ]
}

xmlString = recode.toXML(data)
# xmlString será a representação XML dos dados

toXML gera string XML a partir de estruturas de dados do FatScript

Analisando XML de volta para tipos nativos:

xmlData =
  '<bookstore><book><title>Book 1</title><author>Author 1</author></book></bookstore>'

parsedData = recode.fromXML(xmlData)
# parsedData será um Scope contendo os dados XML analisados

listas são automaticamente inferidas quando múltiplos itens irmãos estão presentes, o que pode levar a estruturas de dados inconsistentes em casos onde um elemento é esperado para ser uma lista, mas ocasionalmente contém apenas um único item, ou mesmo nenhum

Veja também

results matching ""

    No results matching ""