exisjs 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +11 -9
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +34 -36
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/exports.d.ts.map +1 -1
- package/dist/cli/commands/exports.js +5 -32
- package/dist/cli/commands/exports.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +2 -13
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +27 -60
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +4 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +2 -6
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +11 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/routes.d.ts.map +1 -1
- package/dist/cli/routes.js +20 -8
- package/dist/cli/routes.js.map +1 -1
- package/dist/config/config.d.ts +2 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +3 -2
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +7 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/decorators/constants.d.ts +2 -2
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +2 -2
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/core.d.ts +4 -3
- package/dist/decorators/core.d.ts.map +1 -1
- package/dist/decorators/core.js +7 -4
- package/dist/decorators/core.js.map +1 -1
- package/dist/decorators/middleware.d.ts +0 -10
- package/dist/decorators/middleware.d.ts.map +1 -1
- package/dist/decorators/middleware.js +0 -25
- package/dist/decorators/middleware.js.map +1 -1
- package/dist/decorators/routing.d.ts +0 -2
- package/dist/decorators/routing.d.ts.map +1 -1
- package/dist/decorators/routing.js +1 -3
- package/dist/decorators/routing.js.map +1 -1
- package/dist/di/inject.d.ts +1 -2
- package/dist/di/inject.d.ts.map +1 -1
- package/dist/di/inject.js.map +1 -1
- package/dist/docs/ARCHITECTURE.md +46 -285
- package/dist/docs/BENCHMARKS.md +5 -5
- package/dist/docs/README.md +8 -11
- package/dist/docs/content/boundaries.mdx +151 -0
- package/dist/docs/content/cli/commands.mdx +66 -104
- package/dist/docs/content/cli/overview.mdx +37 -47
- package/dist/docs/content/cli/usage.mdx +29 -15
- package/dist/docs/content/decorators.mdx +107 -80
- package/dist/docs/content/installation.mdx +20 -1
- package/dist/docs/content/middleware.mdx +65 -291
- package/dist/docs/content/security.mdx +44 -246
- package/dist/docs/content/structure.mdx +227 -100
- package/dist/docs/content/validation.mdx +0 -17
- package/dist/docs/reference/decorators.mdx +24 -217
- package/dist/docs/reference/middleware.mdx +41 -217
- package/dist/docs/reference/validator.mdx +2 -5
- package/dist/error/errors.d.ts.map +1 -1
- package/dist/error/errors.js +16 -0
- package/dist/error/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/start-repl.js +2 -4
- package/dist/lib/start-repl.js.map +1 -1
- package/dist/lib/start-server.js +12 -4
- package/dist/lib/start-server.js.map +1 -1
- package/dist/logger/index.d.ts +81 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +142 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/middleware/dedupe.d.ts +1 -1
- package/dist/middleware/dedupe.js +1 -1
- package/dist/middleware/middleware.d.ts +3 -5
- package/dist/middleware/middleware.d.ts.map +1 -1
- package/dist/middleware/middleware.js +2 -6
- package/dist/middleware/middleware.js.map +1 -1
- package/dist/router/{gateway.d.ts → boundary.d.ts} +21 -13
- package/dist/router/boundary.d.ts.map +1 -0
- package/dist/router/boundary.js +11 -0
- package/dist/router/boundary.js.map +1 -0
- package/dist/router/index.d.ts +3 -6
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +3 -7
- package/dist/router/index.js.map +1 -1
- package/dist/router/route-builder.d.ts +0 -28
- package/dist/router/route-builder.d.ts.map +1 -1
- package/dist/router/route-builder.js +0 -4
- package/dist/router/route-builder.js.map +1 -1
- package/dist/router/route-scanner.d.ts +1 -2
- package/dist/router/route-scanner.d.ts.map +1 -1
- package/dist/router/route-scanner.js +216 -193
- package/dist/router/route-scanner.js.map +1 -1
- package/dist/router/router.d.ts +4 -6
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +36 -72
- package/dist/router/router.js.map +1 -1
- package/dist/router/types.d.ts +2 -6
- package/dist/router/types.d.ts.map +1 -1
- package/dist/server/{bun-adapter.d.ts → adapters/bun-adapter.d.ts} +1 -1
- package/dist/server/adapters/bun-adapter.d.ts.map +1 -0
- package/dist/server/{bun-adapter.js → adapters/bun-adapter.js} +2 -24
- package/dist/server/adapters/bun-adapter.js.map +1 -0
- package/dist/server/{uws-adapter.d.ts → adapters/uws-adapter.d.ts} +1 -1
- package/dist/server/adapters/uws-adapter.d.ts.map +1 -0
- package/dist/server/{uws-adapter.js → adapters/uws-adapter.js} +1 -28
- package/dist/server/adapters/uws-adapter.js.map +1 -0
- package/dist/server/app.d.ts +9 -30
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +19 -134
- package/dist/server/app.js.map +1 -1
- package/dist/server/bootstrapper.d.ts +4 -15
- package/dist/server/bootstrapper.d.ts.map +1 -1
- package/dist/server/bootstrapper.js +31 -222
- package/dist/server/bootstrapper.js.map +1 -1
- package/dist/server/define.d.ts +2 -2
- package/dist/server/define.d.ts.map +1 -1
- package/dist/server/define.js +3 -3
- package/dist/server/define.js.map +1 -1
- package/dist/server/engines/bun-engine.d.ts +16 -0
- package/dist/server/engines/bun-engine.d.ts.map +1 -0
- package/dist/server/engines/bun-engine.js +41 -0
- package/dist/server/engines/bun-engine.js.map +1 -0
- package/dist/server/engines/engine.d.ts +16 -0
- package/dist/server/engines/engine.d.ts.map +1 -0
- package/dist/{queue/types.js → server/engines/engine.js} +1 -1
- package/dist/server/engines/engine.js.map +1 -0
- package/dist/server/engines/node-engine.d.ts +22 -0
- package/dist/server/engines/node-engine.d.ts.map +1 -0
- package/dist/server/engines/node-engine.js +130 -0
- package/dist/server/engines/node-engine.js.map +1 -0
- package/dist/server/engines/uws-engine.d.ts +16 -0
- package/dist/server/engines/uws-engine.d.ts.map +1 -0
- package/dist/server/engines/uws-engine.js +48 -0
- package/dist/server/engines/uws-engine.js.map +1 -0
- package/dist/server/request-handler.d.ts +0 -1
- package/dist/server/request-handler.d.ts.map +1 -1
- package/dist/server/request-handler.js +74 -48
- package/dist/server/request-handler.js.map +1 -1
- package/dist/server/request.d.ts +0 -8
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +0 -16
- package/dist/server/request.js.map +1 -1
- package/dist/utils/time.d.ts +6 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +15 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/validator/index.d.ts +1 -7
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +1 -5
- package/dist/validator/index.js.map +1 -1
- package/dist/validator/tex-types.d.ts +15 -2
- package/dist/validator/tex-types.d.ts.map +1 -1
- package/dist/validator/tex-types.js +8 -0
- package/dist/validator/tex-types.js.map +1 -1
- package/dist/validator/tex.d.ts.map +1 -1
- package/dist/validator/tex.js +21 -2
- package/dist/validator/tex.js.map +1 -1
- package/package.json +9 -151
- package/dist/adapters/aws-lambda.d.ts +0 -21
- package/dist/adapters/aws-lambda.d.ts.map +0 -1
- package/dist/adapters/aws-lambda.js +0 -125
- package/dist/adapters/aws-lambda.js.map +0 -1
- package/dist/adapters/bun.d.ts +0 -9
- package/dist/adapters/bun.d.ts.map +0 -1
- package/dist/adapters/bun.js +0 -23
- package/dist/adapters/bun.js.map +0 -1
- package/dist/adapters/cloudflare.d.ts +0 -10
- package/dist/adapters/cloudflare.d.ts.map +0 -1
- package/dist/adapters/cloudflare.js +0 -22
- package/dist/adapters/cloudflare.js.map +0 -1
- package/dist/adapters/deno.d.ts +0 -7
- package/dist/adapters/deno.d.ts.map +0 -1
- package/dist/adapters/deno.js +0 -21
- package/dist/adapters/deno.js.map +0 -1
- package/dist/adapters/fastly.d.ts +0 -6
- package/dist/adapters/fastly.d.ts.map +0 -1
- package/dist/adapters/fastly.js +0 -20
- package/dist/adapters/fastly.js.map +0 -1
- package/dist/adapters/fetch.d.ts +0 -30
- package/dist/adapters/fetch.d.ts.map +0 -1
- package/dist/adapters/fetch.js +0 -119
- package/dist/adapters/fetch.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -9
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -28
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/netlify.d.ts +0 -8
- package/dist/adapters/netlify.d.ts.map +0 -1
- package/dist/adapters/netlify.js +0 -20
- package/dist/adapters/netlify.js.map +0 -1
- package/dist/adapters/vercel.d.ts +0 -17
- package/dist/adapters/vercel.d.ts.map +0 -1
- package/dist/adapters/vercel.js +0 -23
- package/dist/adapters/vercel.js.map +0 -1
- package/dist/auth/index.d.ts +0 -8
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -49
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/jwt.d.ts +0 -20
- package/dist/auth/jwt.d.ts.map +0 -1
- package/dist/auth/jwt.js +0 -59
- package/dist/auth/jwt.js.map +0 -1
- package/dist/auth/oauth/core.d.ts +0 -96
- package/dist/auth/oauth/core.d.ts.map +0 -1
- package/dist/auth/oauth/core.js +0 -203
- package/dist/auth/oauth/core.js.map +0 -1
- package/dist/auth/oauth/index.d.ts +0 -45
- package/dist/auth/oauth/index.d.ts.map +0 -1
- package/dist/auth/oauth/index.js +0 -64
- package/dist/auth/oauth/index.js.map +0 -1
- package/dist/auth/oauth/middleware.d.ts +0 -63
- package/dist/auth/oauth/middleware.d.ts.map +0 -1
- package/dist/auth/oauth/middleware.js +0 -164
- package/dist/auth/oauth/middleware.js.map +0 -1
- package/dist/auth/oauth/providers/custom.d.ts +0 -41
- package/dist/auth/oauth/providers/custom.d.ts.map +0 -1
- package/dist/auth/oauth/providers/custom.js +0 -204
- package/dist/auth/oauth/providers/custom.js.map +0 -1
- package/dist/auth/oauth/providers/discord.d.ts +0 -23
- package/dist/auth/oauth/providers/discord.d.ts.map +0 -1
- package/dist/auth/oauth/providers/discord.js +0 -130
- package/dist/auth/oauth/providers/discord.js.map +0 -1
- package/dist/auth/oauth/providers/facebook.d.ts +0 -28
- package/dist/auth/oauth/providers/facebook.d.ts.map +0 -1
- package/dist/auth/oauth/providers/facebook.js +0 -124
- package/dist/auth/oauth/providers/facebook.js.map +0 -1
- package/dist/auth/oauth/providers/github.d.ts +0 -25
- package/dist/auth/oauth/providers/github.d.ts.map +0 -1
- package/dist/auth/oauth/providers/github.js +0 -132
- package/dist/auth/oauth/providers/github.js.map +0 -1
- package/dist/auth/oauth/providers/google.d.ts +0 -23
- package/dist/auth/oauth/providers/google.d.ts.map +0 -1
- package/dist/auth/oauth/providers/google.js +0 -134
- package/dist/auth/oauth/providers/google.js.map +0 -1
- package/dist/auth/oauth/providers/microsoft.d.ts +0 -28
- package/dist/auth/oauth/providers/microsoft.d.ts.map +0 -1
- package/dist/auth/oauth/providers/microsoft.js +0 -136
- package/dist/auth/oauth/providers/microsoft.js.map +0 -1
- package/dist/auth/oauth/types.d.ts +0 -158
- package/dist/auth/oauth/types.d.ts.map +0 -1
- package/dist/auth/oauth/types.js +0 -4
- package/dist/auth/oauth/types.js.map +0 -1
- package/dist/auth/password.d.ts +0 -25
- package/dist/auth/password.d.ts.map +0 -1
- package/dist/auth/password.js +0 -93
- package/dist/auth/password.js.map +0 -1
- package/dist/auth/rbac.d.ts +0 -10
- package/dist/auth/rbac.d.ts.map +0 -1
- package/dist/auth/rbac.js +0 -34
- package/dist/auth/rbac.js.map +0 -1
- package/dist/auth/session.d.ts +0 -26
- package/dist/auth/session.d.ts.map +0 -1
- package/dist/auth/session.js +0 -134
- package/dist/auth/session.js.map +0 -1
- package/dist/cache/index.d.ts +0 -4
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -25
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/store.d.ts +0 -58
- package/dist/cache/store.d.ts.map +0 -1
- package/dist/cache/store.js +0 -298
- package/dist/cache/store.js.map +0 -1
- package/dist/cron/parser.d.ts +0 -2
- package/dist/cron/parser.d.ts.map +0 -1
- package/dist/cron/parser.js +0 -52
- package/dist/cron/parser.js.map +0 -1
- package/dist/cron/scheduler.d.ts +0 -23
- package/dist/cron/scheduler.d.ts.map +0 -1
- package/dist/cron/scheduler.js +0 -114
- package/dist/cron/scheduler.js.map +0 -1
- package/dist/database/adapters/mongodb.d.ts +0 -58
- package/dist/database/adapters/mongodb.d.ts.map +0 -1
- package/dist/database/adapters/mongodb.js +0 -264
- package/dist/database/adapters/mongodb.js.map +0 -1
- package/dist/database/adapters/mysql.d.ts +0 -27
- package/dist/database/adapters/mysql.d.ts.map +0 -1
- package/dist/database/adapters/mysql.js +0 -188
- package/dist/database/adapters/mysql.js.map +0 -1
- package/dist/database/adapters/postgres.d.ts +0 -28
- package/dist/database/adapters/postgres.d.ts.map +0 -1
- package/dist/database/adapters/postgres.js +0 -174
- package/dist/database/adapters/postgres.js.map +0 -1
- package/dist/database/adapters/sqlite.d.ts +0 -27
- package/dist/database/adapters/sqlite.d.ts.map +0 -1
- package/dist/database/adapters/sqlite.js +0 -149
- package/dist/database/adapters/sqlite.js.map +0 -1
- package/dist/database/index.d.ts +0 -42
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/index.js +0 -58
- package/dist/database/index.js.map +0 -1
- package/dist/database/manager.d.ts +0 -141
- package/dist/database/manager.d.ts.map +0 -1
- package/dist/database/manager.js +0 -337
- package/dist/database/manager.js.map +0 -1
- package/dist/database/migration.d.ts +0 -57
- package/dist/database/migration.d.ts.map +0 -1
- package/dist/database/migration.js +0 -329
- package/dist/database/migration.js.map +0 -1
- package/dist/database/query-builder.d.ts +0 -95
- package/dist/database/query-builder.d.ts.map +0 -1
- package/dist/database/query-builder.js +0 -404
- package/dist/database/query-builder.js.map +0 -1
- package/dist/database/sql/index.d.ts +0 -18
- package/dist/database/sql/index.d.ts.map +0 -1
- package/dist/database/sql/index.js +0 -74
- package/dist/database/sql/index.js.map +0 -1
- package/dist/database/sql/schema.d.ts +0 -38
- package/dist/database/sql/schema.d.ts.map +0 -1
- package/dist/database/sql/schema.js +0 -80
- package/dist/database/sql/schema.js.map +0 -1
- package/dist/database/synchronizer.d.ts +0 -12
- package/dist/database/synchronizer.d.ts.map +0 -1
- package/dist/database/synchronizer.js +0 -82
- package/dist/database/synchronizer.js.map +0 -1
- package/dist/database/types.d.ts +0 -184
- package/dist/database/types.d.ts.map +0 -1
- package/dist/database/types.js +0 -4
- package/dist/database/types.js.map +0 -1
- package/dist/dataloader/dataloader.d.ts +0 -23
- package/dist/dataloader/dataloader.d.ts.map +0 -1
- package/dist/dataloader/dataloader.js +0 -98
- package/dist/dataloader/dataloader.js.map +0 -1
- package/dist/dataloader/index.d.ts +0 -3
- package/dist/dataloader/index.d.ts.map +0 -1
- package/dist/dataloader/index.js +0 -19
- package/dist/dataloader/index.js.map +0 -1
- package/dist/dataloader/registry.d.ts +0 -17
- package/dist/dataloader/registry.d.ts.map +0 -1
- package/dist/dataloader/registry.js +0 -47
- package/dist/dataloader/registry.js.map +0 -1
- package/dist/dev/dep-graph.d.ts +0 -2
- package/dist/dev/dep-graph.d.ts.map +0 -1
- package/dist/dev/dep-graph.js +0 -111
- package/dist/dev/dep-graph.js.map +0 -1
- package/dist/dev/hot-reload.d.ts +0 -30
- package/dist/dev/hot-reload.d.ts.map +0 -1
- package/dist/dev/hot-reload.js +0 -262
- package/dist/dev/hot-reload.js.map +0 -1
- package/dist/docs/content/adapters.mdx +0 -199
- package/dist/docs/content/cache.mdx +0 -239
- package/dist/docs/content/circuit-breaker.mdx +0 -130
- package/dist/docs/content/cron.mdx +0 -109
- package/dist/docs/content/database.mdx +0 -278
- package/dist/docs/content/gateways.mdx +0 -376
- package/dist/docs/content/oauth.mdx +0 -179
- package/dist/docs/content/queues.mdx +0 -177
- package/dist/docs/content/rpc.mdx +0 -146
- package/dist/docs/content/sse.mdx +0 -159
- package/dist/docs/content/websockets.mdx +0 -289
- package/dist/docs/integrations/README.md +0 -23
- package/dist/docs/integrations/jwt.mdx +0 -151
- package/dist/docs/integrations/mongo.mdx +0 -183
- package/dist/docs/integrations/observability.mdx +0 -125
- package/dist/docs/integrations/openai.mdx +0 -108
- package/dist/docs/integrations/postgres.mdx +0 -190
- package/dist/docs/integrations/posthog.mdx +0 -122
- package/dist/docs/integrations/redis.mdx +0 -141
- package/dist/docs/integrations/resend.mdx +0 -117
- package/dist/docs/integrations/s3.mdx +0 -122
- package/dist/docs/integrations/swagger.mdx +0 -113
- package/dist/docs/reference/adapters.mdx +0 -130
- package/dist/docs/reference/auth.mdx +0 -183
- package/dist/docs/reference/cache.mdx +0 -132
- package/dist/docs/reference/circuit-breaker.mdx +0 -71
- package/dist/docs/reference/queue.mdx +0 -155
- package/dist/docs/reference/storage.mdx +0 -116
- package/dist/docs/reference/swagger.mdx +0 -132
- package/dist/integrations/drizzle.d.ts +0 -10
- package/dist/integrations/drizzle.d.ts.map +0 -1
- package/dist/integrations/drizzle.js +0 -34
- package/dist/integrations/drizzle.js.map +0 -1
- package/dist/integrations/jwt.d.ts +0 -12
- package/dist/integrations/jwt.d.ts.map +0 -1
- package/dist/integrations/jwt.js +0 -29
- package/dist/integrations/jwt.js.map +0 -1
- package/dist/integrations/mongodb.d.ts +0 -13
- package/dist/integrations/mongodb.d.ts.map +0 -1
- package/dist/integrations/mongodb.js +0 -48
- package/dist/integrations/mongodb.js.map +0 -1
- package/dist/integrations/mongoose.d.ts +0 -13
- package/dist/integrations/mongoose.d.ts.map +0 -1
- package/dist/integrations/mongoose.js +0 -84
- package/dist/integrations/mongoose.js.map +0 -1
- package/dist/integrations/openai.d.ts +0 -12
- package/dist/integrations/openai.d.ts.map +0 -1
- package/dist/integrations/openai.js +0 -47
- package/dist/integrations/openai.js.map +0 -1
- package/dist/integrations/postgres.d.ts +0 -13
- package/dist/integrations/postgres.d.ts.map +0 -1
- package/dist/integrations/postgres.js +0 -55
- package/dist/integrations/postgres.js.map +0 -1
- package/dist/integrations/posthog.d.ts +0 -13
- package/dist/integrations/posthog.d.ts.map +0 -1
- package/dist/integrations/posthog.js +0 -49
- package/dist/integrations/posthog.js.map +0 -1
- package/dist/integrations/prisma.d.ts +0 -10
- package/dist/integrations/prisma.d.ts.map +0 -1
- package/dist/integrations/prisma.js +0 -39
- package/dist/integrations/prisma.js.map +0 -1
- package/dist/integrations/redis.d.ts +0 -12
- package/dist/integrations/redis.d.ts.map +0 -1
- package/dist/integrations/redis.js +0 -48
- package/dist/integrations/redis.js.map +0 -1
- package/dist/integrations/resend.d.ts +0 -12
- package/dist/integrations/resend.d.ts.map +0 -1
- package/dist/integrations/resend.js +0 -47
- package/dist/integrations/resend.js.map +0 -1
- package/dist/integrations/s3.d.ts +0 -15
- package/dist/integrations/s3.d.ts.map +0 -1
- package/dist/integrations/s3.js +0 -60
- package/dist/integrations/s3.js.map +0 -1
- package/dist/integrations/supabase.d.ts +0 -13
- package/dist/integrations/supabase.d.ts.map +0 -1
- package/dist/integrations/supabase.js +0 -51
- package/dist/integrations/supabase.js.map +0 -1
- package/dist/middleware/cache.d.ts +0 -21
- package/dist/middleware/cache.d.ts.map +0 -1
- package/dist/middleware/cache.js +0 -156
- package/dist/middleware/cache.js.map +0 -1
- package/dist/observability/health.d.ts +0 -23
- package/dist/observability/health.d.ts.map +0 -1
- package/dist/observability/health.js +0 -49
- package/dist/observability/health.js.map +0 -1
- package/dist/observability/index.d.ts +0 -4
- package/dist/observability/index.d.ts.map +0 -1
- package/dist/observability/index.js +0 -10
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/metrics.d.ts +0 -6
- package/dist/observability/metrics.d.ts.map +0 -1
- package/dist/observability/metrics.js +0 -60
- package/dist/observability/metrics.js.map +0 -1
- package/dist/observability/otel.d.ts +0 -27
- package/dist/observability/otel.d.ts.map +0 -1
- package/dist/observability/otel.js +0 -45
- package/dist/observability/otel.js.map +0 -1
- package/dist/observability/prometheus.d.ts +0 -30
- package/dist/observability/prometheus.d.ts.map +0 -1
- package/dist/observability/prometheus.js +0 -31
- package/dist/observability/prometheus.js.map +0 -1
- package/dist/queue/client.d.ts +0 -13
- package/dist/queue/client.d.ts.map +0 -1
- package/dist/queue/client.js +0 -83
- package/dist/queue/client.js.map +0 -1
- package/dist/queue/drivers/MemoryDriver.d.ts +0 -21
- package/dist/queue/drivers/MemoryDriver.d.ts.map +0 -1
- package/dist/queue/drivers/MemoryDriver.js +0 -176
- package/dist/queue/drivers/MemoryDriver.js.map +0 -1
- package/dist/queue/drivers/RedisDriver.d.ts +0 -19
- package/dist/queue/drivers/RedisDriver.d.ts.map +0 -1
- package/dist/queue/drivers/RedisDriver.js +0 -130
- package/dist/queue/drivers/RedisDriver.js.map +0 -1
- package/dist/queue/index.d.ts +0 -18
- package/dist/queue/index.d.ts.map +0 -1
- package/dist/queue/index.js +0 -37
- package/dist/queue/index.js.map +0 -1
- package/dist/queue/manager.d.ts +0 -18
- package/dist/queue/manager.d.ts.map +0 -1
- package/dist/queue/manager.js +0 -59
- package/dist/queue/manager.js.map +0 -1
- package/dist/queue/types.d.ts +0 -55
- package/dist/queue/types.d.ts.map +0 -1
- package/dist/queue/types.js.map +0 -1
- package/dist/queue/worker.d.ts +0 -18
- package/dist/queue/worker.d.ts.map +0 -1
- package/dist/queue/worker.js +0 -176
- package/dist/queue/worker.js.map +0 -1
- package/dist/router/gateway.d.ts.map +0 -1
- package/dist/router/gateway.js +0 -11
- package/dist/router/gateway.js.map +0 -1
- package/dist/server/bun-adapter.d.ts.map +0 -1
- package/dist/server/bun-adapter.js.map +0 -1
- package/dist/server/sse.d.ts +0 -16
- package/dist/server/sse.d.ts.map +0 -1
- package/dist/server/sse.js +0 -51
- package/dist/server/sse.js.map +0 -1
- package/dist/server/uws-adapter.d.ts.map +0 -1
- package/dist/server/uws-adapter.js.map +0 -1
- package/dist/storage/index.d.ts +0 -15
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -7
- package/dist/storage/index.js.map +0 -1
- package/dist/swagger/index.d.ts +0 -9
- package/dist/swagger/index.d.ts.map +0 -1
- package/dist/swagger/index.js +0 -165
- package/dist/swagger/index.js.map +0 -1
- package/dist/threads/pool.d.ts +0 -14
- package/dist/threads/pool.d.ts.map +0 -1
- package/dist/threads/pool.js +0 -93
- package/dist/threads/pool.js.map +0 -1
- package/dist/threads/worker-runner.d.ts +0 -2
- package/dist/threads/worker-runner.d.ts.map +0 -1
- package/dist/threads/worker-runner.js +0 -71
- package/dist/threads/worker-runner.js.map +0 -1
- package/dist/validator/validator.d.ts +0 -360
- package/dist/validator/validator.d.ts.map +0 -1
- package/dist/validator/validator.js +0 -931
- package/dist/validator/validator.js.map +0 -1
- package/dist/websocket/orchestrator.d.ts +0 -11
- package/dist/websocket/orchestrator.d.ts.map +0 -1
- package/dist/websocket/orchestrator.js +0 -238
- package/dist/websocket/orchestrator.js.map +0 -1
- package/dist/websocket/server.d.ts +0 -66
- package/dist/websocket/server.d.ts.map +0 -1
- package/dist/websocket/server.js +0 -158
- package/dist/websocket/server.js.map +0 -1
- package/dist/websocket/socket.d.ts +0 -119
- package/dist/websocket/socket.d.ts.map +0 -1
- package/dist/websocket/socket.js +0 -242
- package/dist/websocket/socket.js.map +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { DatabaseAdapter } from './types';
|
|
2
|
-
import type { TableDefinition } from './sql/schema';
|
|
3
|
-
export declare class SchemaSynchronizer {
|
|
4
|
-
private adapter;
|
|
5
|
-
constructor(adapter: DatabaseAdapter);
|
|
6
|
-
sync(tables: TableDefinition[]): Promise<void>;
|
|
7
|
-
private syncTable;
|
|
8
|
-
private syncColumns;
|
|
9
|
-
private buildCreateTable;
|
|
10
|
-
private buildColumnDefinition;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=synchronizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/database/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAA;AAElE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAEtC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAatC,SAAS;YA0BT,WAAW;IAwBzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;CA8B9B"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SchemaSynchronizer = void 0;
|
|
4
|
-
class SchemaSynchronizer {
|
|
5
|
-
constructor(adapter) {
|
|
6
|
-
this.adapter = adapter;
|
|
7
|
-
}
|
|
8
|
-
async sync(tables) {
|
|
9
|
-
if (this.adapter.dialect !== 'postgres') {
|
|
10
|
-
console.warn(`[ExisJS Auto-Sync] Sync is currently optimized for postgres. Skipping.`);
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
for (const table of tables) {
|
|
14
|
-
await this.syncTable(table);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
async syncTable(table) {
|
|
18
|
-
const tableName = table.tableName;
|
|
19
|
-
// Check if table exists
|
|
20
|
-
const res = await this.adapter.query(`SELECT EXISTS (
|
|
21
|
-
SELECT FROM information_schema.tables
|
|
22
|
-
WHERE table_schema = 'public'
|
|
23
|
-
AND table_name = $1
|
|
24
|
-
)`, [tableName]);
|
|
25
|
-
const exists = res.rows[0]?.exists;
|
|
26
|
-
if (!exists) {
|
|
27
|
-
// Create table
|
|
28
|
-
const ddl = this.buildCreateTable(table);
|
|
29
|
-
await this.adapter.execute(ddl);
|
|
30
|
-
console.log(`[ExisJS Database] Created table "${tableName}"`);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
// Sync columns
|
|
34
|
-
await this.syncColumns(table);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
async syncColumns(table) {
|
|
38
|
-
const tableName = table.tableName;
|
|
39
|
-
const res = await this.adapter.query(`SELECT column_name
|
|
40
|
-
FROM information_schema.columns
|
|
41
|
-
WHERE table_schema = 'public'
|
|
42
|
-
AND table_name = $1`, [tableName]);
|
|
43
|
-
const existingCols = new Set(res.rows.map((r) => r.column_name));
|
|
44
|
-
for (const [colName, colDef] of Object.entries(table.columns)) {
|
|
45
|
-
if (!existingCols.has(colName)) {
|
|
46
|
-
const ddl = `ALTER TABLE "${tableName}" ADD COLUMN ${this.buildColumnDefinition(colDef)}`;
|
|
47
|
-
await this.adapter.execute(ddl);
|
|
48
|
-
console.log(`[ExisJS Database] Added column "${colName}" to "${tableName}"`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
buildCreateTable(table) {
|
|
53
|
-
const columns = Object.values(table.columns).map((col) => this.buildColumnDefinition(col));
|
|
54
|
-
return `CREATE TABLE "${table.tableName}" (\n ${columns.join(',\n ')}\n)`;
|
|
55
|
-
}
|
|
56
|
-
buildColumnDefinition(col) {
|
|
57
|
-
let def = `"${col.name}" ${col.dataType.toUpperCase()}`;
|
|
58
|
-
if (col.isPrimaryKey) {
|
|
59
|
-
def += ' PRIMARY KEY';
|
|
60
|
-
}
|
|
61
|
-
if (col.isUnique && !col.isPrimaryKey) {
|
|
62
|
-
def += ' UNIQUE';
|
|
63
|
-
}
|
|
64
|
-
if (col.isNotNull && !col.isPrimaryKey) {
|
|
65
|
-
def += ' NOT NULL';
|
|
66
|
-
}
|
|
67
|
-
if (col.defaultValue) {
|
|
68
|
-
// If the default is a function like gen_random_uuid(), we don't wrap it in quotes.
|
|
69
|
-
// If it's a raw string 'NOW()', we just use it directly (as they provided it).
|
|
70
|
-
def += ` DEFAULT ${col.defaultValue}`;
|
|
71
|
-
}
|
|
72
|
-
if (col.reference) {
|
|
73
|
-
const refCol = col.reference();
|
|
74
|
-
if (refCol.tableName) {
|
|
75
|
-
def += ` REFERENCES "${refCol.tableName}"("${refCol.name}")`;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return def;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.SchemaSynchronizer = SchemaSynchronizer;
|
|
82
|
-
//# sourceMappingURL=synchronizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.js","sourceRoot":"","sources":["../../src/database/synchronizer.ts"],"names":[],"mappings":"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"}
|
package/dist/database/types.d.ts
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supported database dialects.
|
|
3
|
-
*/
|
|
4
|
-
export type DatabaseDialect = 'postgres' | 'mysql' | 'sqlite' | 'mongodb';
|
|
5
|
-
/**
|
|
6
|
-
* Connection pool configuration.
|
|
7
|
-
*/
|
|
8
|
-
export interface PoolConfig {
|
|
9
|
-
/** Minimum number of connections in the pool. Default: 2 */
|
|
10
|
-
min?: number;
|
|
11
|
-
/** Maximum number of connections in the pool. Default: 10 */
|
|
12
|
-
max?: number;
|
|
13
|
-
/** Time in ms a connection can sit idle before being closed. Default: 30000 */
|
|
14
|
-
idleTimeoutMs?: number;
|
|
15
|
-
/** Time in ms to wait for a connection from the pool. Default: 10000 */
|
|
16
|
-
acquireTimeoutMs?: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* SSL/TLS configuration for database connections.
|
|
20
|
-
*/
|
|
21
|
-
export interface DatabaseSslConfig {
|
|
22
|
-
/** Reject unauthorized certificates. Default: true in production */
|
|
23
|
-
rejectUnauthorized?: boolean;
|
|
24
|
-
/** Path to CA certificate */
|
|
25
|
-
ca?: string | Buffer;
|
|
26
|
-
/** Path to client certificate */
|
|
27
|
-
cert?: string | Buffer;
|
|
28
|
-
/** Path to client private key */
|
|
29
|
-
key?: string | Buffer;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Configuration for a database connection.
|
|
33
|
-
*/
|
|
34
|
-
export interface DatabaseConfig {
|
|
35
|
-
/** The database dialect to use */
|
|
36
|
-
dialect: DatabaseDialect;
|
|
37
|
-
/** Connection URL (e.g. postgres://user:pass@host:5432/dbname) */
|
|
38
|
-
url?: string;
|
|
39
|
-
/** Host address. Used if `url` is not provided */
|
|
40
|
-
host?: string;
|
|
41
|
-
/** Port number */
|
|
42
|
-
port?: number;
|
|
43
|
-
/** Database name */
|
|
44
|
-
database?: string;
|
|
45
|
-
/** Username for authentication */
|
|
46
|
-
username?: string;
|
|
47
|
-
/** Password for authentication */
|
|
48
|
-
password?: string;
|
|
49
|
-
/** Connection pool configuration */
|
|
50
|
-
pool?: PoolConfig;
|
|
51
|
-
/** SSL/TLS configuration. Set to true for default SSL, or provide detailed config */
|
|
52
|
-
ssl?: boolean | DatabaseSslConfig;
|
|
53
|
-
/** Enable query logging. Default: false */
|
|
54
|
-
logging?: boolean | ((sql: string, params?: unknown[]) => void);
|
|
55
|
-
/** Connection timeout in milliseconds. Default: 5000 */
|
|
56
|
-
connectTimeoutMs?: number;
|
|
57
|
-
/**
|
|
58
|
-
* Path to the SQLite database file.
|
|
59
|
-
* Use ':memory:' for in-memory databases.
|
|
60
|
-
* Only applicable when dialect is 'sqlite'.
|
|
61
|
-
*/
|
|
62
|
-
filename?: string;
|
|
63
|
-
/**
|
|
64
|
-
* MongoDB-specific: the authentication database.
|
|
65
|
-
* Only applicable when dialect is 'mongodb'.
|
|
66
|
-
*/
|
|
67
|
-
authSource?: string;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Metadata about a column in a query result.
|
|
71
|
-
*/
|
|
72
|
-
export interface FieldInfo {
|
|
73
|
-
name: string;
|
|
74
|
-
dataType?: string;
|
|
75
|
-
tableId?: number;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Result of a SELECT query.
|
|
79
|
-
*/
|
|
80
|
-
export interface QueryResult<T = Record<string, unknown>> {
|
|
81
|
-
/** The rows returned by the query */
|
|
82
|
-
rows: T[];
|
|
83
|
-
/** Number of rows returned */
|
|
84
|
-
rowCount: number;
|
|
85
|
-
/** Column metadata */
|
|
86
|
-
fields: FieldInfo[];
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Result of an INSERT, UPDATE, or DELETE statement.
|
|
90
|
-
*/
|
|
91
|
-
export interface ExecuteResult {
|
|
92
|
-
/** Number of rows affected by the statement */
|
|
93
|
-
affectedRows: number;
|
|
94
|
-
/** The auto-generated ID of the last inserted row (if applicable) */
|
|
95
|
-
insertId?: string | number;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* A transaction context for executing multiple queries atomically.
|
|
99
|
-
*/
|
|
100
|
-
export interface Transaction {
|
|
101
|
-
/** Execute a SELECT query within this transaction */
|
|
102
|
-
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
103
|
-
/** Execute an INSERT, UPDATE, or DELETE within this transaction */
|
|
104
|
-
execute(sql: string, params?: unknown[]): Promise<ExecuteResult>;
|
|
105
|
-
/** Create a savepoint within this transaction */
|
|
106
|
-
savepoint(name: string): Promise<void>;
|
|
107
|
-
/** Rollback to a specific savepoint */
|
|
108
|
-
rollbackTo(name: string): Promise<void>;
|
|
109
|
-
/** Explicitly commit this transaction (usually handled automatically) */
|
|
110
|
-
commit(): Promise<void>;
|
|
111
|
-
/** Explicitly rollback this transaction */
|
|
112
|
-
rollback(): Promise<void>;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* The contract that every database adapter must implement.
|
|
116
|
-
*/
|
|
117
|
-
export interface DatabaseAdapter {
|
|
118
|
-
/** The dialect this adapter handles */
|
|
119
|
-
readonly dialect: DatabaseDialect;
|
|
120
|
-
/** Establish the database connection / pool */
|
|
121
|
-
connect(): Promise<void>;
|
|
122
|
-
/** Gracefully close all connections */
|
|
123
|
-
disconnect(): Promise<void>;
|
|
124
|
-
/** Execute a SELECT query and return typed results */
|
|
125
|
-
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
126
|
-
/** Execute an INSERT, UPDATE, or DELETE statement */
|
|
127
|
-
execute(sql: string, params?: unknown[]): Promise<ExecuteResult>;
|
|
128
|
-
/**
|
|
129
|
-
* Execute a series of operations within an atomic transaction.
|
|
130
|
-
* The transaction is committed if the callback resolves, rolled back if it rejects.
|
|
131
|
-
*/
|
|
132
|
-
transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
|
|
133
|
-
/** Check if the database connection is alive and healthy */
|
|
134
|
-
isHealthy(): Promise<boolean>;
|
|
135
|
-
/** Get the underlying raw client (for advanced use cases) */
|
|
136
|
-
getRawClient(): unknown;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Represents a single database migration.
|
|
140
|
-
*/
|
|
141
|
-
export interface Migration {
|
|
142
|
-
/** Unique migration name (e.g. '001_create_users_table') */
|
|
143
|
-
name: string;
|
|
144
|
-
/** Apply the migration */
|
|
145
|
-
up(adapter: DatabaseAdapter): Promise<void>;
|
|
146
|
-
/** Revert the migration */
|
|
147
|
-
down(adapter: DatabaseAdapter): Promise<void>;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Configuration for the built-in migration system.
|
|
151
|
-
*/
|
|
152
|
-
export interface MigrationConfig {
|
|
153
|
-
/** Directory containing migration files. Default: './migrations' */
|
|
154
|
-
directory?: string;
|
|
155
|
-
/** Name of the migrations tracking table. Default: '_exis_migrations' */
|
|
156
|
-
tableName?: string;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Record of an applied migration, stored in the tracking table.
|
|
160
|
-
*/
|
|
161
|
-
export interface MigrationRecord {
|
|
162
|
-
name: string;
|
|
163
|
-
appliedAt: Date;
|
|
164
|
-
batch: number;
|
|
165
|
-
}
|
|
166
|
-
export type WhereOperator = '=' | '!=' | '<' | '>' | '<=' | '>=' | 'LIKE' | 'ILIKE' | 'IN' | 'NOT IN' | 'IS' | 'IS NOT' | 'BETWEEN';
|
|
167
|
-
export type OrderDirection = 'asc' | 'desc' | 'ASC' | 'DESC';
|
|
168
|
-
export type JoinType = 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
169
|
-
export interface WhereClause {
|
|
170
|
-
column: string;
|
|
171
|
-
operator: WhereOperator;
|
|
172
|
-
value: unknown;
|
|
173
|
-
conjunction: 'AND' | 'OR';
|
|
174
|
-
}
|
|
175
|
-
export interface JoinClause {
|
|
176
|
-
type: JoinType;
|
|
177
|
-
table: string;
|
|
178
|
-
on: string;
|
|
179
|
-
}
|
|
180
|
-
export interface OrderByClause {
|
|
181
|
-
column: string;
|
|
182
|
-
direction: OrderDirection;
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
|
package/dist/database/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":";AAAA,kFAAkF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export type BatchLoadFn<K, V> = (keys: readonly K[]) => Promise<readonly (V | Error)[]>;
|
|
2
|
-
export interface DataloaderOptions<K, C = K> {
|
|
3
|
-
cache?: boolean;
|
|
4
|
-
maxBatchSize?: number;
|
|
5
|
-
cacheKeyFn?: (key: K) => C;
|
|
6
|
-
}
|
|
7
|
-
export declare class Dataloader<K, V, C = K> {
|
|
8
|
-
private batchFn;
|
|
9
|
-
private options;
|
|
10
|
-
private cacheMap;
|
|
11
|
-
private queue;
|
|
12
|
-
private dispatchScheduled;
|
|
13
|
-
constructor(batchFn: BatchLoadFn<K, V>, options?: DataloaderOptions<K, C>);
|
|
14
|
-
private getCacheKey;
|
|
15
|
-
load(key: K): Promise<V>;
|
|
16
|
-
loadMany(keys: readonly K[]): Promise<V[]>;
|
|
17
|
-
clear(key: K): this;
|
|
18
|
-
clearAll(): this;
|
|
19
|
-
prime(key: K, value: V | Error): this;
|
|
20
|
-
private dispatch;
|
|
21
|
-
private dispatchBatch;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=dataloader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/dataloader/dataloader.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAC9B,IAAI,EAAE,SAAS,CAAC,EAAE,KACf,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;AAEpC,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;CAC3B;AAED,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAU/B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAIL;IACR,OAAO,CAAC,iBAAiB,CAAQ;gBAGvB,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,OAAO,GAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAM;IAG/C,OAAO,CAAC,WAAW;IAWnB,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAI1C,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAKnB,QAAQ,IAAI,IAAI;IAKhB,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI;YAUvB,QAAQ;YAgBR,aAAa;CA6B5B"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Dataloader = void 0;
|
|
4
|
-
class Dataloader {
|
|
5
|
-
constructor(batchFn, options = {}) {
|
|
6
|
-
this.batchFn = batchFn;
|
|
7
|
-
this.options = options;
|
|
8
|
-
this.cacheMap = new Map();
|
|
9
|
-
this.queue = [];
|
|
10
|
-
this.dispatchScheduled = false;
|
|
11
|
-
}
|
|
12
|
-
getCacheKey(key) {
|
|
13
|
-
if (this.options.cacheKeyFn) {
|
|
14
|
-
return this.options.cacheKeyFn(key);
|
|
15
|
-
}
|
|
16
|
-
// Default fallback: if key is an object, stringify it to prevent reference-equality cache misses
|
|
17
|
-
if (typeof key === 'object' && key !== null) {
|
|
18
|
-
return JSON.stringify(key);
|
|
19
|
-
}
|
|
20
|
-
return key;
|
|
21
|
-
}
|
|
22
|
-
load(key) {
|
|
23
|
-
const shouldCache = this.options.cache !== false;
|
|
24
|
-
const cacheKey = this.getCacheKey(key);
|
|
25
|
-
if (shouldCache && this.cacheMap.has(cacheKey)) {
|
|
26
|
-
return this.cacheMap.get(cacheKey);
|
|
27
|
-
}
|
|
28
|
-
const promise = new Promise((resolve, reject) => {
|
|
29
|
-
this.queue.push({ key, resolve, reject });
|
|
30
|
-
});
|
|
31
|
-
if (shouldCache) {
|
|
32
|
-
this.cacheMap.set(cacheKey, promise);
|
|
33
|
-
}
|
|
34
|
-
if (!this.dispatchScheduled) {
|
|
35
|
-
this.dispatchScheduled = true;
|
|
36
|
-
process.nextTick(() => this.dispatch());
|
|
37
|
-
}
|
|
38
|
-
return promise;
|
|
39
|
-
}
|
|
40
|
-
loadMany(keys) {
|
|
41
|
-
return Promise.all(keys.map((key) => this.load(key)));
|
|
42
|
-
}
|
|
43
|
-
clear(key) {
|
|
44
|
-
this.cacheMap.delete(this.getCacheKey(key));
|
|
45
|
-
return this;
|
|
46
|
-
}
|
|
47
|
-
clearAll() {
|
|
48
|
-
this.cacheMap.clear();
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
|
-
prime(key, value) {
|
|
52
|
-
const cacheKey = this.getCacheKey(key);
|
|
53
|
-
if (!this.cacheMap.has(cacheKey)) {
|
|
54
|
-
const promise = value instanceof Error ? Promise.reject(value) : Promise.resolve(value);
|
|
55
|
-
this.cacheMap.set(cacheKey, promise);
|
|
56
|
-
}
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
|
-
async dispatch() {
|
|
60
|
-
this.dispatchScheduled = false;
|
|
61
|
-
const queue = this.queue;
|
|
62
|
-
this.queue = [];
|
|
63
|
-
if (queue.length === 0)
|
|
64
|
-
return;
|
|
65
|
-
const maxBatchSize = this.options.maxBatchSize || 1000;
|
|
66
|
-
// Split into batches if needed
|
|
67
|
-
for (let i = 0; i < queue.length; i += maxBatchSize) {
|
|
68
|
-
const batch = queue.slice(i, i + maxBatchSize);
|
|
69
|
-
this.dispatchBatch(batch);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async dispatchBatch(batch) {
|
|
73
|
-
const keys = batch.map((q) => q.key);
|
|
74
|
-
try {
|
|
75
|
-
const results = await this.batchFn(keys);
|
|
76
|
-
if (!Array.isArray(results) || results.length !== keys.length) {
|
|
77
|
-
throw new Error('Dataloader batch function must return an array of the same length as the keys array');
|
|
78
|
-
}
|
|
79
|
-
for (let i = 0; i < batch.length; i++) {
|
|
80
|
-
const result = results[i];
|
|
81
|
-
if (result instanceof Error) {
|
|
82
|
-
batch[i].reject(result);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
batch[i].resolve(result);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
const error = err instanceof Error ? err : new Error(String(err));
|
|
91
|
-
for (const q of batch) {
|
|
92
|
-
q.reject(error);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.Dataloader = Dataloader;
|
|
98
|
-
//# sourceMappingURL=dataloader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataloader.js","sourceRoot":"","sources":["../../src/dataloader/dataloader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataloader/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/dist/dataloader/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./dataloader"), exports);
|
|
18
|
-
__exportStar(require("./registry"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dataloader/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,6CAA0B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Dataloader } from './dataloader';
|
|
2
|
-
/**
|
|
3
|
-
* Defines a registry of per-request Dataloaders securely bound to the Exis context.
|
|
4
|
-
*/
|
|
5
|
-
export declare function defineLoaders<T extends Record<string, () => Dataloader<any, any>>>(factories: T): {
|
|
6
|
-
/**
|
|
7
|
-
* Middleware that lazy-initializes all loaders into the current request context.
|
|
8
|
-
* Register this globally or on a gateway.
|
|
9
|
-
*/
|
|
10
|
-
loaderMiddleware: (req: any, res: any, next: any) => void;
|
|
11
|
-
/**
|
|
12
|
-
* Strongly-typed hook to retrieve the isolated loaders anywhere in the codebase
|
|
13
|
-
* without needing to pass the req object.
|
|
14
|
-
*/
|
|
15
|
-
getLoaders: () => { [K in keyof T]: ReturnType<T[K]>; };
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/dataloader/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;GAEG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACpD,SAAS,EAAE,CAAC;IAEV;;;OAGG;4BACqB,GAAG,OAAO,GAAG,QAAQ,GAAG;IAsBhD;;;OAGG;yBAGa,CAAC;EAWpB"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineLoaders = defineLoaders;
|
|
4
|
-
const context_1 = require("../server/context");
|
|
5
|
-
/**
|
|
6
|
-
* Defines a registry of per-request Dataloaders securely bound to the Exis context.
|
|
7
|
-
*/
|
|
8
|
-
function defineLoaders(factories) {
|
|
9
|
-
return {
|
|
10
|
-
/**
|
|
11
|
-
* Middleware that lazy-initializes all loaders into the current request context.
|
|
12
|
-
* Register this globally or on a gateway.
|
|
13
|
-
*/
|
|
14
|
-
loaderMiddleware: (req, res, next) => {
|
|
15
|
-
const instances = {};
|
|
16
|
-
// We lazily instantiate the loaders so we don't pay the penalty
|
|
17
|
-
// if a specific loader isn't used in this request.
|
|
18
|
-
for (const key of Object.keys(factories)) {
|
|
19
|
-
Object.defineProperty(instances, key, {
|
|
20
|
-
get: () => {
|
|
21
|
-
if (!instances[`_${key}`]) {
|
|
22
|
-
instances[`_${key}`] = factories[key]();
|
|
23
|
-
}
|
|
24
|
-
return instances[`_${key}`];
|
|
25
|
-
},
|
|
26
|
-
enumerable: true,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
(0, context_1.setContext)('loaders', instances);
|
|
30
|
-
if (next)
|
|
31
|
-
next();
|
|
32
|
-
},
|
|
33
|
-
/**
|
|
34
|
-
* Strongly-typed hook to retrieve the isolated loaders anywhere in the codebase
|
|
35
|
-
* without needing to pass the req object.
|
|
36
|
-
*/
|
|
37
|
-
getLoaders: () => {
|
|
38
|
-
const state = (0, context_1.getContext)();
|
|
39
|
-
if (!state || !state.loaders) {
|
|
40
|
-
throw new Error('getLoaders() was called, but the loaderMiddleware is not registered. ' +
|
|
41
|
-
'Please ensure loaderMiddleware is added to your app or gateway.');
|
|
42
|
-
}
|
|
43
|
-
return state.loaders;
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/dataloader/registry.ts"],"names":[],"mappings":";;AAMA,sCA+CC;AArDD,+CAA0D;AAG1D;;GAEG;AACH,SAAgB,aAAa,CAE3B,SAAY;IACZ,OAAO;QACL;;;WAGG;QACH,gBAAgB,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,EAAS,CAAA;YAE3B,gEAAgE;YAChE,mDAAmD;YACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE;oBACpC,GAAG,EAAE,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC;4BAC1B,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;wBACzC,CAAC;wBACD,OAAO,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;oBAC7B,CAAC;oBACD,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED,IAAA,oBAAU,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YAEhC,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAA;QAClB,CAAC;QAED;;;WAGG;QACH,UAAU,EAAE,GAAG,EAAE;YACf,MAAM,KAAK,GAAG,IAAA,oBAAU,GAEpB,CAAA;YACJ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,uEAAuE;oBACrE,iEAAiE,CACpE,CAAA;YACH,CAAC;YACD,OAAO,KAAK,CAAC,OAAO,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/dev/dep-graph.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dep-graph.d.ts","sourceRoot":"","sources":["../../src/dev/dep-graph.ts"],"names":[],"mappings":"AAIA,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CA+BnC"}
|