42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | "use strict"; | ||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||
|  | exports.getQuote = exports.quotes = void 0; | ||
|  | var parser_1 = require("../syntax/parser"); | ||
|  | exports.quotes = { | ||
|  |     name: 'quotes', | ||
|  |     initialValue: 'none', | ||
|  |     prefix: true, | ||
|  |     type: 1 /* LIST */, | ||
|  |     parse: function (_context, tokens) { | ||
|  |         if (tokens.length === 0) { | ||
|  |             return null; | ||
|  |         } | ||
|  |         var first = tokens[0]; | ||
|  |         if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') { | ||
|  |             return null; | ||
|  |         } | ||
|  |         var quotes = []; | ||
|  |         var filtered = tokens.filter(parser_1.isStringToken); | ||
|  |         if (filtered.length % 2 !== 0) { | ||
|  |             return null; | ||
|  |         } | ||
|  |         for (var i = 0; i < filtered.length; i += 2) { | ||
|  |             var open_1 = filtered[i].value; | ||
|  |             var close_1 = filtered[i + 1].value; | ||
|  |             quotes.push({ open: open_1, close: close_1 }); | ||
|  |         } | ||
|  |         return quotes; | ||
|  |     } | ||
|  | }; | ||
|  | var getQuote = function (quotes, depth, open) { | ||
|  |     if (!quotes) { | ||
|  |         return ''; | ||
|  |     } | ||
|  |     var quote = quotes[Math.min(depth, quotes.length - 1)]; | ||
|  |     if (!quote) { | ||
|  |         return ''; | ||
|  |     } | ||
|  |     return open ? quote.open : quote.close; | ||
|  | }; | ||
|  | exports.getQuote = getQuote; | ||
|  | //# sourceMappingURL=quotes.js.map
 |