@atmosx/event-product-parser 3.0.4 → 3.0.7
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/{CONTRIBUTING.md → .github/CONTRIBUTING.md} +1 -1
- package/.github/SUPPORTED_EVENTS.md +370 -0
- package/.github/docs/docs-functions.md +30 -0
- package/.github/docs/docs-general-configurations.md +199 -0
- package/.github/docs/docs-integrations.md +38 -0
- package/.github/docs/docs-listeners.md +28 -0
- package/.github/docs/docs-source-configuration.md +218 -0
- package/.github/docs/docs-technical.md +50 -0
- package/.github/logo.png +0 -0
- package/.github/samples/SAMPLE_EAS_GENERATION.wav +0 -0
- package/.github/samples/SAMPLE_GEOJSON.json +204 -0
- package/.github/samples/SAMPLE_TEXT_PRODUCT.txt +119 -0
- package/README.md +157 -337
- package/dist/cjs/index.cjs +24125 -15815
- package/dist/esm/index.mjs +24144 -15839
- package/package.json +56 -53
- package/pnpm-workspace.yaml +4 -0
- package/src/bootstrap.ts +83 -43
- package/src/building/CreateEvent.ts +54 -0
- package/src/{@building/building.clean.ts → building/GetCleanedEvent.ts} +4 -4
- package/src/building/GetEventAttachments.ts +88 -0
- package/src/building/GetEventDirection.ts +28 -0
- package/src/{@building/building.enhance.ts → building/GetEventEnhancedName.ts} +13 -17
- package/src/{@building/building.geometry.ts → building/GetEventGeometry.ts} +19 -13
- package/src/{@building/building.headers.ts → building/GetEventHeader.ts} +13 -13
- package/src/{@building/building.polygon.ts → building/GetEventNodes.ts} +26 -22
- package/src/{@building/building.office.ts → building/GetEventOffice.ts} +14 -14
- package/src/building/GetEventProperties.ts +105 -0
- package/src/{@building/building.signature.ts → building/GetEventSignature.ts} +16 -17
- package/src/{@core/core.createListener.ts → building/GetEventTags.ts} +11 -6
- package/src/building/GetEventTheme.ts +26 -0
- package/src/building/GetEventTracking.ts +64 -0
- package/src/components/audio/GenerateAudioMessage.ts +149 -0
- package/src/components/audio/components/GetCleanDescription.ts +91 -0
- package/src/{@modules/@eas/eas.getFloatPCM16.ts → components/audio/components/GetFloatPCM16.ts} +3 -3
- package/src/{@modules/@eas/eas.getMergedPCM16.ts → components/audio/components/GetMergedPCM16.ts} +3 -3
- package/src/{@modules/@eas/eas.getPCM16.ts → components/audio/components/GetPCM16.ts} +13 -8
- package/src/{@modules/@eas/eas.getPCMToFloat.ts → components/audio/components/GetPCMToFloat.ts} +3 -3
- package/src/{@modules/@eas/eas.getSampledPCM16.ts → components/audio/components/GetSampledPCM16.ts} +14 -8
- package/src/components/audio/components/GetTTS.ts +61 -0
- package/src/{@modules/@eas/eas.getWavPCM16.ts → components/audio/components/GetWavPCM16.ts} +8 -8
- package/src/{@modules/@eas/eas.setAFSK.ts → components/audio/components/SetAFSK.ts} +12 -8
- package/src/{@modules/@eas/eas.setAsciiToBits.ts → components/audio/components/SetAsciiToBits.ts} +3 -4
- package/src/{@modules/@eas/eas.setAttentionTone.ts → components/audio/components/SetAttentionTone.ts} +11 -6
- package/src/{@modules/@eas/eas.setNoise.ts → components/audio/components/SetNoise.ts} +14 -8
- package/src/{@modules/@eas/eas.setRadioEffect.ts → components/audio/components/SetRadioEffect.ts} +14 -8
- package/src/{@modules/@eas/eas.setSameHeader.ts → components/audio/components/SetSameHeader.ts} +22 -15
- package/src/{@modules/@utilities/utilities.setWarning.ts → components/database/CreateQuery.ts} +18 -13
- package/src/{@modules/@database/database.cache.ts → components/database/GetCachedEvents.ts} +19 -14
- package/src/components/database/ImportBoundaries.ts +168 -0
- package/src/components/database/ImportBroadcastify.ts +60 -0
- package/src/components/database/ImportCities.ts +87 -0
- package/src/{@modules/@database/database.shapefiles.ts → components/database/ImportShapefiles.ts} +31 -37
- package/src/components/database/ImportStanza.ts +43 -0
- package/src/components/database/InitializeDatabase.ts +71 -0
- package/src/components/images/GenerateGraphic.ts +234 -0
- package/src/components/images/components/CreateRectangle.ts +22 -0
- package/src/components/images/components/CreateText.ts +22 -0
- package/src/components/images/modules/CreateSVG.ts +37 -0
- package/src/components/images/modules/GetGeographicalBoundaries.ts +72 -0
- package/src/components/images/modules/GetGeographicalCities.ts +58 -0
- package/src/components/images/modules/GetGeographicalEvents.ts +48 -0
- package/src/components/images/modules/GetGeometryBounds.ts +82 -0
- package/src/components/images/modules/GetParsedBoundary.ts +58 -0
- package/src/components/images/modules/GetSVGPath.ts +53 -0
- package/src/components/images/modules/NormalizePolygon.ts +57 -0
- package/src/{@modules/@stanza/stanza.getAwipsType.ts → components/stanza/GetAwipsType.ts} +19 -18
- package/src/components/stanza/ValidateStanza.ts +62 -0
- package/src/components/utilities/CreateHttp.ts +83 -0
- package/src/{@modules/@utilities/utilities.getFormattedTime.ts → components/utilities/GetFormattedTime.ts} +3 -3
- package/src/components/utilities/GetLatestIssuance.ts +32 -0
- package/src/components/utilities/GetMatched.ts +38 -0
- package/src/{@modules/@utilities/utilities.getShapeNearestPoint.ts → components/utilities/GetShapeNearestPoint.ts} +24 -19
- package/src/components/utilities/GetUnionPolygon.ts +36 -0
- package/src/components/utilities/QueueManager.ts +70 -0
- package/src/components/utilities/SetCronSchedule.ts +98 -0
- package/src/{@core/core.clearEvents.ts → components/utilities/SetDebug.ts} +17 -12
- package/src/components/utilities/SetEventEmit.ts +42 -0
- package/src/{@modules/@utilities/utilities.setSettings.ts → components/utilities/SetSettings.ts} +7 -7
- package/src/{@modules/@utilities/utilities.setSleep.ts → components/utilities/SetSleep.ts} +5 -5
- package/src/components/utilities/SetTimeoutAction.ts +64 -0
- package/src/components/utilities/SetWarning.ts +47 -0
- package/src/{@modules/@xmpp/xmpp.xDeploy.ts → components/xmpp/DeployXMPP.ts} +26 -27
- package/src/components/xmpp/ErrorXMPP.ts +27 -0
- package/src/{@modules/@xmpp/xmpp.xError.ts → components/xmpp/OfflineXMPP.ts} +17 -9
- package/src/{@modules/@xmpp/xmpp.xOnline.ts → components/xmpp/OnlineXMPP.ts} +21 -20
- package/src/components/xmpp/ReconnectXMPP.ts +64 -0
- package/src/components/xmpp/StanzaXMPP.ts +63 -0
- package/src/{@building/building.tags.ts → core/ClearEvents.ts} +12 -5
- package/src/{@core/core.getVersion.ts → core/GetEvents.ts} +5 -6
- package/src/core/GetNodes.ts +24 -0
- package/src/{@core/core.getNodes.ts → core/GetRandomEvent.ts} +5 -6
- package/src/core/GetVersion.ts +24 -0
- package/src/core/ManualEvent.ts +55 -0
- package/src/core/QueryStanza.ts +40 -0
- package/src/core/SetNode.ts +87 -0
- package/src/core/StartService.ts +62 -0
- package/src/core/StopService.ts +32 -0
- package/src/enums/AWIPS.ts +366 -0
- package/src/{@dictionaries/dictionaries.eventActions.ts → enums/Actions.ts} +3 -3
- package/src/{@dictionaries/dictionaries.eventCancelMessages.ts → enums/Cancellation.ts} +4 -3
- package/src/{@dictionaries/dictionaries.eventCauses.ts → enums/Causes.ts} +3 -3
- package/src/{@dictionaries/dictionaries.statusCorrelationText.ts → enums/Correlations.ts} +3 -3
- package/src/enums/Enhanced.ts +70 -0
- package/src/{@dictionaries/dictionaries.eventTypes.ts → enums/Events.ts} +3 -3
- package/src/{@dictionaries/dictionaries.regExp.ts → enums/Expressions.ts} +5 -4
- package/src/{@core/core.getEvents.ts → enums/GlobalFilter.ts} +7 -8
- package/src/{@dictionaries/dictionaries.hailStrings.ts → enums/Hail.ts} +9 -4
- package/src/{@dictionaries/dictionaries.officeICAOs.ts → enums/ICAO.ts} +5 -3
- package/src/enums/Matches.ts +60 -0
- package/src/{@dictionaries/dictionaries.eventProducts.ts → enums/Products.ts} +3 -3
- package/src/{@dictionaries/dictionaries.eventRecords.ts → enums/Records.ts} +3 -3
- package/src/{@dictionaries/dictionaries.eventSeverity.ts → enums/Severity.ts} +3 -3
- package/src/{@dictionaries/dictionaries.shapefileLinks.ts → enums/Shapefiles.ts} +3 -3
- package/src/enums/States.ts +136 -0
- package/src/{@dictionaries/dictionaries.eventStatus.ts → enums/Status.ts} +3 -3
- package/src/enums/Strings.ts +22 -0
- package/src/enums/Tags.ts +172 -0
- package/src/{@dictionaries/dictionaries.testSignatures.ts → enums/Testing.ts} +5 -4
- package/src/enums/Themes.ts +70 -0
- package/src/events/ParseAPI.ts +129 -0
- package/src/{@events/events.text.ts → events/ParseText.ts} +32 -23
- package/src/{@events/events.ugc.ts → events/ParseUGC.ts} +36 -26
- package/src/events/ParseVTEC.ts +88 -0
- package/src/index.ts +60 -38
- package/src/manager/MakeEvents.ts +110 -0
- package/src/manager/RemoveEvent.ts +74 -0
- package/src/{@manager/manager.setHash.ts → manager/SetHash.ts} +19 -15
- package/src/manager/UpdateEvents.ts +35 -0
- package/src/manager/UpdateNode.ts +62 -0
- package/src/manager/ValidateEvents.ts +144 -0
- package/src/{@parsers/@hvtec/hvtec.extract.ts → parsers/hvtec/HVExtract.ts} +13 -13
- package/src/parsers/text/GetDescriptionFromProduct.ts +59 -0
- package/src/parsers/text/GetEmbededText.ts +57 -0
- package/src/parsers/text/GetPolygonFromProduct.ts +71 -0
- package/src/parsers/text/GetStringText.ts +58 -0
- package/src/{@parsers/@text/text.getTextFromProduct.ts → parsers/text/GetTextFromProduct.ts} +12 -12
- package/src/parsers/ugc/GetCache.ts +24 -0
- package/src/{@parsers/@ugc/ugc.expiry.ts → parsers/ugc/GetExpiry.ts} +3 -3
- package/src/{@parsers/@ugc/ugc.header.ts → parsers/ugc/GetHeader.ts} +6 -6
- package/src/parsers/ugc/GetLocations.ts +57 -0
- package/src/parsers/ugc/GetZonePolygon.ts +73 -0
- package/src/{@parsers/@ugc/ugc.zones.ts → parsers/ugc/GetZones.ts} +3 -3
- package/src/{@modules/@utilities/utilities.setListener.ts → parsers/ugc/SetCache.ts} +13 -10
- package/src/{@parsers/@ugc/ugc.extract.ts → parsers/ugc/UGCExtract.ts} +15 -15
- package/src/{@parsers/@pvtec/pvtec.expires.ts → parsers/vtec/GetExpiry.ts} +3 -3
- package/src/parsers/vtec/VTECExtract.ts +49 -0
- package/src/{@types/types.attributes.ts → static/Attributes.ts} +2 -3
- package/src/{@types/type.event.ts → static/Event.ts} +11 -8
- package/src/{@types/type.properties.ts → static/Properties.ts} +17 -10
- package/src/{@types/types.stanza.ts → static/Stanza.ts} +2 -2
- package/src/tasks/CreateTasks.ts +123 -0
- package/src/{@core/core.stop.ts → tasks/TaskGenerateJSON.ts} +14 -12
- package/src/tasks/TaskGenerateText.ts +34 -0
- package/src/tasks/TaskSendNTFY.ts +97 -0
- package/src/tasks/TaskSendWebhook.ts +107 -0
- package/src/types/Actions.ts +37 -0
- package/src/{@types/types.hvtec.ts → types/HVTEC.ts} +6 -6
- package/src/{@types/types.hash.ts → types/Hash.ts} +5 -5
- package/src/types/Nodes.ts +29 -0
- package/src/{@types/types.settings.ts → types/Settings.ts} +42 -10
- package/src/{@types/types.compiled.ts → types/StanzaCompiled.ts} +15 -14
- package/src/{@types/types.ugc.ts → types/UGC.ts} +5 -5
- package/src/{@modules/@utilities/utilities.getSettings.ts → types/VTEC.ts} +12 -7
- package/tools/build.js +47 -0
- package/tsconfig.json +28 -1
- package/dist/index.d.mts +0 -239
- package/dist/index.d.ts +0 -239
- package/src/@building/building.create.ts +0 -42
- package/src/@building/building.properties.ts +0 -89
- package/src/@building/building.tracking.ts +0 -68
- package/src/@building/building.validate.ts +0 -147
- package/src/@core/core.getRandomEvent.ts +0 -25
- package/src/@core/core.setNode.ts +0 -81
- package/src/@core/core.start.ts +0 -61
- package/src/@dictionaries/dictionaries.betterEventNames.ts +0 -99
- package/src/@dictionaries/dictionaries.eventAwipAbreviations.ts +0 -364
- package/src/@dictionaries/dictionaries.eventTags.ts +0 -93
- package/src/@dictionaries/dictionaries.eventsMatchText.ts +0 -36
- package/src/@dictionaries/dictionaries.transcribedMessageReplacements.ts +0 -68
- package/src/@events/events.api.ts +0 -113
- package/src/@events/events.vtec.ts +0 -87
- package/src/@manager/manager.mkEvent.ts +0 -96
- package/src/@manager/manager.rmEvent.ts +0 -49
- package/src/@manager/manager.updateEvents.ts +0 -35
- package/src/@manager/manager.updateNodes.ts +0 -55
- package/src/@manager/manager.updateWebhooks.ts +0 -50
- package/src/@modules/@database/database.init.ts +0 -45
- package/src/@modules/@database/database.stanza.ts +0 -48
- package/src/@modules/@eas/eas.setEasTone.ts +0 -137
- package/src/@modules/@stanza/stanza.validate.ts +0 -50
- package/src/@modules/@utilities/utilities.createHttp.ts +0 -85
- package/src/@modules/@utilities/utilities.createWebhook.ts +0 -115
- package/src/@modules/@utilities/utilities.setCronSchedule.ts +0 -65
- package/src/@modules/@utilities/utilities.setEventEmit.ts +0 -41
- package/src/@modules/@utilities/utilities.setTimeoutAction.ts +0 -59
- package/src/@modules/@xmpp/xmpp.xOffline.ts +0 -38
- package/src/@modules/@xmpp/xmpp.xReconnect.ts +0 -64
- package/src/@modules/@xmpp/xmpp.xStanza.ts +0 -63
- package/src/@parsers/@pvtec/pvtec.extract.ts +0 -49
- package/src/@parsers/@text/text.getDescriptionFromProduct.ts +0 -53
- package/src/@parsers/@text/text.getPolygonFromProduct.ts +0 -32
- package/src/@parsers/@text/text.getXML.ts +0 -61
- package/src/@parsers/@ugc/ugc.coordinates.ts +0 -110
- package/src/@parsers/@ugc/ugc.locations.ts +0 -29
- package/src/@types/types.pvtec.ts +0 -30
- package/src/@types/types.webhook.ts +0 -27
- package/test.js +0 -91
- package/tsup.config.ts +0 -16
- /package/{CODE_OF_CONDUCT.md → .github/CODE_OF_CONDUCT.md} +0 -0
- /package/{LICENSE → .github/LICENSE} +0 -0
- /package/{SECURITY.md → .github/SECURITY.md} +0 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
# @atmosx/event-product-parser Supported Events
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# Event Dictionary
|
|
5
|
+
- Ashfall |
|
|
6
|
+
- Air Stagnation |
|
|
7
|
+
- Beach Hazard |
|
|
8
|
+
- Brisk Wind |
|
|
9
|
+
- Blizzard |
|
|
10
|
+
- Coastal Flood |
|
|
11
|
+
- Debris Flow |
|
|
12
|
+
- Dust Storm |
|
|
13
|
+
- Extreme Cold |
|
|
14
|
+
- Excessive Heat |
|
|
15
|
+
- Extreme Heat |
|
|
16
|
+
- Extreme Wind |
|
|
17
|
+
- Areal Flood |
|
|
18
|
+
- Flash Flood |
|
|
19
|
+
- Dense Fog |
|
|
20
|
+
- Flood |
|
|
21
|
+
- Frost |
|
|
22
|
+
- Fire Weather |
|
|
23
|
+
- Freeze |
|
|
24
|
+
- Gale |
|
|
25
|
+
- Hurricane Force Wind |
|
|
26
|
+
- Heat |
|
|
27
|
+
- Hurricane |
|
|
28
|
+
- High Wind |
|
|
29
|
+
- Hydrologic |
|
|
30
|
+
- Hard Freeze |
|
|
31
|
+
- Ice Storm |
|
|
32
|
+
- Lake Effect Snow |
|
|
33
|
+
- Low Water |
|
|
34
|
+
- Lakeshore Flood |
|
|
35
|
+
- Lake Wind |
|
|
36
|
+
- Special Marine |
|
|
37
|
+
- Earthquake |
|
|
38
|
+
- Dense Fog |
|
|
39
|
+
- Ashfall |
|
|
40
|
+
- Dense Smoke |
|
|
41
|
+
- Small Craft for Rough Bar |
|
|
42
|
+
- Rip Current Risk |
|
|
43
|
+
- Small Craft |
|
|
44
|
+
- Hazardous Seas |
|
|
45
|
+
- Small Craft for Winds |
|
|
46
|
+
- Dense Smoke |
|
|
47
|
+
- Snow Squall |
|
|
48
|
+
- Storm |
|
|
49
|
+
- Storm Surge |
|
|
50
|
+
- High Surf |
|
|
51
|
+
- Severe Thunderstorm |
|
|
52
|
+
- Small Craft for Hazardous Seas |
|
|
53
|
+
- Tornado ||
|
|
54
|
+
- Tropical Storm |
|
|
55
|
+
- Tsunami |
|
|
56
|
+
- Typhoon |
|
|
57
|
+
- Special Weather |
|
|
58
|
+
- Heavy Freezing Spray |
|
|
59
|
+
- Wind Chill |
|
|
60
|
+
- Wind |
|
|
61
|
+
- Winter Storm |
|
|
62
|
+
- Winter Weather |
|
|
63
|
+
- Freezing Fog |
|
|
64
|
+
- Freezing Rain |
|
|
65
|
+
- Freezing Spray |
|
|
66
|
+
- Rawinsonde Data Above 100 Millibars |
|
|
67
|
+
- Alarm Alert Administrative Message |
|
|
68
|
+
- Alert Administrative Message |
|
|
69
|
+
- NWS Administrative Message |
|
|
70
|
+
- Space Environment Advisory |
|
|
71
|
+
- Area Forecast Discussion |
|
|
72
|
+
- Area Forecast Matrices |
|
|
73
|
+
- Area Forecast Product |
|
|
74
|
+
- Fire Weather Matrix |
|
|
75
|
+
- Agricultural Forecast |
|
|
76
|
+
- Agricultural Observations |
|
|
77
|
+
- Space Environment Alert |
|
|
78
|
+
- Air Quality Alert |
|
|
79
|
+
- Air Quality Index Statement |
|
|
80
|
+
- Air Stagnation Advisory |
|
|
81
|
+
- Avalanche Watch |
|
|
82
|
+
- Avalanche Weather Guidance |
|
|
83
|
+
- Avalanche Warning |
|
|
84
|
+
- Area Weather Outlook |
|
|
85
|
+
- Area Weather Summary |
|
|
86
|
+
- Area Weather Update |
|
|
87
|
+
- Airport Weather Warning |
|
|
88
|
+
- Blue Alert |
|
|
89
|
+
- Buoy Report |
|
|
90
|
+
- Coast Guard Observations |
|
|
91
|
+
- Hourly Roundup for Weather Radio |
|
|
92
|
+
- Child Abduction Emergency |
|
|
93
|
+
- Coded City Forecast |
|
|
94
|
+
- Civil Danger Warning |
|
|
95
|
+
- Civil Emergency Message |
|
|
96
|
+
- Monthly Daily Climate Data |
|
|
97
|
+
- Convective Forecast Product |
|
|
98
|
+
- Coastal Flood Warnings Watches Statements |
|
|
99
|
+
- Coast Guard Surface Report |
|
|
100
|
+
- Computer Hurricane Guidance |
|
|
101
|
+
- Climatological Report Annual |
|
|
102
|
+
- Climatological Report Daily |
|
|
103
|
+
- Climatological Report Monthly |
|
|
104
|
+
- Climatological Report Quarterly |
|
|
105
|
+
- Climatological Report Seasonal |
|
|
106
|
+
- Climate Report |
|
|
107
|
+
- Coded Climatological Monthly Means |
|
|
108
|
+
- Coded Analysis and Forecasts
|
|
109
|
+
- Great Lakes Port Forecast
|
|
110
|
+
- Space Environment Products Routine
|
|
111
|
+
- Center Weather Advisory
|
|
112
|
+
- Coastal Waters Forecast
|
|
113
|
+
- Center Weather Statement
|
|
114
|
+
- Space Environment Product Daily
|
|
115
|
+
- Daily Dispersion Outlook
|
|
116
|
+
- Drought Information Statement
|
|
117
|
+
- Practice Demo Warning
|
|
118
|
+
- Unnumbered Depression Advisory
|
|
119
|
+
- ASOS Daily Summary
|
|
120
|
+
- Dust Storm Warning
|
|
121
|
+
- Extended Forecast 3 to 5 Day
|
|
122
|
+
- Six to Ten Day Weather Outlook Local
|
|
123
|
+
- Tsunami Bulletin
|
|
124
|
+
- Earthquake Report
|
|
125
|
+
- Earthquake Warning
|
|
126
|
+
- Flood Potential Outlook
|
|
127
|
+
- Extended Streamflow Guidance
|
|
128
|
+
- Extended Streamflow Prediction
|
|
129
|
+
- Water Supply Outlook
|
|
130
|
+
- Evacuation Immediate
|
|
131
|
+
- Extreme Wind Warning
|
|
132
|
+
- Aviation Area Forecasts (Regions)
|
|
133
|
+
- Winds Aloft Forecasts
|
|
134
|
+
- Fire Danger Indices
|
|
135
|
+
- Flash Flood Watch
|
|
136
|
+
- Flash Flood Guidance
|
|
137
|
+
- Headwater Guidance
|
|
138
|
+
- Flash Flood Statement
|
|
139
|
+
- Flash Flood Warning
|
|
140
|
+
- National Flood Summary
|
|
141
|
+
- Flood Statement
|
|
142
|
+
- Flood Warning
|
|
143
|
+
- Upper Wind Fallout Forecast
|
|
144
|
+
- Fire Warning
|
|
145
|
+
- Marine Fisheries Service Message
|
|
146
|
+
- Radar Outage Notification
|
|
147
|
+
- Temp POP Guidance
|
|
148
|
+
- Fire Weather Administrative Message
|
|
149
|
+
- Fire Weather Outlook Discussion
|
|
150
|
+
- Fire Weather Forecast
|
|
151
|
+
- Land Management Forecast
|
|
152
|
+
- Miscellaneous Fire Weather Product
|
|
153
|
+
- Fire Weather Notification
|
|
154
|
+
- Fire Weather Observation
|
|
155
|
+
- Fire Weather Spot Forecast
|
|
156
|
+
- Freezing Level Data
|
|
157
|
+
- Great Lakes Forecast
|
|
158
|
+
- Great Lakes Storm Summary
|
|
159
|
+
- Green
|
|
160
|
+
- RFC QPF Data Products
|
|
161
|
+
- Hurricane Local Statement
|
|
162
|
+
- Hydrometeorological Discussion
|
|
163
|
+
- AHPS XML Product
|
|
164
|
+
- Hazardous Materials Warning
|
|
165
|
+
- RFC QPF Verification Products
|
|
166
|
+
- Weather Roundup
|
|
167
|
+
- High Seas Forecast
|
|
168
|
+
- Hazardous Weather Outlook
|
|
169
|
+
- Hourly Weather Roundup
|
|
170
|
+
- Daily Hydrometeorological Products
|
|
171
|
+
- Monthly Hydrometeorological Product
|
|
172
|
+
- Ice Forecast
|
|
173
|
+
- Ice Drift Vectors
|
|
174
|
+
- Administrative Message
|
|
175
|
+
- Ice Observation
|
|
176
|
+
- Keep Alive Message
|
|
177
|
+
- Local Area Emergency
|
|
178
|
+
- Preliminary Local Climatological Data
|
|
179
|
+
- Local Cooperative Observation
|
|
180
|
+
- Law Enforcement Warning
|
|
181
|
+
- Local Forecast
|
|
182
|
+
- Lake Stages
|
|
183
|
+
- Low Level Sounding
|
|
184
|
+
- Low Temperatures
|
|
185
|
+
- Local Storm Report
|
|
186
|
+
- Lightning Data
|
|
187
|
+
- Rawinsonde Mandatory Levels
|
|
188
|
+
- Mean Areal Precipitation
|
|
189
|
+
- Amended Marine Forecast
|
|
190
|
+
- Marine Forecast Matrix
|
|
191
|
+
- Marine Interpretation Message
|
|
192
|
+
- Miscellaneous Local Product
|
|
193
|
+
- Marine Observations
|
|
194
|
+
- Space Environment Product Monthly
|
|
195
|
+
- Marine Product Techniques Development
|
|
196
|
+
- ASOS Monthly Summary Message
|
|
197
|
+
- METAR Observation
|
|
198
|
+
- METAR Test Message
|
|
199
|
+
- Marine Verification Coded Message
|
|
200
|
+
- Marine Weather Statement
|
|
201
|
+
- Marine Weather Message
|
|
202
|
+
- Weather Reconnaissance Flights
|
|
203
|
+
- Short Term Forecast
|
|
204
|
+
- Data Management Message
|
|
205
|
+
- Non Precipitation Warning
|
|
206
|
+
- Nearshore Marine Forecast
|
|
207
|
+
- Nuclear Power Plant Warning
|
|
208
|
+
- NOAA Weather Radio Forecast
|
|
209
|
+
- Other Aviation Products
|
|
210
|
+
- Observations
|
|
211
|
+
- Offshore Aviation Forecast
|
|
212
|
+
- Offshore Forecast
|
|
213
|
+
- Other Marine Products
|
|
214
|
+
- Other Public Products
|
|
215
|
+
- Other Surface Observations
|
|
216
|
+
- Ocean Surface Winds
|
|
217
|
+
- Zone Forecast
|
|
218
|
+
- Point Forecast Matrices
|
|
219
|
+
- Fire Weather Point Forecast Matrices
|
|
220
|
+
- Plain Language Ship Report
|
|
221
|
+
- Prognostic Meteorological Discussion
|
|
222
|
+
- Public Information Statement
|
|
223
|
+
- Probability of Exceedance
|
|
224
|
+
- Heat Index Forecast Tables
|
|
225
|
+
- Pilot Report Collective
|
|
226
|
+
- Preliminary Forecasts
|
|
227
|
+
- Post Storm Hurricane Report
|
|
228
|
+
- Probabilistic Outlook Points
|
|
229
|
+
- Public Severe Weather Outlook
|
|
230
|
+
- Tropical Cyclone Probabilities
|
|
231
|
+
- Quantitative Precipitation Forecast
|
|
232
|
+
- Quantitative Precipitation Statement
|
|
233
|
+
- Revised Digital Forecast
|
|
234
|
+
- Recreational Report
|
|
235
|
+
- Record Report
|
|
236
|
+
- EAS Activation Request
|
|
237
|
+
- Rangeland Fire Danger Forecast
|
|
238
|
+
- RFI Observation
|
|
239
|
+
- Route Forecast
|
|
240
|
+
- Red Flag Warning
|
|
241
|
+
- Radiological Hazard Warning
|
|
242
|
+
- Required Monthly Test
|
|
243
|
+
- Rain Information Statement
|
|
244
|
+
- River Summary
|
|
245
|
+
- River Forecast
|
|
246
|
+
- River Ice Statement
|
|
247
|
+
- Miscellaneous River Product
|
|
248
|
+
- River Recreation Statement
|
|
249
|
+
- River Statement
|
|
250
|
+
- Regional Weather Roundup
|
|
251
|
+
- Regional Weather Summary
|
|
252
|
+
- Required Weekly Test
|
|
253
|
+
- Special Avalanche Bulletin
|
|
254
|
+
- Agricultural Weather Forecast
|
|
255
|
+
- Snow Avalanche Guidance
|
|
256
|
+
- APT Prediction
|
|
257
|
+
- Preliminary Notice of Watch
|
|
258
|
+
- Storm Summary
|
|
259
|
+
- Supplementary Climatological Data
|
|
260
|
+
- Soil Climate Analysis Network
|
|
261
|
+
- Satellite Cloud Product
|
|
262
|
+
- Selected Cities Summary
|
|
263
|
+
- Supplementary Data Observation
|
|
264
|
+
- Special Dispersion Statement
|
|
265
|
+
- Severe Local Storm Watch
|
|
266
|
+
- SPC Watch Point Information
|
|
267
|
+
- State Forecast
|
|
268
|
+
- Tabular State Forecast
|
|
269
|
+
- Rawinsonde Significant Levels
|
|
270
|
+
- Surface Ship Report
|
|
271
|
+
- International SIGMET
|
|
272
|
+
- Satellite Interpretation Message
|
|
273
|
+
- Severe Local Storm Outline
|
|
274
|
+
- Smoke Management Weather Forecast
|
|
275
|
+
- Special Marine Warning
|
|
276
|
+
- Science Operations Officer Product
|
|
277
|
+
- Satellite Precipitation Estimates
|
|
278
|
+
- Storm Strike Probability Bulletin
|
|
279
|
+
- Special Weather Statement
|
|
280
|
+
- Convective Special Weather Statement
|
|
281
|
+
- Shelter In Place Warning
|
|
282
|
+
- Snow Squall Warning
|
|
283
|
+
- Surf Discussion
|
|
284
|
+
- Surf Forecast
|
|
285
|
+
- Soaring Guidance
|
|
286
|
+
- Synoptic Surface Observation
|
|
287
|
+
- Weather Statistical Summary
|
|
288
|
+
- Satellite Tropical Disturbance Summary
|
|
289
|
+
- Road Condition Report
|
|
290
|
+
- State Temp Precip Table
|
|
291
|
+
- Spot Forecast Request
|
|
292
|
+
- Space Weather Message
|
|
293
|
+
- Severe Thunderstorm Warning
|
|
294
|
+
- Severe Weather Statement
|
|
295
|
+
- Mesoscale Discussion
|
|
296
|
+
- Storm Prediction Center Day 1 Outlook
|
|
297
|
+
- Storm Prediction Center Day 2 Outlook
|
|
298
|
+
- Storm Prediction Center Day 3 Outlook
|
|
299
|
+
- State Weather Summary
|
|
300
|
+
- Regional Weather Synopsis
|
|
301
|
+
- Terminal Aerodrome Forecast
|
|
302
|
+
- Terminal Alerting Products
|
|
303
|
+
- Travelers Forecast Table
|
|
304
|
+
- Tropical Cyclone Advisory
|
|
305
|
+
- Tropical Cyclone Discussion
|
|
306
|
+
- Tropical Cyclone Position Estimate
|
|
307
|
+
- Tropical Cyclone Marine Aviation Advisory
|
|
308
|
+
- Public Tropical Cyclone Advisory
|
|
309
|
+
- Satellite Tropical Cyclone Summary
|
|
310
|
+
- Tropical Cyclone Update
|
|
311
|
+
- Tropical Cyclone Break Points
|
|
312
|
+
- Tsunami Bulletin
|
|
313
|
+
- Tide Report
|
|
314
|
+
- Tsunami Tide Seismic Acknowledgement
|
|
315
|
+
- Telephone Outage Emergency
|
|
316
|
+
- Tornado Warning
|
|
317
|
+
- Temperature Precipitation Table
|
|
318
|
+
- Tsunami Warning/Watches/Advisories
|
|
319
|
+
- Ultraviolet Index
|
|
320
|
+
- Travelers Forecast
|
|
321
|
+
- Transcribed Weather Broadcast
|
|
322
|
+
- Tropical Weather Discussion
|
|
323
|
+
- Tropical Weather Outlook
|
|
324
|
+
- Tropical Weather Summary
|
|
325
|
+
- Aircraft Reconnaissance
|
|
326
|
+
- Ultraviolet Index
|
|
327
|
+
- Volcanic Activity Advisory
|
|
328
|
+
- Forecast Verification Statistics
|
|
329
|
+
- TAF Verification Product
|
|
330
|
+
- Volcano Warning
|
|
331
|
+
- AIRMETs (Regions)
|
|
332
|
+
- Space Environment Warning
|
|
333
|
+
- Space Environment Watch
|
|
334
|
+
- Weather Watch Clearance Notification
|
|
335
|
+
- Weekly Weather and Crop Report
|
|
336
|
+
- Weekly Data for Agriculture
|
|
337
|
+
- Warning Decision Update
|
|
338
|
+
- Space Environment Product Weekly
|
|
339
|
+
- Watch Outline Update
|
|
340
|
+
- SIGMETs (Regions)
|
|
341
|
+
- Tropical Cyclone SIGMET
|
|
342
|
+
- Volcanic Activity SIGMET
|
|
343
|
+
- Winter Weather Warning
|
|
344
|
+
- Watch Status Report
|
|
345
|
+
- Watch Probabilities
|
|
346
|
+
- Zone Forecast Product
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
# Additional Events (Enhanced)
|
|
350
|
+
- Radar Indicated Tornado Warning |
|
|
351
|
+
- Confirmed Tornado Warning |
|
|
352
|
+
- Radar Confirmed Tornado Warning |
|
|
353
|
+
- PDS Tornado Warning |
|
|
354
|
+
- Tornado Emergency |
|
|
355
|
+
- PDS Blizzard Warning |
|
|
356
|
+
- PDS Ice Storm Warning |
|
|
357
|
+
- PDS Fire Weather Warning |
|
|
358
|
+
- PDS Fire Weather Warning |
|
|
359
|
+
- Special Marine Warning (TPROB) |
|
|
360
|
+
- PDS Tornado Watch |
|
|
361
|
+
- PDS Severe Thunderstorm Watch |
|
|
362
|
+
- Flash Flood Emergency |
|
|
363
|
+
- Considerable Flash Flood Warning |
|
|
364
|
+
- EDS Severe Thunderstorm Warning (TPROB) |
|
|
365
|
+
- EDS Severe Thunderstorm Warning |
|
|
366
|
+
- Destructive Severe Thunderstorm Warning (TPROB) |
|
|
367
|
+
- Destructive Severe Thunderstorm Warning |
|
|
368
|
+
- Considerable Severe Thunderstorm Warning (TPROB)|
|
|
369
|
+
- Considerable Severe Thunderstorm Warning |
|
|
370
|
+
- Severe Thunderstorm Warning (TPROB) |
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://atmosphericx.scriptkitty.cafe">
|
|
3
|
+
<img src="https://scriptkitty.cafe/ftp/@atmosphericx/assets/logo-event-product-parser.png" alt="@atmosx/event-product-parser" width="800"/>
|
|
4
|
+
</a>
|
|
5
|
+
<br>
|
|
6
|
+
<p>A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products</p>
|
|
7
|
+
<small>A project built and maintained with ❤️ by the AtmosphericX team</small>
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://atmosphericx.scriptkitty.cafe"><b>Documentation</b></a> |
|
|
10
|
+
<a href="https://github.com/AtmosphericX"><b>Repositories</b></a> |
|
|
11
|
+
<a href="https://www.npmjs.com/search?q=%40atmosx"><b>NPM Packages</b></a> |
|
|
12
|
+
<a href="https://atmosphericx-discord.scriptkitty.cafe"><b>Community Discord</b></a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
<br><br>
|
|
16
|
+
|
|
17
|
+
# 7.0 - Functions
|
|
18
|
+
# 7.1 - Dynamic Configurations Setter
|
|
19
|
+
# 7.2 - Event Geometry Getter
|
|
20
|
+
# 7.3 - Random Event Getter
|
|
21
|
+
# 7.4 - Package Information Getter
|
|
22
|
+
# 7.5 - Cleaned Event Getter
|
|
23
|
+
# 7.6 - Management Functions
|
|
24
|
+
# 7.7 - Creating & Configuring Tracking Nodes
|
|
25
|
+
# 7.8 - Event Cache Getter
|
|
26
|
+
# 7.9 - Tracking Node Cache Getter
|
|
27
|
+
# 7.10 - Creating Manual WMO Events
|
|
28
|
+
# 7.11 - Database Queries
|
|
29
|
+
## 7.11.1 - Stanza Query
|
|
30
|
+
# 7.12 - Manual Audio Generation
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://atmosphericx.scriptkitty.cafe">
|
|
3
|
+
<img src="https://scriptkitty.cafe/ftp/@atmosphericx/assets/logo-event-product-parser.png" alt="@atmosx/event-product-parser" width="800"/>
|
|
4
|
+
</a>
|
|
5
|
+
<br>
|
|
6
|
+
<p>A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products</p>
|
|
7
|
+
<small>A project built and maintained with ❤️ by the AtmosphericX team</small>
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://atmosphericx.scriptkitty.cafe"><b>Documentation</b></a> |
|
|
10
|
+
<a href="https://github.com/AtmosphericX"><b>Repositories</b></a> |
|
|
11
|
+
<a href="https://www.npmjs.com/search?q=%40atmosx"><b>NPM Packages</b></a> |
|
|
12
|
+
<a href="https://atmosphericx-discord.scriptkitty.cafe"><b>Community Discord</b></a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
<br><br>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# 4.0 - General Configurations
|
|
19
|
+
|
|
20
|
+
`@atmosx/event-product-parser` provides a wide range of configuration options, from basic event handling and management to advanced filtering capabilities and customizable event properties. This section provides a comprehensive overview of every available configuration, including event settings, filtering options, and parser behavior, along with detailed explanations and practical examples to help you configure the parser for your specific use case.
|
|
21
|
+
|
|
22
|
+
# 4.1 - Event Management & History
|
|
23
|
+
|
|
24
|
+
**EventManagement** is a core configuration that controls how parsed events are managed throughout their lifecycle. When enabled, the parser automatically stores events in an internal, memory-safe cache, allowing it to efficiently track event issuance, updates, cancellations, upgrades, and expiration. This eliminates the need to implement and maintain your own event caching solution while ensuring event state remains consistent and up to date.
|
|
25
|
+
|
|
26
|
+
Enabling **EventManagement** also unlocks the [ActionSettings](TODO) configuration, which allows you to define actions that are automatically executed after events have been parsed.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { Manager } from '@atmosx/event-product-parser';
|
|
30
|
+
|
|
31
|
+
const client = new Manager({
|
|
32
|
+
GlobalSettings: {
|
|
33
|
+
EventManagement: true, // Enable event management
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
* Disabling **EventManagement** prevents the parser from tracking previously seen events. As a result, event expiration, cancellation, and update notifications will no longer be emitted. It is **strongly recommended** to leave this option enabled unless you have a specific reason to disable it.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# 4.2 - Geometry Configurations
|
|
42
|
+
|
|
43
|
+
`@atmosx/event-product-parser` provides configuration options for managing geometry properties associated with each event. These settings allow you to control how event geometries are handled during the receiving, parsing, and memory management stages of the event lifecycle.
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
GlobalSettings: {
|
|
47
|
+
DisableGeometryParsing: false, // Disables geometry parsing
|
|
48
|
+
UseShapefileCoordinates: true, // Uses UGC shapefile coordinate database
|
|
49
|
+
ShapefileSkipPoints: 0, // Skips points while building geometry for shapefiles
|
|
50
|
+
},
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 4.2.1 - Disable Geometry Parsing
|
|
54
|
+
|
|
55
|
+
The **DisableGeometryParsing** configuration is used to disable event geometry parsing. It was originally introduced as a way to reduce memory usage and improve parsing performance. However, with the introduction of memory-safe event caching, this configuration is now considered redundant and provides limited benefits in most use cases.
|
|
56
|
+
|
|
57
|
+
It is recommended to keep geometry parsing enabled unless you have a specific requirement to exclude geometry data from processed events.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
GlobalSettings: {
|
|
61
|
+
DisableGeometryParsing: true,
|
|
62
|
+
},
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 4.2.2 – Force Shapefile Coordinates
|
|
66
|
+
|
|
67
|
+
The **UseShapefileCoordinates** configuration allows you to obtain geographic coordinates and location information for spatial features. Shapefiles store geometry data such as points, lines, and polygons, which can be used to identify the exact position of features on a map.
|
|
68
|
+
|
|
69
|
+
When this feature is enabled, coordinate data is retrieved from the shapefile database instead of relying on raw polygon coordinate values. Disabling this feature will use the polygon coordinates provided directly in the raw text data.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
GlobalSettings: {
|
|
73
|
+
UseShapefileCoordinates: true
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Example raw polygon coordinates:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
LAT...LON 4587 6965 4585 6968 4588 6971 4587 6972
|
|
81
|
+
4584 6970 4576 6972 4576 6976 4577 6978
|
|
82
|
+
4574 6981 4566 6974 4565 6970 4558 6971
|
|
83
|
+
4553 6978 4530 6970 4567 7054 4573 7038
|
|
84
|
+
4580 7042 4589 7026 4596 7026 4598 6968
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
# 4.3 – Tracking Node Settings
|
|
88
|
+
|
|
89
|
+
Tracking nodes are GPS-based longitude/latitude filters used to monitor and manage geographic locations. They allow the system to match, filter, and process data based on specified coordinate positions.
|
|
90
|
+
|
|
91
|
+
Each tracking node is defined by a longitude and latitude location, which is used to determine whether incoming geographic data falls within the configured tracking criteria. This enables location-based filtering and tracking of relevant points or areas. For more information, see [Creating & Configuring Tracking Nodes](TODO).
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
GlobalSettings: {
|
|
96
|
+
NodeTTL: 60 // Time-To-Live (Event Updating)
|
|
97
|
+
NodeMaxDistance: 125 // Miles (Radius)
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## 4.3.1 - NodeTTL
|
|
102
|
+
|
|
103
|
+
**NodeTTL** defines how frequently events are updated against your configured tracking node filters.
|
|
104
|
+
During each update cycle, the system evaluates:
|
|
105
|
+
|
|
106
|
+
* Whether the event is inside the tracking node area.
|
|
107
|
+
* The distance from the tracking node (in miles and kilometers).
|
|
108
|
+
* The nearest point distance from the associated polygon boundary.
|
|
109
|
+
|
|
110
|
+
## 4.3.2 - Max Distance
|
|
111
|
+
|
|
112
|
+
**NodeMaxDistance**, defined in *miles*, specifies the maximum distance an event can be from a tracking node before it is filtered out. Events within this distance threshold will continue to be processed by the tracking node filters, while events beyond the configured distance will be ignored.
|
|
113
|
+
|
|
114
|
+
## 4.3.3 - Tracking Node Properties
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"type": "Feature",
|
|
118
|
+
"geometry": {
|
|
119
|
+
"type": "Polygon",
|
|
120
|
+
"coordinates": [[]]
|
|
121
|
+
},
|
|
122
|
+
"properties": {
|
|
123
|
+
"metadata": {
|
|
124
|
+
"nodes": [
|
|
125
|
+
{
|
|
126
|
+
"id": "Tracking Node Test",
|
|
127
|
+
"coordinates": [[]],
|
|
128
|
+
"nearest": [0, 0],
|
|
129
|
+
"miles": 52.1,
|
|
130
|
+
"kilometers": 83.8,
|
|
131
|
+
"proximity": false
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"filtered_proximity": false,
|
|
135
|
+
"updated": 000000000000
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
# 4.4 - Advanced Event Filters
|
|
142
|
+
Filtering is a critical component of `@atmosx/event-product-parser`, allowing your service to selectively process or ignore incoming data. Advanced event filters provide control over events, ICAO identifiers, [UGC (Universal Geographic Code)](https://www.weather.gov/media/documentation/docs/NWS_Geolocation.pdf) areas, states, and geographic locations.
|
|
143
|
+
|
|
144
|
+
These settings allow you to define which data should be processed, as well as exclude unwanted events, locations, or test products.
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
GlobalSettings: {
|
|
149
|
+
EventFiltering: {
|
|
150
|
+
ListeningEvents: [],
|
|
151
|
+
ListeningICAO: [],
|
|
152
|
+
ListeningUGC: [],
|
|
153
|
+
ListeningStates: [],
|
|
154
|
+
IgnoredICAO: [],
|
|
155
|
+
IgnoredEvents: [],
|
|
156
|
+
NodeLocationFiltering: false,
|
|
157
|
+
IgnoreTestProducts: true,
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## 4.4.1 – Events & Wildcards
|
|
163
|
+
|
|
164
|
+
Events can be filtered by using either the **wildcard** syntax or by providing the complete event name.
|
|
165
|
+
|
|
166
|
+
Using wildcards allows you to match multiple related events without needing to define each event individually. For more precise filtering, the full event name can be provided to match only a specific event type.
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
GlobalSettings: {
|
|
170
|
+
EventFiltering: {
|
|
171
|
+
ListeningEvents: [
|
|
172
|
+
`*Tornado Warning*`,
|
|
173
|
+
`Tornado Emergency`,
|
|
174
|
+
`*Thunderstorm Warning*`,
|
|
175
|
+
`Fire Weather Warning`
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
In the configuration above, the `*` character is used as a wildcard to match any text before or after the specified value.
|
|
181
|
+
|
|
182
|
+
* `*Tornado Warning*` matches any event containing **"Tornado Warning"** anywhere in the name.
|
|
183
|
+
* `Tornado Emergency` matches only the exact name **"Tornado Emergency"**.
|
|
184
|
+
* `*Thunderstorm Warning*` matches any event containing **"Thunderstorm Warning"** anywhere in the name.
|
|
185
|
+
* `Fire Weather Warning` matches only the exact name **"Fire Weather Warning"**.
|
|
186
|
+
|
|
187
|
+
Additionally, all events can be processed by setting **ListeningEvents** to an empty array (`[]`). This disables event name filtering and allows all available events to be accepted.
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
## 4.4.2 - ICAOs
|
|
192
|
+
## 4.4.3 - UGC
|
|
193
|
+
## 4.4.4 - States
|
|
194
|
+
## 4.4.5 - Ignoring Filters
|
|
195
|
+
## 4.4.6 - Node Location Filtering
|
|
196
|
+
## 4.4.7 - Test Products
|
|
197
|
+
# 4.5 - Archive Configurations
|
|
198
|
+
## 4.5.1 - TTL (Time-To-Live)
|
|
199
|
+
## 4.5.2 - Audio Toneout
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://atmosphericx.scriptkitty.cafe">
|
|
3
|
+
<img src="https://scriptkitty.cafe/ftp/@atmosphericx/assets/logo-event-product-parser.png" alt="@atmosx/event-product-parser" width="800"/>
|
|
4
|
+
</a>
|
|
5
|
+
<br>
|
|
6
|
+
<p>A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products</p>
|
|
7
|
+
<small>A project built and maintained with ❤️ by the AtmosphericX team</small>
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://atmosphericx.scriptkitty.cafe"><b>Documentation</b></a> |
|
|
10
|
+
<a href="https://github.com/AtmosphericX"><b>Repositories</b></a> |
|
|
11
|
+
<a href="https://www.npmjs.com/search?q=%40atmosx"><b>NPM Packages</b></a> |
|
|
12
|
+
<a href="https://atmosphericx-discord.scriptkitty.cafe"><b>Community Discord</b></a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
<br><br>
|
|
16
|
+
|
|
17
|
+
# 5.0 - Actions / Integrations
|
|
18
|
+
|
|
19
|
+
# 5.1 - Action Events & Wildcards
|
|
20
|
+
|
|
21
|
+
# 5.2 - Discord Webhooks
|
|
22
|
+
## 5.2.1 - Ratelimiting
|
|
23
|
+
|
|
24
|
+
# 5.3 - NTFY Push Notifications
|
|
25
|
+
## 5.3.1 - Server Configuration
|
|
26
|
+
## 5.3.2 - Action Configuration
|
|
27
|
+
|
|
28
|
+
# 5.4 - Broadcastify Feed Attachments
|
|
29
|
+
## 5.4.1 - Tag Filtering
|
|
30
|
+
|
|
31
|
+
# 5.5 - Audio Generation
|
|
32
|
+
## 5.5.1 - Linux Prerequisites
|
|
33
|
+
## 5.5.2 - Limitations
|
|
34
|
+
|
|
35
|
+
# 5.6 - Event Archiving
|
|
36
|
+
## 5.6.1 - Raw Text Product Archiving
|
|
37
|
+
## 5.6.2 - GeoJSON Archiving
|
|
38
|
+
## 5.7 - Graphic Generation
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://atmosphericx.scriptkitty.cafe">
|
|
3
|
+
<img src="https://scriptkitty.cafe/ftp/@atmosphericx/assets/logo-event-product-parser.png" alt="@atmosx/event-product-parser" width="800"/>
|
|
4
|
+
</a>
|
|
5
|
+
<br>
|
|
6
|
+
<p>A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products</p>
|
|
7
|
+
<small>A project built and maintained with ❤️ by the AtmosphericX team</small>
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://atmosphericx.scriptkitty.cafe"><b>Documentation</b></a> |
|
|
10
|
+
<a href="https://github.com/AtmosphericX"><b>Repositories</b></a> |
|
|
11
|
+
<a href="https://www.npmjs.com/search?q=%40atmosx"><b>NPM Packages</b></a> |
|
|
12
|
+
<a href="https://atmosphericx-discord.scriptkitty.cafe"><b>Community Discord</b></a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
<br><br>
|
|
16
|
+
|
|
17
|
+
# 6.0 - Listeners
|
|
18
|
+
# 6.1 - XMPP / NWS Status
|
|
19
|
+
# 6.2 - Test Products
|
|
20
|
+
# 6.3 - Expired Products
|
|
21
|
+
# 6.4 - Specific Product Types
|
|
22
|
+
# 6.5 - Filtered Products
|
|
23
|
+
# 6.6 - Cache Updates
|
|
24
|
+
# 6.7 - Tracking Node Updates
|
|
25
|
+
# 6.8 - Storm Prediction Center Products
|
|
26
|
+
# 6.9 - Debugging
|
|
27
|
+
# 6.10 - Logs / Journal
|
|
28
|
+
# 6.11 - Wildcard
|