@smartive/datocms-utils 3.0.0-next.7 → 3.0.0-next.8

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.
Files changed (31) hide show
  1. package/README.md +9 -9
  2. package/dist/cache-tags/index.js.map +1 -0
  3. package/dist/{cache → cache-tags}/provider/neon.d.ts +5 -5
  4. package/dist/{cache → cache-tags}/provider/neon.js +2 -2
  5. package/dist/cache-tags/provider/neon.js.map +1 -0
  6. package/dist/{cache → cache-tags}/provider/noop.d.ts +3 -3
  7. package/dist/{cache → cache-tags}/provider/noop.js +2 -2
  8. package/dist/cache-tags/provider/noop.js.map +1 -0
  9. package/dist/{cache → cache-tags}/provider/redis.d.ts +5 -5
  10. package/dist/{cache → cache-tags}/provider/redis.js +2 -2
  11. package/dist/cache-tags/provider/redis.js.map +1 -0
  12. package/dist/{cache → cache-tags}/types.d.ts +2 -2
  13. package/dist/{cache → cache-tags}/types.js.map +1 -1
  14. package/dist/cache-tags/utils.js.map +1 -0
  15. package/package.json +13 -13
  16. package/src/{cache → cache-tags}/provider/neon.ts +5 -5
  17. package/src/{cache → cache-tags}/provider/noop.ts +3 -3
  18. package/src/{cache → cache-tags}/provider/redis.ts +5 -5
  19. package/src/{cache → cache-tags}/types.ts +2 -2
  20. package/dist/cache/index.js.map +0 -1
  21. package/dist/cache/provider/neon.js.map +0 -1
  22. package/dist/cache/provider/noop.js.map +0 -1
  23. package/dist/cache/provider/redis.js.map +0 -1
  24. package/dist/cache/utils.js.map +0 -1
  25. /package/dist/{cache → cache-tags}/index.d.ts +0 -0
  26. /package/dist/{cache → cache-tags}/index.js +0 -0
  27. /package/dist/{cache → cache-tags}/types.js +0 -0
  28. /package/dist/{cache → cache-tags}/utils.d.ts +0 -0
  29. /package/dist/{cache → cache-tags}/utils.js +0 -0
  30. /package/src/{cache → cache-tags}/index.ts +0 -0
  31. /package/src/{cache → cache-tags}/utils.ts +0 -0
package/README.md CHANGED
@@ -53,7 +53,7 @@ const tags = parseXCacheTagsResponseHeader('tag-a tag-2 other-tag');
53
53
 
54
54
  #### Storage Providers
55
55
 
56
- The package provides two storage backends for cache tags: **Neon (Postgres)** and **Redis**. Both implement the same `CacheTagsStore` interface.
56
+ The package provides two storage backends for cache tags: **Neon (Postgres)** and **Redis**. Both implement the same `DatoCacheTagsProvider` interface.
57
57
 
58
58
  ##### Neon (Postgres) Provider
59
59
 
@@ -80,9 +80,9 @@ npm install @neondatabase/serverless
80
80
  3. Create and use the store:
81
81
 
82
82
  ```typescript
83
- import { NeonCacheTagsProvider } from '@smartive/datocms-utils/cache/neon';
83
+ import { NeonDatoCacheTagsProvider } from '@smartive/datocms-utils/cache-tags/neon';
84
84
 
85
- const provider = new NeonCacheTagsProvider({
85
+ const provider = new NeonDatoCacheTagsProvider({
86
86
  connectionString: process.env.DATABASE_URL!,
87
87
  table: 'query_cache_tags',
88
88
  });
@@ -115,9 +115,9 @@ npm install ioredis
115
115
  2. Create and use the provider:
116
116
 
117
117
  ```typescript
118
- import { RedisCacheTagsProvider } from '@smartive/datocms-utils/cache/redis';
118
+ import { RedisDatoCacheTagsProvider } from '@smartive/datocms-utils/cache-tags/redis';
119
119
 
