Skip to content

Commit aabae5f

Browse files
Merge 29f2dbf into 412b05e
2 parents 412b05e + 29f2dbf commit aabae5f

9 files changed

Lines changed: 47 additions & 32 deletions

File tree

.changeset/unlucky-parents-melt.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@lit-labs/context': patch
3+
---
4+
5+
Rename @contextProvided and @contextProvider to @consume and @provide

packages/labs/context/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ export const loggerContext = createContext<Logger>('logger');
3232

3333
Now we can define a consumer for this context - some component in our app needs the logger.
3434

35-
Here we're using the `@contextProvided` property decorator to make a `ContextConsumer` controller
35+
Here we're using the `@consume` property decorator to make a `ContextConsumer` controller
3636
and update its value when the context changes:
3737

3838
#### **`my-element.ts`**:
3939

4040
```ts
41-
import {contextRequest} from '@lit-labs/context';
4241
import {LitElement, property} from 'lit';
42+
import {consume} from '@lit-labs/context';
4343
import {Logger, loggerContext} from './logger.js';
4444

4545
export class MyElement extends LitElement {
46-
@contextProvided({context: loggerContext, subscribe: true})
46+
@consume({context: loggerContext, subscribe: true})
4747
@property({attribute: false})
4848
public logger?: Logger;
4949

@@ -80,18 +80,18 @@ export class MyElement extends LitElement {
8080

8181
Finally we want to be able to provide this context from somewhere higher in the DOM.
8282

83-
Here we're using a `@contextProvider` property decorator to make a `ContextProvider`
83+
Here we're using a `@provide` property decorator to make a `ContextProvider`
8484
controller and update its value when the property value changes.
8585

8686
#### **`my-app.ts`**:
8787

8888
```ts
8989
import {LitElement} from 'lit';
90-
import {contextProvider} from '@lit-labs/context';
91-
import {loggerContext, Logger} from './my-logger.js';
90+
import {provide} from '@lit-labs/context';
91+
import {loggerContext, Logger} from './logger.js';
9292

