@fougere/core 0.6.0-alpha.0 → 0.7.0-alpha.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/README.md +1 -1
- package/dist/boot/Emissions.d.ts +13 -90
- package/dist/boot/Emissions.d.ts.map +1 -1
- package/dist/boot/Emissions.js +21 -118
- package/dist/boot/Emissions.js.map +1 -1
- package/dist/boot/ambient-port.d.ts +3 -24
- package/dist/boot/ambient-port.d.ts.map +1 -1
- package/dist/boot/ambient.als.d.ts.map +1 -1
- package/dist/boot/ambient.als.js +7 -12
- package/dist/boot/ambient.als.js.map +1 -1
- package/dist/boot/ambient.queue.d.ts +2 -5
- package/dist/boot/ambient.queue.d.ts.map +1 -1
- package/dist/boot/ambient.queue.js.map +1 -1
- package/dist/boot/apply.d.ts +1 -13
- package/dist/boot/apply.d.ts.map +1 -1
- package/dist/boot/apply.js +3 -15
- package/dist/boot/apply.js.map +1 -1
- package/dist/boot/auth.d.ts +2 -12
- package/dist/boot/auth.d.ts.map +1 -1
- package/dist/boot/boot.d.ts +3 -16
- package/dist/boot/boot.d.ts.map +1 -1
- package/dist/boot/boot.js +3 -10
- package/dist/boot/boot.js.map +1 -1
- package/dist/boot/bootstrap.d.ts.map +1 -1
- package/dist/boot/bootstrap.js +61 -127
- package/dist/boot/bootstrap.js.map +1 -1
- package/dist/boot/card.d.ts +1 -17
- package/dist/boot/card.d.ts.map +1 -1
- package/dist/boot/card.js +3 -32
- package/dist/boot/card.js.map +1 -1
- package/dist/boot/frame.d.ts +8 -32
- package/dist/boot/frame.d.ts.map +1 -1
- package/dist/boot/frame.js +20 -54
- package/dist/boot/frame.js.map +1 -1
- package/dist/boot/hosted.d.ts +2 -24
- package/dist/boot/hosted.d.ts.map +1 -1
- package/dist/boot/hosted.js +10 -15
- package/dist/boot/hosted.js.map +1 -1
- package/dist/boot/ownership.d.ts +3 -36
- package/dist/boot/ownership.d.ts.map +1 -1
- package/dist/boot/ownership.js +5 -40
- package/dist/boot/ownership.js.map +1 -1
- package/dist/boot/ports.d.ts +1 -14
- package/dist/boot/ports.d.ts.map +1 -1
- package/dist/boot/ports.js +1 -14
- package/dist/boot/ports.js.map +1 -1
- package/dist/boot/remote.d.ts +5 -38
- package/dist/boot/remote.d.ts.map +1 -1
- package/dist/boot/remote.js +8 -41
- package/dist/boot/remote.js.map +1 -1
- package/dist/boot/runner.d.ts +4 -21
- package/dist/boot/runner.d.ts.map +1 -1
- package/dist/boot/runner.js +4 -17
- package/dist/boot/runner.js.map +1 -1
- package/dist/boot/seed.d.ts +4 -31
- package/dist/boot/seed.d.ts.map +1 -1
- package/dist/boot/seed.js +6 -37
- package/dist/boot/seed.js.map +1 -1
- package/dist/boot/statement-drift.d.ts +2 -21
- package/dist/boot/statement-drift.d.ts.map +1 -1
- package/dist/boot/statement-drift.js +4 -9
- package/dist/boot/statement-drift.js.map +1 -1
- package/dist/boot/together.d.ts +4 -8
- package/dist/boot/together.d.ts.map +1 -1
- package/dist/boot/together.js +15 -50
- package/dist/boot/together.js.map +1 -1
- package/dist/boot/types.d.ts +28 -173
- package/dist/boot/types.d.ts.map +1 -1
- package/dist/builtin/config.d.ts +7 -0
- package/dist/builtin/config.d.ts.map +1 -0
- package/dist/builtin/config.js +15 -0
- package/dist/builtin/config.js.map +1 -0
- package/dist/{builtins → builtin}/logger.d.ts +4 -25
- package/dist/builtin/logger.d.ts.map +1 -0
- package/dist/{builtins → builtin}/logger.js +5 -32
- package/dist/builtin/logger.js.map +1 -0
- package/dist/config-loader.d.ts +9 -67
- package/dist/config-loader.d.ts.map +1 -1
- package/dist/config-loader.js +5 -18
- package/dist/config-loader.js.map +1 -1
- package/dist/contract.d.ts +13 -31
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +10 -26
- package/dist/contract.js.map +1 -1
- package/dist/crypto/encoding.d.ts +2 -15
- package/dist/crypto/encoding.d.ts.map +1 -1
- package/dist/crypto/encoding.js +2 -15
- package/dist/crypto/encoding.js.map +1 -1
- package/dist/crypto/node.d.ts.map +1 -1
- package/dist/crypto/node.js +1 -7
- package/dist/crypto/node.js.map +1 -1
- package/dist/crypto/port.d.ts +2 -18
- package/dist/crypto/port.d.ts.map +1 -1
- package/dist/crypto/port.js +1 -17
- package/dist/crypto/port.js.map +1 -1
- package/dist/crypto/webcrypto.d.ts.map +1 -1
- package/dist/crypto/webcrypto.js +1 -12
- package/dist/crypto/webcrypto.js.map +1 -1
- package/dist/declare.d.ts +6 -36
- package/dist/declare.d.ts.map +1 -1
- package/dist/declare.js +4 -29
- package/dist/declare.js.map +1 -1
- package/dist/define.d.ts +2 -3
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +2 -3
- package/dist/define.js.map +1 -1
- package/dist/descriptor/Fronds.d.ts +3 -28
- package/dist/descriptor/Fronds.d.ts.map +1 -1
- package/dist/descriptor/Fronds.js +6 -31
- package/dist/descriptor/Fronds.js.map +1 -1
- package/dist/descriptor/frond.d.ts +14 -63
- package/dist/descriptor/frond.d.ts.map +1 -1
- package/dist/dispatch/ArgumentResolver.d.ts +1 -1
- package/dist/dispatch/ArgumentResolver.d.ts.map +1 -1
- package/dist/dispatch/ArgumentResolver.js +5 -5
- package/dist/dispatch/ArgumentResolver.js.map +1 -1
- package/dist/dispatch/DispatchEvent.d.ts +2 -2
- package/dist/dispatch/DispatchEvent.d.ts.map +1 -1
- package/dist/dispatch/DispatchLifecycle.d.ts +1 -7
- package/dist/dispatch/DispatchLifecycle.d.ts.map +1 -1
- package/dist/dispatch/DispatchLifecycle.js +1 -7
- package/dist/dispatch/DispatchLifecycle.js.map +1 -1
- package/dist/dispatch/DispatchPort.d.ts +1 -1
- package/dist/dispatch/DispatchPort.d.ts.map +1 -1
- package/dist/dispatch/Dispatcher.d.ts +1 -1
- package/dist/dispatch/Dispatcher.d.ts.map +1 -1
- package/dist/dispatch/Dispatcher.js +2 -2
- package/dist/dispatch/Dispatcher.js.map +1 -1
- package/dist/{boot → dispatch}/HandlerFacade.d.ts +25 -38
- package/dist/dispatch/HandlerFacade.d.ts.map +1 -0
- package/dist/{boot → dispatch}/HandlerFacade.js +65 -74
- package/dist/dispatch/HandlerFacade.js.map +1 -0
- package/dist/dispatch/LocalRoutePolicy.d.ts +1 -1
- package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
- package/dist/dispatch/LocalRoutePolicy.js +4 -4
- package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
- package/dist/dispatch/OperationRoute.d.ts +2 -2
- package/dist/dispatch/OperationRoute.d.ts.map +1 -1
- package/dist/dispatch/OutputView.d.ts +3 -2
- package/dist/dispatch/OutputView.d.ts.map +1 -1
- package/dist/dispatch/OutputView.js +19 -1
- package/dist/dispatch/OutputView.js.map +1 -1
- package/dist/dispatch/Route.d.ts +2 -2
- package/dist/dispatch/Route.d.ts.map +1 -1
- package/dist/dispatch/RoutePolicy.d.ts +1 -1
- package/dist/dispatch/RoutePolicy.d.ts.map +1 -1
- package/dist/dispatch/RouteRegistry.d.ts +1 -1
- package/dist/dispatch/RouteRegistry.d.ts.map +1 -1
- package/dist/dispatch/RouteRegistry.js +2 -2
- package/dist/dispatch/RouteRegistry.js.map +1 -1
- package/dist/dispatch/RouteResolver.d.ts +2 -4
- package/dist/dispatch/RouteResolver.d.ts.map +1 -1
- package/dist/dispatch/StorageGuard.d.ts +8 -7
- package/dist/dispatch/StorageGuard.d.ts.map +1 -1
- package/dist/dispatch/StorageGuard.js +61 -18
- package/dist/dispatch/StorageGuard.js.map +1 -1
- package/dist/dispatch/presenterArguments.d.ts +7 -0
- package/dist/dispatch/presenterArguments.d.ts.map +1 -0
- package/dist/dispatch/presenterArguments.js +12 -0
- package/dist/dispatch/presenterArguments.js.map +1 -0
- package/dist/dispatch/remoteRoutes.d.ts +7 -0
- package/dist/dispatch/remoteRoutes.d.ts.map +1 -0
- package/dist/dispatch/{RemoteRouteResolver.js → remoteRoutes.js} +6 -10
- package/dist/dispatch/remoteRoutes.js.map +1 -0
- package/dist/dispatch/routeNotFound.d.ts +9 -0
- package/dist/dispatch/routeNotFound.d.ts.map +1 -0
- package/dist/dispatch/routeNotFound.js +21 -0
- package/dist/dispatch/routeNotFound.js.map +1 -0
- package/dist/dispatch/validateInput.d.ts +5 -0
- package/dist/dispatch/validateInput.d.ts.map +1 -0
- package/dist/dispatch/validateInput.js +20 -0
- package/dist/dispatch/validateInput.js.map +1 -0
- package/dist/effective-operation.d.ts +1 -24
- package/dist/effective-operation.d.ts.map +1 -1
- package/dist/effective-operation.js +21 -50
- package/dist/effective-operation.js.map +1 -1
- package/dist/emit.d.ts +4 -42
- package/dist/emit.d.ts.map +1 -1
- package/dist/emit.js +3 -39
- package/dist/emit.js.map +1 -1
- package/dist/entry/facade.d.ts +8 -0
- package/dist/entry/facade.d.ts.map +1 -0
- package/dist/entry/facade.js +28 -0
- package/dist/entry/facade.js.map +1 -0
- package/dist/entry/transport.d.ts +5 -0
- package/dist/entry/transport.d.ts.map +1 -0
- package/dist/entry/transport.js +11 -0
- package/dist/entry/transport.js.map +1 -0
- package/dist/frond-config.d.ts +7 -70
- package/dist/frond-config.d.ts.map +1 -1
- package/dist/frond-config.js +1 -9
- package/dist/frond-config.js.map +1 -1
- package/dist/identity-keys.d.ts +2 -5
- package/dist/identity-keys.d.ts.map +1 -1
- package/dist/identity-keys.js +3 -16
- package/dist/identity-keys.js.map +1 -1
- package/dist/identity.d.ts +4 -30
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +11 -73
- package/dist/identity.js.map +1 -1
- package/dist/imports.d.ts +1 -7
- package/dist/imports.d.ts.map +1 -1
- package/dist/imports.js +1 -7
- package/dist/imports.js.map +1 -1
- package/dist/index.d.ts +17 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -18
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +1 -8
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +1 -8
- package/dist/loader.js.map +1 -1
- package/dist/node.d.ts +2 -11
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -11
- package/dist/node.js.map +1 -1
- package/dist/prefab/collector.d.ts +1 -22
- package/dist/prefab/collector.d.ts.map +1 -1
- package/dist/prefab/collector.js +1 -22
- package/dist/prefab/collector.js.map +1 -1
- package/dist/prefab/crud.d.ts +16 -32
- package/dist/prefab/crud.d.ts.map +1 -1
- package/dist/prefab/crud.js +31 -58
- package/dist/prefab/crud.js.map +1 -1
- package/dist/prefab/mirror.d.ts +2 -24
- package/dist/prefab/mirror.d.ts.map +1 -1
- package/dist/prefab/mirror.js +2 -20
- package/dist/prefab/mirror.js.map +1 -1
- package/dist/prefab/prefab.d.ts +1 -7
- package/dist/prefab/prefab.d.ts.map +1 -1
- package/dist/prefab/prefab.js +1 -7
- package/dist/prefab/prefab.js.map +1 -1
- package/dist/prefab/presenter.d.ts +2 -36
- package/dist/prefab/presenter.d.ts.map +1 -1
- package/dist/prefab/presenter.js +2 -36
- package/dist/prefab/presenter.js.map +1 -1
- package/dist/prefab/repository.d.ts +5 -73
- package/dist/prefab/repository.d.ts.map +1 -1
- package/dist/prefab/repository.js +3 -16
- package/dist/prefab/repository.js.map +1 -1
- package/dist/scan/adapters.d.ts +3 -0
- package/dist/scan/adapters.d.ts.map +1 -0
- package/dist/scan/adapters.js +25 -0
- package/dist/scan/adapters.js.map +1 -0
- package/dist/scan/bundling.d.ts +1 -12
- package/dist/scan/bundling.d.ts.map +1 -1
- package/dist/scan/bundling.js +1 -12
- package/dist/scan/bundling.js.map +1 -1
- package/dist/scan/conventions.d.ts +6 -40
- package/dist/scan/conventions.d.ts.map +1 -1
- package/dist/scan/conventions.js +5 -34
- package/dist/scan/conventions.js.map +1 -1
- package/dist/scan/emit.d.ts +1 -5
- package/dist/scan/emit.d.ts.map +1 -1
- package/dist/scan/emit.js +4 -38
- package/dist/scan/emit.js.map +1 -1
- package/dist/scan/handler-parser.d.ts +4 -26
- package/dist/scan/handler-parser.d.ts.map +1 -1
- package/dist/scan/handler-parser.js +26 -83
- package/dist/scan/handler-parser.js.map +1 -1
- package/dist/scan/result.d.ts +3 -16
- package/dist/scan/result.d.ts.map +1 -1
- package/dist/scan/scanner.d.ts +2 -27
- package/dist/scan/scanner.d.ts.map +1 -1
- package/dist/scan/scanner.js +28 -127
- package/dist/scan/scanner.js.map +1 -1
- package/dist/scan/statement.d.ts.map +1 -1
- package/dist/scan/statement.js +4 -30
- package/dist/scan/statement.js.map +1 -1
- package/dist/source.d.ts +41 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +10 -0
- package/dist/source.js.map +1 -0
- package/dist/storage.d.ts +13 -210
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +4 -68
- package/dist/storage.js.map +1 -1
- package/dist/store.d.ts +18 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +146 -0
- package/dist/store.js.map +1 -0
- package/dist/verify.d.ts +5 -38
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +17 -37
- package/dist/verify.js.map +1 -1
- package/dist/wire/CallLog.d.ts +32 -0
- package/dist/wire/CallLog.d.ts.map +1 -0
- package/dist/{contract → wire}/CallLog.js.map +1 -1
- package/dist/wire/Invocation.d.ts +32 -0
- package/dist/wire/Invocation.d.ts.map +1 -0
- package/dist/wire/Invocation.js +66 -0
- package/dist/wire/Invocation.js.map +1 -0
- package/dist/{contract → wire}/RouteAddress.d.ts +5 -0
- package/dist/wire/RouteAddress.d.ts.map +1 -0
- package/dist/{contract → wire}/RouteAddress.js +7 -0
- package/dist/wire/RouteAddress.js.map +1 -0
- package/dist/wire/binding.d.ts +5 -21
- package/dist/wire/binding.d.ts.map +1 -1
- package/dist/wire/binding.js +5 -10
- package/dist/wire/binding.js.map +1 -1
- package/dist/wire/call.d.ts +24 -133
- package/dist/wire/call.d.ts.map +1 -1
- package/dist/wire/call.js +15 -41
- package/dist/wire/call.js.map +1 -1
- package/dist/wire/drift.d.ts +3 -28
- package/dist/wire/drift.d.ts.map +1 -1
- package/dist/wire/drift.js +4 -23
- package/dist/wire/drift.js.map +1 -1
- package/dist/wire/errors.d.ts +4 -24
- package/dist/wire/errors.d.ts.map +1 -1
- package/dist/wire/errors.js +4 -24
- package/dist/wire/errors.js.map +1 -1
- package/dist/wire/http-error.d.ts +2 -13
- package/dist/wire/http-error.d.ts.map +1 -1
- package/dist/wire/http-error.js +5 -19
- package/dist/wire/http-error.js.map +1 -1
- package/dist/wire/loggerMiddleware.d.ts +2 -8
- package/dist/wire/loggerMiddleware.d.ts.map +1 -1
- package/dist/wire/loggerMiddleware.js +1 -7
- package/dist/wire/loggerMiddleware.js.map +1 -1
- package/dist/wire/middleware.d.ts +3 -7
- package/dist/wire/middleware.d.ts.map +1 -1
- package/dist/wire/middleware.js +1 -5
- package/dist/wire/middleware.js.map +1 -1
- package/dist/wire/operation.d.ts +7 -43
- package/dist/wire/operation.d.ts.map +1 -1
- package/dist/wire/operation.js +4 -15
- package/dist/wire/operation.js.map +1 -1
- package/dist/wire/signature.d.ts +4 -25
- package/dist/wire/signature.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/boot/Emissions.ts +21 -118
- package/src/boot/ambient-port.ts +3 -24
- package/src/boot/ambient.als.ts +7 -12
- package/src/boot/ambient.queue.ts +2 -5
- package/src/boot/apply.ts +3 -15
- package/src/boot/auth.ts +2 -12
- package/src/boot/boot.ts +5 -20
- package/src/boot/bootstrap.ts +69 -136
- package/src/boot/card.ts +4 -33
- package/src/boot/frame.ts +28 -62
- package/src/boot/hosted.ts +12 -34
- package/src/boot/ownership.ts +5 -39
- package/src/boot/ports.ts +1 -14
- package/src/boot/remote.ts +11 -58
- package/src/boot/runner.ts +5 -22
- package/src/boot/seed.ts +6 -37
- package/src/boot/statement-drift.ts +5 -24
- package/src/boot/together.ts +18 -51
- package/src/boot/types.ts +28 -173
- package/src/{builtins → builtin}/config.ts +1 -7
- package/src/{builtins → builtin}/logger.ts +6 -39
- package/src/config-loader.ts +12 -71
- package/src/contract.ts +15 -39
- package/src/crypto/encoding.ts +2 -15
- package/src/crypto/node.ts +1 -7
- package/src/crypto/port.ts +2 -18
- package/src/crypto/webcrypto.ts +1 -12
- package/src/declare.ts +8 -39
- package/src/define.ts +2 -3
- package/src/descriptor/Fronds.ts +6 -31
- package/src/descriptor/frond.ts +14 -63
- package/src/dispatch/ArgumentResolver.ts +6 -6
- package/src/dispatch/DispatchEvent.ts +2 -2
- package/src/dispatch/DispatchLifecycle.ts +1 -7
- package/src/dispatch/DispatchPort.ts +1 -1
- package/src/dispatch/Dispatcher.ts +3 -3
- package/src/dispatch/HandlerFacade.ts +231 -0
- package/src/dispatch/LocalRoutePolicy.ts +4 -4
- package/src/dispatch/OperationRoute.ts +2 -2
- package/src/dispatch/OutputView.ts +24 -2
- package/src/dispatch/Route.ts +2 -2
- package/src/dispatch/RoutePolicy.ts +1 -1
- package/src/dispatch/RouteRegistry.ts +2 -2
- package/src/dispatch/RouteResolver.ts +2 -4
- package/src/dispatch/StorageGuard.ts +70 -18
- package/src/dispatch/presenterArguments.ts +25 -0
- package/src/dispatch/{RemoteRouteResolver.ts → remoteRoutes.ts} +7 -9
- package/src/dispatch/routeNotFound.ts +33 -0
- package/src/dispatch/validateInput.ts +28 -0
- package/src/effective-operation.ts +21 -50
- package/src/emit.ts +5 -63
- package/src/entry/facade.ts +44 -0
- package/src/entry/transport.ts +16 -0
- package/src/frond-config.ts +7 -70
- package/src/identity-keys.ts +3 -16
- package/src/identity.ts +12 -80
- package/src/imports.ts +2 -31
- package/src/index.ts +17 -24
- package/src/loader.ts +2 -16
- package/src/node.ts +2 -11
- package/src/prefab/collector.ts +1 -22
- package/src/prefab/crud.ts +37 -76
- package/src/prefab/mirror.ts +4 -44
- package/src/prefab/prefab.ts +2 -21
- package/src/prefab/presenter.ts +2 -36
- package/src/prefab/repository.ts +7 -83
- package/src/scan/adapters.ts +32 -0
- package/src/scan/bundling.ts +1 -12
- package/src/scan/conventions.ts +6 -40
- package/src/scan/emit.ts +4 -38
- package/src/scan/handler-parser.ts +27 -96
- package/src/scan/result.ts +3 -16
- package/src/scan/scanner.ts +27 -126
- package/src/scan/statement.ts +4 -30
- package/src/source.ts +44 -0
- package/src/storage.ts +14 -234
- package/src/store.ts +152 -0
- package/src/verify.ts +16 -57
- package/src/wire/CallLog.ts +30 -0
- package/src/{contract → wire}/Invocation.ts +24 -17
- package/src/{contract → wire}/RouteAddress.ts +7 -0
- package/src/wire/binding.ts +9 -25
- package/src/wire/call.ts +30 -133
- package/src/wire/drift.ts +5 -30
- package/src/wire/errors.ts +4 -24
- package/src/wire/http-error.ts +5 -19
- package/src/wire/loggerMiddleware.ts +2 -8
- package/src/wire/middleware.ts +3 -7
- package/src/wire/operation.ts +8 -48
- package/src/wire/signature.ts +4 -25
- package/dist/boot/HandlerFacade.d.ts.map +0 -1
- package/dist/boot/HandlerFacade.js.map +0 -1
- package/dist/builtins/config.d.ts +0 -13
- package/dist/builtins/config.d.ts.map +0 -1
- package/dist/builtins/config.js +0 -21
- package/dist/builtins/config.js.map +0 -1
- package/dist/builtins/logger.d.ts.map +0 -1
- package/dist/builtins/logger.js.map +0 -1
- package/dist/contract/Call.d.ts +0 -10
- package/dist/contract/Call.d.ts.map +0 -1
- package/dist/contract/Call.js +0 -15
- package/dist/contract/Call.js.map +0 -1
- package/dist/contract/CallLog.d.ts +0 -57
- package/dist/contract/CallLog.d.ts.map +0 -1
- package/dist/contract/Invocation.d.ts +0 -27
- package/dist/contract/Invocation.d.ts.map +0 -1
- package/dist/contract/Invocation.js +0 -59
- package/dist/contract/Invocation.js.map +0 -1
- package/dist/contract/RouteAddress.d.ts.map +0 -1
- package/dist/contract/RouteAddress.js.map +0 -1
- package/dist/dispatch/InputValidator.d.ts +0 -7
- package/dist/dispatch/InputValidator.d.ts.map +0 -1
- package/dist/dispatch/InputValidator.js +0 -22
- package/dist/dispatch/InputValidator.js.map +0 -1
- package/dist/dispatch/OperationExecutor.d.ts +0 -25
- package/dist/dispatch/OperationExecutor.d.ts.map +0 -1
- package/dist/dispatch/OperationExecutor.js +0 -32
- package/dist/dispatch/OperationExecutor.js.map +0 -1
- package/dist/dispatch/OutputProjector.d.ts +0 -12
- package/dist/dispatch/OutputProjector.d.ts.map +0 -1
- package/dist/dispatch/OutputProjector.js +0 -30
- package/dist/dispatch/OutputProjector.js.map +0 -1
- package/dist/dispatch/PresenterArgumentResolver.d.ts +0 -12
- package/dist/dispatch/PresenterArgumentResolver.d.ts.map +0 -1
- package/dist/dispatch/PresenterArgumentResolver.js +0 -20
- package/dist/dispatch/PresenterArgumentResolver.js.map +0 -1
- package/dist/dispatch/RemoteRouteResolver.d.ts +0 -13
- package/dist/dispatch/RemoteRouteResolver.d.ts.map +0 -1
- package/dist/dispatch/RemoteRouteResolver.js.map +0 -1
- package/dist/dispatch/RouteNotFoundError.d.ts +0 -10
- package/dist/dispatch/RouteNotFoundError.d.ts.map +0 -1
- package/dist/dispatch/RouteNotFoundError.js +0 -24
- package/dist/dispatch/RouteNotFoundError.js.map +0 -1
- package/dist/entry/DynamicFacade.d.ts +0 -10
- package/dist/entry/DynamicFacade.d.ts.map +0 -1
- package/dist/entry/DynamicFacade.js +0 -27
- package/dist/entry/DynamicFacade.js.map +0 -1
- package/dist/entry/FacadeEntry.d.ts +0 -11
- package/dist/entry/FacadeEntry.d.ts.map +0 -1
- package/dist/entry/FacadeEntry.js +0 -26
- package/dist/entry/FacadeEntry.js.map +0 -1
- package/dist/entry/TransportEntry.d.ts +0 -13
- package/dist/entry/TransportEntry.d.ts.map +0 -1
- package/dist/entry/TransportEntry.js +0 -24
- package/dist/entry/TransportEntry.js.map +0 -1
- package/dist/rows.d.ts +0 -40
- package/dist/rows.d.ts.map +0 -1
- package/dist/rows.js +0 -146
- package/dist/rows.js.map +0 -1
- package/src/boot/HandlerFacade.ts +0 -242
- package/src/contract/Call.ts +0 -18
- package/src/contract/CallLog.ts +0 -55
- package/src/dispatch/InputValidator.ts +0 -28
- package/src/dispatch/OperationExecutor.ts +0 -60
- package/src/dispatch/OutputProjector.ts +0 -32
- package/src/dispatch/PresenterArgumentResolver.ts +0 -25
- package/src/dispatch/RouteNotFoundError.ts +0 -29
- package/src/entry/DynamicFacade.ts +0 -28
- package/src/entry/FacadeEntry.ts +0 -32
- package/src/entry/TransportEntry.ts +0 -30
- package/src/rows.ts +0 -155
- /package/dist/{contract → wire}/CallLog.js +0 -0
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What this app hosts, with the questions everyone was asking it by hand.
|
|
3
|
-
*
|
|
4
|
-
* The list was a bare array, so every reader re-walked it: "which frond owns this
|
|
5
|
-
* entity" was spelled four times, "every entity by name" three times as three literal
|
|
6
|
-
* copies of the same `Map`, and the two inside the boot even carried comments saying so.
|
|
7
|
-
* A concept nobody can question is a concept everyone rebuilds.
|
|
8
|
-
*
|
|
9
|
-
* It IS an array — the same reason `ListResult` is one: twenty call sites iterate,
|
|
10
|
-
* filter and spread it, and none of them is wrong to. `Symbol.species` is `Array` so a
|
|
11
|
-
* `.map()` over it answers a plain array rather than something that claims to be a
|
|
12
|
-
* hosting table and holds strings.
|
|
13
|
-
*/
|
|
1
|
+
/** What this app hosts, with the questions everyone was asking it by hand. */
|
|
14
2
|
export class Fronds extends Array {
|
|
15
3
|
static get [Symbol.species]() {
|
|
16
4
|
return Array;
|
|
17
5
|
}
|
|
18
6
|
/** The fronds an app hosts, scanned or stated. The only gate in — `Array.of` is taken. */
|
|
19
7
|
static hosting(fronds) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
return
|
|
8
|
+
const all = new Fronds();
|
|
9
|
+
all.push(...fronds);
|
|
10
|
+
return all;
|
|
23
11
|
}
|
|
24
12
|
/** The frond that hosts an entity — `undefined` when no loaded frond does. */
|
|
25
13
|
owner(entity) {
|
|
@@ -34,13 +22,7 @@ export class Fronds extends Array {
|
|
|
34
22
|
}
|
|
35
23
|
return undefined;
|
|
36
24
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Every entity class, by name — across all fronds and never per-frond.
|
|
39
|
-
*
|
|
40
|
-
* A fact is announced in one frond and heard in another, so the subscriber's own
|
|
41
|
-
* frond does not hold the shape it must judge; a `reads:` clause names entities
|
|
42
|
-
* that belong to neighbours by definition.
|
|
43
|
-
*/
|
|
25
|
+
/** Every entity class, by name — across all fronds and never per-frond. */
|
|
44
26
|
schemas() {
|
|
45
27
|
return new Map(this.flatMap((frond) => frond.entities.map((e) => [e.name, e.entityClass])));
|
|
46
28
|
}
|
|
@@ -48,14 +30,7 @@ export class Fronds extends Array {
|
|
|
48
30
|
entityNames() {
|
|
49
31
|
return this.flatMap((frond) => frond.entities.map((e) => e.name)).sort();
|
|
50
32
|
}
|
|
51
|
-
/**
|
|
52
|
-
* The names a call may address, sorted — what a NOT_FOUND must print.
|
|
53
|
-
*
|
|
54
|
-
* Not `entityNames()`, which is what the scan found: an entity with no handler is
|
|
55
|
-
* scanned and serves nothing, so the refusal read *"Entity 'indexed' is not hosted
|
|
56
|
-
* here. Hosted here: indexed."* — naming the very thing it had just refused. A façade
|
|
57
|
-
* is keyed on a HANDLER's address, and that is what this lists.
|
|
58
|
-
*/
|
|
33
|
+
/** The names a call may address, sorted — what a NOT_FOUND must print. */
|
|
59
34
|
servedNames(surface) {
|
|
60
35
|
return this.flatMap((frond) => frond.handlers
|
|
61
36
|
.filter((handler) => (handler.surface ?? undefined) === surface)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fronds.js","sourceRoot":"","sources":["../../src/descriptor/Fronds.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"Fronds.js","sourceRoot":"","sources":["../../src/descriptor/Fronds.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,MAAM,OAAO,MAAO,SAAQ,KAAsB;IAChD,MAAM,KAAc,CAAC,MAAM,CAAC,OAAO,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0FAA0F;IAC1F,MAAM,CAAC,OAAO,CAAC,MAAkC;QAC/C,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,yDAAyD;IACzD,MAAM,CAAC,IAAY;QACjB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC1D,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACL,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAU,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,yEAAyE;IACzE,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IAED,0EAA0E;IAC1E,WAAW,CAAC,OAAgB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;aAC1C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,OAAO,CAAC;aAC/D,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,31 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What a frond is made of — one interface per convention directory.
|
|
3
|
-
*
|
|
4
|
-
* Produced two ways and indistinguishable once here: the scan DERIVES it from a
|
|
5
|
-
* directory tree, `frond()` STATES it outright. `frond-config.ts` is the declared
|
|
6
|
-
* side; they meet at `FrondDescriptor.operationsOverrides`.
|
|
7
|
-
*/
|
|
1
|
+
/** What a frond is made of — one interface per convention directory. */
|
|
8
2
|
import type { SchemaView } from '@fougere/schema';
|
|
9
3
|
import type { Param, OperationContract, OperationsMap } from '../wire/operation.js';
|
|
10
4
|
import type { PresenterViews } from '../prefab/presenter.js';
|
|
11
|
-
/**
|
|
12
|
-
* A discovered provider — a class under `services/` or `repositories/`, injected by type.
|
|
13
|
-
*
|
|
14
|
-
* Which of the two directories it came from is deliberately not recorded. The scan used
|
|
15
|
-
* to tag it `kind: 'service' | 'repository'`, a field it filled on every provider and
|
|
16
|
-
* that **no consumer ever read** — the two directories are two spellings of the same
|
|
17
|
-
* thing, and DI resolves by type either way.
|
|
18
|
-
*/
|
|
5
|
+
/** A discovered provider — a class under `services/` or `repositories/`, injected by type. */
|
|
19
6
|
export interface ProviderEntry {
|
|
20
|
-
/**
|
|
21
|
-
* The class constructor (default export of the file).
|
|
22
|
-
*
|
|
23
|
-
* `never[]` and not `unknown[]`: the arguments are the CONTAINER's to supply, so the
|
|
24
|
-
* slot must accept any constructor — and with `unknown[]` a real class is refused,
|
|
25
|
-
* because assigning it would need `unknown` to be one of its declared parameters.
|
|
26
|
-
* Invisible on the scan path, where the value arrives as `unknown` and is cast; the
|
|
27
|
-
* module `fougere build` writes states the class by name, and that is where it showed.
|
|
28
|
-
*/
|
|
7
|
+
/** The class constructor (default export of the file). */
|
|
29
8
|
ctor: new (...args: never[]) => unknown;
|
|
30
9
|
/** Constructor dependency type names (from AST scan). */
|
|
31
10
|
deps: string[];
|
|
@@ -48,16 +27,8 @@ export interface HandlerEntry {
|
|
|
48
27
|
/** Registration key (e.g. 'postHandler'). */
|
|
49
28
|
name: string;
|
|
50
29
|
/**
|
|
51
|
-
* The name this handler answers to — its class name minus `Handler`, lowercased
|
|
52
|
-
*
|
|
53
|
-
* travels as `FrondCall.entity` on the wire.
|
|
54
|
-
*
|
|
55
|
-
* **It is NOT an entity name**, and it was called `entityName` for long enough to
|
|
56
|
-
* mislead: `toEntityName` (`scanner.ts`) strips the suffix without checking that any
|
|
57
|
-
* entity carries the result, and the boot states the consequence — *pointing at
|
|
58
|
-
* nothing is legal*. A health check, a search across several shapes, a pure
|
|
59
|
-
* computation: ordinary handlers that own no row. `PresenterEntry`/`CollectorEntry`
|
|
60
|
-
* keep `entityName` because those really do target a declared entity.
|
|
30
|
+
* The name this handler answers to — its class name minus `Handler`, lowercased (`PostHandler` →
|
|
31
|
+
* `post`).
|
|
61
32
|
*/
|
|
62
33
|
address: string;
|
|
63
34
|
/** The handler class. */
|
|
@@ -80,25 +51,11 @@ export interface PresenterFieldMeta {
|
|
|
80
51
|
name: string;
|
|
81
52
|
/** Inferred return type name: 'string', 'number', 'boolean', or a class name. */
|
|
82
53
|
returnType?: string;
|
|
83
|
-
/**
|
|
84
|
-
* The field emits a LIST per row — `tags(posts: Post[]): string[][]`.
|
|
85
|
-
*
|
|
86
|
-
* The method answers one value per row, so the outer array level of its return type is
|
|
87
|
-
* the page, not the field: what remains after removing it is the field's own arity.
|
|
88
|
-
* Nothing measured that remainder, so a computed list and a computed scalar looked
|
|
89
|
-
* identical and every projection announced the scalar.
|
|
90
|
-
*/
|
|
54
|
+
/** The field emits a LIST per row — `tags(posts: Post[]): string[][]`. */
|
|
91
55
|
list?: boolean;
|
|
92
56
|
/** Whether the return is nullable. */
|
|
93
57
|
nullable?: boolean;
|
|
94
|
-
/**
|
|
95
|
-
* The declared parameters AFTER the rows. Kept raw rather than resolved: the scan
|
|
96
|
-
* meets presenters before collectors, so the plan is computed at boot where the
|
|
97
|
-
* collector names are known — exactly as a handler op's is.
|
|
98
|
-
*
|
|
99
|
-
* A computed field that declares `user?: User` is then fed by the collector
|
|
100
|
-
* that resolves one. A presenter is not a second mechanism.
|
|
101
|
-
*/
|
|
58
|
+
/** The declared parameters AFTER the rows. */
|
|
102
59
|
params?: Param[];
|
|
103
60
|
}
|
|
104
61
|
/** A discovered presenter (computed fields for an entity's output). */
|
|
@@ -112,10 +69,8 @@ export interface PresenterEntry {
|
|
|
112
69
|
/** Per-field type metadata (inferred from source via parser). */
|
|
113
70
|
fieldMeta: PresenterFieldMeta[];
|
|
114
71
|
/**
|
|
115
|
-
* The view each computed field emits, when the presenter declares one
|
|
116
|
-
*
|
|
117
|
-
* parser reads a scalar off a return type and nothing more, so an object-valued field
|
|
118
|
-
* has no derivable shape without this.
|
|
72
|
+
* The view each computed field emits, when the presenter declares one (`Presenter(Order, {
|
|
73
|
+
* items: [OrderItemView] })`).
|
|
119
74
|
*/
|
|
120
75
|
views?: PresenterViews;
|
|
121
76
|
/** Constructor dependency type names (from AST scan). */
|
|
@@ -161,18 +116,14 @@ export interface FrondDescriptor {
|
|
|
161
116
|
presenters: PresenterEntry[];
|
|
162
117
|
collectors: CollectorEntry[];
|
|
163
118
|
seeds: SeedEntry[];
|
|
164
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Per-surface entity lists from frond.config.ts (e.g. { graphql: ['Post'], rest: ['Post',
|
|
121
|
+
* 'Author'] }).
|
|
122
|
+
*/
|
|
165
123
|
surfaces?: Record<string, string[]>;
|
|
166
124
|
/** Entities this frond may read across sources — see `FrondConfig.reads`. */
|
|
167
125
|
reads?: string[];
|
|
168
|
-
/**
|
|
169
|
-
* Per-operation overrides from frond.config.ts. Key = operation name.
|
|
170
|
-
*
|
|
171
|
-
* Two depths, as declared on {@link OperationOverride}: the surface keys travel to the
|
|
172
|
-
* transport adapters, the contract keys (`input`/`output`/`binding`) travel to the
|
|
173
|
-
* façade — where config is the third producer of an operation's contract, alongside a
|
|
174
|
-
* prefab's `__ops` and the scan.
|
|
175
|
-
*/
|
|
126
|
+
/** Per-operation overrides from frond.config.ts. */
|
|
176
127
|
operationsOverrides?: Record<string, OperationContract & {
|
|
177
128
|
kind?: 'query' | 'command';
|
|
178
129
|
/** Class name to resolve from DI (overrides default `{Entity}Handler` lookup). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frond.d.ts","sourceRoot":"","sources":["../../src/descriptor/frond.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"frond.d.ts","sourceRoot":"","sources":["../../src/descriptor/frond.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InvocationContext } from '../
|
|
1
|
+
import type { InvocationContext } from '../wire/Invocation.js';
|
|
2
2
|
import type { BindingPlan } from '../wire/binding.js';
|
|
3
3
|
export interface CollectorResolver {
|
|
4
4
|
collect(ctx: InvocationContext): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentResolver.d.ts","sourceRoot":"","sources":["../../src/dispatch/ArgumentResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ArgumentResolver.d.ts","sourceRoot":"","sources":["../../src/dispatch/ArgumentResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;AAElF,4EAA4E;AAC5E,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAX,UAAU,CAAC,EAAE,eAAe,YAAA;IAEnD,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiD7E"}
|
|
@@ -34,15 +34,15 @@ export class ArgumentResolver {
|
|
|
34
34
|
}
|
|
35
35
|
case 'fact': {
|
|
36
36
|
// A fact IS the payload — the whole of what happened, never a piece of it.
|
|
37
|
-
// Identical to `
|
|
38
|
-
// agree by coincidence, not by rule, and the day `
|
|
37
|
+
// Identical to `input` today, and deliberately not sharing its branch: the two
|
|
38
|
+
// agree by coincidence, not by rule, and the day `input` learns to look up a
|
|
39
39
|
// value by parameter name a subscriber would receive ONE FIELD of the fact it
|
|
40
40
|
// subscribed to. Splitting it costs nothing and removes that trap.
|
|
41
|
-
args.push(ctx.
|
|
41
|
+
args.push(ctx.input);
|
|
42
42
|
break;
|
|
43
43
|
}
|
|
44
|
-
case '
|
|
45
|
-
args.push(ctx.
|
|
44
|
+
case 'input': {
|
|
45
|
+
args.push(ctx.input);
|
|
46
46
|
break;
|
|
47
47
|
}
|
|
48
48
|
case 'query': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentResolver.js","sourceRoot":"","sources":["../../src/dispatch/ArgumentResolver.ts"],"names":[],"mappings":"AASA,4EAA4E;AAC5E,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAE7D,KAAK,CAAC,OAAO,CAAC,IAAiB,EAAE,GAAsB;QACrD,MAAM,IAAI,GAAc,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAChE,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,6EAA6E;oBAC7E,8EAA8E;oBAC9E,2EAA2E;oBAC3E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,GAAG,GAAY,UAAU,KAAK,SAAS;wBACzC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChC,CAAC,CAAC,UAAU,CAAC;oBACf,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;wBAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzE,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;wBAAE,GAAG,GAAG,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC;oBAC5G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,2EAA2E;oBAC3E
|
|
1
|
+
{"version":3,"file":"ArgumentResolver.js","sourceRoot":"","sources":["../../src/dispatch/ArgumentResolver.ts"],"names":[],"mappings":"AASA,4EAA4E;AAC5E,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAE7D,KAAK,CAAC,OAAO,CAAC,IAAiB,EAAE,GAAsB;QACrD,MAAM,IAAI,GAAc,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAChE,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,6EAA6E;oBAC7E,8EAA8E;oBAC9E,2EAA2E;oBAC3E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,GAAG,GAAY,UAAU,KAAK,SAAS;wBACzC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChC,CAAC,CAAC,UAAU,CAAC;oBACf,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;wBAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzE,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;wBAAE,GAAG,GAAG,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC;oBAC5G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,2EAA2E;oBAC3E,+EAA+E;oBAC/E,6EAA6E;oBAC7E,8EAA8E;oBAC9E,mEAAmE;oBACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Call } from '../
|
|
2
|
-
import type { RouteKind } from '../
|
|
1
|
+
import type { Call } from '../wire/call.js';
|
|
2
|
+
import type { RouteKind } from '../wire/RouteAddress.js';
|
|
3
3
|
export type DispatchStage = 'received' | 'resolved' | 'completed' | 'failed' | 'settled';
|
|
4
4
|
/** Immutable transition observed across one dispatch lifecycle. */
|
|
5
5
|
export declare class DispatchEvent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchEvent.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DispatchEvent.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzF,mEAAmE;AACnE,qBAAa,aAAa;IAEtB,QAAQ,CAAC,KAAK,EAAE,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI;IACnB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IAJ1B,OAAO;IASP,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa;IAI1C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa;IAIhE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa;IAIjE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,aAAa;IAI/E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,aAAa;CAGjE;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC"}
|
|
@@ -4,13 +4,7 @@ export declare class DispatchLifecycle {
|
|
|
4
4
|
private readonly diagnose;
|
|
5
5
|
private readonly observers;
|
|
6
6
|
constructor(observers?: readonly DispatchObserver[], diagnose?: (error: unknown, event: DispatchEvent) => void);
|
|
7
|
-
/**
|
|
8
|
-
* Subscribe after the dispatcher was built, and get the unsubscription back.
|
|
9
|
-
*
|
|
10
|
-
* The list used to be settled at construction, so only the caller of `createApp` could
|
|
11
|
-
* observe — an extension, which runs in `up(app)`, could not. `app.use` already adds a
|
|
12
|
-
* middleware this late; this is its dual, and the pair is *participate* / *watch*.
|
|
13
|
-
*/
|
|
7
|
+
/** Subscribe after the dispatcher was built, and get the unsubscription back. */
|
|
14
8
|
add(observer: DispatchObserver): () => void;
|
|
15
9
|
publish(event: DispatchEvent): void;
|
|
16
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchLifecycle.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,kFAAkF;AAClF,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAG7C,SAAS,GAAE,SAAS,gBAAgB,EAAO,EAC1B,QAAQ,GAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,KAAK,IAAe;IAKtF
|
|
1
|
+
{"version":3,"file":"DispatchLifecycle.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,kFAAkF;AAClF,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAG7C,SAAS,GAAE,SAAS,gBAAgB,EAAO,EAC1B,QAAQ,GAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,KAAK,IAAe;IAKtF,iFAAiF;IACjF,GAAG,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAS3C,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAapC"}
|
|
@@ -6,13 +6,7 @@ export class DispatchLifecycle {
|
|
|
6
6
|
this.diagnose = diagnose;
|
|
7
7
|
this.observers = [...observers];
|
|
8
8
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Subscribe after the dispatcher was built, and get the unsubscription back.
|
|
11
|
-
*
|
|
12
|
-
* The list used to be settled at construction, so only the caller of `createApp` could
|
|
13
|
-
* observe — an extension, which runs in `up(app)`, could not. `app.use` already adds a
|
|
14
|
-
* middleware this late; this is its dual, and the pair is *participate* / *watch*.
|
|
15
|
-
*/
|
|
9
|
+
/** Subscribe after the dispatcher was built, and get the unsubscription back. */
|
|
16
10
|
add(observer) {
|
|
17
11
|
this.observers.push(observer);
|
|
18
12
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchLifecycle.js","sourceRoot":"","sources":["../../src/dispatch/DispatchLifecycle.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,OAAO,iBAAiB;IAKT;IAJF,SAAS,CAAqB;IAE/C,YACE,YAAyC,EAAE,EAC1B,WAA2D,GAAG,EAAE,GAAE,CAAC;QAAnE,aAAQ,GAAR,QAAQ,CAA2D;QAEpF,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAClC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"DispatchLifecycle.js","sourceRoot":"","sources":["../../src/dispatch/DispatchLifecycle.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,OAAO,iBAAiB;IAKT;IAJF,SAAS,CAAqB;IAE/C,YACE,YAAyC,EAAE,EAC1B,WAA2D,GAAG,EAAE,GAAE,CAAC;QAAnE,aAAQ,GAAR,QAAQ,CAA2D;QAEpF,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,iFAAiF;IACjF,GAAG,CAAC,QAA0B;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAoB;QAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchPort.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DispatchPort.d.ts","sourceRoot":"","sources":["../../src/dispatch/DispatchPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,8EAA8E;AAC9E,qBAAa,UAAW,YAAW,YAAY;IAE3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAHP,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,oBAA0B,EACnC,MAAM,CAAC,EAAE,WAAW,YAAA;IAGjC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CA4B7C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DispatchEvent } from './DispatchEvent.js';
|
|
2
2
|
import { DispatchLifecycle } from './DispatchLifecycle.js';
|
|
3
|
-
import {
|
|
3
|
+
import { routeNotFound, servedOperations } from './routeNotFound.js';
|
|
4
4
|
/** Resolves and executes every call through the same transverse lifecycle. */
|
|
5
5
|
export class Dispatcher {
|
|
6
6
|
routes;
|
|
@@ -24,7 +24,7 @@ export class Dispatcher {
|
|
|
24
24
|
route = resolved && (!this.policy || this.policy.accepts(resolved)) ? resolved : undefined;
|
|
25
25
|
if (!route) {
|
|
26
26
|
throw this.policy?.notFound?.(call, this.routes.routes())
|
|
27
|
-
??
|
|
27
|
+
?? routeNotFound(call, servedOperations(call, this.routes.routes(), this.policy));
|
|
28
28
|
}
|
|
29
29
|
this.lifecycle.publish(DispatchEvent.resolved(call, route.kind));
|
|
30
30
|
const result = await route.execute(call);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/dispatch/Dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGrE,8EAA8E;AAC9E,MAAM,OAAO,UAAU;IAEF;IACA;IACA;IACA;IAJnB,YACmB,MAAqB,EACrB,QAAkB,EAClB,YAAY,IAAI,iBAAiB,EAAE,EACnC,MAAoB;QAHpB,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,cAAS,GAAT,SAAS,CAA0B;QACnC,WAAM,GAAN,MAAM,CAAc;IACpC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,IAAU;QACvB,IAAI,KAAwB,CAAC;QAC7B,IAAI,OAAiC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,KAAK,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;uBACpD,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;IACH,CAAC;CAEF"}
|
|
@@ -1,59 +1,47 @@
|
|
|
1
1
|
import type { Container } from '@fougere/container';
|
|
2
|
-
import type
|
|
2
|
+
import { type AppMiddleware } from '../wire/middleware.js';
|
|
3
3
|
import type { OperationsMap } from '../wire/operation.js';
|
|
4
4
|
import type { EffectiveOperationsMap } from '../effective-operation.js';
|
|
5
|
-
import type
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export interface Doorway {
|
|
10
|
-
handler: HandlerEntry;
|
|
11
|
-
/** Handlers in the owning frond, used to realize a resolved implementation override. */
|
|
12
|
-
handlers: readonly HandlerEntry[];
|
|
13
|
-
/** The canonical operation table resolved before boot performs any side effect. */
|
|
14
|
-
operations: EffectiveOperationsMap;
|
|
15
|
-
/** The subject — absent is ordinary: a health check owns no row. */
|
|
16
|
-
entity: EntityEntry | undefined;
|
|
17
|
-
/** The scope the handler and its collectors resolve in — a surface gets its own. */
|
|
18
|
-
scope: Container;
|
|
5
|
+
import { type InvocationContext } from '../wire/Invocation.js';
|
|
6
|
+
import type { HandlerEntry, PresenterEntry } from '../descriptor/frond.js';
|
|
7
|
+
/** What boot resolved around one handler, beyond the handler and the scope it resolves in. */
|
|
8
|
+
export interface Door {
|
|
19
9
|
/** The container key this door answers under. */
|
|
20
10
|
key: string;
|
|
21
|
-
}
|
|
22
|
-
/** What the frond and the boot supply to every door alike. */
|
|
23
|
-
export interface Wiring {
|
|
24
11
|
/** The frond this door belongs to — travels on every OperationContext. */
|
|
25
12
|
frond: string;
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
/** Handlers in the owning frond, used to realize a resolved implementation override. */
|
|
14
|
+
handlers: readonly HandlerEntry[];
|
|
15
|
+
/** The canonical operation table resolved before boot performs any side effect. */
|
|
16
|
+
operations: EffectiveOperationsMap;
|
|
29
17
|
/** Entity names this frond has a collector for. */
|
|
30
18
|
collectors: Set<string>;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
/** The presenter over this handler's entity, when the frond declares one. */
|
|
20
|
+
presenter: PresenterEntry | undefined;
|
|
21
|
+
/** Presenters live in the frond's own scope, whatever sub-scope this door resolves in. */
|
|
22
|
+
presenterScope: Container;
|
|
23
|
+
/** The middlewares that apply to this address, read at call time and never at boot. */
|
|
24
|
+
middlewares: () => AppMiddleware[];
|
|
35
25
|
}
|
|
36
26
|
/** Adapts one handler door to executable operations. */
|
|
37
27
|
export declare class HandlerFacade {
|
|
28
|
+
private readonly handler;
|
|
29
|
+
private readonly scope;
|
|
38
30
|
private readonly door;
|
|
39
|
-
private readonly wiring;
|
|
40
31
|
/** Rich operation facts shared with check, explain and adapters. */
|
|
41
32
|
readonly effectiveOperations: EffectiveOperationsMap;
|
|
42
33
|
/** Contracts served by this door. */
|
|
43
34
|
readonly contracts: OperationsMap;
|
|
44
|
-
/** The callable surface: op name → the function a caller reaches. */
|
|
45
|
-
readonly ops: Record<string, Function>;
|
|
46
35
|
private readonly cachedViews;
|
|
47
36
|
private instance;
|
|
48
37
|
private readonly implementationKeys;
|
|
49
38
|
private readonly implementationInstances;
|
|
50
|
-
private readonly
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
private
|
|
56
|
-
private inheritsCrud;
|
|
39
|
+
private readonly arguments;
|
|
40
|
+
constructor(handler: HandlerEntry, scope: Container, door: Door);
|
|
41
|
+
/** One operation, through the same ordered boundary steps on every route. */
|
|
42
|
+
execute(op: string, input?: Partial<InvocationContext>): Promise<unknown>;
|
|
43
|
+
/** The computed fields a presenter adds, over the page the façade just projected. */
|
|
44
|
+
private present;
|
|
57
45
|
private get handlerKey();
|
|
58
46
|
private depsOf;
|
|
59
47
|
/** A custom Crud constructor must explicitly receive its repository. */
|
|
@@ -62,11 +50,10 @@ export declare class HandlerFacade {
|
|
|
62
50
|
private viewOf;
|
|
63
51
|
private collectorResolver;
|
|
64
52
|
/** The handler itself, resolved on first call — never at boot. */
|
|
65
|
-
private
|
|
53
|
+
private resolveHandler;
|
|
66
54
|
private isBaseImplementation;
|
|
67
55
|
/** The exact handler entry the pure model selected; no name-only retry or fallback. */
|
|
68
56
|
private implementationHandler;
|
|
69
|
-
private
|
|
70
|
-
private wrap;
|
|
57
|
+
private resolveImplementation;
|
|
71
58
|
}
|
|
72
59
|
//# sourceMappingURL=HandlerFacade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandlerFacade.d.ts","sourceRoot":"","sources":["../../src/dispatch/HandlerFacade.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAsB,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO3E,8FAA8F;AAC9F,MAAM,WAAW,IAAI;IACnB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC,mFAAmF;IACnF,UAAU,EAAE,sBAAsB,CAAC;IACnC,mDAAmD;IACnD,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,0FAA0F;IAC1F,cAAc,EAAE,SAAS,CAAC;IAC1B,uFAAuF;IACvF,WAAW,EAAE,MAAM,aAAa,EAAE,CAAC;CACpC;AAED,wDAAwD;AACxD,qBAAa,aAAa;IAetB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBvB,oEAAoE;IACpE,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;IACrD,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;gBAGiB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAI;IAyB7B,6EAA6E;IACvE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC/E,qFAAqF;IACrF,OAAO,CAAC,OAAO;IAkBf,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,MAAM;IASd,wEAAwE;IACxE,OAAO,CAAC,2BAA2B;IAWnC,oEAAoE;IACpE,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,iBAAiB,CAGvB;IAEF,kEAAkE;IAClE,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,oBAAoB;IAM5B,uFAAuF;IACvF,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,qBAAqB;CAgB9B"}
|