Skip to content

Commit 2a40ed1

Browse files
committed
Improve owner compat
1 parent c679dbf commit 2a40ed1

File tree

2 files changed

+9
-19
lines changed

2 files changed

+9
-19
lines changed

reactiveweb/src/link.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
/* eslint-disable @typescript-eslint/no-explicit-any */
2-
import { getOwner, setOwner } from '@ember/application';
32
import { assert } from '@ember/debug';
43
import { associateDestroyableChild } from '@ember/destroyable';
54

5+
import { compatOwner } from './-private/ember-compat.ts';
6+
67
import type { Class, Stage1Decorator, Stage1DecoratorDescriptor } from '#types';
78

9+
let getOwner = compatOwner.getOwner;
10+
let setOwner = compatOwner.setOwner;
11+
812
type NonKey<K> = K extends string ? never : K extends symbol ? never : K;
913

1014
/**

reactiveweb/src/resource/service.ts

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,14 @@ import { getValue } from '@glimmer/tracking/primitives/cache';
33
import { assert } from '@ember/debug';
44
import { associateDestroyableChild } from '@ember/destroyable';
55
import { invokeHelper } from '@ember/helper';
6-
import {
7-
dependencySatisfies,
8-
importSync,
9-
isDevelopingApp,
10-
isTesting,
11-
macroCondition,
12-
} from '@embroider/macros';
6+
import { isDevelopingApp, isTesting, macroCondition } from '@embroider/macros';
7+
8+
import { compatOwner } from '../-private/ember-compat.ts';
139

1410
import type Owner from '@ember/owner';
1511
import type { Stage1DecoratorDescriptor } from '#types';
1612

17-
let getOwner: (context: unknown) => Owner | undefined;
18-
19-
if (macroCondition(dependencySatisfies('ember-source', '>=4.12.0'))) {
20-
// Using 'any' here because importSync can't lookup types correctly
21-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
22-
getOwner = (importSync('@ember/owner') as any).getOwner;
23-
} else {
24-
// Using 'any' here because importSync can't lookup types correctly
25-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
26-
getOwner = (importSync('@ember/application') as any).getOwner;
27-
}
13+
let getOwner = compatOwner.getOwner;
2814

2915
/**
3016
* In order for the same cache to be used for all references

0 commit comments

Comments
 (0)