|
- const {
- TOKEN_COMMENT_START,
- TOKEN_COMMENT_END,
- TOKEN_COMMENT_CONTENT
- } = require('../constants/token-types')
-
- function handleCommentStart (state, token) {
- state.currentNode.content.start = token
- state.caretPosition++
-
- return state
- }
-
- function handleCommentContent (state, token) {
- state.currentNode.content.value = token
- state.caretPosition++
-
- return state
- }
-
- function handleCommentEnd (state, token) {
- state.currentNode.content.end = token
- state.currentNode = state.currentNode.parentRef
- state.currentContext = state.currentContext.parentRef
- state.caretPosition++
-
- return state
- }
-
- module.exports = function comment (token, state) {
- if (token.type === TOKEN_COMMENT_START) {
- return handleCommentStart(state, token)
- }
-
- if (token.type === TOKEN_COMMENT_CONTENT) {
- return handleCommentContent(state, token)
- }
-
- if (token.type === TOKEN_COMMENT_END) {
- return handleCommentEnd(state, token)
- }
-
- state.caretPosition++
-
- return state
- }
|