28 lines
		
	
	
		
			759 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			759 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var identity = require('./identity.js');
 | |
| var Node = require('./Node.js');
 | |
| var toJS = require('./toJS.js');
 | |
| 
 | |
| const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
 | |
| class Scalar extends Node.NodeBase {
 | |
|     constructor(value) {
 | |
|         super(identity.SCALAR);
 | |
|         this.value = value;
 | |
|     }
 | |
|     toJSON(arg, ctx) {
 | |
|         return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
 | |
|     }
 | |
|     toString() {
 | |
|         return String(this.value);
 | |
|     }
 | |
| }
 | |
| Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
 | |
| Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
 | |
| Scalar.PLAIN = 'PLAIN';
 | |
| Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
 | |
| Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
 | |
| 
 | |
| exports.Scalar = Scalar;
 | |
| exports.isScalarValue = isScalarValue;
 |