ozone-api-request
Advanced tools
Comparing version 3.4.15 to 4.0.0-alpha.0
@@ -0,1 +1,2 @@ | ||
/// <amd-module name="ozone-api-request" /> | ||
export declare type OzoneAPIRequestOption = { | ||
@@ -74,3 +75,3 @@ cache: boolean; | ||
* * ```typeScript | ||
* const OzoneAPIRequest.setup({ cache: true }) | ||
* OzoneAPIRequest.setup({ cache: false }) | ||
* ``` | ||
@@ -89,3 +90,4 @@ */ | ||
private _responseType; | ||
donePromise: Promise<XMLHttpRequest | null>; | ||
private _resultPromise?; | ||
readonly result: Promise<XMLHttpRequest>; | ||
url: string; | ||
@@ -100,2 +102,3 @@ body: string | FormData; | ||
abort(): void; | ||
readonly readyState: number; | ||
/** | ||
@@ -116,2 +119,8 @@ * Create and open an XMLHttpRequest | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {OzoneAPIRequest} | ||
*/ | ||
send(request?: XMLHttpRequest): OzoneAPIRequest; | ||
/** | ||
* | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {Promise<XMLHttpRequest>} | ||
@@ -118,0 +127,0 @@ */ |
@@ -8,2 +8,3 @@ /// <amd-module name="ozone-api-request"/> | ||
}; | ||
var OzoneAPIRequest_1; | ||
import { jsElement } from 'taktik-polymer-typescript'; | ||
@@ -80,3 +81,3 @@ /** | ||
* * ```typeScript | ||
* const OzoneAPIRequest.setup({ cache: true }) | ||
* OzoneAPIRequest.setup({ cache: false }) | ||
* ``` | ||
@@ -155,3 +156,3 @@ */ | ||
* * ```typeScript | ||
* const OzoneAPIRequest.setup({ cache: true }) | ||
* OzoneAPIRequest.setup({ cache: false }) | ||
* ``` | ||
@@ -164,3 +165,2 @@ */ | ||
this._responseType = 'json'; | ||
this.donePromise = Promise.resolve(null); | ||
this.currentRequest = null; | ||
@@ -182,2 +182,8 @@ this._onreadystatechange = null; | ||
} | ||
get result() { | ||
if (this._resultPromise) | ||
return this._resultPromise; | ||
else | ||
throw new Error("Request has not been send"); | ||
} | ||
set url(url) { | ||
@@ -191,3 +197,3 @@ this._url = url; | ||
const urlParam = new URLSearchParams(param); | ||
urlParam.append('ts', Date.now().toString()); | ||
urlParam.append('_', Date.now().toString()); | ||
url = [urlPath, urlParam.toString()].join('?'); | ||
@@ -218,2 +224,8 @@ } | ||
} | ||
get readyState() { | ||
if (this.currentRequest) | ||
return this.currentRequest.readyState; | ||
else | ||
return 0; | ||
} | ||
/** | ||
@@ -240,30 +252,29 @@ * Create and open an XMLHttpRequest | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {Promise<XMLHttpRequest>} | ||
* @return {OzoneAPIRequest} | ||
*/ | ||
sendRequest(request) { | ||
send(request) { | ||
const xmlhttp = this.currentRequest = request || this.createXMLHttpRequest(); | ||
if (this._onreadystatechange) | ||
xmlhttp.onreadystatechange = this._onreadystatechange; | ||
return this.donePromise = new Promise((resolve, reject) => { | ||
this._resultPromise = new Promise((resolve, reject) => { | ||
this.resolveCurrentRequest = resolve; | ||
const handleResponse = () => { | ||
switch (xmlhttp.status) { | ||
case 200: | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-success', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
resolve(xmlhttp); | ||
break; | ||
case 403: | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-unauthorized', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
break; | ||
default: | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-error', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
if (xmlhttp.status >= 200 && xmlhttp.status < 300) { | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-success', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
resolve(xmlhttp); | ||
} | ||
else if (xmlhttp.status === 403) { | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-unauthorized', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
} | ||
else { | ||
this.eventTarget.dispatchEvent(new CustomEvent('ozone-api-request-error', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
} | ||
}; | ||
@@ -280,6 +291,15 @@ xmlhttp.onload = handleResponse; | ||
}); | ||
return this; | ||
} | ||
/** | ||
* | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {Promise<XMLHttpRequest>} | ||
*/ | ||
sendRequest(request) { | ||
return this.send(request).result; | ||
} | ||
}; | ||
OzoneAPIRequest.option = { | ||
cache: false | ||
cache: true | ||
}; | ||
@@ -290,2 +310,1 @@ OzoneAPIRequest = OzoneAPIRequest_1 = __decorate([ | ||
export { OzoneAPIRequest }; | ||
var OzoneAPIRequest_1; |
{ | ||
"name": "ozone-api-request", | ||
"version": "3.4.15", | ||
"version": "4.0.0-alpha.0", | ||
"publishConfig": { | ||
@@ -24,9 +24,10 @@ "access": "public" | ||
"ozone-type": "^3.4.2", | ||
"typescript": "^2.7.2" | ||
"typescript": "^2.9.2" | ||
}, | ||
"dependencies": { | ||
"@types/lodash": "^4.14.104", | ||
"taktik-polymer-typescript": "^3.4.6", | ||
"@types/lodash": "^4.14.116", | ||
"taktik-polymer-typescript": "^4.0.0-alpha.0", | ||
"typedoc": "^0.11.1" | ||
} | ||
}, | ||
"gitHead": "230119a1e4be261650c6650f221789fa291c139f" | ||
} |
@@ -8,2 +8,3 @@ /// <amd-module name="ozone-api-request"/> | ||
} | ||
/** | ||
@@ -79,3 +80,3 @@ * OzoneAPIRequest is a light wrapper over XMLHttpRequest to manager AJAX request to Ozone. | ||
* * ```typeScript | ||
* const OzoneAPIRequest.setup({ cache: true }) | ||
* OzoneAPIRequest.setup({ cache: false }) | ||
* ``` | ||
@@ -87,3 +88,3 @@ */ | ||
private static option: OzoneAPIRequestOption = { | ||
cache: false | ||
cache: true | ||
}; | ||
@@ -104,3 +105,9 @@ | ||
donePromise: Promise<XMLHttpRequest | null> = Promise.resolve(null); | ||
private _resultPromise?: Promise<XMLHttpRequest>; | ||
get result(): Promise<XMLHttpRequest>{ | ||
if(this._resultPromise) | ||
return this._resultPromise; | ||
else | ||
throw new Error("Request has not been send") | ||
} | ||
@@ -116,3 +123,3 @@ | ||
const urlParam = new URLSearchParams(param); | ||
urlParam.append('ts', Date.now().toString()); | ||
urlParam.append('_', Date.now().toString()); | ||
url = [urlPath, urlParam.toString()].join('?'); | ||
@@ -154,2 +161,8 @@ } | ||
get readyState (): number{ | ||
if(this.currentRequest) | ||
return this.currentRequest.readyState ; | ||
else | ||
return 0 | ||
} | ||
/** | ||
@@ -185,5 +198,5 @@ * Create and open an XMLHttpRequest | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {Promise<XMLHttpRequest>} | ||
* @return {OzoneAPIRequest} | ||
*/ | ||
sendRequest(request?: XMLHttpRequest):Promise<XMLHttpRequest>{ | ||
send(request?: XMLHttpRequest):OzoneAPIRequest{ | ||
const xmlhttp = this.currentRequest = request || this.createXMLHttpRequest(); | ||
@@ -194,24 +207,22 @@ | ||
return (this.donePromise as Promise<XMLHttpRequest>) = new Promise((resolve, reject)=>{ | ||
this._resultPromise = new Promise((resolve, reject)=>{ | ||
this.resolveCurrentRequest = resolve; | ||
const handleResponse = ()=>{ | ||
switch (xmlhttp.status){ | ||
case 200: | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-success', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
resolve(xmlhttp); | ||
break; | ||
case 403: | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-unauthorized', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
break; | ||
default: | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-error', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
if (xmlhttp.status >= 200 && xmlhttp.status < 300) { | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-success', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
resolve(xmlhttp); | ||
} else if(xmlhttp.status === 403) { | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-unauthorized', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
} else { | ||
this.eventTarget.dispatchEvent(new CustomEvent<XMLHttpRequest>('ozone-api-request-error', { | ||
bubbles: true, detail: xmlhttp | ||
})); | ||
reject(xmlhttp); | ||
} | ||
@@ -233,3 +244,14 @@ }; | ||
}); | ||
return this; | ||
} | ||
/** | ||
* | ||
* @param {XMLHttpRequest} request (optional) This parameters overwrite the default XmlHttpRequest. | ||
* @return {Promise<XMLHttpRequest>} | ||
*/ | ||
sendRequest(request?: XMLHttpRequest):Promise<XMLHttpRequest>{ | ||
return this.send(request).result | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
26099
662
2
+ Addedreflect-metadata@0.1.12(transitive)
+ Addedtaktik-polymer-typescript@4.4.7(transitive)
- Removed@polymer/polymer@2.8.0(transitive)
- Removed@types/reflect-metadata@0.0.5(transitive)
- Removedreflect-metadata@0.1.14(transitive)
- Removedtaktik-polymer-typescript@3.4.6(transitive)
- Removedtypescript@2.9.2(transitive)
Updated@types/lodash@^4.14.116