(chunk)
| 638 | return stream = through(ondata, onend) |
| 639 | |
| 640 | function ondata(chunk) { |
| 641 | data = data.concat(chunk.split('')) |
| 642 | length = data.length |
| 643 | |
| 644 | while(idx < length && (c = data[idx++])) { |
| 645 | switch(state) { |
| 646 | case READY: state_ready(); break |
| 647 | case ANY_CHILD: state_any_child(); break |
| 648 | case OPERATION: state_op(); break |
| 649 | case ATTR_START: state_attr_start(); break |
| 650 | case ATTR_COMP: state_attr_compare(); break |
| 651 | case ATTR_END: state_attr_end(); break |
| 652 | case PSEUDOCLASS: |
| 653 | case PSEUDOPSEUDO: state_pseudo(); break |
| 654 | case PSEUDOSTART: state_pseudostart(); break |
| 655 | case ID: |
| 656 | case TAG: |
| 657 | case CLASS: state_gather(); break |
| 658 | } |
| 659 | } |
| 660 | |
| 661 | data = data.slice(idx) |
| 662 | } |
| 663 | |
| 664 | function onend(chunk) { |
| 665 | if(arguments.length) { |
no test coverage detected