INNER CODE UNIT · TypeScript

mergedRevision

backbone-hq/minibone · src/index.ts:57

    const mergedRevision = Math.max(first.revision, second.revision) + 1
    const mergedKeys = new Map(first.keys.map((key) => [key.id, key]))

    for (const key of second.keys) {
      mergedKeys.set(key.id, mergedKeys.get(key.id) || key)
    }

    return new Minibone(mergedRevision, first.uid, Array.from(mergedKeys.values()))
  }

  /**
   * Loads a minibone from a previous save.
   */
  public static async load(payload: Uint8Array, secret: Secret, context?: Serializable[]): Promise<Minibone> {
    const envelope = decodeCbor(payload)

    if (!envelope.v0) {
      throw new Error('Unrecognised envelope payload')

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…