public findExistingWrite()

in src/stm.ts [221:246]


  public findExistingWrite(key: Buffer): RPC.IRangeResponse | null {
    for (let i = this.ops.length - 1; i >= 0; i--) {
      const op = this.ops[i];
      switch (op.op) {
        case WriteKind.Write:
          if (op.req.key!.equals(key)) {
            return keyValueToResponse(key, op.req.value);
          }
          break;
        case WriteKind.DeleteKey:
          if (op.key.equals(key)) {
            return keyValueToResponse(key);
          }
          break;
        case WriteKind.DeleteRange:
          if (op.range.includes(key)) {
            return keyValueToResponse(key);
          }
          break;
        default:
          throw new ClientRuntimeError(`Unexpected write op ${JSON.stringify(op)}`);
      }
    }

    return null;
  }