1 | import { recordDataFor } from '@ember-data/store/-private';
|
2 |
|
3 | type RelationshipRecordData = import('./ts-interfaces/relationship-record-data').RelationshipRecordData;
|
4 | type ConfidentDict<T> = import('@ember-data/store/-private/ts-interfaces/utils').ConfidentDict<T>;
|
5 | type ManyRelationship = import('./relationships/state/has-many').default;
|
6 | type BelongsToRelationship = import('./relationships/state/belongs-to').default;
|
7 | type Relationship = import('./relationships/state/relationship').default;
|
8 | type Relationships = import('./relationships/state/create').default;
|
9 |
|
10 | export function relationshipsFor(instance: any): Relationships {
|
11 | let recordData = (recordDataFor(instance) || instance) as RelationshipRecordData;
|
12 |
|
13 | return recordData._relationships;
|
14 | }
|
15 |
|
16 | export function relationshipStateFor(instance: any, propertyName: string): BelongsToRelationship | ManyRelationship {
|
17 | return relationshipsFor(instance).get(propertyName);
|
18 | }
|
19 |
|
20 | export function implicitRelationshipsFor(instance: any): ConfidentDict<Relationship> {
|
21 | let recordData = (recordDataFor(instance) || instance) as RelationshipRecordData;
|
22 |
|
23 | return recordData._implicitRelationships;
|
24 | }
|
25 |
|
26 | export function implicitRelationshipStateFor(instance: any, propertyName: string): Relationship {
|
27 | return implicitRelationshipsFor(instance)[propertyName];
|
28 | }
|