@k8ts/metadata 0.10.2 → 0.11.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/dist/error.d.ts +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +3 -3
- package/dist/error.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/dist/input/dict-input.d.ts +5 -8
- package/dist/input/dict-input.d.ts.map +1 -1
- package/dist/input/index.d.ts +8 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +24 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/key/base.d.ts +6 -0
- package/dist/input/key/base.d.ts.map +1 -0
- package/dist/input/key/base.js +13 -0
- package/dist/input/key/base.js.map +1 -0
- package/dist/input/key/domain-prefix.d.ts +8 -0
- package/dist/input/key/domain-prefix.d.ts.map +1 -0
- package/dist/input/key/domain-prefix.js +19 -0
- package/dist/input/key/domain-prefix.js.map +1 -0
- package/dist/input/key/metadata-key.d.ts +21 -0
- package/dist/input/key/metadata-key.d.ts.map +1 -0
- package/dist/input/key/metadata-key.js +82 -0
- package/dist/input/key/metadata-key.js.map +1 -0
- package/dist/input/key/parse-key.d.ts +10 -0
- package/dist/input/key/parse-key.d.ts.map +1 -0
- package/dist/{key → input/key}/parse-key.js +10 -8
- package/dist/input/key/parse-key.js.map +1 -0
- package/dist/input/key/string-types.d.ts +10 -0
- package/dist/input/key/string-types.d.ts.map +1 -0
- package/dist/input/key/string-types.js +3 -0
- package/dist/input/key/string-types.js.map +1 -0
- package/dist/input/parse-dict.d.ts +3 -2
- package/dist/input/parse-dict.d.ts.map +1 -1
- package/dist/input/parse-dict.js +16 -7
- package/dist/input/parse-dict.js.map +1 -1
- package/dist/meta.d.ts +243 -273
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +259 -297
- package/dist/meta.js.map +1 -1
- package/dist/util.d.ts +1 -22
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +15 -110
- package/dist/util.js.map +1 -1
- package/dist/utils/map.d.ts +23 -0
- package/dist/utils/map.d.ts.map +1 -0
- package/dist/utils/map.js +113 -0
- package/dist/utils/map.js.map +1 -0
- package/dist/utils/order-meta-keyed-object.d.ts.map +1 -0
- package/dist/{order-meta-keyed-object.js → utils/order-meta-keyed-object.js} +2 -1
- package/dist/utils/order-meta-keyed-object.js.map +1 -0
- package/dist/utils/validate.d.ts +4 -0
- package/dist/utils/validate.d.ts.map +1 -0
- package/dist/utils/validate.js +38 -0
- package/dist/utils/validate.js.map +1 -0
- package/package.json +2 -8
- package/src/error.ts +1 -1
- package/src/index.ts +2 -3
- package/src/input/dict-input.ts +5 -12
- package/src/input/index.ts +7 -0
- package/src/input/key/base.ts +10 -0
- package/src/input/key/domain-prefix.ts +14 -0
- package/src/input/key/metadata-key.ts +90 -0
- package/src/{key → input/key}/parse-key.ts +12 -8
- package/src/input/key/string-types.ts +15 -0
- package/src/input/parse-dict.ts +23 -13
- package/src/meta.ts +391 -417
- package/src/util.ts +1 -115
- package/src/utils/map.ts +115 -0
- package/src/{order-meta-keyed-object.ts → utils/order-meta-keyed-object.ts} +2 -1
- package/src/utils/validate.ts +32 -0
- package/dist/key/index.d.ts +0 -4
- package/dist/key/index.d.ts.map +0 -1
- package/dist/key/index.js +0 -11
- package/dist/key/index.js.map +0 -1
- package/dist/key/parse-key.d.ts +0 -8
- package/dist/key/parse-key.d.ts.map +0 -1
- package/dist/key/parse-key.js.map +0 -1
- package/dist/key/repr.d.ts +0 -36
- package/dist/key/repr.d.ts.map +0 -1
- package/dist/key/repr.js +0 -113
- package/dist/key/repr.js.map +0 -1
- package/dist/key/types.d.ts +0 -20
- package/dist/key/types.d.ts.map +0 -1
- package/dist/key/types.js +0 -11
- package/dist/key/types.js.map +0 -1
- package/dist/order-meta-keyed-object.d.ts.map +0 -1
- package/dist/order-meta-keyed-object.js.map +0 -1
- package/src/key/index.ts +0 -4
- package/src/key/repr.ts +0 -128
- package/src/key/types.ts +0 -21
- /package/dist/{order-meta-keyed-object.d.ts → utils/order-meta-keyed-object.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Metadata_Key_sPrefix_Label = "%"
|
|
2
|
+
export type Metadata_Key_sPrefix_Annotation = "^"
|
|
3
|
+
export type Metadata_Key_sPrefix_Comment = "#"
|
|
4
|
+
export type Metadata_Key_sPrefix =
|
|
5
|
+
| Metadata_Key_sPrefix_Label
|
|
6
|
+
| Metadata_Key_sPrefix_Annotation
|
|
7
|
+
| Metadata_Key_sPrefix_Comment
|
|
8
|
+
export type Metadata_Key_sSuffix_Domain = "/"
|
|
9
|
+
|
|
10
|
+
export type Metadata_Key_sDomain = `${string}${Metadata_Key_sSuffix_Domain}`
|
|
11
|
+
export type Metadata_Key_sPrefixed = `${Metadata_Key_sPrefix}${string}`
|
|
12
|
+
export type Metadata_Key_sValue = Metadata_Key_sPrefixed
|
|
13
|
+
export type NotPrefixed<T extends string> = [T] extends [Metadata_Key_sPrefixed]
|
|
14
|
+
? `𝗣𝗿𝗲𝗳𝗶𝘅𝗲𝘀 𝗮𝗿𝗲 𝗶𝗹𝗹𝗲𝗴𝗮𝗹 𝗶𝗻 𝘁𝗵𝗲 𝗱𝗼𝗺𝗮𝗶𝗻 𝘀𝗲𝗰𝘁𝗶𝗼𝗻`
|
|
15
|
+
: Metadata_Key_sDomain
|
package/src/input/parse-dict.ts
CHANGED
|
@@ -1,28 +1,38 @@
|
|
|
1
1
|
import { isNullish } from "what-are-you"
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
2
|
+
import { K8tsMetadataError } from "../error"
|
|
3
|
+
import { Metadata } from "../meta"
|
|
4
|
+
import type { Metadata_Input } from "./dict-input"
|
|
5
|
+
import { Metadata_Key_Domain } from "./key/domain-prefix"
|
|
6
|
+
import { parseInnerKey, parseOuterKey } from "./key/parse-key"
|
|
7
|
+
import type { Metadata_Key_sValue } from "./key/string-types"
|
|
6
8
|
|
|
7
|
-
export function parseMetaInput(input:
|
|
9
|
+
export function parseMetaInput(input: Metadata_Input): Map<Metadata_Key_sValue, string> {
|
|
8
10
|
if (input == null) {
|
|
9
11
|
return new Map()
|
|
10
12
|
}
|
|
11
13
|
if (input instanceof Map) {
|
|
12
|
-
return new Map(input) as Map<
|
|
14
|
+
return new Map(input) as Map<Metadata_Key_sValue, string>
|
|
13
15
|
}
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
+
if (Symbol.iterator in Object(input)) {
|
|
17
|
+
let map = new Map<Metadata_Key_sValue, string>()
|
|
18
|
+
for (const item of input as Iterable<readonly [string, string]>) {
|
|
19
|
+
const [key, value] = item
|
|
20
|
+
map.set(key as any, value)
|
|
21
|
+
}
|
|
22
|
+
return map
|
|
23
|
+
}
|
|
24
|
+
if (input instanceof Metadata) {
|
|
25
|
+
return new Map(input["_dict"])
|
|
16
26
|
}
|
|
17
|
-
let map = new Map<
|
|
27
|
+
let map = new Map<Metadata_Key_sValue, string>()
|
|
18
28
|
for (const [key, value] of Object.entries(input)) {
|
|
19
29
|
const outer = parseOuterKey(key)
|
|
20
30
|
if (isNullish(value)) {
|
|
21
31
|
continue
|
|
22
32
|
}
|
|
23
|
-
if (outer instanceof
|
|
33
|
+
if (outer instanceof Metadata_Key_Domain) {
|
|
24
34
|
if (typeof value !== "object") {
|
|
25
|
-
throw new
|
|
35
|
+
throw new K8tsMetadataError(`Expected object for section key ${key}`)
|
|
26
36
|
}
|
|
27
37
|
for (const [kk, vv] of Object.entries(value)) {
|
|
28
38
|
if (isNullish(vv)) {
|
|
@@ -31,13 +41,13 @@ export function parseMetaInput(input: InputMeta): Map<string, string> {
|
|
|
31
41
|
const inner = parseInnerKey(kk)
|
|
32
42
|
|
|
33
43
|
if (typeof vv !== "string") {
|
|
34
|
-
throw new
|
|
44
|
+
throw new K8tsMetadataError(`Expected string value for inner key ${kk}`)
|
|
35
45
|
}
|
|
36
46
|
map.set(inner.domain(outer).str, vv as string)
|
|
37
47
|
}
|
|
38
48
|
} else {
|
|
39
49
|
if (typeof value !== "string") {
|
|
40
|
-
throw new
|
|
50
|
+
throw new K8tsMetadataError(`Expected string value for key ${key}`)
|
|
41
51
|
}
|
|
42
52
|
map.set(outer.str, value as string)
|
|
43
53
|
}
|