js-yaml icon indicating copy to clipboard operation
js-yaml copied to clipboard

Load: empty input sring should return null, no undefined

Open puzrin opened this issue 5 years ago • 3 comments

~~Ref: https://github.com/nodeca/js-yaml/issues/565#issuecomment-659696047~~

https://github.com/nodeca/js-yaml/issues/567#issuecomment-685070822

puzrin avatar Jul 16 '20 22:07 puzrin

Ups... closing after reference update

puzrin avatar Jul 16 '20 22:07 puzrin

Found a couple problems:

> require('js-yaml').load("")
undefined
> require('js-yaml').load("\n")
undefined
> require('js-yaml').load("\n\n")
null
> require('js-yaml').load("# hmm")
null

ingydotnet avatar Sep 01 '20 19:09 ingydotnet

> require('js-yaml').loadAll("")
[]
> require('js-yaml').loadAll("\n")
[]
> require('js-yaml').loadAll("\n\n")
[ null ]
> require('js-yaml').loadAll("# hmm")
[ null ]

So load returns null if there is one document and undefined if input stream doesn't contain any.

Seems to be correct as per explanation in https://github.com/nodeca/js-yaml/issues/565#issuecomment-659696047.

rlidwka avatar Sep 15 '20 16:09 rlidwka