Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a new pull request by comparing changes across two branches #205

Merged
merged 51 commits into from
Apr 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
7623da7
feat: extract watchFragment into separate method on ApolloCache (#11465)
alessbell Mar 18, 2024
99b217d
chore: enter prerelease mode
alessbell Mar 18, 2024
2adec06
Merge branch 'main' into release-3.10
alessbell Mar 18, 2024
32a2dc4
Version Packages (alpha) (#11699)
github-actions[bot] Mar 18, 2024
b9b4263
Merge branch 'main' of github.com:apollographql/apollo-client into re…
alessbell Mar 20, 2024
fedea97
Merge remote-tracking branch 'origin/main' into release-3.10
jerelmiller Apr 1, 2024
56c4039
Update size limits
jerelmiller Apr 1, 2024
f780bb1
Merge branch 'main' into release-3.10
alessbell Apr 2, 2024
363d21e
Prepare for rc release
github-actions[bot] Apr 2, 2024
78891f9
Remove alpha designation for query preloading (#11743)
jerelmiller Apr 2, 2024
e2dd4c9
Schema-driven testing utilities (#11605)
alessbell Apr 2, 2024
7699f43
Version Packages (rc) (#11749)
github-actions[bot] Apr 2, 2024
91546eb
chore: update .size-limits.json
alessbell Apr 3, 2024
4cbd229
Use custom jsdom environment instead of patch package to set Response…
alessbell Apr 4, 2024
80d2ba5
`watchFragment` fixes (#11754)
alessbell Apr 4, 2024
9825295
Adjust useReadQuery wrapper logic to work with transported objects. (…
phryneas Apr 8, 2024
488acef
Merge remote-tracking branch 'origin/main' into release-3.10
jerelmiller Apr 9, 2024
f046aa9
chore: rename `createProxiedSchema` to `createTestSchema` (#11764)
alessbell Apr 10, 2024
110ce9e
Merge branch 'main' into release-3.10
alessbell Apr 10, 2024
d90787d
chore: update .size-limits.json
alessbell Apr 10, 2024
e72cbba
Wrap `useQueryRefHandlers` in `wrapHook`. (#11771)
phryneas Apr 11, 2024
5dfc79f
Call `createMockSchema` inside `createTestSchema` (#11777)
alessbell Apr 12, 2024
243c538
suggestion: mock global `fetch` explicitly (#11779)
phryneas Apr 12, 2024
ee21d11
Revert "suggestion: mock global `fetch` explicitly (#11779)"
alessbell Apr 12, 2024
1b9306f
suggestion: mock global `fetch` explicitly (#11779)
alessbell Apr 12, 2024
cde7e24
chore: update api-report-testing_core.md and api-report-testing.md
alessbell Apr 12, 2024
440563a
Move new testing utilities to their own entrypoint (#11783)
alessbell Apr 15, 2024
2583488
Accept min and max delay in `createSchemaFetch` options (#11774)
alessbell Apr 15, 2024
acd1982
feat: deep merge resolvers (#11760)
alessbell Apr 15, 2024
a4c89f0
Version Packages (rc) (#11755)
github-actions[bot] Apr 15, 2024
e13cbb8
DOC-89: Reference GraphOS router features in overview
Meschreiber Apr 19, 2024
45f7501
fix: initialFetchPolicy instead initialPolicy (#11797)
yevmoroz Apr 22, 2024
d089826
Merge branch 'main' into docs/update-overview
Meschreiber Apr 22, 2024
b74a76b
Merge pull request #11793 from apollographql/docs/update-overview
Meschreiber Apr 22, 2024
892b6c4
chore: update static-typing.md to add "graphql" as install dependency…
langarus Apr 22, 2024
f6de059
Update ROADMAP.md
jerelmiller Apr 22, 2024
31c3df4
Require sha when creating snapshot releases on forks (#11794)
jerelmiller Apr 22, 2024
a26aacc
add return type to `withinDOM` implementation (#11802)
phryneas Apr 24, 2024
0843bf4
Testing utility docs (#11805)
alessbell Apr 24, 2024
004b176
Exit prerelease mode
github-actions[bot] Apr 24, 2024
0fbd073
Merge pull request #11698 from apollographql/release-3.10
phryneas Apr 24, 2024
5f65439
Version Packages (#11809)
github-actions[bot] Apr 24, 2024
bf9dd17
Update the `rehackt` dependency to `^0.1.0` (#11803)
phryneas Apr 24, 2024
5876c35
AutoCleanedCache: only schedule batched cache cleanup if the cache is…
phryneas Apr 24, 2024
60592e9
Fix operation.setContext() type (#11756)
henryqdineen Apr 24, 2024
1aca7ed
`RenderPromises`: use `canonicalStringify` to serialize data, use `Tr…
phryneas Apr 24, 2024
7f53db9
Version Packages (#11810)
github-actions[bot] Apr 24, 2024
6d944b5
chore(deps): update cimg/node docker tag to v22 (#11813)
renovate[bot] Apr 29, 2024
1e6c6b3
chore(deps): update peter-evans/create-or-update-comment action to v4…
renovate[bot] Apr 29, 2024
0be161e
chore(deps): update slackapi/slack-github-action action to v1.26.0 (#…
renovate[bot] Apr 29, 2024
77373cd
Update ROADMAP.md
jerelmiller Apr 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 63 additions & 3 deletions .api-reports/api-report-cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ import type { DocumentNode } from 'graphql';
import type { FieldNode } from 'graphql';
import type { FragmentDefinitionNode } from 'graphql';
import type { InlineFragmentNode } from 'graphql';
import { Observable } from 'zen-observable-ts';
import type { SelectionSetNode } from 'graphql';
import { Trie } from '@wry/trie';
import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import { TypedDocumentNode } from '@graphql-typed-document-node/core';

// Warning: (ae-forgotten-export) The symbol "StoreObjectValueMaybeReference" needs to be exported by the entry point index.d.ts
//
Expand Down Expand Up @@ -63,6 +64,8 @@ export abstract class ApolloCache<TSerialized> implements DataProxy {
updateQuery<TData = any, TVariables = any>(options: Cache_2.UpdateQueryOptions<TData, TVariables>, update: (data: TData | null) => TData | null | void): TData | null;
// (undocumented)
abstract watch<TData = any, TVariables = any>(watch: Cache_2.WatchOptions<TData, TVariables>): () => void;
// Warning: (ae-forgotten-export) The symbol "OperationVariables" needs to be exported by the entry point index.d.ts
watchFragment<TData = any, TVars = OperationVariables>(options: WatchFragmentOptions<TData, TVars>): Observable<WatchFragmentResult<TData>>;
// (undocumented)
abstract write<TData = any, TVariables = any>(write: Cache_2.WriteOptions<TData, TVariables>): Reference | undefined;
// (undocumented)
Expand Down Expand Up @@ -274,6 +277,40 @@ export interface DataProxy {
writeQuery<TData = any, TVariables = any>(options: DataProxy.WriteQueryOptions<TData, TVariables>): Reference | undefined;
}

// Warning: (ae-forgotten-export) The symbol "DeepPartialPrimitive" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialMap" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialReadonlyMap" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialSet" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialReadonlySet" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialObject" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartial<T> = T extends DeepPartialPrimitive ? T : T extends Map<infer TKey, infer TValue> ? DeepPartialMap<TKey, TValue> : T extends ReadonlyMap<infer TKey, infer TValue> ? DeepPartialReadonlyMap<TKey, TValue> : T extends Set<infer TItem> ? DeepPartialSet<TItem> : T extends ReadonlySet<infer TItem> ? DeepPartialReadonlySet<TItem> : T extends (...args: any[]) => unknown ? T | undefined : T extends object ? T extends (ReadonlyArray<infer TItem>) ? TItem[] extends (T) ? readonly TItem[] extends T ? ReadonlyArray<DeepPartial<TItem | undefined>> : Array<DeepPartial<TItem | undefined>> : DeepPartialObject<T> : DeepPartialObject<T> : unknown;

// Warning: (ae-forgotten-export) The symbol "DeepPartial" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartialMap<TKey, TValue> = {} & Map<DeepPartial<TKey>, DeepPartial<TValue>>;

// @public (undocumented)
type DeepPartialObject<T extends object> = {
[K in keyof T]?: DeepPartial<T[K]>;
};

// Warning: (ae-forgotten-export) The symbol "Primitive" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartialPrimitive = Primitive | Date | RegExp;

// @public (undocumented)
type DeepPartialReadonlyMap<TKey, TValue> = {} & ReadonlyMap<DeepPartial<TKey>, DeepPartial<TValue>>;

// @public (undocumented)
type DeepPartialReadonlySet<T> = {} & ReadonlySet<DeepPartial<T>>;

// @public (undocumented)
type DeepPartialSet<T> = {} & Set<DeepPartial<T>>;

// Warning: (ae-forgotten-export) The symbol "KeyFieldsContext" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
Expand Down Expand Up @@ -533,8 +570,6 @@ export class InMemoryCache extends ApolloCache<NormalizedCacheObject> {
protected broadcastWatches(options?: BroadcastOptions): void;
// (undocumented)
protected config: InMemoryCacheConfig;
// Warning: (ae-forgotten-export) The symbol "OperationVariables" needs to be exported by the entry point index.d.ts
//
// (undocumented)
diff<TData, TVariables extends OperationVariables = any>(options: Cache_2.DiffOptions<TData, TVariables>): Cache_2.DiffResult<TData>;
// (undocumented)
Expand Down Expand Up @@ -824,6 +859,9 @@ export type PossibleTypesMap = {
[supertype: string]: string[];
};

// @public (undocumented)
type Primitive = null | undefined | string | number | boolean | symbol | bigint;

// @public (undocumented)
type ReactiveListener<T> = (value: T) => any;

Expand Down Expand Up @@ -936,6 +974,28 @@ export type TypePolicy = {
};
};

// @public
export interface WatchFragmentOptions<TData, TVars> {
// @deprecated (undocumented)
canonizeResults?: boolean;
fragment: DocumentNode | TypedDocumentNode<TData, TVars>;
fragmentName?: string;
from: StoreObject | Reference | string;
optimistic?: boolean;
variables?: TVars;
}

// @public
export type WatchFragmentResult<TData> = {
data: TData;
complete: true;
missing?: never;
} | {
data: DeepPartial<TData>;
complete: false;
missing: MissingTree;
};

// @public (undocumented)
interface WriteContext extends ReadMergeModifyContext {
// (undocumented)
Expand Down
66 changes: 65 additions & 1 deletion .api-reports/api-report-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ export abstract class ApolloCache<TSerialized> implements DataProxy {
updateQuery<TData = any, TVariables = any>(options: Cache_2.UpdateQueryOptions<TData, TVariables>, update: (data: TData | null) => TData | null | void): TData | null;
// (undocumented)
abstract watch<TData = any, TVariables = any>(watch: Cache_2.WatchOptions<TData, TVariables>): () => void;
watchFragment<TData = any, TVars = OperationVariables>(options: WatchFragmentOptions<TData, TVars>): Observable<WatchFragmentResult<TData>>;
// (undocumented)
abstract write<TData = any, TVariables = any>(write: Cache_2.WriteOptions<TData, TVariables>): Reference | undefined;
// (undocumented)
Expand Down Expand Up @@ -133,6 +134,7 @@ export class ApolloClient<TCacheShape> implements DataProxy {
readonly typeDefs: ApolloClientOptions<TCacheShape>["typeDefs"];
// (undocumented)
version: string;
watchFragment<TFragmentData = unknown, TVariables = OperationVariables>(options: WatchFragmentOptions<TFragmentData, TVariables>): Observable<WatchFragmentResult<TFragmentData>>;
watchQuery<T = any, TVariables extends OperationVariables = OperationVariables>(options: WatchQueryOptions<TVariables, T>): ObservableQuery<T, TVariables>;
writeFragment<TData = any, TVariables = OperationVariables>(options: DataProxy.WriteFragmentOptions<TData, TVariables>): Reference | undefined;
writeQuery<TData = any, TVariables = OperationVariables>(options: DataProxy.WriteQueryOptions<TData, TVariables>): Reference | undefined;
Expand Down Expand Up @@ -520,6 +522,40 @@ export interface DataProxy {
writeQuery<TData = any, TVariables = any>(options: DataProxy.WriteQueryOptions<TData, TVariables>): Reference | undefined;
}

// Warning: (ae-forgotten-export) The symbol "DeepPartialPrimitive" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialMap" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialReadonlyMap" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialSet" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialReadonlySet" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "DeepPartialObject" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartial<T> = T extends DeepPartialPrimitive ? T : T extends Map<infer TKey, infer TValue> ? DeepPartialMap<TKey, TValue> : T extends ReadonlyMap<infer TKey, infer TValue> ? DeepPartialReadonlyMap<TKey, TValue> : T extends Set<infer TItem> ? DeepPartialSet<TItem> : T extends ReadonlySet<infer TItem> ? DeepPartialReadonlySet<TItem> : T extends (...args: any[]) => unknown ? T | undefined : T extends object ? T extends (ReadonlyArray<infer TItem>) ? TItem[] extends (T) ? readonly TItem[] extends T ? ReadonlyArray<DeepPartial<TItem | undefined>> : Array<DeepPartial<TItem | undefined>> : DeepPartialObject<T> : DeepPartialObject<T> : unknown;

// Warning: (ae-forgotten-export) The symbol "DeepPartial" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartialMap<TKey, TValue> = {} & Map<DeepPartial<TKey>, DeepPartial<TValue>>;

// @public (undocumented)
type DeepPartialObject<T extends object> = {
[K in keyof T]?: DeepPartial<T[K]>;
};

// Warning: (ae-forgotten-export) The symbol "Primitive" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
type DeepPartialPrimitive = Primitive | Date | RegExp;

// @public (undocumented)
type DeepPartialReadonlyMap<TKey, TValue> = {} & ReadonlyMap<DeepPartial<TKey>, DeepPartial<TValue>>;

// @public (undocumented)
type DeepPartialReadonlySet<T> = {} & ReadonlySet<DeepPartial<T>>;

// @public (undocumented)
type DeepPartialSet<T> = {} & Set<DeepPartial<T>>;

// @public (undocumented)
export interface DefaultContext extends Record<string, any> {
}
Expand Down Expand Up @@ -1562,7 +1598,10 @@ export interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down Expand Up @@ -1633,6 +1672,9 @@ export type PossibleTypesMap = {
[supertype: string]: string[];
};

// @public (undocumented)
type Primitive = null | undefined | string | number | boolean | symbol | bigint;

// @public (undocumented)
const print_2: ((ast: ASTNode) => string) & {
reset(): void;
Expand Down Expand Up @@ -2171,6 +2213,28 @@ export interface UriFunction {
(operation: Operation): string;
}

// @public
export interface WatchFragmentOptions<TData, TVars> {
// @deprecated (undocumented)
canonizeResults?: boolean;
fragment: DocumentNode | TypedDocumentNode<TData, TVars>;
fragmentName?: string;
from: StoreObject | Reference | string;
optimistic?: boolean;
variables?: TVars;
}

// @public
export type WatchFragmentResult<TData> = {
data: TData;
complete: true;
missing?: never;
} | {
data: DeepPartial<TData>;
complete: false;
missing: MissingTree;
};

// @public (undocumented)
export type WatchQueryFetchPolicy = FetchPolicy | "cache-and-network";

Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_batch-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_batch.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_context.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_core.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,10 @@ export interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_error.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_http.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_persisted-queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_remove-typename.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_retry.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_subscriptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
5 changes: 4 additions & 1 deletion .api-reports/api-report-link_ws.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,10 @@ interface Operation {
// (undocumented)
query: DocumentNode;
// (undocumented)
setContext: (context: DefaultContext) => DefaultContext;
setContext: {
(context: Partial<DefaultContext>): void;
(updateContext: (previousContext: DefaultContext) => Partial<DefaultContext>): void;
};
// (undocumented)
variables: Record<string, any>;
}
Expand Down
Loading
Loading