MCPcopy
hub / github.com/openstf/stf / parse

Function parse

lib/util/keyutil.js:25–423  ·  view source on GitHub ↗
(char)

Source from the content-addressed store, hash-verified

23 }
24
25 function parse(char) {
26 switch (state) {
27 case 'comment_before_type_t':
28 if (char === '\n') {
29 state = 'type_t'
30 break
31 }
32 return true
33 case 'type_t':
34 if (char === '\n') {
35 return true
36 }
37 if (char === '#') {
38 state = 'comment_before_type_t'
39 return true
40 }
41 if (char === 'k') {
42 state = 'key_k'
43 return parse(char)
44 }
45 if (char === 't') {
46 state = 'type_y'
47 return true
48 }
49 return fail(char, state)
50 case 'type_y':
51 if (char === 'y') {
52 state = 'type_p'
53 return true
54 }
55 return fail(char, state)
56 case 'type_p':
57 if (char === 'p') {
58 state = 'type_e'
59 return true
60 }
61 return fail(char, state)
62 case 'type_e':
63 if (char === 'e') {
64 state = 'type_name_start'
65 keymap.type = ''
66 return true
67 }
68 return fail(char, state)
69 case 'type_name_start':
70 if (char === ' ') {
71 return true
72 }
73 if (char >= 'A' && char <= 'Z') {
74 keymap.type += char
75 state = 'type_name_continued'
76 return true
77 }
78 return fail(char, state)
79 case 'type_name_continued':
80 if (char === '\n') {
81 // Could have more of these, although it doesn't make much sense
82 state = 'type_t'

Callers 1

readableListenerFunction · 0.85

Calls 1

failFunction · 0.85

Tested by

no test coverage detected