@breautek/storm 9.3.1 → 9.4.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.
- package/CHANGELOG.md +8 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Application.html +17 -17
- package/docs/classes/Command.html +90 -90
- package/docs/classes/ConfigLoader.html +3 -3
- package/docs/classes/Database.html +2 -2
- package/docs/classes/DatabaseCastObject.html +2 -2
- package/docs/classes/DatabaseConnection.html +21 -21
- package/docs/classes/DatabaseQueryError.html +6 -6
- package/docs/classes/DeadLockError.html +6 -6
- package/docs/classes/DiskSpaceError.html +5 -5
- package/docs/classes/DropTemporaryTableQuery.html +7 -7
- package/docs/classes/DuplicateEntryError.html +5 -5
- package/docs/classes/EntityNotFoundError.html +5 -5
- package/docs/classes/ExpiredTokenError.html +5 -5
- package/docs/classes/ForbiddenError.html +5 -5
- package/docs/classes/GetMySQLVersion.html +7 -7
- package/docs/classes/Handler.html +4 -2
- package/docs/classes/IllegalStateError.html +5 -5
- package/docs/classes/InternalError.html +5 -5
- package/docs/classes/InvalidCredentialsError.html +5 -5
- package/docs/classes/InvalidValueError.html +5 -5
- package/docs/classes/LineString.html +2 -2
- package/docs/classes/LockWaitTimeoutError.html +6 -6
- package/docs/classes/ManagedDatabaseConnection.html +5 -5
- package/docs/classes/MetricStore.html +2 -2
- package/docs/classes/Middleware.html +2 -2
- package/docs/classes/MissingConfigError.html +5 -5
- package/docs/classes/MissingParameterError.html +5 -5
- package/docs/classes/MySQLConnection.html +25 -25
- package/docs/classes/MySQLDatabase.html +2 -2
- package/docs/classes/NotImplementedError.html +5 -5
- package/docs/classes/Point.html +2 -2
- package/docs/classes/Polygon.html +2 -2
- package/docs/classes/Query.html +7 -7
- package/docs/classes/RawError.html +5 -5
- package/docs/classes/RawQuery.html +7 -7
- package/docs/classes/Request.html +3 -3
- package/docs/classes/Response.html +2 -2
- package/docs/classes/ResponseData.html +3 -3
- package/docs/classes/ServiceProvider.html +2 -2
- package/docs/classes/ServiceResponse.html +2 -2
- package/docs/classes/SetSessionVariableQuery.html +7 -7
- package/docs/classes/StormError.html +5 -5
- package/docs/classes/TemporaryTableQuery.html +7 -7
- package/docs/classes/TimeoutError.html +5 -5
- package/docs/classes/Token.html +2 -2
- package/docs/classes/TokenManager.html +5 -2
- package/docs/classes/Transaction.html +2 -2
- package/docs/classes/UnauthorizedAccessError.html +5 -5
- package/docs/enums/ErrorCode.html +2 -2
- package/docs/enums/ExitCode.html +2 -2
- package/docs/enums/HTTPMethod.html +2 -2
- package/docs/enums/IsolationLevel.html +2 -2
- package/docs/enums/JWTError.html +2 -2
- package/docs/enums/StatusCode.html +2 -2
- package/docs/enums/TransactionAccessLevel.html +2 -2
- package/docs/functions/getInstance.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
- package/docs/interfaces/ICloudwatchConfig.html +2 -2
- package/docs/interfaces/ICloudwatchCredentials.html +2 -2
- package/docs/interfaces/ICloudwatchStreamConfig.html +2 -2
- package/docs/interfaces/IConfig.html +3 -3
- package/docs/interfaces/IDatabaseConfig.html +2 -2
- package/docs/interfaces/IDatabaseConnection.html +5 -5
- package/docs/interfaces/IDatabasePosition.html +2 -2
- package/docs/interfaces/IErrorResponse.html +2 -2
- package/docs/interfaces/IFormData.html +2 -2
- package/docs/interfaces/IGetMySQLVersionResult.html +2 -2
- package/docs/interfaces/IGetMySQLVersionRow.html +2 -2
- package/docs/interfaces/IInsertQueryResult.html +2 -2
- package/docs/interfaces/IJWTVerifyOptions.html +2 -2
- package/docs/interfaces/IOKPacket.html +2 -2
- package/docs/interfaces/IParameterMap.html +1 -1
- package/docs/interfaces/IQueryable.html +2 -2
- package/docs/interfaces/IRequestResponse.html +2 -2
- package/docs/interfaces/ISetSessionVariableQueryInput.html +2 -2
- package/docs/interfaces/IStormCLIArgs.html +2 -2
- package/docs/interfaces/ITemporaryTableQueryInput.html +2 -2
- package/docs/interfaces/IUpdateQueryResult.html +2 -2
- package/docs/interfaces/formidable.FileJSON.html +1 -1
- package/docs/interfaces/formidable.Part.html +1 -1
- package/docs/types/IDeleteQueryResult.html +1 -1
- package/docs/types/IStoredProcedureResult.html +1 -1
- package/docs/types/TCoordinate.html +1 -1
- package/docs/types/TExpiresIn.html +1 -1
- package/docs/types/TSerializableResponse.html +1 -1
- package/docs/types/TSupportedResponsePrimitives.html +1 -1
- package/docs/types/TSupportedResponseTypes.html +1 -1
- package/lib/Handler.d.ts +2 -0
- package/lib/Handler.js +18 -4
- package/lib/Handler.js.map +1 -1
- package/lib/Request.d.ts +6 -3
- package/lib/Request.js.map +1 -1
- package/lib/TokenManager.d.ts +13 -0
- package/lib/TokenManager.js +15 -0
- package/lib/TokenManager.js.map +1 -1
- package/package.json +5 -5
- package/src/Handler.ts +24 -4
- package/src/Request.ts +7 -3
- package/src/TokenManager.ts +16 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>IStoredProcedureResult | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">IStoredProcedureResult</a></li></ul><h1>Type Alias IStoredProcedureResult<T></h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">IStoredProcedureResult</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">...</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#t">T</a><span class="tsd-signature-symbol">,</span> <a href="../interfaces/IOKPacket.html" class="tsd-signature-type tsd-kind-interface">IOKPacket</a><span class="tsd-signature-symbol">]</span></div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span id="t"><span class="tsd-kind-type-parameter">T</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span> = <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span></span></li></ul></section><div class="tsd-comment tsd-typography"><div class="tsd-tag-since"><h4 class="tsd-anchor-link" id="since">Since<a href="#since" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>7.1.0</p>
|
|
2
2
|
</div><div class="tsd-tag-remarks"><h4 class="tsd-anchor-link" id="remarks">Remarks<a href="#remarks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Symbol introduced in 7.1.0 but did not accurately represent the actual call
|
|
3
3
|
result. Symbol was (breakingly) changed in 7.1.1 to fix this issue.</p>
|
|
4
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
4
|
+
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/IStoredProcedureResult.ts#L27">src/IStoredProcedureResult.ts:27</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TCoordinate | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TCoordinate</a></li></ul><h1>Type Alias TCoordinate</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TCoordinate</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>x<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> y<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TCoordinate | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TCoordinate</a></li></ul><h1>Type Alias TCoordinate</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TCoordinate</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>x<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> y<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/TCoordinate.ts#L17">src/TCoordinate.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TExpiresIn | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TExpiresIn</a></li></ul><h1>Type Alias TExpiresIn</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TExpiresIn</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">StringValue</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TExpiresIn | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TExpiresIn</a></li></ul><h1>Type Alias TExpiresIn</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TExpiresIn</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">StringValue</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/TokenManager.ts#L27">src/TokenManager.ts:27</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -10,4 +10,4 @@ Use this to declare that your interface is Response Serializable.</p>
|
|
|
10
10
|
|
|
11
11
|
<p>NOTE: This actually will allow more than what is within the <code>TSupportedResponsePrimitives</code> union type.
|
|
12
12
|
TypeScript doesn't offer a way to properly restrict or infer the type.</p>
|
|
13
|
-
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span id="t"><span class="tsd-kind-type-parameter">T</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">object</span></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
13
|
+
</div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span id="t"><span class="tsd-kind-type-parameter">T</span> <span class="tsd-signature-keyword">extends</span> <span class="tsd-signature-type">object</span></span></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/Response.ts#L58">src/Response.ts:58</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TSupportedResponsePrimitives | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TSupportedResponsePrimitives</a></li></ul><h1>Type Alias TSupportedResponsePrimitives</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TSupportedResponsePrimitives</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">string</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Date</span><br/> <span class="tsd-signature-symbol">|</span> <a href="../interfaces/IErrorResponse.html" class="tsd-signature-type tsd-kind-interface">IErrorResponse</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">void</span><br/> <span class="tsd-signature-symbol">|</span> <a href="" class="tsd-signature-type tsd-kind-type-alias">TSupportedResponsePrimitives</a><span class="tsd-signature-symbol">[]</span><br/> <span class="tsd-signature-symbol">|</span> <a href="TSerializableResponse.html" class="tsd-signature-type tsd-kind-type-alias">TSerializableResponse</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TSupportedResponsePrimitives | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TSupportedResponsePrimitives</a></li></ul><h1>Type Alias TSupportedResponsePrimitives</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TSupportedResponsePrimitives</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">boolean</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">string</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Date</span><br/> <span class="tsd-signature-symbol">|</span> <a href="../interfaces/IErrorResponse.html" class="tsd-signature-type tsd-kind-interface">IErrorResponse</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">void</span><br/> <span class="tsd-signature-symbol">|</span> <a href="" class="tsd-signature-type tsd-kind-type-alias">TSupportedResponsePrimitives</a><span class="tsd-signature-symbol">[]</span><br/> <span class="tsd-signature-symbol">|</span> <a href="TSerializableResponse.html" class="tsd-signature-type tsd-kind-type-alias">TSerializableResponse</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/Response.ts#L27">src/Response.ts:27</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TSupportedResponseTypes | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TSupportedResponseTypes</a></li></ul><h1>Type Alias TSupportedResponseTypes</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TSupportedResponseTypes</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <a href="TSupportedResponsePrimitives.html" class="tsd-signature-type tsd-kind-type-alias">TSupportedResponsePrimitives</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Error</span><br/> <span class="tsd-signature-symbol">|</span> <a href="../classes/StormError.html" class="tsd-signature-type tsd-kind-class">StormError</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Buffer</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">ReadableStream</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Stream.Readable</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>TSupportedResponseTypes | @breautek/storm</title><meta name="description" content="Documentation for @breautek/storm"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@breautek/storm</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">TSupportedResponseTypes</a></li></ul><h1>Type Alias TSupportedResponseTypes</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">TSupportedResponseTypes</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <a href="TSupportedResponsePrimitives.html" class="tsd-signature-type tsd-kind-type-alias">TSupportedResponsePrimitives</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Error</span><br/> <span class="tsd-signature-symbol">|</span> <a href="../classes/StormError.html" class="tsd-signature-type tsd-kind-class">StormError</a><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Buffer</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">ReadableStream</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Stream.Readable</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/breautek/storm/blob/0a69ec149381405151a792789dcd81158aeac0df/src/Response.ts#L62">src/Response.ts:62</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">@breautek/storm</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/lib/Handler.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export declare class Handler<TApplication extends Application = Application, TGe
|
|
|
33
33
|
protected _onMiddlewareReject(request: Request, response: Response<any>, error: StormError): void;
|
|
34
34
|
private $handleResponse;
|
|
35
35
|
private $handleResponseError;
|
|
36
|
+
protected _logRequestStart(request: Request<unknown>): void;
|
|
37
|
+
protected _logRequestEnd(request: Request<unknown>, response: Response<any>, elapsed: number): void;
|
|
36
38
|
get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void>;
|
|
37
39
|
put(request: Request<TPutRequest>, response: Response<TPutResponse>): Promise<void>;
|
|
38
40
|
post(request: Request<TPostRequest>, response: Response<TPostResponse>): Promise<void>;
|
package/lib/Handler.js
CHANGED
|
@@ -98,8 +98,15 @@ class Handler {
|
|
|
98
98
|
$handleResponseError(response, error) {
|
|
99
99
|
response.error(error);
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
_logRequestStart(request) {
|
|
102
102
|
this.getApplication().getLogger().info(TAG, `${request.getForwardedIP()} (${request.getIP()}) - ${request.getMethod()} ${request.getURL()} - UA(${request.getHeader('user-agent')})`);
|
|
103
|
+
}
|
|
104
|
+
_logRequestEnd(request, response, elapsed) {
|
|
105
|
+
this.$app.getLogger().info(TAG, `API ${request.getURL()} (${response.getStatus()}) responded in ${elapsed}ms`);
|
|
106
|
+
}
|
|
107
|
+
async get(request, response) {
|
|
108
|
+
let startTime = new Date();
|
|
109
|
+
this._logRequestStart(request);
|
|
103
110
|
try {
|
|
104
111
|
let result = await this.$executeMiddlewares(request, response);
|
|
105
112
|
let req = await this._get(result.request);
|
|
@@ -108,9 +115,11 @@ class Handler {
|
|
|
108
115
|
catch (ex) {
|
|
109
116
|
this.$handleResponseError(response, ex);
|
|
110
117
|
}
|
|
118
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
111
119
|
}
|
|
112
120
|
async put(request, response) {
|
|
113
|
-
|
|
121
|
+
let startTime = new Date();
|
|
122
|
+
this._logRequestStart(request);
|
|
114
123
|
try {
|
|
115
124
|
let result = await this.$executeMiddlewares(request, response);
|
|
116
125
|
let req = await this._put(result.request);
|
|
@@ -119,9 +128,11 @@ class Handler {
|
|
|
119
128
|
catch (ex) {
|
|
120
129
|
this.$handleResponseError(response, ex);
|
|
121
130
|
}
|
|
131
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
122
132
|
}
|
|
123
133
|
async post(request, response) {
|
|
124
|
-
|
|
134
|
+
let startTime = new Date();
|
|
135
|
+
this._logRequestStart(request);
|
|
125
136
|
try {
|
|
126
137
|
let result = await this.$executeMiddlewares(request, response);
|
|
127
138
|
let req = await this._post(result.request);
|
|
@@ -130,9 +141,11 @@ class Handler {
|
|
|
130
141
|
catch (ex) {
|
|
131
142
|
this.$handleResponseError(response, ex);
|
|
132
143
|
}
|
|
144
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
133
145
|
}
|
|
134
146
|
async delete(request, response) {
|
|
135
|
-
|
|
147
|
+
let startTime = new Date();
|
|
148
|
+
this._logRequestStart(request);
|
|
136
149
|
try {
|
|
137
150
|
let result = await this.$executeMiddlewares(request, response);
|
|
138
151
|
let req = await this._delete(result.request);
|
|
@@ -141,6 +154,7 @@ class Handler {
|
|
|
141
154
|
catch (ex) {
|
|
142
155
|
this.$handleResponseError(response, ex);
|
|
143
156
|
}
|
|
157
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
144
158
|
}
|
|
145
159
|
async _get(request) {
|
|
146
160
|
throw new NotImplementedError_1.NotImplementedError(HTTPMethod_1.HTTPMethod.GET);
|
package/lib/Handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAMF,6CAAwC;AAExC,mDAAgD;AAIhD,+DAA4D;AAC5D,6CAA0C;AAE1C,MAAM,GAAG,GAAW,SAAS,CAAC;AAE9B,MAAa,OAAO;IAmBhB,YAAY,GAAiB;QACzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,gBAAgB;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,IAAI,MAAM,GAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,UAAU,GAAW,MAAM,CAAC,qBAAqB,CAAC;QACtD,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAgB,EAAE,QAAuB;QACvE,IAAI,MAAM,GAAqB;YAC3B,OAAO;YACP,QAAQ;SACX,CAAC;QAEF,IAAI,MAAM,GAAe,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/C,IAAI,CAAC;YACD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxD,IAAI,UAAU,GAAe,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBAC9C,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,CAAC;YACR,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,KAAK,GAAe,IAAI,CAAC;YAC7B,IAAI,CAAC,CAAC,EAAE,YAAY,uBAAU,CAAC,EAAE,CAAC;gBAC9B,KAAK,GAAG,IAAI,6BAAa,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;iBACI,CAAC;gBACF,KAAK,GAAG,EAAE,CAAC;YACf,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACO,mBAAmB,CAAC,OAAgB,EAAE,QAAuB,EAAE,KAAiB,IAAS,CAAC;IAE5F,eAAe,CAAkF,QAA6B,EAAE,IAAyC;QAC7K,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,oBAAoB,CAAC,QAA8B,EAAE,KAA2B;QACpF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../src/Handler.ts"],"names":[],"mappings":"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"}
|
package/lib/Request.d.ts
CHANGED
|
@@ -4,8 +4,11 @@ import { Writable } from 'stream';
|
|
|
4
4
|
import { IFormData } from './IFormData';
|
|
5
5
|
import { IAuthTokenData } from './IAuthTokenData';
|
|
6
6
|
import { IDatabasePosition } from './IDatabasePosition';
|
|
7
|
+
export interface IQueryParams {
|
|
8
|
+
[key: string]: undefined | string | IQueryParams | (string | IQueryParams)[];
|
|
9
|
+
}
|
|
7
10
|
export interface IParameterMap {
|
|
8
|
-
[key: string]: string;
|
|
11
|
+
[key: string]: string | string[];
|
|
9
12
|
}
|
|
10
13
|
export declare class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthTokenData> {
|
|
11
14
|
private $request;
|
|
@@ -14,9 +17,9 @@ export declare class Request<TBody = any, TAuthToken extends IAuthTokenData = IA
|
|
|
14
17
|
getForm(): Promise<IFormData>;
|
|
15
18
|
getHeaders(): IncomingHttpHeaders;
|
|
16
19
|
getHeader(name: string): string;
|
|
17
|
-
getQueryVariables():
|
|
20
|
+
getQueryVariables(): IQueryParams;
|
|
18
21
|
getParams(): IParameterMap;
|
|
19
|
-
getParam(name: string): string;
|
|
22
|
+
getParam(name: string): string | string[];
|
|
20
23
|
getIP(): string;
|
|
21
24
|
getForwardedIP(): string;
|
|
22
25
|
getHostname(): string;
|
package/lib/Request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AASF,oEAAoC;AAGpC,yCAAyC;AACzC,mCAAgC;AAChC,yCAAsC;AACtC,iDAA8C;AAC9C,6CAAwC;AACxC,mDAAgD;
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":"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"}
|
package/lib/TokenManager.d.ts
CHANGED
|
@@ -10,5 +10,18 @@ export declare class TokenManager<TAuthToken extends IAuthTokenData = IAuthToken
|
|
|
10
10
|
[key: string]: any;
|
|
11
11
|
}, expiresIn: TExpiresIn): Promise<Token>;
|
|
12
12
|
verify(token: Token, options?: IJWTVerifyOptions): Promise<TAuthToken>;
|
|
13
|
+
/**
|
|
14
|
+
* Decodes the token. Use this method only on verified tokens as this does not verify against tampering
|
|
15
|
+
*
|
|
16
|
+
* @param token
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
decodeSync(token: Token): TAuthToken;
|
|
20
|
+
/**
|
|
21
|
+
* Decodes the token. Use this method only on verified tokens as this does not verify against tampering
|
|
22
|
+
*
|
|
23
|
+
* @param token
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
13
26
|
decode(token: Token): Promise<TAuthToken>;
|
|
14
27
|
}
|
package/lib/TokenManager.js
CHANGED
|
@@ -63,6 +63,21 @@ class TokenManager {
|
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Decodes the token. Use this method only on verified tokens as this does not verify against tampering
|
|
68
|
+
*
|
|
69
|
+
* @param token
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
decodeSync(token) {
|
|
73
|
+
return jwt.decode(token.getSignature());
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Decodes the token. Use this method only on verified tokens as this does not verify against tampering
|
|
77
|
+
*
|
|
78
|
+
* @param token
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
66
81
|
decode(token) {
|
|
67
82
|
return new Promise((resolve, reject) => {
|
|
68
83
|
try {
|
package/lib/TokenManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,0DAAoC;AACpC,mCAA8B;AAE9B,qEAAgE;AAChE,mCAAmC;AAQnC,MAAa,YAAY;IAGrB,YAAmB,MAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAEM,IAAI,CAAC,OAA6B,EAAE,SAAqB;QAC5D,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAA,oBAAW,EAAC,EAAE,EAAE,CAAC,GAAU,EAAE,MAAc,EAAE,EAAE;gBAC3C,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE5C,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBAC5B,SAAS,EAAG,SAAS;iBACxB,EAAE,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;oBAC/B,IAAI,KAAK,EAAE,CAAC;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBAED,OAAO,OAAO,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAY,EAAE,OAA2B;QACnD,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,0EAA0E;YAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,GAAG;oBACN,gBAAgB,EAAE,IAAI;iBACzB,CAAC;YACN,CAAC;iBACI,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACpC,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;gBACjH,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,0DAAoC;AACpC,mCAA8B;AAE9B,qEAAgE;AAChE,mCAAmC;AAQnC,MAAa,YAAY;IAGrB,YAAmB,MAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAEM,IAAI,CAAC,OAA6B,EAAE,SAAqB;QAC5D,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAA,oBAAW,EAAC,EAAE,EAAE,CAAC,GAAU,EAAE,MAAc,EAAE,EAAE;gBAC3C,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAE5C,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBAC5B,SAAS,EAAG,SAAS;iBACxB,EAAE,CAAC,KAAY,EAAE,KAAa,EAAE,EAAE;oBAC/B,IAAI,KAAK,EAAE,CAAC;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBAED,OAAO,OAAO,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAY,EAAE,OAA2B;QACnD,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,0EAA0E;YAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,GAAG;oBACN,gBAAgB,EAAE,IAAI;iBACzB,CAAC;YACN,CAAC;iBACI,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACpC,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;gBACjH,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,KAAY;QAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAe,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAY;QACtB,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC;gBACD,IAAI,OAAO,GAAe,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAe,CAAC;gBACzE,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;gBACR,MAAM,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA/ED,oCA+EC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breautek/storm",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"description": "Object-Oriented REST API framework",
|
|
5
5
|
"main": "lib/api.js",
|
|
6
6
|
"types": "lib/api.d.ts",
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"@types/node": "24.10.1",
|
|
55
55
|
"ajv": "8.17.1",
|
|
56
56
|
"body-parser": "2.2.2",
|
|
57
|
-
"commander": "14.0.
|
|
57
|
+
"commander": "14.0.3",
|
|
58
58
|
"express": "5.2.1",
|
|
59
59
|
"form-data": "4.0.5",
|
|
60
60
|
"formidable": "3.5.4",
|
|
61
61
|
"jsonwebtoken": "9.0.3",
|
|
62
|
-
"mysql2": "3.16.
|
|
62
|
+
"mysql2": "3.16.3",
|
|
63
63
|
"sql-formatter": "15.7.0",
|
|
64
64
|
"tslib": "2.8.1",
|
|
65
65
|
"uuid": "11.1.0"
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@arashi/interfaces": "1.2.1",
|
|
73
|
-
"@arashi/logger": "4.1.
|
|
73
|
+
"@arashi/logger": "4.1.4",
|
|
74
74
|
"@jest/types": "30.2.0",
|
|
75
75
|
"@totalpave/eslint-plugin": "7.0.17",
|
|
76
76
|
"@types/jest": "30.0.0",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"ts-jest": "29.4.6",
|
|
82
82
|
"ts-node": "10.9.2",
|
|
83
83
|
"typedoc": "0.28.16",
|
|
84
|
-
"typedoc-plugin-markdown": "4.
|
|
84
|
+
"typedoc-plugin-markdown": "4.10.0",
|
|
85
85
|
"typescript": "5.9.3"
|
|
86
86
|
}
|
|
87
87
|
}
|
package/src/Handler.ts
CHANGED
|
@@ -138,8 +138,17 @@ export class Handler<
|
|
|
138
138
|
response.error(error);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
protected _logRequestStart(request: Request<unknown>): void {
|
|
142
142
|
this.getApplication().getLogger().info(TAG, `${request.getForwardedIP()} (${request.getIP()}) - ${request.getMethod()} ${request.getURL()} - UA(${request.getHeader('user-agent')})`);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
protected _logRequestEnd(request: Request<unknown>, response: Response<any>, elapsed: number): void {
|
|
146
|
+
this.$app.getLogger().info(TAG, `API ${request.getURL()} (${response.getStatus()}) responded in ${elapsed}ms`);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
public async get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void> {
|
|
150
|
+
let startTime: Date = new Date();
|
|
151
|
+
this._logRequestStart(request);
|
|
143
152
|
|
|
144
153
|
try {
|
|
145
154
|
let result: IRequestResponse<TGetRequest, TGetResponse> = await this.$executeMiddlewares(request, response);
|
|
@@ -149,10 +158,13 @@ export class Handler<
|
|
|
149
158
|
catch (ex) {
|
|
150
159
|
this.$handleResponseError(response as Response<StormError>, ex);
|
|
151
160
|
}
|
|
161
|
+
|
|
162
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
152
163
|
}
|
|
153
164
|
|
|
154
165
|
public async put(request: Request<TPutRequest>, response: Response<TPutResponse>): Promise<void> {
|
|
155
|
-
|
|
166
|
+
let startTime: Date = new Date();
|
|
167
|
+
this._logRequestStart(request);
|
|
156
168
|
|
|
157
169
|
try {
|
|
158
170
|
let result: IRequestResponse<TPutRequest, TPutResponse> = await this.$executeMiddlewares(request, response);
|
|
@@ -162,10 +174,13 @@ export class Handler<
|
|
|
162
174
|
catch (ex) {
|
|
163
175
|
this.$handleResponseError(response as Response<StormError>, ex);
|
|
164
176
|
}
|
|
177
|
+
|
|
178
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
165
179
|
}
|
|
166
180
|
|
|
167
181
|
public async post(request: Request<TPostRequest>, response: Response<TPostResponse>): Promise<void> {
|
|
168
|
-
|
|
182
|
+
let startTime: Date = new Date();
|
|
183
|
+
this._logRequestStart(request);
|
|
169
184
|
|
|
170
185
|
try {
|
|
171
186
|
let result: IRequestResponse<TPostRequest, TPostResponse> = await this.$executeMiddlewares(request, response);
|
|
@@ -175,10 +190,13 @@ export class Handler<
|
|
|
175
190
|
catch (ex) {
|
|
176
191
|
this.$handleResponseError(response as Response<StormError>, ex);
|
|
177
192
|
}
|
|
193
|
+
|
|
194
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
178
195
|
}
|
|
179
196
|
|
|
180
197
|
public async delete(request: Request<TDeleteRequest>, response: Response<TDeleteResponse>): Promise<void> {
|
|
181
|
-
|
|
198
|
+
let startTime: Date = new Date();
|
|
199
|
+
this._logRequestStart(request);
|
|
182
200
|
|
|
183
201
|
try {
|
|
184
202
|
let result: IRequestResponse<TDeleteRequest, TDeleteResponse> = await this.$executeMiddlewares(request, response);
|
|
@@ -188,6 +206,8 @@ export class Handler<
|
|
|
188
206
|
catch (ex) {
|
|
189
207
|
this.$handleResponseError(response as Response<StormError>, ex);
|
|
190
208
|
}
|
|
209
|
+
|
|
210
|
+
this._logRequestEnd(request, response, new Date().getTime() - startTime.getTime());
|
|
191
211
|
}
|
|
192
212
|
|
|
193
213
|
protected async _get(request: Request<TGetRequest>): Promise<TGetResponse | ResponseData<TGetResponse>> {
|
package/src/Request.ts
CHANGED
|
@@ -34,8 +34,12 @@ import { InternalError } from './InternalError';
|
|
|
34
34
|
import IncomingForm = require('formidable/Formidable');
|
|
35
35
|
import { IDatabasePosition } from './IDatabasePosition';
|
|
36
36
|
|
|
37
|
+
export interface IQueryParams {
|
|
38
|
+
[key: string]: undefined | string | IQueryParams | (string | IQueryParams)[];
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
export interface IParameterMap {
|
|
38
|
-
[key: string]: string;
|
|
42
|
+
[key: string]: string | string[];
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
export class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthTokenData> {
|
|
@@ -83,7 +87,7 @@ export class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthToken
|
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
|
|
86
|
-
public getQueryVariables():
|
|
90
|
+
public getQueryVariables(): IQueryParams {
|
|
87
91
|
return this.$request.query;
|
|
88
92
|
}
|
|
89
93
|
|
|
@@ -91,7 +95,7 @@ export class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthToken
|
|
|
91
95
|
return this.$request.params;
|
|
92
96
|
}
|
|
93
97
|
|
|
94
|
-
public getParam(name: string): string {
|
|
98
|
+
public getParam(name: string): string | string[] {
|
|
95
99
|
return this.$request.params[name];
|
|
96
100
|
}
|
|
97
101
|
|