@owlmeans/state 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -80,3 +80,20 @@ const DEFAULT_ID = '_default' // conventional ID for single-item resources
|
|
|
80
80
|
|
|
81
81
|
- [`@owlmeans/resource`](../resource) — `Resource<T>` interface implemented by StateResource
|
|
82
82
|
- [`@owlmeans/client`](../client) — `useStoreModel` / `useStoreList` React hooks for state resources
|
|
83
|
+
|
|
84
|
+
<!-- owlmeans:agent-guidance:start -->
|
|
85
|
+
## Agent guidance
|
|
86
|
+
|
|
87
|
+
This package ships embedded Claude Code skills and GitHub Copilot instructions under
|
|
88
|
+
`agent-meta/`. After installing your `@owlmeans/*` packages, run the OwlMeans
|
|
89
|
+
agent-skills installer to place them into your project's native locations
|
|
90
|
+
(`.claude/skills/` and `.github/instructions/`):
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
npx @owlmeans/agent-skills
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The embedded files are version-matched to this package release. Do not edit them
|
|
97
|
+
directly — they are regenerated on each publish. To contribute guidance edits,
|
|
98
|
+
open a PR against the source monorepo.
|
|
99
|
+
<!-- owlmeans:agent-guidance:end -->
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "How to use @owlmeans/state — appendStateResource() to register a state resource on a context, then ctx.getStateResource(alias) to read/write typed application state."
|
|
3
|
+
applyTo: "**/*.ts, **/*.tsx"
|
|
4
|
+
---
|
|
5
|
+
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
6
|
+
|
|
7
|
+
# @owlmeans/state
|
|
8
|
+
|
|
9
|
+
**Layer:** Core
|
|
10
|
+
**Install:** `"@owlmeans/state": "^0.1.8"` in `dependencies`
|
|
11
|
+
|
|
12
|
+
## Key Exports
|
|
13
|
+
|
|
14
|
+
| Export | Description |
|
|
15
|
+
|--------|-------------|
|
|
16
|
+
| `appendStateResource<C, T>(context, alias)` | Register a state resource on the context |
|
|
17
|
+
| `StateResource<T>` types | Typed state container interface |
|
|
18
|
+
| Errors | Typed state errors |
|
|
19
|
+
| Constants | Default state aliases |
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { appendStateResource } from '@owlmeans/state'
|
|
25
|
+
|
|
26
|
+
export const VIB_PROJECT_STATE = 'vib-project-state'
|
|
27
|
+
appendStateResource<C, T>(context, VIB_PROJECT_STATE)
|
|
28
|
+
context.projectStore = () => context.getStateResource(VIB_PROJECT_STATE)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Depends On
|
|
32
|
+
|
|
33
|
+
- `@owlmeans/resource`, `@owlmeans/context`, `@owlmeans/error`, `@owlmeans/i18n`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"package": "@owlmeans/state",
|
|
4
|
+
"version": "0.1.8",
|
|
5
|
+
"generatedAt": "2026-06-11T16:30:27.167Z",
|
|
6
|
+
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
|
+
"entries": [
|
|
8
|
+
{
|
|
9
|
+
"kind": "skill",
|
|
10
|
+
"name": "state",
|
|
11
|
+
"category": "package-specific",
|
|
12
|
+
"file": "skills/state/SKILL.md",
|
|
13
|
+
"canonicalPath": ".claude/skills/state/SKILL.md"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"kind": "instruction",
|
|
17
|
+
"name": "state",
|
|
18
|
+
"category": "package-specific",
|
|
19
|
+
"file": "instructions/state.instructions.md",
|
|
20
|
+
"canonicalPath": ".github/instructions/state.instructions.md"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: state
|
|
3
|
+
description: How to use @owlmeans/state — appendStateResource() to register a state resource on a context, then ctx.getStateResource(alias) to read/write typed application state. Auto-invoked when importing state primitives.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
7
|
+
|
|
8
|
+
# @owlmeans/state
|
|
9
|
+
|
|
10
|
+
**Layer:** Core
|
|
11
|
+
**Install:** `"@owlmeans/state": "^0.1.8"` in `dependencies`
|
|
12
|
+
|
|
13
|
+
## Key Exports
|
|
14
|
+
|
|
15
|
+
| Export | Description |
|
|
16
|
+
|--------|-------------|
|
|
17
|
+
| `appendStateResource<C, T>(context, alias)` | Register a state resource on the context |
|
|
18
|
+
| `StateResource<T>` types | Typed state container interface |
|
|
19
|
+
| Errors | Typed state errors |
|
|
20
|
+
| Constants | Default state aliases |
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
Append a state resource at context construction time, expose a typed accessor:
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { appendStateResource } from '@owlmeans/state'
|
|
28
|
+
|
|
29
|
+
export const VIB_PROJECT_STATE = 'vib-project-state'
|
|
30
|
+
|
|
31
|
+
export const makeContext = <C extends Config, T extends Context<C>>(cfg: C): T => {
|
|
32
|
+
const context = makeBasicContext<C, T>(cfg)
|
|
33
|
+
appendStateResource<C, T>(context, VIB_PROJECT_STATE)
|
|
34
|
+
context.projectStore = () => context.getStateResource(VIB_PROJECT_STATE)
|
|
35
|
+
return context
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Later, in a component or handler:
|
|
39
|
+
const store = ctx.projectStore()
|
|
40
|
+
const current = await store.get('current')
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Depends On
|
|
44
|
+
|
|
45
|
+
- `@owlmeans/resource` — `StateResource` extends `Resource`
|
|
46
|
+
- `@owlmeans/context` — for `getStateResource`
|
|
47
|
+
- `@owlmeans/error`, `@owlmeans/i18n`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/state",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@owlmeans/context": "^0.1.
|
|
25
|
-
"@owlmeans/resource": "^0.1.
|
|
24
|
+
"@owlmeans/context": "^0.1.8",
|
|
25
|
+
"@owlmeans/resource": "^0.1.8"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@owlmeans/dep-config": "workspace:*",
|