| ; | |
| function resolveEnd(end, offset, reqSpace, onError) { | |
| let comment = ''; | |
| if (end) { | |
| let hasSpace = false; | |
| let sep = ''; | |
| for (const token of end) { | |
| const { source, type } = token; | |
| switch (type) { | |
| case 'space': | |
| hasSpace = true; | |
| break; | |
| case 'comment': { | |
| if (reqSpace && !hasSpace) | |
| onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters'); | |
| const cb = source.substring(1) || ' '; | |
| if (!comment) | |
| comment = cb; | |
| else | |
| comment += sep + cb; | |
| sep = ''; | |
| break; | |
| } | |
| case 'newline': | |
| if (comment) | |
| sep += source; | |
| hasSpace = true; | |
| break; | |
| default: | |
| onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`); | |
| } | |
| offset += source.length; | |
| } | |
| } | |
| return { comment, offset }; | |
| } | |
| exports.resolveEnd = resolveEnd; | |
Xet Storage Details
- Size:
- 1.26 kB
- Xet hash:
- d334dfe8bff0f1cafdeaf44a1dfa58d90ba15c4bb71fd1e5d0367f152f637d4c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.