share-doc.ts 714 B

1234567891011121314151617181920212223
  1. import EventEmitter from 'events'
  2. import { StringFileData } from 'overleaf-editor-core'
  3. // type for the Doc class in vendor/libs/sharejs.js
  4. export interface ShareLatexOTShareDoc extends EventEmitter {
  5. otType: 'sharejs-text-ot'
  6. snapshot: string
  7. detach_cm6?: () => void
  8. getText: () => string
  9. insert: (pos: number, insert: string, fromUndo: boolean) => void
  10. del: (pos: number, length: number, fromUndo: boolean) => void
  11. submitOp(op: any[]): void
  12. }
  13. export interface HistoryOTShareDoc extends EventEmitter {
  14. otType: 'history-ot'
  15. snapshot: StringFileData
  16. detach_cm6?: () => void
  17. getText: () => string
  18. submitOp(op: any[]): void
  19. }
  20. export type ShareDoc = ShareLatexOTShareDoc | HistoryOTShareDoc