@k8ts/metadata 0.4.15 → 0.5.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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/input/dict-input.d.ts +2 -1
- package/dist/input/dict-input.d.ts.map +1 -1
- package/dist/input/parse-dict.d.ts +1 -3
- package/dist/input/parse-dict.d.ts.map +1 -1
- package/dist/input/parse-dict.js +7 -11
- package/dist/input/parse-dict.js.map +1 -1
- package/dist/key/parse-key.d.ts.map +1 -1
- package/dist/key/parse-key.js +3 -2
- package/dist/key/parse-key.js.map +1 -1
- package/dist/key/repr.d.ts +0 -2
- package/dist/key/repr.d.ts.map +1 -1
- package/dist/key/repr.js +0 -4
- package/dist/key/repr.js.map +1 -1
- package/dist/key/types.d.ts +2 -7
- package/dist/key/types.d.ts.map +1 -1
- package/dist/key/types.js.map +1 -1
- package/dist/meta.d.ts +25 -65
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +106 -119
- package/dist/meta.js.map +1 -1
- package/dist/order-meta-keyed-object.d.ts +2 -0
- package/dist/order-meta-keyed-object.d.ts.map +1 -0
- package/dist/order-meta-keyed-object.js +21 -0
- package/dist/order-meta-keyed-object.js.map +1 -0
- package/dist/util.d.ts +23 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +113 -0
- package/dist/util.js.map +1 -0
- package/package.json +16 -15
- package/src/index.ts +2 -2
- package/src/input/dict-input.ts +6 -1
- package/src/input/parse-dict.ts +9 -13
- package/src/key/parse-key.ts +5 -3
- package/src/key/repr.ts +1 -5
- package/src/key/types.ts +2 -9
- package/src/meta.ts +116 -145
- package/src/order-meta-keyed-object.ts +20 -0
- package/src/util.ts +115 -0
- package/dist/key/convert.d.ts +0 -6
- package/dist/key/convert.d.ts.map +0 -1
- package/dist/key/convert.js +0 -7
- package/dist/key/convert.js.map +0 -1
- package/dist/mutable-meta.d.ts +0 -2
- package/dist/mutable-meta.d.ts.map +0 -1
- package/dist/mutable-meta.js +0 -3
- package/dist/mutable-meta.js.map +0 -1
- package/src/key/convert.ts +0 -6
- package/src/mutable-meta.ts +0 -0
package/dist/meta.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Meta = void 0;
|
|
4
|
-
const
|
|
4
|
+
const doddle_1 = require("doddle");
|
|
5
5
|
const error_1 = require("./error");
|
|
6
6
|
const key_1 = require("./key");
|
|
7
7
|
const parse_key_1 = require("./key/parse-key");
|
|
8
8
|
const repr_1 = require("./key/repr");
|
|
9
|
+
const order_meta_keyed_object_1 = require("./order-meta-keyed-object");
|
|
10
|
+
const util_1 = require("./util");
|
|
11
|
+
const MetaMarker = Symbol("k8ts.org/metadata");
|
|
9
12
|
var Meta;
|
|
10
13
|
(function (Meta_1) {
|
|
11
14
|
function _checkNameValue(what, v) {
|
|
@@ -16,63 +19,72 @@ var Meta;
|
|
|
16
19
|
}
|
|
17
20
|
Meta_1._checkNameValue = _checkNameValue;
|
|
18
21
|
function _checkValue(key, v) {
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
const parsed = (0, key_1.parseKey)(key);
|
|
23
|
+
if (!(parsed instanceof repr_1.ValueKey)) {
|
|
24
|
+
throw new error_1.MetadataError(`Expected value key, got section key for ${key}`);
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
if (parsed.metaType === "label") {
|
|
27
|
+
(0, repr_1.checkMetaString)(`value of ${key}`, v, 63);
|
|
28
|
+
}
|
|
29
|
+
else if (parsed.metaType === "core") {
|
|
30
|
+
_checkNameValue(`value of ${key}`, v);
|
|
24
31
|
}
|
|
25
32
|
}
|
|
26
33
|
Meta_1._checkValue = _checkValue;
|
|
27
34
|
class Meta {
|
|
28
35
|
_dict;
|
|
36
|
+
[MetaMarker] = true;
|
|
29
37
|
constructor(_dict) {
|
|
30
38
|
this._dict = _dict;
|
|
31
39
|
for (const [key, value] of _dict.entries()) {
|
|
32
40
|
_checkValue(key, value);
|
|
33
41
|
}
|
|
34
42
|
}
|
|
35
|
-
[Symbol.iterator]() {
|
|
36
|
-
|
|
43
|
+
*[Symbol.iterator]() {
|
|
44
|
+
for (const entry of this._dict.entries()) {
|
|
45
|
+
yield [(0, key_1.parseKey)(entry[0]), entry[1]];
|
|
46
|
+
}
|
|
37
47
|
}
|
|
38
48
|
_create(raw) {
|
|
39
49
|
return new Meta(raw);
|
|
40
50
|
}
|
|
41
|
-
|
|
42
|
-
return this._create(
|
|
51
|
+
clone() {
|
|
52
|
+
return this._create(new Map(this._dict));
|
|
43
53
|
}
|
|
44
54
|
add(a, b) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
const parsed = _pairToMap([a, b]);
|
|
56
|
+
for (const [k, v] of parsed) {
|
|
57
|
+
if (this._dict.has(k)) {
|
|
58
|
+
const prev = this._dict.get(k);
|
|
59
|
+
throw new error_1.MetadataError(`Duplicate entry for ${k}, was ${prev} now ${v}`, {
|
|
60
|
+
key: k.str
|
|
50
61
|
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
}
|
|
62
|
+
}
|
|
63
|
+
this._dict.set(k, v);
|
|
64
|
+
}
|
|
65
|
+
return this;
|
|
54
66
|
}
|
|
55
67
|
equals(other) {
|
|
56
|
-
return this._dict
|
|
68
|
+
return (0, util_1.equalsMap)(this._dict, make(other)._dict);
|
|
57
69
|
}
|
|
58
70
|
section(key) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
71
|
+
const newS = (0, doddle_1.seq)(this).map(([k, v]) => [k.section(key), v]);
|
|
72
|
+
return (0, key_1.parseMetaInput)(newS);
|
|
62
73
|
}
|
|
63
74
|
overwrite(a, b) {
|
|
64
75
|
if (a === undefined) {
|
|
65
76
|
return this;
|
|
66
77
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
78
|
+
const fromPair = _pairToMap([a, b]);
|
|
79
|
+
for (const [k, v] of fromPair.entries()) {
|
|
80
|
+
this._dict.set(k, v);
|
|
81
|
+
}
|
|
82
|
+
return this;
|
|
71
83
|
}
|
|
72
84
|
has(key) {
|
|
73
85
|
const parsed = (0, key_1.parseKey)(key);
|
|
74
86
|
if (parsed instanceof repr_1.ValueKey) {
|
|
75
|
-
return this._dict.has(
|
|
87
|
+
return this._dict.has(key);
|
|
76
88
|
}
|
|
77
89
|
else {
|
|
78
90
|
return this._matchSectionKeys(parsed).size > 0;
|
|
@@ -80,7 +92,7 @@ var Meta;
|
|
|
80
92
|
}
|
|
81
93
|
get(key) {
|
|
82
94
|
const parsed = (0, key_1.parseKey)(key);
|
|
83
|
-
const v = this._dict.get(
|
|
95
|
+
const v = this._dict.get(key);
|
|
84
96
|
if (v === undefined) {
|
|
85
97
|
throw new error_1.MetadataError(`Key ${key} not found!`, { key });
|
|
86
98
|
}
|
|
@@ -91,32 +103,43 @@ var Meta;
|
|
|
91
103
|
if (!(parsed instanceof repr_1.ValueKey)) {
|
|
92
104
|
throw new error_1.MetadataError("Unexpected section key!", { key });
|
|
93
105
|
}
|
|
94
|
-
return this._dict.get(
|
|
106
|
+
return this._dict.get(key) ?? fallback;
|
|
95
107
|
}
|
|
96
108
|
_matchSectionKeys(key) {
|
|
97
|
-
return
|
|
109
|
+
return (0, doddle_1.seq)(this)
|
|
110
|
+
.filter(([k, v]) => k.parent?.equals(key) ?? false)
|
|
111
|
+
.toMap(x => [x[0].str, x[1]])
|
|
112
|
+
.pull();
|
|
98
113
|
}
|
|
99
114
|
pick(...keySpecs) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
const parsed = keySpecs.map(key_1.parseKey);
|
|
116
|
+
const keyStrSet = new Set();
|
|
117
|
+
for (const key of parsed) {
|
|
118
|
+
if (key instanceof repr_1.ValueKey) {
|
|
119
|
+
keyStrSet.add(key.str);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const sectionKeys = this._matchSectionKeys(key);
|
|
123
|
+
for (const k of sectionKeys.keys()) {
|
|
124
|
+
keyStrSet.add(k);
|
|
110
125
|
}
|
|
111
126
|
}
|
|
112
|
-
|
|
113
|
-
|
|
127
|
+
}
|
|
128
|
+
const out = new Map();
|
|
129
|
+
for (const [k, v] of this._dict.entries()) {
|
|
130
|
+
if (keyStrSet.has(k))
|
|
131
|
+
out.set(k, v);
|
|
132
|
+
}
|
|
133
|
+
return this._create(out);
|
|
114
134
|
}
|
|
115
135
|
_prefixed(prefix) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
136
|
+
const out = {};
|
|
137
|
+
for (const [k, v] of this) {
|
|
138
|
+
if (k._prefix === prefix) {
|
|
139
|
+
out[k.suffix] = v;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return (0, order_meta_keyed_object_1.orderMetaKeyedObject)(out);
|
|
120
143
|
}
|
|
121
144
|
get labels() {
|
|
122
145
|
return this._prefixed("%");
|
|
@@ -128,21 +151,38 @@ var Meta;
|
|
|
128
151
|
return this._prefixed("#");
|
|
129
152
|
}
|
|
130
153
|
get values() {
|
|
131
|
-
return this._dict
|
|
154
|
+
return (0, util_1.toJS)(this._dict);
|
|
155
|
+
}
|
|
156
|
+
get keys() {
|
|
157
|
+
return (0, doddle_1.seq)(this)
|
|
158
|
+
.map(([k, v]) => k)
|
|
159
|
+
.toArray()
|
|
160
|
+
.pull();
|
|
132
161
|
}
|
|
133
162
|
get core() {
|
|
134
163
|
return this._prefixed("");
|
|
135
164
|
}
|
|
136
165
|
remove(a, b) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
166
|
+
const parsed = (0, key_1.parseKey)(a);
|
|
167
|
+
if (parsed instanceof repr_1.ValueKey) {
|
|
168
|
+
this._dict.delete(parsed.str);
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
if (b !== undefined) {
|
|
172
|
+
// remove specific key from section
|
|
173
|
+
for (const k of this.keys) {
|
|
174
|
+
if (k.parent?.equals(parsed) && k.suffix === b) {
|
|
175
|
+
this._dict.delete(k.str);
|
|
176
|
+
}
|
|
144
177
|
}
|
|
145
|
-
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
// remove entire section
|
|
181
|
+
for (const k of this.keys) {
|
|
182
|
+
if (k.parent?.equals(parsed))
|
|
183
|
+
this._dict.delete(k.str);
|
|
184
|
+
}
|
|
185
|
+
return this;
|
|
146
186
|
}
|
|
147
187
|
expand() {
|
|
148
188
|
const labels = this.labels;
|
|
@@ -154,9 +194,6 @@ var Meta;
|
|
|
154
194
|
annotations
|
|
155
195
|
};
|
|
156
196
|
}
|
|
157
|
-
toMutable() {
|
|
158
|
-
return new MutableMeta(this);
|
|
159
|
-
}
|
|
160
197
|
}
|
|
161
198
|
Meta_1.Meta = Meta;
|
|
162
199
|
function make(a, b) {
|
|
@@ -164,10 +201,8 @@ var Meta;
|
|
|
164
201
|
}
|
|
165
202
|
Meta_1.make = make;
|
|
166
203
|
function _pairToObject(pair) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return (0, immutable_1.Map)(key);
|
|
170
|
-
}
|
|
204
|
+
let [key, value] = pair;
|
|
205
|
+
key = key instanceof repr_1.ValueKey ? key.str : key;
|
|
171
206
|
if (typeof key === "string") {
|
|
172
207
|
return {
|
|
173
208
|
[key]: value
|
|
@@ -176,12 +211,8 @@ var Meta;
|
|
|
176
211
|
return key;
|
|
177
212
|
}
|
|
178
213
|
function _pairToMap(pair) {
|
|
179
|
-
return (0, key_1.parseMetaInput)(_pairToObject(pair))
|
|
214
|
+
return (0, key_1.parseMetaInput)(_pairToObject(pair));
|
|
180
215
|
}
|
|
181
|
-
function makeMutable(input = {}) {
|
|
182
|
-
return make(input).toMutable();
|
|
183
|
-
}
|
|
184
|
-
Meta_1.makeMutable = makeMutable;
|
|
185
216
|
function splat(...input) {
|
|
186
217
|
return input.map(make).reduce((acc, meta) => acc.add(meta), make());
|
|
187
218
|
}
|
|
@@ -190,59 +221,15 @@ var Meta;
|
|
|
190
221
|
return value instanceof Meta;
|
|
191
222
|
}
|
|
192
223
|
Meta_1.is = is;
|
|
193
|
-
class MutableMeta {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
remove(a, b) {
|
|
203
|
-
this._meta = this._meta.remove(a, b);
|
|
204
|
-
return this;
|
|
205
|
-
}
|
|
206
|
-
overwrite(a, b) {
|
|
207
|
-
this._meta = this._meta.overwrite(a, b);
|
|
208
|
-
return this;
|
|
209
|
-
}
|
|
210
|
-
equals(other) {
|
|
211
|
-
return this._meta.equals(other);
|
|
212
|
-
}
|
|
213
|
-
get(key) {
|
|
214
|
-
return this._meta.get(key);
|
|
215
|
-
}
|
|
216
|
-
tryGet(key, fallback) {
|
|
217
|
-
return this._meta.tryGet(key, fallback);
|
|
218
|
-
}
|
|
219
|
-
has(key) {
|
|
220
|
-
return this._meta.has(key);
|
|
221
|
-
}
|
|
222
|
-
pick(...keySpecs) {
|
|
223
|
-
const newMeta = this._meta.pick(...keySpecs);
|
|
224
|
-
return new MutableMeta(newMeta);
|
|
225
|
-
}
|
|
226
|
-
toMutable() {
|
|
227
|
-
return new MutableMeta(this._meta);
|
|
228
|
-
}
|
|
229
|
-
section(key) {
|
|
230
|
-
return new MutableMeta(this._meta.section(key));
|
|
231
|
-
}
|
|
232
|
-
get labels() {
|
|
233
|
-
return this._meta.labels;
|
|
234
|
-
}
|
|
235
|
-
get annotations() {
|
|
236
|
-
return this._meta.annotations;
|
|
237
|
-
}
|
|
238
|
-
get comments() {
|
|
239
|
-
return this._meta.comments;
|
|
240
|
-
}
|
|
241
|
-
get core() {
|
|
242
|
-
return this._meta.core;
|
|
243
|
-
}
|
|
244
|
-
toImmutable() {
|
|
245
|
-
return this._meta;
|
|
224
|
+
class MutableMeta extends Meta {
|
|
225
|
+
// MutableMeta is now just a direct extension of Meta so callers
|
|
226
|
+
// that expect MutableMeta keep working. The class body is empty
|
|
227
|
+
// because all mutation behavior lives on `Meta` itself.
|
|
228
|
+
constructor(...args) {
|
|
229
|
+
// Construct as a Meta instance. `Meta` constructor signature
|
|
230
|
+
// expects a Map<ValueKey, string> which callers provide when
|
|
231
|
+
// creating mutable instances.
|
|
232
|
+
super(args[0]);
|
|
246
233
|
}
|
|
247
234
|
}
|
|
248
235
|
Meta_1.MutableMeta = MutableMeta;
|
package/dist/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-meta-keyed-object.d.ts","sourceRoot":"","sources":["../src/order-meta-keyed-object.ts"],"names":[],"mappings":"AAeA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAIvF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.orderMetaKeyedObject = orderMetaKeyedObject;
|
|
4
|
+
const doddle_1 = require("doddle");
|
|
5
|
+
function comparisonKey(key) {
|
|
6
|
+
const bySlash = key.split("/");
|
|
7
|
+
if (bySlash.length === 1) {
|
|
8
|
+
return key;
|
|
9
|
+
}
|
|
10
|
+
if (bySlash.length > 2) {
|
|
11
|
+
throw new Error(`Invalid composed key ${key}, too many '/' characters.`);
|
|
12
|
+
}
|
|
13
|
+
const [dns, name] = bySlash;
|
|
14
|
+
const dnsParts = dns.split(".").reverse();
|
|
15
|
+
return [...dnsParts, name].join("\uffff");
|
|
16
|
+
}
|
|
17
|
+
function orderMetaKeyedObject(input) {
|
|
18
|
+
const entries = (0, doddle_1.seq)(Object.entries(input)).orderBy(([key]) => comparisonKey(key));
|
|
19
|
+
return Object.fromEntries(entries);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=order-meta-keyed-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-meta-keyed-object.js","sourceRoot":"","sources":["../src/order-meta-keyed-object.ts"],"names":[],"mappings":";;AAeA,oDAIC;AAnBD,mCAA4B;AAE5B,SAAS,aAAa,CAAC,GAAW;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAA;IACd,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,4BAA4B,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,OAAO,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IACzC,OAAO,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAA6B;IAC9D,MAAM,OAAO,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IAEjF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC"}
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare function mergeWith<K1, K2, V1, V2, V3>(map1: Map<K1, V1>, map2: Map<K2, V2>, merger: (val1: V1, val2: V2, key: K1 | K2) => V3): Map<K1 | K2, V1 | V2 | V3>;
|
|
2
|
+
export declare function merge<K1, K2, V1, V2>(map1: Map<K1, V1>, map2: Map<K2, V2>): Map<K1 | K2, V1 | V2>;
|
|
3
|
+
export declare function filterMap<K, V>(map: Map<K, V>, pred: (v: V, k: K) => boolean): Map<K, V>;
|
|
4
|
+
export declare function mapKeys<K, V, NK>(map: Map<K, V>, fn: (k: K) => NK): Map<NK, V>;
|
|
5
|
+
export declare function mapValues<K, V, NV>(map: Map<K, V>, fn: (v: V, k: K) => NV): Map<K, NV>;
|
|
6
|
+
export declare function toObject<K, V>(map: Map<K, V>): {
|
|
7
|
+
[k: string]: V;
|
|
8
|
+
};
|
|
9
|
+
export declare function toJS<K, V>(map: Map<K, V>): {
|
|
10
|
+
[k: string]: V;
|
|
11
|
+
};
|
|
12
|
+
export declare function equalsMap<K, V>(a: Map<K, V>, b: Map<K, V>): boolean;
|
|
13
|
+
export declare function mapFromObject<V>(obj: {
|
|
14
|
+
[k: string]: V;
|
|
15
|
+
}): Map<string, V>;
|
|
16
|
+
export declare function mapToObject<V>(map: Map<string, V>): {
|
|
17
|
+
[k: string]: V;
|
|
18
|
+
};
|
|
19
|
+
export type SourcedPropertyDescriptor = PropertyDescriptor & {
|
|
20
|
+
source: object;
|
|
21
|
+
};
|
|
22
|
+
export declare function getDeepPropertyDescriptor(obj: any, propertyKey: string | symbol): SourcedPropertyDescriptor | undefined;
|
|
23
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACxC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EACjB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EACjB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GACjD,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAa5B;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAEjG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAMxF;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAM9E;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAMtF;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,CAOjE;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,CAE7D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAgBnE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAMxE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,CAMtE;AAED,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AACD,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,GAAG,MAAM,GAC7B,yBAAyB,GAAG,SAAS,CAavC"}
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeWith = mergeWith;
|
|
4
|
+
exports.merge = merge;
|
|
5
|
+
exports.filterMap = filterMap;
|
|
6
|
+
exports.mapKeys = mapKeys;
|
|
7
|
+
exports.mapValues = mapValues;
|
|
8
|
+
exports.toObject = toObject;
|
|
9
|
+
exports.toJS = toJS;
|
|
10
|
+
exports.equalsMap = equalsMap;
|
|
11
|
+
exports.mapFromObject = mapFromObject;
|
|
12
|
+
exports.mapToObject = mapToObject;
|
|
13
|
+
exports.getDeepPropertyDescriptor = getDeepPropertyDescriptor;
|
|
14
|
+
function mergeWith(map1, map2, merger) {
|
|
15
|
+
const result = new Map(map1);
|
|
16
|
+
const allKeys = new Set([...map1.keys(), ...map2.keys()]);
|
|
17
|
+
for (const k of allKeys) {
|
|
18
|
+
const val1 = map1.get(k);
|
|
19
|
+
const val2 = map2.get(k);
|
|
20
|
+
if (val1 !== undefined && val2 !== undefined) {
|
|
21
|
+
result.set(k, merger(val1, val2, k));
|
|
22
|
+
}
|
|
23
|
+
else if (val2 !== undefined) {
|
|
24
|
+
result.set(k, val2);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
function merge(map1, map2) {
|
|
30
|
+
return mergeWith(map1, map2, (_old, _new) => _new);
|
|
31
|
+
}
|
|
32
|
+
function filterMap(map, pred) {
|
|
33
|
+
const out = new Map();
|
|
34
|
+
for (const [k, v] of map.entries()) {
|
|
35
|
+
if (pred(v, k))
|
|
36
|
+
out.set(k, v);
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
function mapKeys(map, fn) {
|
|
41
|
+
const out = new Map();
|
|
42
|
+
for (const [k, v] of map.entries()) {
|
|
43
|
+
out.set(fn(k), v);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
function mapValues(map, fn) {
|
|
48
|
+
const out = new Map();
|
|
49
|
+
for (const [k, v] of map.entries()) {
|
|
50
|
+
out.set(k, fn(v, k));
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
function toObject(map) {
|
|
55
|
+
const out = {};
|
|
56
|
+
for (const [k, v] of map.entries()) {
|
|
57
|
+
const key = k?.str ?? String(k);
|
|
58
|
+
out[key] = v;
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
function toJS(map) {
|
|
63
|
+
return toObject(map);
|
|
64
|
+
}
|
|
65
|
+
function equalsMap(a, b) {
|
|
66
|
+
if (a.size !== b.size)
|
|
67
|
+
return false;
|
|
68
|
+
for (const [ka, va] of a.entries()) {
|
|
69
|
+
let found = false;
|
|
70
|
+
for (const [kb, vb] of b.entries()) {
|
|
71
|
+
const sa = ka?.str ?? ka;
|
|
72
|
+
const sb = kb?.str ?? kb;
|
|
73
|
+
if (sa === sb) {
|
|
74
|
+
found = true;
|
|
75
|
+
if (va !== vb)
|
|
76
|
+
return false;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (!found)
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
function mapFromObject(obj) {
|
|
86
|
+
const map = new Map();
|
|
87
|
+
for (const k of Object.keys(obj)) {
|
|
88
|
+
map.set(k, obj[k]);
|
|
89
|
+
}
|
|
90
|
+
return map;
|
|
91
|
+
}
|
|
92
|
+
function mapToObject(map) {
|
|
93
|
+
const obj = {};
|
|
94
|
+
for (const [k, v] of map.entries()) {
|
|
95
|
+
obj[k] = v;
|
|
96
|
+
}
|
|
97
|
+
return obj;
|
|
98
|
+
}
|
|
99
|
+
function getDeepPropertyDescriptor(obj, propertyKey) {
|
|
100
|
+
let current = obj;
|
|
101
|
+
while (current) {
|
|
102
|
+
const descriptor = Object.getOwnPropertyDescriptor(current, propertyKey);
|
|
103
|
+
if (descriptor) {
|
|
104
|
+
return {
|
|
105
|
+
...descriptor,
|
|
106
|
+
source: current
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
current = Object.getPrototypeOf(current);
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@k8ts/metadata",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "K8ts tools for working with k8ts metadata.",
|
|
5
5
|
"keywords": [
|
|
6
|
+
"k8ts",
|
|
6
7
|
"kubernetes",
|
|
7
8
|
"typescript",
|
|
8
9
|
"manifests",
|
|
9
|
-
"
|
|
10
|
-
"helm",
|
|
11
|
-
"cdk8s"
|
|
10
|
+
"metadata"
|
|
12
11
|
],
|
|
13
12
|
"bugs": {
|
|
14
13
|
"url": "https://github.com/GregRos/k8ts/issues"
|
|
@@ -33,6 +32,12 @@
|
|
|
33
32
|
"import": "./dist/index.js",
|
|
34
33
|
"default": "./dist/index.js",
|
|
35
34
|
"types": "./dist/index.d.ts"
|
|
35
|
+
},
|
|
36
|
+
"./util": {
|
|
37
|
+
"require": "./dist/util.js",
|
|
38
|
+
"import": "./dist/util.js",
|
|
39
|
+
"default": "./dist/util.js",
|
|
40
|
+
"types": "./dist/util.d.ts"
|
|
36
41
|
}
|
|
37
42
|
},
|
|
38
43
|
"main": "dist/index.js",
|
|
@@ -40,6 +45,9 @@
|
|
|
40
45
|
"*": {
|
|
41
46
|
".": [
|
|
42
47
|
"./dist/index.d.ts"
|
|
48
|
+
],
|
|
49
|
+
"./util": [
|
|
50
|
+
"./dist/util/index.d.ts"
|
|
43
51
|
]
|
|
44
52
|
}
|
|
45
53
|
},
|
|
@@ -62,29 +70,22 @@
|
|
|
62
70
|
"test:coverage": "jest --coverage"
|
|
63
71
|
},
|
|
64
72
|
"dependencies": {
|
|
65
|
-
"doddle": "^
|
|
66
|
-
"immutable": "^5.0.3",
|
|
67
|
-
"ip-address": "^10.0.1",
|
|
68
|
-
"lodash": "^4.17.21",
|
|
73
|
+
"doddle": "^7.2.0",
|
|
69
74
|
"parjs": "^1.3.9",
|
|
70
75
|
"what-are-you": "^0.1.12"
|
|
71
76
|
},
|
|
72
77
|
"devDependencies": {
|
|
73
|
-
"@
|
|
74
|
-
"@swc/jest": "^0.2.37",
|
|
75
|
-
"@types/jest": "^29.5.12",
|
|
76
|
-
"@types/lodash": "^4.17.16",
|
|
78
|
+
"@types/jest": "^30.0.0",
|
|
77
79
|
"@types/node": "20.9.1",
|
|
78
80
|
"declare-it": "^2.1.0",
|
|
79
|
-
"jest": "^
|
|
81
|
+
"jest": "^30.2.0",
|
|
80
82
|
"npm-run-all": "^4.1.5",
|
|
81
83
|
"shx": "^0.3.4",
|
|
82
|
-
"ts-jest": "^29.
|
|
84
|
+
"ts-jest": "^29.4.6",
|
|
83
85
|
"ts-node": "^10.9.2",
|
|
84
86
|
"typescript": "^5.8.2",
|
|
85
87
|
"yamprint": "^0.8.4"
|
|
86
88
|
},
|
|
87
|
-
"packageManager": "yarn@4.1.1",
|
|
88
89
|
"engines": {
|
|
89
90
|
"node": ">=16.0.0"
|
|
90
91
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { InputMeta } from "./input/dict-input"
|
|
2
|
-
export { Meta, MutableMeta } from "./meta"
|
|
1
|
+
export type { InputMeta } from "./input/dict-input"
|
|
2
|
+
export { Meta, type MetaLike, type MutableMeta } from "./meta"
|