tle-validator
Version:
2 lines • 7.88 kB
JavaScript
!function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.TLEValidator=i():e.TLEValidator=i()}(window,function(){return function(e){var i={};function n(t){if(i[t])return i[t].exports;var a=i[t]={i:t,l:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=i,n.d=function(e,i,t){n.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:t})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,i){if(1&i&&(e=n(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var a in e)n.d(t,a,function(i){return e[i]}.bind(null,a));return t},n.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(i,"a",i),i},n.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},n.p="",n(n.s=1)}([function(e,i){const n=new RegExp("[0-9]"),t=new RegExp("[0-9]{5}");e.exports={isSpace:function(e,i){return" "===e[i]},isPeriod:function(e){return"."===e},isHyphen:function(e){return"-"===e},isPosNegOrZero:function(e){return new RegExp("([0+-])").test(e)},validCheckSum:function(e){let i=e.substr(68,1);return n.test(i)},validSatNo:function(e){let i=!1,n=e.substr(2,5);return t.test(n)&&(i=!0),i}}},function(e,i,n){const t=n(2),a=n(3),s=n(0),r=new RegExp("1 [ 0-9]{5}[A-Z] [ 0-9]{5}[ A-Z]{3} [ 0-9]{5}[.][ 0-9]{8} (?:(?:[ 0+-][.][ 0-9]{8})|(?: [ +-][.][ 0-9]{7})) [ +-][ 0-9]{5}[+-][ 0-9] [ +-][ 0-9]{5}[+-][ 0-9] [ 0-9] [ 0-9]{4}[ 0-9]"),l=new RegExp("2 [ 0-9]{5} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{7} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{3}[.][ 0-9]{4} [ 0-9]{2}[.][ 0-9]{13}[ 0-9]");e.exports={validateTLE:function(e,i){return this.validateLineOne(e)&&this.validateLineTwo(i)},validateLineOne:function(e){return r.test(e)},validateLineTwo:function(e){return l.test(e)},validateTLEWithMessage:function(e){const i=e.split("\n");return this.validateLinesWithMessage(i[0],i[1])},validateLinesWithMessage:function(e,i){let n={isValid:!0};if(e&&i){let t=this.validateLineOneWithMessage(e),a=this.validateLineTwoWithMessage(i);t.isValid&&a.isValid||(n={isValid:!1},t.isValid||(n.lineOneErrors=t),a.isValid||(n.lineTwoErrors=a))}else n={isValid:!1,message:"Not enough lines"};return n},validateLineOneWithMessage:function(e){let i={isValid:r.test(e)};return i.isValid||(t.validLineOneNumber(e)?s.isSpace(e,1)?s.validSatNo(e)?t.validClassification(e)?s.isSpace(e,8)?t.validInternationalDesignationYear(e)?t.validInternationalDesignationLaunchNumberOfYear(e)?t.validInternationalDesignationPieceOfLaunch(e)?s.isSpace(e,17)?t.validEpochYear(e)?t.validEpochDay(e)?s.isSpace(e,32)?t.validFirstMeanMotion(e)?s.isSpace(e,43)?t.validSecondMeanMotion(e)?s.isSpace(e,52)?t.validBStarDrag(e)?s.isSpace(e,61)?t.validEphemerisType(e)?s.isSpace(e,63)?t.validElementSetNumber(e)?s.validCheckSum(e)||(i={invalidSubStr:[68,1],message:"Invalid Checksum"}):i={invalidSubStr:[64,4],message:"Invalid Element Set Number"}:i={invalidSubStr:[63,1],message:"Invalid Space"}:i={invalidSubStr:[62,1],message:"Invalid Ephemeris Type"}:i={invalidSubStr:[61,1],message:"Invalid Space"}:i={invalidSubStr:[53,8],message:"Invalid B Star Drag"}:i={invalidSubStr:[52,1],message:"Invalid Space"}:i={invalidSubStr:[44,8],message:"Invalid Second Mean Motion"}:i={invalidSubStr:[43,1],message:"Invalid Space"}:i={invalidSubStr:[33,10],message:"Invalid First Mean Motion"}:i={invalidSubStr:[32,1],message:"Invalid Space"}:i={invalidSubStr:[20,12],message:"Invalid Epoch Day"}:i={invalidSubStr:[18,2],message:"Invalid Epoch Year"}:i={invalidSubStr:[17,1],message:"Invalid Space"}:i={invalidSubStr:[14,3],message:"Invalid International Designation Piece of Launch"}:i={invalidSubStr:[11,3],message:"Invalid International Designation Launch Number Of Year"}:i={invalidSubStr:[9,2],message:"Invalid International Designation Year"}:i={invalidSubStr:[8,1],message:"Invalid Space"}:i={invalidSubStr:[7,1],message:"Invalid Classification"}:i={invalidSubStr:[2,5],message:"Invalid Sat No"}:i={invalidSubStr:[1,1],message:"Invalid Space"}:i={invalidSubStr:[0,1],message:"Invalid Line One Number"}),i},validateLineTwoWithMessage:function(e){let i={isValid:l.test(e)};return i.isValid||(a.validLineTwoNumber(e)?s.isSpace(e,1)?s.validSatNo(e)?s.isSpace(e,7)?a.validInclination(e)?s.isSpace(e,16)?a.validRAAN(e)?s.isSpace(e,25)?a.validEccentricity(e)?s.isSpace(e,33)?a.validArgOfPerigee(e)?s.isSpace(e,42)?a.validMeanAnomaly(e)?s.isSpace(e,51)?a.validMeanMotion(e)?a.validRevNumber(e)?s.validCheckSum(e)||(i={invalidSubStr:[68,1],message:"Invalid Checksum"}):i={invalidSubStr:[63,5],message:"Invalid Rev Number"}:i={invalidSubStr:[52,11],message:"Invalid Mean Motion"}:i={invalidSubStr:[51,1],message:"Invalid Space"}:i={invalidSubStr:[43,8],message:"Invalid Mean Anomaly"}:i={invalidSubStr:[42,1],message:"Invalid Space"}:i={invalidSubStr:[34,8],message:"Invalid Argument Of Perigee"}:i={invalidSubStr:[33,1],message:"Invalid Space"}:i={invalidSubStr:[26,7],message:"Invalid Eccentricity"}:i={invalidSubStr:[25,1],message:"Invalid Space"}:i={invalidSubStr:[17,8],message:"Invalid RAAN"}:i={invalidSubStr:[16,1],message:"Invalid Space"}:i={invalidSubStr:[8,8],message:"Invalid Inclination"}:i={invalidSubStr:[7,1],message:"Invalid Space"}:i={invalidSubStr:[2,5],message:"Invalid Sat No"}:i={invalidSubStr:[1,1],message:"Invalid Space"}:i={invalidSubStr:[0,1],message:"Invalid Line Two Number"}),i}}},function(e,i,n){const t=n(0),a=new RegExp("[0-9]{2}"),s=new RegExp("[0-9]{3}"),r=new RegExp("[0-9]{5}"),l=new RegExp("[0-9]{8}"),u=new RegExp("[0-9]{3}[.][0-9]{8}");e.exports={validLineOneNumber:function(e){return"1"===e[0]},validClassification:function(e){let i=!1,n=e.substr(7,1);return isNaN(n)&&(i=!0),i},validInternationalDesignationYear:function(e){let i=e.substr(9,2);return a.test(i)},validInternationalDesignationLaunchNumberOfYear:function(e){let i=e.substr(11,3);return s.test(i)},validInternationalDesignationPieceOfLaunch:function(e){let i=!1,n=e.substr(14,3);return isNaN(n)&&(i=new RegExp("[ A-Z]{3}").test(n)),i},validEpochYear:function(e){let i=e.substr(18,2);return a.test(i)},validEpochDay:function(e){let i=e.substr(20,12);return u.test(i)},validFirstMeanMotion:function(e){let i=!1,n=e.substr(33,1),a=e.substr(34,1);if(t.isPosNegOrZero(n)&&t.isPeriod(a)){let n=e.substr(35,8);l.test(n)&&(i=!0)}return i},validSecondMeanMotion:function(e){let i=!1,n=e.substr(45,5),a=e.substr(50,1),s=e.substr(51,1);return t.isSpace(e,44)&&r.test(n)&&t.isHyphen(a)&&(isNaN(s)||(i=!0)),i},validBStarDrag:function(e){let i=!1,n=e.substr(53,1),a=e.substr(54,5),s=e.substr(59,1),l=e.substr(60,1);return t.isPosNegOrZero(n)&&r.test(a)&&t.isHyphen(s)&&(isNaN(l)||(i=!0)),i},validEphemerisType:function(e){let i=e.substr(62,1);return new RegExp("[0-9]").test(i)},validElementSetNumber:function(e){let i=e.substr(64,4);return new RegExp("[ 0-9]{4}").test(i)}}},function(e,i){const n=new RegExp("[ 0-9]{3}[.][ 0-9]{4}"),t=new RegExp("[ 0-9]{7}");e.exports={validLineTwoNumber:function(e){return"2"===e[0]},validInclination:function(e){let i=e.substr(8,8);return n.test(i)},validRAAN:function(e){let i=e.substr(17,8);return n.test(i)},validEccentricity:function(e){let i=!1,n=e.substr(26,7);return t.test(n)&&(i=!0),i},validArgOfPerigee:function(e){let i=e.substr(34,8);return n.test(i)},validMeanAnomaly:function(e){let i=e.substr(43,8);return n.test(i)},validMeanMotion:function(e){let i=e.substr(52,11);return new RegExp("[0-9]{2}[.][0-9]{8}").test(i)},validRevNumber:function(e){let i=e.substr(63,5);return new RegExp("[0-9]{5}").test(i)}}}])});
//# sourceMappingURL=tle-validator.js.map