@ionite/redis 0.0.23-beta.20260803.1 → 0.0.23-beta.20260809.2
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/dist/index.d.ts +8 -2
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RedisAdapter as RedisAdapter3 } from "@ionite/redis-core";
|
|
2
|
-
import { createReactiveRedis, getKeyPrefix, getLogger, prefixedKey, ReactiveRedisAdapter as ReactiveRedisAdapter2, ReactiveRedisClient, ReactiveRedisOptions, RedisAccessAssignmentStore, RedisAccessCatalogStore, RedisAccessIndex, RedisCustomerStore, RedisCustomerStoreOptions, RedisIamDeltaIdMapStore, RedisIamDeltaIdMapStoreOptions, RedisMagicLinkStore, RedisResourceStore, RedisSessionStore, RedisStoreOptions, RedisTenantStore, RedisUserStore, RedisWorkloadIdentityStore, RedisWorkloadIdentityStoreOptions, RedisWorkloadTokenStore } from "@ionite/redis-core";
|
|
2
|
+
import { createReactiveRedis, createRedisLfvTransport, getKeyPrefix, getLogger, prefixedKey, ReactiveRedisAdapter as ReactiveRedisAdapter2, ReactiveRedisClient, ReactiveRedisOptions, RedisAccessAssignmentStore, RedisAccessCatalogStore, RedisAccessIndex, RedisCustomerStore, RedisCustomerStoreOptions, RedisIamDeltaIdMapStore, RedisIamDeltaIdMapStoreOptions, RedisLfvTransportOptions, RedisMagicLinkStore, RedisResourceStore, RedisSessionStore, RedisStoreOptions, RedisTenantStore, RedisUserStore, RedisWorkloadIdentityStore, RedisWorkloadIdentityStoreOptions, RedisWorkloadTokenStore } from "@ionite/redis-core";
|
|
3
3
|
import { createClient } from "redis";
|
|
4
4
|
import { RedisAdapter } from "@ionite/redis-core";
|
|
5
5
|
/**
|
|
@@ -25,6 +25,12 @@ interface NodeRedisV6Client {
|
|
|
25
25
|
keys?: string[];
|
|
26
26
|
arguments?: string[];
|
|
27
27
|
}): Promise<unknown>;
|
|
28
|
+
publish?(channel: string, message: string): Promise<unknown>;
|
|
29
|
+
subscribe?(channel: string, listener: (message: string) => void): Promise<unknown>;
|
|
30
|
+
unsubscribe?(channel: string): Promise<unknown>;
|
|
31
|
+
duplicate?(): NodeRedisV6Client;
|
|
32
|
+
connect?(): Promise<unknown>;
|
|
33
|
+
disconnect?(): Promise<unknown> | unknown;
|
|
28
34
|
}
|
|
29
35
|
/**
|
|
30
36
|
* Minimal type for a node-redis v4 client. node-redis v4 and v6 expose the identical camelCase method
|
|
@@ -59,4 +65,4 @@ declare function getSharedRedisAdapter(): Promise<RedisAdapter2>;
|
|
|
59
65
|
* adapter has been created.
|
|
60
66
|
*/
|
|
61
67
|
declare function closeSharedRedisAdapter(): Promise<void>;
|
|
62
|
-
export { prefixedKey, ionRedis, getSharedRedisAdapter, getLogger, getKeyPrefix, createRedisAdapterV4, createRedisAdapter, createReactiveRedis, createClient, closeSharedRedisAdapter, RedisWorkloadTokenStore, RedisWorkloadIdentityStoreOptions, RedisWorkloadIdentityStore, RedisUserStore, RedisTenantStore, RedisStoreOptions, RedisSessionStore, RedisResourceStore, RedisMagicLinkStore, RedisIamDeltaIdMapStoreOptions, RedisIamDeltaIdMapStore, RedisCustomerStoreOptions, RedisCustomerStore, RedisAdapter3 as RedisAdapter, RedisAccessIndex, RedisAccessCatalogStore, RedisAccessAssignmentStore, ReactiveRedisOptions, ReactiveRedisClient, ReactiveRedisAdapter2 as ReactiveRedisAdapter, NodeRedisV6Client, NodeRedisV4Client, IonRedisSecret, IonRedisOptions };
|
|
68
|
+
export { prefixedKey, ionRedis, getSharedRedisAdapter, getLogger, getKeyPrefix, createRedisLfvTransport, createRedisAdapterV4, createRedisAdapter, createReactiveRedis, createClient, closeSharedRedisAdapter, RedisWorkloadTokenStore, RedisWorkloadIdentityStoreOptions, RedisWorkloadIdentityStore, RedisUserStore, RedisTenantStore, RedisStoreOptions, RedisSessionStore, RedisResourceStore, RedisMagicLinkStore, RedisLfvTransportOptions, RedisIamDeltaIdMapStoreOptions, RedisIamDeltaIdMapStore, RedisCustomerStoreOptions, RedisCustomerStore, RedisAdapter3 as RedisAdapter, RedisAccessIndex, RedisAccessCatalogStore, RedisAccessAssignmentStore, ReactiveRedisOptions, ReactiveRedisClient, ReactiveRedisAdapter2 as ReactiveRedisAdapter, NodeRedisV6Client, NodeRedisV4Client, IonRedisSecret, IonRedisOptions };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createReactiveRedis as
|
|
1
|
+
import{createReactiveRedis as u,createRedisLfvTransport as o,getKeyPrefix as b,getLogger as h,prefixedKey as a,RedisAccessAssignmentStore as r,RedisAccessCatalogStore as l,RedisAccessIndex as i,RedisCustomerStore as t,RedisIamDeltaIdMapStore as c,RedisMagicLinkStore as s,RedisResourceStore as n,RedisSessionStore as e,RedisTenantStore as RR,RedisUserStore as SR,RedisWorkloadIdentityStore as IR,RedisWorkloadTokenStore as fR}from"@ionite/redis-core";import{createClient as TR}from"redis";import{chunkedMget as H,createEvalshaRunner as J}from"@ionite/redis-core";function D(S){let x=J({eval:(R,f,O)=>S.eval(R,{keys:f,arguments:O}),evalsha:(R,f,O)=>S.evalSha(R,{keys:f,arguments:O})}),I,V,T=new Map,N=async()=>{if(I)return I;if(V)return V;return V=(async()=>{let R=S.duplicate?.();if(!R?.subscribe||!R.unsubscribe)throw Error("node-redis adapter requires client.duplicate() with subscribe/unsubscribe for Pub/Sub");return await R.connect?.(),I=R,R})().finally(()=>{V=void 0}),V};return{async get(R){return S.get(R)},async set(R,f){await S.set(R,f)},async setex(R,f,O){await S.setEx(R,f,O)},async del(R){await S.del(R)},async ttl(R){return S.ttl(R)},async getdel(R){return S.getDel(R)},async sadd(R,...f){if(f.length>0)await S.sAdd(R,f)},async srem(R,...f){if(f.length>0)await S.sRem(R,f)},async smembers(R){let f=await S.sMembers(R);return Array.from(f)},async mget(R){return H(R,(f)=>S.mGet(f))},...S.publish?{async publish(R,f){await S.publish?.(R,f)},async subscribeChannel(R,f){let O=await N(),K=T.get(R)??new Set,B=K.size===0;if(K.add(f),T.set(R,K),B)try{await O.subscribe?.(R,(W)=>{for(let G of T.get(R)??[])G(W)})}catch(W){if(K.delete(f),K.size===0)T.delete(R);if(T.size===0&&I===O)I=void 0,await O.disconnect?.();throw W}let q=!0;return async()=>{if(!q)return;q=!1;let W=T.get(R);if(W?.delete(f),W&&W.size===0)T.delete(R),await O.unsubscribe?.(R);if(T.size===0&&I===O)I=void 0,await O.disconnect?.()}}}:{},runScript:x}}var Q=D;import{createReactiveRedis as X,splitIonRedisSecret as Y}from"@ionite/redis-core";import{createClient as Z}from"redis";function A(S){let{redisUrl:x,clientOptions:I}=Y(S);if(x)I.url=x;return I}function _(S){let x=A(S);if(typeof x.url==="string"&&x.url)return x.url;let I=x.socket;if(I?.path)return I.path;if(I?.host)return`${I.host}:${I.port??6379}`;return""}async function $(S){if(typeof S.quit==="function"){await S.quit();return}if(typeof S.disconnect==="function"){await S.disconnect();return}S.destroy?.()}function E(S,x,I={}){return X({source:S,path:x,sourceName:I.sourceName,logger:I.logger,secretOptions:I.secretOptions,subscription:I.subscription,endpointOf:(V)=>_(V.data),async createClient(V){let T=Z(A(V.data));return T.on?.("error",(N)=>{I.logger?.warn?.("Reactive node-redis client error",{path:x,sourceName:I.sourceName??"redis",error:N.message})}),await T.connect(),{adapter:D(T),dispose:async()=>{await $(T)}}}})}import{createClient as F}from"redis";var M,j;async function U(){return M??=(async()=>{let S=process.env.REDIS_URL?.trim()||"redis://localhost:3503",x=F({url:S});return await x.connect(),j=x,D(x)})(),M}async function w(){let S=M;M=void 0;let x=j;if(j=void 0,S)await S.catch(()=>{});if(!x)return;try{await x.quit()}catch{x.destroy?.()}}export{a as prefixedKey,E as ionRedis,U as getSharedRedisAdapter,h as getLogger,b as getKeyPrefix,o as createRedisLfvTransport,Q as createRedisAdapterV4,D as createRedisAdapter,u as createReactiveRedis,TR as createClient,w as closeSharedRedisAdapter,fR as RedisWorkloadTokenStore,IR as RedisWorkloadIdentityStore,SR as RedisUserStore,RR as RedisTenantStore,e as RedisSessionStore,n as RedisResourceStore,s as RedisMagicLinkStore,c as RedisIamDeltaIdMapStore,t as RedisCustomerStore,i as RedisAccessIndex,l as RedisAccessCatalogStore,r as RedisAccessAssignmentStore};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionite/redis",
|
|
3
|
-
"version": "0.0.23-beta.
|
|
3
|
+
"version": "0.0.23-beta.20260809.2",
|
|
4
4
|
"description": "redis (node-redis) adapter and Redis stores for ionite. Includes createRedisAdapter (v6) and createRedisAdapterV4 (v4). Install this; redis is included.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "ionite",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"./package.json": "./package.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@ionite/redis-core": "0.0.23-beta.
|
|
27
|
+
"@ionite/redis-core": "0.0.23-beta.20260809.2",
|
|
28
28
|
"redis": "^6.1.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|