1
- import { MappedParser , DateParser , PassThroughParser } from "../../../ parsers" ;
2
- import CONSTANTS from "../../../ constants" ;
1
+ import { MappedParser , DateParser , PassThroughParser } from "../../parsers" ;
2
+ import CONSTANTS from "../../constants" ;
3
3
4
- const passThrough = new PassThroughParser ( ) ;
5
- function parser ( name : string , parser = passThrough ) : MappedParser {
6
- return { name : name , parser : parser } ;
4
+ function parser ( header : string , parser = new PassThroughParser ( ) ) : MappedParser {
5
+ return { name : header , parser } ;
7
6
}
8
7
9
- const binaryParsers : Record < string , MappedParser > = Object . freeze ( {
8
+ /**
9
+ * A utility Map used to retrieve the header names for a CloudEvent
10
+ * using the CloudEvent getter function.
11
+ */
12
+ export const headerMap : Readonly < { [ key : string ] : MappedParser } > = Object . freeze ( {
13
+ [ CONSTANTS . CE_ATTRIBUTES . CONTENT_TYPE ] : parser ( CONSTANTS . HEADER_CONTENT_TYPE ) ,
14
+ [ CONSTANTS . CE_ATTRIBUTES . SUBJECT ] : parser ( CONSTANTS . CE_HEADERS . SUBJECT ) ,
15
+ [ CONSTANTS . CE_ATTRIBUTES . TYPE ] : parser ( CONSTANTS . CE_HEADERS . TYPE ) ,
16
+ [ CONSTANTS . CE_ATTRIBUTES . SPEC_VERSION ] : parser ( CONSTANTS . CE_HEADERS . SPEC_VERSION ) ,
17
+ [ CONSTANTS . CE_ATTRIBUTES . SOURCE ] : parser ( CONSTANTS . CE_HEADERS . SOURCE ) ,
18
+ [ CONSTANTS . CE_ATTRIBUTES . ID ] : parser ( CONSTANTS . CE_HEADERS . ID ) ,
19
+ [ CONSTANTS . CE_ATTRIBUTES . TIME ] : parser ( CONSTANTS . CE_HEADERS . TIME ) ,
20
+ [ CONSTANTS . STRUCTURED_ATTRS_03 . CONTENT_ENCODING ] : parser ( CONSTANTS . BINARY_HEADERS_03 . CONTENT_ENCODING ) ,
21
+ [ CONSTANTS . STRUCTURED_ATTRS_03 . SCHEMA_URL ] : parser ( CONSTANTS . BINARY_HEADERS_03 . SCHEMA_URL ) ,
22
+ } ) ;
23
+
24
+ export const binaryParsers : Record < string , MappedParser > = Object . freeze ( {
10
25
[ CONSTANTS . CE_HEADERS . TYPE ] : parser ( CONSTANTS . CE_ATTRIBUTES . TYPE ) ,
11
26
[ CONSTANTS . CE_HEADERS . SPEC_VERSION ] : parser ( CONSTANTS . CE_ATTRIBUTES . SPEC_VERSION ) ,
12
27
[ CONSTANTS . CE_HEADERS . SOURCE ] : parser ( CONSTANTS . CE_ATTRIBUTES . SOURCE ) ,
@@ -18,7 +33,7 @@ const binaryParsers: Record<string, MappedParser> = Object.freeze({
18
33
[ CONSTANTS . HEADER_CONTENT_TYPE ] : parser ( CONSTANTS . CE_ATTRIBUTES . CONTENT_TYPE ) ,
19
34
} ) ;
20
35
21
- const structuredParsers : Record < string , MappedParser > = Object . freeze ( {
36
+ export const structuredParsers : Record < string , MappedParser > = Object . freeze ( {
22
37
[ CONSTANTS . CE_ATTRIBUTES . TYPE ] : parser ( CONSTANTS . CE_ATTRIBUTES . TYPE ) ,
23
38
[ CONSTANTS . CE_ATTRIBUTES . SPEC_VERSION ] : parser ( CONSTANTS . CE_ATTRIBUTES . SPEC_VERSION ) ,
24
39
[ CONSTANTS . CE_ATTRIBUTES . SOURCE ] : parser ( CONSTANTS . CE_ATTRIBUTES . SOURCE ) ,
@@ -30,5 +45,3 @@ const structuredParsers: Record<string, MappedParser> = Object.freeze({
30
45
[ CONSTANTS . CE_ATTRIBUTES . SUBJECT ] : parser ( CONSTANTS . CE_ATTRIBUTES . SUBJECT ) ,
31
46
[ CONSTANTS . CE_ATTRIBUTES . DATA ] : parser ( CONSTANTS . CE_ATTRIBUTES . DATA ) ,
32
47
} ) ;
33
-
34
- export { binaryParsers , structuredParsers } ;
0 commit comments