@devbro/pashmak 0.1.34 → 0.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -756,19 +756,15 @@ var cache = (0, import_neko_helper2.createSingleton)((label) => {
756
756
  });
757
757
 
758
758
  // src/cache.mts
759
- var crypto = __toESM(require("crypto"), 1);
760
759
  async function cacheQuery(q, options = {}) {
761
760
  options.ttl = options.ttl ?? 3600;
762
761
  options.cache_label = options.cache_label ?? "default";
763
762
  const sql = q.toSql();
764
- const key = "sql_cache:" + crypto.createHash("md5").update(`${sql.sql}:${sql.bindings.join(",")}`).digest("hex");
765
- const cachedResult = await cache(options.cache_label).get(key);
766
- if (cachedResult) {
767
- return JSON.parse(cachedResult);
768
- }
769
- const rc = await q.get();
770
- await cache(options.cache_label).put(key, JSON.stringify(rc), options.ttl);
771
- return rc;
763
+ return await cache(options.cache_label).remember(
764
+ sql,
765
+ async () => await q.get(),
766
+ options
767
+ );
772
768
  }
773
769
  __name(cacheQuery, "cacheQuery");
774
770
  // Annotate the CommonJS export names for ESM import in node:
package/dist/cache.mjs CHANGED
@@ -2,19 +2,15 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  export * from "@devbro/neko-cache";
4
4
  import { cache } from "./facades.mjs";
5
- import * as crypto from "crypto";
6
5
  async function cacheQuery(q, options = {}) {
7
6
  options.ttl = options.ttl ?? 3600;
8
7
  options.cache_label = options.cache_label ?? "default";
9
8
  const sql = q.toSql();
10
- const key = "sql_cache:" + crypto.createHash("md5").update(`${sql.sql}:${sql.bindings.join(",")}`).digest("hex");
11
- const cachedResult = await cache(options.cache_label).get(key);
12
- if (cachedResult) {
13
- return JSON.parse(cachedResult);
14
- }
15
- const rc = await q.get();
16
- await cache(options.cache_label).put(key, JSON.stringify(rc), options.ttl);
17
- return rc;
9
+ return await cache(options.cache_label).remember(
10
+ sql,
11
+ async () => await q.get(),
12
+ options
13
+ );
18
14
  }
19
15
  __name(cacheQuery, "cacheQuery");
20
16
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cache.mts"],"sourcesContent":["export * from \"@devbro/neko-cache\";\n\nimport { Query } from \"@devbro/neko-sql\";\nimport { cache } from \"./facades.mjs\";\nimport * as crypto from \"crypto\";\n\nexport type CacheQueryOptions = {\n ttl?: number;\n tags?: string[];\n cache_label?: string;\n};\n\nexport async function cacheQuery(\n q: Query,\n options: CacheQueryOptions = {},\n): ReturnType<Query[\"get\"]> {\n options.ttl = options.ttl ?? 3600; // default TTL 1 hour\n options.cache_label = options.cache_label ?? \"default\";\n const sql = q.toSql();\n\n const key =\n \"sql_cache:\" +\n crypto\n .createHash(\"md5\")\n .update(`${sql.sql}:${sql.bindings.join(\",\")}`)\n .digest(\"hex\");\n const cachedResult = (await cache(options.cache_label).get(key)) as\n | string\n | undefined;\n if (cachedResult) {\n return JSON.parse(cachedResult);\n }\n\n const rc = await q.get();\n await cache(options.cache_label).put(key, JSON.stringify(rc), options.ttl);\n return rc;\n}\n"],"mappings":";;AAAA,cAAc;AAGd,SAAS,aAAa;AACtB,YAAY,YAAY;AAQxB,eAAsB,WACpB,GACA,UAA6B,CAAC,GACJ;AAC1B,UAAQ,MAAM,QAAQ,OAAO;AAC7B,UAAQ,cAAc,QAAQ,eAAe;AAC7C,QAAM,MAAM,EAAE,MAAM;AAEpB,QAAM,MACJ,eACA,OACG,WAAW,KAAK,EAChB,OAAO,GAAG,IAAI,GAAG,IAAI,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,EAC7C,OAAO,KAAK;AACjB,QAAM,eAAgB,MAAM,MAAM,QAAQ,WAAW,EAAE,IAAI,GAAG;AAG9D,MAAI,cAAc;AAChB,WAAO,KAAK,MAAM,YAAY;AAAA,EAChC;AAEA,QAAM,KAAK,MAAM,EAAE,IAAI;AACvB,QAAM,MAAM,QAAQ,WAAW,EAAE,IAAI,KAAK,KAAK,UAAU,EAAE,GAAG,QAAQ,GAAG;AACzE,SAAO;AACT;AAxBsB;","names":[]}
1
+ {"version":3,"sources":["../src/cache.mts"],"sourcesContent":["export * from \"@devbro/neko-cache\";\n\nimport { Query } from \"@devbro/neko-sql\";\nimport { cache } from \"./facades.mjs\";\nimport * as crypto from \"crypto\";\nimport { JSONValue } from \"@devbro/neko-helper\";\n\nexport type CacheQueryOptions = {\n ttl?: number;\n tags?: string[];\n cache_label?: string;\n};\n\nexport async function cacheQuery(\n q: Query,\n options: CacheQueryOptions = {},\n): ReturnType<Query[\"get\"]> {\n options.ttl = options.ttl ?? 3600; // default TTL 1 hour\n options.cache_label = options.cache_label ?? \"default\";\n const sql = q.toSql();\n\n return await cache(options.cache_label).remember(\n sql as JSONValue,\n async () => await q.get(),\n options,\n );\n}\n"],"mappings":";;AAAA,cAAc;AAGd,SAAS,aAAa;AAUtB,eAAsB,WACpB,GACA,UAA6B,CAAC,GACJ;AAC1B,UAAQ,MAAM,QAAQ,OAAO;AAC7B,UAAQ,cAAc,QAAQ,eAAe;AAC7C,QAAM,MAAM,EAAE,MAAM;AAEpB,SAAO,MAAM,MAAM,QAAQ,WAAW,EAAE;AAAA,IACtC;AAAA,IACA,YAAY,MAAM,EAAE,IAAI;AAAA,IACxB;AAAA,EACF;AACF;AAbsB;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devbro/pashmak",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "testing application for the entire repo",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",