6 lines
30 KiB
JavaScript
6 lines
30 KiB
JavaScript
function P(){let r=new TextDecoder("utf-8");return{concat(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n},copy(e,t,n){let i=new Uint8Array(n-t);return i.set(e.subarray(t,n)),i},toUtf8String(e,t,n){return r.decode(e.subarray(t,n))}}}function C(r,e){let t=e!=null?e:P(),n,i=!1,s=!1,a=!1,o;function u(l){let p,c=0;for(n?(p=l.length===0?0:n.length,l=t.concat(n,l)):p=0;p<l.length;){let d=l[p];if(d===10){if(!s){let D=p>0&&l[p-1]===13?p-1:p;if(i)return;if(a=r.next(t.toUtf8String(l,c,D))===!1,c=p+1,a)break}}else d===34&&(s=!s);p++}if(c<l.length?n=t.copy(l,c,l.length):n=void 0,a){if(r.useResume){r.useResume(()=>{a=!1,u(new Uint8Array(0))});return}f.error(new Error("Unable to pause, useResume is not configured!")),a=!1}o&&(o(),o=void 0)}let f={next(l){if(!i)try{return u(l),!a}catch(p){this.error(p)}return!0},error(l){i||(i=!0,r.error(l))},complete(){i||(n&&r.next(t.toUtf8String(n,0,n.length)),i=!0,r.complete())}};return r.useCancellable&&(f.useCancellable=l=>{r.useCancellable&&r.useCancellable({cancel(){l.cancel(),n=void 0,f.complete()},isCancelled(){return l.isCancelled()}})}),r.useResume&&(f.useResume=l=>{o=l}),f}async function*k(r,e){let t=e!=null?e:P(),n,i=!1;for await(let s of r){let a,o=0;for(n?(a=n.length,s=t.concat(n,s)):a=0;a<s.length;){let u=s[a];if(u===10){if(!i){let f=a>0&&s[a-1]===13?a-1:a;yield t.toUtf8String(s,o,f),o=a+1}}else u===34&&(i=!i);a++}o<s.length?n=t.copy(s,o,s.length):n=void 0}n&&(yield t.toUtf8String(n,0,n.length))}var R=class{constructor(){this._reuse=!1}get reuse(){return this._reuse}set reuse(e){e&&!this.reusedValues&&(this.reusedValues=new Array(10)),this._reuse=e}withReuse(){return this.reuse=!0,this}splitLine(e){if(e==null)return this.lastSplitLength=0,[];let t=0,n=0,i=this._reuse?this.reusedValues:[],s=0;for(let o=0;o<e.length;o++){let u=e[o];if(u===","){if(t%2===0){let f=this.getValue(e,n,o,t);this._reuse?i[s++]=f:i.push(f),n=o+1,t=0}}else u==='"'&&t++}let a=this.getValue(e,n,e.length,t);return this._reuse?(i[s]=a,this.lastSplitLength=s+1):(i.push(a),this.lastSplitLength=i.length),i}getValue(e,t,n,i){return t===e.length?"":i===0?e.substring(t,n):i===2?e.substring(t+1,n-1):e.substring(t+1,n-1).replace(/""/gi,'"')}};var W=r=>r,S={boolean:r=>r===""?null:r==="true",unsignedLong:r=>r===""?null:+r,long:r=>r===""?null:+r,double(r){switch(r){case"":return null;case"+Inf":return Number.POSITIVE_INFINITY;case"-Inf":return Number.NEGATIVE_INFINITY;default:return+r}},string:W,base64Binary:W,duration:r=>r===""?null:r,"dateTime:RFC3339":r=>r===""?null:r},F=class{get(e){var n;let t=e[this.index];return(t===""||t===void 0)&&this.defaultValue&&(t=this.defaultValue),((n=S[this.dataType])!=null?n:W)(t)}},oe=Object.freeze({label:"",dataType:"",group:!1,defaultValue:"",index:Number.MAX_SAFE_INTEGER,get:()=>{}});function L(){return new F}function st(r){var t,n;let e=new F;return e.label=String(r.label),e.dataType=r.dataType,e.group=Boolean(r.group),e.defaultValue=(t=r.defaultValue)!=null?t:"",e.index=(n=r.index)!=null?n:0,e}var Be=[404,408,425,429,500,502,503,504];function $e(r){return Be.includes(r)}var y=class extends Error{constructor(e){super(e),this.name="IllegalArgumentError",Object.setPrototypeOf(this,y.prototype)}},h=class extends Error{constructor(t,n,i,s,a,o){super();this.statusCode=t;this.statusMessage=n;this.body=i;this.contentType=a;if(Object.setPrototypeOf(this,h.prototype),o)this.message=o;else if(i){if(a!=null&&a.startsWith("application/json"))try{this.json=JSON.parse(i),this.message=this.json.message,this.code=this.json.code}catch(u){}this.message||(this.message=`${t} ${n} : ${i}`)}else this.message=`${t} ${n}`;this.name="HttpError",this.setRetryAfter(s)}setRetryAfter(t){typeof t=="string"?/^[0-9]+$/.test(t)?this._retryAfter=parseInt(t):this._retryAfter=0:this._retryAfter=0}canRetry(){return $e(this.statusCode)}retryAfter(){return this._retryAfter}},Me=["ECONNRESET","ENOTFOUND","ESOCKETTIMEDOUT","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH","EPIPE"];function at(r){if(r){if(typeof r.canRetry=="function")return!!r.canRetry();if(r.code&&Me.includes(r.code))return!0}else return!1;return!1}function ae(r,e){if(r){let t;return typeof r.retryAfter=="function"?r.retryAfter():(t=0,e&&e>0?t+Math.round(Math.random()*e):t)}else return 0}var x=class extends Error{constructor(){super(),Object.setPrototypeOf(this,x.prototype),this.name="RequestTimedOutError",this.message="Request timed out"}canRetry(){return!0}retryAfter(){return 0}},b=class extends Error{constructor(){super(),this.name="AbortError",Object.setPrototypeOf(this,b.prototype),this.message="Response aborted"}canRetry(){return!0}retryAfter(){return 0}};function ct(){S["dateTime:RFC3339"]=r=>r===""?null:new Date(Date.parse(r))}function dt(){S["dateTime:RFC3339"]=r=>r===""?null:Date.parse(r)}function mt(){S["dateTime:RFC3339"]=r=>r===""?null:r}var N=class{constructor(e){e.forEach((t,n)=>t.index=n),this.columns=e}column(e,t=!0){for(let n=0;n<this.columns.length;n++){let i=this.columns[n];if(i.label===e)return i}if(t)throw new y(`Column ${e} not found!`);return oe}toObject(e){let t={};for(let n=0;n<this.columns.length&&n<e.length;n++){let i=this.columns[n];t[i.label]=i.get(e)}return t}get(e,t){return this.column(t,!1).get(e)}};function I(r){return new N(r)}function H(r){let e=new R().withReuse(),t,n=!0,i=0,s,a={error(o){r.error(o)},next(o){if(o==="")n=!0,t=void 0;else{let u=e.splitLine(o),f=e.lastSplitLength;if(n){if(!t){t=new Array(f);for(let l=0;l<f;l++)t[l]=L()}if(u[0].startsWith("#")){if(u[0]==="#datatype")for(let l=1;l<f;l++)t[l].dataType=u[l];else if(u[0]==="#default")for(let l=1;l<f;l++)t[l].defaultValue=u[l];else if(u[0]==="#group")for(let l=1;l<f;l++)t[l].group=u[l][0]==="t"}else{u[0]===""?(i=1,t=t.slice(1)):i=0;for(let l=i;l<f;l++)t[l-i].label=u[l];s=I(t),n=!1}}else return r.next(u.slice(i,f),s)}return!0},complete(){r.complete()}};return r.useCancellable&&(a.useCancellable=r.useCancellable.bind(r)),r.useResume&&(a.useResume=r.useResume.bind(r)),a}async function*le(r){let e=new R().withReuse(),t,n=!0,i=0,s;for await(let a of r)if(a==="")n=!0,t=void 0;else{let o=e.splitLine(a),u=e.lastSplitLength;if(n){if(!t){t=new Array(u);for(let f=0;f<u;f++)t[f]=L()}if(o[0].startsWith("#")){if(o[0]==="#datatype")for(let f=1;f<u;f++)t[f].dataType=o[f];else if(o[0]==="#default")for(let f=1;f<u;f++)t[f].defaultValue=o[f];else if(o[0]==="#group")for(let f=1;f<u;f++)t[f].group=o[f][0]==="t"}else{o[0]===""?(i=1,t=t.slice(1)):i=0;for(let f=i;f<u;f++)t[f-i].label=o[f];s=I(t),n=!1}}else yield{values:o.slice(i,u),tableMeta:s}}}function Ft(r,e){let t=!1,n=0,i=0;for(;i<r.length;){let s=r.charCodeAt(i);if(s===10){if(!t){let a=i>0&&r.charCodeAt(i-1)===13?i-1:i;e.next(r.substring(n,a)),n=i+1}}else s===34&&(t=!t);i++}n<i&&e.next(r.substring(n,i)),e.complete()}var ue=(()=>typeof Symbol=="function"&&Symbol.observable||"@@observable")();var Q=class{constructor(e,t){this.isClosed=!1;try{t({next:n=>{e.next(n)},error:n=>{this.isClosed=!0,e.error(n)},complete:()=>{this.isClosed=!0,e.complete()},useCancellable:n=>{this.cancellable=n}})}catch(n){this.isClosed=!0,e.error(n)}}get closed(){return this.isClosed}unsubscribe(){var e;(e=this.cancellable)==null||e.cancel(),this.isClosed=!0}};function q(){}function ze(r){let{next:e,error:t,complete:n}=r;return{next:e?e.bind(r):q,error:t?t.bind(r):q,complete:n?n.bind(r):q}}var w=class{constructor(e,t){this.executor=e;this.decorator=t}subscribe(e,t,n){let i=ze(typeof e!="object"||e===null?{next:e,error:t,complete:n}:e);return new Q(this.decorator(i),this.executor)}[ue](){return this}};Symbol.observable;var fe={timeout:1e4},pe={retryJitter:200,minRetryDelay:5e3,maxRetryDelay:125e3,exponentialBase:5,randomRetry:!0},ce={batchSize:1e3,maxBatchBytes:5e7,flushInterval:6e4,writeFailed:function(){},writeSuccess:function(){},writeRetrySkipped:function(){},maxRetries:5,maxRetryTime:18e4,maxBufferLines:32e3,retryJitter:200,minRetryDelay:5e3,maxRetryDelay:125e3,exponentialBase:2,gzipThreshold:1e3,randomRetry:!0};function j(r,e){return function(t){let n="",i=0,s=0;for(;s<t.length;){let a=r.indexOf(t[s]);a>=0&&(n+=t.substring(i,s),n+=e[a],i=s+1),s++}return i==0?t:(i<t.length&&(n+=t.substring(i,t.length)),n)}}function Ve(r,e){let t=j(r,e);return n=>'"'+t(n)+'"'}var T={measurement:j(`,
|
|
\r `,["\\,","\\ ","\\n","\\r","\\t"]),quoted:Ve('"\\',['\\"',"\\\\"]),tag:j(`, =
|
|
\r `,["\\,","\\ ","\\=","\\n","\\r","\\t"])};var _="000000000",Y=!1;function ke(r){return Y=r&&process&&typeof process.hrtime=="function"}ke(!0);var de,U,me=Date.now(),J=0;function X(){if(Y){let r=process.hrtime(),e=Date.now();U?(r[0]=r[0]-U[0],r[1]=r[1]-U[1],r[1]<0&&(r[0]-=1,r[1]+=1e9),e=de+r[0]*1e3+Math.floor(r[1]/1e6)):(U=r,de=e);let t=String(r[1]%1e6);return String(e)+_.substr(0,6-t.length)+t}else{let r=Date.now();r!==me?(me=r,J=0):J++;let e=String(J);return String(r)+_.substr(0,6-e.length)+e}}function he(){if(Y){let r=process.hrtime(),e=String(Math.trunc(r[1]/1e3)%1e3);return String(Date.now())+_.substr(0,3-e.length)+e}else return String(Date.now())+_.substr(0,3)}function ge(){return String(Date.now())}function ye(){return String(Math.floor(Date.now()/1e3))}var be={s:ye,ms:ge,us:he,ns:X,seconds:ye,millis:ge,micros:he,nanos:X},xe={s:r=>`${Math.floor(r.getTime()/1e3)}`,ms:r=>`${r.getTime()}`,us:r=>`${r.getTime()}000`,ns:r=>`${r.getTime()}000000`};function Re(r){return r===void 0?X():typeof r=="string"?r.length>0?r:void 0:r instanceof Date?`${r.getTime()}000000`:String(typeof r=="number"?Math.floor(r):r)}var We={error(r,e){console.error("ERROR: "+r,e||"")},warn(r,e){console.warn("WARN: "+r,e||"")}},B=We,g={error(r,e){B.error(r,e)},warn(r,e){B.warn(r,e)}};function fr(r){let e=B;return B=r,e}var $=Symbol("FLUX_VALUE"),m=class{constructor(e){this.fluxValue=e}toString(){return this.fluxValue}[$](){return this.fluxValue}};function Ne(r){return typeof r=="object"&&typeof r[$]=="function"}function v(r){if(r==null)return"";r=r.toString();let e,t=0;function n(){e===void 0&&(e=r.substring(0,t))}for(;t<r.length;t++){let i=r.charAt(t);switch(i){case"\r":n(),e+="\\r";break;case`
|
|
`:n(),e+="\\n";break;case" ":n(),e+="\\t";break;case'"':case"\\":n(),e=e+"\\"+i;break;case"$":if(t+1<r.length&&r.charAt(t+1)==="{"){n(),t++,e+="\\${";break}e!=null&&(e+=i);break;default:e!=null&&(e+=i)}}return e!==void 0?e:r}function cr(r){return new m(`"${v(r)}"`)}function Te(r){let e=Number(r);if(!isFinite(e)){if(typeof r=="number")return`float(v: "${e}")`;throw new Error(`not a flux float: ${r}`)}let t=e.toString(),n=!1;for(let i of t)if(!(i>="0"&&i<="9"||i=="-")){if(i==="."){n=!0;continue}return`float(v: "${t}")`}return n?t:t+".0"}function dr(r){return new m(Te(r))}function Ce(r){let e=String(r),t=e.startsWith("-"),n=t?e.substring(1):e;if(n.length===0||n.length>19)throw new Error(`not a flux integer: ${e}`);for(let i of n)if(i<"0"||i>"9")throw new Error(`not a flux integer: ${e}`);if(n.length===19){if(t&&n>"9223372036854775808")throw new Error(`flux integer out of bounds: ${e}`);if(!t&&n>"9223372036854775807")throw new Error(`flux integer out of bounds: ${e}`)}return e}function mr(r){return new m(Ce(r))}function He(r){return`time(v: "${v(r)}")`}function hr(r){return new m(He(r))}function gr(r){return new m(`duration(v: "${v(r)}")`)}function Se(r){return r instanceof RegExp?r.toString():new RegExp(r).toString()}function yr(r){return new m(Se(r))}function br(r){return r==="true"||r==="false"?new m(r):new m((!!r).toString())}function we(r){return new m(String(r))}function G(r){if(r===void 0)return"";if(r===null)return"null";if(typeof r=="boolean")return r.toString();if(typeof r=="string")return`"${v(r)}"`;if(typeof r=="number")return Number.isSafeInteger(r)?Ce(r):Te(r);if(typeof r=="object"){if(typeof r[$]=="function")return r[$]();if(r instanceof Date)return r.toISOString();if(r instanceof RegExp)return Se(r);if(Array.isArray(r))return`[${r.map(G).join(",")}]`}else if(typeof r=="bigint")return`${r}.0`;return G(r.toString())}function xr(r,...e){if(r.length==1&&e.length===0)return we(r[0]);let t=new Array(r.length+e.length),n=0;for(let i=0;i<r.length;i++){let s=r[i];if(t[n++]=s,i<e.length){let a=e[i],o;if(s.endsWith('"')&&i+1<r.length&&r[i+1].startsWith('"'))o=v(a);else if(o=G(a),o===""&&!Ne(a))throw new Error(`Unsupported parameter literal '${a}' at index: ${i}, type: ${typeof a}`);t[n++]=o}else if(i<r.length-1)throw new Error("Too few parameters supplied!")}return we(t.join(""))}var ve=class{constructor(e){this.tags={};this.fields={};e&&(this.name=e)}measurement(e){return this.name=e,this}tag(e,t){return this.tags[e]=t,this}booleanField(e,t){return this.fields[e]=t?"T":"F",this}intField(e,t){let n;if(typeof t=="number"?n=t:n=parseInt(String(t)),isNaN(n)||n<=-9223372036854776e3||n>=9223372036854776e3)throw new Error(`invalid integer value for field '${e}': '${t}'!`);return this.fields[e]=`${Math.floor(n)}i`,this}uintField(e,t){if(typeof t=="number"){if(isNaN(t)||t<0||t>Number.MAX_SAFE_INTEGER)throw new Error(`uint value for field '${e}' out of range: ${t}`);this.fields[e]=`${Math.floor(t)}u`}else{let n=String(t);for(let i=0;i<n.length;i++){let s=n.charCodeAt(i);if(s<48||s>57)throw new Error(`uint value has an unsupported character at pos ${i}: ${t}`)}if(n.length>20||n.length===20&&n.localeCompare("18446744073709551615")>0)throw new Error(`uint value for field '${e}' out of range: ${n}`);this.fields[e]=`${n}u`}return this}floatField(e,t){let n;if(typeof t=="number"?n=t:n=parseFloat(t),!isFinite(n))throw new Error(`invalid float value for field '${e}': ${t}`);return this.fields[e]=String(n),this}stringField(e,t){return t!=null&&(typeof t!="string"&&(t=String(t)),this.fields[e]=T.quoted(t)),this}timestamp(e){return this.time=e,this}toLineProtocol(e){if(!this.name)return;let t="";if(Object.keys(this.fields).sort().forEach(a=>{if(a){let o=this.fields[a];t.length>0&&(t+=","),t+=`${T.tag(a)}=${o}`}}),t.length===0)return;let n="",i=e&&e.defaultTags?{...e.defaultTags,...this.tags}:this.tags;Object.keys(i).sort().forEach(a=>{if(a){let o=i[a];o&&(n+=",",n+=`${T.tag(a)}=${T.tag(o)}`)}});let s=this.time;return e&&e.convertTime?s=e.convertTime(s):s=Re(s),`${T.measurement(this.name)}${n} ${t}${s!==void 0?" "+s:""}`}toString(){let e=this.toLineProtocol(void 0);return e||`invalid point: ${JSON.stringify(this,void 0)}`}};var K=class{constructor(e){this.options={...pe,...e},this.success()}nextDelay(e,t){let n=ae(e);if(n&&n>0)return n+Math.round(Math.random()*this.options.retryJitter);if(t&&t>0){if(this.options.randomRetry){let s=Math.max(this.options.minRetryDelay,1),a=s*this.options.exponentialBase;for(let o=1;o<t;o++)if(s=a,a=a*this.options.exponentialBase,a>=this.options.maxRetryDelay){a=this.options.maxRetryDelay;break}return s+Math.round(Math.random()*(a-s)+Math.random()*this.options.retryJitter)}let i=Math.max(this.options.minRetryDelay,1);for(let s=1;s<t;s++)if(i=i*this.options.exponentialBase,i>=this.options.maxRetryDelay){i=this.options.maxRetryDelay;break}return i+Math.round(Math.random()*this.options.retryJitter)}else this.currentDelay?this.currentDelay=Math.min(Math.max(this.currentDelay*this.options.exponentialBase,1)+Math.round(Math.random()*this.options.retryJitter),this.options.maxRetryDelay):this.currentDelay=this.options.minRetryDelay+Math.round(Math.random()*this.options.retryJitter);return this.currentDelay}success(){this.currentDelay=void 0}};function Oe(r){return new K(r)}function qe(r){let e,t=r,n=r;for(;n.next;)n.next.expires<t.expires&&(e=n,t=n.next),n=n.next;return[t,e]}var O=class{constructor(e,t,n=()=>{}){this.maxLines=e;this.retryLines=t;this.onShrink=n;this.size=0;this.closed=!1;this._timeoutHandle=void 0}addLines(e,t,n,i){if(this.closed||!e.length)return;let s=Date.now()+n;if(i<s&&(s=i),this.first&&this.size+e.length>this.maxLines){let f=this.size,l=f*.7;do{let[p,c]=qe(this.first);this.size-=p.lines.length,c?c.next=p.next:(this.first=p.next,this.first&&this.scheduleRetry(this.first.retryTime-Date.now())),p.next=void 0,this.onShrink(p)}while(this.first&&this.size+e.length>l);g.error(`RetryBuffer: ${f-this.size} oldest lines removed to keep buffer size under the limit of ${this.maxLines} lines.`)}let a={lines:e,retryCount:t,retryTime:s,expires:i},o=this.first,u;for(;;){if(!o||o.retryTime>s){a.next=o,u?u.next=a:(this.first=a,this.scheduleRetry(s-Date.now()));break}u=o,o=o.next}this.size+=e.length}removeLines(){if(this.first){let e=this.first;return this.first=this.first.next,e.next=void 0,this.size-=e.lines.length,e}}scheduleRetry(e){this._timeoutHandle&&clearTimeout(this._timeoutHandle),this._timeoutHandle=setTimeout(()=>{let t=this.removeLines();t?this.retryLines(t.lines,t.retryCount,t.expires).catch(()=>{}).finally(()=>{this.first&&this.scheduleRetry(this.first.retryTime-Date.now())}):this._timeoutHandle=void 0},Math.max(e,0))}async flush(){let e;for(;e=this.removeLines();)await this.retryLines(e.lines,e.retryCount,e.expires)}close(){return this._timeoutHandle&&(clearTimeout(this._timeoutHandle),this._timeoutHandle=void 0),this.closed=!0,this.size}};function Z(r){let e=r.length;for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);n<128||(n>=128&&n<=2047?e++:n>=2048&&n<=65535?n>=55296&&n<=57343?e++:e+=2:e+=3)}return e}var ee=class{constructor(e,t,n,i){this.maxChunkRecords=e;this.maxBatchBytes=t;this.flushFn=n;this.scheduleSend=i;this.length=0;this.bytes=-1;this.lines=new Array(e)}add(e){let t=Z(e);this.length===0?this.scheduleSend():this.bytes+t+1>=this.maxBatchBytes&&this.flush().catch(n=>{}),this.lines[this.length]=e,this.length++,this.bytes+=t+1,(this.length>=this.maxChunkRecords||this.bytes>=this.maxBatchBytes)&&this.flush().catch(n=>{})}flush(){let e=this.reset();return e.length>0?this.flushFn(e):Promise.resolve()}reset(){let e=this.lines.slice(0,this.length);return this.length=0,this.bytes=-1,e}},A=class{constructor(e,t,n,i,s){this.transport=e;this.closed=!1;this._timeoutHandle=void 0;this.path=`/api/v2/write?org=${encodeURIComponent(t)}&bucket=${encodeURIComponent(n)}&precision=${i}`,s!=null&&s.consistency&&(this.path+=`&consistency=${encodeURIComponent(s.consistency)}`),this.writeOptions={...ce,...s},this.currentTime=be[i],this.dateToProtocolTimestamp=xe[i],this.writeOptions.defaultTags&&this.useDefaultTags(this.writeOptions.defaultTags),this.sendOptions={method:"POST",headers:{"content-type":"text/plain; charset=utf-8",...s==null?void 0:s.headers},gzipThreshold:this.writeOptions.gzipThreshold};let a=()=>{this.writeOptions.flushInterval>0&&(this._clearFlushTimeout(),this.closed||(this._timeoutHandle=setTimeout(()=>this.sendBatch(this.writeBuffer.reset(),this.writeOptions.maxRetries).catch(o=>{}),this.writeOptions.flushInterval)))};this.writeBuffer=new ee(this.writeOptions.batchSize,this.writeOptions.maxBatchBytes,o=>(this._clearFlushTimeout(),this.sendBatch(o,this.writeOptions.maxRetries)),a),this.sendBatch=this.sendBatch.bind(this),this.retryStrategy=Oe(this.writeOptions),this.retryBuffer=new O(this.writeOptions.maxBufferLines,this.sendBatch,this.writeOptions.writeRetrySkipped)}sendBatch(e,t,n=Date.now()+this.writeOptions.maxRetryTime){let i=this,s=i.writeOptions.maxRetries+1-t;if(!this.closed&&e.length>0){if(n<=Date.now()){let a=new Error("Max retry time exceeded."),o=i.writeOptions.writeFailed.call(i,a,e,s,n);return o||(g.error(`Write to InfluxDB failed (attempt: ${s}).`,a),Promise.reject(a))}return new Promise((a,o)=>{let u,f={responseStarted(l,p){u=p},error(l){let p=i.writeOptions.writeFailed.call(i,l,e,s,n);if(p){p.then(a,o);return}if(l instanceof h&&l.json&&typeof l.json.error=="string"&&l.json.error.includes("hinted handoff queue not empty")){g.warn("Write to InfluxDB returns: "+l.json.error),u=204,f.complete();return}if(!i.closed&&t>0&&(!(l instanceof h)||l.statusCode>=429)){g.warn(`Write to InfluxDB failed (attempt: ${s}).`,l),i.retryBuffer.addLines(e,t-1,i.retryStrategy.nextDelay(l,s),n),o(l);return}g.error("Write to InfluxDB failed.",l),o(l)},complete(){if(u==204||u==null)i.writeOptions.writeSuccess.call(i,e),i.retryStrategy.success(),a();else{let l=`204 HTTP response status code expected, but ${u} returned`,p=new h(u,l,void 0,"0");p.message=l,f.error(p)}}};this.transport.send(this.path,e.join(`
|
|
`),this.sendOptions,f)})}else return Promise.resolve()}_clearFlushTimeout(){this._timeoutHandle!==void 0&&(clearTimeout(this._timeoutHandle),this._timeoutHandle=void 0)}writeRecord(e){if(this.closed)throw new Error("writeApi: already closed!");this.writeBuffer.add(e)}writeRecords(e){if(this.closed)throw new Error("writeApi: already closed!");for(let t=0;t<e.length;t++)this.writeBuffer.add(e[t])}writePoint(e){if(this.closed)throw new Error("writeApi: already closed!");let t=e.toLineProtocol(this);t&&this.writeBuffer.add(t)}writePoints(e){if(this.closed)throw new Error("writeApi: already closed!");for(let t=0;t<e.length;t++){let n=e[t].toLineProtocol(this);n&&this.writeBuffer.add(n)}}async flush(e){if(await this.writeBuffer.flush(),e)return await this.retryBuffer.flush()}close(){return this.writeBuffer.flush().finally(()=>{let t=this.retryBuffer.close();t&&g.error(`Retry buffer closed with ${t} items that were not written to InfluxDB!`,null),this.closed=!0})}dispose(){return this._clearFlushTimeout(),this.closed=!0,this.retryBuffer.close()+this.writeBuffer.length}useDefaultTags(e){return this.defaultTags=e,this}convertTime(e){return e===void 0?this.currentTime():typeof e=="string"?e.length>0?e:void 0:e instanceof Date?this.dateToProtocolTimestamp(e):String(typeof e=="number"?Math.floor(e):e)}};import{parse as Pe}from"url";import*as Fe from"http";import*as Le from"https";import{Buffer as re}from"buffer";import{Buffer as Ae}from"buffer";var Qe={concat(r,e){return Ae.concat([r,e])},toUtf8String(r,e,t){return r.toString("utf-8",e,t)},copy(r,e,t){let n=Ae.allocUnsafe(t-e);return r.copy(n,0,e,t),n}},Ee=Qe;import M from"zlib";function te(r={}){let e=0,t={next:n=>{if(e===0&&r.next&&n!==null&&n!==void 0)return r.next(n)},error:n=>{e===0&&(e=1,r.error&&r.error(n))},complete:()=>{e===0&&(e=2,r.complete&&r.complete())},responseStarted:(n,i)=>{r.responseStarted&&r.responseStarted(n,i)}};return r.useCancellable&&(t.useCancellable=r.useCancellable.bind(r)),r.useResume&&(t.useResume=r.useResume.bind(r)),t}var De="1.33.1";import{pipeline as je}from"stream";var Je={flush:M.constants.Z_SYNC_FLUSH,finishFlush:M.constants.Z_SYNC_FLUSH},Xe=re.allocUnsafe(0),ne=class{constructor(){this.cancelled=!1}cancel(){this.cancelled=!0,this.resume&&(this.resume(),this.resume=void 0)}isCancelled(){return this.cancelled}},ie=class{constructor(e){this.chunkCombiner=Ee;var u,f,l,p,c,d,D;let{url:t,proxyUrl:n,token:i,transportOptions:s,...a}=e,o=Pe(n||t);if(this.token=i,this.defaultOptions={...fe,...a,...s,port:o.port,protocol:o.protocol,hostname:o.hostname},this.contextPath=n?t:(u=o.path)!=null?u:"",this.contextPath.endsWith("/")&&(this.contextPath=this.contextPath.substring(0,this.contextPath.length-1)),Object.keys(this.defaultOptions).forEach(se=>this.defaultOptions[se]===void 0&&delete this.defaultOptions[se]),this.contextPath.endsWith("/api/v2")&&(g.warn(`Please remove '/api/v2' context path from InfluxDB base url, using ${o.protocol}//${o.hostname}:${o.port} !`),this.contextPath=""),o.protocol==="http:")this.requestApi=(p=(l=(f=this.defaultOptions["follow-redirects"])==null?void 0:f.http)==null?void 0:l.request)!=null?p:Fe.request;else if(o.protocol==="https:")this.requestApi=(D=(d=(c=this.defaultOptions["follow-redirects"])==null?void 0:c.https)==null?void 0:d.request)!=null?D:Le.request;else throw new Error(`Unsupported protocol "${o.protocol} in URL: "${e.url}"`);this.headers={"User-Agent":`influxdb-client-js/${De}`,...e.headers},n&&(this.headers.Host=Pe(t).host)}send(e,t,n,i){let s=new ne;i&&i.useCancellable&&i.useCancellable(s),this.createRequestMessage(e,t,n,a=>{this._request(a,s,i)},a=>(i==null?void 0:i.error)&&i.error(a))}request(e,t,n,i){t?typeof t!="string"&&(t=JSON.stringify(t)):t="";let s=Xe,a,o;return new Promise((u,f)=>{this.send(e,t,n,{responseStarted(l,p){i&&i(l,p),a=String(l["content-type"]),o=p},next:l=>{s=re.concat([s,l])},complete:()=>{var p,c;let l=(c=(p=n.headers)==null?void 0:p.accept)!=null?c:a;try{o===204&&u(void 0),l.includes("json")?s.length?u(JSON.parse(s.toString("utf8"))):u(void 0):l.includes("text")||l.startsWith("application/csv")?u(s.toString("utf8")):u(s)}catch(d){f(d)}},error:l=>{f(l)}})})}async*iterate(e,t,n){var l;let i,s;function a(p){i=p,s(p)}let o=await new Promise((p,c)=>{s=c,this.createRequestMessage(e,t,n,p,a)});(l=o.signal)!=null&&l.addEventListener&&o.signal.addEventListener("abort",()=>{a(new b)});let u=await new Promise((p,c)=>{s=c;let d=this.requestApi(o,p);d.on("timeout",()=>a(new x)),d.on("error",a),d.write(o.body),d.end()}),f=await new Promise((p,c)=>{s=c,this._prepareResponse(u,p,a)});for await(let p of f){if(i)throw i;yield p}}createRequestMessage(e,t,n,i,s){let a=re.from(t,"utf-8"),o={"content-type":"application/json; charset=utf-8",...this.headers};this.token&&(o.authorization="Token "+this.token);let u={...this.defaultOptions,path:this.contextPath+e,method:n.method,headers:{...o,...n.headers}};if(n.signal&&(u.signal=n.signal),n.gzipThreshold!==void 0&&n.gzipThreshold<a.length){M.gzip(a,(f,l)=>{if(f)return s(f);u.headers["content-encoding"]="gzip",u.body=l,i(u)});return}u.body=a,u.headers["content-length"]=u.body.length,i(u)}_prepareResponse(e,t,n){var o;e.on("aborted",()=>{n(new b)}),e.on("error",n);let i=(o=e.statusCode)!=null?o:600,s=e.headers["content-encoding"],a;if(s==="gzip"?(a=M.createGunzip(Je),a=je(e,a,u=>u&&n(u))):a=e,i>=300){let u="",f=String(e.headers["content-type"]).startsWith("application/json");a.on("data",l=>{u+=l.toString(),!f&&u.length>1e3&&(u=u.slice(0,1e3),e.resume())}),a.on("end",()=>{u===""&&!!e.headers["x-influxdb-error"]&&(u=e.headers["x-influxdb-error"].toString()),n(new h(i,e.statusMessage,u,e.headers["retry-after"],e.headers["content-type"]))})}else t(a)}_request(e,t,n){var a;let i=te(n);if(t.isCancelled()){i.complete();return}(a=e.signal)!=null&&a.addEventListener&&e.signal.addEventListener("abort",()=>{i.error(new b)});let s=this.requestApi(e,o=>{if(t.isCancelled()){o.resume(),i.complete();return}i.responseStarted(o.headers,o.statusCode),this._prepareResponse(o,u=>{u.on("data",f=>{if(t.isCancelled())o.resume();else if(i.next(f)===!1){if(!i.useResume){i.error(new Error("Unable to pause, useResume is not configured!")),o.resume();return}o.pause();let l=()=>{o.resume()};t.resume=l,i.useResume(l)}}),u.on("end",i.complete)},i.error)});typeof s.setTimeout=="function"&&e.timeout&&s.setTimeout(e.timeout),s.on("timeout",()=>{i.error(new x)}),s.on("error",o=>{i.error(o)}),e.body&&s.write(e.body),s.end()}},Ie=ie;var Ue={header:!0,delimiter:",",quoteChar:'"',commentPrefix:"#",annotations:["datatype","group","default"]},E=class{constructor(e,t,n){this.transport=e;this.createCSVResponse=t;this.options=typeof n=="string"?{org:n}:n}with(e){return new E(this.transport,this.createCSVResponse,{...this.options,...e})}response(e){let{org:t,type:n,gzip:i,headers:s}=this.options,a=`/api/v2/query?org=${encodeURIComponent(t)}`,o=JSON.stringify(this.decorateRequest({query:e.toString(),dialect:Ue,type:n})),u={method:"POST",headers:{"content-type":"application/json; encoding=utf-8","accept-encoding":i?"gzip":"identity",...s}};return this.createCSVResponse(f=>this.transport.send(a,o,u,f),()=>this.transport.iterate(a,o,u))}iterateLines(e){return this.response(e).iterateLines()}iterateRows(e){return this.response(e).iterateRows()}lines(e){return this.response(e).lines()}rows(e){return this.response(e).rows()}queryLines(e,t){return this.response(e).consumeLines(t)}queryRows(e,t){return this.response(e).consumeRows(t)}collectRows(e,t){return this.response(e).collectRows(t)}collectLines(e){return this.response(e).collectLines()}queryRaw(e){let{org:t,type:n,gzip:i,headers:s}=this.options;return this.transport.request(`/api/v2/query?org=${encodeURIComponent(t)}`,JSON.stringify(this.decorateRequest({query:e.toString(),dialect:Ue,type:n})),{method:"POST",headers:{accept:"text/csv","accept-encoding":i?"gzip":"identity","content-type":"application/json; encoding=utf-8",...s}})}decorateRequest(e){var t;return typeof this.options.now=="function"&&(e.now=this.options.now()),e.type=(t=this.options.type)!=null?t:"flux",e}},_e=E;function Ye(r,e){return e.toObject(r)}var z=class{constructor(e,t,n){this.executor=e;this.iterableResultExecutor=t;this.chunkCombiner=n}iterateLines(){return k(this.iterableResultExecutor())}iterateRows(){return le(k(this.iterableResultExecutor()))}lines(){return new w(this.executor,e=>C(e,this.chunkCombiner))}rows(){return new w(this.executor,e=>C(H({next(t,n){e.next({values:t,tableMeta:n})},error(t){e.error(t)},complete(){e.complete()}}),this.chunkCombiner))}consumeLines(e){this.executor(C(e,this.chunkCombiner))}consumeRows(e){this.executor(C(H(e),this.chunkCombiner))}collectRows(e=Ye){let t=[];return new Promise((n,i)=>{this.consumeRows({next(s,a){let o=e.call(this,s,a);o!==void 0&&t.push(o)},error(s){i(s)},complete(){n(t)}})})}collectLines(){let e=[];return new Promise((t,n)=>{this.consumeLines({next(i){e.push(i)},error(i){n(i)},complete(){t(e)}})})}};var V=class{constructor(e){var n;if(typeof e=="string")this._options={url:e};else if(e!==null&&typeof e=="object")this._options=e;else throw new y("No url or configuration specified!");let t=this._options.url;if(typeof t!="string")throw new y("No url specified!");t.endsWith("/")&&(this._options.url=t.substring(0,t.length-1)),this.transport=(n=this._options.transport)!=null?n:new Ie(this._options),this.processCSVResponse=(i,s)=>new z(i,s,this.transport.chunkCombiner)}getWriteApi(e,t,n="ns",i){return new A(this.transport,e,t,n,i!=null?i:this._options.writeOptions)}getQueryApi(e){return new _e(this.transport,this.processCSVResponse,e)}};export{b as AbortError,fe as DEFAULT_ConnectionOptions,pe as DEFAULT_RetryDelayStrategyOptions,ce as DEFAULT_WriteOptions,$ as FLUX_VALUE,h as HttpError,y as IllegalArgumentError,V as InfluxDB,R as LineSplitter,g as Log,ve as Point,x as RequestTimedOutError,oe as UNKNOWN_COLUMN,at as canRetryHttpCall,C as chunksToLines,k as chunksToLinesIterable,We as consoleLogger,Re as convertTimeToNanos,st as createFluxTableColumn,I as createFluxTableMetaData,P as createTextDecoderCombiner,be as currentTime,xe as dateToProtocolTimestamp,T as escape,xr as flux,br as fluxBool,hr as fluxDateTime,gr as fluxDuration,we as fluxExpression,dr as fluxFloat,mr as fluxInteger,yr as fluxRegExp,cr as fluxString,ae as getRetryDelay,$e as isStatusCodeRetriable,le as linesToRowsIterable,H as linesToTables,L as newFluxTableColumn,Te as sanitizeFloat,Ce as sanitizeInteger,ct as serializeDateTimeAsDate,dt as serializeDateTimeAsNumber,mt as serializeDateTimeAsString,fr as setLogger,Ft as stringToLines,ue as symbolObservable,G as toFluxValue,S as typeSerializers,ke as useProcessHrtime};
|
|
//# sourceMappingURL=index.mjs.map
|