Commit c0f8226
committed
fix(commands): make ctx.injector the invocation's own injector
The context handed to a handler named the injector the command was
registered against, while inject() inside the same handler resolved
against the per-invocation child that provides COMMAND_CONTEXT. The two
lookups the docs describe as one - inject() before the first await,
ctx.injector.get() after it - therefore hit different injectors, and
ctx.injector.get(COMMAND_CONTEXT) threw.
The context now carries the invocation's child injector. Per-command
providers move from a registration-time scope into that same child, so
a factory or class provider can inject the invocation, as the docs
already promised; the cost is one provider instance per invocation.1 parent 71c4324 commit c0f8226
3 files changed
Lines changed: 126 additions & 39 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
347 | | - | |
| 347 | + | |
| 348 | + | |
348 | 349 | | |
349 | 350 | | |
350 | 351 | | |
| |||
414 | 415 | | |
415 | 416 | | |
416 | 417 | | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
421 | 425 | | |
422 | 426 | | |
423 | 427 | | |
| |||
597 | 601 | | |
598 | 602 | | |
599 | 603 | | |
600 | | - | |
601 | | - | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
602 | 608 | | |
603 | 609 | | |
604 | 610 | | |
| |||
678 | 684 | | |
679 | 685 | | |
680 | 686 | | |
681 | | - | |
682 | | - | |
| 687 | + | |
| 688 | + | |
683 | 689 | | |
684 | 690 | | |
685 | 691 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
| 200 | + | |
200 | 201 | | |
201 | 202 | | |
202 | 203 | | |
| |||
269 | 270 | | |
270 | 271 | | |
271 | 272 | | |
272 | | - | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
273 | 277 | | |
274 | 278 | | |
275 | 279 | | |
| |||
375 | 379 | | |
376 | 380 | | |
377 | 381 | | |
378 | | - | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
379 | 392 | | |
380 | 393 | | |
381 | | - | |
382 | | - | |
383 | | - | |
| 394 | + | |
384 | 395 | | |
385 | 396 | | |
386 | 397 | | |
| |||
447 | 458 | | |
448 | 459 | | |
449 | 460 | | |
450 | | - | |
451 | | - | |
| 461 | + | |
452 | 462 | | |
453 | 463 | | |
454 | 464 | | |
| |||
462 | 472 | | |
463 | 473 | | |
464 | 474 | | |
465 | | - | |
466 | 475 | | |
467 | 476 | | |
468 | 477 | | |
469 | 478 | | |
470 | 479 | | |
471 | | - | |
| 480 | + | |
| 481 | + | |
472 | 482 | | |
473 | 483 | | |
474 | 484 | | |
| |||
488 | 498 | | |
489 | 499 | | |
490 | 500 | | |
491 | | - | |
| 501 | + | |
492 | 502 | | |
493 | 503 | | |
494 | 504 | | |
| |||
518 | 528 | | |
519 | 529 | | |
520 | 530 | | |
| 531 | + | |
521 | 532 | | |
522 | 533 | | |
523 | 534 | | |
524 | 535 | | |
525 | 536 | | |
526 | 537 | | |
527 | 538 | | |
528 | | - | |
| 539 | + | |
529 | 540 | | |
530 | 541 | | |
531 | 542 | | |
| |||
574 | 585 | | |
575 | 586 | | |
576 | 587 | | |
577 | | - | |
578 | | - | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
579 | 592 | | |
580 | 593 | | |
581 | 594 | | |
| |||
589 | 602 | | |
590 | 603 | | |
591 | 604 | | |
592 | | - | |
| 605 | + | |
593 | 606 | | |
594 | 607 | | |
595 | 608 | | |
| |||
598 | 611 | | |
599 | 612 | | |
600 | 613 | | |
601 | | - | |
602 | 614 | | |
603 | 615 | | |
604 | 616 | | |
605 | 617 | | |
606 | 618 | | |
607 | 619 | | |
608 | | - | |
| 620 | + | |
609 | 621 | | |
610 | 622 | | |
611 | 623 | | |
| |||
639 | 651 | | |
640 | 652 | | |
641 | 653 | | |
642 | | - | |
643 | | - | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
644 | 657 | | |
645 | 658 | | |
646 | 659 | | |
| |||
712 | 725 | | |
713 | 726 | | |
714 | 727 | | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | | - | |
719 | | - | |
| 728 | + | |
720 | 729 | | |
721 | 730 | | |
722 | 731 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
405 | 405 | | |
406 | 406 | | |
407 | 407 | | |
408 | | - | |
| 408 | + | |
409 | 409 | | |
410 | 410 | | |
411 | 411 | | |
| |||
2284 | 2284 | | |
2285 | 2285 | | |
2286 | 2286 | | |
2287 | | - | |
| 2287 | + | |
2288 | 2288 | | |
2289 | 2289 | | |
2290 | 2290 | | |
| |||
2314 | 2314 | | |
2315 | 2315 | | |
2316 | 2316 | | |
2317 | | - | |
| 2317 | + | |
2318 | 2318 | | |
2319 | 2319 | | |
| 2320 | + | |
2320 | 2321 | | |
2321 | | - | |
| 2322 | + | |
2322 | 2323 | | |
2323 | 2324 | | |
2324 | 2325 | | |
| |||
2362 | 2363 | | |
2363 | 2364 | | |
2364 | 2365 | | |
2365 | | - | |
| 2366 | + | |
2366 | 2367 | | |
2367 | 2368 | | |
2368 | 2369 | | |
| |||
2430 | 2431 | | |
2431 | 2432 | | |
2432 | 2433 | | |
2433 | | - | |
| 2434 | + | |
2434 | 2435 | | |
| 2436 | + | |
2435 | 2437 | | |
| 2438 | + | |
| 2439 | + | |
2436 | 2440 | | |
2437 | 2441 | | |
2438 | 2442 | | |
2439 | 2443 | | |
2440 | 2444 | | |
| 2445 | + | |
2441 | 2446 | | |
| 2447 | + | |
2442 | 2448 | | |
2443 | 2449 | | |
2444 | 2450 | | |
2445 | 2451 | | |
2446 | 2452 | | |
2447 | 2453 | | |
2448 | 2454 | | |
2449 | | - | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
2450 | 2478 | | |
2451 | 2479 | | |
2452 | 2480 | | |
| |||
2858 | 2886 | | |
2859 | 2887 | | |
2860 | 2888 | | |
| 2889 | + | |
| 2890 | + | |
| 2891 | + | |
| 2892 | + | |
| 2893 | + | |
| 2894 | + | |
| 2895 | + | |
| 2896 | + | |
| 2897 | + | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
| 2911 | + | |
| 2912 | + | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + | |
| 2918 | + | |
| 2919 | + | |
| 2920 | + | |
| 2921 | + | |
| 2922 | + | |
| 2923 | + | |
| 2924 | + | |
| 2925 | + | |
| 2926 | + | |
| 2927 | + | |
| 2928 | + | |
| 2929 | + | |
| 2930 | + | |
| 2931 | + | |
| 2932 | + | |
2861 | 2933 | | |
2862 | 2934 | | |
0 commit comments