All files / json-crdt-extensions/mval index.ts

100% Statements 8/8
100% Branches 2/2
100% Functions 1/1
100% Lines 8/8

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 1745x 45x 45x 45x 45x 45x       45x         12x    
import {ExtensionId} from '../constants';
import {MvalNode} from './MvalNode';
import {MvalApi} from './MvalApi';
import {MNEMONIC} from './constants';
import {s} from '../../json-crdt';
import {Extension} from '../../json-crdt/extensions/Extension';
import type {ITimestampStruct} from '../../json-crdt-patch/clock';
import type {ArrNode} from '../../json-crdt/nodes/arr/ArrNode';
 
export const mval = new Extension<ExtensionId.mval, ArrNode, MvalNode, MvalApi, [value?: unknown | ITimestampStruct]>(
  ExtensionId.mval,
  MNEMONIC,
  MvalNode,
  MvalApi,
  (value: unknown | ITimestampStruct) => s.arr<any>(value === undefined ? [] : [s.json(value)]),
);