{"version":3,"file":"cursor.cjs","sources":["../../../../../src/libs/cursor/cursor.ts"],"sourcesContent":["import { RawHexString } from \"@hazae41/hexane\"\n\nexport class TextCursor {\n\n  offset = 0\n\n  constructor(\n    readonly text: string,\n  ) { }\n\n  get before() {\n    return this.text.slice(0, this.offset)\n  }\n\n  get after() {\n    return this.text.slice(this.offset)\n  }\n\n  get remaining() {\n    return this.text.length - this.offset\n  }\n\n  readOrThrow<N extends number>(length: N): RawHexString<N> {\n    return this.text.slice(this.offset, this.offset += length).padEnd(length, \"0\") as RawHexString<N>\n  }\n\n}"],"names":[],"mappings":";;MAEa,UAAU,CAAA;AAKV,IAAA,IAAA;IAHX,MAAM,GAAG,CAAC;AAEV,IAAA,WAAA,CACW,IAAY,EAAA;QAAZ,IAAI,CAAA,IAAA,GAAJ,IAAI;;AAGf,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;AAGxC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGrC,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;;AAGvC,IAAA,WAAW,CAAmB,MAAS,EAAA;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAoB;;AAGpG;;;;"}