@d1g1tal/transportr 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/transportr.min.js +1 -1
- package/package.json +9 -12
- package/src/transportr.js +15 -0
package/dist/transportr.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var Transportr=(()=>{var b=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var re=Object.prototype.hasOwnProperty;var se=(t,e,a)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var oe=(t,e)=>{for(var a in e)b(t,a,{get:e[a],enumerable:!0})},ne=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ae(e))!re.call(t,s)&&s!==a&&b(t,s,{get:()=>e[s],enumerable:!(r=te(e,s))||r.enumerable});return t};var ie=t=>ne(b({},"__esModule",{value:!0}),t);var x=(t,e,a)=>(se(t,typeof e!="symbol"?e+"":e,a),a),G=(t,e,a)=>{if(!e.has(t))throw TypeError("Cannot "+a)};var f=(t,e,a)=>(G(t,e,"read from private field"),a?a.call(t):e.get(t)),O=(t,e,a)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,a)},V=(t,e,a,r)=>(G(t,e,"write to private field"),r?r.call(t,a):e.set(t,a),a);var i=(t,e,a)=>(G(t,e,"access private method"),a);var Ce={};oe(Ce,{default:()=>T});var ce=t=>t?.constructor??t?.prototype?.constructor??globalThis[Object.prototype.toString.call(t).slice(8,-1)]??t,X=ce;var pe=(t,e)=>X(t)===e,S=pe;var J=(...t)=>t.reduce((e,a)=>(Object.keys(a).forEach(r=>{let s=e[r],l=a[r];Array.isArray(s)&&Array.isArray(l)?e[r]=[...new Set([...l,...s])]:S(s,Object)&&S(l,Object)?e[r]=J(s,l):e[r]=l}),e),{}),p=J;var R=class extends Map{set(e,a){return super.set(e,(super.get(e)??new Set).add(a)),this}[Symbol.toStringTag](){return"SetMultiMap"}};var Y=t=>t.replace(/^[ \t\n\r]+/u,"").replace(/[ \t\n\r]+$/u,""),W=t=>t.replace(/[ \t\n\r]+$/u,""),q=t=>t===" "||t===" "||t===`
|
|
2
|
-
`||t==="\r",E=t=>/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u.test(t),H=t=>/^[\t\u0020-\u007E\u0080-\u00FF]*$/u.test(t),h=t=>t.replace(/[A-Z]/ug,e=>e.toLowerCase()),Z=(t,e)=>{let a="";for(e++;;){for(;e<t.length&&t[e]!=='"'&&t[e]!=="\\";)a+=t[e],++e;if(e>=t.length)break;let r=t[e];if(++e,r==="\\"){if(e>=t.length){a+="\\";break}a+=t[e],++e}else break}return[a,e]};var A=class{constructor(e){this._map=e}get size(){return this._map.size}get(e){return this._map.get(h(String(e)))}has(e){return this._map.has(h(String(e)))}set(e,a){if(e=h(String(e)),a=String(a),!E(e))throw new Error(`Invalid media type parameter name "${e}": only HTTP token code points are valid.`);if(!H(a))throw new Error(`Invalid media type parameter value "${a}": only HTTP quoted-string token code points are valid.`);return this._map.set(e,a),this}clear(){this._map.clear()}delete(e){return e=h(String(e)),this._map.delete(e)}forEach(e,a){this._map.forEach(e,a)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}};var le=t=>{t=Y(t);let e=0,a="";for(;e<t.length&&t[e]!=="/";)a+=t[e],++e;if(a.length===0||!E(a)||e>=t.length)return null;++e;let r="";for(;e<t.length&&t[e]!==";";)r+=t[e],++e;if(r=W(r),r.length===0||!E(r))return null;let s={type:h(a),subtype:h(r),parameters:new Map};for(;e<t.length;){for(++e;q(t[e]);)++e;let l="";for(;e<t.length&&t[e]!==";"&&t[e]!=="=";)l+=t[e],++e;if(l=h(l),e<t.length){if(t[e]===";")continue;++e}let d=null;if(t[e]==='"')for([d,e]=Z(t,e);e<t.length&&t[e]!==";";)++e;else{for(d="";e<t.length&&t[e]!==";";)d+=t[e],++e;if(d=W(d),d==="")continue}l.length>0&&E(l)&&H(d)&&!s.parameters.has(l)&&s.parameters.set(l,d)}return s},U=le;var de=t=>{let e=`${t.type}/${t.subtype}`;if(t.parameters.size===0)return e;for(let[a,r]of t.parameters)e+=";",e+=a,e+="=",(!E(r)||r.length===0)&&(r=r.replace(/(["\\])/ug,"\\$1"),r=`"${r}"`),e+=r;return e},j=de;var n=class{constructor(e){e=String(e);let a=U(e);if(a===null)throw new Error(`Could not parse media type string '${e}'`);this._type=a.type,this._subtype=a.subtype,this._parameters=new A(a.parameters)}static parse(e){try{return new this(e)}catch{return null}}get essence(){return`${this.type}/${this.subtype}`}get type(){return this._type}set type(e){if(e=h(String(e)),e.length===0)throw new Error("Invalid type: must be a non-empty string");if(!E(e))throw new Error(`Invalid type ${e}: must contain only HTTP token code points`);this._type=e}get subtype(){return this._subtype}set subtype(e){if(e=h(String(e)),e.length===0)throw new Error("Invalid subtype: must be a non-empty string");if(!E(e))throw new Error(`Invalid subtype ${e}: must contain only HTTP token code points`);this._subtype=e}get parameters(){return this._parameters}toString(){return j(this)}isJavaScript({prohibitParameters:e=!1}={}){switch(this._type){case"text":switch(this._subtype){case"ecmascript":case"javascript":case"javascript1.0":case"javascript1.1":case"javascript1.2":case"javascript1.3":case"javascript1.4":case"javascript1.5":case"jscript":case"livescript":case"x-ecmascript":case"x-javascript":return!e||this._parameters.size===0;default:return!1}case"application":switch(this._subtype){case"ecmascript":case"javascript":case"x-ecmascript":case"x-javascript":return!e||this._parameters.size===0;default:return!1}default:return!1}}isXML(){return this._subtype==="xml"&&(this._type==="text"||this._type==="application")||this._subtype.endsWith("+xml")}isHTML(){return this._subtype==="html"&&this._type==="text"}get[Symbol.toStringTag](){return"MediaType"}};var Te={AAC:"audio/aac",ABW:"application/x-abiword",ARC:"application/x-freearc",AVIF:"image/avif",AVI:"video/x-msvideo",AZW:"application/vnd.amazon.ebook",BIN:"application/octet-stream",BMP:"image/bmp",BZIP:"application/x-bzip",BZIP2:"application/x-bzip2",CDA:"application/x-cdf",CSH:"application/x-csh",CSS:"text/css",CSV:"text/csv",DOC:"application/msword",DOCX:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",EOT:"application/vnd.ms-fontobject",EPUB:"application/epub+zip",GZIP:"application/gzip",GIF:"image/gif",HTML:"text/html",ICO:"image/vnd.microsoft.icon",ICS:"text/calendar",JAR:"application/java-archive",JPEG:"image/jpeg",JAVA_SCRIPT:"text/javascript",JSON:"application/json",JSON_LD:"application/ld+json",MID:"audio/midi",X_MID:"audio/x-midi",MP3:"audio/mpeg",MP4A:"audio/mp4",MP4:"video/mp4",MPEG:"video/mpeg",MPKG:"application/vnd.apple.installer+xml",ODP:"application/vnd.oasis.opendocument.presentation",ODS:"application/vnd.oasis.opendocument.spreadsheet",ODT:"application/vnd.oasis.opendocument.text",OGA:"audio/ogg",OGV:"video/ogg",OGX:"application/ogg",OPUS:"audio/opus",OTF:"font/otf",PNG:"image/png",PDF:"application/pdf",PHP:"application/x-httpd-php",PPT:"application/vnd.ms-powerpoint",PPTX:"application/vnd.openxmlformats-officedocument.presentationml.presentation",RAR:"application/vnd.rar",RTF:"application/rtf",SH:"application/x-sh",SVG:"image/svg+xml",TAR:"application/x-tar",TIFF:"image/tiff",TRANSPORT_STREAM:"video/mp2t",TTF:"font/ttf",TEXT:"text/plain",VSD:"application/vnd.visio",WAV:"audio/wav",WEBA:"audio/webm",WEBM:"video/webm",WEBP:"image/webp",WOFF:"font/woff",WOFF2:"font/woff2",XHTML:"application/xhtml+xml",XLS:"application/vnd.ms-excel",XLSX:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",XML:"application/xml",XUL:"application/vnd.mozilla.xul+xml",ZIP:"application/zip","3GP":"video/3gpp","3G2":"video/3gpp2","7Z":"application/x-7z-compressed"},o=Te;var fe={ACCEPT:"accept",ACCEPT_CHARSET:"accept-charset",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONNECTION:"connection",COOKIE:"cookie",CONTENT_LENGTH:"content-length",CONTENT_MD5:"content-md5",CONTENT_TYPE:"content-type",DATE:"date",EXPECT:"expect",FROM:"from",HOST:"host",IF_MATCH:"if-match",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",IF_RANGE:"if-range",IF_UNMODIFIED_SINCE:"if-unmodified-since",MAX_FORWARDS:"max-forwards",ORIGIN:"origin",PRAGMA:"pragma",PROXY_AUTHORIZATION:"proxy-authorization",RANGE:"range",REFERER:"referer",TE:"te",USER_AGENT:"user-agent",UPGRADE:"upgrade",VIA:"via",WARNING:"warning",X_REQUESTED_WITH:"x-requested-with",DNT:"dnt",X_FORWARDED_FOR:"x-forwarded-for",X_FORWARDED_HOST:"x-forwarded-host",X_FORWARDED_PROTO:"x-forwarded-proto",FRONT_END_HTTPS:"front-end-https",X_HTTP_METHOD_OVERRIDE:"x-http-method-override",X_ATT_DEVICE_ID:"x-att-deviceid",X_WAP_PROFILE:"x-wap-profile"},y=fe;var he={OPTIONS:"OPTIONS",GET:"GET",HEAD:"HEAD",POST:"POST",PUT:"PUT",DELETE:"DELETE",TRACE:"TRACE",CONNECT:"CONNECT",PATCH:"PATCH"},_=he;var me={PROXY_CONNECTION:"proxy-connection",X_UIDH:"x-uidh",X_CSRF_TOKEN:"x-csrf-token",ACCESS_CONTROL_ALLOW_ORIGIN:"access-control-allow-origin",ACCEPT_PATCH:"accept-patch",ACCEPT_RANGES:"accept-ranges",AGE:"age",ALLOW:"allow",CACHE_CONTROL:"cache-control",CONNECTION:"connection",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_LOCATION:"content-location",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",DATE:"date",ETAG:"etag",EXPIRES:"expires",LAST_MODIFIED:"last-modified",LINK:"link",LOCATION:"location",P3P:"p3p",PRAGMA:"pragma",PROXY_AUTHENTICATION:"proxy-authenticate",PUBLIC_KEY_PINS:"public-key-pins",RETRY_AFTER:"retry-after",SERVER:"server",SET_COOKIE:"set-cookie",STATUS:"status",STRICT_TRANSPORT_SECURITY:"strict-transport-security",TRAILER:"trailer",TRANSFER_ENCODING:"transfer-encoding",UPGRADE:"upgrade",VARY:"vary",VIA:"via",WARNING:"warning",WWW_AUTHENTICATE:"www-authenticate",X_XSS_PROTECTION:"x-xss-protection",CONTENT_SECURITY_POLICY:"content-security-policy",X_CONTENT_TYPE_OPTIONS:"x-content-type-options",X_POWERED_BY:"x-powered-by"},k=me;var $=class extends Error{},ue=/\/$/,N=async t=>await t.text(),K=async t=>await t.json(),w=async t=>await t.blob(),Ee=async t=>await t.arrayBuffer(),ge=async t=>t.body,ye=async t=>new DOMParser().parseFromString(await t.text(),T.MediaType.XML.essence),I,m,L,M,g,P,u,C,v,Q,D,ee,c=class{constructor(e=location.origin){O(this,g);O(this,u);O(this,I,void 0);O(this,M,{body:null,cache:c.CachingPolicy.NO_STORE,credentials:"same-origin",headers:{},integrity:void 0,keepalive:void 0,method:void 0,mode:"cors",redirect:"follow",referrer:"about:client",referrerPolicy:"strict-origin-when-cross-origin",signal:null,window:null});V(this,I,e instanceof URL?e:e.startsWith("/")?new URL(e,location.origin):new URL(e))}get baseUrl(){return f(this,I)}async get(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.GET}))}async post(e,a,r={}){return i(this,u,C).call(this,e,p(r,{body:a,method:_.POST}))}async put(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.PUT}))}async patch(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.PATCH}))}async delete(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.DELETE}))}async head(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.HEAD}))}async options(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.OPTIONS}))}async request(e,a={}){return i(this,u,C).call(this,e,a)}async getJson(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:c.MediaType.JSON}}),K)}async getXml(e,a={}){return new DOMParser().parseFromString(await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:c.MediaType.XML}}),w),o.XML)}async getHtml(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.HTML}}),N)}async getScript(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.JAVA_SCRIPT}}),N)}async getBlob(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),w)}async getImage(e,a={}){return URL.createObjectURL(await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:"image/*"}}),w))}async getBuffer(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),Ee)}async getStream(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),ge)}},T=c;I=new WeakMap,m=new WeakMap,L=new WeakMap,M=new WeakMap,g=new WeakSet,P=async function(e,a,r){return i(this,u,C).call(this,e,p(a,{method:c.Method.GET}),r)},u=new WeakSet,C=async function(e,a,r){var B,z;console.debug(`Calling '${e}'`);let s=p(f(this,M),a);new Headers(s.headers).get(c.RequestHeader.CONTENT_TYPE)==c.MediaType.JSON&&(s.body=JSON.stringify(s.body));let d;try{d=await fetch(i(B=c,v,Q).call(B,f(this,I),e,s.searchParams),s)}catch(F){console.error(F),process.exit(1)}if(!d.ok)throw new $(`An error has occurred with your request: ${d.status} - ${await d.text()}`);try{return await(r?r(d):i(z=c,D,ee).call(z,d))}catch(F){console.error(F),process.exit(1)}},v=new WeakSet,Q=function(e,a,r={}){e=new URL(`${e.pathname.replace(ue,"")}${a}`,e.origin);for(let[s,l]of Object.entries(r))e.searchParams.has(s)?e.searchParams.set(s,l):e.searchParams.append(s,l);return e},D=new WeakSet,ee=async function(e){let a=new n(e.headers.get(k.CONTENT_TYPE));for(let[r,s]of f(c,L).entries())if(s.has(a.subtype))return await r(e);return console.warn("Unable to process response. Unknown content-type or no response handler defined."),e},O(T,v),O(T,D),O(T,m,{JSON:new n(o.JSON),XML:new n(o.XML),HTML:new n(o.HTML),SCRIPT:new n(o.JAVA_SCRIPT),TEXT:new n(o.TEXT),CSS:new n(o.CSS),WEBP:new n(o.WEBP),PNG:new n(o.PNG),GIF:new n(o.GIF),JPG:new n(o.JPEG),OTF:new n(o.OTF),WOFF:new n(o.WOFF),WOFF2:new n(o.WOFF2),TTF:new n(o.TTF),PDF:new n(o.PDF)}),O(T,L,new R([[K,f(c,m).JSON.subtype],[N,f(c,m).HTML.subtype],[N,f(c,m).SCRIPT.subtype],[N,f(c,m).CSS.subtype],[N,f(c,m).TEXT.subtype],[ye,f(c,m).XML.subtype],[w,f(c,m).GIF.subtype],[w,f(c,m).JPG.subtype],[w,f(c,m).PNG.subtype]])),x(T,"Method",Object.freeze(_)),x(T,"MediaType",o),x(T,"RequestHeader",y),x(T,"ResponseHeader",Object.freeze(k)),x(T,"CachingPolicy",{DEFAULT:"default",FORCE_CACHE:"force-cache",NO_CACHE:"no-cache",NO_STORE:"no-store",ONLY_IF_CACHED:"only-if-cached",RELOAD:"reload"}),x(T,"CredentialsPolicy",{INCLUDE:"include",OMIT:"omit",SAME_ORIGIN:"same-origin"});return ie(Ce);})();
|
|
2
|
+
`||t==="\r",E=t=>/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u.test(t),H=t=>/^[\t\u0020-\u007E\u0080-\u00FF]*$/u.test(t),m=t=>t.replace(/[A-Z]/ug,e=>e.toLowerCase()),Z=(t,e)=>{let a="";for(e++;;){for(;e<t.length&&t[e]!=='"'&&t[e]!=="\\";)a+=t[e],++e;if(e>=t.length)break;let r=t[e];if(++e,r==="\\"){if(e>=t.length){a+="\\";break}a+=t[e],++e}else break}return[a,e]};var A=class{constructor(e){this._map=e}get size(){return this._map.size}get(e){return this._map.get(m(String(e)))}has(e){return this._map.has(m(String(e)))}set(e,a){if(e=m(String(e)),a=String(a),!E(e))throw new Error(`Invalid media type parameter name "${e}": only HTTP token code points are valid.`);if(!H(a))throw new Error(`Invalid media type parameter value "${a}": only HTTP quoted-string token code points are valid.`);return this._map.set(e,a),this}clear(){this._map.clear()}delete(e){return e=m(String(e)),this._map.delete(e)}forEach(e,a){this._map.forEach(e,a)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}};var le=t=>{t=Y(t);let e=0,a="";for(;e<t.length&&t[e]!=="/";)a+=t[e],++e;if(a.length===0||!E(a)||e>=t.length)return null;++e;let r="";for(;e<t.length&&t[e]!==";";)r+=t[e],++e;if(r=W(r),r.length===0||!E(r))return null;let s={type:m(a),subtype:m(r),parameters:new Map};for(;e<t.length;){for(++e;q(t[e]);)++e;let l="";for(;e<t.length&&t[e]!==";"&&t[e]!=="=";)l+=t[e],++e;if(l=m(l),e<t.length){if(t[e]===";")continue;++e}let d=null;if(t[e]==='"')for([d,e]=Z(t,e);e<t.length&&t[e]!==";";)++e;else{for(d="";e<t.length&&t[e]!==";";)d+=t[e],++e;if(d=W(d),d==="")continue}l.length>0&&E(l)&&H(d)&&!s.parameters.has(l)&&s.parameters.set(l,d)}return s},U=le;var de=t=>{let e=`${t.type}/${t.subtype}`;if(t.parameters.size===0)return e;for(let[a,r]of t.parameters)e+=";",e+=a,e+="=",(!E(r)||r.length===0)&&(r=r.replace(/(["\\])/ug,"\\$1"),r=`"${r}"`),e+=r;return e},j=de;var n=class{constructor(e){e=String(e);let a=U(e);if(a===null)throw new Error(`Could not parse media type string '${e}'`);this._type=a.type,this._subtype=a.subtype,this._parameters=new A(a.parameters)}static parse(e){try{return new this(e)}catch{return null}}get essence(){return`${this.type}/${this.subtype}`}get type(){return this._type}set type(e){if(e=m(String(e)),e.length===0)throw new Error("Invalid type: must be a non-empty string");if(!E(e))throw new Error(`Invalid type ${e}: must contain only HTTP token code points`);this._type=e}get subtype(){return this._subtype}set subtype(e){if(e=m(String(e)),e.length===0)throw new Error("Invalid subtype: must be a non-empty string");if(!E(e))throw new Error(`Invalid subtype ${e}: must contain only HTTP token code points`);this._subtype=e}get parameters(){return this._parameters}toString(){return j(this)}isJavaScript({prohibitParameters:e=!1}={}){switch(this._type){case"text":switch(this._subtype){case"ecmascript":case"javascript":case"javascript1.0":case"javascript1.1":case"javascript1.2":case"javascript1.3":case"javascript1.4":case"javascript1.5":case"jscript":case"livescript":case"x-ecmascript":case"x-javascript":return!e||this._parameters.size===0;default:return!1}case"application":switch(this._subtype){case"ecmascript":case"javascript":case"x-ecmascript":case"x-javascript":return!e||this._parameters.size===0;default:return!1}default:return!1}}isXML(){return this._subtype==="xml"&&(this._type==="text"||this._type==="application")||this._subtype.endsWith("+xml")}isHTML(){return this._subtype==="html"&&this._type==="text"}get[Symbol.toStringTag](){return"MediaType"}};var Te={AAC:"audio/aac",ABW:"application/x-abiword",ARC:"application/x-freearc",AVIF:"image/avif",AVI:"video/x-msvideo",AZW:"application/vnd.amazon.ebook",BIN:"application/octet-stream",BMP:"image/bmp",BZIP:"application/x-bzip",BZIP2:"application/x-bzip2",CDA:"application/x-cdf",CSH:"application/x-csh",CSS:"text/css",CSV:"text/csv",DOC:"application/msword",DOCX:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",EOT:"application/vnd.ms-fontobject",EPUB:"application/epub+zip",GZIP:"application/gzip",GIF:"image/gif",HTML:"text/html",ICO:"image/vnd.microsoft.icon",ICS:"text/calendar",JAR:"application/java-archive",JPEG:"image/jpeg",JAVA_SCRIPT:"text/javascript",JSON:"application/json",JSON_LD:"application/ld+json",MID:"audio/midi",X_MID:"audio/x-midi",MP3:"audio/mpeg",MP4A:"audio/mp4",MP4:"video/mp4",MPEG:"video/mpeg",MPKG:"application/vnd.apple.installer+xml",ODP:"application/vnd.oasis.opendocument.presentation",ODS:"application/vnd.oasis.opendocument.spreadsheet",ODT:"application/vnd.oasis.opendocument.text",OGA:"audio/ogg",OGV:"video/ogg",OGX:"application/ogg",OPUS:"audio/opus",OTF:"font/otf",PNG:"image/png",PDF:"application/pdf",PHP:"application/x-httpd-php",PPT:"application/vnd.ms-powerpoint",PPTX:"application/vnd.openxmlformats-officedocument.presentationml.presentation",RAR:"application/vnd.rar",RTF:"application/rtf",SH:"application/x-sh",SVG:"image/svg+xml",TAR:"application/x-tar",TIFF:"image/tiff",TRANSPORT_STREAM:"video/mp2t",TTF:"font/ttf",TEXT:"text/plain",VSD:"application/vnd.visio",WAV:"audio/wav",WEBA:"audio/webm",WEBM:"video/webm",WEBP:"image/webp",WOFF:"font/woff",WOFF2:"font/woff2",XHTML:"application/xhtml+xml",XLS:"application/vnd.ms-excel",XLSX:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",XML:"application/xml",XUL:"application/vnd.mozilla.xul+xml",ZIP:"application/zip","3GP":"video/3gpp","3G2":"video/3gpp2","7Z":"application/x-7z-compressed"},o=Te;var fe={ACCEPT:"accept",ACCEPT_CHARSET:"accept-charset",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONNECTION:"connection",COOKIE:"cookie",CONTENT_LENGTH:"content-length",CONTENT_MD5:"content-md5",CONTENT_TYPE:"content-type",DATE:"date",EXPECT:"expect",FROM:"from",HOST:"host",IF_MATCH:"if-match",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",IF_RANGE:"if-range",IF_UNMODIFIED_SINCE:"if-unmodified-since",MAX_FORWARDS:"max-forwards",ORIGIN:"origin",PRAGMA:"pragma",PROXY_AUTHORIZATION:"proxy-authorization",RANGE:"range",REFERER:"referer",TE:"te",USER_AGENT:"user-agent",UPGRADE:"upgrade",VIA:"via",WARNING:"warning",X_REQUESTED_WITH:"x-requested-with",DNT:"dnt",X_FORWARDED_FOR:"x-forwarded-for",X_FORWARDED_HOST:"x-forwarded-host",X_FORWARDED_PROTO:"x-forwarded-proto",FRONT_END_HTTPS:"front-end-https",X_HTTP_METHOD_OVERRIDE:"x-http-method-override",X_ATT_DEVICE_ID:"x-att-deviceid",X_WAP_PROFILE:"x-wap-profile"},y=fe;var me={OPTIONS:"OPTIONS",GET:"GET",HEAD:"HEAD",POST:"POST",PUT:"PUT",DELETE:"DELETE",TRACE:"TRACE",CONNECT:"CONNECT",PATCH:"PATCH"},_=me;var he={PROXY_CONNECTION:"proxy-connection",X_UIDH:"x-uidh",X_CSRF_TOKEN:"x-csrf-token",ACCESS_CONTROL_ALLOW_ORIGIN:"access-control-allow-origin",ACCEPT_PATCH:"accept-patch",ACCEPT_RANGES:"accept-ranges",AGE:"age",ALLOW:"allow",CACHE_CONTROL:"cache-control",CONNECTION:"connection",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_LOCATION:"content-location",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",DATE:"date",ETAG:"etag",EXPIRES:"expires",LAST_MODIFIED:"last-modified",LINK:"link",LOCATION:"location",P3P:"p3p",PRAGMA:"pragma",PROXY_AUTHENTICATION:"proxy-authenticate",PUBLIC_KEY_PINS:"public-key-pins",RETRY_AFTER:"retry-after",SERVER:"server",SET_COOKIE:"set-cookie",STATUS:"status",STRICT_TRANSPORT_SECURITY:"strict-transport-security",TRAILER:"trailer",TRANSFER_ENCODING:"transfer-encoding",UPGRADE:"upgrade",VARY:"vary",VIA:"via",WARNING:"warning",WWW_AUTHENTICATE:"www-authenticate",X_XSS_PROTECTION:"x-xss-protection",CONTENT_SECURITY_POLICY:"content-security-policy",X_CONTENT_TYPE_OPTIONS:"x-content-type-options",X_POWERED_BY:"x-powered-by"},k=he;var $=class extends Error{},ue=/\/$/,N=async t=>await t.text(),K=async t=>await t.json(),w=async t=>await t.blob(),Ee=async t=>await t.arrayBuffer(),ge=async t=>t.body,ye=async t=>new DOMParser().parseFromString(await t.text(),T.MediaType.XML.essence),I,h,L,M,g,P,u,C,v,Q,D,ee,c=class{constructor(e=location.origin){O(this,g);O(this,u);O(this,I,void 0);O(this,M,{body:null,cache:c.CachingPolicy.NO_STORE,credentials:"same-origin",headers:{},integrity:void 0,keepalive:void 0,method:void 0,mode:"cors",redirect:"follow",referrer:"about:client",referrerPolicy:"strict-origin-when-cross-origin",signal:null,window:null});V(this,I,e instanceof URL?e:e.startsWith("/")?new URL(e,location.origin):new URL(e))}get baseUrl(){return f(this,I)}async get(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.GET}))}async post(e,a,r={}){return i(this,u,C).call(this,e,p(r,{body:a,method:_.POST}))}async put(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.PUT}))}async patch(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.PATCH}))}async delete(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.DELETE}))}async head(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.HEAD}))}async options(e,a={}){return i(this,u,C).call(this,e,p(a,{method:_.OPTIONS}))}async request(e,a={}){return i(this,u,C).call(this,e,a)}async getJson(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:c.MediaType.JSON}}),K)}async getXml(e,a={}){return new DOMParser().parseFromString(await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:c.MediaType.XML}}),w),o.XML)}async getHtml(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.HTML}}),N)}async getScript(e,a={}){return i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.JAVA_SCRIPT}}),N)}async getBlob(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),w)}async getImage(e,a={}){return URL.createObjectURL(await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:"image/*"}}),w))}async getBuffer(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),Ee)}async getStream(e,a={}){return await i(this,g,P).call(this,e,p(a,{headers:{[y.ACCEPT]:o.BIN}}),ge)}},T=c;I=new WeakMap,h=new WeakMap,L=new WeakMap,M=new WeakMap,g=new WeakSet,P=async function(e,a,r){return i(this,u,C).call(this,e,p(a,{method:c.Method.GET}),r)},u=new WeakSet,C=async function(e,a,r){var B,z;console.debug(`Calling '${e}'`);let s=p(f(this,M),a);new Headers(s.headers).get(c.RequestHeader.CONTENT_TYPE)==c.MediaType.JSON&&(s.body=JSON.stringify(s.body));let d;try{d=await fetch(i(B=c,v,Q).call(B,f(this,I),e,s.searchParams),s)}catch(F){console.error(F),process.exit(1)}if(!d.ok)throw new $(`An error has occurred with your request: ${d.status} - ${await d.text()}`);try{return await(r?r(d):i(z=c,D,ee).call(z,d))}catch(F){console.error(F),process.exit(1)}},v=new WeakSet,Q=function(e,a,r={}){e=new URL(`${e.pathname.replace(ue,"")}${a}`,e.origin);for(let[s,l]of Object.entries(r))e.searchParams.has(s)?e.searchParams.set(s,l):e.searchParams.append(s,l);return e},D=new WeakSet,ee=async function(e){let a=new n(e.headers.get(k.CONTENT_TYPE));for(let[r,s]of f(c,L).entries())if(s.has(a.subtype))return await r(e);return console.warn("Unable to process response. Unknown content-type or no response handler defined."),e},O(T,v),O(T,D),O(T,h,{JSON:new n(o.JSON),XML:new n(o.XML),HTML:new n(o.HTML),SCRIPT:new n(o.JAVA_SCRIPT),TEXT:new n(o.TEXT),CSS:new n(o.CSS),WEBP:new n(o.WEBP),PNG:new n(o.PNG),GIF:new n(o.GIF),JPG:new n(o.JPEG),OTF:new n(o.OTF),WOFF:new n(o.WOFF),WOFF2:new n(o.WOFF2),TTF:new n(o.TTF),PDF:new n(o.PDF)}),O(T,L,new R([[K,f(c,h).JSON.subtype],[N,f(c,h).HTML.subtype],[N,f(c,h).SCRIPT.subtype],[N,f(c,h).CSS.subtype],[N,f(c,h).TEXT.subtype],[ye,f(c,h).XML.subtype],[w,f(c,h).GIF.subtype],[w,f(c,h).JPG.subtype],[w,f(c,h).PNG.subtype]])),x(T,"Method",Object.freeze(_)),x(T,"MediaType",o),x(T,"RequestHeader",y),x(T,"ResponseHeader",Object.freeze(k)),x(T,"CachingPolicy",{DEFAULT:"default",FORCE_CACHE:"force-cache",NO_CACHE:"no-cache",NO_STORE:"no-store",ONLY_IF_CACHED:"only-if-cached",RELOAD:"reload"}),x(T,"CredentialsPolicy",{INCLUDE:"include",OMIT:"omit",SAME_ORIGIN:"same-origin"});return ie(Ce);})();
|
|
3
3
|
window.Transportr = Transportr.default;
|
|
4
4
|
//# sourceMappingURL=transportr.min.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d1g1tal/transportr",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "JavaScript wrapper for the Fetch API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -46,25 +46,22 @@
|
|
|
46
46
|
"homepage": "https://github.com/D1g1talEntr0py/transportr#readme",
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@skypack/package-check": "^0.2.2",
|
|
49
|
-
"@xmldom/xmldom": "^0.8.
|
|
50
|
-
"esbuild": "^0.15.
|
|
51
|
-
"eslint": "^8.
|
|
49
|
+
"@xmldom/xmldom": "^0.8.4",
|
|
50
|
+
"esbuild": "^0.15.12",
|
|
51
|
+
"eslint": "^8.26.0",
|
|
52
52
|
"eslint-plugin-compat": "^4.0.2",
|
|
53
|
-
"eslint-plugin-jsdoc": "^39.
|
|
54
|
-
"jest": "^29.2.
|
|
53
|
+
"eslint-plugin-jsdoc": "^39.4.0",
|
|
54
|
+
"jest": "^29.2.2",
|
|
55
55
|
"rimraf": "^3.0.2"
|
|
56
56
|
},
|
|
57
57
|
"browserslist": [
|
|
58
|
-
"
|
|
59
|
-
"last 2 major versions",
|
|
60
|
-
"Firefox ESR",
|
|
61
|
-
"not dead",
|
|
58
|
+
"defaults",
|
|
62
59
|
"not ios_saf < 15",
|
|
63
60
|
"not op_mini all"
|
|
64
61
|
],
|
|
65
62
|
"dependencies": {
|
|
66
|
-
"@d1g1tal/chrysalis": "^1.1.
|
|
63
|
+
"@d1g1tal/chrysalis": "^1.1.8",
|
|
67
64
|
"@d1g1tal/collections": "^0.0.4",
|
|
68
|
-
"@d1g1tal/media-type": "^4.0.
|
|
65
|
+
"@d1g1tal/media-type": "^4.0.1"
|
|
69
66
|
}
|
|
70
67
|
}
|
package/src/transportr.js
CHANGED
|
@@ -66,6 +66,9 @@ const _handleReadableStream = async (response) => response.body;
|
|
|
66
66
|
/** @type {ResponseHandler<Document>} */
|
|
67
67
|
const _handleXml = async (response) => new DOMParser().parseFromString(await response.text(), Transportr.MediaType.XML.essence);
|
|
68
68
|
|
|
69
|
+
/** @type {ResponseHandler<DocumentFragment>} */
|
|
70
|
+
const _handleHtmlFragment = async (response) => document.createRange().createContextualFragment(await response.text());
|
|
71
|
+
|
|
69
72
|
export default class Transportr {
|
|
70
73
|
#baseUrl;
|
|
71
74
|
/**
|
|
@@ -306,6 +309,18 @@ export default class Transportr {
|
|
|
306
309
|
return this.#get(path, _objectMerge(options, { headers: { [HttpRequestHeader.ACCEPT]: HttpMediaType.HTML } }), _handleText);
|
|
307
310
|
}
|
|
308
311
|
|
|
312
|
+
/**
|
|
313
|
+
* TODO - Add way to return portion of the retrieved HTML using a selector. Like jQuery.
|
|
314
|
+
*
|
|
315
|
+
* @async
|
|
316
|
+
* @param {string} path
|
|
317
|
+
* @param {RequestOptions} [options = {}]
|
|
318
|
+
* @returns {Promise<DocumentFragment>}
|
|
319
|
+
*/
|
|
320
|
+
async getHtmlFragment(path, options = {}) {
|
|
321
|
+
return this.#get(path, _objectMerge(options, { headers: { [HttpRequestHeader.ACCEPT]: HttpMediaType.HTML } }), _handleHtmlFragment);
|
|
322
|
+
}
|
|
323
|
+
|
|
309
324
|
/**
|
|
310
325
|
* TODO - Do I need this? What special handling might this need??
|
|
311
326
|
*
|