Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#172621882] use yaml as output format for data #54

Merged
merged 1 commit into from
May 19, 2020
Merged

Conversation

gunzip
Copy link
Contributor

@gunzip gunzip commented May 19, 2020

No description provided.

@gunzip gunzip requested a review from balanza May 19, 2020 12:03
@pagopa-github-bot
Copy link
Contributor

Warnings
⚠️

Please include a description of your PR changes.

New dependencies added: yaml.

yaml

Author: Eemeli Aro

Description: JavaScript parser and stringifier for YAML

Homepage: https://eemeli.org/yaml/

Createdabout 9 years ago
Last Updated3 days ago
LicenseISC
Maintainers1
Releases48
KeywordsYAML, parser and stringifier
README

YAML

yaml is a JavaScript parser and stringifier for YAML, a human friendly data serialization standard. It supports both parsing and stringifying data using all versions of YAML, along with all common data schemas. As a particularly distinguishing feature, yaml fully supports reading and writing comments and blank lines in YAML documents.

The library is released under the ISC open source license, and the code is available on GitHub. It has no external dependencies and runs on Node.js 6 and later, and in browsers from IE 11 upwards.

For the purposes of versioning, any changes that break any of the endpoints or APIs documented here will be considered semver-major breaking changes. Undocumented library internals may change between minor versions, and previous APIs may be deprecated (but not removed).

For more information, see the project's documentation site: eemeli.org/yaml

To install:

npm install yaml

Note: yaml 0.x and 1.x are rather different implementations. For the earlier yaml, see tj/js-yaml.

API Overview

The API provided by yaml has three layers, depending on how deep you need to go: Parse & Stringify, Documents, and the CST Parser. The first has the simplest API and "just works", the second gets you all the bells and whistles supported by the library along with a decent AST, and the third is the closest to YAML source, making it fast, raw, and crude.

import YAML from 'yaml'
// or
const YAML = require('yaml')

Parse & Stringify

YAML Documents

import { Pair, YAMLMap, YAMLSeq } from 'yaml/types'

CST Parser

import parseCST from 'yaml/parse-cst'

YAML.parse

# file.yml
YAML:
  - A human-readable data serialization language
  - https://en.wikipedia.org/wiki/YAML
yaml:
  - A complete JavaScript implementation
  - https://www.npmjs.com/package/yaml
import fs from 'fs'
import YAML from 'yaml'

YAML.parse('3.14159')
// 3.14159

YAML.parse('[ true, false, maybe, null ]\n')
// [ true, false, 'maybe', null ]

const file = fs.readFileSync('./file.yml', 'utf8')
YAML.parse(file)
// { YAML:
//   [ 'A human-readable data serialization language',
//     'https://en.wikipedia.org/wiki/YAML' ],
//   yaml:
//   [ 'A complete JavaScript implementation',
//     'https://www.npmjs.com/package/yaml' ] }

YAML.stringify

import YAML from 'yaml'

YAML.stringify(3.14159)
// '3.14159\n'

YAML.stringify([true, false, 'maybe', null])
// `- true
// - false
// - maybe
// - null
// `

YAML.stringify({ number: 3, plain: 'string', block: 'two\nlines\n' })
// `number: 3
// plain: string
// block: >
//   two
//
//   lines
// `

Browser testing provided by:

Affected stories

  • 🌟 #172621882: Come CIT, se esprimo la volontà di scaricare i miei dati, voglio ricevere un link per il download dei dati quando l'AMS avvia manualmente la procedura

Generated by 🚫 dangerJS

@codecov-commenter
Copy link

Codecov Report

Merging #54 into master will decrease coverage by 2.66%.
The diff coverage is 76.99%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #54      +/-   ##
==========================================
- Coverage   88.81%   86.15%   -2.67%     
==========================================
  Files          21       25       +4     
  Lines         608      816     +208     
  Branches       37       50      +13     
==========================================
+ Hits          540      703     +163     
- Misses         67      112      +45     
  Partials        1        1              
Impacted Files Coverage Δ
CreateService/handler.ts 85.18% <0.00%> (ø)
UpdateService/handler.ts 90.47% <0.00%> (ø)
GetService/handler.ts 86.95% <50.00%> (+3.62%) ⬆️
utils/zip.ts 53.33% <53.33%> (ø)
ExtractUserDataActivity/handler.ts 77.46% <77.46%> (ø)
utils/random.ts 77.77% <77.77%> (ø)
SetUserDataProcessingStatusActivity/handler.ts 88.37% <88.37%> (ø)
... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5ed0e05...cddce83. Read the comment docs.

@gunzip gunzip merged commit 2ec3768 into master May 19, 2020
@gunzip gunzip deleted the json-to-yaml branch May 19, 2020 12:32
@gunzip gunzip restored the json-to-yaml branch May 21, 2020 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants