stream-token-parser
Version:
Token parser designed based on stream property. Accept chunk string and parse it into tokens simultaneously. [readme-lang:zh]基于流特性设计的token解析器,接受一个chunk的字符串,同时解析成tokens。
61 lines (55 loc) • 1.39 kB
JavaScript
'use strict';
let {
parser
} = require('..');
let assert = require('assert');
let extractToken = (token) => {
return {
text: token.text,
name: token.tokenType.name
};
};
let jsonTokenTypes = require('../apply/jsonTokenTypes');
describe('json', () => {
it('string', () => {
assert.deepEqual(
parser.parse('{"a": 1, "b": "a"}', jsonTokenTypes).map(extractToken), [{
text: '{',
name: 'obejctLeftBracket'
}, {
text: '"a"',
name: 'string'
}, {
text: ':',
name: 'mapDelimiter'
}, {
text: ' ',
name: 'whiteSpace'
}, {
text: '1',
name: 'number'
}, {
text: ',',
name: 'comma'
}, {
text: ' ',
name: 'whiteSpace'
}, {
text: '"b"',
name: 'string'
}, {
text: ':',
name: 'mapDelimiter'
}, {
text: ' ',
name: 'whiteSpace'
}, {
text: '"a"',
name: 'string'
}, {
text: '}',
name: 'obejctRightBracket'
}]
);
});
});