atmosx-nwws-parser 1.0.183 → 1.0.185
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/package.json +1 -1
- package/src/events.js +9 -9
- package/src/stanza.js +3 -1
package/package.json
CHANGED
package/src/events.js
CHANGED
|
@@ -163,7 +163,8 @@ class NoaaWeatherWireServiceEvents {
|
|
|
163
163
|
let getHail = loader.packages.mText.getString(msg, `MAX HAIL SIZE...`, [`IN`]) || loader.packages.mText.getString(msg, `HAIL...`, [`IN`]);
|
|
164
164
|
let getGusts = loader.packages.mText.getString(msg, `MAX WIND GUST...`) || loader.packages.mText.getString(msg, `WIND...`);
|
|
165
165
|
let getThreat = loader.packages.mText.getString(msg, `DAMAGE THREAT...`);
|
|
166
|
-
let
|
|
166
|
+
let timeIssued = loader.packages.mText.getString(msg, `ISSUED TIME...`);
|
|
167
|
+
if (timeIssued == null) { timeIssued = stanza.attributes.issue; }
|
|
167
168
|
let senderOffice = loader.packages.mText.getOffice(msg) || vtec.tracking.split(`-`)[0];
|
|
168
169
|
let getCoordinates = loader.packages.mText.getPolygonCoordinates(msg);
|
|
169
170
|
let getDescription = loader.packages.mText.getCleanDescription(msg, vtec);
|
|
@@ -172,11 +173,11 @@ class NoaaWeatherWireServiceEvents {
|
|
|
172
173
|
id: `Wire-${vtec.tracking}`,
|
|
173
174
|
tracking: vtec.tracking,
|
|
174
175
|
action: vtec.status,
|
|
175
|
-
history: [{description: getDescription, action: vtec.status, issued:
|
|
176
|
+
history: [{description: getDescription, action: vtec.status, issued: timeIssued}],
|
|
176
177
|
properties: {
|
|
177
178
|
areaDesc: mUgc.locations.join(`; `) || `N/A`,
|
|
178
179
|
expires: new Date(vtec.expires) == `Invalid Date` ? new Date(9999, 0, 1) : new Date(vtec.expires),
|
|
179
|
-
sent: new Date(
|
|
180
|
+
sent: new Date(timeIssued),
|
|
180
181
|
messageType: vtec.status,
|
|
181
182
|
event: vtec.event || `Unknown Event`,
|
|
182
183
|
sender: senderOffice,
|
|
@@ -227,22 +228,21 @@ class NoaaWeatherWireServiceEvents {
|
|
|
227
228
|
let getHail = loader.packages.mText.getString(msg, `MAX HAIL SIZE...`, [`IN`]) || loader.packages.mText.getString(msg, `HAIL...`, [`IN`]);
|
|
228
229
|
let getGusts = loader.packages.mText.getString(msg, `MAX WIND GUST...`) || loader.packages.mText.getString(msg, `WIND...`);
|
|
229
230
|
let getThreat = loader.packages.mText.getString(msg, `DAMAGE THREAT...`);
|
|
230
|
-
let getTempIssue = loader.packages.mText.getString(msg, `ISSUED TIME...`);
|
|
231
231
|
let senderOffice = loader.packages.mText.getOffice(msg) || `NWS`;
|
|
232
232
|
let getCoordinates = loader.packages.mText.getPolygonCoordinates(msg);
|
|
233
233
|
let getDescription = loader.packages.mText.getCleanDescription(msg, null);
|
|
234
|
-
let
|
|
234
|
+
let timeIssued = loader.packages.mText.getString(msg, `ISSUED TIME...`);
|
|
235
|
+
if (timeIssued == null) { timeIssued = stanza.attributes.issue; }
|
|
235
236
|
let alert = {
|
|
236
237
|
hitch: `${new Date().getTime() - startTime}ms`,
|
|
237
238
|
id: `Wire-${defaultWMO ? defaultWMO[0] : `N/A`}-${mUgc.zones.join(`-`)}`,
|
|
238
239
|
tracking: `${defaultWMO ? defaultWMO[0] : `N/A`}-${mUgc.zones.join(`-`)}`,
|
|
239
240
|
action: `Issued`,
|
|
240
|
-
history: [{description: getDescription, action: `Issued`, issued:
|
|
241
|
+
history: [{description: getDescription, action: `Issued`, issued: timeIssued}],
|
|
241
242
|
properties: {
|
|
242
243
|
areaDesc: mUgc.locations.join(`; `) || `N/A`,
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
sent: issuedDate,
|
|
244
|
+
expires: new Date(new Date(timeIssued).getTime() + 1 * 60 * 60 * 1000),
|
|
245
|
+
sent: new Date(timeIssued),
|
|
246
246
|
messageType: `Issued`,
|
|
247
247
|
event: `Special Weather Statement`,
|
|
248
248
|
sender: senderOffice,
|
package/src/stanza.js
CHANGED
|
@@ -96,7 +96,9 @@ class NoaaWeatherWireServiceStanza {
|
|
|
96
96
|
|
|
97
97
|
saveCache = function(message, attributes, type, isCap, isVtec) {
|
|
98
98
|
if (!loader.settings.cacheSettings.cacheDir) return;
|
|
99
|
-
|
|
99
|
+
// for every $$ string, add a `\nISSUED TIME...${new Date().toISOString()} before it
|
|
100
|
+
message = message.replace(/\$\$/g, `\nISSUED TIME...${new Date().toISOString()}\n$$$\n`);
|
|
101
|
+
loader.packages.fs.appendFileSync(`${loader.settings.cacheSettings.cacheDir}/nwws-raw-category-${type}s-${isCap ? 'cap' : 'raw'}${isVtec ? '-vtec' : ''}.bin`, `=================================================\n${new Date().toISOString().replace(/[:.]/g, '-')}\n=================================================\n${message}`, 'utf8');
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
|