source: node_modules/yaml/dist/compose/resolve-end.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[d24f17c]1'use strict';
2
3function resolveEnd(end, offset, reqSpace, onError) {
4 let comment = '';
5 if (end) {
6 let hasSpace = false;
7 let sep = '';
8 for (const token of end) {
9 const { source, type } = token;
10 switch (type) {
11 case 'space':
12 hasSpace = true;
13 break;
14 case 'comment': {
15 if (reqSpace && !hasSpace)
16 onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
17 const cb = source.substring(1) || ' ';
18 if (!comment)
19 comment = cb;
20 else
21 comment += sep + cb;
22 sep = '';
23 break;
24 }
25 case 'newline':
26 if (comment)
27 sep += source;
28 hasSpace = true;
29 break;
30 default:
31 onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`);
32 }
33 offset += source.length;
34 }
35 }
36 return { comment, offset };
37}
38
39exports.resolveEnd = resolveEnd;
Note: See TracBrowser for help on using the repository browser.