@fraym/streams 0.36.0 → 0.37.1
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/client/client.d.ts +3 -3
- package/dist/client/client.js +1 -1
- package/dist/client/config.d.ts +1 -0
- package/dist/client/config.js +1 -1
- package/dist/client/event.d.ts +1 -1
- package/dist/client/publish.d.ts +2 -2
- package/dist/client/publish.js +1 -1
- package/dist/client/stream.d.ts +3 -3
- package/dist/client/stream.js +1 -1
- package/dist/client/subscribe.d.ts +2 -2
- package/dist/client/subscribe.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/client/client.d.ts
CHANGED
|
@@ -13,12 +13,12 @@ export interface Client {
|
|
|
13
13
|
iterateAllEvents: (tenantId: string, topic: string, includedEventTypes: string[], perPage: number, handler: HandlerFunc) => Promise<void>;
|
|
14
14
|
iterateAllEventsAfterEvent: (tenantId: string, topic: string, includedEventTypes: string[], eventId: string, perPage: number, handler: HandlerFunc) => Promise<void>;
|
|
15
15
|
publish: (topic: string, events: PublishEvent[]) => Promise<void>;
|
|
16
|
-
getStreamIterator: (topic: string, tenantId: string, stream: string, perPage: number
|
|
17
|
-
subscribe: (topics?: string[], ignoreUnhandledEvents?: boolean
|
|
16
|
+
getStreamIterator: (topic: string, tenantId: string, stream: string, perPage: number) => StreamIterator;
|
|
17
|
+
subscribe: (topics?: string[], ignoreUnhandledEvents?: boolean) => Subscription;
|
|
18
18
|
invalidateGdprData: (tenantId: string, topic: string, gdprId: string) => Promise<void>;
|
|
19
19
|
introduceGdprOnEventField: (tenantId: string, defaultValue: string, topic: string, eventId: string, fieldName: string) => Promise<void>;
|
|
20
20
|
createStreamSnapshot: (tenantId: string, topic: string, stream: string, lastSnapshottedEventId: string, snapshotEvent: PublishEvent) => Promise<void>;
|
|
21
21
|
renameEventType: (topic: string, oldEventType: string, newEventType: string) => Promise<void>;
|
|
22
22
|
close: () => void;
|
|
23
23
|
}
|
|
24
|
-
export declare const newClient: (
|
|
24
|
+
export declare const newClient: (inputConfig: ClientConfig) => Promise<Client>;
|
package/dist/client/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"newClient",{enumerable:true,get:function(){return newClient}});var _indexfreymstreamsmanagement=require("@fraym/proto/dist/index.freym.streams.management");var _grpcjs=require("@grpc/grpc-js");var _allEvents=require("./allEvents");var _config=require("./config");var _getEvent=require("./getEvent");var _getLastEvent=require("./getLastEvent");var _getLastEventByTypes=require("./getLastEventByTypes");var _introduceGdpr=require("./introduceGdpr");var _invalidateGdpr=require("./invalidateGdpr");var _publish=require("./publish");var _rename=require("./rename");var _stream=require("./stream");var _subscribe=require("./subscribe");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var newClient=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"newClient",{enumerable:true,get:function(){return newClient}});var _indexfreymstreamsmanagement=require("@fraym/proto/dist/index.freym.streams.management");var _grpcjs=require("@grpc/grpc-js");var _allEvents=require("./allEvents");var _config=require("./config");var _getEvent=require("./getEvent");var _getLastEvent=require("./getLastEvent");var _getLastEventByTypes=require("./getLastEventByTypes");var _introduceGdpr=require("./introduceGdpr");var _invalidateGdpr=require("./invalidateGdpr");var _publish=require("./publish");var _rename=require("./rename");var _stream=require("./stream");var _subscribe=require("./subscribe");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var newClient=function(inputConfig){return _async_to_generator(function(){var config,serviceClient,closeFunctions,getLastEventCheck;return _ts_generator(this,function(_state){config=(0,_config.useConfigDefaults)(inputConfig);serviceClient=new _indexfreymstreamsmanagement.ServiceClient(config.serverAddress,_grpcjs.credentials.createInsecure(),{"grpc.keepalive_time_ms":config.keepaliveInterval,"grpc.keepalive_timeout_ms":config.keepaliveTimeout,"grpc.keepalive_permit_without_calls":1,"grpc.max_receive_message_length":0x7fffffff});closeFunctions=[];getLastEventCheck=function(tenantId,topic){return _async_to_generator(function(){var now,lastEvent,lastOrderSerial;return _ts_generator(this,function(_state){switch(_state.label){case 0:now=new Date(new Date().getTime()+3e3);return[4,(0,_getLastEvent.getLastEvent)(tenantId,topic,serviceClient)];case 1:lastEvent=_state.sent();if(!lastEvent){return[2,null]}lastOrderSerial=lastEvent.orderSerial;return[2,function(lastEvent){if(!lastEvent){return true}if(lastOrderSerial==undefined){return lastEvent.raisedAt>now}var orderSerial=lastEvent.orderSerial?lastEvent.orderSerial:0;return orderSerial>lastOrderSerial}]}})})()};return[2,{getEvent:function(tenantId,topic,eventId){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_getEvent.getEvent)(tenantId,topic,eventId,serviceClient)];case 1:return[2,_state.sent()]}})})()},getLastEvent:function(tenantId,topic){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_getLastEvent.getLastEvent)(tenantId,topic,serviceClient)];case 1:return[2,_state.sent()]}})})()},getLastEventByTypes:function(tenantId,topic,types){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_getLastEventByTypes.getLastEventByTypes)(tenantId,topic,types,serviceClient)];case 1:return[2,_state.sent()]}})})()},iterateAllEvents:function(tenantId,topic,includedEventTypes,perPage,handler){return _async_to_generator(function(){var lastEventCheck;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,getLastEventCheck(tenantId,topic)];case 1:lastEventCheck=_state.sent();if(!lastEventCheck){return[2]}return[4,(0,_allEvents.getAllEvents)(tenantId,topic,includedEventTypes,perPage,handler,lastEventCheck,serviceClient)];case 2:_state.sent();return[2]}})})()},iterateAllEventsAfterEvent:function(tenantId,topic,includedEventTypes,eventId,perPage,handler){return _async_to_generator(function(){var lastEventCheck;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,getLastEventCheck(tenantId,topic)];case 1:lastEventCheck=_state.sent();if(!lastEventCheck){return[2]}return[4,(0,_allEvents.getAllEventsAfterEvent)(tenantId,topic,includedEventTypes,eventId,perPage,handler,lastEventCheck,serviceClient)];case 2:_state.sent();return[2]}})})()},publish:function(topic,events){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_publish.sendPublish)(topic,events,config.deploymentId,serviceClient)];case 1:return[2,_state.sent()]}})})()},getStreamIterator:function(topic,tenantId,stream,perPage){return{forEach:function(callback){return _async_to_generator(function(){var lastEventCheck;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,getLastEventCheck(tenantId,topic)];case 1:lastEventCheck=_state.sent();if(!lastEventCheck){return[2]}return[4,(0,_stream.getStream)(topic,tenantId,stream,perPage,function(event){return _async_to_generator(function(){return _ts_generator(this,function(_state){callback(event);return[2]})})()},lastEventCheck,config.deploymentId,serviceClient)];case 2:return[2,_state.sent()]}})})()},forEachAfterEvent:function(eventId,callback){return _async_to_generator(function(){var lastEventCheck;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,getLastEventCheck(tenantId,topic)];case 1:lastEventCheck=_state.sent();if(!lastEventCheck){return[2]}return[4,(0,_stream.getStreamAfterEvent)(topic,tenantId,stream,eventId,perPage,function(event){return _async_to_generator(function(){return _ts_generator(this,function(_state){callback(event);return[2]})})()},lastEventCheck,config.deploymentId,serviceClient)];case 2:return[2,_state.sent()]}})})()},isEmpty:function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_stream.isStreamEmpty)(topic,tenantId,stream,serviceClient)]})})()}}},subscribe:function(){var topics=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],ignoreUnhandledEvents=arguments.length>1&&arguments[1]!==void 0?arguments[1]:false;var subscription=(0,_subscribe.newSubscription)(topics,ignoreUnhandledEvents,config,serviceClient);closeFunctions.push(subscription.stop);return subscription},introduceGdprOnEventField:function(tenantId,defaultValue,topic,eventId,fieldName){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_introduceGdpr.introduceGdprOnEventField)(tenantId,defaultValue,topic,eventId,fieldName,serviceClient)];case 1:return[2,_state.sent()]}})})()},invalidateGdprData:function(tenantId,topic,gdprId){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_invalidateGdpr.sendInvalidateGdpr)(tenantId,topic,gdprId,serviceClient)];case 1:return[2,_state.sent()]}})})()},createStreamSnapshot:function(tenantId,topic,stream,idOfLastEventThatGotSnapshotted,snapshotEvent){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_stream.createStreamSnapshot)(tenantId,topic,stream,idOfLastEventThatGotSnapshotted,snapshotEvent,config.deploymentId,serviceClient)];case 1:return[2,_state.sent()]}})})()},renameEventType:function(topic,oldEventType,newEventType){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_rename.renameEventType)(topic,oldEventType,newEventType,serviceClient)];case 1:return[2,_state.sent()]}})})()},close:function(){closeFunctions.forEach(function(close){return close()})}}]})})()};
|
package/dist/client/config.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface ClientConfig {
|
|
|
3
3
|
groupId: string;
|
|
4
4
|
keepaliveInterval?: number;
|
|
5
5
|
keepaliveTimeout?: number;
|
|
6
|
+
deploymentId?: number;
|
|
6
7
|
}
|
|
7
8
|
export declare const useConfigDefaults: (config: ClientConfig) => Required<ClientConfig>;
|
|
8
9
|
export declare const getEnvDeliveryConfig: () => ClientConfig;
|
package/dist/client/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{getEnvDeliveryConfig:function(){return getEnvDeliveryConfig},useConfigDefaults:function(){return useConfigDefaults}});var _dotenv=require("dotenv");var useConfigDefaults=function(config){var _config_keepaliveInterval,_config_keepaliveTimeout;return{serverAddress:config.serverAddress,groupId:config.groupId,keepaliveInterval:(_config_keepaliveInterval=config.keepaliveInterval)!==null&&_config_keepaliveInterval!==void 0?_config_keepaliveInterval:40*1e3,keepaliveTimeout:(_config_keepaliveTimeout=config.keepaliveTimeout)!==null&&_config_keepaliveTimeout!==void 0?_config_keepaliveTimeout:3*1e3}};var getEnvDeliveryConfig=function(){(0,_dotenv.config)();var keepaliveInterval;var keepaliveTimeout;var keepaliveIntervalString=process.env.STREAMS_CLIENT_KEEPALIVE_INTERVAL;var keepaliveTimeoutString=process.env.STREAMS_CLIENT_KEEPALIVE_TIMEOUT;if(keepaliveIntervalString){keepaliveInterval=parseInt(keepaliveIntervalString,10)}if(keepaliveTimeoutString){keepaliveTimeout=parseInt(keepaliveTimeoutString,10)}var _process_env_STREAMS_CLIENT_ADDRESS,_process_env_STREAMS_CLIENT_GROUP_ID;return{serverAddress:(_process_env_STREAMS_CLIENT_ADDRESS=process.env.STREAMS_CLIENT_ADDRESS)!==null&&_process_env_STREAMS_CLIENT_ADDRESS!==void 0?_process_env_STREAMS_CLIENT_ADDRESS:"",groupId:(_process_env_STREAMS_CLIENT_GROUP_ID=process.env.STREAMS_CLIENT_GROUP_ID)!==null&&_process_env_STREAMS_CLIENT_GROUP_ID!==void 0?_process_env_STREAMS_CLIENT_GROUP_ID:"",keepaliveInterval:keepaliveInterval,keepaliveTimeout:keepaliveTimeout}};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{getEnvDeliveryConfig:function(){return getEnvDeliveryConfig},useConfigDefaults:function(){return useConfigDefaults}});var _dotenv=require("dotenv");var useConfigDefaults=function(config){var _process_env,_process;var deploymentId=((_process=process)===null||_process===void 0?void 0:(_process_env=_process.env)===null||_process_env===void 0?void 0:_process_env.STREAMS_CLIENT_DEPLOYMENT_ID)?parseInt(process.env.STREAMS_CLIENT_DEPLOYMENT_ID,10):undefined;var _config_keepaliveInterval,_config_keepaliveTimeout,_config_deploymentId,_ref;return{serverAddress:config.serverAddress,groupId:config.groupId,keepaliveInterval:(_config_keepaliveInterval=config.keepaliveInterval)!==null&&_config_keepaliveInterval!==void 0?_config_keepaliveInterval:40*1e3,keepaliveTimeout:(_config_keepaliveTimeout=config.keepaliveTimeout)!==null&&_config_keepaliveTimeout!==void 0?_config_keepaliveTimeout:3*1e3,deploymentId:(_ref=(_config_deploymentId=config.deploymentId)!==null&&_config_deploymentId!==void 0?_config_deploymentId:deploymentId)!==null&&_ref!==void 0?_ref:0}};var getEnvDeliveryConfig=function(){(0,_dotenv.config)();var keepaliveInterval;var keepaliveTimeout;var deploymentId;var keepaliveIntervalString=process.env.STREAMS_CLIENT_KEEPALIVE_INTERVAL;var keepaliveTimeoutString=process.env.STREAMS_CLIENT_KEEPALIVE_TIMEOUT;var deploymentIdString=process.env.STREAMS_CLIENT_DEPLOYMENT_ID;if(keepaliveIntervalString){keepaliveInterval=parseInt(keepaliveIntervalString,10)}if(keepaliveTimeoutString){keepaliveTimeout=parseInt(keepaliveTimeoutString,10)}if(deploymentIdString){deploymentId=parseInt(deploymentIdString,10)}var _process_env_STREAMS_CLIENT_ADDRESS,_process_env_STREAMS_CLIENT_GROUP_ID;return{serverAddress:(_process_env_STREAMS_CLIENT_ADDRESS=process.env.STREAMS_CLIENT_ADDRESS)!==null&&_process_env_STREAMS_CLIENT_ADDRESS!==void 0?_process_env_STREAMS_CLIENT_ADDRESS:"",groupId:(_process_env_STREAMS_CLIENT_GROUP_ID=process.env.STREAMS_CLIENT_GROUP_ID)!==null&&_process_env_STREAMS_CLIENT_GROUP_ID!==void 0?_process_env_STREAMS_CLIENT_GROUP_ID:"",keepaliveInterval:keepaliveInterval,keepaliveTimeout:keepaliveTimeout,deploymentId:deploymentId}};
|
package/dist/client/event.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface SubscriptionEvent extends BaseEvent {
|
|
|
3
3
|
topic: string;
|
|
4
4
|
raisedAt: Date;
|
|
5
5
|
orderSerial?: number;
|
|
6
|
+
deploymentId?: number;
|
|
6
7
|
}
|
|
7
8
|
export interface PublishEvent extends BaseEvent {
|
|
8
9
|
broadcast?: boolean;
|
|
@@ -17,7 +18,6 @@ export interface BaseEvent {
|
|
|
17
18
|
causationId?: string;
|
|
18
19
|
reason?: string;
|
|
19
20
|
userId?: string;
|
|
20
|
-
deploymentId?: number;
|
|
21
21
|
}
|
|
22
22
|
export type EventData = any | GdprEventData;
|
|
23
23
|
export interface GdprEventData {
|
package/dist/client/publish.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { PublishEvent as ProtobufPublishEvent, ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
import { PublishEvent } from "./event";
|
|
3
|
-
export declare const sendPublish: (topic: string, events: PublishEvent[], serviceClient: ServiceClient) => Promise<void>;
|
|
4
|
-
export declare const getProtobufPublishEventFromPublishedEvent: (event: PublishEvent) => ProtobufPublishEvent;
|
|
3
|
+
export declare const sendPublish: (topic: string, events: PublishEvent[], deploymentId: number, serviceClient: ServiceClient) => Promise<void>;
|
|
4
|
+
export declare const getProtobufPublishEventFromPublishedEvent: (event: PublishEvent, deploymentId: number) => ProtobufPublishEvent;
|
package/dist/client/publish.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{getProtobufPublishEventFromPublishedEvent:function(){return getProtobufPublishEventFromPublishedEvent},sendPublish:function(){return sendPublish}});var _event=require("./event");var _util=require("./util");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var sendPublish=function(topic,events,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.publish({events:events.map(function(event){return getProtobufPublishEventFromPublishedEvent(event)}),topic:topic},function(error){if(error){reject(error);return}resolve()})})})]})})()};var getProtobufPublishEventFromPublishedEvent=function(event){var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{getProtobufPublishEventFromPublishedEvent:function(){return getProtobufPublishEventFromPublishedEvent},sendPublish:function(){return sendPublish}});var _event=require("./event");var _util=require("./util");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var sendPublish=function(topic,events,deploymentId,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.publish({events:events.map(function(event){return getProtobufPublishEventFromPublishedEvent(event,deploymentId)}),topic:topic},function(error){if(error){reject(error);return}resolve()})})})]})})()};var getProtobufPublishEventFromPublishedEvent=function(event,deploymentId){var payload={};for(var key in event.payload){var currentData=event.payload[key];var _currentData_id;payload[key]=(0,_event.isGdprEventData)(currentData)?{value:JSON.stringify(currentData.value),gdpr:{default:JSON.stringify(currentData.gdprDefault),id:(_currentData_id=currentData.id)!==null&&_currentData_id!==void 0?_currentData_id:"",isInvalidated:false}}:{value:JSON.stringify(currentData),gdpr:undefined}}var _event_causationId,_event_correlationId,_event_userId,_event_broadcast,_event_reason,_event_stream,_event_type;return{id:event.id,metadata:{causationId:(_event_causationId=event.causationId)!==null&&_event_causationId!==void 0?_event_causationId:"",correlationId:(_event_correlationId=event.correlationId)!==null&&_event_correlationId!==void 0?_event_correlationId:"",orderSerial:"0",deploymentId:deploymentId.toString(),userId:(_event_userId=event.userId)!==null&&_event_userId!==void 0?_event_userId:""},options:{broadcast:(_event_broadcast=event.broadcast)!==null&&_event_broadcast!==void 0?_event_broadcast:false},reason:(_event_reason=event.reason)!==null&&_event_reason!==void 0?_event_reason:"",stream:(_event_stream=event.stream)!==null&&_event_stream!==void 0?_event_stream:"",tenantId:event.tenantId,type:(_event_type=event.type)!==null&&_event_type!==void 0?_event_type:"",payload:payload}};
|
package/dist/client/stream.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
import { HandlerFunc, PublishEvent } from "./event";
|
|
3
3
|
import { StopLoadingMoreFunc } from "./util";
|
|
4
|
-
export declare const getStream: (topic: string, tenantId: string, stream: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number
|
|
5
|
-
export declare const getStreamAfterEvent: (topic: string, tenantId: string, stream: string, eventId: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number
|
|
4
|
+
export declare const getStream: (topic: string, tenantId: string, stream: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number, serviceClient: ServiceClient) => Promise<void>;
|
|
5
|
+
export declare const getStreamAfterEvent: (topic: string, tenantId: string, stream: string, eventId: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number, serviceClient: ServiceClient) => Promise<void>;
|
|
6
6
|
export declare const isStreamEmpty: (topic: string, tenantId: string, stream: string, serviceClient: ServiceClient) => Promise<boolean>;
|
|
7
|
-
export declare const createStreamSnapshot: (tenantId: string, topic: string, stream: string, lastSnapshottedEventId: string, snapshotEvent: PublishEvent, serviceClient: ServiceClient) => Promise<void>;
|
|
7
|
+
export declare const createStreamSnapshot: (tenantId: string, topic: string, stream: string, lastSnapshottedEventId: string, snapshotEvent: PublishEvent, deploymentId: number, serviceClient: ServiceClient) => Promise<void>;
|
package/dist/client/stream.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{createStreamSnapshot:function(){return createStreamSnapshot},getStream:function(){return getStream},getStreamAfterEvent:function(){return getStreamAfterEvent},isStreamEmpty:function(){return isStreamEmpty}});var _event=require("./event");var _publish=require("./publish");var _util=require("./util");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var getStream=function(topic,tenantId,stream,perPage,handler,stopLoadingMore,deploymentId,serviceClient){return _async_to_generator(function(){var page,snapshotEventId,response,lastEvent,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,eventData,event,err;return _ts_generator(this,function(_state){switch(_state.label){case 0:page=0;snapshotEventId=null;_state.label=1;case 1:if(!true)return[3,11];return[4,getStreamPage(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient)];case 2:response=_state.sent();snapshotEventId=response.snapshotEventId;page++;lastEvent=null;_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=3;case 3:_state.trys.push([3,8,9,10]);_iterator=response.events[Symbol.iterator]();_state.label=4;case 4:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,7];eventData=_step.value;event=(0,_event.getSubscriptionEvent)(eventData);if(!event)return[3,6];return[4,handler(event)];case 5:_state.sent();lastEvent=event;_state.label=6;case 6:_iteratorNormalCompletion=true;return[3,4];case 7:return[3,10];case 8:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,10];case 9:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 10:if(stopLoadingMore(lastEvent)){return[2]}return[3,1];case 11:return[2]}})})()};var getStreamPage=function(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{createStreamSnapshot:function(){return createStreamSnapshot},getStream:function(){return getStream},getStreamAfterEvent:function(){return getStreamAfterEvent},isStreamEmpty:function(){return isStreamEmpty}});var _event=require("./event");var _publish=require("./publish");var _util=require("./util");function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var getStream=function(topic,tenantId,stream,perPage,handler,stopLoadingMore,deploymentId,serviceClient){return _async_to_generator(function(){var page,snapshotEventId,response,lastEvent,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,eventData,event,err;return _ts_generator(this,function(_state){switch(_state.label){case 0:page=0;snapshotEventId=null;_state.label=1;case 1:if(!true)return[3,11];return[4,getStreamPage(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient)];case 2:response=_state.sent();snapshotEventId=response.snapshotEventId;page++;lastEvent=null;_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=3;case 3:_state.trys.push([3,8,9,10]);_iterator=response.events[Symbol.iterator]();_state.label=4;case 4:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,7];eventData=_step.value;event=(0,_event.getSubscriptionEvent)(eventData);if(!event)return[3,6];return[4,handler(event)];case 5:_state.sent();lastEvent=event;_state.label=6;case 6:_iteratorNormalCompletion=true;return[3,4];case 7:return[3,10];case 8:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,10];case 9:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 10:if(stopLoadingMore(lastEvent)){return[2]}return[3,1];case 11:return[2]}})})()};var getStreamPage=function(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.paginateStream({stream:stream,tenantId:tenantId,topic:topic,page:page.toString(),perPage:perPage.toString(),deploymentId:deploymentId.toString(),snapshotEventId:snapshotEventId!==null&&snapshotEventId!==void 0?snapshotEventId:""},function(error,data){return _async_to_generator(function(){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data);return[2]})})()})})})]})})()};var getStreamAfterEvent=function(topic,tenantId,stream,eventId,perPage,handler,stopLoadingMore,deploymentId,serviceClient){return _async_to_generator(function(){var page,snapshotEventId,response,lastEvent,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,eventData,event,err;return _ts_generator(this,function(_state){switch(_state.label){case 0:page=0;snapshotEventId=null;_state.label=1;case 1:if(!true)return[3,11];return[4,getStreamPageAfterEvent(topic,tenantId,stream,eventId,perPage,page,deploymentId,snapshotEventId,serviceClient)];case 2:response=_state.sent();snapshotEventId=response.snapshotEventId;page++;lastEvent=null;_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=3;case 3:_state.trys.push([3,8,9,10]);_iterator=response.events[Symbol.iterator]();_state.label=4;case 4:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,7];eventData=_step.value;event=(0,_event.getSubscriptionEvent)(eventData);if(!event)return[3,6];return[4,handler(event)];case 5:_state.sent();lastEvent=event;_state.label=6;case 6:_iteratorNormalCompletion=true;return[3,4];case 7:return[3,10];case 8:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,10];case 9:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 10:if(stopLoadingMore(lastEvent)){return[2]}return[3,1];case 11:return[2]}})})()};var getStreamPageAfterEvent=function(topic,tenantId,stream,eventId,perPage,page,deploymentId,snapshotEventId,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.paginateStreamAfterEventId({stream:stream,tenantId:tenantId,topic:topic,eventId:eventId,page:page.toString(),perPage:perPage.toString(),deploymentId:deploymentId.toString(),snapshotEventId:snapshotEventId!==null&&snapshotEventId!==void 0?snapshotEventId:""},function(error,data){return _async_to_generator(function(){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data);return[2]})})()})})})]})})()};var isStreamEmpty=function(topic,tenantId,stream,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve,reject){serviceClient.isStreamEmpty({topic:topic,stream:stream,tenantId:tenantId},function(error,data){if(error){reject(error);return}resolve(data.isEmpty)})})]})})()};var createStreamSnapshot=function(tenantId,topic,stream,lastSnapshottedEventId,snapshotEvent,deploymentId,serviceClient){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve,reject){serviceClient.createStreamSnapshot({topic:topic,stream:stream,tenantId:tenantId,lastSnapshottedEventId:lastSnapshottedEventId,snapshotEvent:(0,_publish.getProtobufPublishEventFromPublishedEvent)(snapshotEvent,deploymentId)},function(error){if(error){reject(error);return}resolve()})})]})})()};
|
|
@@ -9,5 +9,5 @@ export interface Subscription {
|
|
|
9
9
|
stop: () => void;
|
|
10
10
|
}
|
|
11
11
|
export type Stream = ClientDuplexStream<SubscribeRequest, SubscribeResponse>;
|
|
12
|
-
export declare const newSubscription: (topics: string[], ignoreUnhandledEvents: boolean, config: ClientConfig
|
|
13
|
-
export declare const initStream: (topics: string[], config: ClientConfig
|
|
12
|
+
export declare const newSubscription: (topics: string[], ignoreUnhandledEvents: boolean, config: Required<ClientConfig>, serviceClient: ServiceClient) => Subscription;
|
|
13
|
+
export declare const initStream: (topics: string[], config: Required<ClientConfig>, stream: Stream) => Promise<Stream>;
|
package/dist/client/subscribe.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{initStream:function(){return initStream},newSubscription:function(){return newSubscription}});var _uuid=require("uuid");var _constants=require("@grpc/grpc-js/build/src/constants");var _event=require("./event");function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var newSubscription=function(topics,ignoreUnhandledEvents,config,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{initStream:function(){return initStream},newSubscription:function(){return newSubscription}});var _uuid=require("uuid");var _constants=require("@grpc/grpc-js/build/src/constants");var _event=require("./event");function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}var newSubscription=function(topics,ignoreUnhandledEvents,config,serviceClient){var stream=null;var closed=false;var typeHandlerMap={};var globalHandlers=[];var rebuildConnection=function(currentStream,retries){currentStream.cancel();currentStream.removeAllListeners();setTimeout(function(){stream=null;reconnect(retries)},100)};var reconnect=function(retries){return _async_to_generator(function(){var newStream,dataFn;return _ts_generator(this,function(_state){switch(_state.label){case 0:newStream=serviceClient.subscribe();newStream.on("end",function(){if(closed){newStream.cancel();return}rebuildConnection(newStream,retries-1)});newStream.on("error",function(err){if(closed){return}if(retries===0||err&&err.code&&err.code===_constants.Status.UNKNOWN){closed=true;throw err}rebuildConnection(newStream,retries-1)});dataFn=function(data){return _async_to_generator(function(){var _currentHandlers,_data_payload,_data_payload1,event,_event_type,_typeHandlerMap_,currentHandlers,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,handler,err,err1;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!data.payload||((_data_payload=data.payload)===null||_data_payload===void 0?void 0:_data_payload.$case)==="panic"||((_data_payload1=data.payload)===null||_data_payload1===void 0?void 0:_data_payload1.$case)==="subscribed"){newStream.cancel();return[2]}event=(0,_event.getSubscriptionEvent)(data.payload.event);if(!event){return[2]}currentHandlers=(_typeHandlerMap_=typeHandlerMap[(_event_type=event.type)!==null&&_event_type!==void 0?_event_type:""])!==null&&_typeHandlerMap_!==void 0?_typeHandlerMap_:[];(_currentHandlers=currentHandlers).push.apply(_currentHandlers,_to_consumable_array(globalHandlers));if(currentHandlers.length===0){if(ignoreUnhandledEvents){newStream.write(newHandledRequest(event.tenantId,event.topic));return[2]}newStream.write(newHandledRequest(event.tenantId,event.topic,"no handlers for this event, maybe you forgot to register an event handler"));return[2]}_state.label=1;case 1:_state.trys.push([1,10,,11]);_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=2;case 2:_state.trys.push([2,7,8,9]);_iterator=currentHandlers[Symbol.iterator]();_state.label=3;case 3:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,6];handler=_step.value;return[4,handler(event)];case 4:_state.sent();_state.label=5;case 5:_iteratorNormalCompletion=true;return[3,3];case 6:return[3,9];case 7:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,9];case 8:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 9:newStream.write(newHandledRequest(event.tenantId,event.topic));return[3,11];case 10:err1=_state.sent();newStream.write(newHandledRequest(event.tenantId,event.topic,err1));throw err1;case 11:return[2]}})})()};stream=newStream;return[4,initStream(topics,config,newStream)];case 1:_state.sent();retries=50;newStream.on("data",dataFn);return[2]}})})()};return{useHandler:function(type,handler){if(!typeHandlerMap[type]){typeHandlerMap[type]=[handler]}else{typeHandlerMap[type].push(handler)}},useHandlerForAllTypes:function(handler){globalHandlers.push(handler)},start:function(){reconnect(50)},stop:function(){if(stream){stream.cancel();stream=null}closed=true}}};var initStream=function(topics,config,stream){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve,reject){stream.write({payload:{$case:"subscribe",subscribe:{metadata:{group:config.groupId,subscriberId:(0,_uuid.v4)(),deploymentId:config.deploymentId.toString()},topics:topics}}});stream.once("data",function(data){var _data_payload;if(((_data_payload=data.payload)===null||_data_payload===void 0?void 0:_data_payload.$case)!=="subscribed"){reject("connection to streams service was not initialized correctly");return}if(data.payload.subscribed.error){reject("unable to subscribe to streams service: ".concat(data.payload.subscribed.error));return}resolve(stream)})})]})})()};var newHandledRequest=function(tenantId,topic,error){return{payload:{$case:"handled",handled:{tenantId:tenantId,topic:topic,error:error!==null&&error!==void 0?error:""}}}};
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./client/client"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./client/client"),exports);_export_star(require("./client/config"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraym/streams",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://github.com/fraym/freym-api",
|
|
6
6
|
"repository": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"main": "dist/index.js",
|
|
23
23
|
"types": "dist/index.d.ts",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@fraym/proto": "^0.
|
|
26
|
-
"@grpc/grpc-js": "^1.13.
|
|
25
|
+
"@fraym/proto": "^0.37.1",
|
|
26
|
+
"@grpc/grpc-js": "^1.13.4",
|
|
27
27
|
"dotenv": "^16.5.0",
|
|
28
28
|
"uuid": "^11.1.0"
|
|
29
29
|
},
|