@k8ts/instruments 0.5.2 → 0.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/graph/dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,yBAAiB,YAAY,CAAC;IAC1B,KAAY,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAA;CACjE;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,sDAQtD;AACD,qBAOa,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,CAAC;IAEzC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI;gBADZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,IAAI;CAE5B"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/graph/dependencies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,yBAAiB,YAAY,CAAC;IAC1B,KAAY,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAA;CACjE;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,sDAQtD;AACD,qBAOa,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,CAAC;IAEzC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI;gBADZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,IAAI;CAE5B"}
@@ -33,13 +33,9 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  }
34
34
  return useValue ? value : void 0;
35
35
  };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
36
  Object.defineProperty(exports, "__esModule", { value: true });
40
37
  exports.Relation = void 0;
41
38
  exports.dependencies = dependencies;
42
- const chalk_1 = __importDefault(require("chalk"));
43
39
  const _string_1 = require("../_string");
44
40
  const displayers_1 = require("../displayers");
45
41
  function dependencies(record) {
@@ -56,7 +52,7 @@ let Relation = (() => {
56
52
  simple: s => [s.why, "-->", s.needed],
57
53
  pretty: (dep, format) => {
58
54
  const neededFmt = (0, _string_1.pretty) `${["lowkey", dep.needed]}`;
59
- return [`${chalk_1.default.gray.italic.white(`${dep.why}`)}`, "➜ ", chalk_1.default.italic(`${neededFmt}`)];
55
+ return [dep.why, neededFmt].join("➜ ");
60
56
  }
61
57
  })];
62
58
  let _classDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/graph/dependencies.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oCAQC;AAjBD,kDAAyB;AACzB,wCAAmC;AACnC,8CAA0C;AAO1C,SAAgB,YAAY,CAAC,MAA0B;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClB,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;IACL,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;IAQY,QAAQ;4BAPpB,IAAA,uBAAU,EAAC;YACR,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAM,SAAS,GAAG,IAAA,gBAAM,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;gBACnD,OAAO,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAA;YAC3F,CAAC;SACJ,CAAC;;;;;;;;YACF,6KAKC;;;YALY,uDAAQ;;QAEJ,GAAG;QACH,MAAM;QAFnB,YACa,GAAW,EACX,MAAY;YADZ,QAAG,GAAH,GAAG,CAAQ;YACX,WAAM,GAAN,MAAM,CAAM;QACtB,CAAC;;;;AAJK,4BAAQ"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/graph/dependencies.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,oCAQC;AAhBD,wCAAmC;AACnC,8CAA0C;AAO1C,SAAgB,YAAY,CAAC,MAA0B;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClB,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;IACL,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;IAQY,QAAQ;4BAPpB,IAAA,uBAAU,EAAC;YACR,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAM,SAAS,GAAG,IAAA,gBAAM,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;gBACnD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,CAAC;SACJ,CAAC;;;;;;;;YACF,6KAKC;;;YALY,uDAAQ;;QAEJ,GAAG;QACH,MAAM;QAFnB,YACa,GAAW,EACX,MAAY;YADZ,QAAG,GAAH,GAAG,CAAQ;YACX,WAAM,GAAN,MAAM,CAAM;QACtB,CAAC;;;;AAJK,4BAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"origin-node.d.ts","sourceRoot":"","sources":["../../src/graph/origin-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAe,GAAG,EAAE,MAAM,QAAQ,CAAA;AAIzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,qBAgBa,MAAO,SAAQ,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAE,YAAW,QAAQ,CAAC,YAAY,CAAC;IAcpF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAE9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAfxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,IAAI,IAAI,gBAEP;IACD,IAAI,IAAI,cAEP;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGjB;gBAEI,MAAM,EAAE,MAAM,GAAG,IAAI,EAC9B,MAAM,EAAE,YAAY,EACX,GAAG,EAAE,MAAM;IAMxB,IAAI,aAAa,YAEhB;IACD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAuB;IAExC,IAAI,SAAS,eAEZ;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAGjB,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAS9B;IAEV,IAAI,SAAS,mBAEZ;IAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC;IAyBrD,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,mBAAmB;CAM9B;AACD,MAAM,WAAW,YAAa,SAAQ,UAAU,CAAC,MAAM,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;CACb;AAED,eAAO,MAAM,aAAa,kCAA4B,CAAA"}
