UNPKG

qp-well-parser

Version:

A small package to help destructure api responses into standard well objects

2 lines (1 loc) 3.23 kB
function e(e){if("string"!=typeof e)return!1;var r;switch(e.toLowerCase()){case"vt":case"vert":case"vertical":r="VT";break;case"hz":case"horz":case"horizontal":r="HZ";break;case"dir":case"directional":r="DIR";break;case"slt":case"slant":r="SLT";break;default:r=!1}return r}var r={BC:function(r){return{get primaryHeader(){return{label:"Well Name",value:r.WellName}},get subheader(){return{label:"UWI",value:r.UWI}},get govId(){return{label:"Well Authorization",value:r.WellAuthorization}},get surfaceLocation(){return{label:"Surface Location",value:r.SurfaceLocation}},get owner(){return{label:"Operator Abbreviation",value:r.OperatorAbbreviation}},get attributes(){return{region:r.Region,country:r.Country,coordinates:r.Location?{lat:r.Location.lat,lon:r.Location.lon}:null,wellStatus:r.WellMode,substance:r.WellFluid,drillDirection:e(),isLatest:"null"===r.Next||!r.Next}}}},AB:function(r){return{get primaryHeader(){return{label:"Well Name",value:r.WellName}},get subheader(){return{label:"UWI",value:r.UWI}},get govId(){return{label:"License Number",value:r.LicenseNumber}},get surfaceLocation(){return{label:"Surface Location",value:r.SurfaceLocation}},get owner(){return{label:"Licensee",value:r.LicenseeName}},get attributes(){return{region:r.Region,country:r.Country,coordinates:r.SurfaceCoordinates?{lat:r.SurfaceCoordinates.lat,lon:r.SurfaceCoordinates.lon}:null,wellStatus:r.LaheeClassification,substance:r.Substance,drillDirection:e(r.DrillingOperation),isLatest:"null"===r.Next||!r.Next}}}},SK:function(r){var a=r.Components.reduce(function(e,r){return!e.UWI||e.UWI.slice(-2)<r.UWI.slice(-2)?r:e},{});return{get primaryHeader(){return{label:"Well Name",value:r.WellName}},get subheader(){return{label:"UWI",value:a.UWI}},get govId(){return{label:"License Number",value:r.LicenseNumber}},get surfaceLocation(){return{label:"Surface Land Description",value:r.SurfaceLandDescription}},get owner(){return{label:"Licensee",value:r.LicenseeName}},get attributes(){return{region:r.Region,country:r.Country,coordinates:r.SurfaceCoordinates?r.SurfaceCoordinates:null,wellStatus:r.LaheeClass||null,substance:null,drillDirection:e(a.Trajectory),isLatest:"null"===r.Next||!r.Next}}}}};var a={parse:function(e){if(!e||!e.Region)throw new Error(".Region not provided");var a=e.Region;if(!r[a])throw new Error(".Region not supported: "+a);var t=r[a](e);return{uuid:e.Uuid,primaryHeader:t.primaryHeader,subheader:t.subheader,govId:t.govId,surfaceLocation:t.surfaceLocation,owner:t.owner,attributes:t.attributes,wellData:e}},standardWell:{uuid:"",primaryHeader:{label:"",value:""},subheader:{label:"",value:""},govId:{label:"",value:""},surfaceLocation:{label:"",value:""},owner:{label:"",value:""},attributes:{country:"",region:"",coordinates:{lat:0,lon:0},wellStatus:"",substance:"",drillDirection:"",isLatest:!0},wellData:{}}},t={v1:a};export default function(e){if("string"!=typeof e&&(e="v1"),!function(e){for(var r=!1,a=["v1"],t=0;t<a.length;t++)if(e===a[t]){r=!0;break}return r}(e))throw new Error("Please specify a valid apiVersion");return Object.assign(function(r){return t[e].parse(r)},{valueOf:function(){return t[e].standardWell},get version(){return e},get apiVersion(){return e},v1Parse:function(e){return a.parse(e)}})}