UNPKG

typicalcrimes

Version:
3 lines (2 loc) 9.36 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("axios")):"function"==typeof define&&define.amd?define(["exports","axios"],t):t((e=e||self).typicalcrimes={},e.axios)}(this,function(e,t){function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n=function(){function e(e,t){if(!t)throw new Error("Please provide an API key");this._baseURL=e,this._headers={},this._apiKey=t}var n=e.prototype;return n.fetch=function(e,n){void 0===e&&(e="");try{var i=""+this._baseURL;return-1===e.indexOf("?")?i+=e+"?api_key="+this._apiKey:i+=e+"&api_key="+this._apiKey,Promise.resolve(t.get(i,r({},n,{headers:r({},this._headers,n?n.headers:void 0)}))).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getAgencies=function(e,t,r){var n="/agencies";switch(e){case"default":return this.fetch(n);case"ori":return this.fetch(n+"/"+t+"?page="+r);case"state":return this.fetch(n+"/byStateAbbr/"+t+"?page="+r)}},n.getAgencyParticipation=function(e,t){return this.fetch("/participation/"+e+"/"+t)},n.getArsonStats=function(e,t){return this.fetch("/arson/"+e+"/"+t)},n.getCrimeCount=function(e,t,r){return this.getParticipants("offense",e,t,"count",r)},n.getCrimeSummary=function(e,t){return this.fetch("/summarized/agencies/"+e+"/"+t)},n.getEstimates=function(e,t){return this.fetch("/estimates/"+e+"/"+t)},n.getParticipants=function(e,t,r,n,i){return this.fetch("national"==t?"/nibrs/"+r+"/"+e+"/"+t+"/"+n:"/nibrs/"+r+"/"+e+"/"+t+"/"+i+"/"+n)},n.getPoliceEmployment=function(e,t){return void 0===e&&(e="national"),void 0===t&&(t=""),this.fetch("/police-employment/"+e+"/"+t)},n.getRegions=function(e){return this.fetch("/regions/"+e)},n.getStates=function(e,t){return this.fetch("/states/"+e+"?page="+t)},e}(),i=function(){function e(e){this._request=new n("https://api.usa.gov/crime/fbi/sapi/api",e)}var t=e.prototype;return t.getAgencies=function(e){var t=void 0===e?{}:e,r=t.type,n=t.relevantInfo,i=t.page;return this._request.getAgencies(void 0===r?"default":r,void 0===n?"":n,void 0===i?0:i)},t.getAgencyParticipation=function(e){var t=e.scope,r=e.relevantInfo,n=void 0===r?"":r;try{return Promise.resolve(this._request.getAgencyParticipation(t,n))}catch(e){return Promise.reject(e)}},t.getArsonStats=function(e){var t=e.scope,r=e.relevantInfo,n=void 0===r?"":r;try{return Promise.resolve(this._request.getArsonStats(t,n))}catch(e){return Promise.reject(e)}},t.getCrimeCount=function(e){var t=e.scope,r=e.offense,n=e.relevantInfo,i=void 0===n?"":n;try{return Promise.resolve(this._request.getCrimeCount(t,r,i))}catch(e){return Promise.reject(e)}},t.getCrimeSummary=function(e){var t=e.ori,r=e.offense;try{return Promise.resolve(this._request.getCrimeSummary(t,r)).then(function(e){return e})}catch(e){return Promise.reject(e)}},t.getEstimates=function(e){var t=e.scope,r=e.relevantInfo,n=void 0===r?"":r;try{return Promise.resolve(this._request.getEstimates(t,n))}catch(e){return Promise.reject(e)}},t.getParticipants=function(e){var t=e.type,r=e.scope,n=e.offense,i=e.classification,o=e.relevantInfo;try{return Promise.resolve(this._request.getParticipants(t,r,n,i,o))}catch(e){return Promise.reject(e)}},t.getPoliceEmployment=function(e){var t=e.scope,r=void 0===t?"national":t,n=e.relevantInfo,i=void 0===n?"":n;try{return Promise.resolve(this._request.getPoliceEmployment(r,i))}catch(e){return Promise.reject(e)}},t.getRegions=function(e){void 0===e&&(e="");try{return Promise.resolve(this._request.getRegions(e))}catch(e){return Promise.reject(e)}},t.getStates=function(e){var t=e.state,r=void 0===t?"":t,n=e.page,i=void 0===n?0:n;try{return Promise.resolve(this._request.getStates(r,i))}catch(e){return Promise.reject(e)}},t._validateCoords=function(e,t){if("number"!=typeof e)throw new Error("Expected latitude to be number, received: "+typeof e);if("number"!=typeof t)throw new Error("Expected longitude to be number, received: "+typeof t);if(Math.abs(e)>85.05115)throw new Error("Latitude is beyond the valid range");if(Math.abs(t)>180)throw new Error("Longitude is beyond the valid range")},t._validateRange=function(e){if("number"!=typeof e)throw new TypeError("Expected range to be number, received: "+typeof e);if(e<0)throw new Error("Range cannot be negative")},t._validateNumParams=function(e,t){var r=t.length,n=t.name;if(e<r)throw new Error("Insufficent arguments were passed to method "+n+". "+r+" were expected, but only "+e+" were passed.");if(e>r)throw new Error("Too many arguments were passed to method "+n+". "+r+" were expected, but "+e+" were passed.")},t._validateTypeParam=function(e,t,r){if(("array"!=t||!Array.isArray(e))&&typeof e!=t)throw new Error("Failed expectation: Argument '"+r+"' must be a '"+t+"'.")},e}(),o=function(){function e(e){this._baseURL=e||"https://typicalcrimes.com/.netlify/functions/missing"}var r=e.prototype;return r.getItem=function(e){try{return Promise.resolve(t.get(this._baseURL+"?uid="+e,{headers:{"Content-Type":"application/json"}})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},r.getItems=function(e){var t=e.page,r=void 0===t?1:t,n=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(i[r]=e[r]);return i}(e,["page"]);try{var i=this._baseURL+"?page="+r,o=Object.keys(n);if(o.length)for(var a=0;a<o.length;a++){var s=o[a];i+="&"+s+"="+n[s]}return Promise.resolve(fetch(i)).then(function(e){return e.json()})}catch(e){return Promise.reject(e)}},e}();function a(e){if(!e)return{latitude:0,longitude:0};var t,r;if(!e)return{latitude:0,longitude:0};if(Array.isArray(e)){var n=e[0],i=e[1];if(!n||!i)return{latitude:0,longitude:0};t=n,r=i}else"latitude"in e?t=e.latitude:"lat"in e&&(t=e.lat),"longitude"in e?r=e.longitude:"lon"in e?r=e.lon:"lng"in e&&(r=e.lng);return{latitude:Number(t),longitude:Number(r)}}function s(e){return e*(Math.PI/180)}function u(e){switch(e.toLowerCase()){case"u.s. territories":return"U.S. Territories";case"northwest":return"Northeast";case"midwest":return"Midwest";case"south":return"South";case"west":return"West";case"other":return"Other";default:throw new Error("The provided region name is invalid. Received: "+e)}}function c(e){switch(e){case 0:return"U.S. Territories";case 1:return"Northeast";case 2:return"Midwest";case 3:return"South";case 4:return"West";case 99:return"Other";default:throw new Error("The provided region number is invalid. Expected 0-4 or 99 but received: "+e)}}var f={coords:{__proto__:null,format:a,isValid:function(e){return e.length>=2},toLatLon:function(e){var t=a(e);return t?{lat:t.latitude||0,lon:t.longitude||0}:null},toLatLng:function(e){var t=a(e);return t?{lat:t.latitude||0,lng:t.longitude||0}:null},toNative:function(e){return a(e)},toPigeon:function(e){var t=a(e);return t?[t.latitude,t.longitude]:[0,0]}},crimes:{__proto__:null,getHumanReadableRace:function(e){switch(e){case"A":return"Other Asian";case"B":return"Black";case"C":return"Chinese";case"D":return"Cambodian";case"F":return"Filipino";case"G":return"Guamanian";case"H":return"Hispanic";case"I":return"American Indian";case"J":return"Japanese";case"K":return"Korean";case"L":return"Laotian";case"O":return"Other";case"P":return"Pacific Islander";case"S":return"Samoan";case"U":return"Hawaiian";case"V":return"Vietnamese";case"W":return"White";case"X":return"Unknown";case"Z":return"Asian Indian";default:return"Unknown"}}},formulas:{__proto__:null,degreesToRadians:s,getArrestRate:function(e,t){return e/t*1e5},getClearanceRate:function(e,t){return e/t*100},getCrimeRate:function(e,t){return e/t*1e5},getCrimeTrendRate:function(e,t){return(t-e)/e*100},getPolicePersonnelRate:function(e,t){return e/t*1e3},getKineticEnergy:function(e,t){return.5*t*Math.pow(e,2)},poundsToGrains:function(e){return 7e3*e},grainsToPounds:function(e){return e/7e3},ouncesToGrains:function(e){return 437.5*e},grainsToOunces:function(e){return.00229*e},gramsToGrains:function(e){return 15.4324*e},grainsToGrams:function(e){return.648*e},inchesToMillimeters:function(e){return 25.4*e},millimetersToInches:function(e){return.03937*e},getBacLevel:function(e,t,r,n){return 5.14*e/t*r-.015*n}},geo:{__proto__:null,getDistance:function(e,t,r,n){var i=s(r-e),o=s(n-t),a=Math.pow(Math.sin(i/2),2)+Math.cos(s(e))*Math.cos(s(r))*Math.pow(Math.sin(o/2),2);return 12742*Math.asin(Math.sqrt(a))},getUserCoords:function(){return new Promise(function(e,t){"undefined"!=typeof window&&window.navigator.geolocation.getCurrentPosition(function(t){e({accuracy:t.coords.accuracy,latitude:t.coords.latitude,longitude:t.coords.longitude,timestamp:t.timestamp})},function(e){console.error(e),t(e)})})}},region:{__proto__:null,isValid:function(e){if("number"==typeof e)return c(e);if("string"==typeof e)return u(e);throw new Error("Region must be a string or a number")},standardizeRegionName:u,toNum:function(e){switch(e){case"U.S. Territories":return 0;case"Northeast":return 1;case"Midwest":return 2;case"South":return 3;case"West":return 4;case"Other":return 99;default:throw new Error("The provided region number is invalid. Expected 0-4 or 99 but received: "+e)}},toName:c}};e.MissingPeople=o,e.Typicalcrimes=i,e.utils=f}); //# sourceMappingURL=typicalcrimes.umd.js.map