@breautek/storm 8.4.0 → 8.6.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 +15 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +16 -16
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +251 -229
- package/docs/classes/Application.html +173 -173
- package/docs/classes/BackendAuthenticationMiddleware.html +5 -5
- package/docs/classes/CORSMiddleware.html +10 -10
- package/docs/classes/ConfigLoader.html +5 -5
- package/docs/classes/Database.html +13 -13
- package/docs/classes/DatabaseCastObject.html +5 -5
- package/docs/classes/DatabaseConnection.html +48 -48
- package/docs/classes/DatabaseQueryError.html +26 -22
- package/docs/classes/DeadLockError.html +27 -23
- package/docs/classes/DiskSpaceError.html +22 -22
- package/docs/classes/DropTemporaryTableQuery.html +20 -17
- package/docs/classes/DuplicateEntryError.html +22 -22
- package/docs/classes/EntityNotFoundError.html +22 -22
- package/docs/classes/ExpiredTokenError.html +22 -22
- package/docs/classes/Handler.html +14 -14
- package/docs/classes/InternalError.html +22 -22
- package/docs/classes/InvalidCredentialsError.html +22 -22
- package/docs/classes/InvalidValueError.html +22 -22
- package/docs/classes/LineString.html +5 -5
- package/docs/classes/LockWaitTimeoutError.html +27 -23
- package/docs/classes/ManagedDatabaseConnection.html +27 -24
- package/docs/classes/Middleware.html +4 -4
- package/docs/classes/MissingConfigError.html +22 -22
- package/docs/classes/MissingParameterError.html +22 -22
- package/docs/classes/MySQLConnection.html +50 -50
- package/docs/classes/MySQLDatabase.html +14 -14
- package/docs/classes/NotImplementedError.html +22 -22
- package/docs/classes/Point.html +5 -5
- package/docs/classes/Polygon.html +5 -5
- package/docs/classes/Query.html +20 -17
- package/docs/classes/RawError.html +23 -23
- package/docs/classes/RawQuery.html +20 -17
- package/docs/classes/Request.html +19 -19
- package/docs/classes/Response.html +12 -12
- package/docs/classes/ResponseData.html +8 -8
- package/docs/classes/ServiceProvider.html +16 -16
- package/docs/classes/ServiceResponse.html +6 -6
- package/docs/classes/SetSessionVariableQuery.html +20 -17
- package/docs/classes/StormError.html +22 -22
- package/docs/classes/TemporaryTableQuery.html +20 -17
- package/docs/classes/TimeoutError.html +23 -23
- package/docs/classes/Token.html +3 -3
- package/docs/classes/TokenManager.html +5 -5
- package/docs/classes/Transaction.html +9 -9
- package/docs/classes/UnauthorizedAccessError.html +22 -22
- package/docs/enums/ErrorCode.html +10 -10
- package/docs/enums/ExitCode.html +3 -3
- package/docs/enums/HTTPMethod.html +5 -5
- package/docs/enums/IsolationLevel.html +5 -5
- package/docs/enums/JWTError.html +3 -3
- package/docs/enums/StatusCode.html +49 -49
- package/docs/enums/TransactionAccessLevel.html +4 -0
- package/docs/functions/getInstance.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
- package/docs/interfaces/IAuthTokenData.html +4 -4
- package/docs/interfaces/ICloudwatchConfig.html +4 -4
- package/docs/interfaces/ICloudwatchCredentials.html +3 -3
- package/docs/interfaces/ICloudwatchStreamConfig.html +3 -3
- package/docs/interfaces/IConfig.html +10 -10
- package/docs/interfaces/IDatabaseConfig.html +7 -7
- package/docs/interfaces/IDatabaseConnection.html +22 -19
- package/docs/interfaces/IDatabasePosition.html +4 -4
- package/docs/interfaces/IErrorResponse.html +6 -6
- package/docs/interfaces/IFormData.html +3 -3
- package/docs/interfaces/IHandler.html +2 -2
- package/docs/interfaces/IInsertQueryResult.html +4 -4
- package/docs/interfaces/IJWTVerifyOptions.html +2 -2
- package/docs/interfaces/IOKPacket.html +10 -10
- package/docs/interfaces/IParameterMap.html +1 -1
- package/docs/interfaces/IQueryable.html +7 -7
- package/docs/interfaces/IRequestResponse.html +3 -3
- package/docs/interfaces/IServiceHeaders.html +1 -1
- package/docs/interfaces/ISetSessionVariableQueryInput.html +3 -3
- package/docs/interfaces/IStormCLIArgs.html +7 -7
- package/docs/interfaces/ITemporaryTableQueryInput.html +3 -3
- package/docs/interfaces/IUpdateQueryResult.html +3 -3
- package/docs/interfaces/formidable.EmitData.html +5 -0
- package/docs/interfaces/formidable.EventData.html +8 -0
- package/docs/interfaces/formidable.File.html +25 -0
- package/docs/interfaces/formidable.FileJSON.html +19 -0
- package/docs/interfaces/formidable.Options.html +88 -0
- package/docs/interfaces/formidable.Part.html +148 -0
- package/docs/modules/formidable.html +1 -1
- package/docs/types/IDeleteQueryResult.html +1 -1
- package/docs/types/IHandlerError.html +2 -2
- package/docs/types/IHandlerResponse.html +2 -2
- package/docs/types/IStoredProcedureResult.html +3 -3
- package/docs/types/TCoordinate.html +1 -1
- package/docs/types/formidable.BufferEncoding.html +1 -0
- package/docs/types/formidable.DefaultOptions.html +1 -0
- package/docs/types/formidable.EnabledPlugins.html +1 -0
- package/docs/types/formidable.EventNames.html +15 -0
- package/docs/types/formidable.Fields.html +1 -0
- package/docs/types/formidable.Files.html +1 -0
- package/docs/types/formidable.MappedParsers.html +1 -0
- package/docs/types/formidable.Plugin.html +1 -0
- package/docs/types/formidable.PluginFunction.html +1 -0
- package/docs/types/formidable.Plugins.html +1 -0
- package/docs/variables/formidable.html +1 -0
- package/lib/DatabaseQueryError.d.ts +6 -0
- package/lib/DatabaseQueryError.js +8 -0
- package/lib/DatabaseQueryError.js.map +1 -1
- package/lib/IDatabaseConnection.d.ts +5 -1
- package/lib/ManagedDatabaseConnection.d.ts +2 -1
- package/lib/ManagedDatabaseConnection.js +2 -2
- package/lib/ManagedDatabaseConnection.js.map +1 -1
- package/lib/MySQLConnection.d.ts +2 -1
- package/lib/MySQLConnection.js +7 -5
- package/lib/MySQLConnection.js.map +1 -1
- package/lib/Query.d.ts +2 -0
- package/lib/Query.js +2 -0
- package/lib/Query.js.map +1 -1
- package/lib/Transaction.d.ts +3 -1
- package/lib/Transaction.js +4 -2
- package/lib/Transaction.js.map +1 -1
- package/lib/TransactionAccessLevel.d.ts +7 -0
- package/lib/TransactionAccessLevel.js +27 -0
- package/lib/TransactionAccessLevel.js.map +1 -0
- package/lib/api.d.ts +1 -0
- package/lib/api.js +4 -2
- package/lib/api.js.map +1 -1
- package/lib/private/StartTransactionQuery.d.ts +8 -1
- package/lib/private/StartTransactionQuery.js +11 -2
- package/lib/private/StartTransactionQuery.js.map +1 -1
- package/package.json +15 -15
- package/src/DatabaseQueryError.ts +9 -0
- package/src/IDatabaseConnection.ts +6 -1
- package/src/ManagedDatabaseConnection.ts +3 -2
- package/src/MySQLConnection.ts +9 -8
- package/src/Query.ts +2 -0
- package/src/Transaction.ts +5 -2
- package/src/TransactionAccessLevel.ts +23 -0
- package/src/api.ts +1 -0
- package/src/private/StartTransactionQuery.ts +22 -4
- package/docs/variables/formidable-1.html +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2017-2025 Norman Breau
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TransactionAccessLevel = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* @since 8.6.0
|
|
21
|
+
*/
|
|
22
|
+
var TransactionAccessLevel;
|
|
23
|
+
(function (TransactionAccessLevel) {
|
|
24
|
+
TransactionAccessLevel[TransactionAccessLevel["RW"] = 0] = "RW";
|
|
25
|
+
TransactionAccessLevel[TransactionAccessLevel["RO"] = 1] = "RO";
|
|
26
|
+
})(TransactionAccessLevel || (exports.TransactionAccessLevel = TransactionAccessLevel = {}));
|
|
27
|
+
//# sourceMappingURL=TransactionAccessLevel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionAccessLevel.js","sourceRoot":"","sources":["../src/TransactionAccessLevel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF;;GAEG;AACH,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAE,CAAA;IACF,+DAAE,CAAA;AACN,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
|
package/lib/api.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export { IsolationLevel } from './IsolationLevel';
|
|
|
18
18
|
export { Transaction } from './Transaction';
|
|
19
19
|
export { IOKPacket } from './IOKPacket';
|
|
20
20
|
export { IStoredProcedureResult } from './IStoredProcedureResult';
|
|
21
|
+
export { TransactionAccessLevel } from './TransactionAccessLevel';
|
|
21
22
|
export { ErrorCode } from './ErrorCode';
|
|
22
23
|
export { RawError } from './RawError';
|
|
23
24
|
export { StormError, IErrorResponse, IAdditionalErrorDetails } from './StormError';
|
package/lib/api.js
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.formidable = exports.Polygon = exports.LineString = void 0;
|
|
18
|
+
exports.DatabaseCastObject = exports.ExitCode = exports.TokenManager = exports.Token = exports.BackendAuthenticationMiddleware = exports.ServiceResponse = exports.HTTPMethod = exports.ServiceProvider = exports.CORSMiddleware = exports.Handler = exports.ResponseData = exports.Response = exports.Request = exports.Middleware = exports.StatusCode = exports.LockWaitTimeoutError = exports.DeadLockError = exports.NotImplementedError = exports.DatabaseQueryError = exports.MissingConfigError = exports.DuplicateEntryError = exports.DiskSpaceError = exports.EntityNotFoundError = exports.UnauthorizedAccessError = exports.InvalidValueError = exports.ExpiredTokenError = exports.InternalError = exports.InvalidCredentialsError = exports.MissingParameterError = exports.JWTError = exports.TimeoutError = exports.StormError = exports.RawError = exports.ErrorCode = exports.TransactionAccessLevel = exports.Transaction = exports.IsolationLevel = exports.SetSessionVariableQuery = exports.RawQuery = exports.DropTemporaryTableQuery = exports.TemporaryTableQuery = exports.Query = exports.ManagedDatabaseConnection = exports.MySQLConnection = exports.MySQLDatabase = exports.DatabaseConnection = exports.Database = exports.ConfigLoader = exports.Application = exports.getInstance = void 0;
|
|
19
|
+
exports.formidable = exports.Polygon = exports.LineString = exports.Point = void 0;
|
|
20
20
|
const tslib_1 = require("tslib");
|
|
21
21
|
// Application
|
|
22
22
|
var instance_1 = require("./instance");
|
|
@@ -51,6 +51,8 @@ var IsolationLevel_1 = require("./IsolationLevel");
|
|
|
51
51
|
Object.defineProperty(exports, "IsolationLevel", { enumerable: true, get: function () { return IsolationLevel_1.IsolationLevel; } });
|
|
52
52
|
var Transaction_1 = require("./Transaction");
|
|
53
53
|
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return Transaction_1.Transaction; } });
|
|
54
|
+
var TransactionAccessLevel_1 = require("./TransactionAccessLevel");
|
|
55
|
+
Object.defineProperty(exports, "TransactionAccessLevel", { enumerable: true, get: function () { return TransactionAccessLevel_1.TransactionAccessLevel; } });
|
|
54
56
|
// Errors
|
|
55
57
|
var ErrorCode_1 = require("./ErrorCode");
|
|
56
58
|
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return ErrorCode_1.ErrorCode; } });
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAGuB;AAFnB,0GAAA,WAAW,OAAA;AAIf,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAGuB;AAFnB,0GAAA,WAAW,OAAA;AAIf,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAGnB,mEAAgE;AAAxD,gIAAA,sBAAsB,OAAA;AAE9B,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,+DAA4D;AAApD,4HAAA,oBAAoB,OAAA;AAE5B,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;AAoBvC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AAEf,cAAc;AACd,+DAAyC;AACjC,gCAAU"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { Query } from '../Query';
|
|
2
|
-
|
|
2
|
+
import { TransactionAccessLevel } from '../TransactionAccessLevel';
|
|
3
|
+
/**
|
|
4
|
+
* @since 8.6.0
|
|
5
|
+
*/
|
|
6
|
+
export interface IStartTransactionQueryInput {
|
|
7
|
+
accessLevel?: TransactionAccessLevel;
|
|
8
|
+
}
|
|
9
|
+
export declare class StartTransactionQuery extends Query<IStartTransactionQueryInput, void> {
|
|
3
10
|
protected _getQuery(): string;
|
|
4
11
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Copyright 2017-
|
|
3
|
+
Copyright 2017-2025 Norman Breau
|
|
4
4
|
|
|
5
5
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
you may not use this file except in compliance with the License.
|
|
@@ -17,9 +17,18 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.StartTransactionQuery = void 0;
|
|
19
19
|
const Query_1 = require("../Query");
|
|
20
|
+
const TransactionAccessLevel_1 = require("../TransactionAccessLevel");
|
|
20
21
|
class StartTransactionQuery extends Query_1.Query {
|
|
21
22
|
_getQuery() {
|
|
22
|
-
|
|
23
|
+
let params = this.getParameters();
|
|
24
|
+
let accessString;
|
|
25
|
+
if (params?.accessLevel === TransactionAccessLevel_1.TransactionAccessLevel.RO) {
|
|
26
|
+
accessString = 'READ ONLY';
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
accessString = 'READ WRITE';
|
|
30
|
+
}
|
|
31
|
+
return `START TRANSACTION ${accessString}`;
|
|
23
32
|
}
|
|
24
33
|
}
|
|
25
34
|
exports.StartTransactionQuery = StartTransactionQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartTransactionQuery.js","sourceRoot":"","sources":["../../src/private/StartTransactionQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,oCAA+B;
|
|
1
|
+
{"version":3,"file":"StartTransactionQuery.js","sourceRoot":"","sources":["../../src/private/StartTransactionQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,oCAA+B;AAC/B,sEAAmE;AASnE,MAAa,qBAAsB,SAAQ,aAAwC;IAC5D,SAAS;QACxB,IAAI,MAAM,GAAgC,IAAI,CAAC,aAAa,EAAE,CAAC;QAE/D,IAAI,YAAoB,CAAC;QACzB,IAAI,MAAM,EAAE,WAAW,KAAK,+CAAsB,CAAC,EAAE,EAAE,CAAC;YACpD,YAAY,GAAG,WAAW,CAAC;QAC/B,CAAC;aACI,CAAC;YACF,YAAY,GAAG,YAAY,CAAC;QAChC,CAAC;QAED,OAAO,qBAAqB,YAAY,EAAE,CAAC;IAC/C,CAAC;CACJ;AAdD,sDAcC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breautek/storm",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.0",
|
|
4
4
|
"description": "Object-Oriented REST API framework",
|
|
5
5
|
"main": "lib/api.js",
|
|
6
6
|
"types": "lib/api.d.ts",
|
|
@@ -46,22 +46,22 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@arashi/token": "1.0.1",
|
|
48
48
|
"@breautek/merge-change": "1.0.0",
|
|
49
|
-
"@types/body-parser": "1.19.
|
|
50
|
-
"@types/express": "4.17.
|
|
49
|
+
"@types/body-parser": "1.19.6",
|
|
50
|
+
"@types/express": "4.17.23",
|
|
51
51
|
"@types/formidable": "3.4.5",
|
|
52
52
|
"@types/jsonwebtoken": "9.0.7",
|
|
53
|
-
"@types/mysql": "2.15.
|
|
53
|
+
"@types/mysql": "2.15.27",
|
|
54
54
|
"@types/node": "22.13.10",
|
|
55
55
|
"@types/uuid": "10.0.0",
|
|
56
56
|
"ajv": "8.17.1",
|
|
57
57
|
"body-parser": "1.20.3",
|
|
58
58
|
"commander": "13.1.0",
|
|
59
59
|
"express": "4.21.2",
|
|
60
|
-
"form-data": "4.0.
|
|
61
|
-
"formidable": "3.5.
|
|
60
|
+
"form-data": "4.0.3",
|
|
61
|
+
"formidable": "3.5.4",
|
|
62
62
|
"jsonwebtoken": "9.0.2",
|
|
63
63
|
"mysql": "2.18.1",
|
|
64
|
-
"sql-formatter": "15.
|
|
64
|
+
"sql-formatter": "15.6.6",
|
|
65
65
|
"tslib": "2.8.1",
|
|
66
66
|
"uuid": "11.1.0"
|
|
67
67
|
},
|
|
@@ -72,15 +72,15 @@
|
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@arashi/interfaces": "1.2.1",
|
|
74
74
|
"@arashi/logger": "4.1.3",
|
|
75
|
-
"@totalpave/eslint-plugin": "7.0.
|
|
76
|
-
"@types/jest": "
|
|
75
|
+
"@totalpave/eslint-plugin": "7.0.11",
|
|
76
|
+
"@types/jest": "30.0.0",
|
|
77
77
|
"auto-changelog": "2.5.0",
|
|
78
|
-
"jest": "
|
|
79
|
-
"jest-jasmine2": "
|
|
80
|
-
"ts-jest": "29.
|
|
78
|
+
"jest": "30.0.3",
|
|
79
|
+
"jest-jasmine2": "30.0.3",
|
|
80
|
+
"ts-jest": "29.4.0",
|
|
81
81
|
"ts-node": "10.9.2",
|
|
82
|
-
"typedoc": "0.
|
|
83
|
-
"typedoc-plugin-markdown": "4.
|
|
84
|
-
"typescript": "5.8.
|
|
82
|
+
"typedoc": "0.28.7",
|
|
83
|
+
"typedoc-plugin-markdown": "4.7.0",
|
|
84
|
+
"typescript": "5.8.3"
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -36,6 +36,15 @@ export class DatabaseQueryError extends StormError<{
|
|
|
36
36
|
return 0;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* If the underlying error is a database error, then
|
|
41
|
+
* returns the database error code as sting.
|
|
42
|
+
* @since 8.5.0
|
|
43
|
+
*/
|
|
44
|
+
public getDBErrorCode(): string | null {
|
|
45
|
+
return this.getPrivateDetails()?.error?.code || null;
|
|
46
|
+
}
|
|
47
|
+
|
|
39
48
|
public getHTTPCode(): StatusCode {
|
|
40
49
|
return StatusCode.INTERNAL_ERROR;
|
|
41
50
|
}
|
|
@@ -18,6 +18,7 @@ import { Readable } from 'stream';
|
|
|
18
18
|
import { IQueryable } from './IQueryable';
|
|
19
19
|
import { IsolationLevel } from './IsolationLevel';
|
|
20
20
|
import { IDatabasePosition } from './IDatabasePosition';
|
|
21
|
+
import { TransactionAccessLevel } from './TransactionAccessLevel';
|
|
21
22
|
|
|
22
23
|
export interface IDatabaseConnection {
|
|
23
24
|
setInstantiationStack(stack: string): void;
|
|
@@ -27,10 +28,14 @@ export interface IDatabaseConnection {
|
|
|
27
28
|
setTimeout(timeout: number): void;
|
|
28
29
|
getTimeout(): number;
|
|
29
30
|
query(query: IQueryable<any>, params?: any): Promise<any>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated - Streaming queries does not support post processing, creating a confusing API
|
|
34
|
+
*/
|
|
30
35
|
stream(query: IQueryable<any>, params?: any, streamOptions?: any): Readable;
|
|
31
36
|
close(forceClose?: boolean): Promise<void>;
|
|
32
37
|
isClosed(): boolean;
|
|
33
|
-
startTransaction(level?: IsolationLevel): Promise<void>;
|
|
38
|
+
startTransaction(level?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
|
|
34
39
|
isTransaction(): boolean;
|
|
35
40
|
commit(): Promise<void>;
|
|
36
41
|
rollback(): Promise<void>;
|
|
@@ -21,6 +21,7 @@ import { Query } from './Query';
|
|
|
21
21
|
import { IsolationLevel } from './IsolationLevel';
|
|
22
22
|
import { IDatabasePosition } from './IDatabasePosition';
|
|
23
23
|
import { IQueryable } from './IQueryable';
|
|
24
|
+
import { TransactionAccessLevel } from './TransactionAccessLevel';
|
|
24
25
|
|
|
25
26
|
const TAG: string = 'ManagedDatabaseConnection';
|
|
26
27
|
|
|
@@ -176,11 +177,11 @@ export class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
|
176
177
|
});
|
|
177
178
|
}
|
|
178
179
|
|
|
179
|
-
public startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
|
|
180
|
+
public startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void> {
|
|
180
181
|
return new Promise<void>((resolve, reject) => {
|
|
181
182
|
this.$getConnection().then((connection: IDatabaseConnection) => {
|
|
182
183
|
if (!this.isManaged()) {
|
|
183
|
-
connection.startTransaction(isolationLevel).then(resolve).catch(reject);
|
|
184
|
+
connection.startTransaction(isolationLevel, accessLevel).then(resolve).catch(reject);
|
|
184
185
|
}
|
|
185
186
|
else {
|
|
186
187
|
resolve();
|
package/src/MySQLConnection.ts
CHANGED
|
@@ -19,7 +19,6 @@ import {DatabaseQueryError} from './DatabaseQueryError';
|
|
|
19
19
|
import {getInstance} from './instance';
|
|
20
20
|
import * as MySQL from 'mysql';
|
|
21
21
|
import {Readable} from 'stream';
|
|
22
|
-
import {Query} from './Query';
|
|
23
22
|
import { StartTransactionQuery } from './private/StartTransactionQuery';
|
|
24
23
|
import { CommitQuery } from './private/CommitQuery';
|
|
25
24
|
import { RollbackQuery } from './private/RollbackQuery';
|
|
@@ -37,6 +36,7 @@ import { GetSlavePositionQuery } from './private/GetSlavePositionQuery';
|
|
|
37
36
|
import { GetMasterPositionQuery } from './private/GetMasterPositionQuery';
|
|
38
37
|
import { IQueryable } from './IQueryable';
|
|
39
38
|
import { queryFormatter } from './mysql/queryFormatter';
|
|
39
|
+
import { TransactionAccessLevel } from './TransactionAccessLevel';
|
|
40
40
|
|
|
41
41
|
const DEFAULT_HIGH_WATERMARK: number = 512; // in number of result objects
|
|
42
42
|
const TAG: string = 'MySQLConnection';
|
|
@@ -56,9 +56,8 @@ const SQL_FORMATTING_OPTIONS: SQLFormatter.FormatOptions = {
|
|
|
56
56
|
functionCase: 'upper'
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
-
let
|
|
60
|
-
let
|
|
61
|
-
let rollbackQuery: Query = new RollbackQuery();
|
|
59
|
+
let commitQuery: CommitQuery = new CommitQuery();
|
|
60
|
+
let rollbackQuery: RollbackQuery = new RollbackQuery();
|
|
62
61
|
|
|
63
62
|
export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
|
|
64
63
|
private $transaction: boolean;
|
|
@@ -196,9 +195,9 @@ export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
|
|
|
196
195
|
return queryObject.stream(streamOptions);
|
|
197
196
|
}
|
|
198
197
|
|
|
199
|
-
public override async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
|
|
200
|
-
if (this.isReadOnly()) {
|
|
201
|
-
throw new Error('A readonly connection cannot start a transaction.')
|
|
198
|
+
public override async startTransaction(isolationLevel?: IsolationLevel, accessLevel: TransactionAccessLevel = TransactionAccessLevel.RW): Promise<void> {
|
|
199
|
+
if (this.isReadOnly() && accessLevel === TransactionAccessLevel.RW) {
|
|
200
|
+
throw new Error('A readonly connection cannot start a read/write transaction.')
|
|
202
201
|
}
|
|
203
202
|
|
|
204
203
|
if (this.isTransaction()) {
|
|
@@ -211,7 +210,9 @@ export class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
|
|
|
211
210
|
if (isolationLevel) {
|
|
212
211
|
await new SetIsolationLevelQuery(isolationLevel).execute(this);
|
|
213
212
|
}
|
|
214
|
-
await
|
|
213
|
+
await new StartTransactionQuery({
|
|
214
|
+
accessLevel: accessLevel
|
|
215
|
+
}).execute(this);
|
|
215
216
|
}
|
|
216
217
|
catch (ex) {
|
|
217
218
|
this.$transaction = false;
|
package/src/Query.ts
CHANGED
|
@@ -76,6 +76,8 @@ export abstract class Query<TQueryParameters = any, TQueryResultSet = any, TQuer
|
|
|
76
76
|
/**
|
|
77
77
|
* Override to augment/manipulate the returned result set.
|
|
78
78
|
*
|
|
79
|
+
* @deprecated - Streaming queries does not support post processing, creating a confusing API
|
|
80
|
+
*
|
|
79
81
|
* @param connection The connection object used for this query execution. Useful if further queries are required.
|
|
80
82
|
* @param resultset The original result set
|
|
81
83
|
*/
|
package/src/Transaction.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { InternalError } from './InternalError';
|
|
|
22
22
|
import { DeadLockError } from './DeadLockError';
|
|
23
23
|
import { InvalidValueError } from './InvalidValueError';
|
|
24
24
|
import { LockWaitTimeoutError } from './LockWaitTimeoutError';
|
|
25
|
+
import { TransactionAccessLevel } from './TransactionAccessLevel';
|
|
25
26
|
|
|
26
27
|
const TAG: string = 'Transaction';
|
|
27
28
|
|
|
@@ -43,8 +44,9 @@ export class Transaction implements IQueryable<void> {
|
|
|
43
44
|
private $application: Application;
|
|
44
45
|
private $isolationLevel: IsolationLevel;
|
|
45
46
|
private $executor: ITransactionExecutor;
|
|
47
|
+
private $accessLevel: TransactionAccessLevel;
|
|
46
48
|
|
|
47
|
-
public constructor(app: Application, executor: ITransactionExecutor, retryLimit: number = Infinity, isolationLevel: IsolationLevel = IsolationLevel.REPEATABLE_READ) {
|
|
49
|
+
public constructor(app: Application, executor: ITransactionExecutor, retryLimit: number = Infinity, isolationLevel: IsolationLevel = IsolationLevel.REPEATABLE_READ, accessLevel: TransactionAccessLevel = TransactionAccessLevel.RW) {
|
|
48
50
|
this.$application = app;
|
|
49
51
|
this.$executor = executor;
|
|
50
52
|
|
|
@@ -57,6 +59,7 @@ export class Transaction implements IQueryable<void> {
|
|
|
57
59
|
|
|
58
60
|
this.$retryLimit = retryLimit;
|
|
59
61
|
this.$isolationLevel = isolationLevel;
|
|
62
|
+
this.$accessLevel = accessLevel;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
public async onPreQuery(connection: IDatabaseConnection): Promise<void> {}
|
|
@@ -81,7 +84,7 @@ export class Transaction implements IQueryable<void> {
|
|
|
81
84
|
do {
|
|
82
85
|
attemptCount++;
|
|
83
86
|
this.$application.getLogger().info(TAG, `Starting transaction attempt ${attemptCount} of ${this.$retryLimit === Infinity ? 'Infinity' : this.$retryLimit.toString()}`);
|
|
84
|
-
await connection.startTransaction(this.$isolationLevel);
|
|
87
|
+
await connection.startTransaction(this.$isolationLevel, this.$accessLevel);
|
|
85
88
|
try {
|
|
86
89
|
await this.$executor(connection);
|
|
87
90
|
await connection.commit();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2017-2025 Norman Breau
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 8.6.0
|
|
19
|
+
*/
|
|
20
|
+
export enum TransactionAccessLevel {
|
|
21
|
+
RW,
|
|
22
|
+
RO
|
|
23
|
+
}
|
package/src/api.ts
CHANGED
|
@@ -42,6 +42,7 @@ export {IsolationLevel} from './IsolationLevel';
|
|
|
42
42
|
export {Transaction} from './Transaction';
|
|
43
43
|
export {IOKPacket} from './IOKPacket';
|
|
44
44
|
export {IStoredProcedureResult} from './IStoredProcedureResult';
|
|
45
|
+
export {TransactionAccessLevel} from './TransactionAccessLevel';
|
|
45
46
|
|
|
46
47
|
// Errors
|
|
47
48
|
export {ErrorCode} from './ErrorCode';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2017-
|
|
2
|
+
Copyright 2017-2025 Norman Breau
|
|
3
3
|
|
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
you may not use this file except in compliance with the License.
|
|
@@ -15,9 +15,27 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import {Query} from '../Query';
|
|
18
|
+
import { TransactionAccessLevel } from '../TransactionAccessLevel';
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @since 8.6.0
|
|
22
|
+
*/
|
|
23
|
+
export interface IStartTransactionQueryInput {
|
|
24
|
+
accessLevel?: TransactionAccessLevel;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export class StartTransactionQuery extends Query<IStartTransactionQueryInput, void> {
|
|
28
|
+
protected override _getQuery(): string {
|
|
29
|
+
let params: IStartTransactionQueryInput = this.getParameters();
|
|
30
|
+
|
|
31
|
+
let accessString: string;
|
|
32
|
+
if (params?.accessLevel === TransactionAccessLevel.RO) {
|
|
33
|
+
accessString = 'READ ONLY';
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
accessString = 'READ WRITE';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return `START TRANSACTION ${accessString}`;
|
|
22
40
|
}
|
|
23
41
|
}
|
|
@@ -1 +0,0 @@
|
|
|
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>formidable | @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(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@breautek/storm</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" 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></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">@breautek/storm</a></li><li><a href="formidable-1.html">formidable</a></li></ul><h1>Variable formidable</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">formidable</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-namespace">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">defaultOptions</span><span class="tsd-signature-symbol">:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultdefaultoptions" class="tsd-signature-type tsd-kind-type-alias">DefaultOptions</a><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">DummyParser</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">DummyParser</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">enabledPlugins</span><span class="tsd-signature-symbol">:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultenabledplugins" class="tsd-signature-type tsd-kind-type-alias">EnabledPlugins</a><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">errors</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">FormidableError</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">FormidableError</span> <span class="tsd-signature-symbol">}</span> <span class="tsd-signature-symbol">&</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"aborted"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingPlugin"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"pluginFunction"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"noParser"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"uninitializedParser"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"filenameNotString"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"maxFieldsSizeExceeded"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"maxFieldsExceeded"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"smallerThanMinFileSize"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"biggerThanMaxFileSize"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"noEmptyFiles"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingContentType"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"malformedMultipart"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingMultipartBoundary"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"unknownTransferEncoding"</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">File</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">PersistentFile</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">formidable</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultoptions" class="tsd-signature-type tsd-kind-interface">Options</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">IncomingForm</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">Formidable</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">IncomingForm</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">IncomingForm</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">IncomingForm</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">JSONParser</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">JSONParser</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">MultipartParser</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">MultipartParser</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">OctetStreamParser</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">OctetStreamParser</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">parsers</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">__module</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">PersistentFile</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">PersistentFile</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">plugins</span><span class="tsd-signature-symbol">:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultenabledplugins" class="tsd-signature-type tsd-kind-type-alias">EnabledPlugins</a><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">QuerystringParser</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">QuerystringParser</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">StreamingQuerystring</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">StreamingQuerystring</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">VolatileFile</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">VolatileFile</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-call-signature">default</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultoptions" class="tsd-signature-type tsd-kind-interface">Options</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">IncomingForm</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">defaultOptions</span><a id="__typedefaultoptions-1" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultdefaultoptions" class="tsd-signature-type tsd-kind-type-alias">DefaultOptions</a></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">DummyParser</span><a id="__typedummyparser" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">DummyParser</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">enabledPlugins</span><a id="__typeenabledplugins" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultenabledplugins" class="tsd-signature-type tsd-kind-type-alias">EnabledPlugins</a></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">errors</span><a id="__typeerrors" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">FormidableError</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">FormidableError</span> <span class="tsd-signature-symbol">}</span> <span class="tsd-signature-symbol">&</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"aborted"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingPlugin"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"pluginFunction"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"noParser"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"uninitializedParser"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"filenameNotString"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"maxFieldsSizeExceeded"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"maxFieldsExceeded"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"smallerThanMinFileSize"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"biggerThanMaxFileSize"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"noEmptyFiles"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingContentType"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"malformedMultipart"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"missingMultipartBoundary"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"unknownTransferEncoding"</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">></span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">File</span><a id="__typefile" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">PersistentFile</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">formidable</span><a id="__typeformidable" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultoptions" class="tsd-signature-type tsd-kind-interface">Options</a><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">IncomingForm</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">Formidable</span><a id="__typeformidable-1" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">IncomingForm</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">IncomingForm</span><a id="__typeincomingform" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">IncomingForm</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">JSONParser</span><a id="__typejsonparser" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">JSONParser</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">MultipartParser</span><a id="__typemultipartparser" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">MultipartParser</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">OctetStreamParser</span><a id="__typeoctetstreamparser" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">OctetStreamParser</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">parsers</span><a id="__typeparsers" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">__module</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">PersistentFile</span><a id="__typepersistentfile" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">PersistentFile</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">plugins</span><a id="__typeplugins" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultenabledplugins" class="tsd-signature-type tsd-kind-type-alias">EnabledPlugins</a></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">QuerystringParser</span><a id="__typequerystringparser" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">QuerystringParser</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">StreamingQuerystring</span><a id="__typestreamingquerystring" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">StreamingQuerystring</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">VolatileFile</span><a id="__typevolatilefile" class="tsd-anchor"></a><span class="tsd-signature-symbol">: </span><span class="tsd-signature-keyword">typeof</span> <span class="tsd-signature-type">VolatileFile</span></h5></li><li class="tsd-parameter"><h5><span class="tsd-kind-method">default</span><a id="__typedefault-1" class="tsd-anchor"></a><span class="tsd-signature-symbol">:</span>function</h5><ul class="tsd-signatures tsd-is-external"><li class="tsd-is-external"><div class="tsd-signature tsd-anchor-link"><a id="__typedefault-2" class="tsd-anchor"></a><span class="tsd-kind-call-signature">default</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultoptions" class="tsd-signature-type tsd-kind-interface">Options</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">IncomingForm</span><a href="#__typedefault-2" 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></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">options</span>: <a href="formidable-1.html#__typedefault" class="tsd-signature-type tsd-kind-namespace">default</a><span class="tsd-signature-symbol">.</span><a href="formidable-1.html#__typedefaultoptions" class="tsd-signature-type tsd-kind-interface">Options</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">IncomingForm</span></h4><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/formidable/index.d.ts:315</li></ul></aside></div></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/formidable/index.d.ts:10</li><li>Defined in node_modules/@types/formidable/index.d.ts:314</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"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>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>
|