@webda/cloudevents 3.0.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/LICENSE +166 -0
- package/lib/filters/abstract.d.ts +28 -0
- package/lib/filters/abstract.js +17 -0
- package/lib/filters/abstract.js.map +1 -0
- package/lib/filters/index.d.ts +14 -0
- package/lib/filters/index.js +34 -0
- package/lib/filters/index.js.map +1 -0
- package/lib/filters/interfaces.d.ts +0 -0
- package/lib/filters/interfaces.js +1 -0
- package/lib/filters/interfaces.js.map +1 -0
- package/lib/filters/logical.d.ts +54 -0
- package/lib/filters/logical.js +49 -0
- package/lib/filters/logical.js.map +1 -0
- package/lib/filters/sql/CESQLParserLexer.d.ts +55 -0
- package/lib/filters/sql/CESQLParserLexer.js +293 -0
- package/lib/filters/sql/CESQLParserLexer.js.map +1 -0
- package/lib/filters/sql/CESQLParserListener.d.ts +325 -0
- package/lib/filters/sql/CESQLParserListener.js +3 -0
- package/lib/filters/sql/CESQLParserListener.js.map +1 -0
- package/lib/filters/sql/CESQLParserParser.d.ts +313 -0
- package/lib/filters/sql/CESQLParserParser.js +1825 -0
- package/lib/filters/sql/CESQLParserParser.js.map +1 -0
- package/lib/filters/sql/CESQLParserVisitor.d.ts +208 -0
- package/lib/filters/sql/CESQLParserVisitor.js +3 -0
- package/lib/filters/sql/CESQLParserVisitor.js.map +1 -0
- package/lib/filters/sql.d.ts +426 -0
- package/lib/filters/sql.js +752 -0
- package/lib/filters/sql.js.map +1 -0
- package/lib/filters/string.d.ts +105 -0
- package/lib/filters/string.js +79 -0
- package/lib/filters/string.js.map +1 -0
- package/lib/subscription.d.ts +228 -0
- package/lib/subscription.js +60 -0
- package/lib/subscription.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/models/filters/sql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { CloudEvent } from "cloudevents";
|
|
2
|
+
import { Filter, FilterImplementation } from "./abstract.js";
|
|
3
|
+
/**
|
|
4
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the
|
|
5
|
+
* CloudEvents attribute to be matched, and its value is the String value to use in the comparison.
|
|
6
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST exactly match the value
|
|
7
|
+
* String specified (case sensitive).
|
|
8
|
+
*
|
|
9
|
+
* The attribute name and value specified in the filter express MUST NOT be empty strings.
|
|
10
|
+
*/
|
|
11
|
+
export interface ExactFilter {
|
|
12
|
+
exact: {
|
|
13
|
+
[key: string]: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the CloudEvents
|
|
18
|
+
* attribute to be matched, and its value is the String value to use in the comparison.
|
|
19
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST start with the value
|
|
20
|
+
* String specified (case sensitive).
|
|
21
|
+
*
|
|
22
|
+
* The attribute name and value specified in the filter express MUST NOT be empty strings.
|
|
23
|
+
*/
|
|
24
|
+
export interface PrefixFilter {
|
|
25
|
+
prefix: {
|
|
26
|
+
[key: string]: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the CloudEvents
|
|
31
|
+
* attribute to be matched, and its value is the String value to use in the comparison.
|
|
32
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST end with the value
|
|
33
|
+
* String specified (case sensitive).
|
|
34
|
+
*
|
|
35
|
+
* The attribute name and value specified in the filter express MUST NOT be empty strings.
|
|
36
|
+
*
|
|
37
|
+
*/ export interface SuffixFilter {
|
|
38
|
+
suffix: {
|
|
39
|
+
[key: string]: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Abstract class to read CloudEvent specified property
|
|
44
|
+
*/
|
|
45
|
+
export declare abstract class StringPropertyFilterImplementation<T extends Filter> extends FilterImplementation<T> {
|
|
46
|
+
/**
|
|
47
|
+
* Property to read event from
|
|
48
|
+
*/
|
|
49
|
+
property: string;
|
|
50
|
+
/**
|
|
51
|
+
* Filter property to read from
|
|
52
|
+
*/
|
|
53
|
+
filterProperty: string;
|
|
54
|
+
constructor(definition: T, filterProperty: string);
|
|
55
|
+
/**
|
|
56
|
+
* @override
|
|
57
|
+
*/
|
|
58
|
+
match(event: CloudEvent): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Verify if value match the condition
|
|
61
|
+
*
|
|
62
|
+
* @param value from the CloudEvent
|
|
63
|
+
* @param condition from the filter definition
|
|
64
|
+
*/
|
|
65
|
+
abstract matchString(value: string, condition: string): boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the
|
|
69
|
+
* CloudEvents attribute to be matched, and its value is the String value to use in the comparison.
|
|
70
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST start with the value
|
|
71
|
+
* String specified (case sensitive).
|
|
72
|
+
*/
|
|
73
|
+
export declare class PrefixFilterImplementation extends StringPropertyFilterImplementation<PrefixFilter> {
|
|
74
|
+
constructor(definition: PrefixFilter);
|
|
75
|
+
/**
|
|
76
|
+
* @override
|
|
77
|
+
*/
|
|
78
|
+
matchString(value: string, condition: string): boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the
|
|
82
|
+
* CloudEvents attribute to be matched, and its value is the String value to use in the comparison.
|
|
83
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST end with the value
|
|
84
|
+
* String specified (case sensitive).
|
|
85
|
+
*/
|
|
86
|
+
export declare class SuffixFilterImplementation extends StringPropertyFilterImplementation<SuffixFilter> {
|
|
87
|
+
constructor(definition: SuffixFilter);
|
|
88
|
+
/**
|
|
89
|
+
* @override
|
|
90
|
+
*/
|
|
91
|
+
matchString(value: string, condition: string): boolean;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the CloudEvents
|
|
95
|
+
* attribute to be matched, and its value is the String value to use in the comparison. To evaluate
|
|
96
|
+
* to true the value of the matching CloudEvents attribute MUST exactly match the value String
|
|
97
|
+
* specified (case sensitive).
|
|
98
|
+
*/
|
|
99
|
+
export declare class ExactFilterImplementation extends StringPropertyFilterImplementation<ExactFilter> {
|
|
100
|
+
constructor(definition: ExactFilter);
|
|
101
|
+
/**
|
|
102
|
+
* @override
|
|
103
|
+
*/
|
|
104
|
+
matchString(value: string, condition: string): boolean;
|
|
105
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { FilterImplementation } from "./abstract.js";
|
|
2
|
+
/**
|
|
3
|
+
* Abstract class to read CloudEvent specified property
|
|
4
|
+
*/
|
|
5
|
+
export class StringPropertyFilterImplementation extends FilterImplementation {
|
|
6
|
+
constructor(definition, filterProperty) {
|
|
7
|
+
super(definition);
|
|
8
|
+
this.filterProperty = filterProperty;
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
if (Object.keys(definition[filterProperty]).length !== 1) {
|
|
11
|
+
throw new Error("Filter only accept one property filtering");
|
|
12
|
+
}
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
this.property = Object.keys(definition[filterProperty]).pop();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @override
|
|
18
|
+
*/
|
|
19
|
+
match(event) {
|
|
20
|
+
let value = event[this.property];
|
|
21
|
+
if (!event[this.property] || typeof value !== "string") {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
return this.matchString(value, this.definition[this.filterProperty][this.property]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the
|
|
30
|
+
* CloudEvents attribute to be matched, and its value is the String value to use in the comparison.
|
|
31
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST start with the value
|
|
32
|
+
* String specified (case sensitive).
|
|
33
|
+
*/
|
|
34
|
+
export class PrefixFilterImplementation extends StringPropertyFilterImplementation {
|
|
35
|
+
constructor(definition) {
|
|
36
|
+
super(definition, "prefix");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @override
|
|
40
|
+
*/
|
|
41
|
+
matchString(value, condition) {
|
|
42
|
+
return value.startsWith(condition);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the
|
|
47
|
+
* CloudEvents attribute to be matched, and its value is the String value to use in the comparison.
|
|
48
|
+
* To evaluate to true the value of the matching CloudEvents attribute MUST end with the value
|
|
49
|
+
* String specified (case sensitive).
|
|
50
|
+
*/
|
|
51
|
+
export class SuffixFilterImplementation extends StringPropertyFilterImplementation {
|
|
52
|
+
constructor(definition) {
|
|
53
|
+
super(definition, "suffix");
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @override
|
|
57
|
+
*/
|
|
58
|
+
matchString(value, condition) {
|
|
59
|
+
return value.endsWith(condition);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Use of this MUST include exactly one nested property, where the key is the name of the CloudEvents
|
|
64
|
+
* attribute to be matched, and its value is the String value to use in the comparison. To evaluate
|
|
65
|
+
* to true the value of the matching CloudEvents attribute MUST exactly match the value String
|
|
66
|
+
* specified (case sensitive).
|
|
67
|
+
*/
|
|
68
|
+
export class ExactFilterImplementation extends StringPropertyFilterImplementation {
|
|
69
|
+
constructor(definition) {
|
|
70
|
+
super(definition, "exact");
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @override
|
|
74
|
+
*/
|
|
75
|
+
matchString(value, condition) {
|
|
76
|
+
return value === condition;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/models/filters/string.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA4C1D;;GAEG;AACH,MAAM,OAAgB,kCAAqD,SAAQ,oBAAuB;IASxG,YAAY,UAAa,EAAE,cAAsB;QAC/C,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,aAAa;QACb,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAiB;QACrB,IAAI,KAAK,GAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,aAAa;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtF,CAAC;CASF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,kCAAgD;IAC9F,YAAY,UAAwB;QAClC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,SAAiB;QAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,kCAAgD;IAC9F,YAAY,UAAwB;QAClC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,SAAiB;QAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,kCAA+C;IAC5F,YAAY,UAAuB;QACjC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,SAAiB;QAC1C,OAAO,KAAK,KAAK,SAAS,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { CloudEvent, EmitterFunction } from "cloudevents";
|
|
2
|
+
import { Filter } from "./filters.js";
|
|
3
|
+
/**
|
|
4
|
+
* For HTTP, the following settings properties SHOULD be supported by all implementations.
|
|
5
|
+
*/
|
|
6
|
+
export interface HttpSettings {
|
|
7
|
+
/**
|
|
8
|
+
* A set of key/value pairs that is copied into the HTTP request as custom headers.
|
|
9
|
+
*/
|
|
10
|
+
headers?: {
|
|
11
|
+
[key: string]: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The HTTP method to use for sending the message. This defaults to POST if not set.
|
|
15
|
+
*/
|
|
16
|
+
method?: "POST" | "PUT";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* All implementations that support MQTT MUST support the topicname settings.
|
|
20
|
+
* All other settings SHOULD be supported.
|
|
21
|
+
*/
|
|
22
|
+
export interface MQTTSettings {
|
|
23
|
+
/**
|
|
24
|
+
* The name of the MQTT topic to publish to.
|
|
25
|
+
*/
|
|
26
|
+
topicname: string;
|
|
27
|
+
/**
|
|
28
|
+
* MQTT quality of service (QoS) level: 0 (at most once), 1 (at least once), or 2 (exactly once).
|
|
29
|
+
* This defaults to 1 if not set.
|
|
30
|
+
*
|
|
31
|
+
* @default 1
|
|
32
|
+
*/
|
|
33
|
+
qos?: number;
|
|
34
|
+
/**
|
|
35
|
+
* MQTT retain flag: true/false. This defaults to false if not set.
|
|
36
|
+
*
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
retain?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* MQTT expiry interval, in seconds. This value has no default value and the message will not expire
|
|
42
|
+
* if the setting is absent. This setting only applies to MQTT 5.0.
|
|
43
|
+
*/
|
|
44
|
+
expiry?: number;
|
|
45
|
+
/**
|
|
46
|
+
* A set of key/value pairs that are copied into the MQTT PUBLISH packet's user property section.
|
|
47
|
+
* This setting only applies to MQTT 5.0.
|
|
48
|
+
*/
|
|
49
|
+
userproperties?: {
|
|
50
|
+
[key: string]: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* For AMQP, the address property MUST be supported by all implementations and other settings
|
|
55
|
+
* properties SHOULD be supported by all implementations.
|
|
56
|
+
*/
|
|
57
|
+
export interface AMQPSettings {
|
|
58
|
+
/**
|
|
59
|
+
* The link target node in the AMQP container identified by the sink URI, if not expressed in the
|
|
60
|
+
* sink URI's path portion.
|
|
61
|
+
*/
|
|
62
|
+
address?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Name to use for the AMQP link. If not set, a random link name is used.
|
|
65
|
+
*/
|
|
66
|
+
linkname?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Allows to control the sender's settlement mode, which determines whether transfers are performed
|
|
69
|
+
* "settled" (without acknowledgement) or "unsettled" (with acknowledgement).
|
|
70
|
+
*
|
|
71
|
+
* @default "unsettled"
|
|
72
|
+
*/
|
|
73
|
+
sendersettlementmode?: "settled" | "unsettled";
|
|
74
|
+
/**
|
|
75
|
+
* A set of key/value pairs that are copied into link properties for the send link.
|
|
76
|
+
*/
|
|
77
|
+
linkproperties?: {
|
|
78
|
+
[key: string]: string;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* All implementations that support Apache Kafka MUST support the topicname settings.
|
|
83
|
+
* All other settings SHOULD be supported.
|
|
84
|
+
*/
|
|
85
|
+
export interface KafkaSettings {
|
|
86
|
+
/**
|
|
87
|
+
* The name of the Kafka topic to publish to.
|
|
88
|
+
*/
|
|
89
|
+
topicname?: string;
|
|
90
|
+
/**
|
|
91
|
+
* A partition key extractor expression per the CloudEvents Kafka transport binding specification.
|
|
92
|
+
*/
|
|
93
|
+
partitionkeyextractor?: string;
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
clientid?: string;
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
*/
|
|
101
|
+
acks?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface NATSSettings {
|
|
104
|
+
/**
|
|
105
|
+
* The name of the NATS subject to publish to.
|
|
106
|
+
*/
|
|
107
|
+
subject: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A subscription manager manages a collection of subscriptions. The upper limit on how many
|
|
111
|
+
* subscriptions are supported is implementation specific.
|
|
112
|
+
*
|
|
113
|
+
* To help explain the subscription resource, the following non-normative pseudo json shows its
|
|
114
|
+
* basic structure:
|
|
115
|
+
*
|
|
116
|
+
*/
|
|
117
|
+
export default interface Subscription {
|
|
118
|
+
id: string;
|
|
119
|
+
/**
|
|
120
|
+
* Indicates the source to which the subscription is related. When present on a subscribe request,
|
|
121
|
+
* all events generated due to this subscription MUST have a CloudEvents source property that
|
|
122
|
+
* matches this value. If this property is not present on a subscribe request then there are no
|
|
123
|
+
* constraints placed on the CloudEvents source property for the events generated.
|
|
124
|
+
*
|
|
125
|
+
* If present, MUST be a non-empty URI
|
|
126
|
+
*/
|
|
127
|
+
source?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Indicates which types of events the subscriber is interested in receiving. When present on a
|
|
130
|
+
* subscribe request, all events generated due to this subscription MUST have a CloudEvents type
|
|
131
|
+
* property that matches one of these values.
|
|
132
|
+
*
|
|
133
|
+
* If present, any value present MUST a non-empty string
|
|
134
|
+
*
|
|
135
|
+
* @example com.github.pull_request.opened
|
|
136
|
+
* @example com.example.object.deleted
|
|
137
|
+
*/
|
|
138
|
+
types?: string[];
|
|
139
|
+
/**
|
|
140
|
+
* A set of key/value pairs that modify the configuration of of the subscription related to the
|
|
141
|
+
* event generation process. While this specification places no constraints on the data type of
|
|
142
|
+
* the map values. When there is a Discovery Enpoint Service definition defined for the subscription
|
|
143
|
+
* manager, then the key MUST be one of the subscriptionconfig keys specified in the Discovery
|
|
144
|
+
* Endpoint Service definition. The value MUST conform to the data type specified by the value in
|
|
145
|
+
* the subscriptionconfig entry for the key
|
|
146
|
+
*
|
|
147
|
+
* If present, any "key" used in the map MUST be a non-empty string
|
|
148
|
+
*/
|
|
149
|
+
config?: {
|
|
150
|
+
[key: string]: string;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Identifier of a delivery protocol. Because of WebSocket tunneling options for AMQP, MQTT and
|
|
154
|
+
* other protocols, the URI scheme is not sufficient to identify the protocol. The protocols with
|
|
155
|
+
* existing CloudEvents bindings are identified as AMQP, MQTT3, MQTT5, HTTP, KAFKA, and NATS.
|
|
156
|
+
* An implementation MAY add support for further protocols.
|
|
157
|
+
*
|
|
158
|
+
* Value comparisons are case sensitive.
|
|
159
|
+
*/
|
|
160
|
+
protocol: "HTTP" | "MQTT" | "WEBDA";
|
|
161
|
+
/**
|
|
162
|
+
* A set of settings specific to the selected delivery protocol provider. Options for these
|
|
163
|
+
* settings are listed in the following subsection. An subscription manager MAY offer more options.
|
|
164
|
+
* See the Protocol Settings section for future details.
|
|
165
|
+
*/
|
|
166
|
+
protocolsettings?: HttpSettings | MQTTSettings | AMQPSettings | KafkaSettings | NATSSettings;
|
|
167
|
+
/**
|
|
168
|
+
* The address to which events MUST be sent. The format of the address MUST be valid for the
|
|
169
|
+
* protocol specified in the protocol property, or one of the protocol's own transport bindings
|
|
170
|
+
* (e.g. AMQP over WebSockets).
|
|
171
|
+
*
|
|
172
|
+
* @required
|
|
173
|
+
*/
|
|
174
|
+
sink: string;
|
|
175
|
+
/**
|
|
176
|
+
* An array of filter expressions that evaluates to true or false. If any filter expression in the
|
|
177
|
+
* array evaluates to false, the event MUST NOT be sent to the sink. If all the filter expressions
|
|
178
|
+
* in the array evaluates to true, the event MUST be attempted to be delivered. Absence of a filter
|
|
179
|
+
* or empty array implies a value of true.
|
|
180
|
+
*
|
|
181
|
+
* Each filter dialect MUST have a name that is unique within the scope of the subscription manager.
|
|
182
|
+
* Each dialect will define the semantics and syntax of the filter expression language. See the
|
|
183
|
+
* Filters section for more information.
|
|
184
|
+
*
|
|
185
|
+
* If a subscription manager does not support filters, or the filter dialect specified in a
|
|
186
|
+
* subscription request, then it MUST generate an error and reject the subscription create or
|
|
187
|
+
* update request.
|
|
188
|
+
*/
|
|
189
|
+
filters: Filter[];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Subscription Mixin to add default behavior to a subscription
|
|
193
|
+
* @param clazz
|
|
194
|
+
* @returns
|
|
195
|
+
*/
|
|
196
|
+
export declare function SubscriptionMixIn(clazz: any): {
|
|
197
|
+
new (): {
|
|
198
|
+
[x: string]: any;
|
|
199
|
+
id: string;
|
|
200
|
+
source?: string;
|
|
201
|
+
types?: string[];
|
|
202
|
+
config?: {
|
|
203
|
+
[key: string]: string;
|
|
204
|
+
};
|
|
205
|
+
protocol: "HTTP" | "MQTT" | "WEBDA";
|
|
206
|
+
protocolsettings?: HttpSettings | MQTTSettings | AMQPSettings | KafkaSettings | NATSSettings;
|
|
207
|
+
sink: string;
|
|
208
|
+
filters: Filter[];
|
|
209
|
+
/**
|
|
210
|
+
* Verify that an event match its filters
|
|
211
|
+
* @param event
|
|
212
|
+
* @returns
|
|
213
|
+
*/
|
|
214
|
+
match(event: CloudEvent): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Create the emitter for the subscription
|
|
217
|
+
* @returns
|
|
218
|
+
*/
|
|
219
|
+
createEmitter(): EmitterFunction;
|
|
220
|
+
/**
|
|
221
|
+
* Emit a cloudevent
|
|
222
|
+
* @param event
|
|
223
|
+
*/
|
|
224
|
+
emit(event: CloudEvent): Promise<void>;
|
|
225
|
+
};
|
|
226
|
+
[x: string]: any;
|
|
227
|
+
};
|
|
228
|
+
export { Subscription };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { emitterFor, httpTransport } from "cloudevents";
|
|
2
|
+
import { FiltersHelper } from "./filters.js";
|
|
3
|
+
/**
|
|
4
|
+
* Subscription Mixin to add default behavior to a subscription
|
|
5
|
+
* @param clazz
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export function SubscriptionMixIn(clazz) {
|
|
9
|
+
/**
|
|
10
|
+
* Filter implementation
|
|
11
|
+
*/
|
|
12
|
+
let resolvedFilters;
|
|
13
|
+
/**
|
|
14
|
+
* Emitter
|
|
15
|
+
*/
|
|
16
|
+
let emitter;
|
|
17
|
+
return class extends clazz {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.protocol = "HTTP";
|
|
21
|
+
this.sink = "";
|
|
22
|
+
this.filters = [];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Verify that an event match its filters
|
|
26
|
+
* @param event
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
match(event) {
|
|
30
|
+
// Need to filter first on types
|
|
31
|
+
if (this.types && !this.types.includes(event.type)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
resolvedFilters ?? (resolvedFilters = FiltersHelper.get({ all: this.filters }));
|
|
35
|
+
return resolvedFilters.match(event);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create the emitter for the subscription
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
createEmitter() {
|
|
42
|
+
if (this.protocol === "HTTP") {
|
|
43
|
+
return emitterFor(httpTransport(this.sink), this.protocolsettings);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Emit a cloudevent
|
|
48
|
+
* @param event
|
|
49
|
+
*/
|
|
50
|
+
async emit(event) {
|
|
51
|
+
// Ensure the subscription match the event
|
|
52
|
+
if (!this.match(event)) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
emitter ?? (emitter = this.createEmitter());
|
|
56
|
+
await emitter(event);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/models/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAgC,aAAa,EAAE,MAAM,WAAW,CAAC;AA4LxE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C;;OAEG;IACH,IAAI,eAAqC,CAAC;IAE1C;;OAEG;IACH,IAAI,OAAwB,CAAC;IAC7B,OAAO,KAAM,SAAQ,KAAK;QAAnB;;YAKL,aAAQ,GAA8B,MAAM,CAAC;YAE7C,SAAI,GAAW,EAAE,CAAC;YAClB,YAAO,GAAa,EAAE,CAAC;QAsCzB,CAAC;QApCC;;;;WAIG;QACH,KAAK,CAAC,KAAiB;YACrB,gCAAgC;YAChC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,eAAe,KAAf,eAAe,GAAK,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAC;YAC7D,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED;;;WAGG;QACH,aAAa;YACX,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAuB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,IAAI,CAAC,KAAiB;YAC1B,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,OAAO,KAAP,OAAO,GAAK,IAAI,CAAC,aAAa,EAAE,EAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@webda/cloudevents",
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"description": "Discovery and Subscriptions for CloudEvents",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cloudevents",
|
|
7
|
+
"webda"
|
|
8
|
+
],
|
|
9
|
+
"author": "Remi Cattiau <remi@cattiau.com>",
|
|
10
|
+
"repository": "git://github.com/loopingz/webda.io.git",
|
|
11
|
+
"main": "lib/index.js",
|
|
12
|
+
"typings": "lib/index.d.ts",
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc-esm",
|
|
15
|
+
"build:module": "webda build",
|
|
16
|
+
"build:watch": "webda build --watch",
|
|
17
|
+
"grammar": "antlr4ts -visitor src/stores/webdaql/WebdaQLLexer.g4 src/stores/webdaql/WebdaQLParser.g4 && yarn run lint:fix",
|
|
18
|
+
"pretest": "npm run build",
|
|
19
|
+
"lint": "prettier --check src/**/*",
|
|
20
|
+
"lint:fix": "prettier --write src/**/*",
|
|
21
|
+
"test": "NODE_OPTIONS='--no-warnings --experimental-vm-modules' jest",
|
|
22
|
+
"test:bun": "bun test --coverage"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"cloudevents": "^8.0.1"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "18.11.13",
|
|
29
|
+
"@webda/tsc-esm": "1.3.0",
|
|
30
|
+
"jest": "^29.7.0",
|
|
31
|
+
"ts-jest": "^29.1.2"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"lib"
|
|
35
|
+
],
|
|
36
|
+
"c8": {
|
|
37
|
+
"report-dir": "./reports",
|
|
38
|
+
"reporter": [
|
|
39
|
+
"html",
|
|
40
|
+
"lcov",
|
|
41
|
+
"json",
|
|
42
|
+
"text"
|
|
43
|
+
],
|
|
44
|
+
"exclude": [
|
|
45
|
+
"src/test.ts",
|
|
46
|
+
"**/*.spec.ts",
|
|
47
|
+
"test/**/*",
|
|
48
|
+
"*/stores/webdaql/WebdaQL*"
|
|
49
|
+
],
|
|
50
|
+
"excludeNodeModules": true
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://webda.io",
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"access": "public"
|
|
55
|
+
},
|
|
56
|
+
"type": "module",
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.0.0"
|
|
59
|
+
},
|
|
60
|
+
"gitHead": "af93fd620b1d0de91cabb1900f01b94e50774d41"
|
|
61
|
+
}
|