@typetron/framework 0.3.17 → 0.4.0-rc1
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/Cache/Cache.d.ts +9 -0
- package/Cache/Cache.d.ts.map +1 -0
- package/Cache/Cache.js +7 -0
- package/Cache/Cache.js.map +1 -0
- package/Cache/Stores/DatabaseStore.d.ts +16 -0
- package/Cache/Stores/DatabaseStore.d.ts.map +1 -0
- package/Cache/Stores/DatabaseStore.js +104 -0
- package/Cache/Stores/DatabaseStore.js.map +1 -0
- package/Cache/Stores/FileStore.d.ts +16 -0
- package/Cache/Stores/FileStore.d.ts.map +1 -0
- package/Cache/Stores/FileStore.js +63 -0
- package/Cache/Stores/FileStore.js.map +1 -0
- package/Cache/Stores/MemoryStore.d.ts +13 -0
- package/Cache/Stores/MemoryStore.d.ts.map +1 -0
- package/Cache/Stores/MemoryStore.js +60 -0
- package/Cache/Stores/MemoryStore.js.map +1 -0
- package/Cache/index.d.ts +6 -0
- package/Cache/index.d.ts.map +1 -0
- package/Cache/index.js +18 -0
- package/Cache/index.js.map +1 -0
- package/Cache/types.d.ts +5 -0
- package/Cache/types.d.ts.map +1 -0
- package/Cache/types.js +3 -0
- package/Cache/types.js.map +1 -0
- package/Container/ClassResolver.d.ts +8 -8
- package/Container/ClassResolver.d.ts.map +1 -1
- package/Container/ClassResolver.js +92 -87
- package/Container/ClassResolver.js.map +1 -1
- package/Container/Container.d.ts +24 -24
- package/Container/Container.d.ts.map +1 -1
- package/Container/Container.js +119 -118
- package/Container/Container.js.map +1 -1
- package/Container/Contracts.d.ts +2 -2
- package/Container/Contracts.js +2 -2
- package/Container/Decorators.d.ts +4 -4
- package/Container/Decorators.js +21 -21
- package/Container/Decorators.js.map +1 -1
- package/Container/Metadata.d.ts +20 -20
- package/Container/Metadata.js +18 -18
- package/Container/Resolver.d.ts +18 -18
- package/Container/Resolver.js +15 -15
- package/Container/index.d.ts +5 -5
- package/Container/index.js +17 -17
- package/Database/Clauses/Where.js +1 -1
- package/Database/Connection.d.ts +20 -20
- package/Database/Connection.js +42 -42
- package/Database/Decorators.d.ts +36 -36
- package/Database/Decorators.js +115 -116
- package/Database/Decorators.js.map +1 -1
- package/Database/Drivers/DatabaseDriver.d.ts +28 -28
- package/Database/Drivers/DatabaseDriver.js +6 -6
- package/Database/Drivers/MySQL/Alter/index.d.ts +33 -33
- package/Database/Drivers/MySQL/Alter/index.js +61 -61
- package/Database/Drivers/MySQL/ColumnDefinition.d.ts +6 -6
- package/Database/Drivers/MySQL/ColumnDefinition.js +17 -17
- package/Database/Drivers/MySQL/Create.d.ts +9 -9
- package/Database/Drivers/MySQL/Create.js +37 -37
- package/Database/Drivers/MySQL/MysqlDriver.d.ts +41 -41
- package/Database/Drivers/MySQL/MysqlDriver.js +75 -76
- package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -1
- package/Database/Drivers/MySQL/Schema.d.ts +15 -15
- package/Database/Drivers/MySQL/Schema.js +66 -65
- package/Database/Drivers/MySQL/Schema.js.map +1 -1
- package/Database/Drivers/MySQL/index.d.ts +1 -1
- package/Database/Drivers/MySQL/index.js +15 -15
- package/Database/Drivers/SQL/Schema.d.ts +6 -6
- package/Database/Drivers/SQL/Schema.js +57 -57
- package/Database/Drivers/SQL/Statements/Alter.d.ts +7 -7
- package/Database/Drivers/SQL/Statements/Alter.js +17 -17
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +12 -12
- package/Database/Drivers/SQL/Statements/BaseStatement.js +45 -46
- package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Delete.d.ts +5 -5
- package/Database/Drivers/SQL/Statements/Delete.js +16 -16
- package/Database/Drivers/SQL/Statements/Insert.d.ts +6 -6
- package/Database/Drivers/SQL/Statements/Insert.js +22 -23
- package/Database/Drivers/SQL/Statements/Insert.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Select.d.ts +7 -7
- package/Database/Drivers/SQL/Statements/Select.js +44 -44
- package/Database/Drivers/SQL/Statements/Update.d.ts +6 -6
- package/Database/Drivers/SQL/Statements/Update.js +27 -27
- package/Database/Drivers/SQL/index.d.ts +8 -8
- package/Database/Drivers/SQL/index.js +2 -2
- package/Database/Drivers/SQLite/Create.d.ts +9 -9
- package/Database/Drivers/SQLite/Create.js +36 -36
- package/Database/Drivers/SQLite/Schema.d.ts +15 -15
- package/Database/Drivers/SQLite/Schema.js +46 -44
- package/Database/Drivers/SQLite/Schema.js.map +1 -1
- package/Database/Drivers/SQLite/SqliteDriver.d.ts +42 -42
- package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
- package/Database/Drivers/SQLite/SqliteDriver.js +102 -102
- package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
- package/Database/Drivers/SQLite/index.d.ts +2 -2
- package/Database/Drivers/SQLite/index.js +26 -26
- package/Database/Drivers/SchemaContract.d.ts +8 -8
- package/Database/Drivers/SchemaContract.js +9 -9
- package/Database/Drivers/Statement.d.ts +9 -9
- package/Database/Drivers/Statement.js +15 -15
- package/Database/Drivers/index.d.ts +4 -4
- package/Database/Drivers/index.js +16 -16
- package/Database/Entity.d.ts +64 -64
- package/Database/Entity.d.ts.map +1 -1
- package/Database/Entity.js +251 -252
- package/Database/Entity.js.map +1 -1
- package/Database/EntityNotFoundError.d.ts +5 -5
- package/Database/EntityNotFoundError.js +10 -10
- package/Database/EntityProxyHandler.d.ts +5 -5
- package/Database/EntityProxyHandler.js +30 -30
- package/Database/EntityQuery.d.ts +28 -28
- package/Database/EntityQuery.js +156 -156
- package/Database/Expression.d.ts +3 -3
- package/Database/Expression.js +6 -6
- package/Database/Fields.d.ts +155 -155
- package/Database/Fields.js +544 -548
- package/Database/Fields.js.map +1 -1
- package/Database/Helpers.d.ts +1 -1
- package/Database/Helpers.js +16 -16
- package/Database/List.d.ts +24 -24
- package/Database/List.d.ts.map +1 -1
- package/Database/List.js +49 -49
- package/Database/List.js.map +1 -1
- package/Database/Migrations/Migration.d.ts +7 -7
- package/Database/Migrations/Migration.js +9 -9
- package/Database/Migrations/MigrationHistory.d.ts +8 -8
- package/Database/Migrations/MigrationHistory.js +38 -38
- package/Database/Migrations/Migrator.d.ts +20 -20
- package/Database/Migrations/Migrator.js +117 -118
- package/Database/Migrations/Migrator.js.map +1 -1
- package/Database/Migrations/index.d.ts +3 -3
- package/Database/Migrations/index.js +15 -15
- package/Database/ORM/BaseRelationship.d.ts +7 -7
- package/Database/ORM/BaseRelationship.js +10 -10
- package/Database/Query.d.ts +62 -62
- package/Database/Query.d.ts.map +1 -1
- package/Database/Query.js +265 -264
- package/Database/Query.js.map +1 -1
- package/Database/Seeders/Seeder.d.ts +3 -3
- package/Database/Seeders/Seeder.js +6 -6
- package/Database/Seeders/SeederManager.d.ts +8 -8
- package/Database/Seeders/SeederManager.js +24 -24
- package/Database/Seeders/index.d.ts +2 -2
- package/Database/Seeders/index.js +14 -14
- package/Database/StringExpression.d.ts +6 -6
- package/Database/StringExpression.js +14 -14
- package/Database/Types.d.ts +117 -117
- package/Database/Types.d.ts.map +1 -1
- package/Database/Types.js +94 -94
- package/Database/Types.js.map +1 -1
- package/Database/index.d.ts +20 -20
- package/Database/index.js +20 -20
- package/Encryption/index.d.ts +15 -15
- package/Encryption/index.js +53 -53
- package/Encryption/index.js.map +1 -1
- package/Forms/Decorators.d.ts +6 -6
- package/Forms/Decorators.js +28 -28
- package/Forms/Form.d.ts +17 -17
- package/Forms/Form.js +69 -69
- package/Forms/FormFields.d.ts +9 -9
- package/Forms/FormFields.js +35 -35
- package/Forms/index.d.ts +3 -3
- package/Forms/index.js +15 -15
- package/Framework/App.d.ts +6 -6
- package/Framework/App.js +9 -9
- package/Framework/Application.d.ts +17 -17
- package/Framework/Application.d.ts.map +1 -1
- package/Framework/Application.js +93 -93
- package/Framework/Application.js.map +1 -1
- package/Framework/Auth/Auth.d.ts +24 -24
- package/Framework/Auth/Auth.js +108 -108
- package/Framework/Auth/Authenticatable.d.ts +6 -6
- package/Framework/Auth/Authenticatable.js +2 -2
- package/Framework/Auth/User.d.ts +10 -10
- package/Framework/Auth/User.js +37 -37
- package/Framework/Auth/index.d.ts +5 -5
- package/Framework/Auth/index.d.ts.map +1 -1
- package/Framework/Auth/index.js +45 -45
- package/Framework/Auth/index.js.map +1 -1
- package/Framework/Config/AppConfig.d.ts +19 -18
- package/Framework/Config/AppConfig.d.ts.map +1 -1
- package/Framework/Config/AppConfig.js +12 -11
- package/Framework/Config/AppConfig.js.map +1 -1
- package/Framework/Config/AuthConfig.d.ts +8 -8
- package/Framework/Config/AuthConfig.js +7 -7
- package/Framework/Config/BaseConfig.d.ts +6 -6
- package/Framework/Config/BaseConfig.js +12 -12
- package/Framework/Config/CacheConfig.d.ts +16 -0
- package/Framework/Config/CacheConfig.d.ts.map +1 -0
- package/Framework/Config/CacheConfig.js +22 -0
- package/Framework/Config/CacheConfig.js.map +1 -0
- package/Framework/Config/DatabaseConfig.d.ts +10 -10
- package/Framework/Config/DatabaseConfig.js +24 -25
- package/Framework/Config/DatabaseConfig.js.map +1 -1
- package/Framework/Config/MailConfig.d.ts +19 -0
- package/Framework/Config/MailConfig.d.ts.map +1 -0
- package/Framework/Config/MailConfig.js +12 -0
- package/Framework/Config/MailConfig.js.map +1 -0
- package/Framework/Config/index.d.ts +6 -4
- package/Framework/Config/index.d.ts.map +1 -1
- package/Framework/Config/index.js +18 -16
- package/Framework/Config/index.js.map +1 -1
- package/Framework/Middleware/AuthMiddleware.d.ts +7 -7
- package/Framework/Middleware/AuthMiddleware.js +62 -63
- package/Framework/Middleware/AuthMiddleware.js.map +1 -1
- package/Framework/Middleware/CorsMiddleware.d.ts +6 -6
- package/Framework/Middleware/CorsMiddleware.d.ts.map +1 -1
- package/Framework/Middleware/CorsMiddleware.js +44 -43
- package/Framework/Middleware/CorsMiddleware.js.map +1 -1
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts +14 -14
- package/Framework/Middleware/StaticAssetsMiddleware.js +103 -104
- package/Framework/Middleware/StaticAssetsMiddleware.js.map +1 -1
- package/Framework/Middleware/index.d.ts +2 -2
- package/Framework/Middleware/index.js +14 -14
- package/Framework/Provider.d.ts +5 -5
- package/Framework/Provider.js +20 -20
- package/Framework/Providers/CacheProvider.d.ts +7 -0
- package/Framework/Providers/CacheProvider.d.ts.map +1 -0
- package/Framework/Providers/CacheProvider.js +39 -0
- package/Framework/Providers/CacheProvider.js.map +1 -0
- package/Framework/Providers/DatabaseProvider.d.ts +9 -9
- package/Framework/Providers/DatabaseProvider.js +63 -63
- package/Framework/Providers/MailProvider.d.ts +7 -0
- package/Framework/Providers/MailProvider.d.ts.map +1 -0
- package/Framework/Providers/MailProvider.js +40 -0
- package/Framework/Providers/MailProvider.js.map +1 -0
- package/Framework/Providers/WebsocketsProvider.d.ts +12 -12
- package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
- package/Framework/Providers/WebsocketsProvider.js +118 -122
- package/Framework/Providers/WebsocketsProvider.js.map +1 -1
- package/Framework/Resolvers/AuthResolver.d.ts +5 -5
- package/Framework/Resolvers/AuthResolver.js +14 -14
- package/Framework/Resolvers/EntityResolver.d.ts +9 -9
- package/Framework/Resolvers/EntityResolver.js +39 -40
- package/Framework/Resolvers/EntityResolver.js.map +1 -1
- package/Framework/Resolvers/FormResolver.d.ts +9 -9
- package/Framework/Resolvers/FormResolver.js +32 -32
- package/Framework/RootDir.d.ts +2 -2
- package/Framework/RootDir.js +6 -6
- package/Framework/index.d.ts +8 -6
- package/Framework/index.d.ts.map +1 -1
- package/Framework/index.js +20 -18
- package/Framework/index.js.map +1 -1
- package/Frontend/Angular/index.d.ts +8 -0
- package/Frontend/Angular/index.d.ts.map +1 -0
- package/Frontend/Angular/index.js +20 -0
- package/Frontend/Angular/index.js.map +1 -0
- package/Frontend/Websockets/index.js +76 -0
- package/Frontend/Websockets/index.js.map +1 -0
- package/LICENSE.md +20 -20
- package/Mail/MailAddress.d.ts +5 -0
- package/Mail/MailAddress.d.ts.map +1 -0
- package/Mail/MailAddress.js +3 -0
- package/Mail/MailAddress.js.map +1 -0
- package/Mail/MailTransport.d.ts +6 -0
- package/Mail/MailTransport.d.ts.map +1 -0
- package/Mail/MailTransport.js +7 -0
- package/Mail/MailTransport.js.map +1 -0
- package/Mail/Mailable.d.ts +18 -0
- package/Mail/Mailable.d.ts.map +1 -0
- package/Mail/Mailable.js +10 -0
- package/Mail/Mailable.js.map +1 -0
- package/Mail/Mailer.d.ts +12 -0
- package/Mail/Mailer.d.ts.map +1 -0
- package/Mail/Mailer.js +25 -0
- package/Mail/Mailer.js.map +1 -0
- package/Mail/PendingMail.d.ts +30 -0
- package/Mail/PendingMail.d.ts.map +1 -0
- package/Mail/PendingMail.js +53 -0
- package/Mail/PendingMail.js.map +1 -0
- package/Mail/SentMessage.d.ts +16 -0
- package/Mail/SentMessage.d.ts.map +1 -0
- package/Mail/SentMessage.js +13 -0
- package/Mail/SentMessage.js.map +1 -0
- package/Mail/Transports/MemoryTransport.d.ts +8 -0
- package/Mail/Transports/MemoryTransport.d.ts.map +1 -0
- package/Mail/Transports/MemoryTransport.js +18 -0
- package/Mail/Transports/MemoryTransport.js.map +1 -0
- package/Mail/Transports/SendGridTransport.d.ts +11 -0
- package/Mail/Transports/SendGridTransport.d.ts.map +1 -0
- package/Mail/Transports/SendGridTransport.js +59 -0
- package/Mail/Transports/SendGridTransport.js.map +1 -0
- package/Mail/index.d.ts +4 -0
- package/Mail/index.d.ts.map +1 -0
- package/Mail/index.js +16 -0
- package/Mail/index.js.map +1 -0
- package/Models/Model.d.ts +9 -9
- package/Models/Model.js +35 -35
- package/Models/Model.js.map +1 -1
- package/Models/index.d.ts +21 -21
- package/Models/index.d.ts.map +1 -1
- package/Models/index.js +58 -58
- package/Models/index.js.map +1 -1
- package/Router/BaseController.d.ts +4 -4
- package/Router/BaseController.js +20 -20
- package/Router/Decorators.d.ts +21 -21
- package/Router/Decorators.js +170 -170
- package/Router/Guard.d.ts +4 -4
- package/Router/Guard.js +10 -10
- package/Router/Http/Contracts.d.ts +3 -3
- package/Router/Http/Contracts.js +2 -2
- package/Router/Http/ErrorHandler.d.ts +9 -9
- package/Router/Http/ErrorHandler.js +51 -51
- package/Router/Http/ErrorHandlerInterface.d.ts +5 -5
- package/Router/Http/ErrorHandlerInterface.js +6 -6
- package/Router/Http/Errors/HttpError.d.ts +7 -7
- package/Router/Http/Errors/HttpError.js +15 -15
- package/Router/Http/Handler.d.ts +15 -15
- package/Router/Http/Handler.d.ts.map +1 -1
- package/Router/Http/Handler.js +131 -131
- package/Router/Http/Handler.js.map +1 -1
- package/Router/Http/Request.d.ts +27 -22
- package/Router/Http/Request.d.ts.map +1 -1
- package/Router/Http/Request.js +185 -151
- package/Router/Http/Request.js.map +1 -1
- package/Router/Http/Response.d.ts +18 -17
- package/Router/Http/Response.d.ts.map +1 -1
- package/Router/Http/Response.js +42 -51
- package/Router/Http/Response.js.map +1 -1
- package/Router/Http/index.d.ts +83 -83
- package/Router/Http/index.js +99 -99
- package/Router/Metadata.d.ts +31 -31
- package/Router/Metadata.js +25 -25
- package/Router/Middleware.d.ts +5 -5
- package/Router/Middleware.js +2 -2
- package/Router/Route.d.ts +23 -23
- package/Router/Route.js +110 -110
- package/Router/RouteNotFoundError.d.ts +3 -3
- package/Router/RouteNotFoundError.js +9 -9
- package/Router/Router.d.ts +12 -12
- package/Router/Router.js +32 -32
- package/Router/Servers/index.d.ts +5 -0
- package/Router/Servers/index.d.ts.map +1 -0
- package/Router/Servers/index.js +15 -0
- package/Router/Servers/index.js.map +1 -0
- package/Router/Servers/node.d.ts +3 -0
- package/Router/Servers/node.d.ts.map +1 -0
- package/Router/Servers/node.js +15 -0
- package/Router/Servers/node.js.map +1 -0
- package/Router/Servers/uNetworking.d.ts +3 -0
- package/Router/Servers/uNetworking.d.ts.map +1 -0
- package/Router/Servers/uNetworking.js +33 -0
- package/Router/Servers/uNetworking.js.map +1 -0
- package/Router/Websockets/Handler.d.ts +12 -12
- package/Router/Websockets/Handler.d.ts.map +1 -1
- package/Router/Websockets/Handler.js +59 -59
- package/Router/Websockets/Handler.js.map +1 -1
- package/Router/Websockets/WebsocketEvent.d.ts +15 -15
- package/Router/Websockets/WebsocketEvent.js +52 -53
- package/Router/Websockets/WebsocketEvent.js.map +1 -1
- package/Router/Websockets/index.d.ts +16 -16
- package/Router/Websockets/index.d.ts.map +1 -1
- package/Router/Websockets/index.js +57 -57
- package/Router/Websockets/index.js.map +1 -1
- package/Router/Websockets/types.d.ts +20 -20
- package/Router/Websockets/types.d.ts.map +1 -1
- package/Router/Websockets/types.js +8 -8
- package/Router/index.d.ts +6 -6
- package/Router/index.js +18 -18
- package/Router/micro.d.ts +3 -0
- package/Router/micro.d.ts.map +1 -0
- package/Router/micro.js +44 -0
- package/Router/micro.js.map +1 -0
- package/Storage/File.d.ts +11 -11
- package/Storage/File.js +46 -46
- package/Storage/Image.d.ts +3 -3
- package/Storage/Image.js +7 -7
- package/Storage/InvalidImage.d.ts +3 -3
- package/Storage/InvalidImage.js +7 -7
- package/Storage/Storage.d.ts +13 -12
- package/Storage/Storage.d.ts.map +1 -1
- package/Storage/Storage.js +104 -110
- package/Storage/Storage.js.map +1 -1
- package/Storage/index.d.ts +4 -4
- package/Storage/index.js +16 -16
- package/Storage/utils.d.ts +5 -5
- package/Storage/utils.js +20 -20
- package/Support/Array.d.ts +28 -28
- package/Support/Array.d.ts.map +1 -1
- package/Support/Array.js +111 -108
- package/Support/Array.js.map +1 -1
- package/Support/Math.d.ts +6 -6
- package/Support/Math.js +7 -7
- package/Support/Metadata.d.ts +15 -14
- package/Support/Metadata.d.ts.map +1 -1
- package/Support/Metadata.js +31 -20
- package/Support/Metadata.js.map +1 -1
- package/Support/String.d.ts +11 -11
- package/Support/String.js +23 -23
- package/Support/index.d.ts +14 -13
- package/Support/index.d.ts.map +1 -1
- package/Support/index.js +6 -5
- package/Support/index.js.map +1 -1
- package/Support/utils.d.ts +2 -0
- package/Support/utils.d.ts.map +1 -0
- package/Support/utils.js +13 -0
- package/Support/utils.js.map +1 -0
- package/Testing/TestCase.d.ts +32 -32
- package/Testing/TestCase.js +129 -130
- package/Testing/TestCase.js.map +1 -1
- package/Validation/Rule.d.ts +6 -6
- package/Validation/Rule.js +6 -6
- package/Validation/RuleInterface.d.ts +6 -6
- package/Validation/RuleInterface.js +2 -2
- package/Validation/Rules/Email.d.ts +3 -3
- package/Validation/Rules/Email.js +20 -20
- package/Validation/Rules/Email.js.map +1 -1
- package/Validation/Rules/FileExtension.d.ts +3 -3
- package/Validation/Rules/FileExtension.js +22 -22
- package/Validation/Rules/FileExtension.js.map +1 -1
- package/Validation/Rules/MaxLength.d.ts +3 -3
- package/Validation/Rules/MaxLength.js +19 -19
- package/Validation/Rules/MaxLength.js.map +1 -1
- package/Validation/Rules/MinLength.d.ts +3 -3
- package/Validation/Rules/MinLength.js +19 -19
- package/Validation/Rules/MinLength.js.map +1 -1
- package/Validation/Rules/Optional.d.ts +3 -3
- package/Validation/Rules/Optional.js +19 -19
- package/Validation/Rules/Required.d.ts +3 -3
- package/Validation/Rules/Required.js +26 -26
- package/Validation/Rules/Required.js.map +1 -1
- package/Validation/Validator.d.ts +11 -11
- package/Validation/Validator.js +10 -10
- package/Validation/index.d.ts +9 -9
- package/Validation/index.js +21 -21
- package/benchmark-index.js.map +1 -0
- package/benchmark.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -0
- package/index.js +41 -0
- package/index.js.map +1 -0
- package/package.json +70 -64
- package/test.js.map +1 -0
- package/tests/Cache/DatabaseStoreTest.d.ts +2 -0
- package/tests/Cache/DatabaseStoreTest.d.ts.map +1 -0
- package/tests/Cache/DatabaseStoreTest.js +137 -0
- package/tests/Cache/DatabaseStoreTest.js.map +1 -0
- package/tests/Cache/FileStoreTest.d.ts +2 -0
- package/tests/Cache/FileStoreTest.d.ts.map +1 -0
- package/tests/Cache/FileStoreTest.js +142 -0
- package/tests/Cache/FileStoreTest.js.map +1 -0
- package/tests/Cache/MemoryStoreTest.d.ts +2 -0
- package/tests/Cache/MemoryStoreTest.d.ts.map +1 -0
- package/tests/Cache/MemoryStoreTest.js +141 -0
- package/tests/Cache/MemoryStoreTest.js.map +1 -0
- package/tests/Container/ContainerTest.d.ts +1 -1
- package/tests/Container/ContainerTest.js +395 -395
- package/tests/Database/Drivers/MySQL/AlterTest.d.ts +1 -1
- package/tests/Database/Drivers/MySQL/AlterTest.js +135 -135
- package/tests/Database/Drivers/MySQL/CreateTest.d.ts +1 -1
- package/tests/Database/Drivers/MySQL/CreateTest.js +57 -57
- package/tests/Database/Drivers/MysqlDriverTest.d.ts +1 -1
- package/tests/Database/Drivers/MysqlDriverTest.js +149 -149
- package/tests/Database/Drivers/SqliteDriverTest.d.ts +1 -1
- package/tests/Database/Drivers/SqliteDriverTest.js +135 -135
- package/tests/Database/Entities/Article.d.ts +10 -10
- package/tests/Database/Entities/Article.js +42 -42
- package/tests/Database/Entities/Profile.d.ts +10 -10
- package/tests/Database/Entities/Profile.js +38 -38
- package/tests/Database/Entities/Role.d.ts +8 -8
- package/tests/Database/Entities/Role.js +30 -30
- package/tests/Database/Entities/User.d.ts +15 -15
- package/tests/Database/Entities/User.js +57 -57
- package/tests/Database/EntityRelationshipsTest.d.ts +1 -1
- package/tests/Database/EntityRelationshipsTest.js +547 -552
- package/tests/Database/EntityRelationshipsTest.js.map +1 -1
- package/tests/Database/EntityTest.d.ts +1 -1
- package/tests/Database/EntityTest.js +233 -233
- package/tests/Database/Migrations/RunnerTest.d.ts +1 -1
- package/tests/Database/Migrations/RunnerTest.js +111 -111
- package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +5 -5
- package/tests/Database/Migrations/migrations/1.createUserTable.js +13 -13
- package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +5 -5
- package/tests/Database/Migrations/migrations/2.createArticlesTable.js +13 -13
- package/tests/Database/QueryTest.d.ts +1 -1
- package/tests/Database/QueryTest.js +622 -622
- package/tests/Database/SchemaTest.d.ts +1 -1
- package/tests/Database/SchemaTest.js +45 -45
- package/tests/Database/Seeders/RunnerTest.d.ts +1 -1
- package/tests/Database/Seeders/RunnerTest.js +43 -43
- package/tests/Database/Seeders/RunnerTest.js.map +1 -1
- package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +4 -4
- package/tests/Database/Seeders/seeders/RandomSeeder.js +13 -13
- package/tests/Database/utils.d.ts +5 -5
- package/tests/Database/utils.js +18 -18
- package/tests/Forms/FormsTest.d.ts +1 -1
- package/tests/Forms/FormsTest.js +79 -79
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +1 -1
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +165 -165
- package/tests/Framework/Resolvers/EntityResolverTest.d.ts +1 -1
- package/tests/Framework/Resolvers/EntityResolverTest.js +59 -59
- package/tests/Mail/MailerTest.d.ts +2 -0
- package/tests/Mail/MailerTest.d.ts.map +1 -0
- package/tests/Mail/MailerTest.js +98 -0
- package/tests/Mail/MailerTest.js.map +1 -0
- package/tests/Model/ModelTest.d.ts +1 -1
- package/tests/Model/ModelTest.js +233 -233
- package/tests/Router/HttpHandlerTest.d.ts +1 -1
- package/tests/Router/HttpHandlerTest.js +36 -36
- package/tests/Router/WebSocketsHandlerTest.d.ts +1 -1
- package/tests/Router/WebSocketsHandlerTest.js +35 -35
- package/tests/Support/ArrayTest.d.ts +1 -1
- package/tests/Support/ArrayTest.js +258 -258
- package/tests/Support/StringTest.d.ts +1 -1
- package/tests/Support/StringTest.js +38 -38
- package/tests/Validation/RulesTest.d.ts +1 -1
- package/tests/Validation/RulesTest.js +67 -67
- package/Database/Drivers/SQL/Statements/Create.d.ts +0 -7
- package/Database/Drivers/SQL/Statements/Create.d.ts.map +0 -1
- package/Database/Drivers/SQL/Statements/Create.js +0 -22
- package/Database/Drivers/SQL/Statements/Create.js.map +0 -1
package/Cache/Cache.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare abstract class Cache {
|
|
2
|
+
abstract has(name: string): Promise<boolean>;
|
|
3
|
+
abstract get<T>(name: string, defaultValue?: T | (() => T | Promise<T>)): Promise<T | undefined>;
|
|
4
|
+
abstract remember<T>(name: string, defaultValue?: T | (() => T | Promise<T>), duration?: number): Promise<T | undefined>;
|
|
5
|
+
abstract set(name: string, data: any, duration?: number): Promise<void>;
|
|
6
|
+
abstract delete(name: string): Promise<void>;
|
|
7
|
+
abstract flush(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../Cache/Cache.ts"],"names":[],"mappings":"AAAA,8BAAsB,KAAK;IACvB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAEhG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAExH,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC"}
|
package/Cache/Cache.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../Cache/Cache.ts"],"names":[],"mappings":";;;AAAA,MAAsB,KAAK;CAY1B;AAZD,sBAYC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Cache } from '@Typetron/Cache';
|
|
2
|
+
export declare class DatabaseStore extends Cache {
|
|
3
|
+
table: string;
|
|
4
|
+
constructor(table: string);
|
|
5
|
+
private get cacheTable();
|
|
6
|
+
private getNameHash;
|
|
7
|
+
has(name: string): Promise<boolean>;
|
|
8
|
+
get<T>(name: string, defaultValue?: T | (() => T | Promise<T>)): Promise<T | undefined>;
|
|
9
|
+
remember<T>(name: string, defaultValue?: T | (() => T | Promise<T>), durationInSeconds?: number): Promise<T | undefined>;
|
|
10
|
+
set(name: string, value: any, durationInSeconds?: number): Promise<void>;
|
|
11
|
+
delete(name: string): Promise<void>;
|
|
12
|
+
flush(): Promise<void>;
|
|
13
|
+
private getDefaultValue;
|
|
14
|
+
private makeSureTheTableExists;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=DatabaseStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseStore.d.ts","sourceRoot":"","sources":["../../../Cache/Stores/DatabaseStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAOvC,qBAAa,aAAc,SAAQ,KAAK;IACjB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAIhC,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,WAAW;IAIb,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAqBvF,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYxH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,eAAe;YAQf,sBAAsB;CAwBvC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatabaseStore = void 0;
|
|
4
|
+
const Cache_1 = require("@Typetron/Cache");
|
|
5
|
+
const Database_1 = require("@Typetron/Database");
|
|
6
|
+
const utils_1 = require("@Typetron/Support/utils");
|
|
7
|
+
const crypto_1 = require("crypto");
|
|
8
|
+
const Create_1 = require("@Typetron/Database/Drivers/SQLite/Create");
|
|
9
|
+
class DatabaseStore extends Cache_1.Cache {
|
|
10
|
+
constructor(table) {
|
|
11
|
+
super();
|
|
12
|
+
this.table = table;
|
|
13
|
+
}
|
|
14
|
+
get cacheTable() {
|
|
15
|
+
return new Database_1.Query().table(this.table);
|
|
16
|
+
}
|
|
17
|
+
getNameHash(name) {
|
|
18
|
+
return crypto_1.createHash('sha1').update(name).digest('hex');
|
|
19
|
+
}
|
|
20
|
+
async has(name) {
|
|
21
|
+
const row = await this.cacheTable.where('name', this.getNameHash(name)).first();
|
|
22
|
+
return !!row;
|
|
23
|
+
}
|
|
24
|
+
async get(name, defaultValue) {
|
|
25
|
+
if (!await Database_1.Query.connection.driver.tableExists(this.table)) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const row = await this.cacheTable.where('name', this.getNameHash(name)).first();
|
|
29
|
+
if (!row) {
|
|
30
|
+
return this.getDefaultValue(defaultValue);
|
|
31
|
+
}
|
|
32
|
+
const currentTime = Date.now();
|
|
33
|
+
if (row.date && row.date < currentTime) {
|
|
34
|
+
await this.delete(name);
|
|
35
|
+
return this.getDefaultValue(defaultValue);
|
|
36
|
+
}
|
|
37
|
+
return utils_1.JSONSafeParse(String(row.value));
|
|
38
|
+
}
|
|
39
|
+
async remember(name, defaultValue, durationInSeconds) {
|
|
40
|
+
const value = await this.get(name);
|
|
41
|
+
if (!value) {
|
|
42
|
+
const newValue = await this.getDefaultValue(defaultValue);
|
|
43
|
+
await this.set(name, newValue, durationInSeconds);
|
|
44
|
+
return newValue;
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
async set(name, value, durationInSeconds) {
|
|
49
|
+
await this.makeSureTheTableExists();
|
|
50
|
+
const expirationTime = durationInSeconds ? Date.now() + durationInSeconds * 1000 : undefined;
|
|
51
|
+
const serializedValue = JSON.stringify(value);
|
|
52
|
+
const existing = await this.cacheTable.where('name', this.getNameHash(name)).first();
|
|
53
|
+
if (existing) {
|
|
54
|
+
await this.cacheTable.where('name', this.getNameHash(name)).update({
|
|
55
|
+
value: serializedValue,
|
|
56
|
+
date: expirationTime
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
await this.cacheTable.insert({
|
|
61
|
+
name: this.getNameHash(name),
|
|
62
|
+
value: serializedValue,
|
|
63
|
+
date: expirationTime
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async delete(name) {
|
|
68
|
+
await this.cacheTable.where('name', this.getNameHash(name)).delete();
|
|
69
|
+
}
|
|
70
|
+
async flush() {
|
|
71
|
+
await this.cacheTable.delete();
|
|
72
|
+
}
|
|
73
|
+
async getDefaultValue(defaultValue) {
|
|
74
|
+
const valueFunction = typeof defaultValue === 'function'
|
|
75
|
+
? defaultValue
|
|
76
|
+
: () => defaultValue;
|
|
77
|
+
return valueFunction();
|
|
78
|
+
}
|
|
79
|
+
async makeSureTheTableExists() {
|
|
80
|
+
if (!await Database_1.Query.connection.driver.tableExists(this.table)) {
|
|
81
|
+
const createStatement = new Create_1.Create(this.table, [
|
|
82
|
+
{
|
|
83
|
+
name: 'name',
|
|
84
|
+
type: 'string',
|
|
85
|
+
primaryKey: true,
|
|
86
|
+
nullable: true,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'value',
|
|
90
|
+
type: 'string',
|
|
91
|
+
nullable: true,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'date',
|
|
95
|
+
type: 'integer',
|
|
96
|
+
nullable: true,
|
|
97
|
+
},
|
|
98
|
+
]);
|
|
99
|
+
await Database_1.Query.connection.driver.run(createStatement.toSQL());
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.DatabaseStore = DatabaseStore;
|
|
104
|
+
//# sourceMappingURL=DatabaseStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseStore.js","sourceRoot":"","sources":["../../../Cache/Stores/DatabaseStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Cache } from '@Typetron/Cache';
|
|
2
|
+
import { Storage } from '@Typetron/Storage';
|
|
3
|
+
export declare class FileStore extends Cache {
|
|
4
|
+
storage: Storage;
|
|
5
|
+
directory: string;
|
|
6
|
+
constructor(storage: Storage, directory: string);
|
|
7
|
+
has(name: string): Promise<boolean>;
|
|
8
|
+
get<T>(name: string, defaultValue?: T | (() => T | Promise<T>)): Promise<T | undefined>;
|
|
9
|
+
remember<T>(name: string, defaultValue?: T | (() => T | Promise<T>), durationInSeconds?: number): Promise<T | undefined>;
|
|
10
|
+
set(name: string, value: any, durationInSeconds?: number): Promise<void>;
|
|
11
|
+
delete(name: string): Promise<void>;
|
|
12
|
+
flush(): Promise<void>;
|
|
13
|
+
private path;
|
|
14
|
+
private getDefaultValue;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=FileStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../../Cache/Stores/FileStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAM3C,qBAAa,SAAU,SAAQ,KAAK;IACb,OAAO,EAAE,OAAO;IAAS,SAAS,EAAE,MAAM;gBAA1C,OAAO,EAAE,OAAO,EAAS,SAAS,EAAE,MAAM;IAIvD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAInC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAavF,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYxH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,IAAI;YAKE,eAAe;CAOhC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileStore = void 0;
|
|
7
|
+
const Cache_1 = require("@Typetron/Cache");
|
|
8
|
+
const node_crypto_1 = require("node:crypto");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const utils_1 = require("@Typetron/Support/utils");
|
|
11
|
+
class FileStore extends Cache_1.Cache {
|
|
12
|
+
constructor(storage, directory) {
|
|
13
|
+
super();
|
|
14
|
+
this.storage = storage;
|
|
15
|
+
this.directory = directory;
|
|
16
|
+
}
|
|
17
|
+
async has(name) {
|
|
18
|
+
return await this.storage.exists(this.path(name));
|
|
19
|
+
}
|
|
20
|
+
async get(name, defaultValue) {
|
|
21
|
+
const item = await this.storage.read(this.path(name))
|
|
22
|
+
.then(async (data) => utils_1.JSONSafeParse(data.toString()) ?? { value: await this.getDefaultValue(defaultValue) })
|
|
23
|
+
.catch(async () => ({ value: await this.getDefaultValue(defaultValue) }));
|
|
24
|
+
if (item['date'] && item['date'] < new Date().getTime()) {
|
|
25
|
+
await this.delete(name);
|
|
26
|
+
return this.getDefaultValue(defaultValue);
|
|
27
|
+
}
|
|
28
|
+
return item['value'];
|
|
29
|
+
}
|
|
30
|
+
async remember(name, defaultValue, durationInSeconds) {
|
|
31
|
+
const data = await this.get(name);
|
|
32
|
+
if (data !== undefined) {
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
const value = await this.getDefaultValue(defaultValue);
|
|
36
|
+
await this.set(name, value, durationInSeconds);
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
async set(name, value, durationInSeconds) {
|
|
40
|
+
await this.storage.put(this.path(name), JSON.stringify({
|
|
41
|
+
value,
|
|
42
|
+
date: durationInSeconds ? Date.now() + durationInSeconds * 1000 : undefined
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
async delete(name) {
|
|
46
|
+
await this.storage.delete(this.path(name));
|
|
47
|
+
}
|
|
48
|
+
async flush() {
|
|
49
|
+
await this.storage.deleteDirectory(this.directory);
|
|
50
|
+
}
|
|
51
|
+
path(key) {
|
|
52
|
+
const hashKey = node_crypto_1.createHash('sha1').update(key).digest('hex');
|
|
53
|
+
return node_path_1.default.join(this.directory, '/', hashKey);
|
|
54
|
+
}
|
|
55
|
+
async getDefaultValue(defaultValue) {
|
|
56
|
+
const valueFunction = typeof defaultValue === 'function'
|
|
57
|
+
? defaultValue
|
|
58
|
+
: () => defaultValue;
|
|
59
|
+
return valueFunction();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.FileStore = FileStore;
|
|
63
|
+
//# sourceMappingURL=FileStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStore.js","sourceRoot":"","sources":["../../../Cache/Stores/FileStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Cache } from '@Typetron/Cache';
|
|
2
|
+
import { CacheItem } from '@Typetron/Cache/types';
|
|
3
|
+
export declare class MemoryStore extends Cache {
|
|
4
|
+
cache: Map<string, CacheItem<unknown>>;
|
|
5
|
+
has(name: string): Promise<boolean>;
|
|
6
|
+
get<T>(name: string, defaultValue?: T | (() => T | Promise<T>)): Promise<T | undefined>;
|
|
7
|
+
remember<T>(name: string, defaultValue?: T | (() => T | Promise<T>), durationInSeconds?: number): Promise<T | undefined>;
|
|
8
|
+
set(name: string, value: any, durationInSeconds?: number): Promise<void>;
|
|
9
|
+
delete(name: string): Promise<void>;
|
|
10
|
+
flush(): Promise<void>;
|
|
11
|
+
private getDefaultValue;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MemoryStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../../Cache/Stores/MemoryStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,qBAAa,WAAY,SAAQ,KAAK;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAY;IAEnD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBnC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAWvF,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYxH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,eAAe;CAOhC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryStore = void 0;
|
|
4
|
+
const Cache_1 = require("@Typetron/Cache");
|
|
5
|
+
class MemoryStore extends Cache_1.Cache {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.cache = new Map();
|
|
9
|
+
}
|
|
10
|
+
async has(name) {
|
|
11
|
+
const cacheItem = this.cache.get(name);
|
|
12
|
+
if (!cacheItem) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const currentTime = Date.now();
|
|
16
|
+
if (cacheItem.date && cacheItem.date < currentTime) {
|
|
17
|
+
this.cache.delete(name);
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
async get(name, defaultValue) {
|
|
23
|
+
const cacheItem = this.cache.get(name);
|
|
24
|
+
if (!await this.has(name)) {
|
|
25
|
+
return this.getDefaultValue(defaultValue);
|
|
26
|
+
}
|
|
27
|
+
return cacheItem.value;
|
|
28
|
+
}
|
|
29
|
+
// return (cacheItem as CacheItem<T>).value as T
|
|
30
|
+
async remember(name, defaultValue, durationInSeconds) {
|
|
31
|
+
const cacheItem = this.cache.get(name);
|
|
32
|
+
if (await this.has(name)) {
|
|
33
|
+
return cacheItem.value;
|
|
34
|
+
}
|
|
35
|
+
const value = await this.getDefaultValue(defaultValue);
|
|
36
|
+
await this.set(name, value, durationInSeconds);
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
async set(name, value, durationInSeconds) {
|
|
40
|
+
const expirationTime = durationInSeconds ? Date.now() + durationInSeconds * 1000 : Infinity;
|
|
41
|
+
this.cache.set(name, {
|
|
42
|
+
value: value,
|
|
43
|
+
date: expirationTime
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async delete(name) {
|
|
47
|
+
this.cache.delete(name);
|
|
48
|
+
}
|
|
49
|
+
async flush() {
|
|
50
|
+
this.cache.clear();
|
|
51
|
+
}
|
|
52
|
+
async getDefaultValue(defaultValue) {
|
|
53
|
+
const valueFunction = typeof defaultValue === 'function'
|
|
54
|
+
? defaultValue
|
|
55
|
+
: () => defaultValue;
|
|
56
|
+
return valueFunction();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.MemoryStore = MemoryStore;
|
|
60
|
+
//# sourceMappingURL=MemoryStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStore.js","sourceRoot":"","sources":["../../../Cache/Stores/MemoryStore.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAGvC,MAAa,WAAY,SAAQ,aAAK;IAAtC;;QACW,UAAK,GAAoC,IAAI,GAAG,EAAE,CAAA;IAkE7D,CAAC;IAhEG,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,KAAK,CAAA;SACf;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE9B,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,WAAW,EAAE;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvB,OAAO,KAAK,CAAA;SACf;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,YAAyC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;SAC5C;QAED,OAAO,SAAU,CAAC,KAAU,CAAA;IAChC,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,QAAQ,CAAI,IAAY,EAAE,YAAyC,EAAE,iBAA0B;QACjG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,OAAO,SAAU,CAAC,KAAU,CAAA;SAC/B;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QACtD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;QAC9C,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAU,EAAE,iBAA0B;QAC1D,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;QAE3F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,cAAc;SACvB,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAI,YAA2C;QACxE,MAAM,aAAa,GAAG,OAAO,YAAY,KAAK,UAAU;YACpD,CAAC,CAAC,YAAoC;YACtC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;QAExB,OAAO,aAAa,EAAE,CAAA;IAC1B,CAAC;CACJ;AAnED,kCAmEC"}
|
package/Cache/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA"}
|
package/Cache/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./types"), exports);
|
|
14
|
+
__exportStar(require("./Cache"), exports);
|
|
15
|
+
__exportStar(require("./Stores/MemoryStore"), exports);
|
|
16
|
+
__exportStar(require("./Stores/FileStore"), exports);
|
|
17
|
+
__exportStar(require("./Stores/DatabaseStore"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../Cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,uDAAoC;AACpC,qDAAkC;AAClC,yDAAsC"}
|
package/Cache/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../Cache/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
package/Cache/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../Cache/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Constructor } from '../Support';
|
|
2
|
-
import { BaseResolver } from './Resolver';
|
|
3
|
-
import { Container } from './Container';
|
|
4
|
-
export declare class ClassResolver extends BaseResolver {
|
|
5
|
-
canResolve<T>(abstract: Constructor<T>): boolean;
|
|
6
|
-
resolve<T>(abstract: Constructor<T>, parametersValues: object[]): T | Promise<T>;
|
|
7
|
-
reload<T>(abstract: Constructor<T>, concrete: T, container?: Container): T;
|
|
8
|
-
}
|
|
1
|
+
import { Constructor } from '../Support';
|
|
2
|
+
import { BaseResolver } from './Resolver';
|
|
3
|
+
import { Container } from './Container';
|
|
4
|
+
export declare class ClassResolver extends BaseResolver {
|
|
5
|
+
canResolve<T>(abstract: Constructor<T>): boolean;
|
|
6
|
+
resolve<T>(abstract: Constructor<T>, parametersValues: object[]): T | Promise<T>;
|
|
7
|
+
reload<T>(abstract: Constructor<T>, concrete: T, container?: Container): T;
|
|
8
|
+
}
|
|
9
9
|
//# sourceMappingURL=ClassResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassResolver.d.ts","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"ClassResolver.d.ts","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,qBAAa,aAAc,SAAQ,YAAY;IAC3C,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;IAIhD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;IAiE/D,MAAM,CAAC,CAAC,EACJ,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,EACX,SAAS,GAAE,SAA0B,GACtC,CAAC;CAyBP"}
|
|
@@ -1,88 +1,93 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClassResolver = void 0;
|
|
4
|
-
const Resolver_1 = require("./Resolver");
|
|
5
|
-
const Metadata_1 = require("./Metadata");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
concrete[dependencyName] = container.get(dependency);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClassResolver = void 0;
|
|
4
|
+
const Resolver_1 = require("./Resolver");
|
|
5
|
+
const Metadata_1 = require("./Metadata");
|
|
6
|
+
const Metadata_2 = require("@Typetron/Support/Metadata");
|
|
7
|
+
class ClassResolver extends Resolver_1.BaseResolver {
|
|
8
|
+
canResolve(abstract) {
|
|
9
|
+
return abstract.prototype && abstract.prototype.constructor.name;
|
|
10
|
+
}
|
|
11
|
+
resolve(abstract, parametersValues) {
|
|
12
|
+
// TODO improve this since it looks very hard to write next time
|
|
13
|
+
const parametersTypes = Metadata_2.ParametersTypesMetadata.get(abstract).parameters
|
|
14
|
+
?? (Metadata_2.ParametersTypesMetadata.get(abstract).parameters = Reflect.getMetadata('design:paramtypes', abstract) ?? []);
|
|
15
|
+
const parameters = parametersTypes.map((parameterType, index) => {
|
|
16
|
+
if (parametersValues[index]) {
|
|
17
|
+
return parametersValues[index];
|
|
18
|
+
}
|
|
19
|
+
if (parameterType.name === 'Object' && parametersValues[index]) {
|
|
20
|
+
parameterType = parametersValues[index]; // || this.getParameterValue(abstract, index);
|
|
21
|
+
}
|
|
22
|
+
return this.container.get(parameterType);
|
|
23
|
+
});
|
|
24
|
+
const instance = new abstract(...parameters);
|
|
25
|
+
const metadata = Metadata_1.InjectableMetadata.get(abstract);
|
|
26
|
+
let asyncDependencies = 0;
|
|
27
|
+
let resolve;
|
|
28
|
+
let reject;
|
|
29
|
+
for (const dependency in metadata.dependencies) {
|
|
30
|
+
const dependencyAbstract = metadata.dependencies[dependency];
|
|
31
|
+
if (!dependencyAbstract) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const value = this.container.get(dependencyAbstract);
|
|
35
|
+
if (value instanceof Promise) {
|
|
36
|
+
asyncDependencies++;
|
|
37
|
+
value
|
|
38
|
+
.then((resolvedValue) => {
|
|
39
|
+
instance[dependency] = resolvedValue;
|
|
40
|
+
asyncDependencies--;
|
|
41
|
+
if (!asyncDependencies) {
|
|
42
|
+
resolve(instance);
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
.catch((error) => {
|
|
46
|
+
reject(error);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
instance[dependency] = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (asyncDependencies) {
|
|
54
|
+
return new Promise((resolveFunction, rejectFunction) => {
|
|
55
|
+
resolve = resolveFunction;
|
|
56
|
+
reject = rejectFunction;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return instance;
|
|
60
|
+
}
|
|
61
|
+
// TODO figure out how to use this better
|
|
62
|
+
// private getParameterValue<T>(abstract: Constructor<T>, index: number) {
|
|
63
|
+
// const injectMetadata = Reflect.getMetadata('container:inject', abstract);
|
|
64
|
+
// if (!injectMetadata) {
|
|
65
|
+
// throw new Error(`No binding found for parameter ${index} in '${abstract.name}'`);
|
|
66
|
+
// }
|
|
67
|
+
// const value = injectMetadata.find((metadata: any) => metadata.index === index);
|
|
68
|
+
// return value.abstract;
|
|
69
|
+
// }
|
|
70
|
+
reload(abstract, concrete, container = this.container) {
|
|
71
|
+
const metadata = Metadata_1.InjectableMetadata.get(abstract);
|
|
72
|
+
for (const dependencyName in metadata.dependencies) {
|
|
73
|
+
if (!metadata.dependencies[dependencyName]) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
const dependency = metadata.dependencies[dependencyName];
|
|
77
|
+
if (!dependency) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (typeof dependency === 'symbol') {
|
|
81
|
+
concrete[dependencyName] = container.get(dependency);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const dependencyMetadata = Metadata_1.InjectableMetadata.get(dependency);
|
|
85
|
+
if (dependencyMetadata.scope === Metadata_1.Scope.REQUEST) {
|
|
86
|
+
concrete[dependencyName] = container.get(dependency);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return concrete;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ClassResolver = ClassResolver;
|
|
88
93
|
//# sourceMappingURL=ClassResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassResolver.js","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":";;;AACA,yCAAyC;AACzC,yCAAsD;
|
|
1
|
+
{"version":3,"file":"ClassResolver.js","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"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"}
|