✅ Complete Astro migration - PDPA compliant website
- Migrated all pages from Next.js to Astro - Added PDPA-compliant Privacy Policy (Thai) - Added PDPA-compliant Terms & Conditions (Thai) - Added Cookie Policy with disclosure (Thai) - Implemented cookie consent banner (client-side) - Integrated Umami Analytics placeholder - Blog system with 3 posts - Optimized Docker configuration for production - Static site build (184KB, 11 pages) - Ready for Easypanel deployment Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
This commit is contained in:
58
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs
generated
vendored
Normal file
58
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var cache_exports = {};
|
||||
__export(cache_exports, {
|
||||
Cache: () => Cache,
|
||||
NoopCache: () => NoopCache,
|
||||
hashQuery: () => hashQuery
|
||||
});
|
||||
module.exports = __toCommonJS(cache_exports);
|
||||
var import_entity = require("../../entity.cjs");
|
||||
class Cache {
|
||||
static [import_entity.entityKind] = "Cache";
|
||||
}
|
||||
class NoopCache extends Cache {
|
||||
strategy() {
|
||||
return "all";
|
||||
}
|
||||
static [import_entity.entityKind] = "NoopCache";
|
||||
async get(_key) {
|
||||
return void 0;
|
||||
}
|
||||
async put(_hashedQuery, _response, _tables, _config) {
|
||||
}
|
||||
async onMutate(_params) {
|
||||
}
|
||||
}
|
||||
async function hashQuery(sql, params) {
|
||||
const dataToHash = `${sql}-${JSON.stringify(params)}`;
|
||||
const encoder = new TextEncoder();
|
||||
const data = encoder.encode(dataToHash);
|
||||
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
||||
const hashArray = [...new Uint8Array(hashBuffer)];
|
||||
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
||||
return hashHex;
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
Cache,
|
||||
NoopCache,
|
||||
hashQuery
|
||||
});
|
||||
//# sourceMappingURL=cache.cjs.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/core/cache.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Table } from '~/index.ts';\nimport type { CacheConfig } from './types.ts';\n\nexport abstract class Cache {\n\tstatic readonly [entityKind]: string = 'Cache';\n\n\tabstract strategy(): 'explicit' | 'all';\n\n\t/**\n\t * Invoked if we should check cache for cached response\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract get(\n\t\tkey: string,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tisAutoInvalidate?: boolean,\n\t): Promise<any[] | undefined>;\n\n\t/**\n\t * Invoked if new query should be inserted to cache\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract put(\n\t\thashedQuery: string,\n\t\tresponse: any,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tconfig?: CacheConfig,\n\t): Promise<void>;\n\n\t/**\n\t * Invoked if insert, update, delete was invoked\n\t * @param tables\n\t */\n\tabstract onMutate(\n\t\tparams: MutationOption,\n\t): Promise<void>;\n}\n\nexport class NoopCache extends Cache {\n\toverride strategy() {\n\t\treturn 'all' as const;\n\t}\n\n\tstatic override readonly [entityKind]: string = 'NoopCache';\n\n\toverride async get(_key: string): Promise<any[] | undefined> {\n\t\treturn undefined;\n\t}\n\toverride async put(\n\t\t_hashedQuery: string,\n\t\t_response: any,\n\t\t_tables: string[],\n\t\t_config?: any,\n\t): Promise<void> {\n\t\t// noop\n\t}\n\toverride async onMutate(_params: MutationOption): Promise<void> {\n\t\t// noop\n\t}\n}\n\nexport type MutationOption = { tags?: string | string[]; tables?: Table<any> | Table<any>[] | string | string[] };\n\nexport async function hashQuery(sql: string, params?: any[]) {\n\tconst dataToHash = `${sql}-${JSON.stringify(params)}`;\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(dataToHash);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data);\n\tconst hashArray = [...new Uint8Array(hashBuffer)];\n\tconst hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n\n\treturn hashHex;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAIpB,MAAe,MAAM;AAAA,EAC3B,QAAiB,wBAAU,IAAY;AAoCxC;AAEO,MAAM,kBAAkB,MAAM;AAAA,EAC3B,WAAW;AACnB,WAAO;AAAA,EACR;AAAA,EAEA,QAA0B,wBAAU,IAAY;AAAA,EAEhD,MAAe,IAAI,MAA0C;AAC5D,WAAO;AAAA,EACR;AAAA,EACA,MAAe,IACd,cACA,WACA,SACA,SACgB;AAAA,EAEjB;AAAA,EACA,MAAe,SAAS,SAAwC;AAAA,EAEhE;AACD;AAIA,eAAsB,UAAU,KAAa,QAAgB;AAC5D,QAAM,aAAa,GAAG,GAAG,IAAI,KAAK,UAAU,MAAM,CAAC;AACnD,QAAM,UAAU,IAAI,YAAY;AAChC,QAAM,OAAO,QAAQ,OAAO,UAAU;AACtC,QAAM,aAAa,MAAM,OAAO,OAAO,OAAO,WAAW,IAAI;AAC7D,QAAM,YAAY,CAAC,GAAG,IAAI,WAAW,UAAU,CAAC;AAChD,QAAM,UAAU,UAAU,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAE7E,SAAO;AACR;","names":[]}
|
||||
36
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.cts
generated
vendored
Normal file
36
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.cts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { entityKind } from "../../entity.cjs";
|
||||
import type { Table } from "../../index.cjs";
|
||||
import type { CacheConfig } from "./types.cjs";
|
||||
export declare abstract class Cache {
|
||||
static readonly [entityKind]: string;
|
||||
abstract strategy(): 'explicit' | 'all';
|
||||
/**
|
||||
* Invoked if we should check cache for cached response
|
||||
* @param sql
|
||||
* @param tables
|
||||
*/
|
||||
abstract get(key: string, tables: string[], isTag: boolean, isAutoInvalidate?: boolean): Promise<any[] | undefined>;
|
||||
/**
|
||||
* Invoked if new query should be inserted to cache
|
||||
* @param sql
|
||||
* @param tables
|
||||
*/
|
||||
abstract put(hashedQuery: string, response: any, tables: string[], isTag: boolean, config?: CacheConfig): Promise<void>;
|
||||
/**
|
||||
* Invoked if insert, update, delete was invoked
|
||||
* @param tables
|
||||
*/
|
||||
abstract onMutate(params: MutationOption): Promise<void>;
|
||||
}
|
||||
export declare class NoopCache extends Cache {
|
||||
strategy(): "all";
|
||||
static readonly [entityKind]: string;
|
||||
get(_key: string): Promise<any[] | undefined>;
|
||||
put(_hashedQuery: string, _response: any, _tables: string[], _config?: any): Promise<void>;
|
||||
onMutate(_params: MutationOption): Promise<void>;
|
||||
}
|
||||
export type MutationOption = {
|
||||
tags?: string | string[];
|
||||
tables?: Table<any> | Table<any>[] | string | string[];
|
||||
};
|
||||
export declare function hashQuery(sql: string, params?: any[]): Promise<string>;
|
||||
36
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.ts
generated
vendored
Normal file
36
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { entityKind } from "../../entity.js";
|
||||
import type { Table } from "../../index.js";
|
||||
import type { CacheConfig } from "./types.js";
|
||||
export declare abstract class Cache {
|
||||
static readonly [entityKind]: string;
|
||||
abstract strategy(): 'explicit' | 'all';
|
||||
/**
|
||||
* Invoked if we should check cache for cached response
|
||||
* @param sql
|
||||
* @param tables
|
||||
*/
|
||||
abstract get(key: string, tables: string[], isTag: boolean, isAutoInvalidate?: boolean): Promise<any[] | undefined>;
|
||||
/**
|
||||
* Invoked if new query should be inserted to cache
|
||||
* @param sql
|
||||
* @param tables
|
||||
*/
|
||||
abstract put(hashedQuery: string, response: any, tables: string[], isTag: boolean, config?: CacheConfig): Promise<void>;
|
||||
/**
|
||||
* Invoked if insert, update, delete was invoked
|
||||
* @param tables
|
||||
*/
|
||||
abstract onMutate(params: MutationOption): Promise<void>;
|
||||
}
|
||||
export declare class NoopCache extends Cache {
|
||||
strategy(): "all";
|
||||
static readonly [entityKind]: string;
|
||||
get(_key: string): Promise<any[] | undefined>;
|
||||
put(_hashedQuery: string, _response: any, _tables: string[], _config?: any): Promise<void>;
|
||||
onMutate(_params: MutationOption): Promise<void>;
|
||||
}
|
||||
export type MutationOption = {
|
||||
tags?: string | string[];
|
||||
tables?: Table<any> | Table<any>[] | string | string[];
|
||||
};
|
||||
export declare function hashQuery(sql: string, params?: any[]): Promise<string>;
|
||||
32
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js
generated
vendored
Normal file
32
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import { entityKind } from "../../entity.js";
|
||||
class Cache {
|
||||
static [entityKind] = "Cache";
|
||||
}
|
||||
class NoopCache extends Cache {
|
||||
strategy() {
|
||||
return "all";
|
||||
}
|
||||
static [entityKind] = "NoopCache";
|
||||
async get(_key) {
|
||||
return void 0;
|
||||
}
|
||||
async put(_hashedQuery, _response, _tables, _config) {
|
||||
}
|
||||
async onMutate(_params) {
|
||||
}
|
||||
}
|
||||
async function hashQuery(sql, params) {
|
||||
const dataToHash = `${sql}-${JSON.stringify(params)}`;
|
||||
const encoder = new TextEncoder();
|
||||
const data = encoder.encode(dataToHash);
|
||||
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
||||
const hashArray = [...new Uint8Array(hashBuffer)];
|
||||
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
||||
return hashHex;
|
||||
}
|
||||
export {
|
||||
Cache,
|
||||
NoopCache,
|
||||
hashQuery
|
||||
};
|
||||
//# sourceMappingURL=cache.js.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/core/cache.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Table } from '~/index.ts';\nimport type { CacheConfig } from './types.ts';\n\nexport abstract class Cache {\n\tstatic readonly [entityKind]: string = 'Cache';\n\n\tabstract strategy(): 'explicit' | 'all';\n\n\t/**\n\t * Invoked if we should check cache for cached response\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract get(\n\t\tkey: string,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tisAutoInvalidate?: boolean,\n\t): Promise<any[] | undefined>;\n\n\t/**\n\t * Invoked if new query should be inserted to cache\n\t * @param sql\n\t * @param tables\n\t */\n\tabstract put(\n\t\thashedQuery: string,\n\t\tresponse: any,\n\t\ttables: string[],\n\t\tisTag: boolean,\n\t\tconfig?: CacheConfig,\n\t): Promise<void>;\n\n\t/**\n\t * Invoked if insert, update, delete was invoked\n\t * @param tables\n\t */\n\tabstract onMutate(\n\t\tparams: MutationOption,\n\t): Promise<void>;\n}\n\nexport class NoopCache extends Cache {\n\toverride strategy() {\n\t\treturn 'all' as const;\n\t}\n\n\tstatic override readonly [entityKind]: string = 'NoopCache';\n\n\toverride async get(_key: string): Promise<any[] | undefined> {\n\t\treturn undefined;\n\t}\n\toverride async put(\n\t\t_hashedQuery: string,\n\t\t_response: any,\n\t\t_tables: string[],\n\t\t_config?: any,\n\t): Promise<void> {\n\t\t// noop\n\t}\n\toverride async onMutate(_params: MutationOption): Promise<void> {\n\t\t// noop\n\t}\n}\n\nexport type MutationOption = { tags?: string | string[]; tables?: Table<any> | Table<any>[] | string | string[] };\n\nexport async function hashQuery(sql: string, params?: any[]) {\n\tconst dataToHash = `${sql}-${JSON.stringify(params)}`;\n\tconst encoder = new TextEncoder();\n\tconst data = encoder.encode(dataToHash);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data);\n\tconst hashArray = [...new Uint8Array(hashBuffer)];\n\tconst hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');\n\n\treturn hashHex;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAIpB,MAAe,MAAM;AAAA,EAC3B,QAAiB,UAAU,IAAY;AAoCxC;AAEO,MAAM,kBAAkB,MAAM;AAAA,EAC3B,WAAW;AACnB,WAAO;AAAA,EACR;AAAA,EAEA,QAA0B,UAAU,IAAY;AAAA,EAEhD,MAAe,IAAI,MAA0C;AAC5D,WAAO;AAAA,EACR;AAAA,EACA,MAAe,IACd,cACA,WACA,SACA,SACgB;AAAA,EAEjB;AAAA,EACA,MAAe,SAAS,SAAwC;AAAA,EAEhE;AACD;AAIA,eAAsB,UAAU,KAAa,QAAgB;AAC5D,QAAM,aAAa,GAAG,GAAG,IAAI,KAAK,UAAU,MAAM,CAAC;AACnD,QAAM,UAAU,IAAI,YAAY;AAChC,QAAM,OAAO,QAAQ,OAAO,UAAU;AACtC,QAAM,aAAa,MAAM,OAAO,OAAO,OAAO,WAAW,IAAI;AAC7D,QAAM,YAAY,CAAC,GAAG,IAAI,WAAW,UAAU,CAAC;AAChD,QAAM,UAAU,UAAU,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAE7E,SAAO;AACR;","names":[]}
|
||||
23
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs
generated
vendored
Normal file
23
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var core_exports = {};
|
||||
module.exports = __toCommonJS(core_exports);
|
||||
__reExport(core_exports, require("./cache.cjs"), module.exports);
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
...require("./cache.cjs")
|
||||
});
|
||||
//# sourceMappingURL=index.cjs.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/core/index.ts"],"sourcesContent":["export * from './cache.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,uBAAd;","names":[]}
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.cts
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.cts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./cache.cjs";
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.ts
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./cache.js";
|
||||
2
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js
generated
vendored
Normal file
2
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./cache.js";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/core/index.ts"],"sourcesContent":["export * from './cache.ts';\n"],"mappings":"AAAA,cAAc;","names":[]}
|
||||
17
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs
generated
vendored
Normal file
17
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var types_exports = {};
|
||||
module.exports = __toCommonJS(types_exports);
|
||||
//# sourceMappingURL=types.cjs.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/core/types.ts"],"sourcesContent":["export type CacheConfig = {\n\t/**\n\t * expire time, in seconds (a positive integer)\n\t */\n\tex?: number;\n\t/**\n\t * expire time, in milliseconds (a positive integer).\n\t */\n\tpx?: number;\n\t/**\n\t * Unix time at which the key will expire, in seconds (a positive integer).\n\t */\n\texat?: number;\n\t/**\n\t * Unix time at which the key will expire, in milliseconds (a positive integer)\n\t */\n\tpxat?: number;\n\t/**\n\t * Retain the time to live associated with the key.\n\t */\n\tkeepTtl?: boolean;\n\t/**\n\t * Set an expiration (TTL or time to live) on one or more fields of a given hash key.\n\t * Used for HEXPIRE command\n\t */\n\thexOptions?: 'NX' | 'nx' | 'XX' | 'xx' | 'GT' | 'gt' | 'LT' | 'lt';\n};\n\nexport type WithCacheConfig = { enable: boolean; config?: CacheConfig; tag?: string; autoInvalidate?: boolean };\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
||||
33
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.cts
generated
vendored
Normal file
33
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.cts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
export type CacheConfig = {
|
||||
/**
|
||||
* expire time, in seconds (a positive integer)
|
||||
*/
|
||||
ex?: number;
|
||||
/**
|
||||
* expire time, in milliseconds (a positive integer).
|
||||
*/
|
||||
px?: number;
|
||||
/**
|
||||
* Unix time at which the key will expire, in seconds (a positive integer).
|
||||
*/
|
||||
exat?: number;
|
||||
/**
|
||||
* Unix time at which the key will expire, in milliseconds (a positive integer)
|
||||
*/
|
||||
pxat?: number;
|
||||
/**
|
||||
* Retain the time to live associated with the key.
|
||||
*/
|
||||
keepTtl?: boolean;
|
||||
/**
|
||||
* Set an expiration (TTL or time to live) on one or more fields of a given hash key.
|
||||
* Used for HEXPIRE command
|
||||
*/
|
||||
hexOptions?: 'NX' | 'nx' | 'XX' | 'xx' | 'GT' | 'gt' | 'LT' | 'lt';
|
||||
};
|
||||
export type WithCacheConfig = {
|
||||
enable: boolean;
|
||||
config?: CacheConfig;
|
||||
tag?: string;
|
||||
autoInvalidate?: boolean;
|
||||
};
|
||||
33
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.ts
generated
vendored
Normal file
33
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.ts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
export type CacheConfig = {
|
||||
/**
|
||||
* expire time, in seconds (a positive integer)
|
||||
*/
|
||||
ex?: number;
|
||||
/**
|
||||
* expire time, in milliseconds (a positive integer).
|
||||
*/
|
||||
px?: number;
|
||||
/**
|
||||
* Unix time at which the key will expire, in seconds (a positive integer).
|
||||
*/
|
||||
exat?: number;
|
||||
/**
|
||||
* Unix time at which the key will expire, in milliseconds (a positive integer)
|
||||
*/
|
||||
pxat?: number;
|
||||
/**
|
||||
* Retain the time to live associated with the key.
|
||||
*/
|
||||
keepTtl?: boolean;
|
||||
/**
|
||||
* Set an expiration (TTL or time to live) on one or more fields of a given hash key.
|
||||
* Used for HEXPIRE command
|
||||
*/
|
||||
hexOptions?: 'NX' | 'nx' | 'XX' | 'xx' | 'GT' | 'gt' | 'LT' | 'lt';
|
||||
};
|
||||
export type WithCacheConfig = {
|
||||
enable: boolean;
|
||||
config?: CacheConfig;
|
||||
tag?: string;
|
||||
autoInvalidate?: boolean;
|
||||
};
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
//# sourceMappingURL=types.js.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
||||
195
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs
generated
vendored
Normal file
195
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs
generated
vendored
Normal file
@@ -0,0 +1,195 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var cache_exports = {};
|
||||
__export(cache_exports, {
|
||||
UpstashCache: () => UpstashCache,
|
||||
upstashCache: () => upstashCache
|
||||
});
|
||||
module.exports = __toCommonJS(cache_exports);
|
||||
var import_redis = require("@upstash/redis");
|
||||
var import_core = require("../core/index.cjs");
|
||||
var import_entity = require("../../entity.cjs");
|
||||
var import__ = require("../../index.cjs");
|
||||
const getByTagScript = `
|
||||
local tagsMapKey = KEYS[1] -- tags map key
|
||||
local tag = ARGV[1] -- tag
|
||||
|
||||
local compositeTableName = redis.call('HGET', tagsMapKey, tag)
|
||||
if not compositeTableName then
|
||||
return nil
|
||||
end
|
||||
|
||||
local value = redis.call('HGET', compositeTableName, tag)
|
||||
return value
|
||||
`;
|
||||
const onMutateScript = `
|
||||
local tagsMapKey = KEYS[1] -- tags map key
|
||||
local tables = {} -- initialize tables array
|
||||
local tags = ARGV -- tags array
|
||||
|
||||
for i = 2, #KEYS do
|
||||
tables[#tables + 1] = KEYS[i] -- add all keys except the first one to tables
|
||||
end
|
||||
|
||||
if #tags > 0 then
|
||||
for _, tag in ipairs(tags) do
|
||||
if tag ~= nil and tag ~= '' then
|
||||
local compositeTableName = redis.call('HGET', tagsMapKey, tag)
|
||||
if compositeTableName then
|
||||
redis.call('HDEL', compositeTableName, tag)
|
||||
end
|
||||
end
|
||||
end
|
||||
redis.call('HDEL', tagsMapKey, unpack(tags))
|
||||
end
|
||||
|
||||
local keysToDelete = {}
|
||||
|
||||
if #tables > 0 then
|
||||
local compositeTableNames = redis.call('SUNION', unpack(tables))
|
||||
for _, compositeTableName in ipairs(compositeTableNames) do
|
||||
keysToDelete[#keysToDelete + 1] = compositeTableName
|
||||
end
|
||||
for _, table in ipairs(tables) do
|
||||
keysToDelete[#keysToDelete + 1] = table
|
||||
end
|
||||
redis.call('DEL', unpack(keysToDelete))
|
||||
end
|
||||
`;
|
||||
class UpstashCache extends import_core.Cache {
|
||||
constructor(redis, config, useGlobally) {
|
||||
super();
|
||||
this.redis = redis;
|
||||
this.useGlobally = useGlobally;
|
||||
this.internalConfig = this.toInternalConfig(config);
|
||||
this.luaScripts = {
|
||||
getByTagScript: this.redis.createScript(getByTagScript, { readonly: true }),
|
||||
onMutateScript: this.redis.createScript(onMutateScript)
|
||||
};
|
||||
}
|
||||
static [import_entity.entityKind] = "UpstashCache";
|
||||
/**
|
||||
* Prefix for sets which denote the composite table names for each unique table
|
||||
*
|
||||
* Example: In the composite table set of "table1", you may find
|
||||
* `${compositeTablePrefix}table1,table2` and `${compositeTablePrefix}table1,table3`
|
||||
*/
|
||||
static compositeTableSetPrefix = "__CTS__";
|
||||
/**
|
||||
* Prefix for hashes which map hash or tags to cache values
|
||||
*/
|
||||
static compositeTablePrefix = "__CT__";
|
||||
/**
|
||||
* Key which holds the mapping of tags to composite table names
|
||||
*
|
||||
* Using this tagsMapKey, you can find the composite table name for a given tag
|
||||
* and get the cache value for that tag:
|
||||
*
|
||||
* ```ts
|
||||
* const compositeTable = redis.hget(tagsMapKey, 'tag1')
|
||||
* console.log(compositeTable) // `${compositeTablePrefix}table1,table2`
|
||||
*
|
||||
* const cachevalue = redis.hget(compositeTable, 'tag1')
|
||||
*/
|
||||
static tagsMapKey = "__tagsMap__";
|
||||
/**
|
||||
* Queries whose auto invalidation is false aren't stored in their respective
|
||||
* composite table hashes because those hashes are deleted when a mutation
|
||||
* occurs on related tables.
|
||||
*
|
||||
* Instead, they are stored in a separate hash with the prefix
|
||||
* `__nonAutoInvalidate__` to prevent them from being deleted when a mutation
|
||||
*/
|
||||
static nonAutoInvalidateTablePrefix = "__nonAutoInvalidate__";
|
||||
luaScripts;
|
||||
internalConfig;
|
||||
strategy() {
|
||||
return this.useGlobally ? "all" : "explicit";
|
||||
}
|
||||
toInternalConfig(config) {
|
||||
return config ? {
|
||||
seconds: config.ex,
|
||||
hexOptions: config.hexOptions
|
||||
} : {
|
||||
seconds: 1
|
||||
};
|
||||
}
|
||||
async get(key, tables, isTag = false, isAutoInvalidate) {
|
||||
if (!isAutoInvalidate) {
|
||||
const result2 = await this.redis.hget(UpstashCache.nonAutoInvalidateTablePrefix, key);
|
||||
return result2 === null ? void 0 : result2;
|
||||
}
|
||||
if (isTag) {
|
||||
const result2 = await this.luaScripts.getByTagScript.exec([UpstashCache.tagsMapKey], [key]);
|
||||
return result2 === null ? void 0 : result2;
|
||||
}
|
||||
const compositeKey = this.getCompositeKey(tables);
|
||||
const result = (await this.redis.hget(compositeKey, key)) ?? void 0;
|
||||
return result === null ? void 0 : result;
|
||||
}
|
||||
async put(key, response, tables, isTag = false, config) {
|
||||
const isAutoInvalidate = tables.length !== 0;
|
||||
const pipeline = this.redis.pipeline();
|
||||
const ttlSeconds = config && config.ex ? config.ex : this.internalConfig.seconds;
|
||||
const hexOptions = config && config.hexOptions ? config.hexOptions : this.internalConfig?.hexOptions;
|
||||
if (!isAutoInvalidate) {
|
||||
if (isTag) {
|
||||
pipeline.hset(UpstashCache.tagsMapKey, { [key]: UpstashCache.nonAutoInvalidateTablePrefix });
|
||||
pipeline.hexpire(UpstashCache.tagsMapKey, key, ttlSeconds, hexOptions);
|
||||
}
|
||||
pipeline.hset(UpstashCache.nonAutoInvalidateTablePrefix, { [key]: response });
|
||||
pipeline.hexpire(UpstashCache.nonAutoInvalidateTablePrefix, key, ttlSeconds, hexOptions);
|
||||
await pipeline.exec();
|
||||
return;
|
||||
}
|
||||
const compositeKey = this.getCompositeKey(tables);
|
||||
pipeline.hset(compositeKey, { [key]: response });
|
||||
pipeline.hexpire(compositeKey, key, ttlSeconds, hexOptions);
|
||||
if (isTag) {
|
||||
pipeline.hset(UpstashCache.tagsMapKey, { [key]: compositeKey });
|
||||
pipeline.hexpire(UpstashCache.tagsMapKey, key, ttlSeconds, hexOptions);
|
||||
}
|
||||
for (const table of tables) {
|
||||
pipeline.sadd(this.addTablePrefix(table), compositeKey);
|
||||
}
|
||||
await pipeline.exec();
|
||||
}
|
||||
async onMutate(params) {
|
||||
const tags = Array.isArray(params.tags) ? params.tags : params.tags ? [params.tags] : [];
|
||||
const tables = Array.isArray(params.tables) ? params.tables : params.tables ? [params.tables] : [];
|
||||
const tableNames = tables.map((table) => (0, import_entity.is)(table, import__.Table) ? table[import__.OriginalName] : table);
|
||||
const compositeTableSets = tableNames.map((table) => this.addTablePrefix(table));
|
||||
await this.luaScripts.onMutateScript.exec([UpstashCache.tagsMapKey, ...compositeTableSets], tags);
|
||||
}
|
||||
addTablePrefix = (table) => `${UpstashCache.compositeTableSetPrefix}${table}`;
|
||||
getCompositeKey = (tables) => `${UpstashCache.compositeTablePrefix}${tables.sort().join(",")}`;
|
||||
}
|
||||
function upstashCache({ url, token, config, global = false }) {
|
||||
const redis = new import_redis.Redis({
|
||||
url,
|
||||
token
|
||||
});
|
||||
return new UpstashCache(redis, config, global);
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
UpstashCache,
|
||||
upstashCache
|
||||
});
|
||||
//# sourceMappingURL=cache.cjs.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
59
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.cts
generated
vendored
Normal file
59
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.cts
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
import { Redis } from '@upstash/redis';
|
||||
import type { MutationOption } from "../core/index.cjs";
|
||||
import { Cache } from "../core/index.cjs";
|
||||
import { entityKind } from "../../entity.cjs";
|
||||
import type { CacheConfig } from "../core/types.cjs";
|
||||
export declare class UpstashCache extends Cache {
|
||||
redis: Redis;
|
||||
protected useGlobally?: boolean | undefined;
|
||||
static readonly [entityKind]: string;
|
||||
/**
|
||||
* Prefix for sets which denote the composite table names for each unique table
|
||||
*
|
||||
* Example: In the composite table set of "table1", you may find
|
||||
* `${compositeTablePrefix}table1,table2` and `${compositeTablePrefix}table1,table3`
|
||||
*/
|
||||
private static compositeTableSetPrefix;
|
||||
/**
|
||||
* Prefix for hashes which map hash or tags to cache values
|
||||
*/
|
||||
private static compositeTablePrefix;
|
||||
/**
|
||||
* Key which holds the mapping of tags to composite table names
|
||||
*
|
||||
* Using this tagsMapKey, you can find the composite table name for a given tag
|
||||
* and get the cache value for that tag:
|
||||
*
|
||||
* ```ts
|
||||
* const compositeTable = redis.hget(tagsMapKey, 'tag1')
|
||||
* console.log(compositeTable) // `${compositeTablePrefix}table1,table2`
|
||||
*
|
||||
* const cachevalue = redis.hget(compositeTable, 'tag1')
|
||||
*/
|
||||
private static tagsMapKey;
|
||||
/**
|
||||
* Queries whose auto invalidation is false aren't stored in their respective
|
||||
* composite table hashes because those hashes are deleted when a mutation
|
||||
* occurs on related tables.
|
||||
*
|
||||
* Instead, they are stored in a separate hash with the prefix
|
||||
* `__nonAutoInvalidate__` to prevent them from being deleted when a mutation
|
||||
*/
|
||||
private static nonAutoInvalidateTablePrefix;
|
||||
private luaScripts;
|
||||
private internalConfig;
|
||||
constructor(redis: Redis, config?: CacheConfig, useGlobally?: boolean | undefined);
|
||||
strategy(): "all" | "explicit";
|
||||
private toInternalConfig;
|
||||
get(key: string, tables: string[], isTag?: boolean, isAutoInvalidate?: boolean): Promise<any[] | undefined>;
|
||||
put(key: string, response: any, tables: string[], isTag?: boolean, config?: CacheConfig): Promise<void>;
|
||||
onMutate(params: MutationOption): Promise<void>;
|
||||
private addTablePrefix;
|
||||
private getCompositeKey;
|
||||
}
|
||||
export declare function upstashCache({ url, token, config, global }: {
|
||||
url: string;
|
||||
token: string;
|
||||
config?: CacheConfig;
|
||||
global?: boolean;
|
||||
}): UpstashCache;
|
||||
59
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.ts
generated
vendored
Normal file
59
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.ts
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
import { Redis } from '@upstash/redis';
|
||||
import type { MutationOption } from "../core/index.js";
|
||||
import { Cache } from "../core/index.js";
|
||||
import { entityKind } from "../../entity.js";
|
||||
import type { CacheConfig } from "../core/types.js";
|
||||
export declare class UpstashCache extends Cache {
|
||||
redis: Redis;
|
||||
protected useGlobally?: boolean | undefined;
|
||||
static readonly [entityKind]: string;
|
||||
/**
|
||||
* Prefix for sets which denote the composite table names for each unique table
|
||||
*
|
||||
* Example: In the composite table set of "table1", you may find
|
||||
* `${compositeTablePrefix}table1,table2` and `${compositeTablePrefix}table1,table3`
|
||||
*/
|
||||
private static compositeTableSetPrefix;
|
||||
/**
|
||||
* Prefix for hashes which map hash or tags to cache values
|
||||
*/
|
||||
private static compositeTablePrefix;
|
||||
/**
|
||||
* Key which holds the mapping of tags to composite table names
|
||||
*
|
||||
* Using this tagsMapKey, you can find the composite table name for a given tag
|
||||
* and get the cache value for that tag:
|
||||
*
|
||||
* ```ts
|
||||
* const compositeTable = redis.hget(tagsMapKey, 'tag1')
|
||||
* console.log(compositeTable) // `${compositeTablePrefix}table1,table2`
|
||||
*
|
||||
* const cachevalue = redis.hget(compositeTable, 'tag1')
|
||||
*/
|
||||
private static tagsMapKey;
|
||||
/**
|
||||
* Queries whose auto invalidation is false aren't stored in their respective
|
||||
* composite table hashes because those hashes are deleted when a mutation
|
||||
* occurs on related tables.
|
||||
*
|
||||
* Instead, they are stored in a separate hash with the prefix
|
||||
* `__nonAutoInvalidate__` to prevent them from being deleted when a mutation
|
||||
*/
|
||||
private static nonAutoInvalidateTablePrefix;
|
||||
private luaScripts;
|
||||
private internalConfig;
|
||||
constructor(redis: Redis, config?: CacheConfig, useGlobally?: boolean | undefined);
|
||||
strategy(): "all" | "explicit";
|
||||
private toInternalConfig;
|
||||
get(key: string, tables: string[], isTag?: boolean, isAutoInvalidate?: boolean): Promise<any[] | undefined>;
|
||||
put(key: string, response: any, tables: string[], isTag?: boolean, config?: CacheConfig): Promise<void>;
|
||||
onMutate(params: MutationOption): Promise<void>;
|
||||
private addTablePrefix;
|
||||
private getCompositeKey;
|
||||
}
|
||||
export declare function upstashCache({ url, token, config, global }: {
|
||||
url: string;
|
||||
token: string;
|
||||
config?: CacheConfig;
|
||||
global?: boolean;
|
||||
}): UpstashCache;
|
||||
170
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js
generated
vendored
Normal file
170
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
import { Redis } from "@upstash/redis";
|
||||
import { Cache } from "../core/index.js";
|
||||
import { entityKind, is } from "../../entity.js";
|
||||
import { OriginalName, Table } from "../../index.js";
|
||||
const getByTagScript = `
|
||||
local tagsMapKey = KEYS[1] -- tags map key
|
||||
local tag = ARGV[1] -- tag
|
||||
|
||||
local compositeTableName = redis.call('HGET', tagsMapKey, tag)
|
||||
if not compositeTableName then
|
||||
return nil
|
||||
end
|
||||
|
||||
local value = redis.call('HGET', compositeTableName, tag)
|
||||
return value
|
||||
`;
|
||||
const onMutateScript = `
|
||||
local tagsMapKey = KEYS[1] -- tags map key
|
||||
local tables = {} -- initialize tables array
|
||||
local tags = ARGV -- tags array
|
||||
|
||||
for i = 2, #KEYS do
|
||||
tables[#tables + 1] = KEYS[i] -- add all keys except the first one to tables
|
||||
end
|
||||
|
||||
if #tags > 0 then
|
||||
for _, tag in ipairs(tags) do
|
||||
if tag ~= nil and tag ~= '' then
|
||||
local compositeTableName = redis.call('HGET', tagsMapKey, tag)
|
||||
if compositeTableName then
|
||||
redis.call('HDEL', compositeTableName, tag)
|
||||
end
|
||||
end
|
||||
end
|
||||
redis.call('HDEL', tagsMapKey, unpack(tags))
|
||||
end
|
||||
|
||||
local keysToDelete = {}
|
||||
|
||||
if #tables > 0 then
|
||||
local compositeTableNames = redis.call('SUNION', unpack(tables))
|
||||
for _, compositeTableName in ipairs(compositeTableNames) do
|
||||
keysToDelete[#keysToDelete + 1] = compositeTableName
|
||||
end
|
||||
for _, table in ipairs(tables) do
|
||||
keysToDelete[#keysToDelete + 1] = table
|
||||
end
|
||||
redis.call('DEL', unpack(keysToDelete))
|
||||
end
|
||||
`;
|
||||
class UpstashCache extends Cache {
|
||||
constructor(redis, config, useGlobally) {
|
||||
super();
|
||||
this.redis = redis;
|
||||
this.useGlobally = useGlobally;
|
||||
this.internalConfig = this.toInternalConfig(config);
|
||||
this.luaScripts = {
|
||||
getByTagScript: this.redis.createScript(getByTagScript, { readonly: true }),
|
||||
onMutateScript: this.redis.createScript(onMutateScript)
|
||||
};
|
||||
}
|
||||
static [entityKind] = "UpstashCache";
|
||||
/**
|
||||
* Prefix for sets which denote the composite table names for each unique table
|
||||
*
|
||||
* Example: In the composite table set of "table1", you may find
|
||||
* `${compositeTablePrefix}table1,table2` and `${compositeTablePrefix}table1,table3`
|
||||
*/
|
||||
static compositeTableSetPrefix = "__CTS__";
|
||||
/**
|
||||
* Prefix for hashes which map hash or tags to cache values
|
||||
*/
|
||||
static compositeTablePrefix = "__CT__";
|
||||
/**
|
||||
* Key which holds the mapping of tags to composite table names
|
||||
*
|
||||
* Using this tagsMapKey, you can find the composite table name for a given tag
|
||||
* and get the cache value for that tag:
|
||||
*
|
||||
* ```ts
|
||||
* const compositeTable = redis.hget(tagsMapKey, 'tag1')
|
||||
* console.log(compositeTable) // `${compositeTablePrefix}table1,table2`
|
||||
*
|
||||
* const cachevalue = redis.hget(compositeTable, 'tag1')
|
||||
*/
|
||||
static tagsMapKey = "__tagsMap__";
|
||||
/**
|
||||
* Queries whose auto invalidation is false aren't stored in their respective
|
||||
* composite table hashes because those hashes are deleted when a mutation
|
||||
* occurs on related tables.
|
||||
*
|
||||
* Instead, they are stored in a separate hash with the prefix
|
||||
* `__nonAutoInvalidate__` to prevent them from being deleted when a mutation
|
||||
*/
|
||||
static nonAutoInvalidateTablePrefix = "__nonAutoInvalidate__";
|
||||
luaScripts;
|
||||
internalConfig;
|
||||
strategy() {
|
||||
return this.useGlobally ? "all" : "explicit";
|
||||
}
|
||||
toInternalConfig(config) {
|
||||
return config ? {
|
||||
seconds: config.ex,
|
||||
hexOptions: config.hexOptions
|
||||
} : {
|
||||
seconds: 1
|
||||
};
|
||||
}
|
||||
async get(key, tables, isTag = false, isAutoInvalidate) {
|
||||
if (!isAutoInvalidate) {
|
||||
const result2 = await this.redis.hget(UpstashCache.nonAutoInvalidateTablePrefix, key);
|
||||
return result2 === null ? void 0 : result2;
|
||||
}
|
||||
if (isTag) {
|
||||
const result2 = await this.luaScripts.getByTagScript.exec([UpstashCache.tagsMapKey], [key]);
|
||||
return result2 === null ? void 0 : result2;
|
||||
}
|
||||
const compositeKey = this.getCompositeKey(tables);
|
||||
const result = (await this.redis.hget(compositeKey, key)) ?? void 0;
|
||||
return result === null ? void 0 : result;
|
||||
}
|
||||
async put(key, response, tables, isTag = false, config) {
|
||||
const isAutoInvalidate = tables.length !== 0;
|
||||
const pipeline = this.redis.pipeline();
|
||||
const ttlSeconds = config && config.ex ? config.ex : this.internalConfig.seconds;
|
||||
const hexOptions = config && config.hexOptions ? config.hexOptions : this.internalConfig?.hexOptions;
|
||||
if (!isAutoInvalidate) {
|
||||
if (isTag) {
|
||||
pipeline.hset(UpstashCache.tagsMapKey, { [key]: UpstashCache.nonAutoInvalidateTablePrefix });
|
||||
pipeline.hexpire(UpstashCache.tagsMapKey, key, ttlSeconds, hexOptions);
|
||||
}
|
||||
pipeline.hset(UpstashCache.nonAutoInvalidateTablePrefix, { [key]: response });
|
||||
pipeline.hexpire(UpstashCache.nonAutoInvalidateTablePrefix, key, ttlSeconds, hexOptions);
|
||||
await pipeline.exec();
|
||||
return;
|
||||
}
|
||||
const compositeKey = this.getCompositeKey(tables);
|
||||
pipeline.hset(compositeKey, { [key]: response });
|
||||
pipeline.hexpire(compositeKey, key, ttlSeconds, hexOptions);
|
||||
if (isTag) {
|
||||
pipeline.hset(UpstashCache.tagsMapKey, { [key]: compositeKey });
|
||||
pipeline.hexpire(UpstashCache.tagsMapKey, key, ttlSeconds, hexOptions);
|
||||
}
|
||||
for (const table of tables) {
|
||||
pipeline.sadd(this.addTablePrefix(table), compositeKey);
|
||||
}
|
||||
await pipeline.exec();
|
||||
}
|
||||
async onMutate(params) {
|
||||
const tags = Array.isArray(params.tags) ? params.tags : params.tags ? [params.tags] : [];
|
||||
const tables = Array.isArray(params.tables) ? params.tables : params.tables ? [params.tables] : [];
|
||||
const tableNames = tables.map((table) => is(table, Table) ? table[OriginalName] : table);
|
||||
const compositeTableSets = tableNames.map((table) => this.addTablePrefix(table));
|
||||
await this.luaScripts.onMutateScript.exec([UpstashCache.tagsMapKey, ...compositeTableSets], tags);
|
||||
}
|
||||
addTablePrefix = (table) => `${UpstashCache.compositeTableSetPrefix}${table}`;
|
||||
getCompositeKey = (tables) => `${UpstashCache.compositeTablePrefix}${tables.sort().join(",")}`;
|
||||
}
|
||||
function upstashCache({ url, token, config, global = false }) {
|
||||
const redis = new Redis({
|
||||
url,
|
||||
token
|
||||
});
|
||||
return new UpstashCache(redis, config, global);
|
||||
}
|
||||
export {
|
||||
UpstashCache,
|
||||
upstashCache
|
||||
};
|
||||
//# sourceMappingURL=cache.js.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
23
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs
generated
vendored
Normal file
23
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var upstash_exports = {};
|
||||
module.exports = __toCommonJS(upstash_exports);
|
||||
__reExport(upstash_exports, require("./cache.cjs"), module.exports);
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
...require("./cache.cjs")
|
||||
});
|
||||
//# sourceMappingURL=index.cjs.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/upstash/index.ts"],"sourcesContent":["export * from './cache.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,uBAAd;","names":[]}
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.cts
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.cts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./cache.cjs";
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.ts
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./cache.js";
|
||||
2
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js
generated
vendored
Normal file
2
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./cache.js";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js.map
generated
vendored
Normal file
1
dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../src/cache/upstash/index.ts"],"sourcesContent":["export * from './cache.ts';\n"],"mappings":"AAAA,cAAc;","names":[]}
|
||||
Reference in New Issue
Block a user