obix-adapter-data 0.2.1
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 +29 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/package.json +37 -0
package/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# obix-adapter-data
|
|
2
|
+
|
|
3
|
+
**The Data projection — identity over the DOP artifact.**
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install obix-adapter-data
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## API
|
|
10
|
+
|
|
11
|
+
| Export | Role |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `toData(artifact)` | returns the artifact unchanged |
|
|
14
|
+
| `dataApply(artifact, state, name, payload, props?)` | one transition via `obix-ir.applyAction` |
|
|
15
|
+
| `dataReplay(artifact, trace, from?, props?)` | fold a trace |
|
|
16
|
+
| `dataRender` / `dataValidate` | render / validate at a given state |
|
|
17
|
+
|
|
18
|
+
No hidden props. No instance. The caller owns `state`, `payload` and `props`.
|
|
19
|
+
Every transition goes through the **same** `applyAction` primitive the other
|
|
20
|
+
adapters use — `Action(state, payload, props)` is invoked identically.
|
|
21
|
+
|
|
22
|
+
## Dependency role
|
|
23
|
+
|
|
24
|
+
`obix-spec` + `obix-ir`. Never depends on `obix-validator`, `obix-equivalence`, the
|
|
25
|
+
compiler, or the runtime. Consumed by `obix-equivalence` and `obix-timer`.
|
|
26
|
+
|
|
27
|
+
## Level 0 status
|
|
28
|
+
|
|
29
|
+
✅ Complete.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DOPArtifact, State, Props, Payload, ActionTrace, ValidationResult } from "obix-spec";
|
|
2
|
+
export declare function toData<S extends object = State, P extends object = Props>(artifact: DOPArtifact<S, P>): DOPArtifact<S, P>;
|
|
3
|
+
export declare function dataApply<S extends object = State, P extends object = Props>(artifact: DOPArtifact<S, P>, state: S, actionName: string, payload: Payload, props?: P): S;
|
|
4
|
+
export declare function dataReplay<S extends object = State, P extends object = Props>(artifact: DOPArtifact<S, P>, trace: ActionTrace, from?: S, props?: P): S;
|
|
5
|
+
export declare function dataRender<S extends object, P extends object>(artifact: DOPArtifact<S, P>, state: S, props?: P): string;
|
|
6
|
+
export declare function dataValidate<S extends object, P extends object>(artifact: DOPArtifact<S, P>, state: S, props?: P): ValidationResult;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAGnB,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAAE,CAAC,SAAS,MAAM,GAAG,KAAK,EACvE,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAEnB;AAGD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAAE,CAAC,SAAS,MAAM,GAAG,KAAK,EAC1E,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,CAAkB,GACxB,CAAC,CAEH;AAGD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAAE,CAAC,SAAS,MAAM,GAAG,KAAK,EAC3E,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE,CAAyB,EAC/B,KAAK,GAAE,CAAkB,GACxB,CAAC,CAEH;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC3D,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,KAAK,GAAE,CAAkB,GACxB,MAAM,CAER;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC7D,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,KAAK,GAAE,CAAkB,GACxB,gBAAgB,CAElB"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { applyAction, replayTrace } from "obix-ir";
|
|
2
|
+
export function toData(artifact) {
|
|
3
|
+
return artifact;
|
|
4
|
+
}
|
|
5
|
+
export function dataApply(artifact, state, actionName, payload, props = artifact.props) {
|
|
6
|
+
return applyAction(artifact, state, actionName, payload, props);
|
|
7
|
+
}
|
|
8
|
+
export function dataReplay(artifact, trace, from = artifact.initialState, props = artifact.props) {
|
|
9
|
+
return replayTrace(artifact, trace, from, props);
|
|
10
|
+
}
|
|
11
|
+
export function dataRender(artifact, state, props = artifact.props) {
|
|
12
|
+
return artifact.render ? artifact.render(state, props) : "";
|
|
13
|
+
}
|
|
14
|
+
export function dataValidate(artifact, state, props = artifact.props) {
|
|
15
|
+
return artifact.validate ? artifact.validate(state, props) : { valid: true, violations: [] };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWnD,MAAM,UAAU,MAAM,CACpB,QAA2B;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAGD,MAAM,UAAU,SAAS,CACvB,QAA2B,EAC3B,KAAQ,EACR,UAAkB,EAClB,OAAgB,EAChB,QAAW,QAAQ,CAAC,KAAK;IAEzB,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAGD,MAAM,UAAU,UAAU,CACxB,QAA2B,EAC3B,KAAkB,EAClB,OAAU,QAAQ,CAAC,YAAY,EAC/B,QAAW,QAAQ,CAAC,KAAK;IAEzB,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,QAA2B,EAC3B,KAAQ,EACR,QAAW,QAAQ,CAAC,KAAK;IAEzB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAA2B,EAC3B,KAAQ,EACR,QAAW,QAAQ,CAAC,KAAK;IAEzB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC/F,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "obix-adapter-data",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "OBIX Data projection — identity over the DOP artifact. The caller explicitly owns state, payload and props. Depends on obix-spec and obix-ir.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"private": false,
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./package.json": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"files": ["dist", "README.md", "LICENSE"],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc -p tsconfig.json"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"obix-spec": "0.2.1",
|
|
24
|
+
"obix-ir": "0.2.1"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=20.11.0"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/obinexusmk2/obix-monorepo-2026.git",
|
|
35
|
+
"directory": "packages/obix-adapter-data"
|
|
36
|
+
}
|
|
37
|
+
}
|