@shopify/shopify-app-session-storage-redis 4.0.3 → 4.1.0

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.
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  This package implements the `SessionStorage` interface that works with an instance of [Redis](https://redis.io/).
4
4
 
5
+ You can create an instance of `RedisSessionStorage` in several ways:
6
+
7
+ ## Using a connection URL
8
+
5
9
  ```js
6
10
  import {shopifyApp} from '@shopify/shopify-app-express';
7
11
  import {RedisSessionStorage} from '@shopify/shopify-app-session-storage-redis';
@@ -12,18 +16,22 @@ const shopify = shopifyApp({
12
16
  ),
13
17
  // ...
14
18
  });
19
+ ```
15
20
 
16
- // OR
21
+ ## Using a URL object
17
22
 
23
+ ```js
18
24
  const shopify = shopifyApp({
19
25
  sessionStorage: new RedisSessionStorage(
20
26
  new URL('redis://username:password@host/database'),
21
27
  ),
22
28
  // ...
23
29
  });
30
+ ```
24
31
 
25
- // OR
32
+ ## Using credential components
26
33
 
34
+ ```js
27
35
  const shopify = shopifyApp({
28
36
  sessionStorage: RedisSessionStorage.withCredentials(
29
37
  'host.com',
@@ -35,4 +43,20 @@ const shopify = shopifyApp({
35
43
  });
36
44
  ```
37
45
 
46
+ ## Using a RedisClient instance
47
+
48
+ > [!NOTE]
49
+ > Remember that `RedisSessionStorage` will connect to the database, but won't disconnect from it.
50
+ > If you need to restart the connection, you'll need to manually connect again for the storage to continue working.
51
+
52
+ ```js
53
+ import {RedisClientOptions, createClient} from 'redis';
54
+ const client = createClient({url: 'redis://username:password@host/database'});
55
+
56
+ const shopify = shopifyApp({
57
+ sessionStorage: new RedisSessionStorage(client),
58
+ // ...
59
+ });
60
+ ```
61
+
38
62
  If you prefer to use your own implementation of a session storage mechanism that is compatible with the `@shopify/shopify-app-express` package, see the [implementing session storage guide](../shopify-app-session-storage/implementing-session-storage.md).
@@ -5,15 +5,17 @@ var redis = require('redis');
5
5
  class RedisConnection {
6
6
  sessionStorageIdentifier;
7
7
  client;
8
- constructor(dbUrl, options, keyPrefix) {
9
- this.init(dbUrl, options);
8
+ constructor(urlOrClient, options, keyPrefix) {
9
+ this.init(urlOrClient, options);
10
10
  this.sessionStorageIdentifier = keyPrefix;
11
11
  }
12
12
  query(_query, _params) {
13
13
  throw new Error('Method not implemented. Use get(string, boolean) instead');
14
14
  }
15
15
  async connect() {
16
- await this.client.connect();
16
+ if (!this.client.isReady) {
17
+ await this.client.connect();
18
+ }
17
19
  }
18
20
  async disconnect() {
19
21
  await this.client.quit();
@@ -36,15 +38,17 @@ class RedisConnection {
36
38
  buildKey(baseKey, addKeyPrefix) {
37
39
  return addKeyPrefix ? this.generateFullKey(baseKey) : baseKey;
38
40
  }
39
- init(dbUrl, options) {
40
- this.client = redis.createClient({
41
- ...options,
42
- url: dbUrl,
43
- });
44
- this.client.on('error', this.eventHandler);
45
- this.client.on('connect', this.eventHandler);
46
- this.client.on('reconnecting', this.eventHandler);
47
- this.client.on('ready', this.eventHandler);
41
+ init(urlOrClient, options) {
42
+ if (typeof urlOrClient === 'string' || urlOrClient instanceof URL) {
43
+ this.client = redis.createClient({ ...options, url: urlOrClient.toString() });
44
+ this.client.on('error', this.eventHandler);
45
+ this.client.on('connect', this.eventHandler);
46
+ this.client.on('reconnecting', this.eventHandler);
47
+ this.client.on('ready', this.eventHandler);
48
+ }
49
+ else {
50
+ this.client = urlOrClient;
51
+ }
48
52
  }
49
53
  eventHandler = (..._args) => { };
50
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis-connection.js","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":["createClient"],"mappings":";;;;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CAAY,KAAa,EAAE,OAA2B,EAAE,SAAiB,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;KAC7B;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CAAC,KAAa,EAAE,OAA2B,EAAA;AACrD,QAAA,IAAI,CAAC,MAAM,GAAGA,kBAAY,CAAC;AACzB,YAAA,GAAG,OAAO;AACV,YAAA,GAAG,EAAE,KAAK;AACX,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"redis-connection.js","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":["createClient"],"mappings":";;;;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CACE,WAAuC,EACvC,OAA2B,EAC3B,SAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAC7B;KACF;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CACV,WAAuC,EACvC,OAA2B,EAAA;QAE3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,YAAY,GAAG,EAAE;AACjE,YAAA,IAAI,CAAC,MAAM,GAAGA,kBAAY,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;SAC3B;KACF;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
package/dist/cjs/redis.js CHANGED
@@ -5,6 +5,13 @@ var migrations = require('./migrations.js');
5
5
  var redisConnection = require('./redis-connection.js');
6
6
  var redisMigrator = require('./redis-migrator.js');
7
7
 
8
+ /* eslint-disable @shopify/typescript/prefer-pascal-case-enums */
9
+ var ShopifyStorageOption;
10
+ (function (ShopifyStorageOption) {
11
+ ShopifyStorageOption["sessionKeyPrefix"] = "sessionKeyPrefix";
12
+ ShopifyStorageOption["migratorOptions"] = "migratorOptions";
13
+ ShopifyStorageOption["onError"] = "onError";
14
+ })(ShopifyStorageOption || (ShopifyStorageOption = {}));
8
15
  const defaultRedisSessionStorageOptions = {
9
16
  sessionKeyPrefix: 'shopify_sessions',
10
17
  migratorOptions: {
@@ -20,9 +27,17 @@ class RedisSessionStorage {
20
27
  options;
21
28
  client;
22
29
  migrator;
23
- constructor(dbUrl, opts = {}) {
30
+ constructor(urlOrClient, opts = {}) {
31
+ const allowedClientKeys = Object.keys(ShopifyStorageOption);
32
+ const disallowedClientKeys = Object.keys(opts).filter((key) => !allowedClientKeys.includes(key));
33
+ if (typeof urlOrClient !== 'string' &&
34
+ !(urlOrClient instanceof URL) &&
35
+ disallowedClientKeys.length > 0) {
36
+ throw new Error('Passing a RedisClient instance is not supported with options. Set the options when creating the client ' +
37
+ 'instead.');
38
+ }
24
39
  this.options = { ...defaultRedisSessionStorageOptions, ...opts };
25
- this.internalInit = this.init(typeof dbUrl === 'string' ? dbUrl : dbUrl.toString());
40
+ this.internalInit = this.init(urlOrClient);
26
41
  this.migrator = new redisMigrator.RedisSessionStorageMigrator(this.client, this.options.migratorOptions, migrations.migrationList);
27
42
  this.ready = this.migrator.applyMigrations(this.internalInit);
28
43
  }
@@ -101,8 +116,8 @@ class RedisSessionStorage {
101
116
  }
102
117
  }
103
118
  }
104
- async init(dbUrl) {
105
- this.client = new redisConnection.RedisConnection(dbUrl, this.options, this.options.sessionKeyPrefix);
119
+ async init(urlOrClient) {
120
+ this.client = new redisConnection.RedisConnection(urlOrClient, this.options, this.options.sessionKeyPrefix);
106
121
  await this.client.connect();
107
122
  }
108
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis.js","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":["RedisSessionStorageMigrator","migrationList","Session","RedisConnection"],"mappings":"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"}
1
+ {"version":3,"file":"redis.js","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":["RedisSessionStorageMigrator","migrationList","Session","RedisConnection"],"mappings":"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"}
@@ -3,15 +3,17 @@ import { createClient } from 'redis';
3
3
  class RedisConnection {
4
4
  sessionStorageIdentifier;
5
5
  client;
6
- constructor(dbUrl, options, keyPrefix) {
7
- this.init(dbUrl, options);
6
+ constructor(urlOrClient, options, keyPrefix) {
7
+ this.init(urlOrClient, options);
8
8
  this.sessionStorageIdentifier = keyPrefix;
9
9
  }
10
10
  query(_query, _params) {
11
11
  throw new Error('Method not implemented. Use get(string, boolean) instead');
12
12
  }
13
13
  async connect() {
14
- await this.client.connect();
14
+ if (!this.client.isReady) {
15
+ await this.client.connect();
16
+ }
15
17
  }
16
18
  async disconnect() {
17
19
  await this.client.quit();
@@ -34,15 +36,17 @@ class RedisConnection {
34
36
  buildKey(baseKey, addKeyPrefix) {
35
37
  return addKeyPrefix ? this.generateFullKey(baseKey) : baseKey;
36
38
  }
37
- init(dbUrl, options) {
38
- this.client = createClient({
39
- ...options,
40
- url: dbUrl,
41
- });
42
- this.client.on('error', this.eventHandler);
43
- this.client.on('connect', this.eventHandler);
44
- this.client.on('reconnecting', this.eventHandler);
45
- this.client.on('ready', this.eventHandler);
39
+ init(urlOrClient, options) {
40
+ if (typeof urlOrClient === 'string' || urlOrClient instanceof URL) {
41
+ this.client = createClient({ ...options, url: urlOrClient.toString() });
42
+ this.client.on('error', this.eventHandler);
43
+ this.client.on('connect', this.eventHandler);
44
+ this.client.on('reconnecting', this.eventHandler);
45
+ this.client.on('ready', this.eventHandler);
46
+ }
47
+ else {
48
+ this.client = urlOrClient;
49
+ }
46
50
  }
47
51
  eventHandler = (..._args) => { };
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis-connection.mjs","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CAAY,KAAa,EAAE,OAA2B,EAAE,SAAiB,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;KAC7B;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CAAC,KAAa,EAAE,OAA2B,EAAA;AACrD,QAAA,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;AACzB,YAAA,GAAG,OAAO;AACV,YAAA,GAAG,EAAE,KAAK;AACX,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"redis-connection.mjs","sources":["../../../src/redis-connection.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAKa,eAAe,CAAA;AAC1B,IAAA,wBAAwB,CAAS;AACzB,IAAA,MAAM,CAAc;AAE5B,IAAA,WAAA,CACE,WAAuC,EACvC,OAA2B,EAC3B,SAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;KAC3C;IAED,KAAK,CAAC,MAAc,EAAE,OAAc,EAAA;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAC7B;KACF;AAED,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM,IAAI,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,GAAG,CAAC,OAAe,EAAE,KAAU,EAAE,YAAY,GAAG,IAAI,EAAA;AACxD,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACnD;IAEO,QAAQ,CAAC,OAAe,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KAC/D;IAEO,IAAI,CACV,WAAuC,EACvC,OAA2B,EAAA;QAE3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,YAAY,GAAG,EAAE;AACjE,YAAA,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;SAC3B;KACF;IAEO,YAAY,GAAG,CAAC,GAAG,KAAY,KAAI,GAAG,CAAC;AAChD;;;;"}
@@ -3,6 +3,13 @@ import { migrationList } from './migrations.mjs';
3
3
  import { RedisConnection } from './redis-connection.mjs';
4
4
  import { RedisSessionStorageMigrator } from './redis-migrator.mjs';
5
5
 
6
+ /* eslint-disable @shopify/typescript/prefer-pascal-case-enums */
7
+ var ShopifyStorageOption;
8
+ (function (ShopifyStorageOption) {
9
+ ShopifyStorageOption["sessionKeyPrefix"] = "sessionKeyPrefix";
10
+ ShopifyStorageOption["migratorOptions"] = "migratorOptions";
11
+ ShopifyStorageOption["onError"] = "onError";
12
+ })(ShopifyStorageOption || (ShopifyStorageOption = {}));
6
13
  const defaultRedisSessionStorageOptions = {
7
14
  sessionKeyPrefix: 'shopify_sessions',
8
15
  migratorOptions: {
@@ -18,9 +25,17 @@ class RedisSessionStorage {
18
25
  options;
19
26
  client;
20
27
  migrator;
21
- constructor(dbUrl, opts = {}) {
28
+ constructor(urlOrClient, opts = {}) {
29
+ const allowedClientKeys = Object.keys(ShopifyStorageOption);
30
+ const disallowedClientKeys = Object.keys(opts).filter((key) => !allowedClientKeys.includes(key));
31
+ if (typeof urlOrClient !== 'string' &&
32
+ !(urlOrClient instanceof URL) &&
33
+ disallowedClientKeys.length > 0) {
34
+ throw new Error('Passing a RedisClient instance is not supported with options. Set the options when creating the client ' +
35
+ 'instead.');
36
+ }
22
37
  this.options = { ...defaultRedisSessionStorageOptions, ...opts };
23
- this.internalInit = this.init(typeof dbUrl === 'string' ? dbUrl : dbUrl.toString());
38
+ this.internalInit = this.init(urlOrClient);
24
39
  this.migrator = new RedisSessionStorageMigrator(this.client, this.options.migratorOptions, migrationList);
25
40
  this.ready = this.migrator.applyMigrations(this.internalInit);
26
41
  }
@@ -99,8 +114,8 @@ class RedisSessionStorage {
99
114
  }
100
115
  }
101
116
  }
102
- async init(dbUrl) {
103
- this.client = new RedisConnection(dbUrl, this.options, this.options.sessionKeyPrefix);
117
+ async init(urlOrClient) {
118
+ this.client = new RedisConnection(urlOrClient, this.options, this.options.sessionKeyPrefix);
104
119
  await this.client.connect();
105
120
  }
106
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis.mjs","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAiBA,MAAM,iCAAiC,GAA+B;AACpE,IAAA,gBAAgB,EAAE,kBAAkB;AACpC,IAAA,eAAe,EAAE;AACf,QAAA,qBAAqB,EAAE,YAAY;AACpC,KAAA;CACF,CAAC;MAEW,mBAAmB,CAAA;IAC9B,OAAO,eAAe,CACpB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,QAAgB,EAChB,IAAyC,EAAA;QAEzC,OAAO,IAAI,mBAAmB,CAC5B,IAAI,GAAG,CACL,CAAW,QAAA,EAAA,kBAAkB,CAAC,QAAQ,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAC3D,QAAQ,CACT,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAClB,EACD,IAAI,CACL,CAAC;KACH;AAEe,IAAA,KAAK,CAAgB;AAC7B,IAAA,YAAY,CAAgB;AAC5B,IAAA,OAAO,CAA6B;AACpC,IAAA,MAAM,CAAkB;AACxB,IAAA,QAAQ,CAAyB;IAEzC,WACE,CAAA,KAAmB,EACnB,IAAA,GAA4C,EAAE,EAAA;QAE9C,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,iCAAiC,EAAE,GAAG,IAAI,EAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAC3B,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CACrD,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAA2B,CAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,aAAa,CACd,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/D;IAEM,MAAM,YAAY,CAAC,OAAgB,EAAA;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC;QAEjB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnB,OAAO,CAAC,EAAE,EACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAC1C,CAAC;AACF,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,MAAM,WAAW,CAAC,EAAU,EAAA;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC;QAEjB,IAAI,SAAS,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE/C,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,SAAS,CAAC;AACjC,QAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAElC,QAAA,OAAO,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;KAC7C;IAEM,MAAM,aAAa,CAAC,EAAU,EAAA;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC3B;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,MAAM,cAAc,CAAC,GAAa,EAAA;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,MAAM,kBAAkB,CAAC,IAAY,EAAA;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC;QAEjB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,iBAAiB;AAAE,YAAA,OAAO,EAAE,CAAC;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAc,EAAE,CAAC;AAC9B,QAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;AAC/B,YAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,SAAS;gBAAE,SAAS;AAEzB,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACjE,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACvB;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;AAEM,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KAChC;IAEO,MAAM,gBAAgB,CAAC,OAAgB,EAAA;AAC7C,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;AAC7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,iBAAiB,EAAE;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAElD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAChC,gBAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,gBAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;aAC7D;SACF;aAAM;AACL,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD;KACF;AAEO,IAAA,MAAM,qBAAqB,CAAC,IAAY,EAAE,EAAU,EAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,iBAAiB,EAAE;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzC,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,gBAAA,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7B,gBAAA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;aAC7D;SACF;KACF;IAEO,MAAM,IAAI,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAC/B,KAAK,EACL,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC9B,CAAC;AACF,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;KAC7B;AACF;;;;"}
1
+ {"version":3,"file":"redis.mjs","sources":["../../../src/redis.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { RedisClientOptions } from 'redis';
1
+ import { createClient, RedisClientOptions } from 'redis';
2
2
  import { DBConnection } from '@shopify/shopify-app-session-storage';
3
+ type RedisClient = ReturnType<typeof createClient>;
3
4
  export declare class RedisConnection implements DBConnection {
4
5
  sessionStorageIdentifier: string;
5
6
  private client;
6
- constructor(dbUrl: string, options: RedisClientOptions, keyPrefix: string);
7
+ constructor(urlOrClient: string | URL | RedisClient, options: RedisClientOptions, keyPrefix: string);
7
8
  query(_query: string, _params: any[]): Promise<any[]>;
8
9
  connect(): Promise<void>;
9
10
  disconnect(): Promise<void>;
@@ -16,4 +17,5 @@ export declare class RedisConnection implements DBConnection {
16
17
  private init;
17
18
  private eventHandler;
18
19
  }
20
+ export {};
19
21
  //# sourceMappingURL=redis-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-connection.d.ts","sourceRoot":"","sources":["../../src/redis-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,kBAAkB,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAIlE,qBAAa,eAAgB,YAAW,YAAY;IAClD,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,MAAM,CAAc;gBAEhB,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM;IAKzE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,UAAO;IAIpD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,YAAY,CAA2B;CAChD"}
1
+ {"version":3,"file":"redis-connection.d.ts","sourceRoot":"","sources":["../../src/redis-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAElE,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD,qBAAa,eAAgB,YAAW,YAAY;IAClD,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,MAAM,CAAc;gBAG1B,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,EACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM;IAMnB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,UAAO;IAIpD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,YAAY,CAA2B;CAChD"}
@@ -1,10 +1,16 @@
1
- import { RedisClientOptions } from 'redis';
1
+ import { RedisClientOptions, createClient } from 'redis';
2
2
  import { Session } from '@shopify/shopify-api';
3
3
  import { SessionStorage, SessionStorageMigratorOptions } from '@shopify/shopify-app-session-storage';
4
+ type RedisClient = ReturnType<typeof createClient>;
5
+ declare enum ShopifyStorageOption {
6
+ sessionKeyPrefix = "sessionKeyPrefix",
7
+ migratorOptions = "migratorOptions",
8
+ onError = "onError"
9
+ }
4
10
  export interface RedisSessionStorageOptions extends RedisClientOptions {
5
- sessionKeyPrefix: string;
6
- onError?: (...args: any[]) => void;
7
- migratorOptions?: SessionStorageMigratorOptions;
11
+ [ShopifyStorageOption.sessionKeyPrefix]: string;
12
+ [ShopifyStorageOption.migratorOptions]?: SessionStorageMigratorOptions;
13
+ [ShopifyStorageOption.onError]?: (...args: any[]) => void;
8
14
  }
9
15
  export declare class RedisSessionStorage implements SessionStorage {
10
16
  static withCredentials(host: string, db: number, username: string, password: string, opts: Partial<RedisSessionStorageOptions>): RedisSessionStorage;
@@ -13,7 +19,7 @@ export declare class RedisSessionStorage implements SessionStorage {
13
19
  private options;
14
20
  private client;
15
21
  private migrator;
16
- constructor(dbUrl: URL | string, opts?: Partial<RedisSessionStorageOptions>);
22
+ constructor(urlOrClient: URL | string | RedisClient, opts?: Partial<RedisSessionStorageOptions>);
17
23
  storeSession(session: Session): Promise<boolean>;
18
24
  loadSession(id: string): Promise<Session | undefined>;
19
25
  deleteSession(id: string): Promise<boolean>;
@@ -24,4 +30,5 @@ export declare class RedisSessionStorage implements SessionStorage {
24
30
  private removeKeyFromShopList;
25
31
  private init;
26
32
  }
33
+ export {};
27
34
  //# sourceMappingURL=redis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,6BAA6B,EAE9B,MAAM,sCAAsC,CAAC;AAM9C,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACjD;AAQD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAY3C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,KAAK,EAAE,GAAG,GAAG,MAAM,EACnB,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAcnC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAWrD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAI1B,gBAAgB;YAiBhB,qBAAqB;YAgBrB,IAAI;CAQnB"}
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,6BAA6B,EAE9B,MAAM,sCAAsC,CAAC;AAM9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAGnD,aAAK,oBAAoB;IACvB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,OAAO,YAAY;CACpB;AAGD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAChD,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACvE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC3D;AASD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAY3C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAyB;gBAGvC,WAAW,EAAE,GAAG,GAAG,MAAM,GAAG,WAAW,EACvC,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM;IA4BnC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAWrD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAI1B,gBAAgB;YAiBhB,qBAAqB;YAgBrB,IAAI;CAQnB"}