@fraym/streams 0.30.0-alpha.18 → 0.30.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 +11 -0
- package/dist/client/allEvents.d.ts +0 -1
- package/dist/client/allEvents.js +1 -84
- package/dist/client/client.d.ts +2 -4
- package/dist/client/client.js +1 -119
- package/dist/client/config.d.ts +1 -3
- package/dist/client/config.js +1 -14
- package/dist/client/event.d.ts +1 -2
- package/dist/client/event.js +1 -49
- package/dist/client/getEvent.d.ts +0 -1
- package/dist/client/getEvent.js +1 -26
- package/dist/client/getLastEvent.d.ts +0 -1
- package/dist/client/getLastEvent.js +1 -29
- package/dist/client/getLastEventByTypes.d.ts +0 -1
- package/dist/client/getLastEventByTypes.js +1 -30
- package/dist/client/introduceGdpr.d.ts +0 -1
- package/dist/client/introduceGdpr.js +1 -22
- package/dist/client/invalidateGdpr.d.ts +0 -1
- package/dist/client/invalidateGdpr.js +1 -20
- package/dist/client/publish.d.ts +2 -3
- package/dist/client/publish.js +1 -58
- package/dist/client/stream.d.ts +1 -2
- package/dist/client/stream.js +1 -130
- package/dist/client/subscribe.d.ts +2 -3
- package/dist/client/subscribe.js +1 -142
- package/dist/client/util.d.ts +0 -1
- package/dist/client/util.js +1 -22
- package/dist/eslint.config.js +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -17
- package/package.json +6 -5
- package/dist/client/allEvents.d.ts.map +0 -1
- package/dist/client/client.d.ts.map +0 -1
- package/dist/client/config.d.ts.map +0 -1
- package/dist/client/event.d.ts.map +0 -1
- package/dist/client/getEvent.d.ts.map +0 -1
- package/dist/client/getLastEvent.d.ts.map +0 -1
- package/dist/client/getLastEventByTypes.d.ts.map +0 -1
- package/dist/client/introduceGdpr.d.ts.map +0 -1
- package/dist/client/invalidateGdpr.d.ts.map +0 -1
- package/dist/client/publish.d.ts.map +0 -1
- package/dist/client/stream.d.ts.map +0 -1
- package/dist/client/subscribe.d.ts.map +0 -1
- package/dist/client/util.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# streams
|
|
2
|
+
|
|
3
|
+
Client implementation in JavaScript for the Freym service [streams](https://github.com/fraym/streams).
|
|
4
|
+
|
|
5
|
+
## Docs
|
|
6
|
+
|
|
7
|
+
Please have a look at our [documentation](https://docs.freym.becklyn.app/docs/services/streams/grpc).
|
|
8
|
+
|
|
9
|
+
## License
|
|
10
|
+
|
|
11
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
@@ -3,4 +3,3 @@ import { HandlerFunc } from "./event";
|
|
|
3
3
|
import { StopLoadingMoreFunc } from "./util";
|
|
4
4
|
export declare const getAllEvents: (tenantId: string, topic: string, types: string[], perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, serviceClient: ServiceClient) => Promise<void>;
|
|
5
5
|
export declare const getAllEventsAfterEvent: (tenantId: string, topic: string, types: string[], eventId: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, serviceClient: ServiceClient) => Promise<void>;
|
|
6
|
-
//# sourceMappingURL=allEvents.d.ts.map
|
package/dist/client/allEvents.js
CHANGED
|
@@ -1,84 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAllEventsAfterEvent = exports.getAllEvents = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const util_1 = require("./util");
|
|
6
|
-
const getAllEvents = async (tenantId, topic, types, perPage, handler, stopLoadingMore, serviceClient) => {
|
|
7
|
-
let lastEventId = null;
|
|
8
|
-
let events = [];
|
|
9
|
-
while (true) {
|
|
10
|
-
if (!lastEventId) {
|
|
11
|
-
events = await getEventPage(tenantId, topic, types, perPage, 0, serviceClient);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
events = await getEventPageAfterEvent(tenantId, topic, types, lastEventId, perPage, 0, serviceClient);
|
|
15
|
-
}
|
|
16
|
-
let lastEvent = null;
|
|
17
|
-
for (const eventData of events) {
|
|
18
|
-
const event = (0, event_1.getSubscriptionEvent)(eventData);
|
|
19
|
-
if (event) {
|
|
20
|
-
await handler(event);
|
|
21
|
-
lastEvent = event;
|
|
22
|
-
lastEventId = event.id;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (stopLoadingMore(lastEvent)) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
exports.getAllEvents = getAllEvents;
|
|
31
|
-
const getEventPage = async (tenantId, topic, types, perPage, page, serviceClient) => {
|
|
32
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
33
|
-
serviceClient.paginateEvents({
|
|
34
|
-
tenantId,
|
|
35
|
-
topic,
|
|
36
|
-
types,
|
|
37
|
-
page: page.toString(),
|
|
38
|
-
perPage: perPage.toString(),
|
|
39
|
-
}, async (error, data) => {
|
|
40
|
-
if (error) {
|
|
41
|
-
reject(error);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
resolve(data.events);
|
|
45
|
-
});
|
|
46
|
-
}));
|
|
47
|
-
};
|
|
48
|
-
const getAllEventsAfterEvent = async (tenantId, topic, types, eventId, perPage, handler, stopLoadingMore, serviceClient) => {
|
|
49
|
-
let page = 0;
|
|
50
|
-
while (true) {
|
|
51
|
-
const events = await getEventPageAfterEvent(tenantId, topic, types, eventId, perPage, page, serviceClient);
|
|
52
|
-
page++;
|
|
53
|
-
let lastEvent = null;
|
|
54
|
-
for (const eventData of events) {
|
|
55
|
-
const event = (0, event_1.getSubscriptionEvent)(eventData);
|
|
56
|
-
if (event) {
|
|
57
|
-
await handler(event);
|
|
58
|
-
lastEvent = event;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (stopLoadingMore(lastEvent)) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
exports.getAllEventsAfterEvent = getAllEventsAfterEvent;
|
|
67
|
-
const getEventPageAfterEvent = async (tenantId, topic, types, eventId, perPage, page, serviceClient) => {
|
|
68
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
69
|
-
serviceClient.paginateEventsAfterEventId({
|
|
70
|
-
tenantId,
|
|
71
|
-
topic,
|
|
72
|
-
types,
|
|
73
|
-
eventId,
|
|
74
|
-
page: page.toString(),
|
|
75
|
-
perPage: perPage.toString(),
|
|
76
|
-
}, async (error, data) => {
|
|
77
|
-
if (error) {
|
|
78
|
-
reject(error);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
resolve(data.events);
|
|
82
|
-
});
|
|
83
|
-
}));
|
|
84
|
-
};
|
|
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,{getAllEvents:function(){return getAllEvents},getAllEventsAfterEvent:function(){return getAllEventsAfterEvent}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 getAllEvents=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types,perPage,handler,stopLoadingMore,serviceClient){var lastEventId,events,lastEvent,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,eventData,event,err;return _ts_generator(this,function(_state){switch(_state.label){case 0:lastEventId=null;events=[];_state.label=1;case 1:if(!true)return[3,14];if(!!lastEventId)return[3,3];return[4,getEventPage(tenantId,topic,types,perPage,0,serviceClient)];case 2:events=_state.sent();return[3,5];case 3:return[4,getEventPageAfterEvent(tenantId,topic,types,lastEventId,perPage,0,serviceClient)];case 4:events=_state.sent();_state.label=5;case 5:lastEvent=null;_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=6;case 6:_state.trys.push([6,11,12,13]);_iterator=events[Symbol.iterator]();_state.label=7;case 7:if(!!(_iteratorNormalCompletion=(_step=_iterator.next()).done))return[3,10];eventData=_step.value;event=(0,_event.getSubscriptionEvent)(eventData);if(!event)return[3,9];return[4,handler(event)];case 8:_state.sent();lastEvent=event;lastEventId=event.id;_state.label=9;case 9:_iteratorNormalCompletion=true;return[3,7];case 10:return[3,13];case 11:err=_state.sent();_didIteratorError=true;_iteratorError=err;return[3,13];case 12:try{if(!_iteratorNormalCompletion&&_iterator.return!=null){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}return[7];case 13:if(stopLoadingMore(lastEvent)){return[2]}return[3,1];case 14:return[2]}})});return function getAllEvents(tenantId,topic,types,perPage,handler,stopLoadingMore,serviceClient){return _ref.apply(this,arguments)}}();var getEventPage=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types,perPage,page,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.paginateEvents({tenantId:tenantId,topic:topic,types:types,page:page.toString(),perPage:perPage.toString()},/*#__PURE__*/function(){var _ref=_async_to_generator(function(error,data){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data.events);return[2]})});return function(error,data){return _ref.apply(this,arguments)}}())})})]})});return function getEventPage(tenantId,topic,types,perPage,page,serviceClient){return _ref.apply(this,arguments)}}();var getAllEventsAfterEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types,eventId,perPage,handler,stopLoadingMore,serviceClient){var page,events,lastEvent,_iteratorNormalCompletion,_didIteratorError,_iteratorError,_iterator,_step,eventData,event,err;return _ts_generator(this,function(_state){switch(_state.label){case 0:page=0;_state.label=1;case 1:if(!true)return[3,11];return[4,getEventPageAfterEvent(tenantId,topic,types,eventId,perPage,page,serviceClient)];case 2:events=_state.sent();page++;lastEvent=null;_iteratorNormalCompletion=true,_didIteratorError=false,_iteratorError=undefined;_state.label=3;case 3:_state.trys.push([3,8,9,10]);_iterator=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]}})});return function getAllEventsAfterEvent(tenantId,topic,types,eventId,perPage,handler,stopLoadingMore,serviceClient){return _ref.apply(this,arguments)}}();var getEventPageAfterEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types,eventId,perPage,page,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.paginateEventsAfterEventId({tenantId:tenantId,topic:topic,types:types,eventId:eventId,page:page.toString(),perPage:perPage.toString()},/*#__PURE__*/function(){var _ref=_async_to_generator(function(error,data){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data.events);return[2]})});return function(error,data){return _ref.apply(this,arguments)}}())})})]})});return function getEventPageAfterEvent(tenantId,topic,types,eventId,perPage,page,serviceClient){return _ref.apply(this,arguments)}}();
|
package/dist/client/client.d.ts
CHANGED
|
@@ -13,13 +13,11 @@ 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
|
-
|
|
17
|
-
|
|
18
|
-
subscribe: (topics?: string[], ignoreUnhandledEvents?: boolean) => Subscription;
|
|
16
|
+
getStreamIterator: (topic: string, tenantId: string, stream: string, perPage: number, deploymentId?: number | null) => StreamIterator;
|
|
17
|
+
subscribe: (topics?: string[], ignoreUnhandledEvents?: boolean, deploymentId?: number) => Subscription;
|
|
19
18
|
invalidateGdprData: (tenantId: string, topic: string, gdprId: string) => Promise<void>;
|
|
20
19
|
introduceGdprOnEventField: (tenantId: string, defaultValue: string, topic: string, eventId: string, fieldName: string) => Promise<void>;
|
|
21
20
|
createStreamSnapshot: (tenantId: string, topic: string, stream: string, lastSnapshottedEventId: string, snapshotEvent: PublishEvent) => Promise<void>;
|
|
22
21
|
close: () => void;
|
|
23
22
|
}
|
|
24
23
|
export declare const newClient: (config: ClientConfig) => Promise<Client>;
|
|
25
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client/client.js
CHANGED
|
@@ -1,119 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.newClient = void 0;
|
|
4
|
-
const index_freym_streams_management_1 = require("@fraym/proto/dist/index.freym.streams.management");
|
|
5
|
-
const grpc_js_1 = require("@grpc/grpc-js");
|
|
6
|
-
const allEvents_1 = require("./allEvents");
|
|
7
|
-
const config_1 = require("./config");
|
|
8
|
-
const getEvent_1 = require("./getEvent");
|
|
9
|
-
const getLastEvent_1 = require("./getLastEvent");
|
|
10
|
-
const getLastEventByTypes_1 = require("./getLastEventByTypes");
|
|
11
|
-
const introduceGdpr_1 = require("./introduceGdpr");
|
|
12
|
-
const invalidateGdpr_1 = require("./invalidateGdpr");
|
|
13
|
-
const publish_1 = require("./publish");
|
|
14
|
-
const stream_1 = require("./stream");
|
|
15
|
-
const subscribe_1 = require("./subscribe");
|
|
16
|
-
const newClient = async (config) => {
|
|
17
|
-
config = (0, config_1.useConfigDefaults)(config);
|
|
18
|
-
const serviceClient = new index_freym_streams_management_1.ServiceClient(config.serverAddress, grpc_js_1.credentials.createInsecure(), {
|
|
19
|
-
"grpc.keepalive_time_ms": config.keepaliveInterval,
|
|
20
|
-
"grpc.keepalive_timeout_ms": config.keepaliveTimeout,
|
|
21
|
-
"grpc.keepalive_permit_without_calls": 1,
|
|
22
|
-
});
|
|
23
|
-
const closeFunctions = [];
|
|
24
|
-
const getLastEventCheck = async (tenantId, topic) => {
|
|
25
|
-
const now = new Date(new Date().getTime() + 3000);
|
|
26
|
-
const lastEvent = await (0, getLastEvent_1.getLastEvent)(tenantId, topic, serviceClient);
|
|
27
|
-
if (!lastEvent) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
const lastOrderSerial = lastEvent.orderSerial;
|
|
31
|
-
return (lastEvent) => {
|
|
32
|
-
if (!lastEvent) {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
if (lastOrderSerial == undefined) {
|
|
36
|
-
return lastEvent.raisedAt > now;
|
|
37
|
-
}
|
|
38
|
-
const orderSerial = lastEvent.orderSerial ? lastEvent.orderSerial : 0;
|
|
39
|
-
return orderSerial > lastOrderSerial;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
const getStreamIterator = async (topic, tenantId, stream, perPage) => {
|
|
43
|
-
return {
|
|
44
|
-
forEach: async (callback) => {
|
|
45
|
-
const lastEventCheck = await getLastEventCheck(tenantId, topic);
|
|
46
|
-
if (!lastEventCheck) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
return await (0, stream_1.getStream)(topic, tenantId, stream, perPage, async (event) => {
|
|
50
|
-
callback(event);
|
|
51
|
-
}, lastEventCheck, config.deploymentId ?? null, serviceClient);
|
|
52
|
-
},
|
|
53
|
-
forEachAfterEvent: async (eventId, callback) => {
|
|
54
|
-
const lastEventCheck = await getLastEventCheck(tenantId, topic);
|
|
55
|
-
if (!lastEventCheck) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
return await (0, stream_1.getStreamAfterEvent)(topic, tenantId, stream, eventId, perPage, async (event) => {
|
|
59
|
-
callback(event);
|
|
60
|
-
}, lastEventCheck, config.deploymentId ?? null, serviceClient);
|
|
61
|
-
},
|
|
62
|
-
isEmpty: async () => {
|
|
63
|
-
return (0, stream_1.isStreamEmpty)(topic, tenantId, stream, serviceClient);
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
return {
|
|
68
|
-
getEvent: async (tenantId, topic, eventId) => {
|
|
69
|
-
return await (0, getEvent_1.getEvent)(tenantId, topic, eventId, serviceClient);
|
|
70
|
-
},
|
|
71
|
-
getLastEvent: async (tenantId, topic) => {
|
|
72
|
-
return await (0, getLastEvent_1.getLastEvent)(tenantId, topic, serviceClient);
|
|
73
|
-
},
|
|
74
|
-
getLastEventByTypes: async (tenantId, topic, types) => {
|
|
75
|
-
return await (0, getLastEventByTypes_1.getLastEventByTypes)(tenantId, topic, types, serviceClient);
|
|
76
|
-
},
|
|
77
|
-
iterateAllEvents: async (tenantId, topic, includedEventTypes, perPage, handler) => {
|
|
78
|
-
const lastEventCheck = await getLastEventCheck(tenantId, topic);
|
|
79
|
-
if (!lastEventCheck) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
await (0, allEvents_1.getAllEvents)(tenantId, topic, includedEventTypes, perPage, handler, lastEventCheck, serviceClient);
|
|
83
|
-
},
|
|
84
|
-
iterateAllEventsAfterEvent: async (tenantId, topic, includedEventTypes, eventId, perPage, handler) => {
|
|
85
|
-
const lastEventCheck = await getLastEventCheck(tenantId, topic);
|
|
86
|
-
if (!lastEventCheck) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
await (0, allEvents_1.getAllEventsAfterEvent)(tenantId, topic, includedEventTypes, eventId, perPage, handler, lastEventCheck, serviceClient);
|
|
90
|
-
},
|
|
91
|
-
publish: async (topic, events) => {
|
|
92
|
-
return await (0, publish_1.sendPublish)(topic, events, config.deploymentId ?? null, serviceClient);
|
|
93
|
-
},
|
|
94
|
-
getStreamItarator: async (topic, tenantId, stream, perPage) => {
|
|
95
|
-
return await getStreamIterator(topic, tenantId, stream, perPage);
|
|
96
|
-
},
|
|
97
|
-
getStreamIterator: async (topic, tenantId, stream, perPage) => {
|
|
98
|
-
return await getStreamIterator(topic, tenantId, stream, perPage);
|
|
99
|
-
},
|
|
100
|
-
subscribe: (topics = [], ignoreUnhandledEvents = false) => {
|
|
101
|
-
const subscription = (0, subscribe_1.newSubscription)(topics, ignoreUnhandledEvents, config, serviceClient);
|
|
102
|
-
closeFunctions.push(subscription.stop);
|
|
103
|
-
return subscription;
|
|
104
|
-
},
|
|
105
|
-
introduceGdprOnEventField: async (tenantId, defaultValue, topic, eventId, fieldName) => {
|
|
106
|
-
return await (0, introduceGdpr_1.introduceGdprOnEventField)(tenantId, defaultValue, topic, eventId, fieldName, serviceClient);
|
|
107
|
-
},
|
|
108
|
-
invalidateGdprData: async (tenantId, topic, gdprId) => {
|
|
109
|
-
return await (0, invalidateGdpr_1.sendInvalidateGdpr)(tenantId, topic, gdprId, serviceClient);
|
|
110
|
-
},
|
|
111
|
-
createStreamSnapshot: async (tenantId, topic, stream, idOfLastEventThatGotSnapshotted, snapshotEvent) => {
|
|
112
|
-
return await (0, stream_1.createStreamSnapshot)(tenantId, topic, stream, idOfLastEventThatGotSnapshotted, snapshotEvent, config.deploymentId ?? null, serviceClient);
|
|
113
|
-
},
|
|
114
|
-
close: () => {
|
|
115
|
-
closeFunctions.forEach(close => close());
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
exports.newClient = newClient;
|
|
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 _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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(config){var serviceClient,closeFunctions,getLastEventCheck;return _ts_generator(this,function(_state){config=(0,_config.useConfigDefaults)(config);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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic){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 function getLastEventCheck(tenantId,topic){return _ref.apply(this,arguments)}}();return[2,{getEvent:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,eventId){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()]}})});return function(tenantId,topic,eventId){return _ref.apply(this,arguments)}}(),getLastEvent:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic){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()]}})});return function(tenantId,topic){return _ref.apply(this,arguments)}}(),getLastEventByTypes:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types){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()]}})});return function(tenantId,topic,types){return _ref.apply(this,arguments)}}(),iterateAllEvents:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,includedEventTypes,perPage,handler){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]}})});return function(tenantId,topic,includedEventTypes,perPage,handler){return _ref.apply(this,arguments)}}(),iterateAllEventsAfterEvent:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,includedEventTypes,eventId,perPage,handler){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]}})});return function(tenantId,topic,includedEventTypes,eventId,perPage,handler){return _ref.apply(this,arguments)}}(),publish:/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,events){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_publish.sendPublish)(topic,events,serviceClient)];case 1:return[2,_state.sent()]}})});return function(topic,events){return _ref.apply(this,arguments)}}(),getStreamIterator:function(topic,tenantId,stream,perPage){var deploymentId=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;return{forEach:/*#__PURE__*/function(){var _ref=_async_to_generator(function(callback){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,/*#__PURE__*/function(){var _ref=_async_to_generator(function(event){return _ts_generator(this,function(_state){callback(event);return[2]})});return function(event){return _ref.apply(this,arguments)}}(),lastEventCheck,deploymentId,serviceClient)];case 2:return[2,_state.sent()]}})});return function(callback){return _ref.apply(this,arguments)}}(),forEachAfterEvent:/*#__PURE__*/function(){var _ref=_async_to_generator(function(eventId,callback){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,/*#__PURE__*/function(){var _ref=_async_to_generator(function(event){return _ts_generator(this,function(_state){callback(event);return[2]})});return function(event){return _ref.apply(this,arguments)}}(),lastEventCheck,deploymentId,serviceClient)];case 2:return[2,_state.sent()]}})});return function(eventId,callback){return _ref.apply(this,arguments)}}(),isEmpty:/*#__PURE__*/_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,deploymentId=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;var subscription=(0,_subscribe.newSubscription)(topics,ignoreUnhandledEvents,config,deploymentId,serviceClient);closeFunctions.push(subscription.stop);return subscription},introduceGdprOnEventField:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,defaultValue,topic,eventId,fieldName){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()]}})});return function(tenantId,defaultValue,topic,eventId,fieldName){return _ref.apply(this,arguments)}}(),invalidateGdprData:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,gdprId){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()]}})});return function(tenantId,topic,gdprId){return _ref.apply(this,arguments)}}(),createStreamSnapshot:/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,stream,idOfLastEventThatGotSnapshotted,snapshotEvent){return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,(0,_stream.createStreamSnapshot)(tenantId,topic,stream,idOfLastEventThatGotSnapshotted,snapshotEvent,serviceClient)];case 1:return[2,_state.sent()]}})});return function(tenantId,topic,stream,idOfLastEventThatGotSnapshotted,snapshotEvent){return _ref.apply(this,arguments)}}(),close:function(){closeFunctions.forEach(function(close){return close()})}}]})});return function newClient(config){return _ref.apply(this,arguments)}}();
|
package/dist/client/config.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
export interface ClientConfig {
|
|
2
2
|
serverAddress: string;
|
|
3
3
|
groupId: string;
|
|
4
|
-
deploymentId?: number | null;
|
|
5
|
-
ackTimeout?: number;
|
|
6
4
|
keepaliveInterval?: number;
|
|
7
5
|
keepaliveTimeout?: number;
|
|
8
6
|
}
|
|
9
7
|
export declare const useConfigDefaults: (config: ClientConfig) => Required<ClientConfig>;
|
|
10
|
-
|
|
8
|
+
export declare const getEnvDeliveryConfig: () => ClientConfig;
|
package/dist/client/config.js
CHANGED
|
@@ -1,14 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useConfigDefaults = void 0;
|
|
4
|
-
const useConfigDefaults = (config) => {
|
|
5
|
-
return {
|
|
6
|
-
serverAddress: config.serverAddress,
|
|
7
|
-
groupId: config.groupId,
|
|
8
|
-
deploymentId: config.deploymentId || null,
|
|
9
|
-
ackTimeout: config.ackTimeout ?? 1000,
|
|
10
|
-
keepaliveTimeout: config.keepaliveTimeout ?? 3 * 1000,
|
|
11
|
-
keepaliveInterval: config.keepaliveInterval ?? 40 * 1000,
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
exports.useConfigDefaults = useConfigDefaults;
|
|
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}};
|
package/dist/client/event.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export interface SubscriptionEvent extends BaseEvent {
|
|
|
3
3
|
topic: string;
|
|
4
4
|
raisedAt: Date;
|
|
5
5
|
orderSerial?: number;
|
|
6
|
-
deploymentId?: number;
|
|
7
6
|
}
|
|
8
7
|
export interface PublishEvent extends BaseEvent {
|
|
9
8
|
broadcast?: boolean;
|
|
@@ -18,6 +17,7 @@ export interface BaseEvent {
|
|
|
18
17
|
causationId?: string;
|
|
19
18
|
reason?: string;
|
|
20
19
|
userId?: string;
|
|
20
|
+
deploymentId?: number;
|
|
21
21
|
}
|
|
22
22
|
export type EventData = any | GdprEventData;
|
|
23
23
|
export interface GdprEventData {
|
|
@@ -29,4 +29,3 @@ export interface GdprEventData {
|
|
|
29
29
|
export declare const isGdprEventData: (value: EventData) => value is GdprEventData;
|
|
30
30
|
export type HandlerFunc = (event: SubscriptionEvent) => Promise<void>;
|
|
31
31
|
export declare const getSubscriptionEvent: (event: Event) => SubscriptionEvent | null;
|
|
32
|
-
//# sourceMappingURL=event.d.ts.map
|
package/dist/client/event.js
CHANGED
|
@@ -1,49 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSubscriptionEvent = exports.isGdprEventData = void 0;
|
|
4
|
-
const isGdprEventData = (value) => {
|
|
5
|
-
return (value &&
|
|
6
|
-
typeof value === "object" &&
|
|
7
|
-
Object.keys(value).length == 2 &&
|
|
8
|
-
Object.prototype.hasOwnProperty.call(value, "value") &&
|
|
9
|
-
Object.prototype.hasOwnProperty.call(value, "gdprDefault"));
|
|
10
|
-
};
|
|
11
|
-
exports.isGdprEventData = isGdprEventData;
|
|
12
|
-
const getSubscriptionEvent = (event) => {
|
|
13
|
-
const payload = {};
|
|
14
|
-
for (const key in event.payload) {
|
|
15
|
-
const data = event.payload[key];
|
|
16
|
-
if (data === undefined) {
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
if (data.gdpr) {
|
|
20
|
-
payload[key] = {
|
|
21
|
-
id: data.gdpr.id,
|
|
22
|
-
value: JSON.parse(data.value),
|
|
23
|
-
gdprDefault: data.gdpr.default ? JSON.parse(data.gdpr.default) : "",
|
|
24
|
-
isInvalidated: data.gdpr.isInvalidated,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
payload[key] = JSON.parse(data.value);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
id: event.id,
|
|
33
|
-
topic: event.topic,
|
|
34
|
-
tenantId: event.tenantId,
|
|
35
|
-
payload,
|
|
36
|
-
raisedAt: new Date(parseInt(event.raisedAt.slice(0, -6))),
|
|
37
|
-
stream: event.stream || undefined,
|
|
38
|
-
type: event.type || undefined,
|
|
39
|
-
causationId: event.metadata ? event.metadata.causationId : undefined,
|
|
40
|
-
correlationId: event.metadata ? event.metadata.correlationId : undefined,
|
|
41
|
-
reason: event.reason || undefined,
|
|
42
|
-
orderSerial: event.metadata ? parseInt(event.metadata.orderSerial) : undefined,
|
|
43
|
-
deploymentId: event.metadata && event.metadata.deploymentId
|
|
44
|
-
? parseInt(event.metadata.deploymentId)
|
|
45
|
-
: undefined,
|
|
46
|
-
userId: event.metadata ? event.metadata.userId || undefined : undefined,
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
exports.getSubscriptionEvent = getSubscriptionEvent;
|
|
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,{getSubscriptionEvent:function(){return getSubscriptionEvent},isGdprEventData:function(){return isGdprEventData}});function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}var isGdprEventData=function(value){return value&&(typeof value==="undefined"?"undefined":_type_of(value))==="object"&&Object.keys(value).length==2&&Object.prototype.hasOwnProperty.call(value,"value")&&Object.prototype.hasOwnProperty.call(value,"gdprDefault")};var getSubscriptionEvent=function(event){var payload={};for(var key in event.payload){var data=event.payload[key];if(data===undefined){continue}if(data.gdpr){payload[key]={id:data.gdpr.id,value:JSON.parse(data.value),gdprDefault:data.gdpr.default?JSON.parse(data.gdpr.default):"",isInvalidated:data.gdpr.isInvalidated}}else{payload[key]=JSON.parse(data.value)}}return{id:event.id,topic:event.topic,tenantId:event.tenantId,payload:payload,raisedAt:new Date(parseInt(event.raisedAt.slice(0,-6))),stream:event.stream||undefined,type:event.type||undefined,causationId:event.metadata?event.metadata.causationId:undefined,correlationId:event.metadata?event.metadata.correlationId:undefined,reason:event.reason||undefined,orderSerial:event.metadata?parseInt(event.metadata.orderSerial):undefined,deploymentId:event.metadata&&event.metadata.deploymentId?parseInt(event.metadata.deploymentId):undefined,userId:event.metadata?event.metadata.userId||undefined:undefined}};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
import { SubscriptionEvent } from "./event";
|
|
3
3
|
export declare const getEvent: (tenantId: string, topic: string, eventId: string, serviceClient: ServiceClient) => Promise<SubscriptionEvent>;
|
|
4
|
-
//# sourceMappingURL=getEvent.d.ts.map
|
package/dist/client/getEvent.js
CHANGED
|
@@ -1,26 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEvent = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const util_1 = require("./util");
|
|
6
|
-
const getEvent = async (tenantId, topic, eventId, serviceClient) => {
|
|
7
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
8
|
-
serviceClient.getEvent({
|
|
9
|
-
tenantId,
|
|
10
|
-
topic,
|
|
11
|
-
id: eventId,
|
|
12
|
-
}, (error, response) => {
|
|
13
|
-
if (error) {
|
|
14
|
-
reject(error);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const event = (0, event_1.getSubscriptionEvent)(response);
|
|
18
|
-
if (event) {
|
|
19
|
-
resolve(event);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
reject("unable to resolve event from event data");
|
|
23
|
-
});
|
|
24
|
-
}));
|
|
25
|
-
};
|
|
26
|
-
exports.getEvent = getEvent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"getEvent",{enumerable:true,get:function(){return getEvent}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 getEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,eventId,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.getEvent({tenantId:tenantId,topic:topic,id:eventId},function(error,response){if(error){reject(error);return}var event=(0,_event.getSubscriptionEvent)(response);if(event){resolve(event);return}reject("unable to resolve event from event data")})})})]})});return function getEvent(tenantId,topic,eventId,serviceClient){return _ref.apply(this,arguments)}}();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
import { SubscriptionEvent } from "./event";
|
|
3
3
|
export declare const getLastEvent: (tenantId: string, topic: string, serviceClient: ServiceClient) => Promise<SubscriptionEvent | null>;
|
|
4
|
-
//# sourceMappingURL=getLastEvent.d.ts.map
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLastEvent = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const util_1 = require("./util");
|
|
6
|
-
const getLastEvent = async (tenantId, topic, serviceClient) => {
|
|
7
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
8
|
-
serviceClient.getLastEvent({
|
|
9
|
-
tenantId,
|
|
10
|
-
topic,
|
|
11
|
-
}, (error, response) => {
|
|
12
|
-
if (error?.details.includes("unable to find last event")) {
|
|
13
|
-
resolve(null);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
if (error) {
|
|
17
|
-
reject(error);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const event = (0, event_1.getSubscriptionEvent)(response);
|
|
21
|
-
if (event) {
|
|
22
|
-
resolve(event);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
reject("unable to resolve last event from event data");
|
|
26
|
-
});
|
|
27
|
-
}));
|
|
28
|
-
};
|
|
29
|
-
exports.getLastEvent = getLastEvent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"getLastEvent",{enumerable:true,get:function(){return getLastEvent}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 getLastEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.getLastEvent({tenantId:tenantId,topic:topic},function(error,response){if(error===null||error===void 0?void 0:error.details.includes("unable to find last event")){resolve(null);return}if(error){reject(error);return}var event=(0,_event.getSubscriptionEvent)(response);if(event){resolve(event);return}reject("unable to resolve last event from event data")})})})]})});return function getLastEvent(tenantId,topic,serviceClient){return _ref.apply(this,arguments)}}();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
import { SubscriptionEvent } from "./event";
|
|
3
3
|
export declare const getLastEventByTypes: (tenantId: string, topic: string, types: string[], serviceClient: ServiceClient) => Promise<SubscriptionEvent | null>;
|
|
4
|
-
//# sourceMappingURL=getLastEventByTypes.d.ts.map
|
|
@@ -1,30 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLastEventByTypes = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const util_1 = require("./util");
|
|
6
|
-
const getLastEventByTypes = async (tenantId, topic, types, serviceClient) => {
|
|
7
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
8
|
-
serviceClient.getLastEventByTypes({
|
|
9
|
-
tenantId,
|
|
10
|
-
topic,
|
|
11
|
-
types,
|
|
12
|
-
}, (error, response) => {
|
|
13
|
-
if (error?.details.includes("unable to find last event by types")) {
|
|
14
|
-
resolve(null);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (error) {
|
|
18
|
-
reject(error);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const event = (0, event_1.getSubscriptionEvent)(response);
|
|
22
|
-
if (event) {
|
|
23
|
-
resolve(event);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
reject("unable to resolve last event by types from event data");
|
|
27
|
-
});
|
|
28
|
-
}));
|
|
29
|
-
};
|
|
30
|
-
exports.getLastEventByTypes = getLastEventByTypes;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"getLastEventByTypes",{enumerable:true,get:function(){return getLastEventByTypes}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 getLastEventByTypes=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,types,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.getLastEventByTypes({tenantId:tenantId,topic:topic,types:types},function(error,response){if(error===null||error===void 0?void 0:error.details.includes("unable to find last event by types")){resolve(null);return}if(error){reject(error);return}var event=(0,_event.getSubscriptionEvent)(response);if(event){resolve(event);return}reject("unable to resolve last event by types from event data")})})})]})});return function getLastEventByTypes(tenantId,topic,types,serviceClient){return _ref.apply(this,arguments)}}();
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import { ServiceClient } from "@fraym/proto/dist/index.freym.streams.management";
|
|
2
2
|
export declare const introduceGdprOnEventField: (tenantId: string, defaultValue: string, topic: string, eventId: string, fieldName: string, serviceClient: ServiceClient) => Promise<void>;
|
|
3
|
-
//# sourceMappingURL=introduceGdpr.d.ts.map
|
|
@@ -1,22 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.introduceGdprOnEventField = void 0;
|
|
4
|
-
const util_1 = require("./util");
|
|
5
|
-
const introduceGdprOnEventField = async (tenantId, defaultValue, topic, eventId, fieldName, serviceClient) => {
|
|
6
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
7
|
-
serviceClient.introduceGdprOnEventField({
|
|
8
|
-
tenantId,
|
|
9
|
-
defaultValue,
|
|
10
|
-
topic,
|
|
11
|
-
eventId,
|
|
12
|
-
fieldName,
|
|
13
|
-
}, error => {
|
|
14
|
-
if (error) {
|
|
15
|
-
reject(error);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
resolve();
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
21
|
-
};
|
|
22
|
-
exports.introduceGdprOnEventField = introduceGdprOnEventField;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"introduceGdprOnEventField",{enumerable:true,get:function(){return introduceGdprOnEventField}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 introduceGdprOnEventField=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,defaultValue,topic,eventId,fieldName,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.introduceGdprOnEventField({tenantId:tenantId,defaultValue:defaultValue,topic:topic,eventId:eventId,fieldName:fieldName},function(error){if(error){reject(error);return}resolve()})})})]})});return function introduceGdprOnEventField(tenantId,defaultValue,topic,eventId,fieldName,serviceClient){return _ref.apply(this,arguments)}}();
|
|
@@ -1,20 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sendInvalidateGdpr = void 0;
|
|
4
|
-
const util_1 = require("./util");
|
|
5
|
-
const sendInvalidateGdpr = async (tenantId, topic, gdprId, serviceClient) => {
|
|
6
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
7
|
-
serviceClient.invalidateGdpr({
|
|
8
|
-
tenantId,
|
|
9
|
-
topic,
|
|
10
|
-
gdprId,
|
|
11
|
-
}, error => {
|
|
12
|
-
if (error) {
|
|
13
|
-
reject(error);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
resolve();
|
|
17
|
-
});
|
|
18
|
-
}));
|
|
19
|
-
};
|
|
20
|
-
exports.sendInvalidateGdpr = sendInvalidateGdpr;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"sendInvalidateGdpr",{enumerable:true,get:function(){return sendInvalidateGdpr}});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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 sendInvalidateGdpr=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,gdprId,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){serviceClient.invalidateGdpr({tenantId:tenantId,topic:topic,gdprId:gdprId},function(error){if(error){reject(error);return}resolve()})})})]})});return function sendInvalidateGdpr(tenantId,topic,gdprId,serviceClient){return _ref.apply(this,arguments)}}();
|
package/dist/client/publish.d.ts
CHANGED
|
@@ -1,5 +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[],
|
|
4
|
-
export declare const getProtobufPublishEventFromPublishedEvent: (event: PublishEvent
|
|
5
|
-
//# sourceMappingURL=publish.d.ts.map
|
|
3
|
+
export declare const sendPublish: (topic: string, events: PublishEvent[], serviceClient: ServiceClient) => Promise<void>;
|
|
4
|
+
export declare const getProtobufPublishEventFromPublishedEvent: (event: PublishEvent) => ProtobufPublishEvent;
|
package/dist/client/publish.js
CHANGED
|
@@ -1,58 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProtobufPublishEventFromPublishedEvent = exports.sendPublish = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const util_1 = require("./util");
|
|
6
|
-
const sendPublish = async (topic, events, deploymentId, serviceClient) => {
|
|
7
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
8
|
-
serviceClient.publish({
|
|
9
|
-
events: events.map(event => (0, exports.getProtobufPublishEventFromPublishedEvent)(event, deploymentId)),
|
|
10
|
-
topic,
|
|
11
|
-
}, error => {
|
|
12
|
-
if (error) {
|
|
13
|
-
reject(error);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
resolve();
|
|
17
|
-
});
|
|
18
|
-
}));
|
|
19
|
-
};
|
|
20
|
-
exports.sendPublish = sendPublish;
|
|
21
|
-
const getProtobufPublishEventFromPublishedEvent = (event, deploymentId) => {
|
|
22
|
-
const payload = {};
|
|
23
|
-
for (const key in event.payload) {
|
|
24
|
-
const currentData = event.payload[key];
|
|
25
|
-
payload[key] = (0, event_1.isGdprEventData)(currentData)
|
|
26
|
-
? {
|
|
27
|
-
value: JSON.stringify(currentData.value),
|
|
28
|
-
gdpr: {
|
|
29
|
-
default: JSON.stringify(currentData.gdprDefault),
|
|
30
|
-
id: currentData.id ?? "",
|
|
31
|
-
isInvalidated: false,
|
|
32
|
-
},
|
|
33
|
-
}
|
|
34
|
-
: {
|
|
35
|
-
value: JSON.stringify(currentData),
|
|
36
|
-
gdpr: undefined,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
id: event.id,
|
|
41
|
-
metadata: {
|
|
42
|
-
causationId: event.causationId ?? "",
|
|
43
|
-
correlationId: event.correlationId ?? "",
|
|
44
|
-
orderSerial: "0",
|
|
45
|
-
deploymentId: deploymentId?.toString() ?? "",
|
|
46
|
-
userId: event.userId ?? "",
|
|
47
|
-
},
|
|
48
|
-
options: {
|
|
49
|
-
broadcast: event.broadcast ?? false,
|
|
50
|
-
},
|
|
51
|
-
reason: event.reason ?? "",
|
|
52
|
-
stream: event.stream ?? "",
|
|
53
|
-
tenantId: event.tenantId,
|
|
54
|
-
type: event.type ?? "",
|
|
55
|
-
payload,
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
exports.getProtobufPublishEventFromPublishedEvent = getProtobufPublishEventFromPublishedEvent;
|
|
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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,events,serviceClient){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()})})})]})});return function sendPublish(topic,events,serviceClient){return _ref.apply(this,arguments)}}();var getProtobufPublishEventFromPublishedEvent=function(event){var _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_deploymentId_toString,_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:(_event_deploymentId_toString=(_event_deploymentId=event.deploymentId)===null||_event_deploymentId===void 0?void 0:_event_deploymentId.toString())!==null&&_event_deploymentId_toString!==void 0?_event_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
|
@@ -4,5 +4,4 @@ import { StopLoadingMoreFunc } from "./util";
|
|
|
4
4
|
export declare const getStream: (topic: string, tenantId: string, stream: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number | null, serviceClient: ServiceClient) => Promise<void>;
|
|
5
5
|
export declare const getStreamAfterEvent: (topic: string, tenantId: string, stream: string, eventId: string, perPage: number, handler: HandlerFunc, stopLoadingMore: StopLoadingMoreFunc, deploymentId: number | null, 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,
|
|
8
|
-
//# sourceMappingURL=stream.d.ts.map
|
|
7
|
+
export declare const createStreamSnapshot: (tenantId: string, topic: string, stream: string, lastSnapshottedEventId: string, snapshotEvent: PublishEvent, serviceClient: ServiceClient) => Promise<void>;
|
package/dist/client/stream.js
CHANGED
|
@@ -1,130 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createStreamSnapshot = exports.isStreamEmpty = exports.getStreamAfterEvent = exports.getStream = void 0;
|
|
4
|
-
const event_1 = require("./event");
|
|
5
|
-
const publish_1 = require("./publish");
|
|
6
|
-
const util_1 = require("./util");
|
|
7
|
-
const getStream = async (topic, tenantId, stream, perPage, handler, stopLoadingMore, deploymentId, serviceClient) => {
|
|
8
|
-
let lastEventId = null;
|
|
9
|
-
let possibleSnapshotEventId = null;
|
|
10
|
-
let events = [];
|
|
11
|
-
while (true) {
|
|
12
|
-
if (!lastEventId) {
|
|
13
|
-
events = await getStreamPage(topic, tenantId, stream, perPage, 0, deploymentId, serviceClient);
|
|
14
|
-
if (events.length > 0) {
|
|
15
|
-
possibleSnapshotEventId = events[0].id;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
events = await getStreamPageAfterEvent(topic, tenantId, stream, lastEventId, perPage, 0, deploymentId, serviceClient);
|
|
20
|
-
}
|
|
21
|
-
let lastEvent = null;
|
|
22
|
-
for (const eventData of events) {
|
|
23
|
-
const event = (0, event_1.getSubscriptionEvent)(eventData);
|
|
24
|
-
if (event) {
|
|
25
|
-
if (lastEventId != null && possibleSnapshotEventId) {
|
|
26
|
-
if (event.id === possibleSnapshotEventId) {
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
await handler(event);
|
|
31
|
-
lastEvent = event;
|
|
32
|
-
lastEventId = event.id;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (stopLoadingMore(lastEvent)) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
exports.getStream = getStream;
|
|
41
|
-
const getStreamPage = async (topic, tenantId, stream, perPage, page, deploymentId, serviceClient) => {
|
|
42
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
43
|
-
serviceClient.paginateStream({
|
|
44
|
-
stream,
|
|
45
|
-
tenantId,
|
|
46
|
-
topic,
|
|
47
|
-
page: page.toString(),
|
|
48
|
-
perPage: perPage.toString(),
|
|
49
|
-
deploymentId: deploymentId?.toString() ?? "",
|
|
50
|
-
}, async (error, data) => {
|
|
51
|
-
if (error) {
|
|
52
|
-
reject(error);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
resolve(data.events);
|
|
56
|
-
});
|
|
57
|
-
}));
|
|
58
|
-
};
|
|
59
|
-
const getStreamAfterEvent = async (topic, tenantId, stream, eventId, perPage, handler, stopLoadingMore, deploymentId, serviceClient) => {
|
|
60
|
-
let page = 0;
|
|
61
|
-
while (true) {
|
|
62
|
-
const events = await getStreamPageAfterEvent(topic, tenantId, stream, eventId, perPage, page, deploymentId, serviceClient);
|
|
63
|
-
page++;
|
|
64
|
-
let lastEvent = null;
|
|
65
|
-
for (const eventData of events) {
|
|
66
|
-
const event = (0, event_1.getSubscriptionEvent)(eventData);
|
|
67
|
-
if (event) {
|
|
68
|
-
await handler(event);
|
|
69
|
-
lastEvent = event;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (stopLoadingMore(lastEvent)) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
exports.getStreamAfterEvent = getStreamAfterEvent;
|
|
78
|
-
const getStreamPageAfterEvent = async (topic, tenantId, stream, eventId, perPage, page, deploymentId, serviceClient) => {
|
|
79
|
-
return (0, util_1.retry)(() => new Promise((resolve, reject) => {
|
|
80
|
-
serviceClient.paginateStreamAfterEventId({
|
|
81
|
-
stream,
|
|
82
|
-
tenantId,
|
|
83
|
-
topic,
|
|
84
|
-
eventId,
|
|
85
|
-
page: page.toString(),
|
|
86
|
-
perPage: perPage.toString(),
|
|
87
|
-
deploymentId: deploymentId?.toString() ?? "",
|
|
88
|
-
}, async (error, data) => {
|
|
89
|
-
if (error) {
|
|
90
|
-
reject(error);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
resolve(data.events);
|
|
94
|
-
});
|
|
95
|
-
}));
|
|
96
|
-
};
|
|
97
|
-
const isStreamEmpty = async (topic, tenantId, stream, serviceClient) => {
|
|
98
|
-
return new Promise((resolve, reject) => {
|
|
99
|
-
serviceClient.isStreamEmpty({
|
|
100
|
-
topic,
|
|
101
|
-
stream,
|
|
102
|
-
tenantId,
|
|
103
|
-
}, (error, data) => {
|
|
104
|
-
if (error) {
|
|
105
|
-
reject(error);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
resolve(data.isEmpty);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
exports.isStreamEmpty = isStreamEmpty;
|
|
113
|
-
const createStreamSnapshot = async (tenantId, topic, stream, lastSnapshottedEventId, snapshotEvent, deploymentId, serviceClient) => {
|
|
114
|
-
return new Promise((resolve, reject) => {
|
|
115
|
-
serviceClient.createStreamSnapshot({
|
|
116
|
-
topic,
|
|
117
|
-
stream,
|
|
118
|
-
tenantId,
|
|
119
|
-
lastSnapshottedEventId,
|
|
120
|
-
snapshotEvent: (0, publish_1.getProtobufPublishEventFromPublishedEvent)(snapshotEvent, deploymentId),
|
|
121
|
-
}, error => {
|
|
122
|
-
if (error) {
|
|
123
|
-
reject(error);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
resolve();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
exports.createStreamSnapshot = createStreamSnapshot;
|
|
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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,tenantId,stream,perPage,handler,stopLoadingMore,deploymentId,serviceClient){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]}})});return function getStream(topic,tenantId,stream,perPage,handler,stopLoadingMore,deploymentId,serviceClient){return _ref.apply(this,arguments)}}();var getStreamPage=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){var _deploymentId_toString;serviceClient.paginateStream({stream:stream,tenantId:tenantId,topic:topic,page:page.toString(),perPage:perPage.toString(),deploymentId:(_deploymentId_toString=deploymentId===null||deploymentId===void 0?void 0:deploymentId.toString())!==null&&_deploymentId_toString!==void 0?_deploymentId_toString:"",snapshotEventId:snapshotEventId!==null&&snapshotEventId!==void 0?snapshotEventId:""},/*#__PURE__*/function(){var _ref=_async_to_generator(function(error,data){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data);return[2]})});return function(error,data){return _ref.apply(this,arguments)}}())})})]})});return function getStreamPage(topic,tenantId,stream,perPage,page,deploymentId,snapshotEventId,serviceClient){return _ref.apply(this,arguments)}}();var getStreamAfterEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,tenantId,stream,eventId,perPage,handler,stopLoadingMore,deploymentId,serviceClient){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]}})});return function getStreamAfterEvent(topic,tenantId,stream,eventId,perPage,handler,stopLoadingMore,deploymentId,serviceClient){return _ref.apply(this,arguments)}}();var getStreamPageAfterEvent=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,tenantId,stream,eventId,perPage,page,deploymentId,snapshotEventId,serviceClient){return _ts_generator(this,function(_state){return[2,(0,_util.retry)(function(){return new Promise(function(resolve,reject){var _deploymentId_toString;serviceClient.paginateStreamAfterEventId({stream:stream,tenantId:tenantId,topic:topic,eventId:eventId,page:page.toString(),perPage:perPage.toString(),deploymentId:(_deploymentId_toString=deploymentId===null||deploymentId===void 0?void 0:deploymentId.toString())!==null&&_deploymentId_toString!==void 0?_deploymentId_toString:"",snapshotEventId:snapshotEventId!==null&&snapshotEventId!==void 0?snapshotEventId:""},/*#__PURE__*/function(){var _ref=_async_to_generator(function(error,data){return _ts_generator(this,function(_state){if(error){reject(error);return[2]}resolve(data);return[2]})});return function(error,data){return _ref.apply(this,arguments)}}())})})]})});return function getStreamPageAfterEvent(topic,tenantId,stream,eventId,perPage,page,deploymentId,snapshotEventId,serviceClient){return _ref.apply(this,arguments)}}();var isStreamEmpty=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topic,tenantId,stream,serviceClient){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)})})]})});return function isStreamEmpty(topic,tenantId,stream,serviceClient){return _ref.apply(this,arguments)}}();var createStreamSnapshot=/*#__PURE__*/function(){var _ref=_async_to_generator(function(tenantId,topic,stream,lastSnapshottedEventId,snapshotEvent,serviceClient){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)},function(error){if(error){reject(error);return}resolve()})})]})});return function createStreamSnapshot(tenantId,topic,stream,lastSnapshottedEventId,snapshotEvent,serviceClient){return _ref.apply(this,arguments)}}();
|
|
@@ -9,6 +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, serviceClient: ServiceClient) => Subscription;
|
|
13
|
-
export declare const initStream: (topics: string[], config: ClientConfig, stream: Stream) => Promise<Stream>;
|
|
14
|
-
//# sourceMappingURL=subscribe.d.ts.map
|
|
12
|
+
export declare const newSubscription: (topics: string[], ignoreUnhandledEvents: boolean, config: ClientConfig, deploymentId: number | null, serviceClient: ServiceClient) => Subscription;
|
|
13
|
+
export declare const initStream: (topics: string[], config: ClientConfig, deploymentId: number | null, stream: Stream) => Promise<Stream>;
|
package/dist/client/subscribe.js
CHANGED
|
@@ -1,142 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initStream = exports.newSubscription = void 0;
|
|
4
|
-
const uuid_1 = require("uuid");
|
|
5
|
-
const constants_1 = require("@grpc/grpc-js/build/src/constants");
|
|
6
|
-
const event_1 = require("./event");
|
|
7
|
-
const newSubscription = (topics, ignoreUnhandledEvents, config, serviceClient) => {
|
|
8
|
-
let stream = null;
|
|
9
|
-
let closed = false;
|
|
10
|
-
const typeHandlerMap = {};
|
|
11
|
-
const globalHandlers = [];
|
|
12
|
-
const rebuildConnection = (currentStream, retries) => {
|
|
13
|
-
currentStream.cancel();
|
|
14
|
-
currentStream.removeAllListeners();
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
stream = null;
|
|
17
|
-
reconnect(retries);
|
|
18
|
-
}, 100);
|
|
19
|
-
};
|
|
20
|
-
const reconnect = async (retries) => {
|
|
21
|
-
const newStream = serviceClient.subscribe();
|
|
22
|
-
newStream.on("end", () => {
|
|
23
|
-
if (closed) {
|
|
24
|
-
newStream.cancel();
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
rebuildConnection(newStream, retries - 1);
|
|
28
|
-
});
|
|
29
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
30
|
-
newStream.on("error", (err) => {
|
|
31
|
-
if (closed) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (retries === 0 || (err && err.code && err.code === constants_1.Status.UNKNOWN)) {
|
|
35
|
-
closed = true;
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
38
|
-
rebuildConnection(newStream, retries - 1);
|
|
39
|
-
});
|
|
40
|
-
const dataFn = async (data) => {
|
|
41
|
-
if (!data.payload ||
|
|
42
|
-
data.payload?.$case === "panic" ||
|
|
43
|
-
data.payload?.$case === "subscribed") {
|
|
44
|
-
newStream.cancel();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const event = (0, event_1.getSubscriptionEvent)(data.payload.event);
|
|
48
|
-
if (!event) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const currentHandlers = typeHandlerMap[event.type ?? ""] ?? [];
|
|
52
|
-
currentHandlers.push(...globalHandlers);
|
|
53
|
-
if (currentHandlers.length === 0) {
|
|
54
|
-
if (ignoreUnhandledEvents) {
|
|
55
|
-
newStream.write(newHandledRequest(event.tenantId, event.topic));
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
newStream.write(newHandledRequest(event.tenantId, event.topic, "no handlers for this event, maybe you forgot to register an event handler"));
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
for (const handler of currentHandlers) {
|
|
63
|
-
await handler(event);
|
|
64
|
-
}
|
|
65
|
-
newStream.write(newHandledRequest(event.tenantId, event.topic));
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
newStream.write(newHandledRequest(event.tenantId, event.topic, err));
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
stream = newStream;
|
|
73
|
-
await (0, exports.initStream)(topics, config, newStream);
|
|
74
|
-
retries = 50;
|
|
75
|
-
newStream.on("data", dataFn);
|
|
76
|
-
};
|
|
77
|
-
return {
|
|
78
|
-
useHandler: (type, handler) => {
|
|
79
|
-
if (!typeHandlerMap[type]) {
|
|
80
|
-
typeHandlerMap[type] = [handler];
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
typeHandlerMap[type].push(handler);
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
useHandlerForAllTypes: (handler) => {
|
|
87
|
-
globalHandlers.push(handler);
|
|
88
|
-
},
|
|
89
|
-
start: () => {
|
|
90
|
-
reconnect(50);
|
|
91
|
-
},
|
|
92
|
-
stop: () => {
|
|
93
|
-
if (stream) {
|
|
94
|
-
stream.cancel();
|
|
95
|
-
stream = null;
|
|
96
|
-
}
|
|
97
|
-
closed = true;
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
exports.newSubscription = newSubscription;
|
|
102
|
-
const initStream = async (topics, config, stream) => {
|
|
103
|
-
return new Promise((resolve, reject) => {
|
|
104
|
-
stream.write({
|
|
105
|
-
payload: {
|
|
106
|
-
$case: "subscribe",
|
|
107
|
-
subscribe: {
|
|
108
|
-
metadata: {
|
|
109
|
-
group: config.groupId,
|
|
110
|
-
subscriberId: (0, uuid_1.v4)(),
|
|
111
|
-
deploymentId: config.deploymentId?.toString() ?? "",
|
|
112
|
-
},
|
|
113
|
-
topics,
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
stream.once("data", (data) => {
|
|
118
|
-
if (data.payload?.$case !== "subscribed") {
|
|
119
|
-
reject("connection to streams service was not initialized correctly");
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
if (data.payload.subscribed.error) {
|
|
123
|
-
reject(`unable to subscribe to streams service: ${data.payload.subscribed.error}`);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
resolve(stream);
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
exports.initStream = initStream;
|
|
131
|
-
const newHandledRequest = (tenantId, topic, error) => {
|
|
132
|
-
return {
|
|
133
|
-
payload: {
|
|
134
|
-
$case: "handled",
|
|
135
|
-
handled: {
|
|
136
|
-
tenantId,
|
|
137
|
-
topic,
|
|
138
|
-
error: error ?? "",
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
};
|
|
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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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,deploymentId,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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(retries){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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(data){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]}})});return function dataFn(data){return _ref.apply(this,arguments)}}();stream=newStream;return[4,initStream(topics,config,deploymentId,newStream)];case 1:_state.sent();retries=50;newStream.on("data",dataFn);return[2]}})});return function reconnect(retries){return _ref.apply(this,arguments)}}();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=/*#__PURE__*/function(){var _ref=_async_to_generator(function(topics,config,deploymentId,stream){return _ts_generator(this,function(_state){return[2,new Promise(function(resolve,reject){var _deploymentId_toString;stream.write({payload:{$case:"subscribe",subscribe:{metadata:{group:config.groupId,subscriberId:(0,_uuid.v4)(),deploymentId:(_deploymentId_toString=deploymentId===null||deploymentId===void 0?void 0:deploymentId.toString())!==null&&_deploymentId_toString!==void 0?_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)})})]})});return function initStream(topics,config,deploymentId,stream){return _ref.apply(this,arguments)}}();var newHandledRequest=function(tenantId,topic,error){return{payload:{$case:"handled",handled:{tenantId:tenantId,topic:topic,error:error!==null&&error!==void 0?error:""}}}};
|
package/dist/client/util.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ import { SubscriptionEvent } from "client/event";
|
|
|
2
2
|
export declare const sleep: (delay: number) => Promise<void>;
|
|
3
3
|
export declare const retry: <T>(fn: () => Promise<T>, pause?: number, retries?: number) => Promise<T>;
|
|
4
4
|
export type StopLoadingMoreFunc = (lastEvent: SubscriptionEvent | null) => boolean;
|
|
5
|
-
//# sourceMappingURL=util.d.ts.map
|
package/dist/client/util.js
CHANGED
|
@@ -1,22 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.retry = exports.sleep = void 0;
|
|
4
|
-
const constants_1 = require("@grpc/grpc-js/build/src/constants");
|
|
5
|
-
const sleep = (delay) => new Promise(resolve => {
|
|
6
|
-
setTimeout(() => resolve(), delay);
|
|
7
|
-
});
|
|
8
|
-
exports.sleep = sleep;
|
|
9
|
-
const retry = async (fn, pause = 100, retries = 50) => {
|
|
10
|
-
try {
|
|
11
|
-
return await fn();
|
|
12
|
-
/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
|
|
13
|
-
}
|
|
14
|
-
catch (err) {
|
|
15
|
-
if (retries === 0 || (err && err.code && err.code === constants_1.Status.UNKNOWN)) {
|
|
16
|
-
throw err;
|
|
17
|
-
}
|
|
18
|
-
await (0, exports.sleep)(pause);
|
|
19
|
-
return await (0, exports.retry)(fn, pause, retries - 1);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.retry = retry;
|
|
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,{retry:function(){return retry},sleep:function(){return sleep}});var _constants=require("@grpc/grpc-js/build/src/constants");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,g,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),"throw":verb(1),"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(_)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 sleep=function(delay){return new Promise(function(resolve){setTimeout(function(){return resolve()},delay)})};var retry=/*#__PURE__*/function(){var _ref=_async_to_generator(function(fn){var pause,retries,err;var _arguments=arguments;return _ts_generator(this,function(_state){switch(_state.label){case 0:pause=_arguments.length>1&&_arguments[1]!==void 0?_arguments[1]:100,retries=_arguments.length>2&&_arguments[2]!==void 0?_arguments[2]:50;_state.label=1;case 1:_state.trys.push([1,3,,6]);return[4,fn()];case 2:return[2,_state.sent()];case 3:err=_state.sent();if(retries===0||err&&err.code&&err.code===_constants.Status.UNKNOWN){throw err}return[4,sleep(pause)];case 4:_state.sent();return[4,retry(fn,pause,retries-1)];case 5:return[2,_state.sent()];case 6:return[2]}})});return function retry(fn){return _ref.apply(this,arguments)}}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _base=require("@becklyn/eslint/base");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 _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)}var _default=_to_consumable_array(_base.config);
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./client/client"), exports);
|
|
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}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraym/streams",
|
|
3
|
-
"version": "0.30.0
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://github.com/fraym/freym-api",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/fraym/freym-api.git"
|
|
9
9
|
},
|
|
10
|
-
"description": "JS client implementation
|
|
10
|
+
"description": "JS client implementation of the streams service of Freym",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "rm -rf dist && tsc",
|
|
12
|
+
"build": "rm -rf dist && tsc && npx swc . -d dist",
|
|
13
13
|
"lint": "eslint && prettier --check \"**/*.{ts,tsx,json,scss,css}\"",
|
|
14
14
|
"fix": "eslint --fix && prettier --write \"**/*.{ts,tsx,json,scss,css}\""
|
|
15
15
|
},
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
"main": "dist/index.js",
|
|
23
23
|
"types": "dist/index.d.ts",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@fraym/proto": "^0.30.0
|
|
26
|
-
"@grpc/grpc-js": "^1.12.
|
|
25
|
+
"@fraym/proto": "^0.30.0",
|
|
26
|
+
"@grpc/grpc-js": "^1.12.6",
|
|
27
|
+
"dotenv": "^16.4.7",
|
|
27
28
|
"uuid": "^11.0.5"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"allEvents.d.ts","sourceRoot":"","sources":["../../client/allEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,WAAW,EAA2C,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAS,MAAM,QAAQ,CAAC;AAEpD,eAAO,MAAM,YAAY,aACX,MAAM,SACT,MAAM,SACN,MAAM,EAAE,WACN,MAAM,WACN,WAAW,mBACH,mBAAmB,iBACrB,aAAa,KAC7B,OAAO,CAAC,IAAI,CAkCd,CAAC;AAkCF,eAAO,MAAM,sBAAsB,aACrB,MAAM,SACT,MAAM,SACN,MAAM,EAAE,WACN,MAAM,WACN,MAAM,WACN,WAAW,mBACH,mBAAmB,iBACrB,aAAa,KAC7B,OAAO,CAAC,IAAI,CA8Bd,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../client/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAqB,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQvE,OAAO,EAAE,YAAY,EAAmB,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iBAAiB,EAAE,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,KAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC;AAID,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3F,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACrF,mBAAmB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,KACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACvC,gBAAgB,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAAE,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,0BAA0B,EAAE,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAAE,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,iBAAiB,EAAE,CACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,KACd,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,iBAAiB,EAAE,CACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,KACd,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,CAAC,EAAE,OAAO,KAAK,YAAY,CAAC;IAChF,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,yBAAyB,EAAE,CACvB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,oBAAoB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,MAAM,EAC9B,aAAa,EAAE,YAAY,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,KAAG,OAAO,CAAC,MAAM,CA6MpE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../client/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAEzB,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,WAAY,YAAY,KAAG,QAAQ,CAAC,YAAY,CAS7E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../client/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AAEzE,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,aAAa,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,GAAG,CAAC;IAEX,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,UAAW,SAAS,KAAG,KAAK,IAAI,aAQ3D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB,UAAW,KAAK,KAAG,iBAAiB,GAAG,IAwCvE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getEvent.d.ts","sourceRoot":"","sources":["../../client/getEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAwB,MAAM,SAAS,CAAC;AAGlE,eAAO,MAAM,QAAQ,aACP,MAAM,SACT,MAAM,WACJ,MAAM,iBACA,aAAa,+BA4B/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getLastEvent.d.ts","sourceRoot":"","sources":["../../client/getLastEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAwB,MAAM,SAAS,CAAC;AAGlE,eAAO,MAAM,YAAY,aACX,MAAM,SACT,MAAM,iBACE,aAAa,sCAgC/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getLastEventByTypes.d.ts","sourceRoot":"","sources":["../../client/getLastEventByTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAwB,MAAM,SAAS,CAAC;AAGlE,eAAO,MAAM,mBAAmB,aAClB,MAAM,SACT,MAAM,SACN,MAAM,EAAE,iBACA,aAAa,sCAiC/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"introduceGdpr.d.ts","sourceRoot":"","sources":["../../client/introduceGdpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAGjF,eAAO,MAAM,yBAAyB,aACxB,MAAM,gBACF,MAAM,SACb,MAAM,WACJ,MAAM,aACJ,MAAM,iBACF,aAAa,kBAwB/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invalidateGdpr.d.ts","sourceRoot":"","sources":["../../client/invalidateGdpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAGjF,eAAO,MAAM,kBAAkB,aACjB,MAAM,SACT,MAAM,UACL,MAAM,iBACC,aAAa,kBAsB/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../client/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,IAAI,oBAAoB,EACpC,aAAa,EAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAmB,MAAM,SAAS,CAAC;AAGxD,eAAO,MAAM,WAAW,UACb,MAAM,UACL,YAAY,EAAE,gBACR,MAAM,GAAG,IAAI,iBACZ,aAAa,kBAuB/B,CAAC;AAEF,eAAO,MAAM,yCAAyC,UAC3C,YAAY,gBACL,MAAM,GAAG,IAAI,KAC5B,oBAuCF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../client/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,YAAY,EAA2C,MAAM,SAAS,CAAC;AAE7F,OAAO,EAAE,mBAAmB,EAAS,MAAM,QAAQ,CAAC;AAEpD,eAAO,MAAM,SAAS,UACX,MAAM,YACH,MAAM,UACR,MAAM,WACL,MAAM,WACN,WAAW,mBACH,mBAAmB,gBACtB,MAAM,GAAG,IAAI,iBACZ,aAAa,KAC7B,OAAO,CAAC,IAAI,CAsDd,CAAC;AAoCF,eAAO,MAAM,mBAAmB,UACrB,MAAM,YACH,MAAM,UACR,MAAM,WACL,MAAM,WACN,MAAM,WACN,WAAW,mBACH,mBAAmB,gBACtB,MAAM,GAAG,IAAI,iBACZ,aAAa,KAC7B,OAAO,CAAC,IAAI,CA+Bd,CAAC;AAsCF,eAAO,MAAM,aAAa,UACf,MAAM,YACH,MAAM,UACR,MAAM,iBACC,aAAa,KAC7B,OAAO,CAAC,OAAO,CAkBjB,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,MAAM,SACT,MAAM,UACL,MAAM,0BACU,MAAM,iBACf,YAAY,gBACb,MAAM,GAAG,IAAI,iBACZ,aAAa,KAC7B,OAAO,CAAC,IAAI,CAuBd,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../client/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAwB,MAAM,SAAS,CAAC;AAE5D,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzD,qBAAqB,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AAE7E,eAAO,MAAM,eAAe,WAChB,MAAM,EAAE,yBACO,OAAO,UACtB,YAAY,iBACL,aAAa,KAC7B,YAoHF,CAAC;AAEF,eAAO,MAAM,UAAU,WACX,MAAM,EAAE,UACR,YAAY,UACZ,MAAM,KACf,OAAO,CAAC,MAAM,CA8BhB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../client/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,KAAK,UAAW,MAAM,kBAG7B,CAAC;AAEP,eAAO,MAAM,KAAK,GAAU,CAAC,MACrB,MAAM,OAAO,CAAC,CAAC,CAAC,UACb,MAAM,YACJ,MAAM,KAChB,OAAO,CAAC,CAAC,CAaX,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,OAAO,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,YAAY,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,aAAa,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|