MCPcopy
hub / github.com/wavetermdev/waveterm / doTerminalWrite

Method doTerminalWrite

frontend/app/view/term/termwrap.ts:496–519  ·  view source on GitHub ↗
(data: string | Uint8Array, setPtyOffset?: number)

Source from the content-addressed store, hash-verified

494 }
495
496 doTerminalWrite(data: string | Uint8Array, setPtyOffset?: number): Promise<void> {
497 if (isDev() && this.loaded) {
498 const dataStr = data instanceof Uint8Array ? new TextDecoder().decode(data) : data;
499 this.recentWrites.push({ idx: this.recentWritesCounter++, ts: Date.now(), data: dataStr });
500 if (this.recentWrites.length > 50) {
501 this.recentWrites.shift();
502 }
503 }
504 let resolve: () => void = null;
505 const prtn = new Promise<void>((presolve, _) => {
506 resolve = presolve;
507 });
508 this.terminal.write(data, () => {
509 if (setPtyOffset != null) {
510 this.ptyOffset = setPtyOffset;
511 } else {
512 this.ptyOffset += data.length;
513 this.dataBytesProcessed += data.length;
514 }
515 this.lastUpdated = Date.now();
516 resolve();
517 });
518 return prtn;
519 }
520
521 async loadInitialTerminalData(): Promise<void> {
522 const startTs = Date.now();

Callers 2

Calls 2

isDevFunction · 0.90
pushMethod · 0.80

Tested by

no test coverage detected