Skip to content

Commit

Permalink
docs: cleanup usage pattern for RequestManager configuration on store (
Browse files Browse the repository at this point in the history
  • Loading branch information
runspired authored and gitKrystan committed Feb 3, 2025
1 parent 4776183 commit f79aed4
Show file tree
Hide file tree
Showing 12 changed files with 50 additions and 95 deletions.
3 changes: 1 addition & 2 deletions guides/requests/examples/0-basic-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ Lets see how we'd approach this request.
import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';

const fetch = new RequestManager();
manager.use([Fetch]);
const fetch = new RequestManager().use([Fetch]);

export default fetch;
```
Expand Down
23 changes: 8 additions & 15 deletions guides/requests/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -323,13 +323,9 @@ import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';

class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([Fetch])
.useCache(CacheHandler);
}
```

Expand All @@ -345,19 +341,16 @@ Additional handlers or a service injection like the above would need to be done
consuming application in order to make broader use of `RequestManager`.

```ts
import Store, { CacheHandler } from 'ember-data/store';
import Store from 'ember-data/store';
import { CacheHandler } from '@ember-data/store';
import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';

export default class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([LegacyNetworkHandler, Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([LegacyNetworkHandler, Fetch])
.useCache(CacheHandler);
}
```

Expand Down
10 changes: 3 additions & 7 deletions packages/adapter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,9 @@ import RequestManager from '@ember-data/request';
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';

export default class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([LegacyNetworkHandler]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([LegacyNetworkHandler])
.useCache(CacheHandler);
}
```

Expand Down
8 changes: 4 additions & 4 deletions packages/holodeck/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';
import { MockServerHandler } from '@warp-drive/holodeck';

const manager = new RequestManager();
manager.use([new MockServerHandler(testContext), Fetch]);
const manager = new RequestManager()
.use([new MockServerHandler(testContext), Fetch]);
```

From within a test this might look like:
Expand All @@ -121,8 +121,8 @@ import { module, test } from 'qunit';

module('my module', function() {
test('my test', async function() {
const manager = new RequestManager();
manager.use([new MockServerHandler(this), Fetch]);
const manager = new RequestManager()
.use([new MockServerHandler(this), Fetch]);
});
});
```
Expand Down
27 changes: 10 additions & 17 deletions packages/request/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ import Fetch from '@ember-data/request/fetch';
import { apiUrl } from './config';

// ... create manager and add our Fetch handler
const manager = new RequestManager();
manager.use([Fetch]);
const manager = new RequestManager()
.use([Fetch]);

// ... execute a request
const response = await manager.request({
Expand Down Expand Up @@ -441,13 +441,9 @@ import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';

class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([Fetch])
.useCache(CacheHandler);
}
```

Expand All @@ -463,19 +459,16 @@ Additional handlers or a service injection like the above would need to be done
consuming application in order to make broader use of `RequestManager`.

```ts
import Store, { CacheHandler } from 'ember-data/store';
import Store from 'ember-data/store';
import { CacheHandler } from '@ember-data/store';
import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';

export default class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([LegacyNetworkHandler, Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([LegacyNetworkHandler, Fetch])
.useCache(CacheHandler);
}
```

Expand Down
27 changes: 10 additions & 17 deletions packages/request/src/-private/manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ import Fetch from '@ember-data/request/fetch';
import { apiUrl } from './config';
// ... create manager and add our Fetch handler
const manager = new RequestManager();
manager.use([Fetch]);
const manager = new RequestManager()
.use([Fetch]);
// ... execute a request
const response = await manager.request({
Expand Down Expand Up @@ -383,13 +383,9 @@ import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';
class extends Store {
requestManager = new RequestManager();
constructor(args) {
super(args);
this.requestManager.use([Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([Fetch])
.useCache(CacheHandler);
}
```
Expand All @@ -405,19 +401,16 @@ Additional handlers or a service injection like the above would need to be done
consuming application in order to make broader use of `RequestManager`.
```ts
import Store, { CacheHandler } from 'ember-data/store';
import Store from 'ember-data/store';
import { CacheHandler } from '@ember-data/store';
import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';
export default class extends Store {
requestManager = new RequestManager();
constructor(args) {
super(args);
this.requestManager.use([LegacyNetworkHandler, Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([LegacyNetworkHandler, Fetch])
.useCache(CacheHandler);
}
```
Expand Down
5 changes: 2 additions & 3 deletions packages/request/src/-private/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,8 @@ In the case of the `Future` being returned, `Stream` proxying is automatic and i
Request handlers are registered by configuring the manager via `use`
```ts
const manager = new RequestManager();
manager.use([Handler1, Handler2]);
const manager = new RequestManager()
.use([Handler1, Handler2]);
```
Handlers will be invoked in the order they are registered ("fifo", first-in first-out), and may only be registered up until the first request is made. It is recommended but not required to register all handlers at one time in order to ensure explicitly visible handler ordering.
Expand Down
10 changes: 3 additions & 7 deletions packages/serializer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,9 @@ import RequestManager from '@ember-data/request';
import { LegacyNetworkHandler } from '@ember-data/legacy-compat';

export default class extends Store {
requestManager = new RequestManager();

constructor(args) {
super(args);
this.requestManager.use([LegacyNetworkHandler]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([LegacyNetworkHandler])
.useCache(CacheHandler);
}
```

Expand Down
9 changes: 3 additions & 6 deletions packages/store/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,9 @@ import RequestManager from '@ember-data/request';
import Fetch from '@ember-data/request/fetch';

export default class extends Store {
constructor() {
super(...arguments);
this.requestManager = new RequestManager();
this.requestManager.use([Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager()
.use([Fetch])
.useCache(CacheHandler);
}
```

Expand Down
9 changes: 3 additions & 6 deletions packages/store/src/-private/store-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -491,12 +491,9 @@ export class Store extends BaseClass {
* import Fetch from '@ember-data/request/fetch';
*
* class extends Store {
* constructor() {
* super(...arguments);
* this.requestManager = new RequestManager();
* this.requestManager.use([Fetch]);
* this.requestManager.useCache(CacheHandler);
* }
* requestManager = new RequestManager()
* .use([Fetch])
* .useCache(CacheHandler);
* }
* ```
*
Expand Down
7 changes: 2 additions & 5 deletions packages/store/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,8 @@
* import Fetch from '@ember-data/request/fetch';
*
* export default class extends Store {
* constructor() {
* super(...arguments);
* this.requestManager = new RequestManager();
* this.requestManager.use([Fetch]);
* }
* requestManager = new RequestManager()
* .use([Fetch]);
* }
* ```
*
Expand Down
7 changes: 1 addition & 6 deletions tests/ember-data__adapter/app/services/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,7 @@ import type { StableRecordIdentifier } from '@warp-drive/core-types';
import type { TypeFromInstance } from '@warp-drive/core-types/record';

export default class Store extends BaseStore {
constructor(args: unknown) {
super(args);
this.requestManager = new RequestManager();
this.requestManager.use([LegacyNetworkHandler, Fetch]);
this.requestManager.useCache(CacheHandler);
}
requestManager = new RequestManager().use([LegacyNetworkHandler, Fetch]).useCache(CacheHandler);

createSchemaService(): ReturnType<typeof buildSchema> {
return buildSchema(this);
Expand Down

0 comments on commit f79aed4

Please sign in to comment.