Skip to content

Commit af9c77c

Browse files
ADD: Add new NLS publishers for XBOS/XPSX
1 parent ab8e32f commit af9c77c

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.19.1 - TBD
4+
5+
### Enhancements
6+
- Added new publisher values for `XNAS.BASIC` and `XNAS.NLS`
7+
38
## 0.19.0 - 2024-06-04
49

510
### Enhancements

include/databento/publishers.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,14 @@ enum class Publisher : std::uint16_t {
333333
IfeuImpactXoff = 84,
334334
// ICE Endex - Off-Market Trades
335335
NdexImpactXoff = 85,
336+
// Nasdaq NLS - Nasdaq BX
337+
XnasNlsXbos = 86,
338+
// Nasdaq NLS - Nasdaq PSX
339+
XnasNlsXpsx = 87,
340+
// Nasdaq Basic - Nasdaq BX
341+
XnasBasicXbos = 88,
342+
// Nasdaq Basic - Nasdaq PSX
343+
XnasBasicXpsx = 89,
336344
};
337345

338346
// Get a Publisher's Venue.

src/publishers.cpp

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,6 +748,18 @@ Venue PublisherVenue(Publisher publisher) {
748748
case Publisher::NdexImpactXoff: {
749749
return Venue::Xoff;
750750
}
751+
case Publisher::XnasNlsXbos: {
752+
return Venue::Xbos;
753+
}
754+
case Publisher::XnasNlsXpsx: {
755+
return Venue::Xpsx;
756+
}
757+
case Publisher::XnasBasicXbos: {
758+
return Venue::Xbos;
759+
}
760+
case Publisher::XnasBasicXpsx: {
761+
return Venue::Xpsx;
762+
}
751763
default: {
752764
throw InvalidArgumentError{
753765
"PublisherVenue", "publisher",
@@ -1013,6 +1025,18 @@ Dataset PublisherDataset(Publisher publisher) {
10131025
case Publisher::NdexImpactXoff: {
10141026
return Dataset::NdexImpact;
10151027
}
1028+
case Publisher::XnasNlsXbos: {
1029+
return Dataset::XnasNls;
1030+
}
1031+
case Publisher::XnasNlsXpsx: {
1032+
return Dataset::XnasNls;
1033+
}
1034+
case Publisher::XnasBasicXbos: {
1035+
return Dataset::XnasBasic;
1036+
}
1037+
case Publisher::XnasBasicXpsx: {
1038+
return Dataset::XnasBasic;
1039+
}
10161040
default: {
10171041
throw InvalidArgumentError{
10181042
"PublisherDataset", "publisher",
@@ -1279,6 +1303,18 @@ const char* ToString(Publisher publisher) {
12791303
case Publisher::NdexImpactXoff: {
12801304
return "NDEX.IMPACT.XOFF";
12811305
}
1306+
case Publisher::XnasNlsXbos: {
1307+
return "XNAS.NLS.XBOS";
1308+
}
1309+
case Publisher::XnasNlsXpsx: {
1310+
return "XNAS.NLS.XPSX";
1311+
}
1312+
case Publisher::XnasBasicXbos: {
1313+
return "XNAS.BASIC.XBOS";
1314+
}
1315+
case Publisher::XnasBasicXpsx: {
1316+
return "XNAS.BASIC.XPSX";
1317+
}
12821318
default: {
12831319
return "Unknown";
12841320
}
@@ -1547,6 +1583,18 @@ Publisher FromString(const std::string& str) {
15471583
if (str == "NDEX.IMPACT.XOFF") {
15481584
return Publisher::NdexImpactXoff;
15491585
}
1586+
if (str == "XNAS.NLS.XBOS") {
1587+
return Publisher::XnasNlsXbos;
1588+
}
1589+
if (str == "XNAS.NLS.XPSX") {
1590+
return Publisher::XnasNlsXpsx;
1591+
}
1592+
if (str == "XNAS.BASIC.XBOS") {
1593+
return Publisher::XnasBasicXbos;
1594+
}
1595+
if (str == "XNAS.BASIC.XPSX") {
1596+
return Publisher::XnasBasicXpsx;
1597+
}
15501598
throw InvalidArgumentError{"FromString<Publisher>", "str",
15511599
"unknown value '" + str + '\''};
15521600
}

0 commit comments

Comments
 (0)