MCPcopy Index your code
hub / github.com/codeaashu/claude-code / parse

Method parse

src/server/web/public/terminal.js:4945–5066  ·  view source on GitHub ↗
(e3, t3, i3)

Source from the content-addressed store, hash-verified

4943 this.currentState = this.initialState, this._oscParser.reset(), this._dcsParser.reset(), this._params.reset(), this._params.addParam(0), this._collect = 0, this.precedingJoinState = 0, 0 !== this._parseStack.state && (this._parseStack.state = 2, this._parseStack.handlers = []);
4944 }
4945 _preserveStack(e3, t3, i3, s3, r2) {
4946 this._parseStack.state = e3, this._parseStack.handlers = t3, this._parseStack.handlerPos = i3, this._parseStack.transition = s3, this._parseStack.chunkPos = r2;
4947 }
4948 parse(e3, t3, i3) {
4949 let s3, r2 = 0, n2 = 0, o2 = 0;
4950 if (this._parseStack.state) if (2 === this._parseStack.state) this._parseStack.state = 0, o2 = this._parseStack.chunkPos + 1;
4951 else {
4952 if (void 0 === i3 || 1 === this._parseStack.state) throw this._parseStack.state = 1, new Error("improper continuation due to previous async handler, giving up parsing");
4953 const t4 = this._parseStack.handlers;
4954 let n3 = this._parseStack.handlerPos - 1;
4955 switch (this._parseStack.state) {
4956 case 3:
4957 if (false === i3 && n3 > -1) {
4958 for (; n3 >= 0 && (s3 = t4[n3](this._params), true !== s3); n3--) if (s3 instanceof Promise) return this._parseStack.handlerPos = n3, s3;
4959 }
4960 this._parseStack.handlers = [];
4961 break;
4962 case 4:
4963 if (false === i3 && n3 > -1) {
4964 for (; n3 >= 0 && (s3 = t4[n3](), true !== s3); n3--) if (s3 instanceof Promise) return this._parseStack.handlerPos = n3, s3;
4965 }
4966 this._parseStack.handlers = [];
4967 break;
4968 case 6:
4969 if (r2 = e3[this._parseStack.chunkPos], s3 = this._dcsParser.unhook(24 !== r2 && 26 !== r2, i3), s3) return s3;
4970 27 === r2 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
4971 break;
4972 case 5:
4973 if (r2 = e3[this._parseStack.chunkPos], s3 = this._oscParser.end(24 !== r2 && 26 !== r2, i3), s3) return s3;
4974 27 === r2 && (this._parseStack.transition |= 1), this._params.reset(), this._params.addParam(0), this._collect = 0;
4975 }
4976 this._parseStack.state = 0, o2 = this._parseStack.chunkPos + 1, this.precedingJoinState = 0, this.currentState = 15 & this._parseStack.transition;
4977 }
4978 for (let i4 = o2; i4 < t3; ++i4) {
4979 switch (r2 = e3[i4], n2 = this._transitions.table[this.currentState << 8 | (r2 < 160 ? r2 : h)], n2 >> 4) {
4980 case 2:
4981 for (let s4 = i4 + 1; ; ++s4) {
4982 if (s4 >= t3 || (r2 = e3[s4]) < 32 || r2 > 126 && r2 < h) {
4983 this._printHandler(e3, i4, s4), i4 = s4 - 1;
4984 break;
4985 }
4986 if (++s4 >= t3 || (r2 = e3[s4]) < 32 || r2 > 126 && r2 < h) {
4987 this._printHandler(e3, i4, s4), i4 = s4 - 1;
4988 break;
4989 }
4990 if (++s4 >= t3 || (r2 = e3[s4]) < 32 || r2 > 126 && r2 < h) {
4991 this._printHandler(e3, i4, s4), i4 = s4 - 1;
4992 break;
4993 }
4994 if (++s4 >= t3 || (r2 = e3[s4]) < 32 || r2 > 126 && r2 < h) {
4995 this._printHandler(e3, i4, s4), i4 = s4 - 1;
4996 break;
4997 }
4998 }
4999 break;
5000 case 3:
5001 this._executeHandlers[r2] ? this._executeHandlers[r2]() : this._executeHandlerFb(r2), this.precedingJoinState = 0;
5002 break;

Callers

nothing calls this directly

Calls 10

_preserveStackMethod · 0.95
unhookMethod · 0.80
addParamMethod · 0.80
addSubParamMethod · 0.80
addDigitMethod · 0.80
hookMethod · 0.80
putMethod · 0.80
resetMethod · 0.65
endMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected