atmosx-nwws-parser 1.0.184 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atmosx-nwws-parser",
3
- "version": "1.0.184",
3
+ "version": "1.0.185",
4
4
  "description": "NOAA Weather Wire Parser",
5
5
  "main": "index.js",
6
6
  "scripts": {
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 getTempIssue = loader.packages.mText.getString(msg, `ISSUED TIME...`);
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: getTempIssue}],
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(vtec.issued) == `Invalid Date` ? getTempIssue : new Date(vtec.issued),
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 issuedDate = new Date(stanza.attributes.issue) == `Invalid Date` ? getTempIssue : new Date(stanza.attributes.issue);
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: getTempIssue}],
241
+ history: [{description: getDescription, action: `Issued`, issued: timeIssued}],
241
242
  properties: {
242
243
  areaDesc: mUgc.locations.join(`; `) || `N/A`,
243
- // expieres is based off issuedDate
244
- expires: new Date(issuedDate.getTime() + 1 * 60 * 60 * 1000),
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
- 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\n${message}\nISSUED TIME...${new Date(attributes.issue).toISOString()}\n\n`, 'utf8');
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