happy-dom 8.8.0 → 9.0.0
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.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/README.md +2 -2
- package/lib/cookie/CookieJar.js +1 -1
- package/lib/cookie/CookieJar.js.map +1 -1
- package/lib/dom-token-list/DOMTokenList.js +24 -20
- package/lib/dom-token-list/DOMTokenList.js.map +1 -1
- package/lib/event/EventTarget.js +6 -3
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
- package/lib/exception/DOMExceptionNameEnum.js +4 -0
- package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
- package/lib/fetch/AbortController.d.ts +19 -0
- package/lib/fetch/AbortController.js +30 -0
- package/lib/fetch/AbortController.js.map +1 -0
- package/lib/fetch/AbortSignal.d.ts +25 -0
- package/lib/fetch/AbortSignal.js +51 -0
- package/lib/fetch/AbortSignal.js.map +1 -0
- package/lib/fetch/Fetch.d.ts +117 -0
- package/lib/fetch/Fetch.js +530 -0
- package/lib/fetch/Fetch.js.map +1 -0
- package/lib/fetch/Headers.d.ts +81 -3
- package/lib/fetch/Headers.js +139 -24
- package/lib/fetch/Headers.js.map +1 -1
- package/lib/fetch/Request.d.ts +56 -32
- package/lib/fetch/Request.js +165 -110
- package/lib/fetch/Request.js.map +1 -1
- package/lib/fetch/{ResourceFetchHandler.d.ts → ResourceFetch.d.ts} +1 -1
- package/lib/fetch/{ResourceFetchHandler.js → ResourceFetch.js} +5 -5
- package/lib/fetch/ResourceFetch.js.map +1 -0
- package/lib/fetch/Response.d.ts +60 -26
- package/lib/fetch/Response.js +196 -104
- package/lib/fetch/Response.js.map +1 -1
- package/lib/fetch/data-uri/DataURIParser.d.ts +20 -0
- package/lib/fetch/data-uri/DataURIParser.js +60 -0
- package/lib/fetch/data-uri/DataURIParser.js.map +1 -0
- package/lib/fetch/multipart/MultipartFormDataParser.d.ts +40 -0
- package/lib/fetch/multipart/MultipartFormDataParser.js +81 -0
- package/lib/fetch/multipart/MultipartFormDataParser.js.map +1 -0
- package/lib/fetch/multipart/MultipartReader.d.ts +49 -0
- package/lib/fetch/multipart/MultipartReader.js +178 -0
- package/lib/fetch/multipart/MultipartReader.js.map +1 -0
- package/lib/fetch/types/IHeaders.d.ts +71 -0
- package/lib/fetch/{IHeaders.js.map → types/IHeaders.js.map} +1 -1
- package/lib/fetch/types/IHeadersInit.js.map +1 -0
- package/lib/fetch/types/IRequest.d.ts +60 -0
- package/lib/fetch/{IRequest.js.map → types/IRequest.js.map} +1 -1
- package/lib/fetch/types/IRequestBody.d.ts +7 -0
- package/lib/fetch/{IBody.js → types/IRequestBody.js} +1 -1
- package/lib/fetch/types/IRequestBody.js.map +1 -0
- package/lib/fetch/types/IRequestCredentials.d.ts +2 -0
- package/lib/fetch/types/IRequestCredentials.js +3 -0
- package/lib/fetch/types/IRequestCredentials.js.map +1 -0
- package/lib/fetch/{RequestInfo.d.ts → types/IRequestInfo.d.ts} +2 -2
- package/lib/fetch/types/IRequestInfo.js +3 -0
- package/lib/fetch/types/IRequestInfo.js.map +1 -0
- package/lib/fetch/types/IRequestInit.d.ts +21 -0
- package/lib/fetch/types/IRequestInit.js.map +1 -0
- package/lib/fetch/types/IRequestRedirect.d.ts +2 -0
- package/lib/fetch/types/IRequestRedirect.js +3 -0
- package/lib/fetch/types/IRequestRedirect.js.map +1 -0
- package/lib/fetch/types/IRequestReferrerPolicy.d.ts +2 -0
- package/lib/fetch/types/IRequestReferrerPolicy.js +3 -0
- package/lib/fetch/types/IRequestReferrerPolicy.js.map +1 -0
- package/lib/fetch/types/IResponse.d.ts +27 -0
- package/lib/fetch/{IResponse.js.map → types/IResponse.js.map} +1 -1
- package/lib/fetch/types/IResponseBody.d.ts +7 -0
- package/lib/fetch/types/IResponseBody.js +3 -0
- package/lib/fetch/types/IResponseBody.js.map +1 -0
- package/lib/fetch/types/IResponseInit.d.ts +9 -0
- package/lib/fetch/types/IResponseInit.js.map +1 -0
- package/lib/fetch/utilities/FetchBodyUtility.d.ts +44 -0
- package/lib/fetch/utilities/FetchBodyUtility.js +156 -0
- package/lib/fetch/utilities/FetchBodyUtility.js.map +1 -0
- package/lib/fetch/utilities/FetchCORSUtility.d.ts +12 -0
- package/lib/fetch/utilities/FetchCORSUtility.js +20 -0
- package/lib/fetch/utilities/FetchCORSUtility.js.map +1 -0
- package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts +12 -0
- package/lib/fetch/utilities/FetchRequestHeaderUtility.js +45 -0
- package/lib/fetch/utilities/FetchRequestHeaderUtility.js.map +1 -0
- package/lib/fetch/utilities/FetchRequestReferrerUtility.d.ts +55 -0
- package/lib/fetch/utilities/FetchRequestReferrerUtility.js +194 -0
- package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -0
- package/lib/fetch/utilities/FetchRequestValidationUtility.d.ts +38 -0
- package/lib/fetch/utilities/FetchRequestValidationUtility.js +70 -0
- package/lib/fetch/utilities/FetchRequestValidationUtility.js.map +1 -0
- package/lib/file/Blob.d.ts +2 -2
- package/lib/file/Blob.js +1 -1
- package/lib/file/Blob.js.map +1 -1
- package/lib/file/File.d.ts +2 -1
- package/lib/file/File.js.map +1 -1
- package/lib/form-data/FormData.d.ts +98 -0
- package/lib/form-data/FormData.js +212 -0
- package/lib/form-data/FormData.js.map +1 -0
- package/lib/index.d.ts +14 -1
- package/lib/index.js +20 -2
- package/lib/index.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +5 -17
- package/lib/nodes/document/Document.js +11 -54
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +3 -14
- package/lib/nodes/document-fragment/DocumentFragment.js +7 -51
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/document-fragment/IDocumentFragment.d.ts +2 -1
- package/lib/nodes/element/Element.d.ts +8 -8
- package/lib/nodes/element/Element.js +28 -45
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/ElementUtility.d.ts +32 -0
- package/lib/nodes/element/ElementUtility.js +105 -0
- package/lib/nodes/element/ElementUtility.js.map +1 -0
- package/lib/nodes/element/HTMLCollection.d.ts +26 -3
- package/lib/nodes/element/HTMLCollection.js +51 -0
- package/lib/nodes/element/HTMLCollection.js.map +1 -1
- package/lib/nodes/element/IHTMLCollection.d.ts +9 -2
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +24 -24
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
- package/lib/nodes/html-audio-element/Audio.d.ts +15 -0
- package/lib/nodes/html-audio-element/Audio.js +27 -0
- package/lib/nodes/html-audio-element/Audio.js.map +1 -0
- package/lib/nodes/html-base-element/HTMLBaseElement.js +4 -4
- package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +79 -3
- package/lib/nodes/html-button-element/HTMLButtonElement.js +158 -10
- package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
- package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts +28 -2
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js +3 -3
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +12 -12
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +32 -0
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +58 -0
- package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -0
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts +37 -17
- package/lib/nodes/html-form-element/HTMLFormElement.js +128 -37
- package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
- package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +25 -0
- package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js +3 -0
- package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js.map +1 -0
- package/lib/nodes/html-form-element/IHTMLFormElement.d.ts +16 -6
- package/lib/nodes/html-form-element/IRadioNodeList.d.ts +15 -0
- package/lib/nodes/html-form-element/IRadioNodeList.js +3 -0
- package/lib/nodes/html-form-element/IRadioNodeList.js.map +1 -0
- package/lib/nodes/html-form-element/RadioNodeList.d.ts +16 -0
- package/lib/nodes/html-form-element/RadioNodeList.js +28 -0
- package/lib/nodes/html-form-element/RadioNodeList.js.map +1 -0
- package/lib/nodes/html-image-element/HTMLImageElement.js +19 -19
- package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts +43 -19
- package/lib/nodes/html-input-element/HTMLInputElement.js +206 -111
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +14 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js +3 -7
- package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +21 -21
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.js +21 -21
- package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
- package/lib/nodes/html-meta-element/HTMLMetaElement.js +8 -8
- package/lib/nodes/html-meta-element/HTMLMetaElement.js.map +1 -1
- package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js +6 -6
- package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +3 -4
- package/lib/nodes/html-option-element/HTMLOptionElement.js +26 -29
- package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +16 -16
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-script-element/ScriptUtility.js +5 -5
- package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
- package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.d.ts +5 -6
- package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +42 -41
- package/lib/nodes/html-select-element/HTMLSelectElement.js +134 -138
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.d.ts +4 -5
- package/lib/nodes/html-select-element/IHTMLOptionsCollection.js.map +1 -0
- package/lib/nodes/html-select-element/IHTMLSelectElement.d.ts +22 -2
- package/lib/nodes/html-slot-element/HTMLSlotElement.js +2 -2
- package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +7 -7
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +55 -2
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +150 -40
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/IHTMLTextAreaElement.d.ts +16 -0
- package/lib/nodes/node/Node.d.ts +12 -1
- package/lib/nodes/node/Node.js +50 -4
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeList.d.ts +2 -3
- package/lib/nodes/node/NodeList.js.map +1 -1
- package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
- package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
- package/lib/nodes/parent-node/ParentNodeUtility.js +13 -11
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/lib/nodes/text/Text.d.ts +13 -0
- package/lib/nodes/text/Text.js +30 -0
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/query-selector/QuerySelector.js +2 -2
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.js +2 -0
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/validity-state/ValidityState.d.ts +87 -0
- package/lib/validity-state/ValidityState.js +171 -0
- package/lib/validity-state/ValidityState.js.map +1 -0
- package/lib/window/GlobalWindow.d.ts +0 -8
- package/lib/window/GlobalWindow.js +0 -2
- package/lib/window/GlobalWindow.js.map +1 -1
- package/lib/window/INodeJSGlobal.d.ts +71 -0
- package/lib/window/INodeJSGlobal.js +2 -0
- package/lib/window/INodeJSGlobal.js.map +1 -0
- package/lib/window/IWindow.d.ts +30 -10
- package/lib/window/Window.d.ts +37 -20
- package/lib/window/Window.js +22 -10
- package/lib/window/Window.js.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js +20 -12
- package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
- package/lib/xml-parser/XMLParser.js +1 -1
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +2 -3
- package/src/cookie/CookieJar.ts +1 -1
- package/src/dom-token-list/DOMTokenList.ts +24 -20
- package/src/event/EventTarget.ts +7 -3
- package/src/exception/DOMExceptionNameEnum.ts +5 -1
- package/src/fetch/AbortController.ts +26 -0
- package/src/fetch/AbortSignal.ts +44 -0
- package/src/fetch/Fetch.ts +666 -0
- package/src/fetch/Headers.ts +151 -3
- package/src/fetch/Request.ts +226 -94
- package/src/fetch/{ResourceFetchHandler.ts → ResourceFetch.ts} +3 -3
- package/src/fetch/Response.ts +252 -89
- package/src/fetch/data-uri/DataURIParser.ts +66 -0
- package/src/fetch/multipart/MultipartFormDataParser.ts +113 -0
- package/src/fetch/multipart/MultipartReader.ts +217 -0
- package/src/fetch/types/IHeaders.ts +80 -0
- package/src/fetch/types/IRequest.ts +65 -0
- package/src/fetch/types/IRequestBody.ts +15 -0
- package/src/fetch/types/IRequestCredentials.ts +2 -0
- package/src/fetch/types/IRequestInfo.ts +6 -0
- package/src/fetch/types/IRequestInit.ts +21 -0
- package/src/fetch/types/IRequestRedirect.ts +3 -0
- package/src/fetch/types/IRequestReferrerPolicy.ts +11 -0
- package/src/fetch/types/IResponse.ts +27 -0
- package/src/fetch/types/IResponseBody.ts +15 -0
- package/src/fetch/types/IResponseInit.ts +10 -0
- package/src/fetch/utilities/FetchBodyUtility.ts +175 -0
- package/src/fetch/utilities/FetchCORSUtility.ts +18 -0
- package/src/fetch/utilities/FetchRequestHeaderUtility.ts +47 -0
- package/src/fetch/utilities/FetchRequestReferrerUtility.ts +241 -0
- package/src/fetch/utilities/FetchRequestValidationUtility.ts +82 -0
- package/src/file/Blob.ts +2 -2
- package/src/file/File.ts +5 -1
- package/src/form-data/FormData.ts +237 -0
- package/src/index.ts +27 -1
- package/src/nodes/document/Document.ts +23 -64
- package/src/nodes/document/IDocument.ts +1 -1
- package/src/nodes/document-fragment/DocumentFragment.ts +9 -59
- package/src/nodes/document-fragment/IDocumentFragment.ts +2 -1
- package/src/nodes/element/Element.ts +43 -56
- package/src/nodes/element/ElementUtility.ts +137 -0
- package/src/nodes/element/HTMLCollection.ts +60 -3
- package/src/nodes/element/IHTMLCollection.ts +10 -2
- package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +24 -24
- package/src/nodes/html-audio-element/Audio.ts +22 -0
- package/src/nodes/html-base-element/HTMLBaseElement.ts +4 -4
- package/src/nodes/html-button-element/HTMLButtonElement.ts +184 -10
- package/src/nodes/html-button-element/IHTMLButtonElement.ts +31 -2
- package/src/nodes/html-dialog-element/HTMLDialogElement.ts +3 -3
- package/src/nodes/html-element/HTMLElement.ts +12 -12
- package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +76 -0
- package/src/nodes/html-form-element/HTMLFormElement.ts +147 -41
- package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +45 -0
- package/src/nodes/html-form-element/IHTMLFormElement.ts +17 -6
- package/src/nodes/html-form-element/IRadioNodeList.ts +16 -0
- package/src/nodes/html-form-element/RadioNodeList.ts +24 -0
- package/src/nodes/html-image-element/HTMLImageElement.ts +19 -19
- package/src/nodes/html-input-element/HTMLInputElement.ts +232 -113
- package/src/nodes/html-input-element/IHTMLInputElement.ts +20 -1
- package/src/nodes/html-label-element/HTMLLabelElement.ts +3 -7
- package/src/nodes/html-link-element/HTMLLinkElement.ts +21 -21
- package/src/nodes/html-media-element/HTMLMediaElement.ts +21 -21
- package/src/nodes/html-meta-element/HTMLMetaElement.ts +8 -8
- package/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +6 -6
- package/src/nodes/html-option-element/HTMLOptionElement.ts +29 -30
- package/src/nodes/html-script-element/HTMLScriptElement.ts +16 -16
- package/src/nodes/html-script-element/ScriptUtility.ts +5 -5
- package/src/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.ts +5 -9
- package/src/nodes/html-select-element/HTMLSelectElement.ts +159 -170
- package/src/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.ts +4 -8
- package/src/nodes/html-select-element/IHTMLSelectElement.ts +25 -2
- package/src/nodes/html-slot-element/HTMLSlotElement.ts +2 -2
- package/src/nodes/html-style-element/HTMLStyleElement.ts +7 -7
- package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +174 -41
- package/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts +18 -0
- package/src/nodes/node/Node.ts +61 -6
- package/src/nodes/node/NodeList.ts +2 -3
- package/src/nodes/parent-node/IParentNode.ts +7 -4
- package/src/nodes/parent-node/ParentNodeUtility.ts +25 -15
- package/src/nodes/text/Text.ts +38 -0
- package/src/query-selector/QuerySelector.ts +2 -2
- package/src/query-selector/SelectorItem.ts +3 -0
- package/src/validity-state/ValidityState.ts +211 -0
- package/src/window/GlobalWindow.ts +0 -2
- package/src/window/INodeJSGlobal.ts +70 -0
- package/src/window/IWindow.ts +32 -10
- package/src/window/Window.ts +43 -21
- package/src/xml-http-request/XMLHttpRequest.ts +27 -26
- package/src/xml-parser/XMLParser.ts +1 -1
- package/lib/fetch/FetchHandler.d.ts +0 -18
- package/lib/fetch/FetchHandler.js +0 -83
- package/lib/fetch/FetchHandler.js.map +0 -1
- package/lib/fetch/IAbortSignal.d.ts +0 -16
- package/lib/fetch/IAbortSignal.js +0 -4
- package/lib/fetch/IAbortSignal.js.map +0 -1
- package/lib/fetch/IBody.d.ts +0 -17
- package/lib/fetch/IBody.js.map +0 -1
- package/lib/fetch/IHeaders.d.ts +0 -18
- package/lib/fetch/IHeadersInit.js.map +0 -1
- package/lib/fetch/IRequest.d.ts +0 -18
- package/lib/fetch/IRequestInit.d.ts +0 -16
- package/lib/fetch/IRequestInit.js.map +0 -1
- package/lib/fetch/IResponse.d.ts +0 -20
- package/lib/fetch/IResponseInit.d.ts +0 -9
- package/lib/fetch/IResponseInit.js.map +0 -1
- package/lib/fetch/RequestInfo.js +0 -3
- package/lib/fetch/RequestInfo.js.map +0 -1
- package/lib/fetch/ResourceFetchHandler.js.map +0 -1
- package/lib/form-data/IFormData.d.ts +0 -32
- package/lib/form-data/IFormData.js +0 -3
- package/lib/form-data/IFormData.js.map +0 -1
- package/lib/location/RelativeURL.d.ts +0 -15
- package/lib/location/RelativeURL.js +0 -19
- package/lib/location/RelativeURL.js.map +0 -1
- package/lib/nodes/element/HTMLCollectionFactory.d.ts +0 -21
- package/lib/nodes/element/HTMLCollectionFactory.js +0 -31
- package/lib/nodes/element/HTMLCollectionFactory.js.map +0 -1
- package/lib/nodes/html-option-element/IHTMLOptionsCollection.js.map +0 -1
- package/lib/nodes/node/NodeListFactory.d.ts +0 -21
- package/lib/nodes/node/NodeListFactory.js +0 -31
- package/lib/nodes/node/NodeListFactory.js.map +0 -1
- package/lib/nodes/validity-state/ValidityState.d.ts +0 -52
- package/lib/nodes/validity-state/ValidityState.js +0 -81
- package/lib/nodes/validity-state/ValidityState.js.map +0 -1
- package/src/fetch/FetchHandler.ts +0 -90
- package/src/fetch/IAbortSignal.ts +0 -34
- package/src/fetch/IBody.ts +0 -18
- package/src/fetch/IHeaders.ts +0 -18
- package/src/fetch/IRequest.ts +0 -59
- package/src/fetch/IRequestInit.ts +0 -41
- package/src/fetch/IResponse.ts +0 -22
- package/src/fetch/IResponseInit.ts +0 -10
- package/src/fetch/RequestInfo.ts +0 -6
- package/src/form-data/IFormData.ts +0 -33
- package/src/location/RelativeURL.ts +0 -17
- package/src/nodes/element/HTMLCollectionFactory.ts +0 -31
- package/src/nodes/node/NodeListFactory.ts +0 -31
- package/src/nodes/validity-state/ValidityState.ts +0 -84
- /package/lib/fetch/{IHeaders.js → types/IHeaders.js} +0 -0
- /package/lib/fetch/{IHeadersInit.d.ts → types/IHeadersInit.d.ts} +0 -0
- /package/lib/fetch/{IHeadersInit.js → types/IHeadersInit.js} +0 -0
- /package/lib/fetch/{IRequest.js → types/IRequest.js} +0 -0
- /package/lib/fetch/{IRequestInit.js → types/IRequestInit.js} +0 -0
- /package/lib/fetch/{IResponse.js → types/IResponse.js} +0 -0
- /package/lib/fetch/{IResponseInit.js → types/IResponseInit.js} +0 -0
- /package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js +0 -0
- /package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.js +0 -0
- /package/src/fetch/{IHeadersInit.ts → types/IHeadersInit.ts} +0 -0
package/README.md
CHANGED
@@ -126,9 +126,9 @@ console.log(global.test);
|
|
126
126
|
|
127
127
|
## Server-Side Rendering of Web Components
|
128
128
|
|
129
|
-
The example below will show you how to
|
129
|
+
The example below will show you how to server-side render a page with custom elements (web components) in Happy DOM. In the example we will use a new web feature called [Declarative Shadow DOM](https://chromestatus.com/feature/5191745052606464) to include the shadow roots in the HTML output.
|
130
130
|
|
131
|
-
[Declarative Shadow DOM](https://chromestatus.com/feature/5191745052606464) is only supported by Chromium based browsers. Unsupported browsers
|
131
|
+
[Declarative Shadow DOM](https://chromestatus.com/feature/5191745052606464) is only supported by Chromium based browsers. Unsupported browsers will safely fallback to being rendered using Javascript.
|
132
132
|
|
133
133
|
```javascript
|
134
134
|
import { Window } from 'happy-dom';
|
package/lib/cookie/CookieJar.js
CHANGED
@@ -74,7 +74,7 @@ class CookieJar {
|
|
74
74
|
if (cookie.path && !location.pathname.startsWith(cookie.path)) {
|
75
75
|
return false;
|
76
76
|
}
|
77
|
-
// TODO:
|
77
|
+
// TODO: Check same site behaviour.
|
78
78
|
return true;
|
79
79
|
});
|
80
80
|
return cookies.map((cookie) => cookie.cookieString()).join('; ');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CookieJar.js","sourceRoot":"","sources":["../../src/cookie/CookieJar.ts"],"names":[],"mappings":";;;;;AACA,sDAA8B;AAE9B;;;;;GAKG;AACH,MAAqB,SAAS;IAA9B;QACS,YAAO,GAAa,EAAE,CAAC;IAuEhC,CAAC;IArEA;;;;OAIG;IACK,cAAc,CAAC,MAAc;QACpC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC3E,OAAO,KAAK,CAAC;SACb;QACD,IACC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAC3D;YACD,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,YAAoB;QAC3C,IAAI,CAAC,YAAY,EAAE;YAClB,OAAO;SACP;QACD,MAAM,SAAS,GAAG,IAAI,gBAAM,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;SACP;QACD,IAAI,CAAC,OAAO;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC;aAChD,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,gBAAgB,CAAC,QAAkB,EAAE,YAAqB;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9C,4DAA4D;YAC5D,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;gBACxC,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE;gBACvB,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACxD,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAChE,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC9D,OAAO,KAAK,CAAC;aACb;YACD,
|
1
|
+
{"version":3,"file":"CookieJar.js","sourceRoot":"","sources":["../../src/cookie/CookieJar.ts"],"names":[],"mappings":";;;;;AACA,sDAA8B;AAE9B;;;;;GAKG;AACH,MAAqB,SAAS;IAA9B;QACS,YAAO,GAAa,EAAE,CAAC;IAuEhC,CAAC;IArEA;;;;OAIG;IACK,cAAc,CAAC,MAAc;QACpC,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC3E,OAAO,KAAK,CAAC;SACb;QACD,IACC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAC3D;YACD,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,YAAoB;QAC3C,IAAI,CAAC,YAAY,EAAE;YAClB,OAAO;SACP;QACD,MAAM,SAAS,GAAG,IAAI,gBAAM,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;SACP;QACD,IAAI,CAAC,OAAO;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC;aAChD,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,gBAAgB,CAAC,QAAkB,EAAE,YAAqB;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9C,4DAA4D;YAC5D,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;gBACxC,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE;gBACvB,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACxD,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAChE,OAAO,KAAK,CAAC;aACb;YACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC9D,OAAO,KAAK,CAAC;aACb;YACD,mCAAmC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;CACD;AAxED,4BAwEC"}
|
@@ -29,13 +29,13 @@ class DOMTokenList {
|
|
29
29
|
* @param value Value.
|
30
30
|
*/
|
31
31
|
set value(value) {
|
32
|
-
this._ownerElement.
|
32
|
+
this._ownerElement.setAttribute(this._attributeName, value);
|
33
33
|
}
|
34
34
|
/**
|
35
35
|
* Get value.
|
36
36
|
*/
|
37
37
|
get value() {
|
38
|
-
return this._ownerElement.
|
38
|
+
return this._ownerElement.getAttribute(this._attributeName);
|
39
39
|
}
|
40
40
|
/**
|
41
41
|
* Get ClassName.
|
@@ -53,14 +53,14 @@ class DOMTokenList {
|
|
53
53
|
* @param newToken NewToken.
|
54
54
|
*/
|
55
55
|
replace(token, newToken) {
|
56
|
-
const attr = this._ownerElement.
|
57
|
-
const list = attr ? attr.split(' ') : [];
|
56
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
57
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
58
58
|
const index = list.indexOf(token);
|
59
59
|
if (index === -1) {
|
60
60
|
return false;
|
61
61
|
}
|
62
62
|
list[index] = newToken;
|
63
|
-
this._ownerElement.
|
63
|
+
this._ownerElement.setAttribute(this._attributeName, list.join(' '));
|
64
64
|
return true;
|
65
65
|
}
|
66
66
|
/**
|
@@ -76,15 +76,17 @@ class DOMTokenList {
|
|
76
76
|
* Returns an iterator, allowing you to go through all values of the key/value pairs contained in this object.
|
77
77
|
*/
|
78
78
|
values() {
|
79
|
-
const attr = this._ownerElement.
|
80
|
-
|
79
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
80
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
81
|
+
return list.values();
|
81
82
|
}
|
82
83
|
/**
|
83
84
|
* Returns an iterator, allowing you to go through all key/value pairs contained in this object.
|
84
85
|
*/
|
85
86
|
entries() {
|
86
|
-
const attr = this._ownerElement.
|
87
|
-
|
87
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
88
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
89
|
+
return list.entries();
|
88
90
|
}
|
89
91
|
/**
|
90
92
|
* Executes a provided callback function once for each DOMTokenList element.
|
@@ -93,16 +95,18 @@ class DOMTokenList {
|
|
93
95
|
* @param thisArg
|
94
96
|
*/
|
95
97
|
forEach(callback, thisArg) {
|
96
|
-
const attr = this._ownerElement.
|
97
|
-
|
98
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
99
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
100
|
+
return list.forEach(callback, thisArg);
|
98
101
|
}
|
99
102
|
/**
|
100
103
|
* Returns an iterator, allowing you to go through all keys of the key/value pairs contained in this object.
|
101
104
|
*
|
102
105
|
*/
|
103
106
|
keys() {
|
104
|
-
const attr = this._ownerElement.
|
105
|
-
|
107
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
108
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
109
|
+
return list.keys();
|
106
110
|
}
|
107
111
|
/**
|
108
112
|
* Adds tokens.
|
@@ -110,8 +114,8 @@ class DOMTokenList {
|
|
110
114
|
* @param tokens Tokens.
|
111
115
|
*/
|
112
116
|
add(...tokens) {
|
113
|
-
const attr = this._ownerElement.
|
114
|
-
const list = attr ? attr.split(' ') : [];
|
117
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
118
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
115
119
|
for (const token of tokens) {
|
116
120
|
const index = list.indexOf(token);
|
117
121
|
if (index === -1) {
|
@@ -121,7 +125,7 @@ class DOMTokenList {
|
|
121
125
|
list[index] = token;
|
122
126
|
}
|
123
127
|
}
|
124
|
-
this._ownerElement.
|
128
|
+
this._ownerElement.setAttribute(this._attributeName, list.join(' '));
|
125
129
|
}
|
126
130
|
/**
|
127
131
|
* Removes tokens.
|
@@ -129,15 +133,15 @@ class DOMTokenList {
|
|
129
133
|
* @param tokens Tokens.
|
130
134
|
*/
|
131
135
|
remove(...tokens) {
|
132
|
-
const attr = this._ownerElement.
|
133
|
-
const list = attr ? attr.split(' ') : [];
|
136
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
137
|
+
const list = attr ? Array.from(new Set(attr.split(' '))) : [];
|
134
138
|
for (const token of tokens) {
|
135
139
|
const index = list.indexOf(token);
|
136
140
|
if (index !== -1) {
|
137
141
|
list.splice(index, 1);
|
138
142
|
}
|
139
143
|
}
|
140
|
-
this._ownerElement.
|
144
|
+
this._ownerElement.setAttribute(this._attributeName, list.join(' '));
|
141
145
|
}
|
142
146
|
/**
|
143
147
|
* Check if the list contains a class.
|
@@ -146,7 +150,7 @@ class DOMTokenList {
|
|
146
150
|
* @returns TRUE if it contains.
|
147
151
|
*/
|
148
152
|
contains(className) {
|
149
|
-
const attr = this._ownerElement.
|
153
|
+
const attr = this._ownerElement.getAttribute(this._attributeName);
|
150
154
|
return (attr ? attr.split(' ') : []).includes(className);
|
151
155
|
}
|
152
156
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DOMTokenList.js","sourceRoot":"","sources":["../../src/dom-token-list/DOMTokenList.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AAIrD;;;;;GAKG;AACH,MAAqB,YAAY;IAKhC;;;;;OAKG;IACH,YAAY,YAAqB,EAAE,aAAa;QAVhC,WAAM,GAAG,CAAC,CAAC;QAW1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,aAAa,CAAC,
|
1
|
+
{"version":3,"file":"DOMTokenList.js","sourceRoot":"","sources":["../../src/dom-token-list/DOMTokenList.ts"],"names":[],"mappings":"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"}
|
package/lib/event/EventTarget.js
CHANGED
@@ -53,9 +53,12 @@ class EventTarget {
|
|
53
53
|
this[onEventName].call(this, event);
|
54
54
|
}
|
55
55
|
if (this._listeners[event.type]) {
|
56
|
-
|
57
|
-
|
58
|
-
|
56
|
+
// We need to clone the arrays because the listeners may remove themselves while we are iterating.
|
57
|
+
const listeners = this._listeners[event.type].slice();
|
58
|
+
const listenerOptions = this._listenerOptions[event.type].slice();
|
59
|
+
for (let i = 0, max = listeners.length; i < max; i++) {
|
60
|
+
const listener = listeners[i];
|
61
|
+
const options = listenerOptions[i];
|
59
62
|
if (listener.handleEvent) {
|
60
63
|
listener.handleEvent(event);
|
61
64
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EventTarget.js","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":";;AAKA;;GAEG;AACH,MAA8B,WAAW;IAAzC;QACiB,eAAU,GAEtB,EAAE,CAAC;QACS,qBAAgB,GAE5B,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"EventTarget.js","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":"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"}
|
@@ -11,6 +11,10 @@ declare enum DOMExceptionNameEnum {
|
|
11
11
|
securityError = "SecurityError",
|
12
12
|
networkError = "NetworkError",
|
13
13
|
domException = "DOMException",
|
14
|
-
invalidAccessError = "InvalidAccessError"
|
14
|
+
invalidAccessError = "InvalidAccessError",
|
15
|
+
unknownError = "UnknownError",
|
16
|
+
abortError = "AbortError",
|
17
|
+
encodingError = "EncodingError",
|
18
|
+
uriMismatchError = "URIMismatchError"
|
15
19
|
}
|
16
20
|
export default DOMExceptionNameEnum;
|
@@ -15,6 +15,10 @@ var DOMExceptionNameEnum;
|
|
15
15
|
DOMExceptionNameEnum["networkError"] = "NetworkError";
|
16
16
|
DOMExceptionNameEnum["domException"] = "DOMException";
|
17
17
|
DOMExceptionNameEnum["invalidAccessError"] = "InvalidAccessError";
|
18
|
+
DOMExceptionNameEnum["unknownError"] = "UnknownError";
|
19
|
+
DOMExceptionNameEnum["abortError"] = "AbortError";
|
20
|
+
DOMExceptionNameEnum["encodingError"] = "EncodingError";
|
21
|
+
DOMExceptionNameEnum["uriMismatchError"] = "URIMismatchError";
|
18
22
|
})(DOMExceptionNameEnum || (DOMExceptionNameEnum = {}));
|
19
23
|
exports.default = DOMExceptionNameEnum;
|
20
24
|
//# sourceMappingURL=DOMExceptionNameEnum.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,
|
1
|
+
{"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,oBAkBJ;AAlBD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;IACzC,qEAA6C,CAAA;IAC7C,uEAA+C,CAAA;IAC/C,uDAA+B,CAAA;IAC/B,uDAA+B,CAAA;IAC/B,qDAA6B,CAAA;IAC7B,qDAA6B,CAAA;IAC7B,iEAAyC,CAAA;IACzC,qDAA6B,CAAA;IAC7B,iDAAyB,CAAA;IACzB,uDAA+B,CAAA;IAC/B,6DAAqC,CAAA;AACtC,CAAC,EAlBI,oBAAoB,KAApB,oBAAoB,QAkBxB;AACD,kBAAe,oBAAoB,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import AbortSignal from './AbortSignal';
|
2
|
+
/**
|
3
|
+
* AbortController.
|
4
|
+
*
|
5
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortController
|
6
|
+
*/
|
7
|
+
export default class AbortController {
|
8
|
+
readonly signal: AbortSignal;
|
9
|
+
/**
|
10
|
+
* Constructor.
|
11
|
+
*/
|
12
|
+
constructor();
|
13
|
+
/**
|
14
|
+
* Aborts the signal.
|
15
|
+
*
|
16
|
+
* @param [reason] Reason.
|
17
|
+
*/
|
18
|
+
abort(reason?: string): void;
|
19
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const AbortSignal_1 = __importDefault(require("./AbortSignal"));
|
7
|
+
/**
|
8
|
+
* AbortController.
|
9
|
+
*
|
10
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortController
|
11
|
+
*/
|
12
|
+
class AbortController {
|
13
|
+
/**
|
14
|
+
* Constructor.
|
15
|
+
*/
|
16
|
+
constructor() {
|
17
|
+
this.signal = new AbortSignal_1.default();
|
18
|
+
this.signal = new AbortSignal_1.default();
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* Aborts the signal.
|
22
|
+
*
|
23
|
+
* @param [reason] Reason.
|
24
|
+
*/
|
25
|
+
abort(reason) {
|
26
|
+
this.signal._abort(reason);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
exports.default = AbortController;
|
30
|
+
//# sourceMappingURL=AbortController.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AbortController.js","sourceRoot":"","sources":["../../src/fetch/AbortController.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AAExC;;;;GAIG;AACH,MAAqB,eAAe;IAGnC;;OAEG;IACH;QALgB,WAAM,GAAgB,IAAI,qBAAW,EAAE,CAAC;QAMvD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACD;AAlBD,kCAkBC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import EventTarget from '../event/EventTarget';
|
2
|
+
import Event from '../event/Event';
|
3
|
+
/**
|
4
|
+
* AbortSignal.
|
5
|
+
*
|
6
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
|
7
|
+
*/
|
8
|
+
export default class AbortSignal extends EventTarget {
|
9
|
+
readonly aborted: boolean;
|
10
|
+
readonly reason: string | null;
|
11
|
+
onabort: ((this: AbortSignal, event: Event) => void) | null;
|
12
|
+
/**
|
13
|
+
* Aborts the signal.
|
14
|
+
*
|
15
|
+
* @param [reason] Reason.
|
16
|
+
*/
|
17
|
+
_abort(reason?: string): void;
|
18
|
+
/**
|
19
|
+
* Returns an AbortSignal instance that has been set as aborted.
|
20
|
+
*
|
21
|
+
* @param [reason] Reason.
|
22
|
+
* @returns AbortSignal instance.
|
23
|
+
*/
|
24
|
+
static abort(reason?: string): AbortSignal;
|
25
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const EventTarget_1 = __importDefault(require("../event/EventTarget"));
|
7
|
+
const Event_1 = __importDefault(require("../event/Event"));
|
8
|
+
/**
|
9
|
+
* AbortSignal.
|
10
|
+
*
|
11
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
|
12
|
+
*/
|
13
|
+
class AbortSignal extends EventTarget_1.default {
|
14
|
+
constructor() {
|
15
|
+
super(...arguments);
|
16
|
+
this.aborted = false;
|
17
|
+
this.reason = null;
|
18
|
+
this.onabort = null;
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* Aborts the signal.
|
22
|
+
*
|
23
|
+
* @param [reason] Reason.
|
24
|
+
*/
|
25
|
+
_abort(reason) {
|
26
|
+
if (this.aborted) {
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
if (reason) {
|
30
|
+
this.reason = reason;
|
31
|
+
}
|
32
|
+
this.aborted = true;
|
33
|
+
this.dispatchEvent(new Event_1.default('abort'));
|
34
|
+
}
|
35
|
+
/**
|
36
|
+
* Returns an AbortSignal instance that has been set as aborted.
|
37
|
+
*
|
38
|
+
* @param [reason] Reason.
|
39
|
+
* @returns AbortSignal instance.
|
40
|
+
*/
|
41
|
+
static abort(reason) {
|
42
|
+
const signal = new AbortSignal();
|
43
|
+
if (reason) {
|
44
|
+
signal.reason = reason;
|
45
|
+
}
|
46
|
+
signal.aborted = true;
|
47
|
+
return signal;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
exports.default = AbortSignal;
|
51
|
+
//# sourceMappingURL=AbortSignal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AbortSignal.js","sourceRoot":"","sources":["../../src/fetch/AbortSignal.ts"],"names":[],"mappings":";;;;;AAAA,uEAA+C;AAC/C,2DAAmC;AAEnC;;;;GAIG;AACH,MAAqB,WAAY,SAAQ,qBAAW;IAApD;;QACiB,YAAO,GAAY,KAAK,CAAC;QACzB,WAAM,GAAkB,IAAI,CAAC;QACtC,YAAO,GAAuD,IAAI,CAAC;IAgC3E,CAAC;IA9BA;;;;OAIG;IACI,MAAM,CAAC,MAAe;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACP;QACD,IAAI,MAAM,EAAE;YACF,IAAI,CAAC,MAAO,GAAG,MAAM,CAAC;SAC/B;QACS,IAAI,CAAC,OAAQ,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,MAAe;QAClC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE;YACF,MAAM,CAAC,MAAO,GAAG,MAAM,CAAC;SACjC;QACS,MAAM,CAAC,OAAQ,GAAG,IAAI,CAAC;QACjC,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AAnCD,8BAmCC"}
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import IRequestInit from './types/IRequestInit';
|
2
|
+
import IDocument from '../nodes/document/IDocument';
|
3
|
+
import IResponse from './types/IResponse';
|
4
|
+
import IRequestInfo from './types/IRequestInfo';
|
5
|
+
/**
|
6
|
+
* Handles fetch requests.
|
7
|
+
*
|
8
|
+
* Based on:
|
9
|
+
* https://github.com/node-fetch/node-fetch/blob/main/src/index.js
|
10
|
+
*
|
11
|
+
* @see https://fetch.spec.whatwg.org/#http-network-fetch
|
12
|
+
*/
|
13
|
+
export default class Fetch {
|
14
|
+
private reject;
|
15
|
+
private resolve;
|
16
|
+
private listeners;
|
17
|
+
private isChunkedTransfer;
|
18
|
+
private isProperLastChunkReceived;
|
19
|
+
private previousChunk;
|
20
|
+
private nodeRequest;
|
21
|
+
private response;
|
22
|
+
private ownerDocument;
|
23
|
+
private request;
|
24
|
+
private redirectCount;
|
25
|
+
/**
|
26
|
+
* Constructor.
|
27
|
+
*
|
28
|
+
* @param options Options.
|
29
|
+
* @param options.document
|
30
|
+
* @param options.url URL.
|
31
|
+
* @param [options.init] Init.
|
32
|
+
* @param [options.ownerDocument] Owner document.
|
33
|
+
* @param [options.redirectCount] Redirect count.
|
34
|
+
* @param [options.contentType] Content Type.
|
35
|
+
*/
|
36
|
+
constructor(options: {
|
37
|
+
ownerDocument: IDocument;
|
38
|
+
url: IRequestInfo;
|
39
|
+
init?: IRequestInit;
|
40
|
+
redirectCount?: number;
|
41
|
+
contentType?: string;
|
42
|
+
});
|
43
|
+
/**
|
44
|
+
* Sends request.
|
45
|
+
*
|
46
|
+
* @returns Response.
|
47
|
+
*/
|
48
|
+
send(): Promise<IResponse>;
|
49
|
+
/**
|
50
|
+
* Event listener for "socket" event.
|
51
|
+
*
|
52
|
+
* @param socket Socket.
|
53
|
+
*/
|
54
|
+
private onSocket;
|
55
|
+
/**
|
56
|
+
* Event listener for signal "abort" event.
|
57
|
+
*/
|
58
|
+
private onSignalAbort;
|
59
|
+
/**
|
60
|
+
* Event listener for request "error" event.
|
61
|
+
*
|
62
|
+
* @param error Error.
|
63
|
+
*/
|
64
|
+
private onError;
|
65
|
+
/**
|
66
|
+
* Event listener for request "response" event.
|
67
|
+
*
|
68
|
+
* @param nodeResponse Node response.
|
69
|
+
*/
|
70
|
+
private onResponse;
|
71
|
+
/**
|
72
|
+
* Handles redirect response.
|
73
|
+
*
|
74
|
+
* @param nodeResponse Node response.
|
75
|
+
* @param responseHeaders Headers.
|
76
|
+
* @returns True if redirect response was handled, false otherwise.
|
77
|
+
*/
|
78
|
+
private handleRedirectResponse;
|
79
|
+
/**
|
80
|
+
* Prepares the request before being sent.
|
81
|
+
*/
|
82
|
+
private prepareRequest;
|
83
|
+
/**
|
84
|
+
* Validates the request.
|
85
|
+
*
|
86
|
+
* @throws {Error} Throws an error if the request is invalid.
|
87
|
+
*/
|
88
|
+
private validateRequest;
|
89
|
+
/**
|
90
|
+
* Returns request headers.
|
91
|
+
*
|
92
|
+
* @returns Headers.
|
93
|
+
*/
|
94
|
+
private getRequestHeaders;
|
95
|
+
/**
|
96
|
+
* Returns "true" if redirect.
|
97
|
+
*
|
98
|
+
* @param statusCode Status code.
|
99
|
+
* @returns "true" if redirect.
|
100
|
+
*/
|
101
|
+
private isRedirect;
|
102
|
+
/**
|
103
|
+
* Appends headers to response.
|
104
|
+
*
|
105
|
+
* @param nodeResponse HTTP request.
|
106
|
+
* @returns Headers.
|
107
|
+
*/
|
108
|
+
private getResponseHeaders;
|
109
|
+
/**
|
110
|
+
* Finalizes the request.
|
111
|
+
*/
|
112
|
+
private finalizeRequest;
|
113
|
+
/**
|
114
|
+
* Aborts the request.
|
115
|
+
*/
|
116
|
+
private abort;
|
117
|
+
}
|