9393
export class MyApp extends LitElement {
94-
@contextProvider({context: loggerContext})
94+
@provide({context: loggerContext})
9595
@property({attribute: false})
9696
public logger: Logger = {
9797
log: (msg) => {
@@ -112,7 +112,7 @@ We can also use the `ContextProvider` controller directly:
112112
```ts
113113
import {LitElement} from 'lit';
114114
import {ContextProvider} from '@lit-labs/context';
115-
import {loggerContext, Logger} from './my-logger.js';
115+
import {loggerContext, Logger} from './logger.js';
116116

117117
export class MyApp extends LitElement {
118118
// create a provider controller and a default logger

packages/labs/context/src/index.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,18 @@ export {ContextConsumer} from './lib/controllers/context-consumer.js';
1515
export {ContextProvider} from './lib/controllers/context-provider.js';
1616
export {ContextRoot} from './lib/context-root.js';
1717

18-
export {contextProvider} from './lib/decorators/context-provider.js';
19-
export {contextProvided} from './lib/decorators/context-provided.js';
18+
export {provide} from './lib/decorators/provide.js';
19+
export {consume} from './lib/decorators/consume.js';
20+
21+
import {provide} from './lib/decorators/provide.js';
22+
import {consume} from './lib/decorators/consume.js';
23+
24+
/**
25+
* @deprecated use `provide` instead
26+
*/
27+
export const contextProvider = provide;
28+
29+
/**
30+
* @deprecated use `consume` instead
31+
*/
32+
export const contextProvided = consume;

packages/labs/context/src/lib/decorators/context-provided.ts renamed to packages/labs/context/src/lib/decorators/consume.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ import {ContextKey} from '../context-key.js';
2727
* @example
2828
*
2929
* ```ts
30+
* import {consume} from '@lit-labs/context';
3031
* import {loggerContext, Logger} from 'community-protocols/logger';
3132
*
3233
* class MyElement {
33-
* @contextProvided({context: loggerContext})
34+
* @consume({context: loggerContext})
3435
* logger?: Logger;
3536
*
3637
* doThing() {
@@ -40,7 +41,7 @@ import {ContextKey} from '../context-key.js';
4041
* ```
4142
* @category Decorator
4243
*/
43-
export function contextProvided<ValueType>({
44+
export function consume<ValueType>({
4445
context: context,
4546
subscribe,
4647
}: {

packages/labs/context/src/lib/decorators/context-provider.ts renamed to packages/labs/context/src/lib/decorators/provide.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ import {ContextProvider} from '../controllers/context-provider.js';
2929
* @example
3030
*
3131
* ```ts
32+
* import {consume} from '@lit-labs/context';
3233
* import {loggerContext} from 'community-protocols/logger';
3334
*
3435
* class MyElement {
35-
* @contextProvided(loggerContext)
36+
* @provide(loggerContext)
3637
* logger;
3738
*
3839
* doThing() {
@@ -42,7 +43,7 @@ import {ContextProvider} from '../controllers/context-provider.js';
4243
* ```
4344
* @category Decorator
4445
*/
45-
export function contextProvider<ValueType>({
46+
export function provide<ValueType>({
4647
context: context,
4748
}: {
4849
context: ContextKey<unknown, ValueType>;

packages/labs/context/src/test/context-provider_test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
import {LitElement, html, TemplateResult} from 'lit';
88
import {property} from 'lit/decorators/property.js';
99

10-
import {ContextKey, contextProvided, contextProvider} from '@lit-labs/context';
10+
import {ContextKey, consume, provide} from '@lit-labs/context';
1111
import {assert} from '@esm-bundle/chai';
1212

1313
const simpleContext = 'simple-context' as ContextKey<'simple-context', number>;
1414

1515
class ContextConsumerElement extends LitElement {
16-
@contextProvided({context: simpleContext, subscribe: true})
16+
@consume({context: simpleContext, subscribe: true})
1717
@property({type: Number})
1818
public value = 0;
1919

@@ -24,7 +24,7 @@ class ContextConsumerElement extends LitElement {
2424
customElements.define('context-consumer', ContextConsumerElement);
2525

2626
class ContextProviderElement extends LitElement {
27-
@contextProvider({context: simpleContext})
27+
@provide({context: simpleContext})
2828
@property({type: Number, reflect: true})
2929
public value = 0;
3030

packages/labs/context/src/test/context-request_test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
ContextConsumer,
1212
ContextProvider,
1313
createContext,
14-
contextProvided,
14+
consume,
1515
} from '@lit-labs/context';
1616
import {assert} from '@esm-bundle/chai';
1717

@@ -31,12 +31,12 @@ class SimpleContextProvider extends LitElement {
3131

3232
class SimpleContextConsumer extends LitElement {
3333
// a one-time property fullfilled by context
34-
@contextProvided({context: simpleContext})
34+
@consume({context: simpleContext})
3535
@property({type: Number})
3636
public onceValue = 0;
3737

3838
// a subscribed property fulfilled by context
39-
@contextProvided({context: simpleContext, subscribe: true})
39+
@consume({context: simpleContext, subscribe: true})
4040
@property({type: Number})
4141
public subscribedValue = 0;
4242

packages/labs/context/src/test/late-provider_test.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,17 @@
77
import {LitElement, html, TemplateResult} from 'lit';
88
import {property} from 'lit/decorators/property.js';
99

10-
import {
11-
ContextKey,
12-
contextProvided,
13-
contextProvider,
14-
ContextRoot,
15-
} from '@lit-labs/context';
10+
import {ContextKey, consume, provide, ContextRoot} from '@lit-labs/context';
1611
import {assert} from '@esm-bundle/chai';
1712

1813
const simpleContext = 'simple-context' as ContextKey<'simple-context', number>;
1914

2015
class ContextConsumerElement extends LitElement {
21-
@contextProvided({context: simpleContext, subscribe: true})
16+
@consume({context: simpleContext, subscribe: true})
2217
@property({type: Number})
2318
public value = 0;
2419

25-
@contextProvided({context: simpleContext})
20+
@consume({context: simpleContext})
2621
@property({type: Number})
2722
public onceValue = 0;
2823

@@ -33,7 +28,7 @@ class ContextConsumerElement extends LitElement {
3328
customElements.define('context-consumer', ContextConsumerElement);
3429

3530
class LateContextProviderElement extends LitElement {
36-
@contextProvider({context: simpleContext})
31+
@provide({context: simpleContext})
3732
@property({type: Number, reflect: true})
3833
public value = 0;
3934

packages/labs/context/src/test/provider-and-consumer_test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
import {LitElement, html, TemplateResult} from 'lit';
88
import {property} from 'lit/decorators/property.js';
99

10-
import {ContextKey, contextProvided, contextProvider} from '@lit-labs/context';
10+
import {ContextKey, consume, provide} from '@lit-labs/context';
1111
import {assert} from '@esm-bundle/chai';
1212

1313
const simpleContext = 'simple-context' as ContextKey<'simple-context', number>;
1414

1515
class ContextConsumerAndProviderElement extends LitElement {
16-
@contextProvided({context: simpleContext, subscribe: true})
16+
@consume({context: simpleContext, subscribe: true})
1717
@property({type: Number})
1818
public provided = 0;
1919

20-
@contextProvider({context: simpleContext})
20+
@provide({context: simpleContext})
2121
@property({type: Number})
2222
public value = 0;
2323

0 commit comments

Comments
 (0)