@k8ts/metadata 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.md +7 -0
- package/README.md +3 -0
- package/dist/error.d.ts +5 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +12 -0
- package/dist/error.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/input/dict-input.d.ts +12 -0
- package/dist/input/dict-input.d.ts.map +1 -0
- package/dist/input/dict-input.js +3 -0
- package/dist/input/dict-input.js.map +1 -0
- package/dist/input/parse-dict.d.ts +5 -0
- package/dist/input/parse-dict.d.ts.map +1 -0
- package/dist/input/parse-dict.js +48 -0
- package/dist/input/parse-dict.js.map +1 -0
- package/dist/key/convert.d.ts +6 -0
- package/dist/key/convert.d.ts.map +1 -0
- package/dist/key/convert.js +7 -0
- package/dist/key/convert.js.map +1 -0
- package/dist/key/index.d.ts +4 -0
- package/dist/key/index.d.ts.map +1 -0
- package/dist/key/index.js +11 -0
- package/dist/key/index.js.map +1 -0
- package/dist/key/parse-key.d.ts +5 -0
- package/dist/key/parse-key.d.ts.map +1 -0
- package/dist/key/parse-key.js +45 -0
- package/dist/key/parse-key.js.map +1 -0
- package/dist/key/repr.d.ts +30 -0
- package/dist/key/repr.d.ts.map +1 -0
- package/dist/key/repr.js +64 -0
- package/dist/key/repr.js.map +1 -0
- package/dist/key/types.d.ts +23 -0
- package/dist/key/types.d.ts.map +1 -0
- package/dist/key/types.js +8 -0
- package/dist/key/types.js.map +1 -0
- package/dist/meta.d.ts +101 -0
- package/dist/meta.d.ts.map +1 -0
- package/dist/meta.js +230 -0
- package/dist/meta.js.map +1 -0
- package/dist/mutable-meta.d.ts +1 -0
- package/dist/mutable-meta.d.ts.map +1 -0
- package/dist/mutable-meta.js +2 -0
- package/dist/mutable-meta.js.map +1 -0
- package/dist/src.tsbuildinfo +1 -0
- package/dist/test.tsbuildinfo +1 -0
- package/package.json +88 -0
- package/src/error.ts +7 -0
- package/src/index.ts +2 -0
- package/src/input/dict-input.ts +12 -0
- package/src/input/parse-dict.ts +45 -0
- package/src/key/convert.ts +6 -0
- package/src/key/index.ts +4 -0
- package/src/key/parse-key.ts +58 -0
- package/src/key/repr.ts +72 -0
- package/src/key/types.ts +27 -0
- package/src/meta.ts +275 -0
- package/src/mutable-meta.ts +0 -0
- package/src/tsconfig.json +10 -0
- package/tsconfig.json +15 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright 2025 GregRos
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
package/dist/error.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IAC3B,IAAI,SAAkB;gBACnB,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAI/D"}
|
package/dist/error.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetadataError = void 0;
|
|
4
|
+
class MetadataError extends Error {
|
|
5
|
+
constructor(message, extra = {}) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = "MetadataError";
|
|
8
|
+
Object.assign(this, extra);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.MetadataError = MetadataError;
|
|
12
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IAEpC,YAAY,OAAe,EAAE,QAA6B,EAAE;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QAFT,SAAI,GAAG,eAAe,CAAA;QAG3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AAND,sCAMC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Meta = void 0;
|
|
4
|
+
var meta_1 = require("./meta");
|
|
5
|
+
Object.defineProperty(exports, "Meta", { enumerable: true, get: function () { return meta_1.Meta; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAAjC,4FAAA,IAAI,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Key } from "../key/types";
|
|
2
|
+
import type { Meta, MutableMeta } from "../meta";
|
|
3
|
+
export declare namespace MetaInputParts {
|
|
4
|
+
type Of<T extends string, V> = Partial<Record<T, V>>;
|
|
5
|
+
type Full = Nested & Of<Key.Section, Nested>;
|
|
6
|
+
export type Nested = Of<Key.Value, string>;
|
|
7
|
+
export type Heading = Of<Key.Section, Nested>;
|
|
8
|
+
export type Input = Full & Heading;
|
|
9
|
+
export {};
|
|
10
|
+
}
|
|
11
|
+
export type InputMeta = MetaInputParts.Input | Meta | undefined | MutableMeta;
|
|
12
|
+
//# sourceMappingURL=dict-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dict-input.d.ts","sourceRoot":"","sources":["../../src/input/dict-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEhD,yBAAiB,cAAc,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7C,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,CAAA;;CACrC;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dict-input.js","sourceRoot":"","sources":["../../src/input/dict-input.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-dict.d.ts","sourceRoot":"","sources":["../../src/input/parse-dict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAsCtE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMetaInput = parseMetaInput;
|
|
4
|
+
const immutable_1 = require("immutable");
|
|
5
|
+
const parse_key_1 = require("../key/parse-key");
|
|
6
|
+
const repr_1 = require("../key/repr");
|
|
7
|
+
const meta_1 = require("../meta");
|
|
8
|
+
function parseMetaInput(input) {
|
|
9
|
+
if (input == null) {
|
|
10
|
+
return (0, immutable_1.Map)();
|
|
11
|
+
}
|
|
12
|
+
if (immutable_1.Map.isMap(input)) {
|
|
13
|
+
return input;
|
|
14
|
+
}
|
|
15
|
+
if (input instanceof meta_1.Meta.Meta) {
|
|
16
|
+
return input["_dict"];
|
|
17
|
+
}
|
|
18
|
+
if (input instanceof meta_1.Meta.MutableMeta) {
|
|
19
|
+
return input["_meta"]["_dict"];
|
|
20
|
+
}
|
|
21
|
+
let map = (0, immutable_1.Map)();
|
|
22
|
+
for (const [key, value] of Object.entries(input)) {
|
|
23
|
+
const outer = (0, parse_key_1.parseOuterKey)(key);
|
|
24
|
+
if (value == null) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (outer instanceof repr_1.SectionKey) {
|
|
28
|
+
if (typeof value !== "object") {
|
|
29
|
+
throw new Error(`Expected object for section key ${key}`);
|
|
30
|
+
}
|
|
31
|
+
for (const [kk, vv] of Object.entries(value)) {
|
|
32
|
+
const inner = (0, parse_key_1.parseInnerKey)(kk);
|
|
33
|
+
if (typeof vv !== "string") {
|
|
34
|
+
throw new Error(`Expected string value for inner key ${kk}`);
|
|
35
|
+
}
|
|
36
|
+
map = map.set(inner.section(outer), vv);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (typeof value !== "string") {
|
|
41
|
+
throw new Error(`Expected string value for key ${key}`);
|
|
42
|
+
}
|
|
43
|
+
map = map.set(outer, value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return map;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=parse-dict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-dict.js","sourceRoot":"","sources":["../../src/input/parse-dict.ts"],"names":[],"mappings":";;AAMA,wCAsCC;AA5CD,yCAA+B;AAC/B,gDAA+D;AAC/D,sCAAkD;AAClD,kCAA8B;AAG9B,SAAgB,cAAc,CAAC,KAAgB;IAC3C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,IAAA,eAAG,GAAE,CAAA;IAChB,CAAC;IACD,IAAI,eAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAA8B,CAAA;IACzC,CAAC;IACD,IAAI,KAAK,YAAY,WAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;IACD,IAAI,KAAK,YAAY,WAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,GAAG,GAAG,IAAA,eAAG,GAAoB,CAAA;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,GAAG,CAAC,CAAA;QAChC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,SAAQ;QACZ,CAAC;QACD,IAAI,KAAK,YAAY,iBAAU,EAAE,CAAC;YAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,EAAE,CAAC,CAAA;gBAC/B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAA;gBAChE,CAAC;gBACD,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAY,CAAC,CAAA;YACrD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;YAC3D,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAe,CAAC,CAAA;QACzC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/key/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;;EAEtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/key/convert.ts"],"names":[],"mappings":";;AAGA,oCAEC;AAFD,SAAgB,YAAY,CAAC,GAA0B;IACnD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/key/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseKey = exports.parseMetaInput = exports.ValueKey = exports.SectionKey = void 0;
|
|
4
|
+
var repr_1 = require("./repr");
|
|
5
|
+
Object.defineProperty(exports, "SectionKey", { enumerable: true, get: function () { return repr_1.SectionKey; } });
|
|
6
|
+
Object.defineProperty(exports, "ValueKey", { enumerable: true, get: function () { return repr_1.ValueKey; } });
|
|
7
|
+
var parse_dict_1 = require("../input/parse-dict");
|
|
8
|
+
Object.defineProperty(exports, "parseMetaInput", { enumerable: true, get: function () { return parse_dict_1.parseMetaInput; } });
|
|
9
|
+
var parse_key_1 = require("./parse-key");
|
|
10
|
+
Object.defineProperty(exports, "parseKey", { enumerable: true, get: function () { return parse_key_1.parseOuterKey; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/key/index.ts"],"names":[],"mappings":";;;AAAA,+BAA6C;AAApC,kGAAA,UAAU,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAE7B,kDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,yCAAuD;AAA9C,qGAAA,aAAa,OAAY"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SectionKey, ValueKey } from "./repr";
|
|
2
|
+
export declare function parseSectionKey(key: string): SectionKey;
|
|
3
|
+
export declare function parseInnerKey(key: string): ValueKey;
|
|
4
|
+
export declare function parseOuterKey(key: string): ValueKey | SectionKey;
|
|
5
|
+
//# sourceMappingURL=parse-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-key.d.ts","sourceRoot":"","sources":["../../src/key/parse-key.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAsC7C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,cAE1C;AACD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,YAExC;AACD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,yBASxC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseSectionKey = parseSectionKey;
|
|
4
|
+
exports.parseInnerKey = parseInnerKey;
|
|
5
|
+
exports.parseOuterKey = parseOuterKey;
|
|
6
|
+
const parjs_1 = require("parjs");
|
|
7
|
+
const combinators_1 = require("parjs/combinators");
|
|
8
|
+
const error_1 = require("../error");
|
|
9
|
+
const repr_1 = require("./repr");
|
|
10
|
+
const cPrefix = (0, parjs_1.anyCharOf)("%^#");
|
|
11
|
+
const cSection = (0, parjs_1.string)("/");
|
|
12
|
+
const cExtra = (0, parjs_1.anyCharOf)("-_.");
|
|
13
|
+
const cInterior = (0, parjs_1.upper)().pipe((0, combinators_1.or)((0, parjs_1.lower)(), (0, parjs_1.digit)(), cExtra));
|
|
14
|
+
const pSpecialKey = (0, parjs_1.anyStringOf)("namespace", "name").pipe((0, combinators_1.map)(key => {
|
|
15
|
+
return new repr_1.ValueKey("", "", key);
|
|
16
|
+
}));
|
|
17
|
+
const pCleanKey = cInterior.pipe((0, combinators_1.many1)(), (0, combinators_1.stringify)());
|
|
18
|
+
const pSectionKey = pCleanKey.pipe((0, combinators_1.thenq)(cSection), (0, combinators_1.map)(x => new repr_1.SectionKey(x)));
|
|
19
|
+
const pInnerKey = cPrefix.pipe((0, combinators_1.then)(pCleanKey), (0, combinators_1.map)(([prefix, name]) => {
|
|
20
|
+
return new repr_1.ValueKey(prefix, "", name);
|
|
21
|
+
}));
|
|
22
|
+
const pKey = cPrefix.pipe((0, combinators_1.then)(pCleanKey, cSection.pipe((0, combinators_1.qthen)(pCleanKey), (0, combinators_1.stringify)(), (0, combinators_1.maybe)())), (0, combinators_1.map)(([prefix, nameOrSection, name]) => {
|
|
23
|
+
if (name) {
|
|
24
|
+
return new repr_1.ValueKey(prefix, nameOrSection, name);
|
|
25
|
+
}
|
|
26
|
+
return new repr_1.ValueKey(prefix, "", nameOrSection);
|
|
27
|
+
}), (0, combinators_1.or)(pSpecialKey));
|
|
28
|
+
const pOuterKey = pKey.pipe((0, combinators_1.or)(pSectionKey));
|
|
29
|
+
function parseSectionKey(key) {
|
|
30
|
+
return pSectionKey.parse(key).value;
|
|
31
|
+
}
|
|
32
|
+
function parseInnerKey(key) {
|
|
33
|
+
return pInnerKey.parse(key).value;
|
|
34
|
+
}
|
|
35
|
+
function parseOuterKey(key) {
|
|
36
|
+
const result = pOuterKey.parse(key);
|
|
37
|
+
if (result.kind === "OK") {
|
|
38
|
+
return result.value;
|
|
39
|
+
}
|
|
40
|
+
throw new error_1.MetadataError(`Failed to parse key ${key}: ${result.toString()}`, {
|
|
41
|
+
key,
|
|
42
|
+
error: result.toString()
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=parse-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-key.js","sourceRoot":"","sources":["../../src/key/parse-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface ImmObject {
|
|
2
|
+
equals(other: ImmObject): boolean;
|
|
3
|
+
hashCode(): number;
|
|
4
|
+
}
|
|
5
|
+
declare abstract class KeyType implements ImmObject {
|
|
6
|
+
abstract get str(): string;
|
|
7
|
+
equals(other: ImmObject): boolean;
|
|
8
|
+
hashCode(): number;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
11
|
+
export declare class ValueKey extends KeyType {
|
|
12
|
+
readonly _prefix: string;
|
|
13
|
+
readonly _section: string | undefined;
|
|
14
|
+
readonly _name: string;
|
|
15
|
+
type: "full";
|
|
16
|
+
constructor(_prefix: string, _section: string | undefined, _name: string);
|
|
17
|
+
get suffix(): string;
|
|
18
|
+
get str(): string;
|
|
19
|
+
get parent(): SectionKey | null;
|
|
20
|
+
section(section: string | SectionKey): ValueKey;
|
|
21
|
+
}
|
|
22
|
+
export declare class SectionKey extends KeyType {
|
|
23
|
+
readonly _section: string;
|
|
24
|
+
type: "heading";
|
|
25
|
+
constructor(_section: string);
|
|
26
|
+
get str(): string;
|
|
27
|
+
}
|
|
28
|
+
export type SomeKey = ValueKey | SectionKey;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=repr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repr.d.ts","sourceRoot":"","sources":["../../src/key/repr.ts"],"names":[],"mappings":"AACA,UAAU,SAAS;IACf,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAA;IACjC,QAAQ,IAAI,MAAM,CAAA;CACrB;AACD,uBAAe,OAAQ,YAAW,SAAS;IACvC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAC1B,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAGjC,QAAQ,IAAI,MAAM;IAGlB,QAAQ;CAGX;AAED,qBAAa,QAAS,SAAQ,OAAO;IAG7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJ1B,IAAI,EAAG,MAAM,CAAS;gBAET,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM;IAK1B,IAAI,MAAM,WAUT;IAED,IAAI,GAAG,WAEN;IAED,IAAI,MAAM,sBAKT;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;CAOvC;AAED,qBAAa,UAAW,SAAQ,OAAO;IAEvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IADrC,IAAI,EAAG,SAAS,CAAS;gBACJ,QAAQ,EAAE,MAAM;IAIrC,IAAI,GAAG,WAEN;CACJ;AAED,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA"}
|
package/dist/key/repr.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SectionKey = exports.ValueKey = void 0;
|
|
4
|
+
const immutable_1 = require("immutable");
|
|
5
|
+
class KeyType {
|
|
6
|
+
equals(other) {
|
|
7
|
+
return this.constructor === other.constructor && this.toString() === other.toString();
|
|
8
|
+
}
|
|
9
|
+
hashCode() {
|
|
10
|
+
return (0, immutable_1.hash)(this.toString());
|
|
11
|
+
}
|
|
12
|
+
toString() {
|
|
13
|
+
return this.str;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
class ValueKey extends KeyType {
|
|
17
|
+
constructor(_prefix, _section, _name) {
|
|
18
|
+
super();
|
|
19
|
+
this._prefix = _prefix;
|
|
20
|
+
this._section = _section;
|
|
21
|
+
this._name = _name;
|
|
22
|
+
this.type = "full";
|
|
23
|
+
}
|
|
24
|
+
get suffix() {
|
|
25
|
+
const parts = [];
|
|
26
|
+
if (this._section) {
|
|
27
|
+
parts.push(this._section);
|
|
28
|
+
if (!this._section.endsWith("/")) {
|
|
29
|
+
parts.push("/");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
parts.push(this._name);
|
|
33
|
+
return parts.join("");
|
|
34
|
+
}
|
|
35
|
+
get str() {
|
|
36
|
+
return [this._prefix, this.suffix].join("");
|
|
37
|
+
}
|
|
38
|
+
get parent() {
|
|
39
|
+
if (this._section == null) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return new SectionKey(this._section);
|
|
43
|
+
}
|
|
44
|
+
section(section) {
|
|
45
|
+
section = section instanceof SectionKey ? section.str : section;
|
|
46
|
+
if (this._section) {
|
|
47
|
+
throw new Error("Already has a section");
|
|
48
|
+
}
|
|
49
|
+
return new ValueKey(this._prefix, section, this._name);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.ValueKey = ValueKey;
|
|
53
|
+
class SectionKey extends KeyType {
|
|
54
|
+
constructor(_section) {
|
|
55
|
+
super();
|
|
56
|
+
this._section = _section;
|
|
57
|
+
this.type = "heading";
|
|
58
|
+
}
|
|
59
|
+
get str() {
|
|
60
|
+
return [this._section].join("");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.SectionKey = SectionKey;
|
|
64
|
+
//# sourceMappingURL=repr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repr.js","sourceRoot":"","sources":["../../src/key/repr.ts"],"names":[],"mappings":";;;AAAA,yCAAgC;AAKhC,MAAe,OAAO;IAElB,MAAM,CAAC,KAAgB;QACnB,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzF,CAAC;IACD,QAAQ;QACJ,OAAO,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;CACJ;AAED,MAAa,QAAS,SAAQ,OAAO;IAEjC,YACa,OAAe,EACf,QAA4B,EAC5B,KAAa;QAEtB,KAAK,EAAE,CAAA;QAJE,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,UAAK,GAAL,KAAK,CAAQ;QAJ1B,SAAI,GAAG,MAAe,CAAA;IAOtB,CAAC;IAED,IAAI,MAAM;QACN,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,IAAI,GAAG;QACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,CAAC,OAA4B;QAChC,OAAO,GAAG,OAAO,YAAY,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;QAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;CACJ;AAxCD,4BAwCC;AAED,MAAa,UAAW,SAAQ,OAAO;IAEnC,YAAqB,QAAgB;QACjC,KAAK,EAAE,CAAA;QADU,aAAQ,GAAR,QAAQ,CAAQ;QADrC,SAAI,GAAG,SAAkB,CAAA;IAGzB,CAAC;IAED,IAAI,GAAG;QACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;CACJ;AATD,gCASC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare namespace Char {
|
|
2
|
+
namespace Prefix {
|
|
3
|
+
type Label = "%";
|
|
4
|
+
type Annotation = "^";
|
|
5
|
+
type Comment = "#";
|
|
6
|
+
type Custom = `${Label | Annotation | Comment}`;
|
|
7
|
+
}
|
|
8
|
+
type Section = "/";
|
|
9
|
+
const Section = "/";
|
|
10
|
+
type Lower = `${"a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"}`;
|
|
11
|
+
type Upper = Uppercase<Lower>;
|
|
12
|
+
type Digit = `${"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"}`;
|
|
13
|
+
type Extra = "-" | "_" | ".";
|
|
14
|
+
type Normal = `${Lower | Digit | Extra | Upper}`;
|
|
15
|
+
}
|
|
16
|
+
export declare namespace Key {
|
|
17
|
+
type Section = `${Char.Normal}${string}${Char.Section}`;
|
|
18
|
+
type Special = "name" | "namespace";
|
|
19
|
+
type Value = `${Char.Prefix.Custom}${string}${Char.Normal}` | Special;
|
|
20
|
+
type Key = Section | Value;
|
|
21
|
+
}
|
|
22
|
+
export type Key = Key.Key;
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/key/types.ts"],"names":[],"mappings":"AAAA,yBAAiB,IAAI,CAAC;IAClB,UAAiB,MAAM,CAAC;QACpB,KAAY,KAAK,GAAG,GAAG,CAAA;QACvB,KAAY,UAAU,GAAG,GAAG,CAAA;QAC5B,KAAY,OAAO,GAAG,GAAG,CAAA;QACzB,KAAY,MAAM,GAAG,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,EAAE,CAAA;KACzD;IAED,KAAY,OAAO,GAAG,GAAG,CAAA;IAClB,MAAM,OAAO,MAAM,CAAA;IAE1B,KAAY,KAAK,GACb,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;IAClK,KAAY,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IACpC,KAAY,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;IAClF,KAAY,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACnC,KAAY,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAA;CAC1D;AAED,yBAAiB,GAAG,CAAC;IACjB,KAAY,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IAC9D,KAAY,OAAO,GAAG,MAAM,GAAG,WAAW,CAAA;IAC1C,KAAY,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAA;IAE5E,KAAY,GAAG,GAAG,OAAO,GAAG,KAAK,CAAA;CACpC;AACD,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/key/types.ts"],"names":[],"mappings":";;;AAAA,IAAiB,IAAI,CAiBpB;AAjBD,WAAiB,IAAI;IASJ,YAAO,GAAG,GAAG,CAAA;AAQ9B,CAAC,EAjBgB,IAAI,oBAAJ,IAAI,QAiBpB"}
|
package/dist/meta.d.ts
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Map } from "immutable";
|
|
2
|
+
import type { InputMeta, MetaInputParts } from "./input/dict-input";
|
|
3
|
+
import { ValueKey } from "./key/repr";
|
|
4
|
+
import { Key as Key_ } from "./key/types";
|
|
5
|
+
export type Meta = Meta.Meta;
|
|
6
|
+
export type MutableMeta = Meta.MutableMeta;
|
|
7
|
+
export declare namespace Meta {
|
|
8
|
+
type Input = InputMeta;
|
|
9
|
+
export import Key = Key_;
|
|
10
|
+
class Meta implements Iterable<[ValueKey, string]> {
|
|
11
|
+
private readonly _dict;
|
|
12
|
+
constructor(_dict: Map<ValueKey, string>);
|
|
13
|
+
[Symbol.iterator](): IterableIterator<[ValueKey, string]>;
|
|
14
|
+
protected _create(raw: Map<ValueKey, string>): Meta;
|
|
15
|
+
private _createWith;
|
|
16
|
+
add(key: Key.Value, value: string): Meta;
|
|
17
|
+
add(key: Key.Section, value: MetaInputParts.Nested): Meta;
|
|
18
|
+
add(input: InputMeta): Meta;
|
|
19
|
+
equals(other: Meta.Input): boolean;
|
|
20
|
+
section(key: string): Meta;
|
|
21
|
+
overwrite(key: Key.Value, value: string): Meta;
|
|
22
|
+
overwrite(key: Key.Section, value: MetaInputParts.Nested): Meta;
|
|
23
|
+
overwrite(input?: InputMeta): Meta;
|
|
24
|
+
has<X extends Key.Value>(key: X): boolean;
|
|
25
|
+
get(key: Key.Value): string;
|
|
26
|
+
tryGet(key: Key.Value, fallback?: string): string | undefined;
|
|
27
|
+
private _matchSectionKeys;
|
|
28
|
+
pick(...keySpecs: Key.Key[]): Meta;
|
|
29
|
+
private _prefixed;
|
|
30
|
+
get labels(): {
|
|
31
|
+
[key: string]: string;
|
|
32
|
+
};
|
|
33
|
+
get annotations(): {
|
|
34
|
+
[key: string]: string;
|
|
35
|
+
};
|
|
36
|
+
get comments(): {
|
|
37
|
+
[key: string]: string;
|
|
38
|
+
};
|
|
39
|
+
get values(): {
|
|
40
|
+
[x: string]: string;
|
|
41
|
+
[x: number]: string;
|
|
42
|
+
[x: symbol]: string;
|
|
43
|
+
};
|
|
44
|
+
get core(): { [key in Key.Special]?: string; };
|
|
45
|
+
remove(key: Key.Value): this;
|
|
46
|
+
remove(ns: Key.Section, key: string): this;
|
|
47
|
+
remove(ns: Key.Section): this;
|
|
48
|
+
expand(): {
|
|
49
|
+
labels: {
|
|
50
|
+
[key: string]: string;
|
|
51
|
+
};
|
|
52
|
+
annotations: {
|
|
53
|
+
[key: string]: string;
|
|
54
|
+
};
|
|
55
|
+
name?: string | undefined;
|
|
56
|
+
namespace?: string | undefined;
|
|
57
|
+
};
|
|
58
|
+
toMutable(): MutableMeta;
|
|
59
|
+
}
|
|
60
|
+
function make(key: Key.Value, value: string): Meta;
|
|
61
|
+
function make(key: Key.Section, value: MetaInputParts.Nested): Meta;
|
|
62
|
+
function make(input?: InputMeta): Meta;
|
|
63
|
+
function makeMutable(input?: InputMeta): MutableMeta;
|
|
64
|
+
function splat(...input: InputMeta[]): Meta;
|
|
65
|
+
function is(value: any): value is Meta;
|
|
66
|
+
class MutableMeta {
|
|
67
|
+
private _meta;
|
|
68
|
+
constructor(_meta: Meta);
|
|
69
|
+
add(key: Key.Value, value: string): this;
|
|
70
|
+
add(key: Key.Section, value: MetaInputParts.Nested): this;
|
|
71
|
+
add(input: InputMeta): this;
|
|
72
|
+
remove(key: Key.Value): this;
|
|
73
|
+
remove(ns: Key.Section, key: string): this;
|
|
74
|
+
remove(ns: Key.Section): this;
|
|
75
|
+
overwrite(key: Key.Value, value: string): this;
|
|
76
|
+
overwrite(key: Key.Section, value: MetaInputParts.Nested): this;
|
|
77
|
+
overwrite(input?: InputMeta): this;
|
|
78
|
+
equals(other: Meta.Input): boolean;
|
|
79
|
+
get(key: Key.Value): string;
|
|
80
|
+
tryGet(key: Key.Value, fallback?: string): string | undefined;
|
|
81
|
+
has(key: Key.Value): boolean;
|
|
82
|
+
pick(...keySpecs: Key.Key[]): MutableMeta;
|
|
83
|
+
toMutable(): MutableMeta;
|
|
84
|
+
section(key: string): MutableMeta;
|
|
85
|
+
get labels(): {
|
|
86
|
+
[key: string]: string;
|
|
87
|
+
};
|
|
88
|
+
get annotations(): {
|
|
89
|
+
[key: string]: string;
|
|
90
|
+
};
|
|
91
|
+
get comments(): {
|
|
92
|
+
[key: string]: string;
|
|
93
|
+
};
|
|
94
|
+
get core(): {
|
|
95
|
+
name?: string | undefined;
|
|
96
|
+
namespace?: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
toImmutable(): Meta;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|