UNPKG

@hazae41/kdbx

Version:

Rust-like KeePass (KDBX 4) file format for TypeScript

1 lines 4.4 kB
{"version":3,"file":"index.cjs","sources":["../../../../../../../../src/mods/kdbx/headers/inner/data/index.ts"],"sourcesContent":["import { Base64 } from \"@hazae41/base64\"\nimport { Cursor } from \"@hazae41/cursor\"\n\nexport namespace Data {\n\n export class AsString {\n\n constructor(\n readonly element: Element\n ) { }\n\n get() {\n return this.element.innerHTML\n }\n\n set(value: string) {\n this.element.innerHTML = value\n }\n\n }\n\n export class AsBoolean {\n\n constructor(\n readonly element: Element\n ) { }\n\n get() {\n return this.element.innerHTML === \"True\"\n }\n\n set(value: boolean) {\n this.element.innerHTML = value ? \"True\" : \"False\"\n }\n\n }\n\n export class AsInteger {\n\n constructor(\n readonly element: Element\n ) { }\n\n getOrThrow() {\n const value = this.element.innerHTML\n\n if (!value)\n throw new Error()\n\n const number = Number(value)\n\n if (!Number.isSafeInteger(number))\n throw new Error()\n\n return number\n }\n\n setOrThrow(value: number) {\n if (!Number.isSafeInteger(value))\n throw new Error()\n this.element.innerHTML = String(value)\n }\n\n incrementOrThrow() {\n this.setOrThrow(this.getOrThrow() + 1)\n }\n\n }\n\n export class AsDate {\n\n constructor(\n readonly element: Element\n ) { }\n\n getOrThrow() {\n const value = this.element.innerHTML\n\n if (!value)\n throw new Error()\n\n const binary = Base64.decodePaddedOrThrow(value)\n const cursor = new Cursor(binary)\n\n const raw = cursor.readUint64OrThrow(true)\n const fix = raw - 62135596800n\n\n return new Date(Number(fix * 1000n))\n }\n\n setOrThrow(value: Date) {\n const fix = BigInt(value.getTime()) / 1000n\n const raw = fix + 62135596800n\n\n const cursor = new Cursor(new Uint8Array(8))\n cursor.writeUint64OrThrow(raw, true)\n\n this.element.innerHTML = Base64.encodePaddedOrThrow(cursor.bytes)\n }\n\n }\n\n}"],"names":["Data","Base64","cursor","Cursor"],"mappings":"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"}