Skip to content

Commit b473e8f

Browse files
committed
Fix types for ember v5.6
1 parent 084c26f commit b473e8f

File tree

5 files changed

+930
-51
lines changed

5 files changed

+930
-51
lines changed

ember-link/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"@babel/plugin-proposal-decorators": "^7.22.5",
6363
"@babel/preset-typescript": "^7.22.5",
6464
"@babel/runtime": "^7.22.5",
65-
"@ember/test-helpers": "^3.1.0",
65+
"@ember/test-helpers": "^3.2.1",
6666
"@embroider/addon-dev": "^3.1.1",
6767
"@glint/template": "^1.0.2",
6868
"@gossi/config-eslint": "^0.4.0",
@@ -73,7 +73,7 @@
7373
"@typescript-eslint/eslint-plugin": "^5.60.0",
7474
"@typescript-eslint/parser": "^5.60.0",
7575
"concurrently": "^8.2.0",
76-
"ember-source": "^4.12.0",
76+
"ember-source": "^5.6.0",
7777
"eslint": "^8.43.0",
7878
"eslint-plugin-ember": "^11.8.0",
7979
"eslint-plugin-storybook": "^0.6.12",

ember-link/src/helpers/link.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,14 @@ export default class LinkHelper extends Helper<LinkSignature> {
7575

7676
const namedQueryParameters = named.query ?? {};
7777
const positionalQueryParameters =
78-
positional.length > 0 && isQueryParams(positional[positional.length - 1])
78+
positional.length > 0 &&
79+
isQueryParams(positional?.[positional.length - 1] as PositionalParams)
7980
? (positional[positional.length - 1] as QueryParams)
8081
: undefined;
8182

8283
assert(
8384
`Query parameters either need to be specified as the last positional parameter or as the named 'query' parameter.`,
84-
!positional.slice(0, -1).some((argument) => isQueryParams(argument))
85+
!positional.slice(0, -1).some((argument) => isQueryParams(argument as PositionalParams))
8586
);
8687

8788
assert(
@@ -95,7 +96,7 @@ export default class LinkHelper extends Helper<LinkSignature> {
9596
`Either specify models as positional parameters, as the named 'models' parameter, or as the named 'model' parameter as a short hand for a single model.`,
9697
!(
9798
positional.length > 1 &&
98-
!isQueryParams(positional[positional.length - 1]) &&
99+
!isQueryParams(positional?.[positional.length - 1] as PositionalParams) &&
99100
(named.models || named.model)
100101
)
101102
);

ember-link/src/services/link-manager.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ import { BEHAVIOR, prevent } from '../-behavior';
88
import { getOwner } from '../-owner';
99
import Link from '../link';
1010

11+
import type { RouteModel } from '../-models';
1112
import type { Behavior } from '../-behavior';
1213
import type { LinkParams } from '../-params';
1314
import type RouteInfo from '@ember/routing/route-info';
1415
import type RouterService from '@ember/routing/router-service';
1516
import type Transition from '@ember/routing/transition';
17+
import Owner from '@ember/owner';
1618

1719
interface RouterServiceWithRecognize extends RouterService {
1820
recognize(url: string): RouteInfo;
@@ -95,8 +97,7 @@ export default class LinkManagerService extends Service {
9597
* Converts a `RouteInfo` object into `LinkParams`.
9698
*/
9799
static getLinkParamsFromRouteInfo(routeInfo: RouteInfo): LinkParams {
98-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
99-
const models = routeInfo.paramNames.map((name) => routeInfo.params[name]!);
100+
const models = routeInfo.paramNames.map((name) => routeInfo.params?.[name]) as RouteModel[];
100101

101102
return {
102103
route: routeInfo.name,
@@ -105,9 +106,8 @@ export default class LinkManagerService extends Service {
105106
};
106107
}
107108

108-
// eslint-disable-next-line @typescript-eslint/ban-types
109-
constructor(properties?: object) {
110-
super(properties);
109+
constructor(owner?: Owner) {
110+
super(owner);
111111

112112
// Ignore `Argument of type '"routeWillChange"' is not assignable to parameter of type ...`
113113

ember-link/src/test-support/setup-link.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ export default function setupLink(hooks: Hooks /* NestedHooks */) {
1212
hooks.beforeEach(function (this: TestContext) {
1313
assert(
1414
'ember-link.setupLink: You have already called `setupLink` once',
15-
!this.owner.hasRegistration('service:link-manager') ||
16-
!(this.owner.lookup('service:link-manager') instanceof TestInstrumentedLinkManagerService)
15+
// !this.owner.hasRegistration('service:link-manager') ||
16+
!(this.owner.lookup('service:link-manager') instanceof TestInstrumentedLinkManagerService)
1717
);
1818

19-
this.owner.unregister('service:link-manager');
19+
// this.owner.unregister('service:link-manager');
2020
this.owner.register('service:link-manager', TestInstrumentedLinkManagerService);
2121
});
2222
}

0 commit comments

Comments
 (0)