velocious 1.0.108 → 1.0.109
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/README.md +5 -5
- package/dist/bin/velocious.d.ts +3 -0
- package/dist/bin/velocious.d.ts.map +1 -0
- package/dist/bin/velocious.js +27 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/src/application.d.ts +67 -0
- package/dist/src/application.d.ts.map +1 -0
- package/dist/src/application.js +101 -0
- package/dist/src/cli/base-command.d.ts +32 -0
- package/dist/src/cli/base-command.d.ts.map +1 -0
- package/dist/src/cli/base-command.js +34 -0
- package/dist/src/cli/browser-cli.d.ts +22 -0
- package/dist/src/cli/browser-cli.d.ts.map +1 -0
- package/dist/src/cli/browser-cli.js +32 -0
- package/dist/src/cli/commands/db/create.d.ts +9 -0
- package/dist/src/cli/commands/db/create.d.ts.map +1 -0
- package/dist/src/cli/commands/db/create.js +62 -0
- package/dist/src/cli/commands/db/drop.d.ts +5 -0
- package/dist/src/cli/commands/db/drop.d.ts.map +1 -0
- package/dist/src/cli/commands/db/drop.js +14 -0
- package/dist/src/cli/commands/db/migrate.d.ts +5 -0
- package/dist/src/cli/commands/db/migrate.d.ts.map +1 -0
- package/dist/src/cli/commands/db/migrate.js +14 -0
- package/dist/src/cli/commands/db/reset.d.ts +5 -0
- package/dist/src/cli/commands/db/reset.d.ts.map +1 -0
- package/dist/src/cli/commands/db/reset.js +18 -0
- package/dist/src/cli/commands/db/rollback.d.ts +5 -0
- package/dist/src/cli/commands/db/rollback.d.ts.map +1 -0
- package/dist/src/cli/commands/db/rollback.js +13 -0
- package/dist/src/cli/commands/destroy/migration.d.ts +5 -0
- package/dist/src/cli/commands/destroy/migration.d.ts.map +1 -0
- package/dist/src/cli/commands/destroy/migration.js +6 -0
- package/dist/src/cli/commands/generate/base-models.d.ts +5 -0
- package/dist/src/cli/commands/generate/base-models.d.ts.map +1 -0
- package/dist/src/cli/commands/generate/base-models.js +6 -0
- package/dist/src/cli/commands/generate/migration.d.ts +5 -0
- package/dist/src/cli/commands/generate/migration.d.ts.map +1 -0
- package/dist/src/cli/commands/generate/migration.js +6 -0
- package/dist/src/cli/commands/generate/model.d.ts +5 -0
- package/dist/src/cli/commands/generate/model.d.ts.map +1 -0
- package/dist/src/cli/commands/generate/model.js +6 -0
- package/dist/src/cli/commands/init.d.ts +6 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -0
- package/dist/src/cli/commands/init.js +8 -0
- package/dist/src/cli/commands/server.d.ts +5 -0
- package/dist/src/cli/commands/server.d.ts.map +1 -0
- package/dist/src/cli/commands/server.js +6 -0
- package/dist/src/cli/commands/test.d.ts +5 -0
- package/dist/src/cli/commands/test.d.ts.map +1 -0
- package/dist/src/cli/commands/test.js +6 -0
- package/dist/src/cli/index.d.ts +12 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +34 -0
- package/dist/src/cli/use-browser-cli.d.ts +10 -0
- package/dist/src/cli/use-browser-cli.d.ts.map +1 -0
- package/dist/src/cli/use-browser-cli.js +21 -0
- package/dist/src/configuration-resolver.d.ts +7 -0
- package/dist/src/configuration-resolver.d.ts.map +1 -0
- package/dist/src/configuration-resolver.js +55 -0
- package/dist/src/configuration-types.d.ts +112 -0
- package/dist/src/configuration-types.d.ts.map +1 -0
- package/dist/src/configuration-types.js +54 -0
- package/dist/src/configuration.d.ts +193 -0
- package/dist/src/configuration.d.ts.map +1 -0
- package/dist/src/configuration.js +335 -0
- package/dist/src/controller.d.ts +73 -0
- package/dist/src/controller.d.ts.map +1 -0
- package/dist/src/controller.js +141 -0
- package/dist/src/database/drivers/base-column.d.ts +72 -0
- package/dist/src/database/drivers/base-column.d.ts.map +1 -0
- package/dist/src/database/drivers/base-column.js +120 -0
- package/dist/src/database/drivers/base-columns-index.d.ts +44 -0
- package/dist/src/database/drivers/base-columns-index.d.ts.map +1 -0
- package/dist/src/database/drivers/base-columns-index.js +62 -0
- package/dist/src/database/drivers/base-foreign-key.d.ts +52 -0
- package/dist/src/database/drivers/base-foreign-key.d.ts.map +1 -0
- package/dist/src/database/drivers/base-foreign-key.js +79 -0
- package/dist/src/database/drivers/base-table.d.ts +54 -0
- package/dist/src/database/drivers/base-table.d.ts.map +1 -0
- package/dist/src/database/drivers/base-table.js +106 -0
- package/dist/src/database/drivers/base.d.ts +365 -0
- package/dist/src/database/drivers/base.d.ts.map +1 -0
- package/dist/src/database/drivers/base.js +654 -0
- package/dist/src/database/drivers/mssql/column.d.ts +13 -0
- package/dist/src/database/drivers/mssql/column.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/column.js +61 -0
- package/dist/src/database/drivers/mssql/columns-index.d.ts +4 -0
- package/dist/src/database/drivers/mssql/columns-index.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/columns-index.js +4 -0
- package/dist/src/database/drivers/mssql/connect-connection.d.ts +2 -0
- package/dist/src/database/drivers/mssql/connect-connection.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/connect-connection.js +13 -0
- package/dist/src/database/drivers/mssql/foreign-key.d.ts +9 -0
- package/dist/src/database/drivers/mssql/foreign-key.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/foreign-key.js +10 -0
- package/dist/src/database/drivers/mssql/index.d.ts +33 -0
- package/dist/src/database/drivers/mssql/index.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/index.js +304 -0
- package/dist/src/database/drivers/mssql/options.d.ts +11 -0
- package/dist/src/database/drivers/mssql/options.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/options.js +65 -0
- package/dist/src/database/drivers/mssql/query-parser.d.ts +4 -0
- package/dist/src/database/drivers/mssql/query-parser.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/query-parser.js +4 -0
- package/dist/src/database/drivers/mssql/sql/alter-table.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/alter-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/alter-table.js +3 -0
- package/dist/src/database/drivers/mssql/sql/create-database.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/create-database.js +27 -0
- package/dist/src/database/drivers/mssql/sql/create-index.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/create-index.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/create-index.js +3 -0
- package/dist/src/database/drivers/mssql/sql/create-table.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/create-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/create-table.js +3 -0
- package/dist/src/database/drivers/mssql/sql/delete.d.ts +5 -0
- package/dist/src/database/drivers/mssql/sql/delete.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/delete.js +16 -0
- package/dist/src/database/drivers/mssql/sql/drop-table.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/drop-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/drop-table.js +3 -0
- package/dist/src/database/drivers/mssql/sql/insert.d.ts +4 -0
- package/dist/src/database/drivers/mssql/sql/insert.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/insert.js +3 -0
- package/dist/src/database/drivers/mssql/sql/update.d.ts +5 -0
- package/dist/src/database/drivers/mssql/sql/update.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/sql/update.js +26 -0
- package/dist/src/database/drivers/mssql/table.d.ts +15 -0
- package/dist/src/database/drivers/mssql/table.d.ts.map +1 -0
- package/dist/src/database/drivers/mssql/table.js +116 -0
- package/dist/src/database/drivers/mysql/column.d.ts +13 -0
- package/dist/src/database/drivers/mysql/column.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/column.js +87 -0
- package/dist/src/database/drivers/mysql/columns-index.d.ts +4 -0
- package/dist/src/database/drivers/mysql/columns-index.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/columns-index.js +4 -0
- package/dist/src/database/drivers/mysql/foreign-key.d.ts +9 -0
- package/dist/src/database/drivers/mysql/foreign-key.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/foreign-key.js +10 -0
- package/dist/src/database/drivers/mysql/index.d.ts +30 -0
- package/dist/src/database/drivers/mysql/index.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/index.js +234 -0
- package/dist/src/database/drivers/mysql/options.d.ts +11 -0
- package/dist/src/database/drivers/mysql/options.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/options.js +27 -0
- package/dist/src/database/drivers/mysql/query-parser.d.ts +4 -0
- package/dist/src/database/drivers/mysql/query-parser.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/query-parser.js +4 -0
- package/dist/src/database/drivers/mysql/query.d.ts +6 -0
- package/dist/src/database/drivers/mysql/query.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/query.js +27 -0
- package/dist/src/database/drivers/mysql/sql/alter-table.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/alter-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/alter-table.js +4 -0
- package/dist/src/database/drivers/mysql/sql/create-database.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/create-database.js +4 -0
- package/dist/src/database/drivers/mysql/sql/create-index.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/create-index.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/create-index.js +4 -0
- package/dist/src/database/drivers/mysql/sql/create-table.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/create-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/create-table.js +4 -0
- package/dist/src/database/drivers/mysql/sql/delete.d.ts +5 -0
- package/dist/src/database/drivers/mysql/sql/delete.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/delete.js +17 -0
- package/dist/src/database/drivers/mysql/sql/drop-table.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/drop-table.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/drop-table.js +4 -0
- package/dist/src/database/drivers/mysql/sql/insert.d.ts +4 -0
- package/dist/src/database/drivers/mysql/sql/insert.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/insert.js +4 -0
- package/dist/src/database/drivers/mysql/sql/update.d.ts +5 -0
- package/dist/src/database/drivers/mysql/sql/update.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/sql/update.js +27 -0
- package/dist/src/database/drivers/mysql/table.d.ts +15 -0
- package/dist/src/database/drivers/mysql/table.d.ts.map +1 -0
- package/dist/src/database/drivers/mysql/table.js +80 -0
- package/dist/src/database/drivers/pgsql/column.d.ts +13 -0
- package/dist/src/database/drivers/pgsql/column.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/column.js +66 -0
- package/dist/src/database/drivers/pgsql/columns-index.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/columns-index.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/columns-index.js +4 -0
- package/dist/src/database/drivers/pgsql/foreign-key.d.ts +9 -0
- package/dist/src/database/drivers/pgsql/foreign-key.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/foreign-key.js +10 -0
- package/dist/src/database/drivers/pgsql/index.d.ts +21 -0
- package/dist/src/database/drivers/pgsql/index.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/index.js +211 -0
- package/dist/src/database/drivers/pgsql/options.d.ts +13 -0
- package/dist/src/database/drivers/pgsql/options.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/options.js +26 -0
- package/dist/src/database/drivers/pgsql/query-parser.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/query-parser.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/query-parser.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/alter-table.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/alter-table.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/alter-table.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/create-database.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/create-database.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/create-database.js +33 -0
- package/dist/src/database/drivers/pgsql/sql/create-index.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/create-index.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/create-index.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/create-table.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/create-table.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/create-table.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/delete.d.ts +5 -0
- package/dist/src/database/drivers/pgsql/sql/delete.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/delete.js +17 -0
- package/dist/src/database/drivers/pgsql/sql/drop-table.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/drop-table.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/drop-table.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/insert.d.ts +4 -0
- package/dist/src/database/drivers/pgsql/sql/insert.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/insert.js +4 -0
- package/dist/src/database/drivers/pgsql/sql/update.d.ts +5 -0
- package/dist/src/database/drivers/pgsql/sql/update.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/sql/update.js +27 -0
- package/dist/src/database/drivers/pgsql/table.d.ts +15 -0
- package/dist/src/database/drivers/pgsql/table.d.ts.map +1 -0
- package/dist/src/database/drivers/pgsql/table.js +105 -0
- package/dist/src/database/drivers/sqlite/base.d.ts +41 -0
- package/dist/src/database/drivers/sqlite/base.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/base.js +253 -0
- package/dist/src/database/drivers/sqlite/column.d.ts +19 -0
- package/dist/src/database/drivers/sqlite/column.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/column.js +55 -0
- package/dist/src/database/drivers/sqlite/columns-index.d.ts +6 -0
- package/dist/src/database/drivers/sqlite/columns-index.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/columns-index.js +24 -0
- package/dist/src/database/drivers/sqlite/connection-remote.d.ts +9 -0
- package/dist/src/database/drivers/sqlite/connection-remote.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/connection-remote.js +11 -0
- package/dist/src/database/drivers/sqlite/connection-sql-js.d.ts +19 -0
- package/dist/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/connection-sql-js.js +38 -0
- package/dist/src/database/drivers/sqlite/foreign-key.d.ts +17 -0
- package/dist/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/foreign-key.js +19 -0
- package/dist/src/database/drivers/sqlite/index.d.ts +8 -0
- package/dist/src/database/drivers/sqlite/index.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/index.js +42 -0
- package/dist/src/database/drivers/sqlite/index.native.d.ts +9 -0
- package/dist/src/database/drivers/sqlite/index.native.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/index.native.js +57 -0
- package/dist/src/database/drivers/sqlite/index.web.d.ts +14 -0
- package/dist/src/database/drivers/sqlite/index.web.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/index.web.js +50 -0
- package/dist/src/database/drivers/sqlite/options.d.ts +13 -0
- package/dist/src/database/drivers/sqlite/options.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/options.js +26 -0
- package/dist/src/database/drivers/sqlite/query-parser.d.ts +4 -0
- package/dist/src/database/drivers/sqlite/query-parser.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/query-parser.js +4 -0
- package/dist/src/database/drivers/sqlite/query.d.ts +7 -0
- package/dist/src/database/drivers/sqlite/query.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/query.js +28 -0
- package/dist/src/database/drivers/sqlite/query.native.d.ts +2 -0
- package/dist/src/database/drivers/sqlite/query.native.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/query.native.js +20 -0
- package/dist/src/database/drivers/sqlite/query.web.d.ts +7 -0
- package/dist/src/database/drivers/sqlite/query.web.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/query.web.js +38 -0
- package/dist/src/database/drivers/sqlite/sql/alter-table.d.ts +6 -0
- package/dist/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/alter-table.js +122 -0
- package/dist/src/database/drivers/sqlite/sql/create-index.d.ts +4 -0
- package/dist/src/database/drivers/sqlite/sql/create-index.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/create-index.js +4 -0
- package/dist/src/database/drivers/sqlite/sql/create-table.d.ts +4 -0
- package/dist/src/database/drivers/sqlite/sql/create-table.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/create-table.js +4 -0
- package/dist/src/database/drivers/sqlite/sql/delete.d.ts +5 -0
- package/dist/src/database/drivers/sqlite/sql/delete.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/delete.js +20 -0
- package/dist/src/database/drivers/sqlite/sql/drop-table.d.ts +4 -0
- package/dist/src/database/drivers/sqlite/sql/drop-table.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/drop-table.js +4 -0
- package/dist/src/database/drivers/sqlite/sql/insert.d.ts +4 -0
- package/dist/src/database/drivers/sqlite/sql/insert.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/insert.js +4 -0
- package/dist/src/database/drivers/sqlite/sql/update.d.ts +5 -0
- package/dist/src/database/drivers/sqlite/sql/update.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/sql/update.js +27 -0
- package/dist/src/database/drivers/sqlite/table.d.ts +21 -0
- package/dist/src/database/drivers/sqlite/table.d.ts.map +1 -0
- package/dist/src/database/drivers/sqlite/table.js +76 -0
- package/dist/src/database/handler.d.ts +7 -0
- package/dist/src/database/handler.d.ts.map +1 -0
- package/dist/src/database/handler.js +10 -0
- package/dist/src/database/initializer-from-require-context.d.ts +26 -0
- package/dist/src/database/initializer-from-require-context.d.ts.map +1 -0
- package/dist/src/database/initializer-from-require-context.js +40 -0
- package/dist/src/database/migration/index.d.ts +152 -0
- package/dist/src/database/migration/index.d.ts.map +1 -0
- package/dist/src/database/migration/index.js +286 -0
- package/dist/src/database/migrator/files-finder.d.ts +15 -0
- package/dist/src/database/migrator/files-finder.d.ts.map +1 -0
- package/dist/src/database/migrator/files-finder.js +40 -0
- package/dist/src/database/migrator/types.d.ts +17 -0
- package/dist/src/database/migrator/types.d.ts.map +1 -0
- package/dist/src/database/migrator/types.js +2 -0
- package/dist/src/database/migrator.d.ts +79 -0
- package/dist/src/database/migrator.d.ts.map +1 -0
- package/dist/src/database/migrator.js +377 -0
- package/dist/src/database/pool/async-tracked-multi-connection.d.ts +11 -0
- package/dist/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -0
- package/dist/src/database/pool/async-tracked-multi-connection.js +80 -0
- package/dist/src/database/pool/base-methods-forward.d.ts +6 -0
- package/dist/src/database/pool/base-methods-forward.d.ts.map +1 -0
- package/dist/src/database/pool/base-methods-forward.js +37 -0
- package/dist/src/database/pool/base.d.ts +76 -0
- package/dist/src/database/pool/base.d.ts.map +1 -0
- package/dist/src/database/pool/base.js +111 -0
- package/dist/src/database/pool/single-multi-use.d.ts +5 -0
- package/dist/src/database/pool/single-multi-use.d.ts.map +1 -0
- package/dist/src/database/pool/single-multi-use.js +35 -0
- package/dist/src/database/query/alter-table-base.d.ts +15 -0
- package/dist/src/database/query/alter-table-base.d.ts.map +1 -0
- package/dist/src/database/query/alter-table-base.js +55 -0
- package/dist/src/database/query/base.d.ts +26 -0
- package/dist/src/database/query/base.d.ts.map +1 -0
- package/dist/src/database/query/base.js +38 -0
- package/dist/src/database/query/create-database-base.d.ts +19 -0
- package/dist/src/database/query/create-database-base.d.ts.map +1 -0
- package/dist/src/database/query/create-database-base.js +29 -0
- package/dist/src/database/query/create-index-base.d.ts +31 -0
- package/dist/src/database/query/create-index-base.d.ts.map +1 -0
- package/dist/src/database/query/create-index-base.js +94 -0
- package/dist/src/database/query/create-table-base.d.ts +25 -0
- package/dist/src/database/query/create-table-base.d.ts.map +1 -0
- package/dist/src/database/query/create-table-base.js +136 -0
- package/dist/src/database/query/delete-base.d.ts +17 -0
- package/dist/src/database/query/delete-base.d.ts.map +1 -0
- package/dist/src/database/query/delete-base.js +15 -0
- package/dist/src/database/query/drop-table-base.d.ts +20 -0
- package/dist/src/database/query/drop-table-base.d.ts.map +1 -0
- package/dist/src/database/query/drop-table-base.js +44 -0
- package/dist/src/database/query/from-base.d.ts +19 -0
- package/dist/src/database/query/from-base.d.ts.map +1 -0
- package/dist/src/database/query/from-base.js +27 -0
- package/dist/src/database/query/from-plain.d.ts +9 -0
- package/dist/src/database/query/from-plain.d.ts.map +1 -0
- package/dist/src/database/query/from-plain.js +12 -0
- package/dist/src/database/query/from-table.d.ts +9 -0
- package/dist/src/database/query/from-table.d.ts.map +1 -0
- package/dist/src/database/query/from-table.js +14 -0
- package/dist/src/database/query/index.d.ts +219 -0
- package/dist/src/database/query/index.d.ts.map +1 -0
- package/dist/src/database/query/index.js +437 -0
- package/dist/src/database/query/insert-base.d.ts +41 -0
- package/dist/src/database/query/insert-base.d.ts.map +1 -0
- package/dist/src/database/query/insert-base.js +135 -0
- package/dist/src/database/query/join-base.d.ts +22 -0
- package/dist/src/database/query/join-base.d.ts.map +1 -0
- package/dist/src/database/query/join-base.js +33 -0
- package/dist/src/database/query/join-object.d.ts +24 -0
- package/dist/src/database/query/join-object.d.ts.map +1 -0
- package/dist/src/database/query/join-object.js +58 -0
- package/dist/src/database/query/join-plain.d.ts +10 -0
- package/dist/src/database/query/join-plain.d.ts.map +1 -0
- package/dist/src/database/query/join-plain.js +14 -0
- package/dist/src/database/query/order-base.d.ts +19 -0
- package/dist/src/database/query/order-base.d.ts.map +1 -0
- package/dist/src/database/query/order-base.js +26 -0
- package/dist/src/database/query/order-plain.d.ts +13 -0
- package/dist/src/database/query/order-plain.d.ts.map +1 -0
- package/dist/src/database/query/order-plain.js +22 -0
- package/dist/src/database/query/preloader/belongs-to.d.ts +15 -0
- package/dist/src/database/query/preloader/belongs-to.d.ts.map +1 -0
- package/dist/src/database/query/preloader/belongs-to.js +48 -0
- package/dist/src/database/query/preloader/has-many.d.ts +15 -0
- package/dist/src/database/query/preloader/has-many.d.ts.map +1 -0
- package/dist/src/database/query/preloader/has-many.js +63 -0
- package/dist/src/database/query/preloader/has-one.d.ts +15 -0
- package/dist/src/database/query/preloader/has-one.d.ts.map +1 -0
- package/dist/src/database/query/preloader/has-one.js +55 -0
- package/dist/src/database/query/preloader.d.ts +18 -0
- package/dist/src/database/query/preloader.d.ts.map +1 -0
- package/dist/src/database/query/preloader.js +52 -0
- package/dist/src/database/query/select-base.d.ts +17 -0
- package/dist/src/database/query/select-base.d.ts.map +1 -0
- package/dist/src/database/query/select-base.js +24 -0
- package/dist/src/database/query/select-plain.d.ts +9 -0
- package/dist/src/database/query/select-plain.d.ts.map +1 -0
- package/dist/src/database/query/select-plain.js +14 -0
- package/dist/src/database/query/select-table-and-column.d.ts +13 -0
- package/dist/src/database/query/select-table-and-column.d.ts.map +1 -0
- package/dist/src/database/query/select-table-and-column.js +22 -0
- package/dist/src/database/query/update-base.d.ts +25 -0
- package/dist/src/database/query/update-base.d.ts.map +1 -0
- package/dist/src/database/query/update-base.js +25 -0
- package/dist/src/database/query/where-base.d.ts +21 -0
- package/dist/src/database/query/where-base.d.ts.map +1 -0
- package/dist/src/database/query/where-base.js +30 -0
- package/dist/src/database/query/where-hash.d.ts +22 -0
- package/dist/src/database/query/where-hash.d.ts.map +1 -0
- package/dist/src/database/query/where-hash.js +56 -0
- package/dist/src/database/query/where-plain.d.ts +10 -0
- package/dist/src/database/query/where-plain.d.ts.map +1 -0
- package/dist/src/database/query/where-plain.js +16 -0
- package/dist/src/database/query-parser/base-query-parser.d.ts +15 -0
- package/dist/src/database/query-parser/base-query-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/base-query-parser.js +33 -0
- package/dist/src/database/query-parser/from-parser.d.ts +16 -0
- package/dist/src/database/query-parser/from-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/from-parser.js +35 -0
- package/dist/src/database/query-parser/group-parser.d.ts +18 -0
- package/dist/src/database/query-parser/group-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/group-parser.js +44 -0
- package/dist/src/database/query-parser/joins-parser.d.ts +16 -0
- package/dist/src/database/query-parser/joins-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/joins-parser.js +30 -0
- package/dist/src/database/query-parser/limit-parser.d.ts +15 -0
- package/dist/src/database/query-parser/limit-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/limit-parser.js +56 -0
- package/dist/src/database/query-parser/options.d.ts +58 -0
- package/dist/src/database/query-parser/options.d.ts.map +1 -0
- package/dist/src/database/query-parser/options.js +78 -0
- package/dist/src/database/query-parser/order-parser.d.ts +15 -0
- package/dist/src/database/query-parser/order-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/order-parser.js +39 -0
- package/dist/src/database/query-parser/select-parser.d.ts +15 -0
- package/dist/src/database/query-parser/select-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/select-parser.js +49 -0
- package/dist/src/database/query-parser/where-parser.d.ts +15 -0
- package/dist/src/database/query-parser/where-parser.d.ts.map +1 -0
- package/dist/src/database/query-parser/where-parser.js +39 -0
- package/dist/src/database/record/index.d.ts +495 -0
- package/dist/src/database/record/index.d.ts.map +1 -0
- package/dist/src/database/record/index.js +1408 -0
- package/dist/src/database/record/instance-relationships/base.d.ts +74 -0
- package/dist/src/database/record/instance-relationships/base.d.ts.map +1 -0
- package/dist/src/database/record/instance-relationships/base.js +81 -0
- package/dist/src/database/record/instance-relationships/belongs-to.d.ts +4 -0
- package/dist/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -0
- package/dist/src/database/record/instance-relationships/belongs-to.js +28 -0
- package/dist/src/database/record/instance-relationships/has-many.d.ts +8 -0
- package/dist/src/database/record/instance-relationships/has-many.d.ts.map +1 -0
- package/dist/src/database/record/instance-relationships/has-many.js +103 -0
- package/dist/src/database/record/instance-relationships/has-one.d.ts +7 -0
- package/dist/src/database/record/instance-relationships/has-one.d.ts.map +1 -0
- package/dist/src/database/record/instance-relationships/has-one.js +50 -0
- package/dist/src/database/record/record-not-found-error.d.ts +3 -0
- package/dist/src/database/record/record-not-found-error.d.ts.map +1 -0
- package/dist/src/database/record/record-not-found-error.js +3 -0
- package/dist/src/database/record/relationships/base.d.ts +68 -0
- package/dist/src/database/record/relationships/base.d.ts.map +1 -0
- package/dist/src/database/record/relationships/base.js +79 -0
- package/dist/src/database/record/relationships/belongs-to.d.ts +5 -0
- package/dist/src/database/record/relationships/belongs-to.d.ts.map +1 -0
- package/dist/src/database/record/relationships/belongs-to.js +37 -0
- package/dist/src/database/record/relationships/has-many.d.ts +5 -0
- package/dist/src/database/record/relationships/has-many.d.ts.map +1 -0
- package/dist/src/database/record/relationships/has-many.js +30 -0
- package/dist/src/database/record/relationships/has-one.d.ts +5 -0
- package/dist/src/database/record/relationships/has-one.d.ts.map +1 -0
- package/dist/src/database/record/relationships/has-one.js +30 -0
- package/dist/src/database/record/user-module.d.ts +15 -0
- package/dist/src/database/record/user-module.d.ts.map +1 -0
- package/dist/src/database/record/user-module.js +34 -0
- package/dist/src/database/record/validators/base.d.ts +25 -0
- package/dist/src/database/record/validators/base.d.ts.map +1 -0
- package/dist/src/database/record/validators/base.js +22 -0
- package/dist/src/database/record/validators/presence.d.ts +4 -0
- package/dist/src/database/record/validators/presence.d.ts.map +1 -0
- package/dist/src/database/record/validators/presence.js +17 -0
- package/dist/src/database/record/validators/uniqueness.d.ts +4 -0
- package/dist/src/database/record/validators/uniqueness.d.ts.map +1 -0
- package/dist/src/database/record/validators/uniqueness.js +33 -0
- package/dist/src/database/table-data/index.d.ts +141 -0
- package/dist/src/database/table-data/index.d.ts.map +1 -0
- package/dist/src/database/table-data/index.js +167 -0
- package/dist/src/database/table-data/table-column.d.ts +153 -0
- package/dist/src/database/table-data/table-column.d.ts.map +1 -0
- package/dist/src/database/table-data/table-column.js +246 -0
- package/dist/src/database/table-data/table-foreign-key.d.ts +55 -0
- package/dist/src/database/table-data/table-foreign-key.d.ts.map +1 -0
- package/dist/src/database/table-data/table-foreign-key.js +51 -0
- package/dist/src/database/table-data/table-index.d.ts +31 -0
- package/dist/src/database/table-data/table-index.d.ts.map +1 -0
- package/dist/src/database/table-data/table-index.js +33 -0
- package/dist/src/database/table-data/table-reference.d.ts +10 -0
- package/dist/src/database/table-data/table-reference.d.ts.map +1 -0
- package/dist/src/database/table-data/table-reference.js +11 -0
- package/dist/src/database/use-database.d.ts +11 -0
- package/dist/src/database/use-database.d.ts.map +1 -0
- package/dist/src/database/use-database.js +39 -0
- package/dist/src/environment-handlers/base.d.ts +128 -0
- package/dist/src/environment-handlers/base.d.ts.map +1 -0
- package/dist/src/environment-handlers/base.js +136 -0
- package/dist/src/environment-handlers/browser.d.ts +65 -0
- package/dist/src/environment-handlers/browser.d.ts.map +1 -0
- package/dist/src/environment-handlers/browser.js +160 -0
- package/dist/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +14 -0
- package/dist/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/destroy/migration.js +34 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +10 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/base-models.js +219 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/migration.d.ts +19 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/migration.js +36 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/model.d.ts +18 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/generate/model.js +36 -0
- package/dist/src/environment-handlers/node/cli/commands/init.d.ts +18 -0
- package/dist/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/init.js +60 -0
- package/dist/src/environment-handlers/node/cli/commands/server.d.ts +11 -0
- package/dist/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/server.js +26 -0
- package/dist/src/environment-handlers/node/cli/commands/test.d.ts +5 -0
- package/dist/src/environment-handlers/node/cli/commands/test.d.ts.map +1 -0
- package/dist/src/environment-handlers/node/cli/commands/test.js +41 -0
- package/dist/src/environment-handlers/node.d.ts +47 -0
- package/dist/src/environment-handlers/node.d.ts.map +1 -0
- package/dist/src/environment-handlers/node.js +188 -0
- package/dist/src/error-logger.d.ts +5 -0
- package/dist/src/error-logger.d.ts.map +1 -0
- package/dist/src/error-logger.js +32 -0
- package/dist/src/http-client/header.d.ts +13 -0
- package/dist/src/http-client/header.d.ts.map +1 -0
- package/dist/src/http-client/header.js +14 -0
- package/dist/src/http-client/index.d.ts +57 -0
- package/dist/src/http-client/index.d.ts.map +1 -0
- package/dist/src/http-client/index.js +118 -0
- package/dist/src/http-client/request.d.ts +39 -0
- package/dist/src/http-client/request.d.ts.map +1 -0
- package/dist/src/http-client/request.js +66 -0
- package/dist/src/http-client/response.d.ts +31 -0
- package/dist/src/http-client/response.d.ts.map +1 -0
- package/dist/src/http-client/response.js +119 -0
- package/dist/src/http-server/client/index.d.ts +37 -0
- package/dist/src/http-server/client/index.d.ts.map +1 -0
- package/dist/src/http-server/client/index.js +116 -0
- package/dist/src/http-server/client/params-to-object.d.ts +21 -0
- package/dist/src/http-server/client/params-to-object.d.ts.map +1 -0
- package/dist/src/http-server/client/params-to-object.js +80 -0
- package/dist/src/http-server/client/request-buffer/form-data-part.d.ts +21 -0
- package/dist/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -0
- package/dist/src/http-server/client/request-buffer/form-data-part.js +45 -0
- package/dist/src/http-server/client/request-buffer/header.d.ts +15 -0
- package/dist/src/http-server/client/request-buffer/header.d.ts.map +1 -0
- package/dist/src/http-server/client/request-buffer/header.js +16 -0
- package/dist/src/http-server/client/request-buffer/index.d.ts +95 -0
- package/dist/src/http-server/client/request-buffer/index.d.ts.map +1 -0
- package/dist/src/http-server/client/request-buffer/index.js +305 -0
- package/dist/src/http-server/client/request-parser.d.ts +52 -0
- package/dist/src/http-server/client/request-parser.d.ts.map +1 -0
- package/dist/src/http-server/client/request-parser.js +98 -0
- package/dist/src/http-server/client/request-runner.d.ts +24 -0
- package/dist/src/http-server/client/request-runner.d.ts.map +1 -0
- package/dist/src/http-server/client/request-runner.js +58 -0
- package/dist/src/http-server/client/request.d.ts +39 -0
- package/dist/src/http-server/client/request.d.ts.map +1 -0
- package/dist/src/http-server/client/request.js +54 -0
- package/dist/src/http-server/client/response.d.ts +56 -0
- package/dist/src/http-server/client/response.d.ts.map +1 -0
- package/dist/src/http-server/client/response.js +90 -0
- package/dist/src/http-server/index.d.ts +58 -0
- package/dist/src/http-server/index.d.ts.map +1 -0
- package/dist/src/http-server/index.js +147 -0
- package/dist/src/http-server/server-client.d.ts +43 -0
- package/dist/src/http-server/server-client.d.ts.map +1 -0
- package/dist/src/http-server/server-client.js +70 -0
- package/dist/src/http-server/worker-handler/index.d.ts +49 -0
- package/dist/src/http-server/worker-handler/index.d.ts.map +1 -0
- package/dist/src/http-server/worker-handler/index.js +104 -0
- package/dist/src/http-server/worker-handler/worker-script.d.ts +2 -0
- package/dist/src/http-server/worker-handler/worker-script.d.ts.map +1 -0
- package/dist/src/http-server/worker-handler/worker-script.js +4 -0
- package/dist/src/http-server/worker-handler/worker-thread.d.ts +47 -0
- package/dist/src/http-server/worker-handler/worker-thread.d.ts.map +1 -0
- package/dist/src/http-server/worker-handler/worker-thread.js +88 -0
- package/dist/src/initializer.d.ts +27 -0
- package/dist/src/initializer.d.ts.map +1 -0
- package/dist/src/initializer.js +29 -0
- package/dist/src/logger.d.ts +39 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +154 -0
- package/dist/src/routes/app-routes.d.ts +8 -0
- package/dist/src/routes/app-routes.d.ts.map +1 -0
- package/dist/src/routes/app-routes.js +13 -0
- package/dist/src/routes/base-route.d.ts +60 -0
- package/dist/src/routes/base-route.d.ts.map +1 -0
- package/dist/src/routes/base-route.js +67 -0
- package/dist/src/routes/basic-route.d.ts +10 -0
- package/dist/src/routes/basic-route.d.ts.map +1 -0
- package/dist/src/routes/basic-route.js +61 -0
- package/dist/src/routes/built-in/errors/controller.d.ts +5 -0
- package/dist/src/routes/built-in/errors/controller.d.ts.map +1 -0
- package/dist/src/routes/built-in/errors/controller.js +6 -0
- package/dist/src/routes/get-route.d.ts +14 -0
- package/dist/src/routes/get-route.d.ts.map +1 -0
- package/dist/src/routes/get-route.js +33 -0
- package/dist/src/routes/index.d.ts +10 -0
- package/dist/src/routes/index.d.ts.map +1 -0
- package/dist/src/routes/index.js +16 -0
- package/dist/src/routes/namespace-route.d.ts +14 -0
- package/dist/src/routes/namespace-route.d.ts.map +1 -0
- package/dist/src/routes/namespace-route.js +34 -0
- package/dist/src/routes/post-route.d.ts +14 -0
- package/dist/src/routes/post-route.d.ts.map +1 -0
- package/dist/src/routes/post-route.js +33 -0
- package/dist/src/routes/resolver.d.ts +27 -0
- package/dist/src/routes/resolver.d.ts.map +1 -0
- package/dist/src/routes/resolver.js +92 -0
- package/dist/src/routes/resource-route.d.ts +14 -0
- package/dist/src/routes/resource-route.d.ts.map +1 -0
- package/dist/src/routes/resource-route.js +51 -0
- package/dist/src/routes/root-route.d.ts +4 -0
- package/dist/src/routes/root-route.d.ts.map +1 -0
- package/dist/src/routes/root-route.js +4 -0
- package/dist/src/testing/request-client.d.ts +35 -0
- package/dist/src/testing/request-client.d.ts.map +1 -0
- package/dist/src/testing/request-client.js +61 -0
- package/dist/src/testing/test-files-finder.d.ts +64 -0
- package/dist/src/testing/test-files-finder.d.ts.map +1 -0
- package/dist/src/testing/test-files-finder.js +159 -0
- package/dist/src/testing/test-runner.d.ts +163 -0
- package/dist/src/testing/test-runner.d.ts.map +1 -0
- package/dist/src/testing/test-runner.js +257 -0
- package/dist/src/testing/test.d.ts +157 -0
- package/dist/src/testing/test.d.ts.map +1 -0
- package/dist/src/testing/test.js +408 -0
- package/dist/src/utils/backtrace-cleaner.d.ts +17 -0
- package/dist/src/utils/backtrace-cleaner.d.ts.map +1 -0
- package/dist/src/utils/backtrace-cleaner.js +23 -0
- package/dist/src/utils/ensure-error.d.ts +6 -0
- package/dist/src/utils/ensure-error.d.ts.map +1 -0
- package/dist/src/utils/ensure-error.js +13 -0
- package/dist/src/utils/file-exists.d.ts +6 -0
- package/dist/src/utils/file-exists.d.ts.map +1 -0
- package/dist/src/utils/file-exists.js +15 -0
- package/dist/src/utils/nest-callbacks.d.ts +2 -0
- package/dist/src/utils/nest-callbacks.d.ts.map +1 -0
- package/dist/src/utils/nest-callbacks.js +11 -0
- package/dist/src/utils/rest-args-error.d.ts +6 -0
- package/dist/src/utils/rest-args-error.d.ts.map +1 -0
- package/dist/src/utils/rest-args-error.js +11 -0
- package/dist/src/utils/with-tracked-stack-async-hooks.d.ts +10 -0
- package/dist/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -0
- package/dist/src/utils/with-tracked-stack-async-hooks.js +69 -0
- package/dist/src/utils/with-tracked-stack.d.ts +8 -0
- package/dist/src/utils/with-tracked-stack.d.ts.map +1 -0
- package/dist/src/utils/with-tracked-stack.js +26 -0
- package/package.json +7 -3
- package/.github/dependabot.yml +0 -9
- package/bin/velocious.js +0 -34
- package/eslint.config.js +0 -34
- package/index.js +0 -1
- package/peak_flow.yml +0 -89
- package/run-tests.sh +0 -4
- package/spec/cli/commands/db/create-spec.js +0 -58
- package/spec/cli/commands/db/migrate-spec.js +0 -160
- package/spec/cli/commands/db/rollback-spec.js +0 -179
- package/spec/cli/commands/destroy/migration-spec.js +0 -19
- package/spec/cli/commands/generate/migration-spec.js +0 -22
- package/spec/cli/commands/init-spec.js +0 -23
- package/spec/cli/commands/test/test-files-finder-spec.js +0 -15
- package/spec/database/connection/drivers/mysql/query-parser-spec.js +0 -41
- package/spec/database/drivers/columns-spec.js +0 -27
- package/spec/database/drivers/create-sql/create-index-sql-spec.js +0 -24
- package/spec/database/drivers/mysql/connection-spec.js +0 -22
- package/spec/database/migration/column-exists-spec.js +0 -28
- package/spec/database/record/create-spec.js +0 -140
- package/spec/database/record/destroy-spec.js +0 -35
- package/spec/database/record/find-or-create-spec.js +0 -59
- package/spec/database/record/find-spec.js +0 -32
- package/spec/database/record/instance-relationships/belongs-to-relationship-spec.js +0 -21
- package/spec/database/record/instance-relationships/has-many-relationship-spec.js +0 -24
- package/spec/database/record/instance-relationships/has-one-relationship-spec.js +0 -24
- package/spec/database/record/last-spec.js +0 -29
- package/spec/database/record/preloader/belongs-to-spec.js +0 -15
- package/spec/database/record/preloader/has-many-spec.js +0 -29
- package/spec/database/record/preloader/has-one-spec.js +0 -15
- package/spec/database/record/query-spec.js +0 -120
- package/spec/database/record/translation-fallbacks-spec.js +0 -24
- package/spec/database/record/translations-spec.js +0 -10
- package/spec/database/record/update-spec.js +0 -31
- package/spec/database/record/validations-spec.js +0 -42
- package/spec/database/transactions-spec.js +0 -47
- package/spec/dummy/db/.keep +0 -0
- package/spec/dummy/dummy-directory.js +0 -13
- package/spec/dummy/index.js +0 -83
- package/spec/dummy/src/config/configuration.example.js +0 -70
- package/spec/dummy/src/config/configuration.peakflow.mariadb.js +0 -65
- package/spec/dummy/src/config/configuration.peakflow.mssql.js +0 -71
- package/spec/dummy/src/config/configuration.peakflow.pgsql.js +0 -65
- package/spec/dummy/src/config/configuration.peakflow.sqlite.js +0 -62
- package/spec/dummy/src/config/routes.js +0 -19
- package/spec/dummy/src/config/testing.js +0 -34
- package/spec/dummy/src/database/migrations/20230728075328-create-projects.js +0 -10
- package/spec/dummy/src/database/migrations/20230728075329-create-tasks.js +0 -12
- package/spec/dummy/src/database/migrations/20250605133926-create-project-translations.js +0 -16
- package/spec/dummy/src/database/migrations/20250903112845-create-accounts.js +0 -18
- package/spec/dummy/src/database/migrations/20250912183605-create-users.js +0 -16
- package/spec/dummy/src/database/migrations/20250912183606-create-authentication-tokens.js +0 -15
- package/spec/dummy/src/database/migrations/20250915085450-change-authentication-tokens-user-id-nullable.js +0 -11
- package/spec/dummy/src/database/migrations/20250916111330-rename_authentication_tokens_token_to_user_token.js +0 -11
- package/spec/dummy/src/database/migrations/20250921121002-create-project-details.js +0 -17
- package/spec/dummy/src/model-bases/account.js +0 -67
- package/spec/dummy/src/model-bases/authentication-token.js +0 -108
- package/spec/dummy/src/model-bases/project-detail.js +0 -101
- package/spec/dummy/src/model-bases/project-translation.js +0 -124
- package/spec/dummy/src/model-bases/project.js +0 -196
- package/spec/dummy/src/model-bases/task.js +0 -117
- package/spec/dummy/src/model-bases/user.js +0 -170
- package/spec/dummy/src/models/account.js +0 -8
- package/spec/dummy/src/models/authentication-token.js +0 -8
- package/spec/dummy/src/models/project-detail.js +0 -8
- package/spec/dummy/src/models/project.js +0 -11
- package/spec/dummy/src/models/task.js +0 -9
- package/spec/dummy/src/models/user.js +0 -18
- package/spec/dummy/src/routes/_root/controller.js +0 -11
- package/spec/dummy/src/routes/api/controller.js +0 -9
- package/spec/dummy/src/routes/projects/controller.js +0 -33
- package/spec/dummy/src/routes/tasks/controller.js +0 -25
- package/spec/dummy/src/routes/tasks/index.ejs +0 -1
- package/spec/dummy/src/routes/tasks/show.ejs +0 -0
- package/spec/http-server/client-spec.js +0 -37
- package/spec/http-server/get-spec.js +0 -86
- package/spec/http-server/namespace-spec.js +0 -17
- package/spec/http-server/post-spec.js +0 -93
- package/spec/http-server/root-get-spec.js +0 -31
- package/src/application.js +0 -123
- package/src/cli/base-command.js +0 -40
- package/src/cli/browser-cli.js +0 -37
- package/src/cli/commands/db/create.js +0 -72
- package/src/cli/commands/db/drop.js +0 -18
- package/src/cli/commands/db/migrate.js +0 -17
- package/src/cli/commands/db/reset.js +0 -22
- package/src/cli/commands/db/rollback.js +0 -15
- package/src/cli/commands/destroy/migration.js +0 -7
- package/src/cli/commands/generate/base-models.js +0 -7
- package/src/cli/commands/generate/migration.js +0 -7
- package/src/cli/commands/generate/model.js +0 -7
- package/src/cli/commands/init.js +0 -11
- package/src/cli/commands/server.js +0 -7
- package/src/cli/commands/test.js +0 -7
- package/src/cli/index.js +0 -39
- package/src/cli/use-browser-cli.js +0 -27
- package/src/configuration-resolver.js +0 -61
- package/src/configuration-types.js +0 -61
- package/src/configuration.js +0 -395
- package/src/controller.js +0 -166
- package/src/database/drivers/base-column.js +0 -141
- package/src/database/drivers/base-columns-index.js +0 -72
- package/src/database/drivers/base-foreign-key.js +0 -91
- package/src/database/drivers/base-table.js +0 -129
- package/src/database/drivers/base.js +0 -751
- package/src/database/drivers/mssql/column.js +0 -72
- package/src/database/drivers/mssql/columns-index.js +0 -6
- package/src/database/drivers/mssql/connect-connection.js +0 -12
- package/src/database/drivers/mssql/foreign-key.js +0 -12
- package/src/database/drivers/mssql/index.js +0 -357
- package/src/database/drivers/mssql/options.js +0 -72
- package/src/database/drivers/mssql/query-parser.js +0 -6
- package/src/database/drivers/mssql/sql/alter-table.js +0 -4
- package/src/database/drivers/mssql/sql/create-database.js +0 -35
- package/src/database/drivers/mssql/sql/create-index.js +0 -4
- package/src/database/drivers/mssql/sql/create-table.js +0 -4
- package/src/database/drivers/mssql/sql/delete.js +0 -19
- package/src/database/drivers/mssql/sql/drop-table.js +0 -4
- package/src/database/drivers/mssql/sql/insert.js +0 -4
- package/src/database/drivers/mssql/sql/update.js +0 -31
- package/src/database/drivers/mssql/table.js +0 -132
- package/src/database/drivers/mysql/column.js +0 -105
- package/src/database/drivers/mysql/columns-index.js +0 -6
- package/src/database/drivers/mysql/foreign-key.js +0 -12
- package/src/database/drivers/mysql/index.js +0 -275
- package/src/database/drivers/mysql/options.js +0 -31
- package/src/database/drivers/mysql/query-parser.js +0 -6
- package/src/database/drivers/mysql/query.js +0 -31
- package/src/database/drivers/mysql/sql/alter-table.js +0 -6
- package/src/database/drivers/mysql/sql/create-database.js +0 -6
- package/src/database/drivers/mysql/sql/create-index.js +0 -6
- package/src/database/drivers/mysql/sql/create-table.js +0 -6
- package/src/database/drivers/mysql/sql/delete.js +0 -21
- package/src/database/drivers/mysql/sql/drop-table.js +0 -6
- package/src/database/drivers/mysql/sql/insert.js +0 -6
- package/src/database/drivers/mysql/sql/update.js +0 -33
- package/src/database/drivers/mysql/table.js +0 -96
- package/src/database/drivers/pgsql/column.js +0 -81
- package/src/database/drivers/pgsql/columns-index.js +0 -6
- package/src/database/drivers/pgsql/foreign-key.js +0 -12
- package/src/database/drivers/pgsql/index.js +0 -250
- package/src/database/drivers/pgsql/options.js +0 -30
- package/src/database/drivers/pgsql/query-parser.js +0 -6
- package/src/database/drivers/pgsql/sql/alter-table.js +0 -6
- package/src/database/drivers/pgsql/sql/create-database.js +0 -38
- package/src/database/drivers/pgsql/sql/create-index.js +0 -6
- package/src/database/drivers/pgsql/sql/create-table.js +0 -6
- package/src/database/drivers/pgsql/sql/delete.js +0 -21
- package/src/database/drivers/pgsql/sql/drop-table.js +0 -6
- package/src/database/drivers/pgsql/sql/insert.js +0 -6
- package/src/database/drivers/pgsql/sql/update.js +0 -33
- package/src/database/drivers/pgsql/table.js +0 -123
- package/src/database/drivers/sqlite/base.js +0 -303
- package/src/database/drivers/sqlite/column.js +0 -70
- package/src/database/drivers/sqlite/columns-index.js +0 -30
- package/src/database/drivers/sqlite/connection-remote.js +0 -12
- package/src/database/drivers/sqlite/connection-sql-js.js +0 -49
- package/src/database/drivers/sqlite/foreign-key.js +0 -22
- package/src/database/drivers/sqlite/index.js +0 -52
- package/src/database/drivers/sqlite/index.native.js +0 -68
- package/src/database/drivers/sqlite/index.web.js +0 -63
- package/src/database/drivers/sqlite/options.js +0 -30
- package/src/database/drivers/sqlite/query-parser.js +0 -6
- package/src/database/drivers/sqlite/query.js +0 -32
- package/src/database/drivers/sqlite/query.native.js +0 -25
- package/src/database/drivers/sqlite/query.web.js +0 -46
- package/src/database/drivers/sqlite/sql/alter-table.js +0 -153
- package/src/database/drivers/sqlite/sql/create-index.js +0 -6
- package/src/database/drivers/sqlite/sql/create-table.js +0 -6
- package/src/database/drivers/sqlite/sql/delete.js +0 -26
- package/src/database/drivers/sqlite/sql/drop-table.js +0 -6
- package/src/database/drivers/sqlite/sql/insert.js +0 -6
- package/src/database/drivers/sqlite/sql/update.js +0 -33
- package/src/database/drivers/sqlite/table.js +0 -97
- package/src/database/handler.js +0 -12
- package/src/database/initializer-from-require-context.js +0 -50
- package/src/database/migration/index.js +0 -345
- package/src/database/migrator/files-finder.js +0 -51
- package/src/database/migrator/types.js +0 -31
- package/src/database/migrator.js +0 -434
- package/src/database/pool/async-tracked-multi-connection.js +0 -103
- package/src/database/pool/base-methods-forward.js +0 -40
- package/src/database/pool/base.js +0 -133
- package/src/database/pool/single-multi-use.js +0 -43
- package/src/database/query/alter-table-base.js +0 -62
- package/src/database/query/base.js +0 -46
- package/src/database/query/create-database-base.js +0 -35
- package/src/database/query/create-index-base.js +0 -114
- package/src/database/query/create-table-base.js +0 -169
- package/src/database/query/delete-base.js +0 -17
- package/src/database/query/drop-table-base.js +0 -56
- package/src/database/query/from-base.js +0 -31
- package/src/database/query/from-plain.js +0 -15
- package/src/database/query/from-table.js +0 -17
- package/src/database/query/index.js +0 -530
- package/src/database/query/insert-base.js +0 -156
- package/src/database/query/join-base.js +0 -39
- package/src/database/query/join-object.js +0 -67
- package/src/database/query/join-plain.js +0 -17
- package/src/database/query/order-base.js +0 -30
- package/src/database/query/order-plain.js +0 -27
- package/src/database/query/preloader/belongs-to.js +0 -63
- package/src/database/query/preloader/has-many.js +0 -83
- package/src/database/query/preloader/has-one.js +0 -74
- package/src/database/query/preloader.js +0 -61
- package/src/database/query/select-base.js +0 -27
- package/src/database/query/select-plain.js +0 -17
- package/src/database/query/select-table-and-column.js +0 -27
- package/src/database/query/update-base.js +0 -28
- package/src/database/query/where-base.js +0 -34
- package/src/database/query/where-hash.js +0 -66
- package/src/database/query/where-plain.js +0 -19
- package/src/database/query-parser/base-query-parser.js +0 -39
- package/src/database/query-parser/from-parser.js +0 -45
- package/src/database/query-parser/group-parser.js +0 -53
- package/src/database/query-parser/joins-parser.js +0 -36
- package/src/database/query-parser/limit-parser.js +0 -61
- package/src/database/query-parser/options.js +0 -85
- package/src/database/query-parser/order-parser.js +0 -44
- package/src/database/query-parser/select-parser.js +0 -60
- package/src/database/query-parser/where-parser.js +0 -45
- package/src/database/record/index.js +0 -1682
- package/src/database/record/instance-relationships/base.js +0 -103
- package/src/database/record/instance-relationships/belongs-to.js +0 -37
- package/src/database/record/instance-relationships/has-many.js +0 -116
- package/src/database/record/instance-relationships/has-one.js +0 -66
- package/src/database/record/record-not-found-error.js +0 -3
- package/src/database/record/relationships/base.js +0 -91
- package/src/database/record/relationships/belongs-to.js +0 -46
- package/src/database/record/relationships/has-many.js +0 -39
- package/src/database/record/relationships/has-one.js +0 -39
- package/src/database/record/user-module.js +0 -41
- package/src/database/record/validators/base.js +0 -24
- package/src/database/record/validators/presence.js +0 -20
- package/src/database/record/validators/uniqueness.js +0 -42
- package/src/database/table-data/index.js +0 -199
- package/src/database/table-data/table-column.js +0 -283
- package/src/database/table-data/table-foreign-key.js +0 -61
- package/src/database/table-data/table-index.js +0 -41
- package/src/database/table-data/table-reference.js +0 -12
- package/src/database/use-database.js +0 -48
- package/src/environment-handlers/base.js +0 -158
- package/src/environment-handlers/browser.js +0 -193
- package/src/environment-handlers/node/cli/commands/destroy/migration.js +0 -42
- package/src/environment-handlers/node/cli/commands/generate/base-models.js +0 -258
- package/src/environment-handlers/node/cli/commands/generate/migration.js +0 -40
- package/src/environment-handlers/node/cli/commands/generate/model.js +0 -40
- package/src/environment-handlers/node/cli/commands/init.js +0 -66
- package/src/environment-handlers/node/cli/commands/server.js +0 -30
- package/src/environment-handlers/node/cli/commands/test.js +0 -47
- package/src/environment-handlers/node.js +0 -227
- package/src/error-logger.js +0 -32
- package/src/http-client/header.js +0 -16
- package/src/http-client/index.js +0 -135
- package/src/http-client/request.js +0 -83
- package/src/http-client/response.js +0 -136
- package/src/http-server/client/index.js +0 -137
- package/src/http-server/client/params-to-object.js +0 -88
- package/src/http-server/client/request-buffer/form-data-part.js +0 -53
- package/src/http-server/client/request-buffer/header.js +0 -18
- package/src/http-server/client/request-buffer/index.js +0 -345
- package/src/http-server/client/request-parser.js +0 -118
- package/src/http-server/client/request-runner.js +0 -68
- package/src/http-server/client/request.js +0 -63
- package/src/http-server/client/response.js +0 -100
- package/src/http-server/index.js +0 -180
- package/src/http-server/server-client.js +0 -81
- package/src/http-server/worker-handler/index.js +0 -120
- package/src/http-server/worker-handler/worker-script.js +0 -6
- package/src/http-server/worker-handler/worker-thread.js +0 -106
- package/src/initializer.js +0 -35
- package/src/logger.js +0 -174
- package/src/routes/app-routes.js +0 -16
- package/src/routes/base-route.js +0 -82
- package/src/routes/basic-route.js +0 -76
- package/src/routes/built-in/errors/controller.js +0 -7
- package/src/routes/built-in/errors/not-found.ejs +0 -1
- package/src/routes/get-route.js +0 -42
- package/src/routes/index.js +0 -19
- package/src/routes/namespace-route.js +0 -42
- package/src/routes/post-route.js +0 -41
- package/src/routes/resolver.js +0 -102
- package/src/routes/resource-route.js +0 -61
- package/src/routes/root-route.js +0 -6
- package/src/templates/configuration.js +0 -60
- package/src/templates/generate-migration.js +0 -11
- package/src/templates/generate-model.js +0 -6
- package/src/templates/routes.js +0 -11
- package/src/testing/request-client.js +0 -77
- package/src/testing/test-files-finder.js +0 -191
- package/src/testing/test-runner.js +0 -301
- package/src/testing/test.js +0 -462
- package/src/utils/backtrace-cleaner.js +0 -27
- package/src/utils/ensure-error.js +0 -13
- package/src/utils/file-exists.js +0 -17
- package/src/utils/nest-callbacks.js +0 -15
- package/src/utils/rest-args-error.js +0 -13
- package/src/utils/with-tracked-stack-async-hooks.js +0 -85
- package/src/utils/with-tracked-stack.js +0 -30
- package/tsconfig.json +0 -15
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import configuration from "../../../../dummy/src/config/configuration.js"
|
|
2
|
-
import DatabaseHandler from "../../../../../src/database/handler.js"
|
|
3
|
-
import DatabaseQuery from "../../../../../src/database/query/index.js"
|
|
4
|
-
import MysqlQueryParser from "../../../../../src/database/drivers/mysql/query-parser.js"
|
|
5
|
-
|
|
6
|
-
import FromTable from "../../../../../src/database/query/from-table.js"
|
|
7
|
-
import SelectTableAndColumn from "../../../../../src/database/query/select-table-and-column.js"
|
|
8
|
-
|
|
9
|
-
import MysqlDriverClass from "../../../../../src/database/drivers/mysql/index.js"
|
|
10
|
-
|
|
11
|
-
const mysqlConfig = configuration.database.test.default
|
|
12
|
-
const mysqlDriver = new MysqlDriverClass(mysqlConfig, configuration)
|
|
13
|
-
|
|
14
|
-
describe("database - connection - drivers - mysql - query parser", () => {
|
|
15
|
-
it("generates sql with selects, joins and orders", () => {
|
|
16
|
-
const handler = new DatabaseHandler()
|
|
17
|
-
const query = new DatabaseQuery({driver: mysqlDriver, handler})
|
|
18
|
-
.select(["tasks.id", "tasks.name"])
|
|
19
|
-
.from("tasks")
|
|
20
|
-
.joins("LEFT JOIN projects ON projects.id = tasks.project_id")
|
|
21
|
-
|
|
22
|
-
const sql = new MysqlQueryParser({query}).toSql()
|
|
23
|
-
|
|
24
|
-
expect(sql).toEqual("SELECT tasks.id, tasks.name FROM tasks LEFT JOIN projects ON projects.id = tasks.project_id")
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
it("generates sql with selects, joins and orders with SelectTableAndColumn", () => {
|
|
28
|
-
const handler = new DatabaseHandler()
|
|
29
|
-
const query = new DatabaseQuery({driver: mysqlDriver, handler})
|
|
30
|
-
.select([
|
|
31
|
-
new SelectTableAndColumn("tasks", "id"),
|
|
32
|
-
new SelectTableAndColumn("tasks", "name")
|
|
33
|
-
])
|
|
34
|
-
.from(new FromTable("tasks"))
|
|
35
|
-
.joins("LEFT JOIN projects ON projects.id = tasks.project_id")
|
|
36
|
-
|
|
37
|
-
const sql = new MysqlQueryParser({query}).toSql()
|
|
38
|
-
|
|
39
|
-
expect(sql).toEqual("SELECT `tasks`.`id`, `tasks`.`name` FROM `tasks` LEFT JOIN projects ON projects.id = tasks.project_id")
|
|
40
|
-
})
|
|
41
|
-
})
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import dummyConfiguration from "../../dummy/src/config/configuration.js"
|
|
2
|
-
|
|
3
|
-
describe("database - drivers - columns", () => {
|
|
4
|
-
it("runs migrations", {databaseCleaning: {transaction: false}}, async () => {
|
|
5
|
-
await dummyConfiguration.ensureConnections(async (dbs) => {
|
|
6
|
-
// Authentication tokens table is important because it will be totally re-created in SQLite because the renaming of the token column to user-column
|
|
7
|
-
const authenticationTokensTable = await dbs.default.getTableByName("authentication_tokens")
|
|
8
|
-
const authenticationTokensIDColumn = await authenticationTokensTable.getColumnByName("id")
|
|
9
|
-
|
|
10
|
-
expect(authenticationTokensIDColumn.getAutoIncrement()).toBeTrue()
|
|
11
|
-
expect(authenticationTokensIDColumn.getPrimaryKey()).toBeTrue()
|
|
12
|
-
expect(authenticationTokensIDColumn.getNull()).toBeFalse()
|
|
13
|
-
|
|
14
|
-
const projectsTable = await dbs.default.getTableByName("projects")
|
|
15
|
-
const projectsCreatedAtColumn = await projectsTable.getColumnByName("created_at")
|
|
16
|
-
const projectsIDColumn = await projectsTable.getColumnByName("id")
|
|
17
|
-
|
|
18
|
-
expect(projectsIDColumn.getAutoIncrement()).toBeTrue()
|
|
19
|
-
expect(projectsIDColumn.getPrimaryKey()).toBeTrue()
|
|
20
|
-
expect(projectsIDColumn.getNull()).toBeFalse()
|
|
21
|
-
|
|
22
|
-
expect(projectsCreatedAtColumn.getAutoIncrement()).toBeFalse()
|
|
23
|
-
expect(projectsCreatedAtColumn.getPrimaryKey()).toBeFalse()
|
|
24
|
-
expect(projectsCreatedAtColumn.getNull()).toBeTrue()
|
|
25
|
-
})
|
|
26
|
-
})
|
|
27
|
-
})
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import dummyConfiguration from "../../../dummy/src/config/configuration.js"
|
|
4
|
-
|
|
5
|
-
describe("database - create sql - create index sql", () => {
|
|
6
|
-
it("runs migrations", {databaseCleaning: {transaction: false}}, async () => {
|
|
7
|
-
await dummyConfiguration.ensureConnections(async (dbs) => {
|
|
8
|
-
const createIndexSQLs = await dbs.default.createIndexSQLs({
|
|
9
|
-
columns: ["id", "created_at"],
|
|
10
|
-
tableName: "projects"
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
if (dbs.default.getType() == "sqlite") {
|
|
14
|
-
expect(createIndexSQLs).toEqual("CREATE INDEX `index_on_projects_id_and_created_at` ON `projects` (`id`, `created_at`)")
|
|
15
|
-
} else if (dbs.default.getType() == "mssql") {
|
|
16
|
-
expect(createIndexSQLs).toEqual("CREATE INDEX [index_on_id_and_created_at] ON [projects] ([id], [created_at])")
|
|
17
|
-
} else if (dbs.default.getType() == "pgsql") {
|
|
18
|
-
expect(createIndexSQLs).toEqual(`CREATE INDEX "index_on_id_and_created_at" ON "projects" ("id", "created_at")`)
|
|
19
|
-
} else {
|
|
20
|
-
expect(createIndexSQLs).toEqual("CREATE INDEX `index_on_id_and_created_at` ON `projects` (`id`, `created_at`)")
|
|
21
|
-
}
|
|
22
|
-
})
|
|
23
|
-
})
|
|
24
|
-
})
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import DatabaseDriversMysql from "../../../../src/database/drivers/mysql/index.js"
|
|
2
|
-
import configuration from "../../../dummy/src/config/configuration.js"
|
|
3
|
-
import {digg} from "diggerize"
|
|
4
|
-
|
|
5
|
-
const mysqlConfig = digg(configuration, "database", "test", "default")
|
|
6
|
-
|
|
7
|
-
describe("Database - Drivers - Mysql - Connection", () => {
|
|
8
|
-
it("connects", async () => {
|
|
9
|
-
if (configuration.getDatabaseType() != "sqlite" && configuration.getDatabaseType() != "mssql" && configuration.getDatabaseType() != "pgsql") {
|
|
10
|
-
const mysql = new DatabaseDriversMysql(mysqlConfig, configuration)
|
|
11
|
-
|
|
12
|
-
await mysql.connect()
|
|
13
|
-
|
|
14
|
-
const result = await mysql.query("SELECT \"1\" AS test1, \"2\" AS test2")
|
|
15
|
-
|
|
16
|
-
expect(result).toEqual([{
|
|
17
|
-
test1: "1",
|
|
18
|
-
test2: "2"
|
|
19
|
-
}])
|
|
20
|
-
}
|
|
21
|
-
})
|
|
22
|
-
})
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import Dummy from "../../dummy/index.js"
|
|
4
|
-
import dummyConfiguration from "../../dummy/src/config/configuration.js"
|
|
5
|
-
import {describe, it} from "../../../src/testing/test.js"
|
|
6
|
-
import Migration from "../../../src/database/migration/index.js"
|
|
7
|
-
|
|
8
|
-
describe("database - migration", () => {
|
|
9
|
-
it("checks if a column exists", async () => {
|
|
10
|
-
await Dummy.run(async () => {
|
|
11
|
-
await dummyConfiguration.ensureConnections(async (dbs) => {
|
|
12
|
-
const migration = new Migration({
|
|
13
|
-
configuration: dummyConfiguration,
|
|
14
|
-
databaseIdentifier: "default",
|
|
15
|
-
db: dbs.default
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
const projectsIDExists = await migration.columnExists("projects", "id")
|
|
19
|
-
|
|
20
|
-
expect(projectsIDExists).toBe(true)
|
|
21
|
-
|
|
22
|
-
const projectsSomeNonExistingColumnExists = await migration.columnExists("projects", "some_non_existing_column")
|
|
23
|
-
|
|
24
|
-
expect(projectsSomeNonExistingColumnExists).toBe(false)
|
|
25
|
-
})
|
|
26
|
-
})
|
|
27
|
-
})
|
|
28
|
-
})
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import Dummy from "../../dummy/index.js"
|
|
4
|
-
import Project from "../../dummy/src/models/project.js"
|
|
5
|
-
import Task from "../../dummy/src/models/task.js"
|
|
6
|
-
import {ValidationError} from "../../../src/database/record/index.js"
|
|
7
|
-
import ProjectDetail from "../../dummy/src/models/project-detail.js"
|
|
8
|
-
|
|
9
|
-
describe("Record - create", () => {
|
|
10
|
-
it("creates a new simple record with relationships and translations", async () => {
|
|
11
|
-
await Dummy.run(async () => {
|
|
12
|
-
const task = new Task({name: "Test task"})
|
|
13
|
-
const project = task.buildProject({nameEn: "Test project", nameDe: "Test projekt"})
|
|
14
|
-
|
|
15
|
-
project.buildProjectDetail({note: "Test note"})
|
|
16
|
-
|
|
17
|
-
expect(task.hasName()).toBeTrue()
|
|
18
|
-
expect(task.hasCreatedAt()).toBeFalse()
|
|
19
|
-
expect(project.hasName()).toBeTrue()
|
|
20
|
-
expect(project.hasNameEn()).toBeTrue()
|
|
21
|
-
expect(project.hasNameDe()).toBeTrue()
|
|
22
|
-
expect(project.hasUpdatedAt()).toBeFalse()
|
|
23
|
-
|
|
24
|
-
await task.save()
|
|
25
|
-
|
|
26
|
-
expect(task.id()).not.toBeUndefined()
|
|
27
|
-
expect(task.name()).toEqual("Test task")
|
|
28
|
-
expect(task.project().id()).toEqual(project.id())
|
|
29
|
-
expect(task.project()).toEqual(project)
|
|
30
|
-
|
|
31
|
-
expect(project.id()).not.toBeUndefined()
|
|
32
|
-
expect(project.name()).toEqual("Test project")
|
|
33
|
-
expect(project.nameDe()).toEqual("Test projekt")
|
|
34
|
-
expect(project.nameEn()).toEqual("Test project")
|
|
35
|
-
expect(project.createdAt()).toBeInstanceOf(Date)
|
|
36
|
-
expect(project.updatedAt()).toBeInstanceOf(Date)
|
|
37
|
-
|
|
38
|
-
// 'name' is not a column but rather a column on the translation data model.
|
|
39
|
-
expect(() => project.readColumn("name")).toThrowError("No such attribute or not selected Project#name")
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// It saves a project note through a has one relationship
|
|
43
|
-
const projectDetail = project.projectDetail()
|
|
44
|
-
|
|
45
|
-
expect(projectDetail.isNewRecord()).toBeFalse()
|
|
46
|
-
expect(projectDetail.isPersisted()).toBeTrue()
|
|
47
|
-
expect(projectDetail.note()).toEqual("Test note")
|
|
48
|
-
expect(projectDetail.projectId()).toEqual(project.id())
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// It automatically sets the relationship that saved it on a has-one-relationship
|
|
52
|
-
const projectInstanceRelationship = projectDetail.getRelationshipByName("project")
|
|
53
|
-
|
|
54
|
-
expect(projectInstanceRelationship.getPreloaded()).toBeTrue()
|
|
55
|
-
expect(projectDetail.project().id()).toEqual(project.id())
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// It automatically sets the relationship that saved it on a has-many-relationship
|
|
59
|
-
const tasksRelationship = project.getRelationshipByName("tasks")
|
|
60
|
-
|
|
61
|
-
expect(tasksRelationship.getPreloaded()).toBeTrue()
|
|
62
|
-
|
|
63
|
-
const projectTasksIDs = project.tasksLoaded().map((task) => task.id())
|
|
64
|
-
|
|
65
|
-
expect(projectTasksIDs).toEqual([task.id()])
|
|
66
|
-
})
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
it("sets the inversed relationship on has-many-relationships", async () => {
|
|
70
|
-
const project = new Project({name: "Test project"})
|
|
71
|
-
|
|
72
|
-
project.tasks().build({name: "Test task 1"})
|
|
73
|
-
project.tasks().build({name: "Test task 2"})
|
|
74
|
-
|
|
75
|
-
await project.save()
|
|
76
|
-
|
|
77
|
-
const tasks = project.tasksLoaded()
|
|
78
|
-
const task1 = tasks.find((task) => task.name() == "Test task 1")
|
|
79
|
-
const task2 = tasks.find((task) => task.name() == "Test task 2")
|
|
80
|
-
|
|
81
|
-
expect(tasks.length).toEqual(2)
|
|
82
|
-
|
|
83
|
-
expect(task1?.projectId()).toEqual(project.id())
|
|
84
|
-
expect(task1?.project().id()).toEqual(project.id())
|
|
85
|
-
|
|
86
|
-
expect(task2?.projectId()).toEqual(project.id())
|
|
87
|
-
expect(task2?.project().id()).toEqual(project.id())
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
it("creates a new task with an existing project", async () => {
|
|
91
|
-
await Dummy.run(async () => {
|
|
92
|
-
const project = await Project.create({name: "Test project"})
|
|
93
|
-
const task = new Task({name: "Test task", project})
|
|
94
|
-
|
|
95
|
-
await task.save()
|
|
96
|
-
|
|
97
|
-
expect(task.id()).not.toBeUndefined()
|
|
98
|
-
expect(task.name()).toEqual("Test task")
|
|
99
|
-
expect(task.project().id()).toEqual(project.id())
|
|
100
|
-
expect(task.project()).toEqual(project)
|
|
101
|
-
})
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
it("uses transactions and rolls back in case of an error", async () => {
|
|
105
|
-
await Dummy.run(async () => {
|
|
106
|
-
const beforeProjectsCount = await Project.count()
|
|
107
|
-
const beforeTasksCount = await Task.count()
|
|
108
|
-
|
|
109
|
-
expect(beforeProjectsCount).toEqual(0)
|
|
110
|
-
expect(beforeTasksCount).toEqual(0)
|
|
111
|
-
|
|
112
|
-
const project = new Project({name: "Test project"})
|
|
113
|
-
|
|
114
|
-
project.tasks().build({name: " ", project})
|
|
115
|
-
project.buildProjectDetail({note: "Test note"})
|
|
116
|
-
|
|
117
|
-
try {
|
|
118
|
-
await project.save()
|
|
119
|
-
|
|
120
|
-
throw new Error("Didnt expect to succeed")
|
|
121
|
-
} catch (error) {
|
|
122
|
-
expect(error).toBeInstanceOf(ValidationError)
|
|
123
|
-
|
|
124
|
-
if (error instanceof Error) {
|
|
125
|
-
expect(error.message).toEqual("Name can't be blank")
|
|
126
|
-
} else {
|
|
127
|
-
throw new Error(`Expected error to be an instance of Error: ${typeof error}`)
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const projectsCount = await Project.count()
|
|
132
|
-
const projectDetailsCount = await ProjectDetail.count()
|
|
133
|
-
const tasksCount = await Task.count()
|
|
134
|
-
|
|
135
|
-
expect(projectsCount).toEqual(0)
|
|
136
|
-
expect(projectDetailsCount).toEqual(0)
|
|
137
|
-
expect(tasksCount).toEqual(0)
|
|
138
|
-
})
|
|
139
|
-
})
|
|
140
|
-
})
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../dummy/index.js"
|
|
2
|
-
import Project from "../../dummy/src/models/project.js"
|
|
3
|
-
import Task from "../../dummy/src/models/task.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - destroy", () => {
|
|
6
|
-
it("destroys a record", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create()
|
|
9
|
-
const task = new Task({name: "Test task", project})
|
|
10
|
-
|
|
11
|
-
await task.save()
|
|
12
|
-
await task.destroy()
|
|
13
|
-
|
|
14
|
-
const foundTask = await Task.where({id: task.id()}).first()
|
|
15
|
-
|
|
16
|
-
expect(foundTask).toEqual(undefined)
|
|
17
|
-
})
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
it("destroys all records in a collection", async () => {
|
|
21
|
-
await Dummy.run(async () => {
|
|
22
|
-
const project = await Project.create()
|
|
23
|
-
const task1 = await Task.create({name: "Test task 1", project})
|
|
24
|
-
const task2 = await Task.create({name: "Test task 2", project})
|
|
25
|
-
|
|
26
|
-
await Task.where({id: task1.id()}).destroyAll()
|
|
27
|
-
|
|
28
|
-
const foundTask1 = await Task.where({id: task1.id()}).first()
|
|
29
|
-
const foundTask2 = await Task.where({id: task2.id()}).first()
|
|
30
|
-
|
|
31
|
-
expect(foundTask1).toEqual(undefined)
|
|
32
|
-
expect(foundTask2).toBeDefined()
|
|
33
|
-
})
|
|
34
|
-
})
|
|
35
|
-
})
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../dummy/index.js"
|
|
2
|
-
import Task from "../../dummy/src/models/task.js"
|
|
3
|
-
|
|
4
|
-
describe("Record - find or create", () => {
|
|
5
|
-
it("doesnt find but then creates a record", async () => {
|
|
6
|
-
await Dummy.run(async () => {
|
|
7
|
-
const task = /** @type {Task} */ (await Task.findOrCreateBy({name: "Test task"}, (newTask) => {
|
|
8
|
-
const project = newTask.buildProject({nameEn: "Test project", nameDe: "Test projekt"})
|
|
9
|
-
|
|
10
|
-
project.buildProjectDetail({note: "Test note"})
|
|
11
|
-
}))
|
|
12
|
-
|
|
13
|
-
const project = task.project()
|
|
14
|
-
|
|
15
|
-
expect(task.isPersisted()).toBeTrue()
|
|
16
|
-
expect(task.isNewRecord()).toBeFalse()
|
|
17
|
-
expect(task.id()).not.toBeUndefined()
|
|
18
|
-
expect(task.name()).toEqual("Test task")
|
|
19
|
-
expect(task.project().id()).toEqual(project.id())
|
|
20
|
-
expect(task.project()).toEqual(project)
|
|
21
|
-
|
|
22
|
-
expect(project.id()).not.toBeUndefined()
|
|
23
|
-
expect(project.name()).toEqual("Test project")
|
|
24
|
-
expect(project.nameDe()).toEqual("Test projekt")
|
|
25
|
-
expect(project.nameEn()).toEqual("Test project")
|
|
26
|
-
expect(project.createdAt()).toBeInstanceOf(Date)
|
|
27
|
-
expect(project.updatedAt()).toBeInstanceOf(Date)
|
|
28
|
-
|
|
29
|
-
// 'name' is not a column but rather a column on the translation data model.
|
|
30
|
-
expect(() => project.readColumn("name")).toThrowError("No such attribute or not selected Project#name")
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// It saves a project note through a has one relationship
|
|
34
|
-
const projectDetail = project.projectDetail()
|
|
35
|
-
|
|
36
|
-
expect(projectDetail.isNewRecord()).toBeFalse()
|
|
37
|
-
expect(projectDetail.isPersisted()).toBeTrue()
|
|
38
|
-
expect(projectDetail.note()).toEqual("Test note")
|
|
39
|
-
expect(projectDetail.projectId()).toEqual(project.id())
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// It automatically sets the relationship that saved it on a has-one-relationship
|
|
43
|
-
const projectInstanceRelationship = projectDetail.getRelationshipByName("project")
|
|
44
|
-
|
|
45
|
-
expect(projectInstanceRelationship.getPreloaded()).toBeTrue()
|
|
46
|
-
expect(projectDetail.project().id()).toEqual(project.id())
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// It automatically sets the relationship that saved it on a has-many-relationship
|
|
50
|
-
const tasksRelationship = project.getRelationshipByName("tasks")
|
|
51
|
-
|
|
52
|
-
expect(tasksRelationship.getPreloaded()).toBeTrue()
|
|
53
|
-
|
|
54
|
-
const projectTasksIDs = project.tasksLoaded().map((task) => task.id())
|
|
55
|
-
|
|
56
|
-
expect(projectTasksIDs).toEqual([task.id()])
|
|
57
|
-
})
|
|
58
|
-
})
|
|
59
|
-
})
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../dummy/index.js"
|
|
2
|
-
import Project from "../../dummy/src/models/project.js"
|
|
3
|
-
import Task from "../../dummy/src/models/task.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - find", () => {
|
|
6
|
-
it("finds an existing record", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create()
|
|
9
|
-
const task = new Task({name: "Test task", project})
|
|
10
|
-
|
|
11
|
-
await task.save()
|
|
12
|
-
|
|
13
|
-
const foundTask = /** @type {Task} */ (await Task.find(task.id()))
|
|
14
|
-
|
|
15
|
-
expect(foundTask.readAttribute("name")).toEqual("Test task")
|
|
16
|
-
expect(foundTask.readColumn("name")).toEqual("Test task")
|
|
17
|
-
expect(foundTask.hasName()).toBeTrue()
|
|
18
|
-
})
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
it("raises an error when a record isn't found", async () => {
|
|
22
|
-
await Dummy.run(async () => {
|
|
23
|
-
try {
|
|
24
|
-
await Task.find(123)
|
|
25
|
-
throw new Error("Didn't expect to reach this")
|
|
26
|
-
} catch (error) {
|
|
27
|
-
expect(error.message).toEqual("Couldn't find Task with 'id'=123")
|
|
28
|
-
expect(error.constructor.name).toEqual("RecordNotFoundError")
|
|
29
|
-
}
|
|
30
|
-
})
|
|
31
|
-
})
|
|
32
|
-
})
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import Task from "../../../dummy/src/models/task.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - instance relationships - belongs to relationship", () => {
|
|
6
|
-
it("loads a relationship", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create()
|
|
9
|
-
const task = await Task.create({name: "Test task", project})
|
|
10
|
-
const foundTask = /** @type {Task} */ (await Task.find(task.id()))
|
|
11
|
-
const projectInstanceRelationship = foundTask.getRelationshipByName("project")
|
|
12
|
-
|
|
13
|
-
expect(projectInstanceRelationship.isLoaded()).toBeFalse()
|
|
14
|
-
|
|
15
|
-
await foundTask.loadProject()
|
|
16
|
-
|
|
17
|
-
expect(projectInstanceRelationship.isLoaded()).toBeTrue()
|
|
18
|
-
expect(foundTask.project().id()).toEqual(project.id())
|
|
19
|
-
})
|
|
20
|
-
})
|
|
21
|
-
})
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import Task from "../../../dummy/src/models/task.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - instance relationships - has many relationship", () => {
|
|
6
|
-
it("loads a relationship", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = /** @type {Project} */ (await Project.create())
|
|
9
|
-
const task = await Task.create({name: "Test task", project})
|
|
10
|
-
const foundProject = /** @type {Project} */ (await Project.find(project.id()))
|
|
11
|
-
const tasksInstanceRelationship = foundProject.getRelationshipByName("tasks")
|
|
12
|
-
|
|
13
|
-
expect(tasksInstanceRelationship.isLoaded()).toBeFalse()
|
|
14
|
-
|
|
15
|
-
await foundProject.loadTasks()
|
|
16
|
-
|
|
17
|
-
expect(tasksInstanceRelationship.isLoaded()).toBeTrue()
|
|
18
|
-
|
|
19
|
-
const taskIDs = foundProject.tasksLoaded().map((task) => task.id())
|
|
20
|
-
|
|
21
|
-
expect(taskIDs).toEqual([task.id()])
|
|
22
|
-
})
|
|
23
|
-
})
|
|
24
|
-
})
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import ProjectDetail from "../../../dummy/src/models/project-detail.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - instance relationships - has one relationship", () => {
|
|
6
|
-
it("loads a relationship", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create()
|
|
9
|
-
const projectDetail = await ProjectDetail.create({note: "Test project", project})
|
|
10
|
-
const foundProject = /** @type {Project} */ (await Project.find(project.id()))
|
|
11
|
-
const projectDetailInstanceRelationship = foundProject.getRelationshipByName("projectDetail")
|
|
12
|
-
|
|
13
|
-
expect(projectDetailInstanceRelationship.isLoaded()).toBeFalse()
|
|
14
|
-
|
|
15
|
-
await foundProject.loadProjectDetail()
|
|
16
|
-
|
|
17
|
-
expect(projectDetailInstanceRelationship.isLoaded()).toBeTrue()
|
|
18
|
-
|
|
19
|
-
const projectsLoadedProjectDetail = foundProject.projectDetail()
|
|
20
|
-
|
|
21
|
-
expect(projectsLoadedProjectDetail.id()).toEqual(projectDetail.id())
|
|
22
|
-
})
|
|
23
|
-
})
|
|
24
|
-
})
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../dummy/index.js"
|
|
2
|
-
import Project from "../../dummy/src/models/project.js"
|
|
3
|
-
import Task from "../../dummy/src/models/task.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - last", () => {
|
|
6
|
-
it("finds the last record", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project1 = await Project.create()
|
|
9
|
-
|
|
10
|
-
await Task.create({name: "Test task 1", project: project1})
|
|
11
|
-
await Task.create({name: "Test task 2", project: project1})
|
|
12
|
-
await Task.create({name: "Test task 3", project: project1})
|
|
13
|
-
|
|
14
|
-
const project2 = await Project.create()
|
|
15
|
-
|
|
16
|
-
await Task.create({name: "Test task 4", project: project2})
|
|
17
|
-
await Task.create({name: "Test task 5", project: project2})
|
|
18
|
-
await Task.create({name: "Test task 6", project: project2})
|
|
19
|
-
|
|
20
|
-
const foundTask = /** @type {Task} */ (await Task.last())
|
|
21
|
-
|
|
22
|
-
expect(foundTask.name()).toEqual("Test task 6")
|
|
23
|
-
|
|
24
|
-
const foundTaskWithFilter = /** @type {Task} */ (await Task.where({project_id: project1.id()}).last())
|
|
25
|
-
|
|
26
|
-
expect(foundTaskWithFilter.name()).toEqual("Test task 3")
|
|
27
|
-
})
|
|
28
|
-
})
|
|
29
|
-
})
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import User from "../../../dummy/src/models/user.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - preloader - belongs to", () => {
|
|
6
|
-
it("loads with custom primary key and foreign key", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create({creating_user_reference: "User-65"})
|
|
9
|
-
const user = await User.create({email: "user@example.com", encrypted_password: "password", reference: "User-65"})
|
|
10
|
-
const foundProject = /** @type {Project} */ (await Project.preload({creatingUser: true}).find(project.id()))
|
|
11
|
-
|
|
12
|
-
expect(foundProject.creatingUser().id()).toEqual(user.id())
|
|
13
|
-
})
|
|
14
|
-
})
|
|
15
|
-
})
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import User from "../../../dummy/src/models/user.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - preloader - has many", () => {
|
|
6
|
-
it("loads with custom primary key and foreign key", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create({creating_user_reference: "User-65"})
|
|
9
|
-
const user = await User.create({email: "user@example.com", encrypted_password: "password", reference: "User-65"})
|
|
10
|
-
const foundUser = /** @type {User} */ (await User.preload({createdProjects: true}).find(user.id()))
|
|
11
|
-
const createdProjectsIDs = foundUser.createdProjectsLoaded().map((createdProject) => createdProject.id())
|
|
12
|
-
|
|
13
|
-
expect(createdProjectsIDs).toEqual([project.id()])
|
|
14
|
-
})
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
it("preloads an empty array if nothing is found", async () => {
|
|
18
|
-
await Dummy.run(async () => {
|
|
19
|
-
// Differenre reference because nothing should be found as a kind of smoke test
|
|
20
|
-
await Project.create({creating_user_reference: "User-69"})
|
|
21
|
-
|
|
22
|
-
const user = await User.create({email: "user@example.com", encrypted_password: "password", reference: "User-65"})
|
|
23
|
-
const foundUser = /** @type {User} */ (await User.preload({createdProjects: true}).find(user.id()))
|
|
24
|
-
const createdProjectsIDs = foundUser.createdProjectsLoaded().map((createdProject) => createdProject.id())
|
|
25
|
-
|
|
26
|
-
expect(createdProjectsIDs).toEqual([])
|
|
27
|
-
})
|
|
28
|
-
})
|
|
29
|
-
})
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import Dummy from "../../../dummy/index.js"
|
|
2
|
-
import Project from "../../../dummy/src/models/project.js"
|
|
3
|
-
import User from "../../../dummy/src/models/user.js"
|
|
4
|
-
|
|
5
|
-
describe("Record - preloader - has one", () => {
|
|
6
|
-
it("loads with custom primary key and foreign key", async () => {
|
|
7
|
-
await Dummy.run(async () => {
|
|
8
|
-
const project = await Project.create({creating_user_reference: "User-65"})
|
|
9
|
-
const user = await User.create({email: "user@example.com", encrypted_password: "password", reference: "User-65"})
|
|
10
|
-
const foundUser = /** @type {User} */ (await User.preload({createdProject: true}).find(user.id()))
|
|
11
|
-
|
|
12
|
-
expect(foundUser.createdProject().id()).toEqual([project.id()])
|
|
13
|
-
})
|
|
14
|
-
})
|
|
15
|
-
})
|