Sin descripción

Scalar.js 668B

123456789101112131415161718192021222324
  1. import { NodeBase, SCALAR } from './Node.js';
  2. import { toJS } from './toJS.js';
  3. const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
  4. class Scalar extends NodeBase {
  5. constructor(value) {
  6. super(SCALAR);
  7. this.value = value;
  8. }
  9. toJSON(arg, ctx) {
  10. return ctx?.keep ? this.value : toJS(this.value, arg, ctx);
  11. }
  12. toString() {
  13. return String(this.value);
  14. }
  15. }
  16. Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
  17. Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
  18. Scalar.PLAIN = 'PLAIN';
  19. Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
  20. Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
  21. export { Scalar, isScalarValue };