120
- const provider = new RedisCacheTagsProvider({
120
+ const provider = new RedisDatoCacheTagsProvider({
121
121
  url: process.env.REDIS_URL!,
122
122
  keyPrefix: 'prod:', // Optional: namespace for multi-environment setups
123
123
  });
@@ -142,7 +142,7 @@ REDIS_URL=redis://username:password@redis-host:6379
142
142
  REDIS_URL=redis://localhost:6379
143
143
  ```
144
144
 
145
- #### `CacheTagsProvider` Interface
145
+ #### `DatoCacheTagsProvider` Interface
146
146
 
147
147
  Both providers implement:
148
148
 
@@ -155,9 +155,9 @@ Both providers implement:
155
155
 
156
156
  ```typescript
157
157
  import { generateQueryId, parseXCacheTagsResponseHeader } from '@smartive/datocms-utils/cache';
158
- import { RedisCacheTagsProvider } from '@smartive/datocms-utils/cache/redis';
158
+ import { RedisDatoCacheTagsProvider } from '@smartive/datocms-utils/cache-tags/redis';
159
159
 
160
- const provider = new RedisCacheTagsProvider({
160
+ const provider = new RedisDatoCacheTagsProvider({
161
161
  url: process.env.REDIS_URL!,
162
162
  keyPrefix: 'myapp:',
163
163
  });
@@ -179,7 +179,7 @@ The package includes TypeScript types for DatoCMS webhooks and cache tags:
179
179
 
180
180
  - `CacheTag`: A branded type for cache tags, ensuring type safety
181
181
  - `CacheTagsInvalidateWebhook`: Type definition for DatoCMS cache tag invalidation webhook payloads
182
- - `CacheTagsProvider`: Interface for cache tag storage implementations
182
+ - `DatoCacheTagsProvider`: Interface for cache tag storage implementations
183
183
 
184
184
  ## License
185
185
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache-tags/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
2
- type NeonCacheTagsStoreConfig = {
1
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
2
+ type NeonDatoCacheTagsProviderConfig = {
3
3
  /**
4
4
  * Neon connection string. You can find it in the "Connection" tab of your Neon project dashboard.
5
5
  * Has the format `postgresql://user:pass@host/db`
@@ -19,12 +19,12 @@ type NeonCacheTagsStoreConfig = {
19
19
  readonly table: string;
20
20
  };
21
21
  /**
22
- * A `CacheTagsProvider` implementation that uses Neon as the storage backend.
22
+ * A `DatoCacheTagsProvider` implementation that uses Neon as the storage backend.
23
23
  */
24
- export declare class NeonCacheTagsProvider implements CacheTagsProvider {
24
+ export declare class NeonDatoCacheTagsProvider implements DatoCacheTagsProvider {
25
25
  private readonly sql;
26
26
  private readonly table;
27
- constructor({ connectionUrl, table }: NeonCacheTagsStoreConfig);
27
+ constructor({ connectionUrl, table }: NeonDatoCacheTagsProviderConfig);
28
28
  storeQueryCacheTags(queryId: string, cacheTags: CacheTag[]): Promise<void>;
29
29
  queriesReferencingCacheTags(cacheTags: CacheTag[]): Promise<string[]>;
30
30
  deleteCacheTags(cacheTags: CacheTag[]): Promise<number>;
@@ -1,8 +1,8 @@
1
1
  import { neon } from '@neondatabase/serverless';
2
2
  /**
3
- * A `CacheTagsProvider` implementation that uses Neon as the storage backend.
3
+ * A `DatoCacheTagsProvider` implementation that uses Neon as the storage backend.
4
4
  */
5
- export class NeonCacheTagsProvider {
5
+ export class NeonDatoCacheTagsProvider {
6
6
  sql;
7
7
  table;
8
8
  constructor({ connectionUrl, table }) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/cache-tags/provider/neon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAuBhD;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACnB,GAAG,CAAC;IACJ,KAAK,CAAC;IAEvB,YAAY,EAAE,aAAa,EAAE,KAAK,EAAmC;QACnE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,WAAW,YAAY,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACnC,iCAAiC,IAAI,CAAC,KAAK,wBAAwB,YAAY,GAAG,EAClF,SAAS,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC7C,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,wBAAwB,YAAY,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC3H,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
1
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
2
2
  /**
3
- * A `CacheTagsProvider` implementation that does not perform any actual storage operations.
3
+ * A `DatoCacheTagsProvider` implementation that does not perform any actual storage operations.
4
4
  *
5
5
  * _Note: This implementation is useful for testing purposes or when you want to disable caching without changing the code that interacts with the cache._
6
6
  */
7
- export declare class NoopCacheTagsProvider implements CacheTagsProvider {
7
+ export declare class NoopDatoCacheTagsProvider implements DatoCacheTagsProvider {
8
8
  storeQueryCacheTags(queryId: string, cacheTags: CacheTag[]): Promise<void>;
9
9
  queriesReferencingCacheTags(cacheTags: CacheTag[]): Promise<string[]>;
10
10
  deleteCacheTags(cacheTags: CacheTag[]): Promise<number>;
@@ -1,9 +1,9 @@
1
1
  /**
2
- * A `CacheTagsProvider` implementation that does not perform any actual storage operations.
2
+ * A `DatoCacheTagsProvider` implementation that does not perform any actual storage operations.
3
3
  *
4
4
  * _Note: This implementation is useful for testing purposes or when you want to disable caching without changing the code that interacts with the cache._
5
5
  */
6
- export class NoopCacheTagsProvider {
6
+ export class NoopDatoCacheTagsProvider {
7
7
  async storeQueryCacheTags(queryId, cacheTags) {
8
8
  console.debug('-- storeQueryCacheTags called', { queryId, cacheTags });
9
9
  return Promise.resolve();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop.js","sourceRoot":"","sources":["../../../src/cache-tags/provider/noop.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAC7B,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAEvE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAEtE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
2
- type RedisCacheTagsStoreConfig = {
1
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
2
+ type RedisDatoCacheTagsProviderConfig = {
3
3
  /**
4
4
  * Redis connection string. For example, `redis://user:pass@host:port/db`.
5
5
  */
@@ -12,12 +12,12 @@ type RedisCacheTagsStoreConfig = {
12
12
  readonly keyPrefix?: string;
13
13
  };
14
14
  /**
15
- * A `CacheTagsProvider` implementation that uses Redis as the storage backend.
15
+ * A `DatoCacheTagsProvider` implementation that uses Redis as the storage backend.
16
16
  */
17
- export declare class RedisCacheTagsProvider implements CacheTagsProvider {
17
+ export declare class RedisDatoCacheTagsProvider implements DatoCacheTagsProvider {
18
18
  private readonly redis;
19
19
  private readonly keyPrefix;
20
- constructor({ connectionUrl, keyPrefix }: RedisCacheTagsStoreConfig);
20
+ constructor({ connectionUrl, keyPrefix }: RedisDatoCacheTagsProviderConfig);
21
21
  storeQueryCacheTags(queryId: string, cacheTags: CacheTag[]): Promise<void>;
22
22
  queriesReferencingCacheTags(cacheTags: CacheTag[]): Promise<string[]>;
23
23
  deleteCacheTags(cacheTags: CacheTag[]): Promise<number>;
@@ -1,8 +1,8 @@
1
1
  import { Redis } from 'ioredis';
2
2
  /**
3
- * A `CacheTagsProvider` implementation that uses Redis as the storage backend.
3
+ * A `DatoCacheTagsProvider` implementation that uses Redis as the storage backend.
4
4
  */
5
- export class RedisCacheTagsProvider {
5
+ export class RedisDatoCacheTagsProvider {
6
6
  redis;
7
7
  keyPrefix;
8
8
  constructor({ connectionUrl, keyPrefix }) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache-tags/provider/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBhC;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACpB,KAAK,CAAC;IACN,SAAS,CAAC;IAE3B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAoC;QACxE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;YACpC,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -24,9 +24,9 @@ export type CacheTagsInvalidateWebhook = {
24
24
  };
25
25
  };
26
26
  /**
27
- * Configuration object for creating a `CacheTagsStore` implementation.
27
+ * Configuration object for creating a `DatoCacheTagsProvider` implementation.
28
28
  */
29
- export interface CacheTagsProvider {
29
+ export interface DatoCacheTagsProvider {
30
30
  /**
31
31
  * Stores the cache tags of a query.
32
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache-tags/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cache-tags/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAsB,EAAE,EAAE,CACtE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAuB,QAAsB,EAAE,SAAsB,EAAU,EAAE;IAC9G,OAAO,UAAU,CAAC,MAAM,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/datocms-utils",
3
- "version": "3.0.0-next.7",
3
+ "version": "3.0.0-next.8",
4
4
  "description": "A set of utilities and helpers to work with DatoCMS in a Next.js project.",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -9,21 +9,21 @@
9
9
  "types": "./dist/index.d.ts",
10
10
  "import": "./dist/index.js"
11
11
  },
12
- "./cache": {
13
- "types": "./dist/cache/index.d.ts",
14
- "import": "./dist/cache/index.js"
12
+ "./cache-tags": {
13
+ "types": "./dist/cache-tags/index.d.ts",
14
+ "import": "./dist/cache-tags/index.js"
15
15
  },
16
- "./cache/redis": {
17
- "types": "./dist/cache/provider/redis.d.ts",
18
- "import": "./dist/cache/provider/redis.js"
16
+ "./cache-tags/redis": {
17
+ "types": "./dist/cache-tags/provider/redis.d.ts",
18
+ "import": "./dist/cache-tags/provider/redis.js"
19
19
  },
20
- "./cache/neon": {
21
- "types": "./dist/cache/provider/neon.d.ts",
22
- "import": "./dist/cache/provider/neon.js"
20
+ "./cache-tags/neon": {
21
+ "types": "./dist/cache-tags/provider/neon.d.ts",
22
+ "import": "./dist/cache-tags/provider/neon.js"
23
23
  },
24
- "./cache/noop": {
25
- "types": "./dist/cache/provider/noop.d.ts",
26
- "import": "./dist/cache/provider/noop.js"
24
+ "./cache-tags/noop": {
25
+ "types": "./dist/cache-tags/provider/noop.d.ts",
26
+ "import": "./dist/cache-tags/provider/noop.js"
27
27
  }
28
28
  },
29
29
  "files": [
@@ -1,7 +1,7 @@
1
1
  import { neon } from '@neondatabase/serverless';
2
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
2
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
3
3
 
4
- type NeonCacheTagsStoreConfig = {
4
+ type NeonDatoCacheTagsProviderConfig = {
5
5
  /**
6
6
  * Neon connection string. You can find it in the "Connection" tab of your Neon project dashboard.
7
7
  * Has the format `postgresql://user:pass@host/db`
@@ -22,13 +22,13 @@ type NeonCacheTagsStoreConfig = {
22
22
  };
23
23
 
24
24
  /**
25
- * A `CacheTagsProvider` implementation that uses Neon as the storage backend.
25
+ * A `DatoCacheTagsProvider` implementation that uses Neon as the storage backend.
26
26
  */
27
- export class NeonCacheTagsProvider implements CacheTagsProvider {
27
+ export class NeonDatoCacheTagsProvider implements DatoCacheTagsProvider {
28
28
  private readonly sql;
29
29
  private readonly table;
30
30
 
31
- constructor({ connectionUrl, table }: NeonCacheTagsStoreConfig) {
31
+ constructor({ connectionUrl, table }: NeonDatoCacheTagsProviderConfig) {
32
32
  this.sql = neon(connectionUrl, { fullResults: true });
33
33
  this.table = table;
34
34
  }
@@ -1,11 +1,11 @@
1
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
1
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
2
2
 
3
3
  /**
4
- * A `CacheTagsProvider` implementation that does not perform any actual storage operations.
4
+ * A `DatoCacheTagsProvider` implementation that does not perform any actual storage operations.
5
5
  *
6
6
  * _Note: This implementation is useful for testing purposes or when you want to disable caching without changing the code that interacts with the cache._
7
7
  */
8
- export class NoopCacheTagsProvider implements CacheTagsProvider {
8
+ export class NoopDatoCacheTagsProvider implements DatoCacheTagsProvider {
9
9
  public async storeQueryCacheTags(queryId: string, cacheTags: CacheTag[]) {
10
10
  console.debug('-- storeQueryCacheTags called', { queryId, cacheTags });
11
11
 
@@ -1,7 +1,7 @@
1
1
  import { Redis } from 'ioredis';
2
- import { type CacheTag, type CacheTagsProvider } from '../types.js';
2
+ import { type CacheTag, type DatoCacheTagsProvider } from '../types.js';
3
3
 
4
- type RedisCacheTagsStoreConfig = {
4
+ type RedisDatoCacheTagsProviderConfig = {
5
5
  /**
6
6
  * Redis connection string. For example, `redis://user:pass@host:port/db`.
7
7
  */
@@ -15,13 +15,13 @@ type RedisCacheTagsStoreConfig = {
15
15
  };
16
16
 
17
17
  /**
18
- * A `CacheTagsProvider` implementation that uses Redis as the storage backend.
18
+ * A `DatoCacheTagsProvider` implementation that uses Redis as the storage backend.
19
19
  */
20
- export class RedisCacheTagsProvider implements CacheTagsProvider {
20
+ export class RedisDatoCacheTagsProvider implements DatoCacheTagsProvider {
21
21
  private readonly redis;
22
22
  private readonly keyPrefix;
23
23
 
24
- constructor({ connectionUrl, keyPrefix }: RedisCacheTagsStoreConfig) {
24
+ constructor({ connectionUrl, keyPrefix }: RedisDatoCacheTagsProviderConfig) {
25
25
  this.redis = new Redis(connectionUrl, {
26
26
  maxRetriesPerRequest: 3,
27
27
  lazyConnect: true,
@@ -24,9 +24,9 @@ export type CacheTagsInvalidateWebhook = {
24
24
  };
25
25
 
26
26
  /**
27
- * Configuration object for creating a `CacheTagsStore` implementation.
27
+ * Configuration object for creating a `DatoCacheTagsProvider` implementation.
28
28
  */
29
- export interface CacheTagsProvider {
29
+ export interface DatoCacheTagsProvider {
30
30
  /**
31
31
  * Stores the cache tags of a query.
32
32
  *
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../src/cache/provider/neon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAuBhD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,GAAG,CAAC;IACJ,KAAK,CAAC;IAEvB,YAAY,EAAE,aAAa,EAAE,KAAK,EAA4B;QAC5D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,WAAW,YAAY,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACnC,iCAAiC,IAAI,CAAC,KAAK,wBAAwB,YAAY,GAAG,EAClF,SAAS,CACV,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC7C,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,wBAAwB,YAAY,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC3H,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"noop.js","sourceRoot":"","sources":["../../../src/cache/provider/noop.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IACzB,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAEvE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAEtE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/provider/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBhC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,KAAK,CAAC;IACN,SAAS,CAAC;IAE3B,YAAY,EAAE,aAAa,EAAE,SAAS,EAA6B;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;YACpC,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,SAAqB;QACrE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,SAAqB;QAC5D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAqB;QAChD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cache/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAsB,EAAE,EAAE,CACtE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAuB,QAAsB,EAAE,SAAsB,EAAU,EAAE;IAC9G,OAAO,UAAU,CAAC,MAAM,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes