@sdboyer/thema-ui 0.0.0-stage → 0.1.0
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/LICENSE +201 -0
- package/README.md +25 -2
- package/dist/Diagnostics.d.ts +8 -0
- package/dist/Diagnostics.js +14 -0
- package/dist/Editor.d.ts +12 -0
- package/dist/Editor.js +95 -0
- package/dist/OpBar.d.ts +14 -0
- package/dist/OpBar.js +15 -0
- package/dist/Output.d.ts +20 -0
- package/dist/Output.js +56 -0
- package/dist/Tabs.d.ts +15 -0
- package/dist/Tabs.js +23 -0
- package/dist/cue-lang.d.ts +8 -0
- package/dist/cue-lang.js +82 -0
- package/dist/docs.d.ts +64 -0
- package/dist/docs.js +42 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +18 -0
- package/dist/markers.d.ts +11 -0
- package/dist/markers.js +45 -0
- package/dist/ops.d.ts +13 -0
- package/dist/ops.js +22 -0
- package/dist/positions.d.ts +7 -0
- package/dist/positions.js +40 -0
- package/dist/theme.d.ts +16 -0
- package/dist/theme.js +55 -0
- package/dist/types.d.ts +580 -0
- package/dist/types.js +85 -0
- package/errors/E0101.md +43 -0
- package/errors/E0102.md +34 -0
- package/errors/E0103.md +41 -0
- package/errors/E0104.md +5 -0
- package/errors/E0105.md +62 -0
- package/errors/E0106.md +46 -0
- package/errors/E0107.md +48 -0
- package/errors/E0108.md +45 -0
- package/errors/E0109.md +37 -0
- package/errors/E0110.md +17 -0
- package/errors/E0111.md +55 -0
- package/errors/E0112.md +40 -0
- package/errors/E0120.md +34 -0
- package/errors/E0121.md +34 -0
- package/errors/E0122.md +26 -0
- package/errors/E0123.md +37 -0
- package/errors/E0124.md +36 -0
- package/errors/E0125.md +43 -0
- package/errors/E0126.md +38 -0
- package/errors/E0128.md +34 -0
- package/errors/E0129.md +42 -0
- package/errors/E0130.md +43 -0
- package/errors/E0131.md +42 -0
- package/errors/E0132.md +40 -0
- package/errors/E0133.md +46 -0
- package/errors/E0134.md +36 -0
- package/errors/E0135.md +109 -0
- package/errors/E0137.md +37 -0
- package/errors/E0140.md +46 -0
- package/errors/E0141.md +35 -0
- package/errors/E0142.md +38 -0
- package/errors/E0143.md +62 -0
- package/errors/E0144.md +49 -0
- package/errors/E0145.md +48 -0
- package/errors/E0146.md +38 -0
- package/errors/E0147.md +57 -0
- package/errors/E0148.md +42 -0
- package/errors/E0149.md +27 -0
- package/errors/E0150.md +77 -0
- package/errors/E0151.md +47 -0
- package/errors/E0152.md +35 -0
- package/errors/E0201.md +35 -0
- package/errors/E0202.md +42 -0
- package/errors/E0203.md +37 -0
- package/errors/E0204.md +46 -0
- package/errors/E0205.md +47 -0
- package/errors/E0206.md +47 -0
- package/errors/E0208.md +59 -0
- package/errors/E0210.md +44 -0
- package/errors/E0211.md +43 -0
- package/errors/E0212.md +41 -0
- package/errors/E0213.md +42 -0
- package/errors/E0214.md +42 -0
- package/errors/E0215.md +44 -0
- package/errors/E0216.md +41 -0
- package/errors/E0217.md +43 -0
- package/errors/E0218.md +44 -0
- package/errors/E0230.md +46 -0
- package/errors/E0232.md +42 -0
- package/errors/E0233.md +42 -0
- package/errors/E0234.md +43 -0
- package/errors/E0240.md +31 -0
- package/errors/E0242.md +5 -0
- package/errors/E0243.md +5 -0
- package/errors/E0250.md +39 -0
- package/errors/E0251.md +83 -0
- package/errors/E0252.md +42 -0
- package/errors/E0253.md +142 -0
- package/errors/E0254.md +38 -0
- package/errors/E0301.md +43 -0
- package/errors/E0302.md +58 -0
- package/errors/E0303.md +57 -0
- package/errors/E0304.md +9 -0
- package/errors/E0305.md +55 -0
- package/errors/E0307.md +9 -0
- package/errors/E0308.md +9 -0
- package/errors/E0310.md +46 -0
- package/errors/E0311.md +46 -0
- package/errors/E0330.md +67 -0
- package/errors/E0331.md +64 -0
- package/errors/E0332.md +52 -0
- package/errors/E0333.md +61 -0
- package/errors/E0334.md +61 -0
- package/errors/E0335.md +57 -0
- package/errors/E0336.md +50 -0
- package/errors/E0337.md +54 -0
- package/errors/E0338.md +62 -0
- package/errors/E0340.md +57 -0
- package/errors/E0341.md +51 -0
- package/errors/E0342.md +53 -0
- package/errors/E0343.md +56 -0
- package/errors/E0344.md +58 -0
- package/errors/E0345.md +51 -0
- package/errors/E0346.md +45 -0
- package/errors/E0347.md +53 -0
- package/errors/E0348.md +50 -0
- package/errors/E0349.md +52 -0
- package/errors/E0350.md +54 -0
- package/errors/E0351.md +54 -0
- package/errors/E0352.md +60 -0
- package/errors/E0353.md +53 -0
- package/errors/E0354.md +43 -0
- package/errors/E0355.md +55 -0
- package/errors/E0356.md +65 -0
- package/errors/E0357.md +68 -0
- package/errors/E0358.md +50 -0
- package/errors/E0359.md +53 -0
- package/errors/E0360.md +59 -0
- package/errors/E0361.md +59 -0
- package/errors/E0362.md +56 -0
- package/errors/E0364.md +58 -0
- package/errors/E0365.md +58 -0
- package/errors/E0366.md +56 -0
- package/errors/E0367.md +57 -0
- package/errors/E0368.md +58 -0
- package/errors/E0369.md +60 -0
- package/errors/E0370.md +59 -0
- package/errors/E0371.md +59 -0
- package/errors/E0372.md +57 -0
- package/errors/E0380.md +71 -0
- package/errors/E0381.md +61 -0
- package/errors/E0382.md +64 -0
- package/errors/E0383.md +61 -0
- package/errors/E0384.md +63 -0
- package/errors/E0385.md +61 -0
- package/errors/E0386.md +59 -0
- package/errors/E0387.md +59 -0
- package/errors/E0388.md +60 -0
- package/errors/E0389.md +59 -0
- package/errors/E0390.md +59 -0
- package/errors/E0401.md +56 -0
- package/errors/E0402.md +51 -0
- package/errors/E0403.md +51 -0
- package/errors/E0404.md +57 -0
- package/errors/E0405.md +56 -0
- package/errors/E0406.md +53 -0
- package/errors/E0407.md +54 -0
- package/errors/E0410.md +56 -0
- package/errors/E0411.md +59 -0
- package/errors/E0412.md +59 -0
- package/errors/E0413.md +74 -0
- package/errors/E0414.md +53 -0
- package/errors/E0415.md +72 -0
- package/errors/E0416.md +67 -0
- package/errors/E0418.md +59 -0
- package/errors/E0420.md +71 -0
- package/errors/E0421.md +82 -0
- package/errors/E0422.md +82 -0
- package/errors/E0423.md +83 -0
- package/errors/E0501.md +51 -0
- package/errors/E0502.md +50 -0
- package/errors/E0503.md +52 -0
- package/errors/E0504.md +64 -0
- package/errors/E0505.md +51 -0
- package/errors/E0506.md +48 -0
- package/errors/E0507.md +41 -0
- package/errors/E0508.md +39 -0
- package/errors/E0601.md +22 -0
- package/errors/E0602.md +28 -0
- package/errors/E0603.md +65 -0
- package/errors/E0604.md +37 -0
- package/errors/E0605.md +36 -0
- package/errors/E0606.md +44 -0
- package/errors/E0607.md +57 -0
- package/errors/E0608.md +37 -0
- package/errors/E0609.md +33 -0
- package/errors/E0611.md +37 -0
- package/errors/E0612.md +34 -0
- package/errors/E0613.md +30 -0
- package/errors/E0614.md +36 -0
- package/errors/E0616.md +33 -0
- package/errors/E0617.md +15 -0
- package/errors/E0618.md +16 -0
- package/errors/E0620.md +37 -0
- package/errors/E0621.md +45 -0
- package/errors/E0622.md +34 -0
- package/errors/E0623.md +33 -0
- package/errors/E0624.md +34 -0
- package/errors/E0625.md +28 -0
- package/errors/E0626.md +54 -0
- package/errors/E0627.md +27 -0
- package/errors/E0628.md +63 -0
- package/errors/E0701.md +25 -0
- package/errors/E0801.md +23 -0
- package/errors/E0802.md +22 -0
- package/errors/E0803.md +22 -0
- package/errors/E0804.md +25 -0
- package/errors/E0805.md +26 -0
- package/errors/E0901.md +27 -0
- package/errors/E0902.md +40 -0
- package/errors/E0903.md +23 -0
- package/errors/E1001.md +53 -0
- package/errors/E1002.md +43 -0
- package/errors/E1003.md +40 -0
- package/errors/E1004.md +44 -0
- package/errors/README.md +215 -0
- package/package.json +34 -4
package/errors/E0388.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0388: a lens writes to a target constraint the checker cannot compare
|
|
4
|
+
|
|
5
|
+
The target constrains a computed value in a way the checker does not compare:
|
|
6
|
+
a regular expression, a validator, or alternatives with gaps. It does not
|
|
7
|
+
reason about string contents. Make the target accept any string, or copy a
|
|
8
|
+
field the target already constrains.
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
`lineage.cue`:
|
|
13
|
+
|
|
14
|
+
```cue
|
|
15
|
+
name: "ship"
|
|
16
|
+
schemas: {
|
|
17
|
+
"0": {
|
|
18
|
+
"0": {
|
|
19
|
+
schema: {
|
|
20
|
+
a!: string
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
"1": {
|
|
25
|
+
"0": {
|
|
26
|
+
schema: {
|
|
27
|
+
id!: =~"^[a-z]+$"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
lenses: {
|
|
33
|
+
"0.0->1.0": {
|
|
34
|
+
v0_0: _
|
|
35
|
+
v1_0: {
|
|
36
|
+
id: "x\(v0_0.a)"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
"1.0->0.0": {
|
|
40
|
+
v1_0: _
|
|
41
|
+
v0_0: {
|
|
42
|
+
a: v1_0.id
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
thema reports:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
error[E0388]: id in the result of lens 0.0->1.0 is not total for some instance
|
|
52
|
+
--> lineage.cue:22:8
|
|
53
|
+
|
|
|
54
|
+
22 | id: "x\(v0_0.a)"
|
|
55
|
+
| ^^^^^^^^^^^^
|
|
56
|
+
|
|
|
57
|
+
= note: id in the result of lens 0.0->1.0 is a string built by "x\(v0_0.a)", and the target schema accepts only some strings (=~"^[a-z]+$"); the checker does not reason about string contents: make the target accept any string, or copy a field the target already constrains
|
|
58
|
+
= note: a lens must be total: every instance of schema 0.0 must translate to an instance of schema 1.0 (totality rule unknown-target-constraint)
|
|
59
|
+
= help: write the mapping in a form the checker can follow, or add a lacuna where it cannot decide
|
|
60
|
+
```
|
package/errors/E0389.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0389: a lens indexes a table with a value that is not a finite set of constants
|
|
4
|
+
|
|
5
|
+
A lens indexes a table by a value that is not one of a finite set of string
|
|
6
|
+
constants. The checker needs every possible key to show each has an entry.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`lineage.cue`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
name: "ship"
|
|
14
|
+
schemas: {
|
|
15
|
+
"0": {
|
|
16
|
+
"0": {
|
|
17
|
+
schema: {
|
|
18
|
+
t: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
"1": {
|
|
23
|
+
"0": {
|
|
24
|
+
schema: {
|
|
25
|
+
u: 1 | 2
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
lenses: {
|
|
31
|
+
"0.0->1.0": {
|
|
32
|
+
_T: {a: 1, b: 2}
|
|
33
|
+
v0_0: _
|
|
34
|
+
v1_0: {
|
|
35
|
+
u: _T[v0_0.t]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
"1.0->0.0": {
|
|
39
|
+
v1_0: _
|
|
40
|
+
v0_0: {
|
|
41
|
+
t: ""
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
thema reports:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
error[E0389]: u in the result of lens 0.0->1.0 is not total for some instance
|
|
51
|
+
--> lineage.cue:23:7
|
|
52
|
+
|
|
|
53
|
+
23 | u: _T[v0_0.t]
|
|
54
|
+
| ^^
|
|
55
|
+
|
|
|
56
|
+
= note: u in the result of lens 0.0->1.0 indexes a table by v0_0.t, which may be string rather than one of a finite set of string constants; the checker needs every possible key
|
|
57
|
+
= note: a lens must be total: every instance of schema 0.0 must translate to an instance of schema 1.0 (totality rule unknown-table-key)
|
|
58
|
+
= help: write the mapping in a form the checker can follow, or add a lacuna where it cannot decide
|
|
59
|
+
```
|
package/errors/E0390.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0390: a lens takes the first element of a list that may be empty
|
|
4
|
+
|
|
5
|
+
A lens takes the first element of a list built by a comprehension with no
|
|
6
|
+
fallback element. When the condition is false the list is empty and the index
|
|
7
|
+
fails. Add a fallback: `[if c {x}, y][0]`.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
`lineage.cue`:
|
|
12
|
+
|
|
13
|
+
```cue
|
|
14
|
+
name: "ship"
|
|
15
|
+
schemas: {
|
|
16
|
+
"0": {
|
|
17
|
+
"0": {
|
|
18
|
+
schema: {
|
|
19
|
+
n: "a" | "b"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
"1": {
|
|
24
|
+
"0": {
|
|
25
|
+
schema: {
|
|
26
|
+
s: string
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
lenses: {
|
|
32
|
+
"0.0->1.0": {
|
|
33
|
+
v0_0: _
|
|
34
|
+
v1_0: {
|
|
35
|
+
s: [if v0_0.n == "a" {"x"}][0]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
"1.0->0.0": {
|
|
39
|
+
v1_0: _
|
|
40
|
+
v0_0: {
|
|
41
|
+
n: "a"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
thema reports:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
error[E0390]: s in the result of lens 0.0->1.0 is not total for some instance
|
|
51
|
+
--> lineage.cue:22:7
|
|
52
|
+
|
|
|
53
|
+
22 | s: [if v0_0.n == "a" {"x"}][0]
|
|
54
|
+
| ^
|
|
55
|
+
|
|
|
56
|
+
= note: s in the result of lens 0.0->1.0 takes the first element of a list built by if v0_0.n == "a" with no fallback, so when the conditions are false the list is empty and the index fails; add an unconditional fallback element: [if c {x}, y][0]
|
|
57
|
+
= note: a lens must be total: every instance of schema 0.0 must translate to an instance of schema 1.0 (totality rule unknown-head)
|
|
58
|
+
= help: write the mapping in a form the checker can follow, or add a lacuna where it cannot decide
|
|
59
|
+
```
|
package/errors/E0401.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0401: a lens's lacunas are not listed unconditionally
|
|
4
|
+
|
|
5
|
+
A lens lists every lacuna it can emit unconditionally; each lacuna's own
|
|
6
|
+
condition field decides whether it applies to an instance. A list built with a
|
|
7
|
+
comprehension has no known length until data arrives, so the lacunas cannot be
|
|
8
|
+
checked.
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
`lineage.cue`:
|
|
13
|
+
|
|
14
|
+
```cue
|
|
15
|
+
name: "ship"
|
|
16
|
+
schemas: {
|
|
17
|
+
"0": {
|
|
18
|
+
"0": {
|
|
19
|
+
schema: {
|
|
20
|
+
a: string
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
"1": {
|
|
24
|
+
schema: {
|
|
25
|
+
a: string
|
|
26
|
+
b?: int
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
lenses: {
|
|
32
|
+
"0.1->0.0": {
|
|
33
|
+
v0_1: _
|
|
34
|
+
v0_0: {
|
|
35
|
+
a: v0_1.a
|
|
36
|
+
}
|
|
37
|
+
lacunas: [
|
|
38
|
+
if v0_1.b != _|_ {
|
|
39
|
+
{type: "DroppedField", message: "b was dropped"}
|
|
40
|
+
},
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
thema reports:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
error[E0401]: the lacunas of lens 0.1->0.0 are not listed unconditionally
|
|
50
|
+
--> lineage.cue:23:3
|
|
51
|
+
|
|
|
52
|
+
23 | lacunas: [
|
|
53
|
+
| ^^^^^^^
|
|
54
|
+
|
|
|
55
|
+
= help: list every lacuna the lens can emit; each lacuna's condition field decides whether it applies
|
|
56
|
+
```
|
package/errors/E0402.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0402: a lacuna has no message
|
|
4
|
+
|
|
5
|
+
Every lacuna has a message: the human-readable account of the gap in the
|
|
6
|
+
translation. This one has none.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`lineage.cue`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
name: "ship"
|
|
14
|
+
schemas: {
|
|
15
|
+
"0": {
|
|
16
|
+
"0": {
|
|
17
|
+
schema: {
|
|
18
|
+
a: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
"1": {
|
|
22
|
+
schema: {
|
|
23
|
+
a: string
|
|
24
|
+
b?: int
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
lenses: {
|
|
30
|
+
"0.1->0.0": {
|
|
31
|
+
v0_1: _
|
|
32
|
+
v0_0: {
|
|
33
|
+
a: v0_1.a
|
|
34
|
+
}
|
|
35
|
+
lacunas: [
|
|
36
|
+
{type: "DroppedField", condition: v0_1.b != _|_},
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
thema reports:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
error[E0402]: lacuna 0 of lens 0.1->0.0 has no message
|
|
46
|
+
--> lineage.cue:24:4
|
|
47
|
+
|
|
|
48
|
+
24 | {type: "DroppedField", condition: v0_1.b != _|_},
|
|
49
|
+
| ^
|
|
50
|
+
|
|
|
51
|
+
```
|
package/errors/E0403.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0403: a lacuna has no type
|
|
4
|
+
|
|
5
|
+
Every lacuna has a type, one of the lacuna types, saying what kind of gap it
|
|
6
|
+
describes. This one has none.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`lineage.cue`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
name: "ship"
|
|
14
|
+
schemas: {
|
|
15
|
+
"0": {
|
|
16
|
+
"0": {
|
|
17
|
+
schema: {
|
|
18
|
+
a: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
"1": {
|
|
22
|
+
schema: {
|
|
23
|
+
a: string
|
|
24
|
+
b?: int
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
lenses: {
|
|
30
|
+
"0.1->0.0": {
|
|
31
|
+
v0_1: _
|
|
32
|
+
v0_0: {
|
|
33
|
+
a: v0_1.a
|
|
34
|
+
}
|
|
35
|
+
lacunas: [
|
|
36
|
+
{message: "b was dropped", condition: v0_1.b != _|_},
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
thema reports:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
error[E0403]: lacuna 0 of lens 0.1->0.0 has no type
|
|
46
|
+
--> lineage.cue:24:4
|
|
47
|
+
|
|
|
48
|
+
24 | {message: "b was dropped", condition: v0_1.b != _|_},
|
|
49
|
+
| ^
|
|
50
|
+
|
|
|
51
|
+
```
|
package/errors/E0404.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0404: a lacuna names a field its schema does not declare
|
|
4
|
+
|
|
5
|
+
A lacuna's source fields are fields of the lens's source schema, and its target
|
|
6
|
+
fields are fields of its target schema. This lacuna names a field neither
|
|
7
|
+
schema declares.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
`lineage.cue`:
|
|
12
|
+
|
|
13
|
+
```cue
|
|
14
|
+
name: "ship"
|
|
15
|
+
schemas: {
|
|
16
|
+
"0": {
|
|
17
|
+
"0": {
|
|
18
|
+
schema: {
|
|
19
|
+
a: string
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
"1": {
|
|
23
|
+
schema: {
|
|
24
|
+
a: string
|
|
25
|
+
b?: int
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
lenses: {
|
|
31
|
+
"0.1->0.0": {
|
|
32
|
+
v0_1: _
|
|
33
|
+
v0_0: {
|
|
34
|
+
a: v0_1.a
|
|
35
|
+
}
|
|
36
|
+
lacunas: [
|
|
37
|
+
{
|
|
38
|
+
type: "DroppedField"
|
|
39
|
+
message: "b was dropped"
|
|
40
|
+
condition: v0_1.b != _|_
|
|
41
|
+
sourceFields: [{path: "nope", value: 1}]
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
thema reports:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
error[E0404]: lacuna 0 of lens 0.1->0.0 names nope in sourceFields[0], which schema 0.1 does not declare
|
|
52
|
+
--> lineage.cue:28:21
|
|
53
|
+
|
|
|
54
|
+
28 | sourceFields: [{path: "nope", value: 1}]
|
|
55
|
+
| ^^^^
|
|
56
|
+
|
|
|
57
|
+
```
|
package/errors/E0405.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0405: a lacuna's field path is not a path
|
|
4
|
+
|
|
5
|
+
A lacuna names a field by its path in CUE path syntax, such as `a.b` or
|
|
6
|
+
`list[0]`. This lacuna's path is not one.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`lineage.cue`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
name: "ship"
|
|
14
|
+
schemas: {
|
|
15
|
+
"0": {
|
|
16
|
+
"0": {
|
|
17
|
+
schema: {
|
|
18
|
+
a: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
"1": {
|
|
22
|
+
schema: {
|
|
23
|
+
a: string
|
|
24
|
+
b?: int
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
lenses: {
|
|
30
|
+
"0.1->0.0": {
|
|
31
|
+
v0_1: _
|
|
32
|
+
v0_0: {
|
|
33
|
+
a: v0_1.a
|
|
34
|
+
}
|
|
35
|
+
lacunas: [
|
|
36
|
+
{
|
|
37
|
+
type: "DroppedField"
|
|
38
|
+
message: "b was dropped"
|
|
39
|
+
condition: v0_1.b != _|_
|
|
40
|
+
targetFields: [{path: "a..b", value: 1}]
|
|
41
|
+
},
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
thema reports:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
error[E0405]: lacuna 0 of lens 0.1->0.0 names a field with targetFields[0].path, but "a..b" is not a path
|
|
51
|
+
--> lineage.cue:28:21
|
|
52
|
+
|
|
|
53
|
+
28 | targetFields: [{path: "a..b", value: 1}]
|
|
54
|
+
| ^^^^
|
|
55
|
+
|
|
|
56
|
+
```
|
package/errors/E0406.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0406: a lacuna's type is not a lacuna type
|
|
4
|
+
|
|
5
|
+
A lacuna's type is one of the lacuna types thema defines; the help lists them.
|
|
6
|
+
This one names a type that does not exist.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`lineage.cue`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
name: "ship"
|
|
14
|
+
schemas: {
|
|
15
|
+
"0": {
|
|
16
|
+
"0": {
|
|
17
|
+
schema: {
|
|
18
|
+
a: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
"1": {
|
|
22
|
+
schema: {
|
|
23
|
+
a: string
|
|
24
|
+
b?: int
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
lenses: {
|
|
30
|
+
"0.1->0.0": {
|
|
31
|
+
v0_1: _
|
|
32
|
+
v0_0: {
|
|
33
|
+
a: v0_1.a
|
|
34
|
+
}
|
|
35
|
+
lacunas: [
|
|
36
|
+
{type: "Bogus", message: "b was dropped", condition: v0_1.b != _|_},
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
thema reports:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
error[E0406]: the lacuna's type is "Bogus", which is not a lacuna type
|
|
46
|
+
--> lineage.cue:24:11
|
|
47
|
+
|
|
|
48
|
+
24 | {type: "Bogus", message: "b was dropped", condition: v0_1.b != _|_},
|
|
49
|
+
| ^^^^^^^
|
|
50
|
+
|
|
|
51
|
+
= detail: lenses.0.1->0.0.lacunas.0.type: 7 errors in empty disjunction:
|
|
52
|
+
= help: the lacuna types are "AmbiguousMapping", "ChangedDefault", "Defaulted", "DroppedField", "LossyFieldMapping", "Placeholder", "PrecisionLoss"
|
|
53
|
+
```
|
package/errors/E0407.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0407: a field that is not part of a lacuna
|
|
4
|
+
|
|
5
|
+
A lacuna has a fixed set of fields: condition, sourceFields, targetFields,
|
|
6
|
+
message and type. A field outside that set is usually a typo; the help names
|
|
7
|
+
the closest.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
`lineage.cue`:
|
|
12
|
+
|
|
13
|
+
```cue
|
|
14
|
+
name: "ship"
|
|
15
|
+
schemas: {
|
|
16
|
+
"0": {
|
|
17
|
+
"0": {
|
|
18
|
+
schema: {
|
|
19
|
+
a: string
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
"1": {
|
|
23
|
+
schema: {
|
|
24
|
+
a: string
|
|
25
|
+
b?: int
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
lenses: {
|
|
31
|
+
"0.1->0.0": {
|
|
32
|
+
v0_1: _
|
|
33
|
+
v0_0: {
|
|
34
|
+
a: v0_1.a
|
|
35
|
+
}
|
|
36
|
+
lacunas: [
|
|
37
|
+
{type: "DroppedField", message: "b was dropped", condition: v0_1.b != _|_, severity: 1},
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
thema reports:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
error[E0407]: severity is not a field of a lacuna
|
|
47
|
+
--> lineage.cue:24:79
|
|
48
|
+
|
|
|
49
|
+
24 | {type: "DroppedField", message: "b was dropped", condition: v0_1.b != _|_, severity: 1},
|
|
50
|
+
| ^^^^^^^^
|
|
51
|
+
|
|
|
52
|
+
= detail: lenses.0.1->0.0.lacunas.0.severity: severity is not a field of a lacuna; a lacuna has only condition, sourceFields, targetFields, message and type
|
|
53
|
+
= help: a lacuna has only condition, sourceFields, targetFields, message, type
|
|
54
|
+
```
|
package/errors/E0410.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0410: a lacunas declaration is not shaped as lacunas
|
|
4
|
+
|
|
5
|
+
The lacunas field is a struct keyed like the lens body: each key names a
|
|
6
|
+
mapping, and holds a list of that mapping's lacunas, or a struct of keys
|
|
7
|
+
beneath it. A value of any other shape is not a lacuna declaration.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
`ship/history/0.0.thema`:
|
|
12
|
+
|
|
13
|
+
```cue
|
|
14
|
+
Schema: {
|
|
15
|
+
a: string
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`ship/history/1.0.thema`:
|
|
20
|
+
|
|
21
|
+
```cue
|
|
22
|
+
Schema: {
|
|
23
|
+
a: string
|
|
24
|
+
b: int
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
ForwardLens: {
|
|
28
|
+
v0_0: _
|
|
29
|
+
v1_0: {
|
|
30
|
+
b: -1
|
|
31
|
+
}
|
|
32
|
+
lacunas: {
|
|
33
|
+
b: 5
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
`ship/tip.thema`:
|
|
39
|
+
|
|
40
|
+
```cue
|
|
41
|
+
Schema: {
|
|
42
|
+
a: string
|
|
43
|
+
b: int
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
thema reports:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
error[E0410]: lacunas.b is a list of the mapping's lacunas, or a struct of keys beneath it
|
|
51
|
+
--> history/1.0.thema:12:6
|
|
52
|
+
|
|
|
53
|
+
12 | b: 5
|
|
54
|
+
| ^
|
|
55
|
+
|
|
|
56
|
+
```
|
package/errors/E0411.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!-- Generated by go test ./diag; do not edit. -->
|
|
2
|
+
|
|
3
|
+
# E0411: a lacuna's type is not a lacuna type
|
|
4
|
+
|
|
5
|
+
A lacuna's type is one of thema's lacuna types, written as a bare name. The
|
|
6
|
+
message lists them.
|
|
7
|
+
|
|
8
|
+
## Example
|
|
9
|
+
|
|
10
|
+
`ship/history/0.0.thema`:
|
|
11
|
+
|
|
12
|
+
```cue
|
|
13
|
+
Schema: {
|
|
14
|
+
a: string
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`ship/history/1.0.thema`:
|
|
19
|
+
|
|
20
|
+
```cue
|
|
21
|
+
Schema: {
|
|
22
|
+
a: string
|
|
23
|
+
b: int
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
ForwardLens: {
|
|
27
|
+
v0_0: _
|
|
28
|
+
v1_0: {
|
|
29
|
+
b: -1
|
|
30
|
+
}
|
|
31
|
+
lacunas: {
|
|
32
|
+
b: [{
|
|
33
|
+
type: Guess
|
|
34
|
+
message: "-1 is a placeholder"
|
|
35
|
+
}]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`ship/tip.thema`:
|
|
41
|
+
|
|
42
|
+
```cue
|
|
43
|
+
Schema: {
|
|
44
|
+
a: string
|
|
45
|
+
b: int
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
thema reports:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
error[E0411]: the lacuna's type Guess is not a lacuna type
|
|
53
|
+
--> history/1.0.thema:13:13
|
|
54
|
+
|
|
|
55
|
+
13 | type: Guess
|
|
56
|
+
| ^^^^^
|
|
57
|
+
|
|
|
58
|
+
= help: the lacuna types are Placeholder, DroppedField, LossyFieldMapping, ChangedDefault, PrecisionLoss, AmbiguousMapping, Defaulted
|
|
59
|
+
```
|