qp-well-parser
Version:
A small package to help destructure api responses into standard well objects
2 lines (1 loc) • 3.42 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e=e||self)["qp-well-parser"]=r()}(this,function(){"use strict";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 t=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:t.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(t.Trajectory),isLatest:"null"===r.Next||!r.Next}}}}};var t={parse:function(e){if(!e||!e.Region)throw new Error(".Region not provided");var t=e.Region;if(!r[t])throw new Error(".Region not supported: "+t);var a=r[t](e);return{uuid:e.Uuid,primaryHeader:a.primaryHeader,subheader:a.subheader,govId:a.govId,surfaceLocation:a.surfaceLocation,owner:a.owner,attributes:a.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:{}}},a={v1:t};return function(e){if("string"!=typeof e&&(e="v1"),!function(e){for(var r=!1,t=["v1"],a=0;a<t.length;a++)if(e===t[a]){r=!0;break}return r}(e))throw new Error("Please specify a valid apiVersion");return Object.assign(function(r){return a[e].parse(r)},{valueOf:function(){return a[e].standardWell},get version(){return e},get apiVersion(){return e},v1Parse:function(e){return t.parse(e)}})}});