@typetron/framework 0.3.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/Container/ClassResolver.d.ts +9 -0
- package/Container/ClassResolver.d.ts.map +1 -0
- package/Container/ClassResolver.js +84 -0
- package/Container/ClassResolver.js.map +1 -0
- package/Container/Container.d.ts +25 -0
- package/Container/Container.d.ts.map +1 -0
- package/Container/Container.js +122 -0
- package/Container/Container.js.map +1 -0
- package/Container/Contracts.d.ts +3 -0
- package/Container/Contracts.d.ts.map +1 -0
- package/Container/Contracts.js +3 -0
- package/Container/Contracts.js.map +1 -0
- package/Container/Decorators.d.ts +5 -0
- package/Container/Decorators.d.ts.map +1 -0
- package/Container/Decorators.js +22 -0
- package/Container/Decorators.js.map +1 -0
- package/Container/Metadata.d.ts +21 -0
- package/Container/Metadata.d.ts.map +1 -0
- package/Container/Metadata.js +19 -0
- package/Container/Metadata.js.map +1 -0
- package/Container/Resolver.d.ts +19 -0
- package/Container/Resolver.d.ts.map +1 -0
- package/Container/Resolver.js +16 -0
- package/Container/Resolver.js.map +1 -0
- package/Container/index.d.ts +6 -0
- package/Container/index.d.ts.map +1 -0
- package/Container/index.js +18 -0
- package/Container/index.js.map +1 -0
- package/Database/Clauses/Where.d.ts +1 -0
- package/Database/Clauses/Where.d.ts.map +1 -0
- package/Database/Clauses/Where.js +2 -0
- package/Database/Clauses/Where.js.map +1 -0
- package/Database/Connection.d.ts +24 -0
- package/Database/Connection.d.ts.map +1 -0
- package/Database/Connection.js +43 -0
- package/Database/Connection.js.map +1 -0
- package/Database/Decorators.d.ts +32 -0
- package/Database/Decorators.d.ts.map +1 -0
- package/Database/Decorators.js +114 -0
- package/Database/Decorators.js.map +1 -0
- package/Database/Drivers/DatabaseDriver.d.ts +31 -0
- package/Database/Drivers/DatabaseDriver.d.ts.map +1 -0
- package/Database/Drivers/DatabaseDriver.js +7 -0
- package/Database/Drivers/DatabaseDriver.js.map +1 -0
- package/Database/Drivers/MySQL/MysqlDriver.d.ts +38 -0
- package/Database/Drivers/MySQL/MysqlDriver.d.ts.map +1 -0
- package/Database/Drivers/MySQL/MysqlDriver.js +81 -0
- package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -0
- package/Database/Drivers/MySQL/Schema.d.ts +6 -0
- package/Database/Drivers/MySQL/Schema.d.ts.map +1 -0
- package/Database/Drivers/MySQL/Schema.js +12 -0
- package/Database/Drivers/MySQL/Schema.js.map +1 -0
- package/Database/Drivers/MySQL/index.d.ts +1 -0
- package/Database/Drivers/MySQL/index.d.ts.map +1 -0
- package/Database/Drivers/MySQL/index.js +2 -0
- package/Database/Drivers/MySQL/index.js.map +1 -0
- package/Database/Drivers/SQL/Schema.d.ts +12 -0
- package/Database/Drivers/SQL/Schema.d.ts.map +1 -0
- package/Database/Drivers/SQL/Schema.js +100 -0
- package/Database/Drivers/SQL/Schema.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Alter.d.ts +8 -0
- package/Database/Drivers/SQL/Statements/Alter.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Alter.js +25 -0
- package/Database/Drivers/SQL/Statements/Alter.js.map +1 -0
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +13 -0
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/BaseStatement.js +47 -0
- package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Create.d.ts +7 -0
- package/Database/Drivers/SQL/Statements/Create.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Create.js +22 -0
- package/Database/Drivers/SQL/Statements/Create.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Delete.d.ts +6 -0
- package/Database/Drivers/SQL/Statements/Delete.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Delete.js +22 -0
- package/Database/Drivers/SQL/Statements/Delete.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Insert.d.ts +7 -0
- package/Database/Drivers/SQL/Statements/Insert.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Insert.js +24 -0
- package/Database/Drivers/SQL/Statements/Insert.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Select.d.ts +8 -0
- package/Database/Drivers/SQL/Statements/Select.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Select.js +54 -0
- package/Database/Drivers/SQL/Statements/Select.js.map +1 -0
- package/Database/Drivers/SQL/Statements/Update.d.ts +7 -0
- package/Database/Drivers/SQL/Statements/Update.d.ts.map +1 -0
- package/Database/Drivers/SQL/Statements/Update.js +35 -0
- package/Database/Drivers/SQL/Statements/Update.js.map +1 -0
- package/Database/Drivers/SQLite/Schema.d.ts +6 -0
- package/Database/Drivers/SQLite/Schema.d.ts.map +1 -0
- package/Database/Drivers/SQLite/Schema.js +12 -0
- package/Database/Drivers/SQLite/Schema.js.map +1 -0
- package/Database/Drivers/SQLite/SqliteDriver.d.ts +39 -0
- package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -0
- package/Database/Drivers/SQLite/SqliteDriver.js +98 -0
- package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -0
- package/Database/Drivers/SQLite/index.d.ts +2 -0
- package/Database/Drivers/SQLite/index.d.ts.map +1 -0
- package/Database/Drivers/SQLite/index.js +14 -0
- package/Database/Drivers/SQLite/index.js.map +1 -0
- package/Database/Drivers/SchemaContract.d.ts +11 -0
- package/Database/Drivers/SchemaContract.d.ts.map +1 -0
- package/Database/Drivers/SchemaContract.js +10 -0
- package/Database/Drivers/SchemaContract.js.map +1 -0
- package/Database/Drivers/Statement.d.ts +9 -0
- package/Database/Drivers/Statement.d.ts.map +1 -0
- package/Database/Drivers/Statement.js +14 -0
- package/Database/Drivers/Statement.js.map +1 -0
- package/Database/Drivers/index.d.ts +5 -0
- package/Database/Drivers/index.d.ts.map +1 -0
- package/Database/Drivers/index.js +17 -0
- package/Database/Drivers/index.js.map +1 -0
- package/Database/Entity.d.ts +64 -0
- package/Database/Entity.d.ts.map +1 -0
- package/Database/Entity.js +242 -0
- package/Database/Entity.js.map +1 -0
- package/Database/EntityNotFoundError.d.ts +3 -0
- package/Database/EntityNotFoundError.d.ts.map +1 -0
- package/Database/EntityNotFoundError.js +7 -0
- package/Database/EntityNotFoundError.js.map +1 -0
- package/Database/EntityProxyHandler.d.ts +9 -0
- package/Database/EntityProxyHandler.d.ts.map +1 -0
- package/Database/EntityProxyHandler.js +33 -0
- package/Database/EntityProxyHandler.js.map +1 -0
- package/Database/EntityQuery.d.ts +28 -0
- package/Database/EntityQuery.d.ts.map +1 -0
- package/Database/EntityQuery.js +146 -0
- package/Database/EntityQuery.js.map +1 -0
- package/Database/Expression.d.ts +6 -0
- package/Database/Expression.d.ts.map +1 -0
- package/Database/Expression.js +13 -0
- package/Database/Expression.js.map +1 -0
- package/Database/Fields.d.ts +153 -0
- package/Database/Fields.d.ts.map +1 -0
- package/Database/Fields.js +543 -0
- package/Database/Fields.js.map +1 -0
- package/Database/Helpers.d.ts +2 -0
- package/Database/Helpers.d.ts.map +1 -0
- package/Database/Helpers.js +11 -0
- package/Database/Helpers.js.map +1 -0
- package/Database/List.d.ts +25 -0
- package/Database/List.d.ts.map +1 -0
- package/Database/List.js +50 -0
- package/Database/List.js.map +1 -0
- package/Database/Migrations/Migration.d.ts +8 -0
- package/Database/Migrations/Migration.d.ts.map +1 -0
- package/Database/Migrations/Migration.js +10 -0
- package/Database/Migrations/Migration.js.map +1 -0
- package/Database/Migrations/MigrationHistory.d.ts +9 -0
- package/Database/Migrations/MigrationHistory.d.ts.map +1 -0
- package/Database/Migrations/MigrationHistory.js +39 -0
- package/Database/Migrations/MigrationHistory.js.map +1 -0
- package/Database/Migrations/Migrator.d.ts +21 -0
- package/Database/Migrations/Migrator.d.ts.map +1 -0
- package/Database/Migrations/Migrator.js +119 -0
- package/Database/Migrations/Migrator.js.map +1 -0
- package/Database/Migrations/index.d.ts +4 -0
- package/Database/Migrations/index.d.ts.map +1 -0
- package/Database/Migrations/index.js +16 -0
- package/Database/Migrations/index.js.map +1 -0
- package/Database/ORM/BaseRelationship.d.ts +8 -0
- package/Database/ORM/BaseRelationship.d.ts.map +1 -0
- package/Database/ORM/BaseRelationship.js +11 -0
- package/Database/ORM/BaseRelationship.js.map +1 -0
- package/Database/Query.d.ts +62 -0
- package/Database/Query.d.ts.map +1 -0
- package/Database/Query.js +263 -0
- package/Database/Query.js.map +1 -0
- package/Database/Types.d.ts +117 -0
- package/Database/Types.d.ts.map +1 -0
- package/Database/Types.js +95 -0
- package/Database/Types.js.map +1 -0
- package/Database/index.d.ts +20 -0
- package/Database/index.d.ts.map +1 -0
- package/Database/index.js +20 -0
- package/Database/index.js.map +1 -0
- package/Encryption/index.d.ts +16 -0
- package/Encryption/index.d.ts.map +1 -0
- package/Encryption/index.js +51 -0
- package/Encryption/index.js.map +1 -0
- package/Forms/Decorators.d.ts +7 -0
- package/Forms/Decorators.d.ts.map +1 -0
- package/Forms/Decorators.js +29 -0
- package/Forms/Decorators.js.map +1 -0
- package/Forms/Form.d.ts +18 -0
- package/Forms/Form.d.ts.map +1 -0
- package/Forms/Form.js +70 -0
- package/Forms/Form.js.map +1 -0
- package/Forms/FormFields.d.ts +10 -0
- package/Forms/FormFields.d.ts.map +1 -0
- package/Forms/FormFields.js +36 -0
- package/Forms/FormFields.js.map +1 -0
- package/Forms/index.d.ts +4 -0
- package/Forms/index.d.ts.map +1 -0
- package/Forms/index.js +16 -0
- package/Forms/index.js.map +1 -0
- package/Framework/App.d.ts +7 -0
- package/Framework/App.d.ts.map +1 -0
- package/Framework/App.js +10 -0
- package/Framework/App.js.map +1 -0
- package/Framework/Application.d.ts +18 -0
- package/Framework/Application.d.ts.map +1 -0
- package/Framework/Application.js +94 -0
- package/Framework/Application.js.map +1 -0
- package/Framework/Auth/Auth.d.ts +25 -0
- package/Framework/Auth/Auth.d.ts.map +1 -0
- package/Framework/Auth/Auth.js +93 -0
- package/Framework/Auth/Auth.js.map +1 -0
- package/Framework/Auth/Authenticatable.d.ts +7 -0
- package/Framework/Auth/Authenticatable.d.ts.map +1 -0
- package/Framework/Auth/Authenticatable.js +3 -0
- package/Framework/Auth/Authenticatable.js.map +1 -0
- package/Framework/Auth/User.d.ts +11 -0
- package/Framework/Auth/User.d.ts.map +1 -0
- package/Framework/Auth/User.js +38 -0
- package/Framework/Auth/User.js.map +1 -0
- package/Framework/Auth/index.d.ts +6 -0
- package/Framework/Auth/index.d.ts.map +1 -0
- package/Framework/Auth/index.js +45 -0
- package/Framework/Auth/index.js.map +1 -0
- package/Framework/Config/AppConfig.d.ts +15 -0
- package/Framework/Config/AppConfig.d.ts.map +1 -0
- package/Framework/Config/AppConfig.js +12 -0
- package/Framework/Config/AppConfig.js.map +1 -0
- package/Framework/Config/AuthConfig.d.ts +9 -0
- package/Framework/Config/AuthConfig.d.ts.map +1 -0
- package/Framework/Config/AuthConfig.js +8 -0
- package/Framework/Config/AuthConfig.js.map +1 -0
- package/Framework/Config/BaseConfig.d.ts +7 -0
- package/Framework/Config/BaseConfig.d.ts.map +1 -0
- package/Framework/Config/BaseConfig.js +13 -0
- package/Framework/Config/BaseConfig.js.map +1 -0
- package/Framework/Config/DatabaseConfig.d.ts +10 -0
- package/Framework/Config/DatabaseConfig.d.ts.map +1 -0
- package/Framework/Config/DatabaseConfig.js +25 -0
- package/Framework/Config/DatabaseConfig.js.map +1 -0
- package/Framework/Config/index.d.ts +5 -0
- package/Framework/Config/index.d.ts.map +1 -0
- package/Framework/Config/index.js +17 -0
- package/Framework/Config/index.js.map +1 -0
- package/Framework/Middleware/AuthMiddleware.d.ts +8 -0
- package/Framework/Middleware/AuthMiddleware.d.ts.map +1 -0
- package/Framework/Middleware/AuthMiddleware.js +64 -0
- package/Framework/Middleware/AuthMiddleware.js.map +1 -0
- package/Framework/Middleware/CorsMiddleware.d.ts +7 -0
- package/Framework/Middleware/CorsMiddleware.d.ts.map +1 -0
- package/Framework/Middleware/CorsMiddleware.js +44 -0
- package/Framework/Middleware/CorsMiddleware.js.map +1 -0
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts +15 -0
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts.map +1 -0
- package/Framework/Middleware/StaticAssetsMiddleware.js +87 -0
- package/Framework/Middleware/StaticAssetsMiddleware.js.map +1 -0
- package/Framework/Middleware/index.d.ts +3 -0
- package/Framework/Middleware/index.d.ts.map +1 -0
- package/Framework/Middleware/index.js +15 -0
- package/Framework/Middleware/index.js.map +1 -0
- package/Framework/Provider.d.ts +6 -0
- package/Framework/Provider.d.ts.map +1 -0
- package/Framework/Provider.js +21 -0
- package/Framework/Provider.js.map +1 -0
- package/Framework/Providers/DatabaseProvider.d.ts +10 -0
- package/Framework/Providers/DatabaseProvider.d.ts.map +1 -0
- package/Framework/Providers/DatabaseProvider.js +64 -0
- package/Framework/Providers/DatabaseProvider.js.map +1 -0
- package/Framework/Providers/WebsocketsProvider.d.ts +11 -0
- package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -0
- package/Framework/Providers/WebsocketsProvider.js +118 -0
- package/Framework/Providers/WebsocketsProvider.js.map +1 -0
- package/Framework/Resolvers/AuthResolver.d.ts +6 -0
- package/Framework/Resolvers/AuthResolver.d.ts.map +1 -0
- package/Framework/Resolvers/AuthResolver.js +23 -0
- package/Framework/Resolvers/AuthResolver.js.map +1 -0
- package/Framework/Resolvers/EntityResolver.d.ts +10 -0
- package/Framework/Resolvers/EntityResolver.d.ts.map +1 -0
- package/Framework/Resolvers/EntityResolver.js +40 -0
- package/Framework/Resolvers/EntityResolver.js.map +1 -0
- package/Framework/Resolvers/FormResolver.d.ts +10 -0
- package/Framework/Resolvers/FormResolver.d.ts.map +1 -0
- package/Framework/Resolvers/FormResolver.js +33 -0
- package/Framework/Resolvers/FormResolver.js.map +1 -0
- package/Framework/RootDir.d.ts +3 -0
- package/Framework/RootDir.d.ts.map +1 -0
- package/Framework/RootDir.js +7 -0
- package/Framework/RootDir.js.map +1 -0
- package/Framework/index.d.ts +7 -0
- package/Framework/index.d.ts.map +1 -0
- package/Framework/index.js +19 -0
- package/Framework/index.js.map +1 -0
- package/LICENSE.md +21 -0
- package/Models/Model.d.ts +10 -0
- package/Models/Model.d.ts.map +1 -0
- package/Models/Model.js +36 -0
- package/Models/Model.js.map +1 -0
- package/Models/index.d.ts +22 -0
- package/Models/index.d.ts.map +1 -0
- package/Models/index.js +59 -0
- package/Models/index.js.map +1 -0
- package/Readme.md +123 -0
- package/Router/BaseController.d.ts +5 -0
- package/Router/BaseController.d.ts.map +1 -0
- package/Router/BaseController.js +21 -0
- package/Router/BaseController.js.map +1 -0
- package/Router/Decorators.d.ts +22 -0
- package/Router/Decorators.d.ts.map +1 -0
- package/Router/Decorators.js +171 -0
- package/Router/Decorators.js.map +1 -0
- package/Router/Guard.d.ts +5 -0
- package/Router/Guard.d.ts.map +1 -0
- package/Router/Guard.js +11 -0
- package/Router/Guard.js.map +1 -0
- package/Router/Http/Contracts.d.ts +4 -0
- package/Router/Http/Contracts.d.ts.map +1 -0
- package/Router/Http/Contracts.js +3 -0
- package/Router/Http/Contracts.js.map +1 -0
- package/Router/Http/ErrorHandler.d.ts +10 -0
- package/Router/Http/ErrorHandler.d.ts.map +1 -0
- package/Router/Http/ErrorHandler.js +52 -0
- package/Router/Http/ErrorHandler.js.map +1 -0
- package/Router/Http/ErrorHandlerInterface.d.ts +6 -0
- package/Router/Http/ErrorHandlerInterface.d.ts.map +1 -0
- package/Router/Http/ErrorHandlerInterface.js +7 -0
- package/Router/Http/ErrorHandlerInterface.js.map +1 -0
- package/Router/Http/Errors/HttpError.d.ts +8 -0
- package/Router/Http/Errors/HttpError.d.ts.map +1 -0
- package/Router/Http/Errors/HttpError.js +16 -0
- package/Router/Http/Errors/HttpError.js.map +1 -0
- package/Router/Http/Handler.d.ts +16 -0
- package/Router/Http/Handler.d.ts.map +1 -0
- package/Router/Http/Handler.js +132 -0
- package/Router/Http/Handler.js.map +1 -0
- package/Router/Http/Request.d.ts +23 -0
- package/Router/Http/Request.d.ts.map +1 -0
- package/Router/Http/Request.js +152 -0
- package/Router/Http/Request.js.map +1 -0
- package/Router/Http/Response.d.ts +17 -0
- package/Router/Http/Response.d.ts.map +1 -0
- package/Router/Http/Response.js +52 -0
- package/Router/Http/Response.js.map +1 -0
- package/Router/Http/index.d.ts +84 -0
- package/Router/Http/index.d.ts.map +1 -0
- package/Router/Http/index.js +100 -0
- package/Router/Http/index.js.map +1 -0
- package/Router/Metadata.d.ts +32 -0
- package/Router/Metadata.d.ts.map +1 -0
- package/Router/Metadata.js +26 -0
- package/Router/Metadata.js.map +1 -0
- package/Router/Middleware.d.ts +6 -0
- package/Router/Middleware.d.ts.map +1 -0
- package/Router/Middleware.js +3 -0
- package/Router/Middleware.js.map +1 -0
- package/Router/Route.d.ts +24 -0
- package/Router/Route.d.ts.map +1 -0
- package/Router/Route.js +111 -0
- package/Router/Route.js.map +1 -0
- package/Router/RouteNotFoundError.d.ts +4 -0
- package/Router/RouteNotFoundError.d.ts.map +1 -0
- package/Router/RouteNotFoundError.js +10 -0
- package/Router/RouteNotFoundError.js.map +1 -0
- package/Router/Router.d.ts +13 -0
- package/Router/Router.d.ts.map +1 -0
- package/Router/Router.js +33 -0
- package/Router/Router.js.map +1 -0
- package/Router/Websockets/Handler.d.ts +14 -0
- package/Router/Websockets/Handler.d.ts.map +1 -0
- package/Router/Websockets/Handler.js +64 -0
- package/Router/Websockets/Handler.js.map +1 -0
- package/Router/Websockets/WebsocketEvent.d.ts +16 -0
- package/Router/Websockets/WebsocketEvent.d.ts.map +1 -0
- package/Router/Websockets/WebsocketEvent.js +54 -0
- package/Router/Websockets/WebsocketEvent.js.map +1 -0
- package/Router/Websockets/index.d.ts +13 -0
- package/Router/Websockets/index.d.ts.map +1 -0
- package/Router/Websockets/index.js +49 -0
- package/Router/Websockets/index.js.map +1 -0
- package/Router/Websockets/types.d.ts +17 -0
- package/Router/Websockets/types.d.ts.map +1 -0
- package/Router/Websockets/types.js +9 -0
- package/Router/Websockets/types.js.map +1 -0
- package/Router/index.d.ts +7 -0
- package/Router/index.d.ts.map +1 -0
- package/Router/index.js +19 -0
- package/Router/index.js.map +1 -0
- package/Storage/File.d.ts +12 -0
- package/Storage/File.d.ts.map +1 -0
- package/Storage/File.js +47 -0
- package/Storage/File.js.map +1 -0
- package/Storage/Image.d.ts +4 -0
- package/Storage/Image.d.ts.map +1 -0
- package/Storage/Image.js +8 -0
- package/Storage/Image.js.map +1 -0
- package/Storage/InvalidImage.d.ts +4 -0
- package/Storage/InvalidImage.d.ts.map +1 -0
- package/Storage/InvalidImage.js +8 -0
- package/Storage/InvalidImage.js.map +1 -0
- package/Storage/Storage.d.ts +13 -0
- package/Storage/Storage.d.ts.map +1 -0
- package/Storage/Storage.js +111 -0
- package/Storage/Storage.js.map +1 -0
- package/Storage/index.d.ts +5 -0
- package/Storage/index.d.ts.map +1 -0
- package/Storage/index.js +17 -0
- package/Storage/index.js.map +1 -0
- package/Storage/utils.d.ts +6 -0
- package/Storage/utils.d.ts.map +1 -0
- package/Storage/utils.js +21 -0
- package/Storage/utils.js.map +1 -0
- package/Support/Array.d.ts +25 -0
- package/Support/Array.d.ts.map +1 -0
- package/Support/Array.js +91 -0
- package/Support/Array.js.map +1 -0
- package/Support/Math.d.ts +7 -0
- package/Support/Math.d.ts.map +1 -0
- package/Support/Math.js +8 -0
- package/Support/Math.js.map +1 -0
- package/Support/Metadata.d.ts +15 -0
- package/Support/Metadata.d.ts.map +1 -0
- package/Support/Metadata.js +21 -0
- package/Support/Metadata.js.map +1 -0
- package/Support/String.d.ts +12 -0
- package/Support/String.d.ts.map +1 -0
- package/Support/String.js +24 -0
- package/Support/String.js.map +1 -0
- package/Support/index.d.ts +14 -0
- package/Support/index.d.ts.map +1 -0
- package/Support/index.js +6 -0
- package/Support/index.js.map +1 -0
- package/Testing/TestCase.d.ts +33 -0
- package/Testing/TestCase.d.ts.map +1 -0
- package/Testing/TestCase.js +122 -0
- package/Testing/TestCase.js.map +1 -0
- package/Validation/Rule.d.ts +7 -0
- package/Validation/Rule.d.ts.map +1 -0
- package/Validation/Rule.js +7 -0
- package/Validation/Rule.js.map +1 -0
- package/Validation/RuleInterface.d.ts +7 -0
- package/Validation/RuleInterface.d.ts.map +1 -0
- package/Validation/RuleInterface.js +3 -0
- package/Validation/RuleInterface.js.map +1 -0
- package/Validation/Rules/Email.d.ts +4 -0
- package/Validation/Rules/Email.d.ts.map +1 -0
- package/Validation/Rules/Email.js +21 -0
- package/Validation/Rules/Email.js.map +1 -0
- package/Validation/Rules/FileExtension.d.ts +4 -0
- package/Validation/Rules/FileExtension.d.ts.map +1 -0
- package/Validation/Rules/FileExtension.js +23 -0
- package/Validation/Rules/FileExtension.js.map +1 -0
- package/Validation/Rules/MaxLength.d.ts +4 -0
- package/Validation/Rules/MaxLength.d.ts.map +1 -0
- package/Validation/Rules/MaxLength.js +20 -0
- package/Validation/Rules/MaxLength.js.map +1 -0
- package/Validation/Rules/MinLength.d.ts +4 -0
- package/Validation/Rules/MinLength.d.ts.map +1 -0
- package/Validation/Rules/MinLength.js +20 -0
- package/Validation/Rules/MinLength.js.map +1 -0
- package/Validation/Rules/Optional.d.ts +4 -0
- package/Validation/Rules/Optional.d.ts.map +1 -0
- package/Validation/Rules/Optional.js +20 -0
- package/Validation/Rules/Optional.js.map +1 -0
- package/Validation/Rules/Required.d.ts +4 -0
- package/Validation/Rules/Required.d.ts.map +1 -0
- package/Validation/Rules/Required.js +27 -0
- package/Validation/Rules/Required.js.map +1 -0
- package/Validation/Validator.d.ts +12 -0
- package/Validation/Validator.d.ts.map +1 -0
- package/Validation/Validator.js +11 -0
- package/Validation/Validator.js.map +1 -0
- package/Validation/index.d.ts +10 -0
- package/Validation/index.d.ts.map +1 -0
- package/Validation/index.js +22 -0
- package/Validation/index.js.map +1 -0
- package/Web/Contracts.d.ts +4 -0
- package/Web/Contracts.d.ts.map +1 -0
- package/Web/Contracts.js +3 -0
- package/Web/Contracts.js.map +1 -0
- package/Web/ErrorHandler.d.ts +10 -0
- package/Web/ErrorHandler.d.ts.map +1 -0
- package/Web/ErrorHandler.js +52 -0
- package/Web/ErrorHandler.js.map +1 -0
- package/Web/ErrorHandlerInterface.d.ts +6 -0
- package/Web/ErrorHandlerInterface.d.ts.map +1 -0
- package/Web/ErrorHandlerInterface.js +7 -0
- package/Web/ErrorHandlerInterface.js.map +1 -0
- package/Web/Errors/HttpError.d.ts +8 -0
- package/Web/Errors/HttpError.d.ts.map +1 -0
- package/Web/Errors/HttpError.js +16 -0
- package/Web/Errors/HttpError.js.map +1 -0
- package/Web/Handler.d.ts +11 -0
- package/Web/Handler.d.ts.map +1 -0
- package/Web/Handler.js +52 -0
- package/Web/Handler.js.map +1 -0
- package/Web/Request.d.ts +25 -0
- package/Web/Request.d.ts.map +1 -0
- package/Web/Request.js +152 -0
- package/Web/Request.js.map +1 -0
- package/Web/Response.d.ts +16 -0
- package/Web/Response.d.ts.map +1 -0
- package/Web/Response.js +51 -0
- package/Web/Response.js.map +1 -0
- package/Web/index.d.ts +84 -0
- package/Web/index.d.ts.map +1 -0
- package/Web/index.js +100 -0
- package/Web/index.js.map +1 -0
- package/Web-old/Contracts.d.ts +4 -0
- package/Web-old/Contracts.d.ts.map +1 -0
- package/Web-old/Contracts.js +3 -0
- package/Web-old/Contracts.js.map +1 -0
- package/Web-old/ErrorHandler.d.ts +10 -0
- package/Web-old/ErrorHandler.d.ts.map +1 -0
- package/Web-old/ErrorHandler.js +52 -0
- package/Web-old/ErrorHandler.js.map +1 -0
- package/Web-old/ErrorHandlerInterface.d.ts +6 -0
- package/Web-old/ErrorHandlerInterface.d.ts.map +1 -0
- package/Web-old/ErrorHandlerInterface.js +7 -0
- package/Web-old/ErrorHandlerInterface.js.map +1 -0
- package/Web-old/Errors/HttpError.d.ts +8 -0
- package/Web-old/Errors/HttpError.d.ts.map +1 -0
- package/Web-old/Errors/HttpError.js +16 -0
- package/Web-old/Errors/HttpError.js.map +1 -0
- package/Web-old/Handler.d.ts +16 -0
- package/Web-old/Handler.d.ts.map +1 -0
- package/Web-old/Handler.js +132 -0
- package/Web-old/Handler.js.map +1 -0
- package/Web-old/Request.d.ts +25 -0
- package/Web-old/Request.d.ts.map +1 -0
- package/Web-old/Request.js +152 -0
- package/Web-old/Request.js.map +1 -0
- package/Web-old/Response.d.ts +16 -0
- package/Web-old/Response.d.ts.map +1 -0
- package/Web-old/Response.js +51 -0
- package/Web-old/Response.js.map +1 -0
- package/Web-old/index.d.ts +84 -0
- package/Web-old/index.d.ts.map +1 -0
- package/Web-old/index.js +100 -0
- package/Web-old/index.js.map +1 -0
- package/package.json +67 -0
- package/tests/Container/ContainerTest.d.ts +2 -0
- package/tests/Container/ContainerTest.d.ts.map +1 -0
- package/tests/Container/ContainerTest.js +396 -0
- package/tests/Container/ContainerTest.js.map +1 -0
- package/tests/Database/Entities/Article.d.ts +11 -0
- package/tests/Database/Entities/Article.d.ts.map +1 -0
- package/tests/Database/Entities/Article.js +43 -0
- package/tests/Database/Entities/Article.js.map +1 -0
- package/tests/Database/Entities/Profile.d.ts +11 -0
- package/tests/Database/Entities/Profile.d.ts.map +1 -0
- package/tests/Database/Entities/Profile.js +39 -0
- package/tests/Database/Entities/Profile.js.map +1 -0
- package/tests/Database/Entities/Role.d.ts +9 -0
- package/tests/Database/Entities/Role.d.ts.map +1 -0
- package/tests/Database/Entities/Role.js +31 -0
- package/tests/Database/Entities/Role.js.map +1 -0
- package/tests/Database/Entities/User.d.ts +16 -0
- package/tests/Database/Entities/User.d.ts.map +1 -0
- package/tests/Database/Entities/User.js +58 -0
- package/tests/Database/Entities/User.js.map +1 -0
- package/tests/Database/EntityRelationshipsTest.d.ts +2 -0
- package/tests/Database/EntityRelationshipsTest.d.ts.map +1 -0
- package/tests/Database/EntityRelationshipsTest.js +535 -0
- package/tests/Database/EntityRelationshipsTest.js.map +1 -0
- package/tests/Database/EntityTest.d.ts +2 -0
- package/tests/Database/EntityTest.d.ts.map +1 -0
- package/tests/Database/EntityTest.js +234 -0
- package/tests/Database/EntityTest.js.map +1 -0
- package/tests/Database/Migrations/RunnerTest.d.ts +2 -0
- package/tests/Database/Migrations/RunnerTest.d.ts.map +1 -0
- package/tests/Database/Migrations/RunnerTest.js +112 -0
- package/tests/Database/Migrations/RunnerTest.js.map +1 -0
- package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +6 -0
- package/tests/Database/Migrations/migrations/1.createUserTable.d.ts.map +1 -0
- package/tests/Database/Migrations/migrations/1.createUserTable.js +14 -0
- package/tests/Database/Migrations/migrations/1.createUserTable.js.map +1 -0
- package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +6 -0
- package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts.map +1 -0
- package/tests/Database/Migrations/migrations/2.createArticlesTable.js +14 -0
- package/tests/Database/Migrations/migrations/2.createArticlesTable.js.map +1 -0
- package/tests/Database/QueryTest.d.ts +2 -0
- package/tests/Database/QueryTest.d.ts.map +1 -0
- package/tests/Database/QueryTest.js +619 -0
- package/tests/Database/QueryTest.js.map +1 -0
- package/tests/Database/SchemaTest.d.ts +2 -0
- package/tests/Database/SchemaTest.d.ts.map +1 -0
- package/tests/Database/SchemaTest.js +46 -0
- package/tests/Database/SchemaTest.js.map +1 -0
- package/tests/Forms/FormsTest.d.ts +2 -0
- package/tests/Forms/FormsTest.d.ts.map +1 -0
- package/tests/Forms/FormsTest.js +80 -0
- package/tests/Forms/FormsTest.js.map +1 -0
- package/tests/Framework/Resolvers/EntityResolverTest.d.ts +2 -0
- package/tests/Framework/Resolvers/EntityResolverTest.d.ts.map +1 -0
- package/tests/Framework/Resolvers/EntityResolverTest.js +60 -0
- package/tests/Framework/Resolvers/EntityResolverTest.js.map +1 -0
- package/tests/Model/ModelTest.d.ts +2 -0
- package/tests/Model/ModelTest.d.ts.map +1 -0
- package/tests/Model/ModelTest.js +234 -0
- package/tests/Model/ModelTest.js.map +1 -0
- package/tests/Router/HttpHandlerTest.d.ts +2 -0
- package/tests/Router/HttpHandlerTest.d.ts.map +1 -0
- package/tests/Router/HttpHandlerTest.js +37 -0
- package/tests/Router/HttpHandlerTest.js.map +1 -0
- package/tests/Router/WebSocketsHandlerTest.d.ts +2 -0
- package/tests/Router/WebSocketsHandlerTest.d.ts.map +1 -0
- package/tests/Router/WebSocketsHandlerTest.js +36 -0
- package/tests/Router/WebSocketsHandlerTest.js.map +1 -0
- package/tests/Support/ArrayTest.d.ts +2 -0
- package/tests/Support/ArrayTest.d.ts.map +1 -0
- package/tests/Support/ArrayTest.js +197 -0
- package/tests/Support/ArrayTest.js.map +1 -0
- package/tests/Support/StringTest.d.ts +2 -0
- package/tests/Support/StringTest.d.ts.map +1 -0
- package/tests/Support/StringTest.js +39 -0
- package/tests/Support/StringTest.js.map +1 -0
- package/tests/Validation/RulesTest.d.ts +2 -0
- package/tests/Validation/RulesTest.d.ts.map +1 -0
- package/tests/Validation/RulesTest.js +68 -0
- package/tests/Validation/RulesTest.js.map +1 -0
package/Readme.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Typetron
|
|
2
|
+
> **Note:** This project is a prototype in heavy development and not ready for production.
|
|
3
|
+
|
|
4
|
+
**[Typetron](https://typetron.org)** is a **modern web framework** built for Node.js, written in **Typescript**, that
|
|
5
|
+
allows you to build fully featured web applications.
|
|
6
|
+
Typetron is best suited for small sized to enterprise level apps.
|
|
7
|
+
Most of the core packages it uses were built from scratch in order to preserve the performance of the framework.
|
|
8
|
+
|
|
9
|
+
_(check [this tutorial](https://typetron.org/tutorials/blog) on how to get started with Typetron)_
|
|
10
|
+
|
|
11
|
+
### Prerequisites
|
|
12
|
+
- [NodeJs >=12 LTS](https://nodejs.org)
|
|
13
|
+
|
|
14
|
+
#### Features
|
|
15
|
+
Typetron aims to have all the features necessary for building any web app without the need for you
|
|
16
|
+
to search the internet for a package to use. Almost all the packages it has were built from scratch and are
|
|
17
|
+
available in the framework.
|
|
18
|
+
This was done to ensure that all the features you are using benefit from the latest language features.
|
|
19
|
+
Also, every package can be tuned for performance or updated in no time if needed.
|
|
20
|
+
|
|
21
|
+
##### Features List
|
|
22
|
+
|
|
23
|
+
[typetron.org](https://typetron.org/docs/)
|
|
24
|
+
|
|
25
|
+
##### Performance
|
|
26
|
+
Being built with packages created from scratch using the latest features of the language, Typetron comes with
|
|
27
|
+
excellent performance out of the box compared to other available frameworks.
|
|
28
|
+
|
|
29
|
+
##### Developer experience
|
|
30
|
+
Typetron's source code is built around developer's expectations: it is modern, clean and beautiful.
|
|
31
|
+
Also, the tools Typetron is providing are everything a developer needs to build his next awesome project.
|
|
32
|
+
|
|
33
|
+
##### Code sharing
|
|
34
|
+
A few years ago we wrote websites. Nowadays we write web applications. The web evolved alongside the tools we are
|
|
35
|
+
using. A typical web application is composed of at least two parts: a backend app and a frontend app.
|
|
36
|
+
This separation led to two different camps that have a very distinct line between them. Typetron provides tools to make
|
|
37
|
+
these two camps work together.
|
|
38
|
+
|
|
39
|
+
#### Source code examples
|
|
40
|
+
|
|
41
|
+
##### Entities
|
|
42
|
+
```ts
|
|
43
|
+
export class User extends Entity {
|
|
44
|
+
|
|
45
|
+
@PrimaryColumn()
|
|
46
|
+
id: number;
|
|
47
|
+
|
|
48
|
+
@Column()
|
|
49
|
+
email: string;
|
|
50
|
+
|
|
51
|
+
@Column()
|
|
52
|
+
name: string;
|
|
53
|
+
|
|
54
|
+
@Relation(() => Post, 'author')
|
|
55
|
+
posts: HasMany<Post> = [];
|
|
56
|
+
|
|
57
|
+
@Relation(() => Group, 'users')
|
|
58
|
+
group: BelongsTo<Group>;
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
##### Forms
|
|
62
|
+
```ts
|
|
63
|
+
export class UserForm extends Form {
|
|
64
|
+
@Field()
|
|
65
|
+
@Rules(
|
|
66
|
+
Required,
|
|
67
|
+
)
|
|
68
|
+
email: string;
|
|
69
|
+
|
|
70
|
+
@Field()
|
|
71
|
+
@Rules(
|
|
72
|
+
Required,
|
|
73
|
+
MinLength(5),
|
|
74
|
+
)
|
|
75
|
+
name: string;
|
|
76
|
+
|
|
77
|
+
@Field()
|
|
78
|
+
dateOfBirth: Date;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
##### Controllers
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
@Controller('users')
|
|
86
|
+
export class UserController {
|
|
87
|
+
|
|
88
|
+
@Inject()
|
|
89
|
+
storage: Storage;
|
|
90
|
+
|
|
91
|
+
@AuthUser()
|
|
92
|
+
user: User;
|
|
93
|
+
|
|
94
|
+
@Get('me')
|
|
95
|
+
async me() {
|
|
96
|
+
return this.auth.user;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@Get()
|
|
100
|
+
async browse() {
|
|
101
|
+
return UserModel.from(User.get());
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
@Get(':User')
|
|
105
|
+
read(user: User) {
|
|
106
|
+
return user;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@Put(':User')
|
|
110
|
+
update(user: User, userForm: UserForm) {
|
|
111
|
+
return user.fill(userForm).save();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@Post()
|
|
115
|
+
create(userForm: UserForm) {
|
|
116
|
+
return User.create(userForm);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseController.d.ts","sourceRoot":"","sources":["../../Router/BaseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,cAAc,CAAA;AAEhD,qBAAa,cAAc;IAGvB,SAAS,CAAC,GAAG,EAAE,SAAS,CAAA;CAC3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BaseController = void 0;
|
|
13
|
+
const Container_1 = require("../Container");
|
|
14
|
+
class BaseController {
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
Container_1.Inject(),
|
|
18
|
+
__metadata("design:type", Container_1.Container)
|
|
19
|
+
], BaseController.prototype, "app", void 0);
|
|
20
|
+
exports.BaseController = BaseController;
|
|
21
|
+
//# sourceMappingURL=BaseController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../../Router/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAgD;AAEhD,MAAa,cAAc;CAI1B;AADG;IADC,kBAAM,EAAE;8BACM,qBAAS;2CAAA;AAH5B,wCAIC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Abstract, Type } from '../Support';
|
|
2
|
+
import { MiddlewareInterface } from './Middleware';
|
|
3
|
+
import { Guard } from './Guard';
|
|
4
|
+
declare class ControllerOptions {
|
|
5
|
+
prefix?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function Controller(path?: string, options?: ControllerOptions): (target: Object) => void;
|
|
8
|
+
export declare function Event(name?: string): (target: Object, action: string) => void;
|
|
9
|
+
export declare function OnOpen(target: Object, action: string): void;
|
|
10
|
+
export declare function OnClose(target: Object, action: string): void;
|
|
11
|
+
export declare function Arg(name: string): (target: Object, action: string, parameterIndex: number) => void;
|
|
12
|
+
export declare function Get(path?: string, name?: string): (target: Object, action: string) => void;
|
|
13
|
+
export declare function Post(path?: string, name?: string): (target: Object, action: string) => void;
|
|
14
|
+
export declare function Put(path?: string, name?: string): (target: Object, action: string) => void;
|
|
15
|
+
export declare function Patch(path?: string, name?: string): (target: Object, action: string) => void;
|
|
16
|
+
export declare function Delete(path?: string, name?: string): (target: Object, action: string) => void;
|
|
17
|
+
export declare function Middleware(...middleware: Abstract<MiddlewareInterface>[]): (target: Object, action?: string | undefined) => void;
|
|
18
|
+
export declare function AllowIf(...guards: Type<Guard>[]): (target: object, action: string) => void;
|
|
19
|
+
export declare function Query(name: string): (target: Object, action: string, parameterIndex: number) => void;
|
|
20
|
+
export declare function Body(): (target: Object, action: string, parameterIndex: number) => void;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=Decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decorators.d.ts","sourceRoot":"","sources":["../../Router/Decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAe,IAAI,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAK/B,cAAM,iBAAiB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,UAAU,CAAC,IAAI,SAAK,EAAE,OAAO,oBAAwB,YACjD,MAAM,UAkCzB;AA4BD,wBAAgB,KAAK,CAAC,IAAI,SAAK,YACX,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QASpD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QASrD;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,YACJ,MAAM,UAAU,MAAM,kBAAkB,MAAM,UAGzE;AAED,wBAAgB,GAAG,CAAC,IAAI,SAAK,EAAE,IAAI,SAAK,YACpB,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,SAAK,YAC7B,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,GAAG,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,SAAK,YAC5B,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,KAAK,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,SAAK,YAC9B,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,SAAK,YAC/B,MAAM,UAAU,MAAM,UAGzC;AAED,wBAAgB,UAAU,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,YACrD,MAAM,uCAiBzB;AAED,wBAAgB,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,YACpB,MAAM,UAAU,MAAM,UAiBjD;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,YACN,MAAM,UAAU,MAAM,kBAAkB,MAAM,UAkBzE;AAED,wBAAgB,IAAI,aACQ,MAAM,UAAU,MAAM,kBAAkB,MAAM,UAiBzE"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Body = exports.Query = exports.AllowIf = exports.Middleware = exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = exports.Arg = exports.OnClose = exports.OnOpen = exports.Event = exports.Controller = void 0;
|
|
4
|
+
const Framework_1 = require("../Framework");
|
|
5
|
+
const Metadata_1 = require("./Metadata");
|
|
6
|
+
const Http_1 = require("./Http");
|
|
7
|
+
const Websockets_1 = require("./Websockets");
|
|
8
|
+
const WebsocketEvent_1 = require("./Websockets/WebsocketEvent");
|
|
9
|
+
class ControllerOptions {
|
|
10
|
+
}
|
|
11
|
+
function Controller(path = '', options = new ControllerOptions) {
|
|
12
|
+
return (target) => {
|
|
13
|
+
const metadata = Metadata_1.ControllerMetadata.get(target);
|
|
14
|
+
const prefix = options.prefix || path ? path + '.' : '';
|
|
15
|
+
const httpHandler = Framework_1.App.get(Http_1.Handler);
|
|
16
|
+
const websocketHandler = Framework_1.App.get(Websockets_1.Handler);
|
|
17
|
+
Object.keys(metadata.routes).forEach(action => {
|
|
18
|
+
const routeMetadata = metadata.routes[action];
|
|
19
|
+
const route = httpHandler.addRoute(path + (path && routeMetadata.path ? '/' : '') + routeMetadata.path, routeMetadata.method, target, action, prefix + (routeMetadata.name || action), routeMetadata.parametersTypes, metadata.middleware.concat(routeMetadata.middleware));
|
|
20
|
+
route.guards = routeMetadata.guards;
|
|
21
|
+
});
|
|
22
|
+
Object.keys(metadata.events).forEach(action => {
|
|
23
|
+
const eventMetadata = metadata.events[action];
|
|
24
|
+
const name = prefix + (eventMetadata.name || action);
|
|
25
|
+
const event = websocketHandler.addEvent(name, target, action, eventMetadata.parametersTypes, metadata.middleware.concat(eventMetadata.middleware));
|
|
26
|
+
event.guards = eventMetadata.guards;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.Controller = Controller;
|
|
31
|
+
function addEvent(controller, action, name) {
|
|
32
|
+
const metadata = Metadata_1.ControllerMetadata.get(controller);
|
|
33
|
+
const event = metadata.events[action] || new Metadata_1.EventMetadata;
|
|
34
|
+
event.parametersTypes = Reflect.getMetadata('design:paramtypes', controller.prototype, action);
|
|
35
|
+
event.name = name;
|
|
36
|
+
metadata.events[action] = event;
|
|
37
|
+
Metadata_1.ControllerMetadata.set(metadata, controller);
|
|
38
|
+
}
|
|
39
|
+
function addRoute(controller, action, method, path, name) {
|
|
40
|
+
const metadata = Metadata_1.ControllerMetadata.get(controller);
|
|
41
|
+
const route = metadata.routes[action] || new Metadata_1.RouteMetadata;
|
|
42
|
+
route.parametersTypes = Reflect.getMetadata('design:paramtypes', controller.prototype, action);
|
|
43
|
+
route.path = path;
|
|
44
|
+
route.name = name;
|
|
45
|
+
route.method = method;
|
|
46
|
+
metadata.routes[action] = route;
|
|
47
|
+
Metadata_1.ControllerMetadata.set(metadata, controller);
|
|
48
|
+
}
|
|
49
|
+
function Event(name = '') {
|
|
50
|
+
return (target, action) => {
|
|
51
|
+
addEvent(target.constructor, action, name);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.Event = Event;
|
|
55
|
+
function OnOpen(target, action) {
|
|
56
|
+
const websocketHandler = Framework_1.App.get(Websockets_1.Handler);
|
|
57
|
+
websocketHandler.onOpen = new WebsocketEvent_1.WebsocketEvent('', target.constructor, action, Reflect.getMetadata('design:paramtypes', target, action));
|
|
58
|
+
}
|
|
59
|
+
exports.OnOpen = OnOpen;
|
|
60
|
+
function OnClose(target, action) {
|
|
61
|
+
const websocketHandler = Framework_1.App.get(Websockets_1.Handler);
|
|
62
|
+
websocketHandler.onClose = new WebsocketEvent_1.WebsocketEvent('', target.constructor, action, Reflect.getMetadata('design:paramtypes', target, action));
|
|
63
|
+
}
|
|
64
|
+
exports.OnClose = OnClose;
|
|
65
|
+
function Arg(name) {
|
|
66
|
+
return function (target, action, parameterIndex) {
|
|
67
|
+
// addEvent(target.constructor as Constructor, action, name)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
exports.Arg = Arg;
|
|
71
|
+
function Get(path = '', name = '') {
|
|
72
|
+
return (target, action) => {
|
|
73
|
+
addRoute(target.constructor, action, Http_1.Http.Method.GET, path, name);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
exports.Get = Get;
|
|
77
|
+
function Post(path = '', name = '') {
|
|
78
|
+
return (target, action) => {
|
|
79
|
+
addRoute(target.constructor, action, Http_1.Http.Method.POST, path, name);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
exports.Post = Post;
|
|
83
|
+
function Put(path = '', name = '') {
|
|
84
|
+
return (target, action) => {
|
|
85
|
+
addRoute(target.constructor, action, Http_1.Http.Method.PUT, path, name);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
exports.Put = Put;
|
|
89
|
+
function Patch(path = '', name = '') {
|
|
90
|
+
return (target, action) => {
|
|
91
|
+
addRoute(target.constructor, action, Http_1.Http.Method.PATCH, path, name);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
exports.Patch = Patch;
|
|
95
|
+
function Delete(path = '', name = '') {
|
|
96
|
+
return (target, action) => {
|
|
97
|
+
addRoute(target.constructor, action, Http_1.Http.Method.DELETE, path, name);
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
exports.Delete = Delete;
|
|
101
|
+
function Middleware(...middleware) {
|
|
102
|
+
return (target, action) => {
|
|
103
|
+
if (action) {
|
|
104
|
+
target = target.constructor;
|
|
105
|
+
}
|
|
106
|
+
const metadata = Metadata_1.ControllerMetadata.get(target);
|
|
107
|
+
if (action) {
|
|
108
|
+
const route = metadata.routes[action] || new Metadata_1.RouteMetadata;
|
|
109
|
+
route.middleware = route.middleware.concat(middleware);
|
|
110
|
+
metadata.routes[action] = route;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
metadata.middleware = metadata.middleware.concat(middleware);
|
|
114
|
+
}
|
|
115
|
+
Metadata_1.ControllerMetadata.set(metadata, target);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
exports.Middleware = Middleware;
|
|
119
|
+
function AllowIf(...guards) {
|
|
120
|
+
return function (target, action) {
|
|
121
|
+
if (action) {
|
|
122
|
+
target = target.constructor;
|
|
123
|
+
}
|
|
124
|
+
const metadata = Metadata_1.ControllerMetadata.get(target);
|
|
125
|
+
if (action) {
|
|
126
|
+
const route = metadata.routes[action] || new Metadata_1.RouteMetadata;
|
|
127
|
+
route.guards = route.guards.concat(guards);
|
|
128
|
+
metadata.routes[action] = route;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
metadata.guards = metadata.guards.concat(guards);
|
|
132
|
+
}
|
|
133
|
+
Metadata_1.ControllerMetadata.set(metadata, target);
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
exports.AllowIf = AllowIf;
|
|
137
|
+
function Query(name) {
|
|
138
|
+
return function (target, action, parameterIndex) {
|
|
139
|
+
const metadata = Metadata_1.ControllerMetadata.get(target.constructor);
|
|
140
|
+
const parametersTypes = Reflect.getMetadata('design:paramtypes', target, action);
|
|
141
|
+
const route = metadata.routes[action] || new Metadata_1.RouteMetadata();
|
|
142
|
+
route.parametersOverrides[parameterIndex] = function (container) {
|
|
143
|
+
const request = container.get(Http_1.Request);
|
|
144
|
+
const value = request.query[name];
|
|
145
|
+
if (parametersTypes[parameterIndex].name === 'Number') {
|
|
146
|
+
return value === undefined || value === 'undefined' ? undefined : Number(value);
|
|
147
|
+
}
|
|
148
|
+
return value;
|
|
149
|
+
};
|
|
150
|
+
metadata.routes[action] = route;
|
|
151
|
+
Metadata_1.ControllerMetadata.set(metadata, target.constructor);
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
exports.Query = Query;
|
|
155
|
+
function Body() {
|
|
156
|
+
return function (target, action, parameterIndex) {
|
|
157
|
+
const metadata = Metadata_1.ControllerMetadata.get(target.constructor);
|
|
158
|
+
const route = metadata.events[action] || new Metadata_1.RouteMetadata();
|
|
159
|
+
route.parametersOverrides[parameterIndex] = function (container) {
|
|
160
|
+
const request = container.get(Http_1.Request);
|
|
161
|
+
if (!request.body) {
|
|
162
|
+
throw new Error(`There is no data in the 'body' of the request`);
|
|
163
|
+
}
|
|
164
|
+
return request.body;
|
|
165
|
+
};
|
|
166
|
+
metadata.events[action] = route;
|
|
167
|
+
Metadata_1.ControllerMetadata.set(metadata, target.constructor);
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
exports.Body = Body;
|
|
171
|
+
//# sourceMappingURL=Decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../Router/Decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Guard.d.ts","sourceRoot":"","sources":["../../Router/Guard.ts"],"names":[],"mappings":"AAEA,8BAAsB,KAAK;IAEvB,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAEpD,MAAM,IAAI,IAAI;CAGjB"}
|
package/Router/Guard.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Guard = void 0;
|
|
4
|
+
const Http_1 = require("./Http");
|
|
5
|
+
class Guard {
|
|
6
|
+
onFail() {
|
|
7
|
+
throw new Http_1.HttpError('Unauthorized', Http_1.Http.Status.UNAUTHORIZED);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.Guard = Guard;
|
|
11
|
+
//# sourceMappingURL=Guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Guard.js","sourceRoot":"","sources":["../../Router/Guard.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAExC,MAAsB,KAAK;IAIvB,MAAM;QACF,MAAM,IAAI,gBAAS,CAAC,cAAc,EAAE,WAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;CACJ;AAPD,sBAOC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contracts.d.ts","sourceRoot":"","sources":["../../../Router/Http/Contracts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contracts.js","sourceRoot":"","sources":["../../../Router/Http/Contracts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Response } from './Response';
|
|
2
|
+
import { ErrorHandlerInterface } from './ErrorHandlerInterface';
|
|
3
|
+
import { Request } from './Request';
|
|
4
|
+
import { AppConfig } from '../../Framework/Config';
|
|
5
|
+
export declare class ErrorHandler implements ErrorHandlerInterface {
|
|
6
|
+
appConfig: AppConfig;
|
|
7
|
+
handle(error: Error, request?: Request): Response<string | object>;
|
|
8
|
+
private handleDevelopmentError;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ErrorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../../../Router/Http/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,qBAAa,YAAa,YAAW,qBAAqB;IAGtD,SAAS,EAAE,SAAS,CAAA;IAEpB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO;IAWtC,OAAO,CAAC,sBAAsB;CAoBjC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ErrorHandler = void 0;
|
|
13
|
+
const Response_1 = require("./Response");
|
|
14
|
+
const HttpError_1 = require("./Errors/HttpError");
|
|
15
|
+
const index_1 = require("./index");
|
|
16
|
+
const Container_1 = require("../../Container");
|
|
17
|
+
const Config_1 = require("../../Framework/Config");
|
|
18
|
+
class ErrorHandler {
|
|
19
|
+
handle(error, request) {
|
|
20
|
+
if (this.appConfig.environment === 'production') {
|
|
21
|
+
if (error instanceof HttpError_1.HttpError) {
|
|
22
|
+
return new Response_1.Response(error.content, error.status);
|
|
23
|
+
}
|
|
24
|
+
return new Response_1.Response(error.message, index_1.Http.Status.BAD_REQUEST);
|
|
25
|
+
}
|
|
26
|
+
return this.handleDevelopmentError(error, request);
|
|
27
|
+
}
|
|
28
|
+
handleDevelopmentError(error, request) {
|
|
29
|
+
let code = index_1.Http.Status.BAD_REQUEST, message = '', stack;
|
|
30
|
+
stack = error.stack ? error.stack.replace(/\n|\s{2,}/g, '').split('at ') : [];
|
|
31
|
+
if (error instanceof HttpError_1.HttpError) {
|
|
32
|
+
code = error.status;
|
|
33
|
+
message = error.content;
|
|
34
|
+
if (request) {
|
|
35
|
+
stack.unshift(`Route: ${request.method} ${request.uri}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
message = error.message;
|
|
40
|
+
}
|
|
41
|
+
const errorInfo = {
|
|
42
|
+
message, stack
|
|
43
|
+
};
|
|
44
|
+
return new Response_1.Response(errorInfo, code);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
__decorate([
|
|
48
|
+
Container_1.Inject(),
|
|
49
|
+
__metadata("design:type", Config_1.AppConfig)
|
|
50
|
+
], ErrorHandler.prototype, "appConfig", void 0);
|
|
51
|
+
exports.ErrorHandler = ErrorHandler;
|
|
52
|
+
//# sourceMappingURL=ErrorHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../Router/Http/ErrorHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAqC;AAErC,kDAA8C;AAC9C,mCAA8B;AAE9B,+CAAwC;AACxC,mDAAkD;AAElD,MAAa,YAAY;IAKrB,MAAM,CAAC,KAAY,EAAE,OAAiB;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,KAAK,YAAY,EAAE;YAC7C,IAAI,KAAK,YAAY,qBAAS,EAAE;gBAC5B,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;aACnD;YACD,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,YAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;SAC9D;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAEO,sBAAsB,CAAC,KAAY,EAAE,OAAiB;QAC1D,IAAI,IAAI,GAAG,YAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAA6B,EAAE,EAAE,KAAe,CAAA;QAE3F,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7E,IAAI,KAAK,YAAY,qBAAS,EAAE;YAC5B,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;YACnB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YACvB,IAAI,OAAO,EAAE;gBACT,KAAK,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;aAC3D;SACJ;aAAM;YACH,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;SAC1B;QAED,MAAM,SAAS,GAA0D;YACrE,OAAO,EAAE,KAAK;SACjB,CAAA;QAED,OAAO,IAAI,mBAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;CACJ;AAjCG;IADC,kBAAM,EAAE;8BACE,kBAAS;+CAAA;AAHxB,oCAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandlerInterface.d.ts","sourceRoot":"","sources":["../../../Router/Http/ErrorHandlerInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,qBAAqB;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;CAC5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandlerInterface.js","sourceRoot":"","sources":["../../../Router/Http/ErrorHandlerInterface.ts"],"names":[],"mappings":";;;AAGA,MAAa,qBAAqB;CAEjC;AAFD,sDAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Http } from '../index';
|
|
2
|
+
export declare class HttpError extends Error {
|
|
3
|
+
content: string | object;
|
|
4
|
+
status: Http.Status;
|
|
5
|
+
constructor(content: string | object, status?: Http.Status);
|
|
6
|
+
getMessage(): string | object;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=HttpError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpError.d.ts","sourceRoot":"","sources":["../../../../Router/Http/Errors/HttpError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,qBAAa,SAAU,SAAQ,KAAK;IAGrB,OAAO,EAAE,MAAM,GAAG,MAAM;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM;gBADnB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,MAAM,GAAE,IAAI,CAAC,MAAgC;IAKxD,UAAU;CAGb"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpError = void 0;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
class HttpError extends Error {
|
|
6
|
+
constructor(content, status = index_1.Http.Status.BAD_REQUEST) {
|
|
7
|
+
super(typeof content === 'string' ? content : 'HTTP Error');
|
|
8
|
+
this.content = content;
|
|
9
|
+
this.status = status;
|
|
10
|
+
}
|
|
11
|
+
getMessage() {
|
|
12
|
+
return this.content;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.HttpError = HttpError;
|
|
16
|
+
//# sourceMappingURL=HttpError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpError.js","sourceRoot":"","sources":["../../../../Router/Http/Errors/HttpError.ts"],"names":[],"mappings":";;;AAAA,oCAA+B;AAE/B,MAAa,SAAU,SAAQ,KAAK;IAEhC,YACW,OAAwB,EACxB,SAAsB,YAAI,CAAC,MAAM,CAAC,WAAW;QAEpD,KAAK,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAHpD,YAAO,GAAP,OAAO,CAAiB;QACxB,WAAM,GAAN,MAAM,CAAuC;IAGxD,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;CACJ;AAZD,8BAYC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Container } from '../../Container';
|
|
2
|
+
import { MiddlewareInterface, Route, Router } from '../';
|
|
3
|
+
import { ErrorHandlerInterface, Http, Response } from './';
|
|
4
|
+
import { Request } from './Request';
|
|
5
|
+
import { Abstract, Constructor, Type } from '@Typetron/Support';
|
|
6
|
+
export declare class Handler {
|
|
7
|
+
router: Router;
|
|
8
|
+
errorHandler: ErrorHandlerInterface;
|
|
9
|
+
cachedRoutes: Record<string, number>;
|
|
10
|
+
addRoute(uri: string, method: Http.Method, controller: Constructor, action: string, name: string, parametersTypes?: (Type<Function> | FunctionConstructor)[], middleware?: Abstract<MiddlewareInterface>[]): Route;
|
|
11
|
+
startServer(app: Container): void;
|
|
12
|
+
handle(app: Container, request: Request): Promise<Response>;
|
|
13
|
+
private findRouteIndex;
|
|
14
|
+
private prepareUri;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../Router/Http/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAkB,KAAK,EAAsB,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE/D,qBAAa,OAAO;IAEhB,MAAM,EAAE,MAAM,CAAA;IAGd,YAAY,EAAE,qBAAqB,CAAA;IAEnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IAEzC,QAAQ,CACJ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,EAAO,EAC9D,UAAU,GAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAO,GACjD,KAAK;IAkBR,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAgB3B,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCjE,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,UAAU;CASrB"}
|