UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

1 lines 1.59 kB
{"version":3,"sources":["../../../src/lib/mysql/utils.ts"],"sourcesContent":["import { customType } from 'drizzle-orm/mysql-core'\n\nexport const datetimeUtc = (name: string, precision: number) =>\n\tcustomType<{ data: Date; driverData: string }>({\n\t\tdataType() {\n\t\t\treturn `datetime(${precision})`\n\t\t},\n\t\ttoDriver(value: Date): string {\n\t\t\treturn mysqlDatetimeUtc(value)\n\t\t},\n\t\tfromDriver(value: string): Date {\n\t\t\treturn mysqlDatetimeUtcToDate(value)\n\t\t},\n\t})(name)\n\nfunction mysqlDatetimeUtc(date: Date = new Date()) {\n\treturn date.toISOString().slice(0, 19).replace('T', ' ')\n}\n// Use this function instead of new Date() when converting a MySQL datetime to a\n// Date object so that the date is interpreted as UTC instead of local time (default behavior)\nfunction mysqlDatetimeUtcToDate(mysqlDatetimeUtc: string) {\n\treturn new Date(mysqlDatetimeUtc.replace(' ', 'T') + 'Z')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;wBAA2B;AAEpB,IAAMA,cAAc,wBAACC,MAAcC,kBACzCC,8BAA+C;EAC9CC,WAAAA;AACC,WAAO,YAAYF,SAAAA;EACpB;EACAG,SAASC,OAAW;AACnB,WAAOC,iBAAiBD,KAAAA;EACzB;EACAE,WAAWF,OAAa;AACvB,WAAOG,uBAAuBH,KAAAA;EAC/B;AACD,CAAA,EAAGL,IAAAA,GAXuB;AAa3B,SAASM,iBAAiBG,OAAa,oBAAIC,KAAAA,GAAM;AAChD,SAAOD,KAAKE,YAAW,EAAGC,MAAM,GAAG,EAAA,EAAIC,QAAQ,KAAK,GAAA;AACrD;AAFSP;AAKT,SAASE,uBAAuBF,mBAAwB;AACvD,SAAO,oBAAII,KAAKJ,kBAAiBO,QAAQ,KAAK,GAAA,IAAO,GAAA;AACtD;AAFSL;","names":["datetimeUtc","name","precision","customType","dataType","toDriver","value","mysqlDatetimeUtc","fromDriver","mysqlDatetimeUtcToDate","date","Date","toISOString","slice","replace"]}