b5b913fcd1e70c1f02f923b40a79131be18631b6610ef6b78554ff3e1937d016427585e1ba0d7690087486efd053e56c8b8cbecc0fccc90eb1af506de8dcde 761 B

12345678910111213141516171819202122232425262728293031323334
  1. 'use strict';
  2. var Type = require('../type');
  3. function resolveYamlNull(data) {
  4. if (data === null) return true;
  5. var max = data.length;
  6. return (max === 1 && data === '~') ||
  7. (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));
  8. }
  9. function constructYamlNull() {
  10. return null;
  11. }
  12. function isNull(object) {
  13. return object === null;
  14. }
  15. module.exports = new Type('tag:yaml.org,2002:null', {
  16. kind: 'scalar',
  17. resolve: resolveYamlNull,
  18. construct: constructYamlNull,
  19. predicate: isNull,
  20. represent: {
  21. canonical: function () { return '~'; },
  22. lowercase: function () { return 'null'; },
  23. uppercase: function () { return 'NULL'; },
  24. camelcase: function () { return 'Null'; }
  25. },
  26. defaultStyle: 'lowercase'
  27. });