b275bf6ad0455b50e241c6272f5a577de1551568.svn-base
547 Bytes
const {stringifyString} = require('yaml/util')
module.exports = {
identify: value =>
typeof value === 'symbol' && Symbol.keyFor(value) === undefined,
tag: '!sym',
resolve: (doc, cst) => {
const src = cst.strValue
const match = src.match(/^Symbol\((.*)\)$/)
if (!match)
throw new Error(`Invalid Symbol Expression: ${src}`)
return Symbol(match[1])
},
stringify (item, ctx, onComment, onChompKeep) {
const value = item.value.toString()
return stringifyString({ value }, ctx, onComment, onChompKeep)
}
}