fix: inline the remember package

This commit is contained in:
Mythie
2024-05-29 22:25:23 +10:00
parent 5724e73d49
commit ebc547684a
4 changed files with 19 additions and 8 deletions

6
package-lock.json generated
View File

@ -2211,11 +2211,6 @@
"integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
"optional": true
},
"node_modules/@epic-web/remember": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@epic-web/remember/-/remember-1.0.2.tgz",
"integrity": "sha512-K7DcGoRPqVkjVhPEMQzqw7W/c3hq/3LuiI74he6SkXwR6A49aUmXpxmdb6o+NldY4FFtG42U7nL8PrqNGRxXuQ=="
},
"node_modules/@esbuild-plugins/node-resolve": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/@esbuild-plugins/node-resolve/-/node-resolve-0.1.4.tgz",
@ -27263,7 +27258,6 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@epic-web/remember": "1.0.2",
"@prisma/client": "5.4.2",
"kysely": "^0.27.3",
"prisma": "5.4.2",

View File

@ -1,10 +1,10 @@
import { remember } from '@epic-web/remember';
import { PrismaClient } from '@prisma/client';
import { Kysely, PostgresAdapter, PostgresIntrospector, PostgresQueryCompiler } from 'kysely';
import kyselyExtension from 'prisma-extension-kysely';
import type { DB } from './generated/types';
import { getDatabaseUrl } from './helper';
import { remember } from './utils/remember';
export const prisma = remember(
'prisma',

View File

@ -20,7 +20,6 @@
"seed": "tsx ./seed-database.ts"
},
"dependencies": {
"@epic-web/remember": "1.0.2",
"@prisma/client": "5.4.2",
"kysely": "^0.27.3",
"prisma": "5.4.2",

View File

@ -0,0 +1,18 @@
declare global {
// eslint-disable-next-line no-var, @typescript-eslint/no-explicit-any
var __prisma_remember: Map<string, any>;
}
export function remember<T>(name: string, getValue: () => T): T {
const thusly = globalThis;
if (!thusly.__prisma_remember) {
thusly.__prisma_remember = new Map();
}
if (!thusly.__prisma_remember.has(name)) {
thusly.__prisma_remember.set(name, getValue());
}
return thusly.__prisma_remember.get(name);
}