fixed exports

This commit is contained in:
Eugene Pankov 2023-01-04 14:22:37 +01:00
parent 206123615e
commit 33d6d41ea2
No known key found for this signature in database
GPG Key ID: 5896FCBBDD1CF4F4
3 changed files with 34 additions and 2 deletions

View File

@ -38,3 +38,4 @@ export { VaultService, Vault, VaultSecret, VaultFileSecret, VAULT_SECRET_TYPE_FI
export { FileProvidersService } from '../services/fileProviders.service'
export { LocaleService, TranslateServiceWrapper as TranslateService } from '../services/locale.service'
export * from '../utils'
export { UTF8Splitter } from '../utfSplitter'

View File

@ -0,0 +1,32 @@
const partials = [
[0b110, 5, 0],
[0b1110, 4, 1],
[0b11110, 3, 2],
]
export class UTF8Splitter {
private internal = Buffer.alloc(0)
write (data: Buffer): Buffer {
this.internal = Buffer.concat([this.internal, data])
let keep = 0
for (const [pattern, shift, maxOffset] of partials) {
for (let offset = 0; offset < maxOffset + 1; offset++) {
if (this.internal[this.internal.length - offset - 1] >> shift === pattern) {
keep = Math.max(keep, offset + 1)
}
}
}
const result = this.internal.slice(0, this.internal.length - keep)
this.internal = this.internal.slice(this.internal.length - keep)
return result
}
flush (): Buffer {
const result = this.internal
this.internal = Buffer.alloc(0)
return result
}
}

View File

@ -2,11 +2,10 @@ import { Observable, Subject } from 'rxjs'
import stripAnsi from 'strip-ansi'
import { ClientChannel } from 'ssh2'
import { Injector } from '@angular/core'
import { LogService } from 'tabby-core'
import { LogService, UTF8Splitter } from 'tabby-core'
import { BaseSession } from 'tabby-terminal'
import { SSHSession } from './ssh'
import { SSHProfile } from '../api'
import { UTF8Splitter } from '../../../app/lib/utfSplitter'
export class SSHShellSession extends BaseSession {