1
+ {"version":3,"file":"origin-node.d.ts","sourceRoot":"","sources":["../../src/graph/origin-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAe,GAAG,EAAE,MAAM,QAAQ,CAAA;AAIzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,qBAgBa,MAAO,SAAQ,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAE,YAAW,QAAQ,CAAC,YAAY,CAAC;IAcpF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAE9B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAfxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,IAAI,IAAI,gBAEP;IACD,IAAI,IAAI,cAEP;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGjB;gBAEI,MAAM,EAAE,MAAM,GAAG,IAAI,EAC9B,MAAM,EAAE,YAAY,EACX,GAAG,EAAE,MAAM;IAMxB,IAAI,aAAa,YAEhB;IACD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAuB;IAExC,IAAI,SAAS,eAEZ;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAGjB,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAY9B;IAEV,IAAI,SAAS,mBAEZ;IAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC;IAyBrD,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,mBAAmB;CAM9B;AACD,MAAM,WAAW,YAAa,SAAQ,UAAU,CAAC,MAAM,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;CACb;AAED,eAAO,MAAM,aAAa,kCAA4B,CAAA"}
@@ -111,7 +111,10 @@ let Origin = (() => {
111
111
  }
112
112
  attachedTree = (0, doddle_1.seq)(() => {
113
113
  const self = this;
114
- const desc = self.descendants.concatFirst([this]).concatMap(function* (x) {
114
+ const desc = self.descendants
115
+ .concatFirst([this])
116
+ .map(x => x)
117
+ .concatMap(function* (x) {
115
118
  yield* self.resources;
116
119
  for (const kid of self.kids) {
117
120
  yield* kid.resources;
@@ -1 +1 @@
1
- {"version":3,"file":"origin-node.js","sourceRoot":"","sources":["../../src/graph/origin-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"origin-node.js","sourceRoot":"","sources":["../../src/graph/origin-node.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Map } from "immutable";
2
2
  import { type Parjser } from "parjs";
3
3
  import type { UnitParser, UnitValue } from "../units";
4
+ import { AnyUnitParser } from "../units/unit-parser";
4
5
  import type { mt_Resource_Input_Map, mt_Resource_Unit_Map, ReqLimit } from "./types";
5
6
  export declare class ResourcesMap<const RM extends mt_Resource_Unit_Map<RM>> {
6
7
  private _map;
@@ -10,6 +11,8 @@ export declare class ResourcesMap<const RM extends mt_Resource_Unit_Map<RM>> {
10
11
  export declare class ResourcesSpec<const RM extends mt_Resource_Unit_Map<RM>> {
11
12
  readonly _unitParsers: Map<string, Parjser<UnitValue | undefined>>;
12
13
  readonly _reqLimitParsers: Map<string, Parjser<ReqLimit>>;
14
+ readonly _anyUnitParser: AnyUnitParser;
15
+ readonly _anyReqLimitParser: Parjser<ReqLimit<string>>;
13
16
  constructor(_unitMap: Map<string, UnitParser>);
14
17
  private _parseUnitValue;
15
18
  private _parseReqLimit;
@@ -1 +1 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/resources/objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEpF,qBAAa,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE/C,QAAQ;CAqBX;AAED,qBAAa,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC7C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAM7C,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAOtB,SAAS,EAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAErC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,qBAAqB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;IAgC5E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;SAC3D,CAAC,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACrC;CAGJ"}
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/resources/objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEpF,qBAAa,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE/C,QAAQ;CAqBX;AAED,qBAAa,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAA;IAClE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,cAAc,gBAAuB;IAC9C,QAAQ,CAAC,kBAAkB,4BAA4C;gBAC3D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAM7C,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAOtB,SAAS,EAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAErC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,qBAAqB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;IAgC5E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,oBAAoB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;SAC3D,CAAC,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACrC;CAGJ"}
@@ -6,6 +6,7 @@ const lodash_1 = require("lodash");
6
6
  const parjs_1 = require("parjs");
7
7
  const combinators_1 = require("parjs/combinators");
8
8
  const error_1 = require("../error");
9
+ const unit_parser_1 = require("../units/unit-parser");
9
10
  const parser_1 = require("./parser");
10
11
  class ResourcesMap {
11
12
  _map;
@@ -17,12 +18,12 @@ class ResourcesMap {
17
18
  const result = {};
18
19
  if (value.request) {
19
20
  result.requests = {
20
- [key]: value.request.str
21
+ [key]: value.request.val
21
22
  };
22
23
  }
23
24
  if (value.limit) {
24
25
  result.limits = {
25
- [key]: value.limit.str
26
+ [key]: value.limit.val
26
27
  };
27
28
  }
28
29
  if (!(0, lodash_1.isEmpty)(result)) {
@@ -37,6 +38,8 @@ exports.ResourcesMap = ResourcesMap;
37
38
  class ResourcesSpec {
38
39
  _unitParsers;
39
40
  _reqLimitParsers;
41
+ _anyUnitParser = unit_parser_1.AnyUnitParser.make();
42
+ _anyReqLimitParser = (0, parser_1.createResourceParser)(this._anyUnitParser);
40
43
  constructor(_unitMap) {
41
44
  const questionMarkParser = (0, parjs_1.string)("?").pipe((0, combinators_1.mapConst)(undefined));
42
45
  this._unitParsers = _unitMap.map(parser => parser.parser.pipe((0, combinators_1.or)(questionMarkParser)));
@@ -52,7 +55,7 @@ class ResourcesSpec {
52
55
  _parseReqLimit(resource, input) {
53
56
  const pReqLimit = this._reqLimitParsers.get(resource);
54
57
  if (!pReqLimit) {
55
- throw new error_1.InstrumentsError(`No parser found for ${resource}`);
58
+ return this._anyReqLimitParser.parse(input).value;
56
59
  }
57
60
  return pReqLimit.parse(input).value;
58
61
  }
@@ -61,7 +64,7 @@ class ResourcesSpec {
61
64
  const allKeys = (0, immutable_1.Set)([...Object.keys(input), ...this._unitParsers.keys()]).toMap();
62
65
  const map = allKeys.map((_, key) => {
63
66
  const value = input[key];
64
- const pUnitValue = this._unitParsers.get(key);
67
+ const pUnitValue = this._unitParsers.get(key) ?? this._anyUnitParser.parser;
65
68
  if (!pUnitValue) {
66
69
  throw new error_1.InstrumentsError(`No parser found for ${String(key)}`);
67
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/resources/objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/resources/objects.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,11 @@ export interface ReqLimit<Unit extends string = string> {
14
14
  readonly limit?: UnitValue<Unit>;
15
15
  }
16
16
  export type InputReqLimit<Unit extends string> = InputReqLimitString<Unit> | InputIdenticalReqLimitString<Unit> | InputReqLimitObject<Unit> | InputReqLimitArray<Unit>;
17
+ type CustomResource = `${string}/${string}`;
17
18
  export type mt_Resource_Input_Map<ResourceUnit extends mt_Resource_Unit_Map<ResourceUnit>> = {
18
19
  [K in keyof ResourceUnit]: InputReqLimit<ResourceUnit[K]>;
20
+ } & {
21
+ [K in CustomResource]?: InputReqLimit<string>;
19
22
  };
20
23
  export {};
21
24
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resources/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,MAAM,MAAM,WAAW,CAAC,IAAI,SAAS,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,GAAG,CAAA;AAEvE,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS,MAAM;IACpD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CACpC;AACD,MAAM,MAAM,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5F,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AAE7D,KAAK,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAA;AAC7B,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAC5C,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5D,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;AACjF,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;CACnC;AACD,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,IACvC,mBAAmB,CAAC,IAAI,CAAC,GACzB,4BAA4B,CAAC,IAAI,CAAC,GAClC,mBAAmB,CAAC,IAAI,CAAC,GACzB,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC9B,MAAM,MAAM,qBAAqB,CAAC,YAAY,SAAS,oBAAoB,CAAC,YAAY,CAAC,IAAI;KACxF,CAAC,IAAI,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resources/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,MAAM,MAAM,WAAW,CAAC,IAAI,SAAS,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,GAAG,CAAA;AAEvE,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS,MAAM;IACpD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CACpC;AACD,MAAM,MAAM,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5F,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AAE7D,KAAK,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAA;AAC7B,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAC5C,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5D,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;AACjF,MAAM,WAAW,QAAQ,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;CACnC;AACD,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,IACvC,mBAAmB,CAAC,IAAI,CAAC,GACzB,4BAA4B,CAAC,IAAI,CAAC,GAClC,mBAAmB,CAAC,IAAI,CAAC,GACzB,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC9B,KAAK,cAAc,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE3C,MAAM,MAAM,qBAAqB,CAAC,YAAY,SAAS,oBAAoB,CAAC,YAAY,CAAC,IAAI;KACxF,CAAC,IAAI,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5D,GAAG;KACC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC;CAChD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Set } from "immutable";
1
+ import type { Set } from "immutable";
2
2
  import { type Parjser } from "parjs";
3
3
  export declare class UnitValue<Unit extends string = string> {
4
4
  readonly unit: Unit;
@@ -6,14 +6,25 @@ export declare class UnitValue<Unit extends string = string> {
6
6
  readonly type: string;
7
7
  constructor(unit: Unit, value: number, type: string);
8
8
  get str(): string;
9
+ get val(): string | number;
9
10
  toString(): string;
10
11
  }
11
- export declare class UnitParser<const Unit extends string = string> {
12
- private readonly unitType;
13
- private readonly _units;
12
+ export declare abstract class UnitParser<const Unit extends string = string> {
13
+ protected readonly _unitType: string;
14
14
  readonly parser: Parjser<UnitValue<Unit>>;
15
- constructor(unitType: string, _units: Set<Unit>);
15
+ protected abstract _validate(unit: string): asserts unit is Unit;
16
+ constructor(_unitType: string);
16
17
  parse: (input: `${number}${Unit}`) => UnitValue<Unit>;
17
- static make<const Unit extends string>(unitType: string, units: Set<Unit>): UnitParser<Unit>;
18
+ }
19
+ export declare class AnyUnitParser extends UnitParser<string> {
20
+ constructor();
21
+ _validate(_unit: string): void;
22
+ static make(): AnyUnitParser;
23
+ }
24
+ export declare class SetUnitParser<const Unit extends string = string> extends UnitParser<Unit> {
25
+ private readonly _units;
26
+ constructor(unitType: string, _units: Set<Unit>);
27
+ _validate(unit: string): asserts unit is Unit;
28
+ static make<const Unit extends string>(unitType: string, units: Set<Unit>): SetUnitParser<Unit>;
18
29
  }
19
30
  //# sourceMappingURL=unit-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unit-parser.d.ts","sourceRoot":"","sources":["../../src/units/unit-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAYjD,qBAAa,SAAS,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAE3C,QAAQ,CAAC,IAAI,EAAE,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAFZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM;IAGzB,IAAI,GAAG,WAEN;IAED,QAAQ;CAGX;AAED,qBAAa,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAGlD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;gBAEpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;IAetC,KAAK,GAAI,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,qBASjC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;CAG5E"}
1
+ {"version":3,"file":"unit-parser.d.ts","sourceRoot":"","sources":["../../src/units/unit-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAajD,qBAAa,SAAS,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAE3C,QAAQ,CAAC,IAAI,EAAE,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAFZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM;IAGzB,IAAI,GAAG,WAEN;IAED,IAAI,GAAG,oBAKN;IAED,QAAQ;CAGX;AAED,8BAAsB,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAGnD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAFhD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI;gBACjC,SAAS,EAAE,MAAM;IAUhD,KAAK,GAAI,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,qBASjC;CACJ;AAED,qBAAa,aAAc,SAAQ,UAAU,CAAC,MAAM,CAAC;;IAKjD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI;CAGd;AAED,qBAAa,aAAa,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADvB,QAAQ,EAAE,MAAM,EACC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;IAKtC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI;IAM7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;CAG5E"}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnitParser = exports.UnitValue = void 0;
3
+ exports.SetUnitParser = exports.AnyUnitParser = exports.UnitParser = exports.UnitValue = void 0;
4
4
  const parjs_1 = require("parjs");
5
5
  const combinators_1 = require("parjs/combinators");
6
6
  const error_1 = require("../error");
7
- const pUnit = (0, parjs_1.letter)().pipe((0, combinators_1.many1)(2), (0, combinators_1.stringify)());
7
+ const pUnit = (0, parjs_1.letter)().pipe((0, combinators_1.many)(), (0, combinators_1.stringify)());
8
8
  const pValueUnit = (0, parjs_1.int)().pipe((0, combinators_1.then)(pUnit), (0, combinators_1.map)(arr => {
9
9
  const [value, unit] = arr;
10
10
  return { value, unit };
11
11
  }));
12
+ // TODO: Simplify unit parser to allow for arbitrary resources/units
12
13
  class UnitValue {
13
14
  unit;
14
15
  value;
@@ -21,39 +22,65 @@ class UnitValue {
21
22
  get str() {
22
23
  return `${this.value}${this.unit}`;
23
24
  }
25
+ get val() {
26
+ if (!this.unit) {
27
+ return +this.value;
28
+ }
29
+ return this.str;
30
+ }
24
31
  toString() {
25
32
  return this.str;
26
33
  }
27
34
  }
28
35
  exports.UnitValue = UnitValue;
29
36
  class UnitParser {
30
- unitType;
31
- _units;
37
+ _unitType;
32
38
  parser;
33
- constructor(unitType, _units) {
34
- this.unitType = unitType;
35
- this._units = _units;
39
+ constructor(_unitType) {
40
+ this._unitType = _unitType;
36
41
  this.parser = pValueUnit.pipe((0, combinators_1.map)(({ value, unit }) => {
37
- const gotType = this._units.has(unit);
38
- if (!gotType) {
39
- throw new error_1.InstrumentsError(`Unit ${unit} is not a valid unit of type ${this.unitType}`);
40
- }
41
- return new UnitValue(unit, value, this.unitType);
42
+ this._validate(unit);
43
+ return new UnitValue(unit, value, this._unitType);
42
44
  }));
43
45
  }
44
46
  parse = (input) => {
45
47
  const pUnitValue = this.parser;
46
48
  const result = pUnitValue.parse(input);
47
49
  if (result.kind !== "OK") {
48
- throw new error_1.InstrumentsError(`Failed to parse ${this.unitType}`, {
50
+ throw new error_1.InstrumentsError(`Failed to parse ${this._unitType}`, {
49
51
  more: result.trace.toString()
50
52
  });
51
53
  }
52
54
  return result.value;
53
55
  };
56
+ }
57
+ exports.UnitParser = UnitParser;
58
+ class AnyUnitParser extends UnitParser {
59
+ constructor() {
60
+ super("any");
61
+ }
62
+ _validate(_unit) {
63
+ // Accept any unit
64
+ }
65
+ static make() {
66
+ return new AnyUnitParser();
67
+ }
68
+ }
69
+ exports.AnyUnitParser = AnyUnitParser;
70
+ class SetUnitParser extends UnitParser {
71
+ _units;
72
+ constructor(unitType, _units) {
73
+ super(unitType);
74
+ this._units = _units;
75
+ }
76
+ _validate(unit) {
77
+ if (!this._units.has(unit)) {
78
+ throw new error_1.InstrumentsError(`Unit ${unit} is not a valid unit of type ${this._unitType}`);
79
+ }
80
+ }
54
81
  static make(unitType, units) {
55
- return new UnitParser(unitType, units);
82
+ return new SetUnitParser(unitType, units);
56
83
  }
57
84
  }
58
- exports.UnitParser = UnitParser;
85
+ exports.SetUnitParser = SetUnitParser;
59
86
  //# sourceMappingURL=unit-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unit-parser.js","sourceRoot":"","sources":["../../src/units/unit-parser.ts"],"names":[],"mappings":";;;AACA,iCAAiD;AACjD,mDAA+D;AAC/D,oCAA2C;AAC3C,MAAM,KAAK,GAAG,IAAA,cAAM,GAAE,CAAC,IAAI,CAAC,IAAA,mBAAK,EAAC,CAAC,CAAC,EAAE,IAAA,uBAAS,GAAE,CAAC,CAAA;AAElD,MAAM,UAAU,GAAG,IAAA,WAAG,GAAE,CAAC,IAAI,CACzB,IAAA,kBAAI,EAAC,KAAK,CAAC,EACX,IAAA,iBAAG,EAAC,GAAG,CAAC,EAAE;IACN,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAA;IACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAC,CACL,CAAA;AACD,MAAa,SAAS;IAEL;IACA;IACA;IAHb,YACa,IAAU,EACV,KAAa,EACb,IAAY;QAFZ,SAAI,GAAJ,IAAI,CAAM;QACV,UAAK,GAAL,KAAK,CAAQ;QACb,SAAI,GAAJ,IAAI,CAAQ;IACtB,CAAC;IAEJ,IAAI,GAAG;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;CACJ;AAdD,8BAcC;AAED,MAAa,UAAU;IAGE;IACA;IAHZ,MAAM,CAA0B;IACzC,YACqB,QAAgB,EAChB,MAAiB;QADjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAW;QAElC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CACzB,IAAA,iBAAG,EAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAW,CAAC,CAAA;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,wBAAgB,CACtB,QAAQ,IAAI,gCAAgC,IAAI,CAAC,QAAQ,EAAE,CAC9D,CAAA;YACL,CAAC;YACD,OAAO,IAAI,SAAS,CAAO,IAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjE,CAAC,CAAC,CACL,CAAA;IACL,CAAC;IAED,KAAK,GAAG,CAAC,KAAyB,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAA;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,wBAAgB,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC3D,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;aAChC,CAAC,CAAA;QACN,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,CAAC,IAAI,CAA4B,QAAgB,EAAE,KAAgB;QACrE,OAAO,IAAI,UAAU,CAAO,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;CACJ;AAjCD,gCAiCC"}
1
+ {"version":3,"file":"unit-parser.js","sourceRoot":"","sources":["../../src/units/unit-parser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { UnitParser } from "./unit-parser";
1
+ import { SetUnitParser } from "./unit-parser";
2
2
  export type G = `${number}G`;
3
3
  export declare const G: (n: number) => G;
4
4
  export type M = `${number}M`;
@@ -30,8 +30,8 @@ export declare namespace Unit {
30
30
  type Cpu = m;
31
31
  type Time = m | h | d | s | ms;
32
32
  type Any = Data | Cpu | Time;
33
- const Cpu: UnitParser<"m">;
34
- const Data: UnitParser<"M" | "G" | "T" | "K" | "Mi" | "Gi" | "Ki">;
35
- const Time: UnitParser<"d" | "h" | "m" | "s" | "ms">;
33
+ const Cpu: SetUnitParser<"m">;
34
+ const Data: SetUnitParser<"M" | "G" | "T" | "K" | "Mi" | "Gi" | "Ki">;
35
+ const Time: SetUnitParser<"d" | "h" | "m" | "s" | "ms">;
36
36
  }
37
37
  //# sourceMappingURL=units.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units/units.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAqB,CAAC,CAAA;AAEjD,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM;CAAI;AAEvD,yBAAiB,IAAI,CAAC;IAClB,KAAY,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAC/C,KAAY,GAAG,GAAG,CAAC,CAAA;IACnB,KAAY,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;IACrC,KAAY,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;IAE5B,MAAM,GAAG,iBAAqC,CAAA;IAE9C,MAAM,IAAI,wDAAuE,CAAA;IAEjF,MAAM,IAAI,0CAA2D,CAAA;CAC/E"}
1
+ {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/units/units.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAqB,CAAC,CAAA;AAEjD,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,CAAA;AAC5B,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM,KAAgB,CAAC,CAAA;AAE5C,MAAM,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAA;AAC9B,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAiB,EAAE,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM;CAAI;AAEvD,yBAAiB,IAAI,CAAC;IAClB,KAAY,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAC/C,KAAY,GAAG,GAAG,CAAC,CAAA;IACnB,KAAY,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;IACrC,KAAY,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;IAE5B,MAAM,GAAG,oBAAwC,CAAA;IAEjD,MAAM,IAAI,2DAA0E,CAAA;IAEpF,MAAM,IAAI,6CAA8D,CAAA;CAClF"}
@@ -29,8 +29,8 @@ const ms = (n) => `${n}ms`;
29
29
  exports.ms = ms;
30
30
  var Unit;
31
31
  (function (Unit) {
32
- Unit.Cpu = unit_parser_1.UnitParser.make("cpu", (0, immutable_1.Set)(["m"]));
33
- Unit.Data = unit_parser_1.UnitParser.make("data", (0, immutable_1.Set)(["M", "G", "T", "K", "Mi", "Gi", "Ki"]));
34
- Unit.Time = unit_parser_1.UnitParser.make("time", (0, immutable_1.Set)(["m", "h", "d", "s", "ms"]));
32
+ Unit.Cpu = unit_parser_1.SetUnitParser.make("cpu", (0, immutable_1.Set)(["m"]));
33
+ Unit.Data = unit_parser_1.SetUnitParser.make("data", (0, immutable_1.Set)(["M", "G", "T", "K", "Mi", "Gi", "Ki"]));
34
+ Unit.Time = unit_parser_1.SetUnitParser.make("time", (0, immutable_1.Set)(["m", "h", "d", "s", "ms"]));
35
35
  })(Unit || (exports.Unit = Unit = {}));
36
36
  //# sourceMappingURL=units.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units/units.ts"],"names":[],"mappings":";;;AAAA,yCAA+B;AAC/B,+CAA0C;AAGnC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAQ,CAAA;AAApC,QAAA,CAAC,KAAmC;AAG1C,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAI/C,IAAiB,IAAI,CAWpB;AAXD,WAAiB,IAAI;IAMJ,QAAG,GAAG,wBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAExC,SAAI,GAAG,wBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAE3E,SAAI,GAAG,wBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAChF,CAAC,EAXgB,IAAI,oBAAJ,IAAI,QAWpB"}
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/units/units.ts"],"names":[],"mappings":";;;AAAA,yCAA+B;AAC/B,+CAA6C;AAGtC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAGxC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAQ,CAAA;AAApC,QAAA,CAAC,KAAmC;AAG1C,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAQ,CAAA;AAA/B,QAAA,CAAC,KAA8B;AAGrC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAU,CAAA;AAAlC,QAAA,EAAE,MAAgC;AAI/C,IAAiB,IAAI,CAWpB;AAXD,WAAiB,IAAI;IAMJ,QAAG,GAAG,2BAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAE3C,SAAI,GAAG,2BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAE9E,SAAI,GAAG,2BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,eAAG,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC,EAXgB,IAAI,oBAAJ,IAAI,QAWpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k8ts/instruments",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "A collection of utilities and core components for k8ts.",
5
5
  "keywords": [
6
6
  "kubernetes",
@@ -69,7 +69,7 @@
69
69
  "what-are-you": "^0.1.12"
70
70
  },
71
71
  "devDependencies": {
72
- "@k8ts/metadata": "^0.4.14",
72
+ "@k8ts/metadata": "^0.4.15",
73
73
  "@swc/core": "^1.11.11",
74
74
  "@swc/jest": "^0.2.37",
75
75
  "@types/jest": "^29.5.12",
@@ -85,7 +85,7 @@
85
85
  "yamprint": "^0.8.4"
86
86
  },
87
87
  "peerDependencies": {
88
- "@k8ts/metadata": "^0.4.14"
88
+ "@k8ts/metadata": "^0.4.15"
89
89
  },
90
90
  "packageManager": "yarn@4.1.1",
91
91
  "engines": {
@@ -1,4 +1,3 @@
1
- import chalk from "chalk"
2
1
  import { pretty } from "../_string"
3
2
  import { displayers } from "../displayers"
4
3
  import { BaseNode } from "./base-node"
@@ -20,7 +19,7 @@ export function dependencies(record: Dependencies.Input) {
20
19
  simple: s => [s.why, "-->", s.needed],
21
20
  pretty: (dep, format) => {
22
21
  const neededFmt = pretty`${["lowkey", dep.needed]}`
23
- return [`${chalk.gray.italic.white(`${dep.why}`)}`, "➜ ", chalk.italic(`${neededFmt}`)]
22
+ return [dep.why, neededFmt].join("➜ ")
24
23
  }
25
24
  })
26
25
  export class Relation<Node extends BaseNode<Node>> {
@@ -62,12 +62,15 @@ export class Origin extends BaseNode<Origin, OriginEntity> implements Iterable<R
62
62
  }
63
63
  readonly attachedTree: Seq<ResourceNode> = seq(() => {
64
64
  const self = this
65
- const desc = self.descendants.concatFirst([this]).concatMap(function* (x) {
66
- yield* self.resources
67
- for (const kid of self.kids) {
68
- yield* kid.resources
69
- }
70
- })
65
+ const desc = self.descendants
66
+ .concatFirst([this])
67
+ .map(x => x)
68
+ .concatMap(function* (x) {
69
+ yield* self.resources
70
+ for (const kid of self.kids) {
71
+ yield* kid.resources
72
+ }
73
+ })
71
74
  return desc
72
75
  }).cache()
73
76
 
@@ -4,6 +4,7 @@ import { string, type Parjser } from "parjs"
4
4
  import { mapConst, or } from "parjs/combinators"
5
5
  import { InstrumentsError } from "../error"
6
6
  import type { UnitParser, UnitValue } from "../units"
7
+ import { AnyUnitParser } from "../units/unit-parser"
7
8
  import { createResourceParser } from "./parser"
8
9
  import type { mt_Resource_Input_Map, mt_Resource_Unit_Map, ReqLimit } from "./types"
9
10
 
@@ -15,12 +16,12 @@ export class ResourcesMap<const RM extends mt_Resource_Unit_Map<RM>> {
15
16
  const result = {} as any
16
17
  if (value.request) {
17
18
  result.requests = {
18
- [key]: value.request.str
19
+ [key]: value.request.val
19
20
  }
20
21
  }
21
22
  if (value.limit) {
22
23
  result.limits = {
23
- [key]: value.limit.str
24
+ [key]: value.limit.val
24
25
  }
25
26
  }
26
27
  if (!isEmpty(result)) {
@@ -36,6 +37,8 @@ export class ResourcesMap<const RM extends mt_Resource_Unit_Map<RM>> {
36
37
  export class ResourcesSpec<const RM extends mt_Resource_Unit_Map<RM>> {
37
38
  readonly _unitParsers: Map<string, Parjser<UnitValue | undefined>>
38
39
  readonly _reqLimitParsers: Map<string, Parjser<ReqLimit>>
40
+ readonly _anyUnitParser = AnyUnitParser.make()
41
+ readonly _anyReqLimitParser = createResourceParser(this._anyUnitParser)
39
42
  constructor(_unitMap: Map<string, UnitParser>) {
40
43
  const questionMarkParser = string("?").pipe(mapConst(undefined))
41
44
  this._unitParsers = _unitMap.map(parser => parser.parser.pipe(or(questionMarkParser)))
@@ -53,7 +56,7 @@ export class ResourcesSpec<const RM extends mt_Resource_Unit_Map<RM>> {
53
56
  private _parseReqLimit(resource: string, input: string): ReqLimit {
54
57
  const pReqLimit = this._reqLimitParsers.get(resource)
55
58
  if (!pReqLimit) {
56
- throw new InstrumentsError(`No parser found for ${resource}`)
59
+ return this._anyReqLimitParser.parse(input).value
57
60
  }
58
61
  return pReqLimit.parse(input).value
59
62
  }
@@ -63,7 +66,7 @@ export class ResourcesSpec<const RM extends mt_Resource_Unit_Map<RM>> {
63
66
  const allKeys = Set([...Object.keys(input), ...this._unitParsers.keys()]).toMap()
64
67
  const map = allKeys.map((_, key) => {
65
68
  const value = input[key as keyof R]
66
- const pUnitValue = this._unitParsers.get(key)
69
+ const pUnitValue = this._unitParsers.get(key) ?? this._anyUnitParser.parser
67
70
  if (!pUnitValue) {
68
71
  throw new InstrumentsError(`No parser found for ${String(key)}`)
69
72
  }
@@ -21,6 +21,10 @@ export type InputReqLimit<Unit extends string> =
21
21
  | InputIdenticalReqLimitString<Unit>
22
22
  | InputReqLimitObject<Unit>
23
23
  | InputReqLimitArray<Unit>
24
+ type CustomResource = `${string}/${string}`
25
+
24
26
  export type mt_Resource_Input_Map<ResourceUnit extends mt_Resource_Unit_Map<ResourceUnit>> = {
25
27
  [K in keyof ResourceUnit]: InputReqLimit<ResourceUnit[K]>
28
+ } & {
29
+ [K in CustomResource]?: InputReqLimit<string>
26
30
  }
@@ -1,8 +1,8 @@
1
- import { Set } from "immutable"
1
+ import type { Set } from "immutable"
2
2
  import { int, letter, type Parjser } from "parjs"
3
- import { many1, map, stringify, then } from "parjs/combinators"
3
+ import { many, map, stringify, then } from "parjs/combinators"
4
4
  import { InstrumentsError } from "../error"
5
- const pUnit = letter().pipe(many1(2), stringify())
5
+ const pUnit = letter().pipe(many(), stringify())
6
6
 
7
7
  const pValueUnit = int().pipe(
8
8
  then(pUnit),
@@ -11,6 +11,7 @@ const pValueUnit = int().pipe(
11
11
  return { value, unit }
12
12
  })
13
13
  )
14
+ // TODO: Simplify unit parser to allow for arbitrary resources/units
14
15
  export class UnitValue<Unit extends string = string> {
15
16
  constructor(
16
17
  readonly unit: Unit,
@@ -22,26 +23,27 @@ export class UnitValue<Unit extends string = string> {
22
23
  return `${this.value}${this.unit}`
23
24
  }
24
25
 
26
+ get val() {
27
+ if (!this.unit) {
28
+ return +this.value
29
+ }
30
+ return this.str
31
+ }
32
+
25
33
  toString() {
26
34
  return this.str
27
35
  }
28
36
  }
29
37
 
30
- export class UnitParser<const Unit extends string = string> {
38
+ export abstract class UnitParser<const Unit extends string = string> {
31
39
  readonly parser: Parjser<UnitValue<Unit>>
32
- constructor(
33
- private readonly unitType: string,
34
- private readonly _units: Set<Unit>
35
- ) {
40
+ protected abstract _validate(unit: string): asserts unit is Unit
41
+ constructor(protected readonly _unitType: string) {
36
42
  this.parser = pValueUnit.pipe(
37
43
  map(({ value, unit }) => {
38
- const gotType = this._units.has(unit as any)
39
- if (!gotType) {
40
- throw new InstrumentsError(
41
- `Unit ${unit} is not a valid unit of type ${this.unitType}`
42
- )
43
- }
44
- return new UnitValue<Unit>(unit as any, value, this.unitType)
44
+ this._validate(unit)
45
+
46
+ return new UnitValue<Unit>(unit as any, value, this._unitType)
45
47
  })
46
48
  )
47
49
  }
@@ -50,14 +52,43 @@ export class UnitParser<const Unit extends string = string> {
50
52
  const pUnitValue = this.parser
51
53
  const result = pUnitValue.parse(input)
52
54
  if (result.kind !== "OK") {
53
- throw new InstrumentsError(`Failed to parse ${this.unitType}`, {
55
+ throw new InstrumentsError(`Failed to parse ${this._unitType}`, {
54
56
  more: result.trace.toString()
55
57
  })
56
58
  }
57
59
  return result.value
58
60
  }
61
+ }
62
+
63
+ export class AnyUnitParser extends UnitParser<string> {
64
+ constructor() {
65
+ super("any")
66
+ }
67
+
68
+ _validate(_unit: string): void {
69
+ // Accept any unit
70
+ }
71
+
72
+ static make() {
73
+ return new AnyUnitParser()
74
+ }
75
+ }
76
+
77
+ export class SetUnitParser<const Unit extends string = string> extends UnitParser<Unit> {
78
+ constructor(
79
+ unitType: string,
80
+ private readonly _units: Set<Unit>
81
+ ) {
82
+ super(unitType)
83
+ }
84
+
85
+ _validate(unit: string): asserts unit is Unit {
86
+ if (!this._units.has(unit as Unit)) {
87
+ throw new InstrumentsError(`Unit ${unit} is not a valid unit of type ${this._unitType}`)
88
+ }
89
+ }
59
90
 
60
91
  static make<const Unit extends string>(unitType: string, units: Set<Unit>) {
61
- return new UnitParser<Unit>(unitType, units)
92
+ return new SetUnitParser<Unit>(unitType, units)
62
93
  }
63
94
  }
@@ -1,5 +1,5 @@
1
1
  import { Set } from "immutable"
2
- import { UnitParser } from "./unit-parser"
2
+ import { SetUnitParser } from "./unit-parser"
3
3
 
4
4
  export type G = `${number}G`
5
5
  export const G = (n: number) => `${n}G` as G
@@ -45,9 +45,9 @@ export namespace Unit {
45
45
  export type Time = m | h | d | s | ms
46
46
  export type Any = Data | Cpu | Time
47
47
 
48
- export const Cpu = UnitParser.make("cpu", Set(["m"]))
48
+ export const Cpu = SetUnitParser.make("cpu", Set(["m"]))
49
49
 
50
- export const Data = UnitParser.make("data", Set(["M", "G", "T", "K", "Mi", "Gi", "Ki"]))
50
+ export const Data = SetUnitParser.make("data", Set(["M", "G", "T", "K", "Mi", "Gi", "Ki"]))
51
51
 
52
- export const Time = UnitParser.make("time", Set(["m", "h", "d", "s", "ms"]))
52
+ export const Time = SetUnitParser.make("time", Set(["m", "h", "d", "s", "ms"]))
53
53
  }