{"version":3,"file":"cell.cjs","sources":["../../../../../../../../../src/mods/tor/binary/cells/direct/create2/cell.ts"],"sourcesContent":["import { Cursor } from \"@hazae41/cursor\";\n\nexport class Create2Cell {\n  readonly #class = Create2Cell\n\n  static readonly circuit = true\n  static readonly command = 10\n\n  static readonly types = {\n    /**\n     * The old, slow, and insecure handshake\n     * @deprecated\n     */\n    TAP: 0,\n    /**\n     * The new, quick, and secure handshake\n     */\n    NTOR: 2\n  } as const\n\n  constructor(\n    readonly type: number,\n    readonly data: Uint8Array\n  ) { }\n\n  get command() {\n    return this.#class.command\n  }\n\n  sizeOrThrow() {\n    return 2 + 2 + this.data.length\n  }\n\n  writeOrThrow(cursor: Cursor) {\n    cursor.writeUint16OrThrow(this.type)\n    cursor.writeUint16OrThrow(this.data.length)\n    cursor.writeOrThrow(this.data)\n  }\n\n  static readOrThrow(cursor: Cursor) {\n    const type = cursor.readUint16OrThrow()\n    const length = cursor.readUint16OrThrow()\n    const data = cursor.readAndCopyOrThrow(length)\n\n    cursor.offset += cursor.remaining\n\n    return new Create2Cell(type, data)\n  }\n\n}"],"names":[],"mappings":";;;MAEa,WAAW,CAAA;AAmBX,IAAA,IAAA,CAAA;AACA,IAAA,IAAA,CAAA;IAnBF,MAAM,GAAG,EAAW,CAAA;AAE7B,IAAA,OAAgB,OAAO,GAAG,IAAI,CAAA;AAC9B,IAAA,OAAgB,OAAO,GAAG,EAAE,CAAA;IAE5B,OAAgB,KAAK,GAAG;AACtB;;;AAGG;AACH,QAAA,GAAG,EAAE,CAAC;AACN;;AAEG;AACH,QAAA,IAAI,EAAE,CAAC;KACC,CAAA;IAEV,WACW,CAAA,IAAY,EACZ,IAAgB,EAAA;QADhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACtB;AAEL,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;KAC3B;IAED,WAAW,GAAA;QACT,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;KAChC;AAED,IAAA,YAAY,CAAC,MAAc,EAAA;AACzB,QAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3C,QAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC/B;IAED,OAAO,WAAW,CAAC,MAAc,EAAA;AAC/B,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAA;AACvC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;AAE9C,QAAA,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAA;AAEjC,QAAA,OAAO,IAAI,EAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KACnC;;;;;;"}