All files / json-patch/codegen codegenOp.ts

100% Statements 11/11
100% Branches 4/4
100% Functions 2/2
100% Lines 9/9

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 18 194x 4x 4x       4x 330x   50x   39x   9x   232x      
import {$test} from './ops/test';
import {$starts} from './ops/starts';
import {$add} from './ops/add';
import type {Op, OpTest, OpStarts, OpAdd} from '../op';
import type {ApplyFn} from './types';
 
export const codegenOp = (op: Op): ApplyFn => {
  switch (op.op()) {
    case 'add':
      return $add(op as OpAdd);
    case 'test':
      return $test(op as OpTest);
    case 'starts':
      return $starts(op as OpStarts);
    default:
      return (doc) => op.apply(doc).doc;
  }
};