Skip to content
module@warp-drive/legacy/model @legacy

Interface AsyncHasMany<T> ​

ts
interface AsyncHasMany<T> {
  [LegacyPromiseProxy]: true;
  content: LegacyManyArray<T> | null;
  isDestroyed: boolean;
  isFulfilled: boolean;
  isPending: boolean;
  isRejected: boolean;
  isSettled: boolean;
  promise: 
  | Promise<LegacyManyArray<T>>
  | null;
  get length(): number;
  get links(): 
  | Links
  | null
  | undefined;
  get meta(): 
  | Record<string, unknown>
  | null
  | undefined;
  catch(cb: ((reason: any) => unknown) | null | undefined): Promise<unknown>;
  destroy(): void;
  finally(cb: (() => void) | null | undefined): Promise<unknown>;
  reload(options: Omit<BaseFinderOptions, "">): this;
  then(success: ((value: LegacyManyArray) => unknown) | null | undefined, rejected?: ((reason: any) => unknown) | null): Promise<unknown>;
}

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:16

This class is returned as the result of accessing an async hasMany relationship on an instance of a Model extending from @warp-drive/legacy/model.

A PromiseManyArray is an iterable proxy that allows templates to consume related ManyArrays and update once their contents are no longer pending.

In your JS code you should resolve the promise first.

js
const comments = await post.comments;

Type Parameters ​

T ​

T

Methods ​

catch() ​

ts
catch(cb: ((reason: any) => unknown) | null | undefined): Promise<unknown>;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:162

catch errors thrown by this promise

Parameters ​

cb ​

((reason: any) => unknown) | null | undefined

Returns ​

Promise<unknown>


destroy() ​

ts
destroy(): void;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:183

Tears down this proxy, releasing its content and promise and marking it as destroyed.

Returns ​

void


finally() ​

ts
finally(cb: (() => void) | null | undefined): Promise<unknown>;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:171

run cleanup after this promise completes

Parameters ​

cb ​

(() => void) | null | undefined

Returns ​

Promise<unknown>


reload() ​

ts
reload(options: Omit<BaseFinderOptions, "">): this;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:113

Reload the relationship

Parameters ​

options ​

Omit<BaseFinderOptions, "">

Returns ​

this


then() ​

ts
then(success: ((value: LegacyManyArray) => unknown) | null | undefined, rejected?: ((reason: any) => unknown) | null): Promise<unknown>;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:151

chain this promise

Parameters ​

success ​

((value: LegacyManyArray) => unknown) | null | undefined

rejected? ​

((reason: any) => unknown) | null

Returns ​

Promise<unknown>

Properties ​

[LegacyPromiseProxy] ​

ts
[LegacyPromiseProxy]: true;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:21

A property signifying that this object implements the classic Ember PromiseProxyMixin-like API. See LegacyPromiseProxy.


content ​

ts
content: LegacyManyArray<T> | null;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:55

The resolved ManyArray for the relationship, if the promise has resolved, else null.


isDestroyed ​

ts
isDestroyed: boolean;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:50

Whether destroy has been called.


isFulfilled ​

ts
isFulfilled: boolean;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:138

Whether the loading promise succeeded


isPending ​

ts
isPending: boolean;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:126

Whether the loading promise is still pending


isRejected ​

ts
isRejected: boolean;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:132

Whether the loading promise rejected


isSettled ​

ts
isSettled: boolean;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:144

Whether the loading promise completed (resolved or rejected)


promise ​

ts
promise: 
  | Promise<LegacyManyArray<T>>
  | null;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:46

The promise for the relationship's content, or null once destroy has been called.

length ​

Get Signature ​

ts
get length(): number;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:68

Retrieve the length of the content

Returns ​

number


Get Signature ​

ts
get links(): 
  | Links
  | null
  | undefined;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:196

Retrieve the links for this relationship

Returns ​

| Links | null | undefined


meta ​

Get Signature ​

ts
get meta(): 
  | Record<string, unknown>
  | null
  | undefined;

Defined in: warp-drive-packages/legacy/src/model/-private/promise-many-array.ts:205

Retrieve the meta for this relationship

Returns ​

| Record<string, unknown> | null | undefined

Released under the MIT License.