{"version":3,"sources":["../../../../../src/app/js/stores/queries/snow.js"],"names":[],"mappings":";;;;;;;;;;;AAYA,MAAM,SAAS,GAAG,SAAZ,SAAS,CAAI,QAAQ,EAAE,IAAI,EAAK;AACpC,WAAO,aAVA,OAAO,CAUO,UAAC,OAAO,EAAE,MAAM,EAAK;AACxC,UAAI;;;;wCAE8D,qBAX7D,aAAa,CAW8D,QAAQ,EAAE;;cAAhF,gBAAgB,2BAAhB,gBAAgB;cAAE,SAAS,2BAAT,SAAS;cAAE,WAAW,2BAAX,WAAW;cAAE,SAAS,2BAAT,SAAS;;;AAE3D,cAAM,QAAQ,GAAG,sBAAU,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,iCAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;;AAG9F,kCAbG,SAAS,EAaF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;AACxC,qBAAS,EAAE,CAAC,GAAG,CAAC;AAChB,oBAAQ,EAAR,QAAQ;WACT,CAAC,CAAC,IAAI,CACL,UAAC,gBAAgB,EAAK;;AAEpB,gBAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE;AACrC,kBAAI,GAAG,iBAlBV,oBAAoB,EAkBW,IAAI,CAAC,CAAC;AAClC,iCAvBH,WAAW,CAuBI,UAAU,EAAE,CAAC;AACzB,qBAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/B;;4DAEiB,gBAAgB,CAAC,QAAQ;;gBAApC,OAAO;gBACN,UAAU,GAAK,OAAO,CAAC,UAAU,CAAjC,UAAU;;;AAGlB,gBAAI,OAAO,YAAA,CAAC;AACZ,gBAAI,UAAU,KAAK,eAAe,IAAI,gBAAgB,KAAK,MAAM,EAAE;AACjE,qBAAO,GAAG,iBA7BS,yBAAyB,EA6BR,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;aAC/F,MAAM;AACL,kBAAI,gBAAgB,KAAK,MAAM,EAAE;AAC/B,uBAAO,GAAG,iBAhC8C,gBAAgB,EAgC7C,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;eAChF,MAAM;AACL,uBAAO,GAAG,iBAlCkC,UAAU,EAkCjC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;eAC5F;aACF;AACD,mBAAO,CACJ,IAAI,CAAC,UAAC,WAAW,EAAK;AACrB,kBAAI,GAAG,WAAW,CAAC;AACnB,kBAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,iCA7CL,WAAW,CA6CM,UAAU,EAAE,CAAC;AACzB,qBAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/B,CAAC,SACI,CAAC,UAAC,KAAK,EAAK;AAChB,qBAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACtC,oBAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAL,KAAK,EAAE,CAAC,CAAC;aACrC,CAAC,CAAC;WACN,EACD,UAAC,KAAK,EAAK;AACT,mBAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9B,kBAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAL,KAAK,EAAE,CAAC,CAAC;WACrC,CACF,CAAC;;OACH,CAAC,OAAO,KAAK,EAAE;AACd,cAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAL,KAAK,EAAE,CAAC,CAAC;OACrC;KACF,CAAC,CAAC;GACJ,CAAC;;mBAEa,SAAS","file":"snow.js","sourcesContent":["import Point from 'esri/geometry/Point';\nimport SpatialReference from 'esri/SpatialReference';\n\nimport { Promise as bbPromise } from 'promise';\n\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { reportStore } from 'stores/ReportStore';\n\nimport { esriQuery } from 'js/utils/esriQueries';\n\nimport { handleSnowNoFeatures, handleSnowForNewHampshire, handleSnow, handleSnowFor722 } from 'js/loads/snow';\n\nconst querySnow = (location, load) => {\n return new bbPromise((resolve, reject) => {\n try {\n // retrieve query parameters (elevation is in feet/imperial)\n const { standardsVersion, elevation, measurement, riskLevel } = criteriaStore.getState();\n // create geometry from location event\n const geometry = new Point(location.long, location.lat, new SpatialReference({ wkid: 4326 }));\n\n // query states\n esriQuery(load.layers.query.stateZoneURL, {\n outFields: ['*'],\n geometry,\n }).then(\n (stateQueryResult) => {\n // handle no features\n if (!stateQueryResult.features.length) {\n load = handleSnowNoFeatures(load);\n reportStore.emitChange();\n resolve({ load: load.label });\n }\n\n const [feature] = stateQueryResult.features;\n const { STATE_NAME } = feature.attributes;\n\n // handle the special case for new hampshire and latest standards\n let promise;\n if (STATE_NAME === 'New Hampshire' && standardsVersion === '7-16') {\n promise = handleSnowForNewHampshire(load, standardsVersion, elevation, measurement, geometry);\n } else {\n if (standardsVersion === '7-22') {\n promise = handleSnowFor722(load, riskLevel, measurement, geometry, STATE_NAME);\n } else {\n promise = handleSnow(load, standardsVersion, elevation, measurement, geometry, STATE_NAME);\n }\n }\n promise\n .then((derivedLoad) => {\n load = derivedLoad;\n load.showInReport = true;\n reportStore.emitChange();\n resolve({ load: load.label });\n })\n .catch((error) => {\n console.log('Error: ', error.message);\n reject({ load: load.label, error });\n });\n },\n (error) => {\n console.log('Error: ', error);\n reject({ load: load.label, error });\n }\n );\n } catch (error) {\n reject({ load: load.label, error });\n }\n });\n};\n\nexport default querySnow;\n"]}