Files
discordeno/examples/beginner/src/database/mod.ts
Skillz4Killz 3bbb03b8e3 cleanup cleanup cleanup on isle dd (#2792)
* cleanup cleanup cleanup on isle dd

* fix: rest manager import in test
2023-02-25 20:11:15 -06:00

33 lines
811 B
TypeScript

import { Kwik, KwikDecode, KwikEncode } from '../../deps.ts.js'
import { logger } from '../utils/logger.ts.js'
const log = logger({ name: 'DB Manager' })
log.info('Initializing Database')
const kwik = new Kwik()
// Add BigInt Support
kwik.msgpackExtensionCodec.register({
type: 0,
encode: (object: unknown): Uint8Array | null => {
if (typeof object === 'bigint') {
if (object <= Number.MAX_SAFE_INTEGER && object >= Number.MIN_SAFE_INTEGER) {
return KwikEncode(parseInt(object.toString(), 10), {})
} else {
return KwikEncode(object.toString(), {})
}
} else {
return null
}
},
decode: (data: Uint8Array) => {
return BigInt(KwikDecode(data, {}) as string)
},
})
// Initialize the Database
await kwik.init()
log.info('Database Initialized!')