All files / json-crdt-peritext-ui/events index.ts

100% Statements 12/12
40% Branches 2/5
100% Functions 1/1
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 181x 1x 1x 1x     1x 24x   24x     24x 24x 24x 24x    
import {PeritextEventDefaults, type PeritextEventDefaultsOpts} from './defaults/PeritextEventDefaults';
import {PeritextEventTarget} from './PeritextEventTarget';
import {DomClipboard} from './clipboard/DomClipboard';
import {create as createDataTransfer} from '../../json-crdt-extensions/peritext/transfer/create';
import type {Peritext} from '../../json-crdt-extensions';
 
export const create = (txt: Peritext) => {
  const et = new PeritextEventTarget();
  const clipboard: PeritextEventDefaultsOpts['clipboard'] =
    typeof navigator === 'object' && navigator && navigator.clipboard
      ? new DomClipboard(navigator.clipboard)
      : undefined;
  const transfer = createDataTransfer(txt);
  const defaults = new PeritextEventDefaults(txt, et, {clipboard, transfer});
  et.defaults = defaults;
  return defaults;
};