@lwmacct/260529-promclient 0.15.260628 → 0.16.260628

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/README.md CHANGED
@@ -13,6 +13,7 @@ Small Prometheus-compatible HTTP API client with PromQL helpers and response tra
13
13
  - 提供 Prometheus API 响应的 TypeScript 类型
14
14
  - 提供 PromQL selector / label matcher 转义工具
15
15
  - 提供 vector、matrix、scalar、string 响应转换工具
16
+ - 支持 label 编码 record、字段别名、字段级 value source 和多查询字段合并
16
17
  - 无运行时依赖
17
18
 
18
19
  ## 安装
@@ -238,6 +239,25 @@ const rows = mapVectorToFieldRows(response, {
238
239
  // method="GET", status="200" -> field: "GET.200"
239
240
  ```
240
241
 
242
+ 如果字段不是来自 label,而是整个查询对应一个固定字段,可以使用 `field`。这适合把多个查询结果合并成同一批 record:
243
+
244
+ ```ts
245
+ const rows = [
246
+ ...mapVectorToFieldRows(inResponse, {
247
+ keyLabels: ["switch", "ifIndex"],
248
+ field: "inBps",
249
+ valueSource: "sample",
250
+ }),
251
+ ...mapVectorToFieldRows(outResponse, {
252
+ keyLabels: ["switch", "ifIndex"],
253
+ field: "outBps",
254
+ valueSource: "sample",
255
+ }),
256
+ ];
257
+
258
+ const table = mapFieldRowsByKey(rows);
259
+ ```
260
+
241
261
  示例二:`value` label 作为字段值。
242
262
 
243
263
  这类指标通常用 sample value `1` 表示“这条信息存在”,真正的字段值在 label 中:
@@ -283,6 +303,44 @@ const table = mapFieldRowsByKey(rows);
283
303
  // }
284
304
  ```
285
305
 
306
+ 字段名需要转换为业务对象属性时,可以配置 `fieldMappings`。映射值为 `false` 时会丢弃该字段;`unknownField: "drop"` 会丢弃未声明字段:
307
+
308
+ ```ts
309
+ const rows = mapVectorToFieldRows(response, {
310
+ keyLabels: ["asset"],
311
+ fieldLabels: ["field"],
312
+ valueLabel: "value",
313
+ valueSource: "label",
314
+ unknownField: "drop",
315
+ fieldMappings: {
316
+ region: "region",
317
+ owner: "owner",
318
+ ignored_field: false,
319
+ },
320
+ });
321
+ ```
322
+
323
+ 字段级配置可以覆盖全局 `valueSource`、`valueLabel` 和 `sampleParser`。这适合部分字段值在 label 中、部分字段值在 sample 中的指标:
324
+
325
+ ```ts
326
+ const rows = mapVectorToFieldRows(response, {
327
+ keyLabels: ["asset"],
328
+ fieldLabels: ["field"],
329
+ valueSource: "label",
330
+ valueLabel: "value",
331
+ unknownField: "drop",
332
+ fieldMappings: {
333
+ model_number: { as: "modelNumber" },
334
+ firmware: { as: "firmware" },
335
+ total_bytes: {
336
+ as: "totalBytes",
337
+ valueSource: "sample",
338
+ sampleParser: (value) => Number.parseFloat(value),
339
+ },
340
+ },
341
+ });
342
+ ```
343
+
286
344
  `valueSource` 支持:
287
345
 
288
346
  | 值 | 说明 |
@@ -308,6 +366,7 @@ import {
308
366
  getScalarNumber,
309
367
  mapVector,
310
368
  mapVectorByLabel,
369
+ mapVectorByLabelAndName,
311
370
  } from "@lwmacct/260529-promclient";
312
371
  ```
313
372
 
@@ -319,8 +378,23 @@ import {
319
378
  | `getScalarValue(response)` | 从 scalar/string response 中取出原始字符串值 |
320
379
  | `getScalarNumber(response, defaultValue?)` | 从 scalar response 中解析数字 |
321
380
  | `mapVectorByLabel(response, labelName, parser?)` | 按指定 label 聚合 vector 数值 |
381
+ | `mapVectorByLabelAndName(response, labelName, mapper, parser?)` | 按指定 label 聚合,并用 `__name__` 区分字段 |
322
382
  | `mapVector(response, mapper)` | 自定义映射 vector items |
323
383
 
384
+ `mapVectorByLabelAndName` 适合多个 metric name 共同组成一张对象表的场景:
385
+
386
+ ```ts
387
+ const stats = mapVectorByLabelAndName(response, "instance", (name, value, prev) => {
388
+ if (name === "node_memory_MemTotal_bytes") {
389
+ return { ...prev, total: value };
390
+ }
391
+ if (name === "node_memory_MemAvailable_bytes") {
392
+ return { ...prev, available: value };
393
+ }
394
+ return prev;
395
+ });
396
+ ```
397
+
324
398
  ### Range Response
325
399
 
326
400
  ```ts
@@ -3,5 +3,6 @@ export declare const getVectorItems: (response: PromSuccessResponse<PromInstantD
3
3
  export declare const getScalarValue: (response: PromSuccessResponse<PromScalarData | PromStringData>) => string | undefined;
4
4
  export declare const getScalarNumber: (response: PromSuccessResponse<PromScalarData>, defaultValue?: number) => number;
5
5
  export declare const mapVectorByLabel: (response: PromSuccessResponse<PromVectorData>, labelName: string, parser?: (value: string) => number) => Record<string, number>;
6
+ export declare const mapVectorByLabelAndName: <T extends Record<string, unknown>>(response: PromSuccessResponse<PromInstantData>, labelName: string, mapper: (metricName: string, value: number, previous: T) => T, parser?: (value: string) => number) => Record<string, T>;
6
7
  export declare const mapVector: <T>(response: PromSuccessResponse<PromVectorData>, mapper: (item: PromVectorItem) => T | undefined) => T[];
7
8
  //# sourceMappingURL=instant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instant.d.ts","sourceRoot":"","sources":["../../src/transform/instant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAC;AAQlB,eAAO,MAAM,cAAc,GACzB,UAAU,mBAAmB,CAAC,eAAe,CAAC,KAC7C,cAAc,EAKhB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,UAAU,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC,KAC7D,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,qBAAyB,KACxB,MAKF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,WAAW,MAAM,EACjB,SAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,MAAyC,KACnE,MAAM,CAAC,MAAM,EAAE,MAAM,CAYvB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,EACzB,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,QAAQ,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,GAAG,SAAS,KAC9C,CAAC,EAOI,CAAC"}
1
+ {"version":3,"file":"instant.d.ts","sourceRoot":"","sources":["../../src/transform/instant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACf,MAAM,UAAU,CAAC;AAQlB,eAAO,MAAM,cAAc,GACzB,UAAU,mBAAmB,CAAC,eAAe,CAAC,KAC7C,cAAc,EAKhB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,UAAU,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC,KAC7D,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,qBAAyB,KACxB,MAKF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,WAAW,MAAM,EACjB,SAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,MAAyC,KACnE,MAAM,CAAC,MAAM,EAAE,MAAM,CAYvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,UAAU,mBAAmB,CAAC,eAAe,CAAC,EAC9C,WAAW,MAAM,EACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAC7D,SAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,MAAyC,KACnE,MAAM,CAAC,MAAM,EAAE,CAAC,CAqBlB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,CAAC,EACzB,UAAU,mBAAmB,CAAC,cAAc,CAAC,EAC7C,QAAQ,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,GAAG,SAAS,KAC9C,CAAC,EAOI,CAAC"}
@@ -30,6 +30,25 @@ export const mapVectorByLabel = (response, labelName, parser = (value) => safePa
30
30
  return result;
31
31
  }, {});
32
32
  };
33
+ export const mapVectorByLabelAndName = (response, labelName, mapper, parser = (value) => safeParseFloat(value)) => {
34
+ if (!isVectorData(response.data)) {
35
+ return {};
36
+ }
37
+ return response.data.result.reduce((result, item) => {
38
+ const labelValue = item.metric[labelName];
39
+ const metricName = item.metric.__name__;
40
+ if (!labelValue || !metricName) {
41
+ return result;
42
+ }
43
+ const value = parser(item.value[1]);
44
+ if (Number.isNaN(value)) {
45
+ return result;
46
+ }
47
+ const previous = result[labelValue] ?? {};
48
+ result[labelValue] = mapper(metricName, value, previous);
49
+ return result;
50
+ }, {});
51
+ };
33
52
  export const mapVector = (response, mapper) => response.data.result.reduce((result, item) => {
34
53
  const mapped = mapper(item);
35
54
  if (mapped !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"instant.js","sourceRoot":"","sources":["../../src/transform/instant.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,QAAQ,CAAC;AAEhB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAA8C,EAC5B,EAAE;IACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAA8D,EAC1C,EAAE;IACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAA6C,EAC7C,YAAY,GAAG,MAAM,CAAC,GAAG,EACjB,EAAE;IACV,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAA6C,EAC7C,SAAiB,EACjB,SAAoC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAC5C,EAAE;IAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,QAA6C,EAC7C,MAA+C,EAC1C,EAAE,CACP,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"instant.js","sourceRoot":"","sources":["../../src/transform/instant.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,23 @@ export type PromFieldRow = {
10
10
  timestampMs: number;
11
11
  };
12
12
  export type PromFieldValueSource = "auto" | "label" | "sample";
13
+ export type PromFieldMapping = string | false | {
14
+ as?: string;
15
+ valueLabel?: string;
16
+ valueSource?: PromFieldValueSource;
17
+ sampleParser?: (value: string, item: PromVectorItem) => PromFieldValue | undefined;
18
+ };
13
19
  export type MapVectorToFieldRowsOptions = {
14
20
  indexLabels?: readonly string[];
15
21
  keyLabels: readonly string[];
16
- fieldLabels: readonly string[];
22
+ fieldLabels?: readonly string[];
23
+ field?: string;
17
24
  valueLabel?: string;
18
25
  valueSource?: PromFieldValueSource;
19
26
  labelSeparator?: string;
20
- sampleParser?: (value: string, item: PromVectorItem) => PromFieldValue;
27
+ sampleParser?: (value: string, item: PromVectorItem) => PromFieldValue | undefined;
28
+ fieldMappings?: Record<string, PromFieldMapping>;
29
+ unknownField?: "keep" | "drop";
21
30
  };
22
31
  export type DuplicateFieldRowStrategy = "last" | "first" | "array" | "error";
23
32
  export type MapFieldRowsOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/transform/records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAAC,CAAC;AAEhF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AA2CnE,eAAO,MAAM,uBAAuB,GAClC,MAAM,cAAc,EACpB,SAAS,2BAA2B,KACnC,YAAY,GAAG,SAwCjB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,mBAAmB,CAAC,eAAe,CAAC,EAC9C,SAAS,2BAA2B,KACnC,YAAY,EAYd,CAAC;AAiCF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,YAAY,EAAE,EAC7B,UAAS,mBAAwB,KAChC,cASF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,YAAY,EAAE,EAC7B,UAAS,mBAAwB,KAChC,qBAgBF,CAAC"}
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/transform/records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,KAAK,GACL;IACE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,KACjB,cAAc,GAAG,SAAS,CAAC;CACjC,CAAC;AAEN,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,KACjB,cAAc,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAAC,CAAC;AAEhF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AA6EnE,eAAO,MAAM,uBAAuB,GAClC,MAAM,cAAc,EACpB,SAAS,2BAA2B,KACnC,YAAY,GAAG,SA6DjB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,mBAAmB,CAAC,eAAe,CAAC,EAC9C,SAAS,2BAA2B,KACnC,YAAY,EAYd,CAAC;AAiCF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,SAAS,YAAY,EAAE,EAC7B,UAAS,mBAAwB,KAChC,cASF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,YAAY,EAAE,EAC7B,UAAS,mBAAwB,KAChC,qBAgBF,CAAC"}
@@ -22,6 +22,22 @@ const resolveFieldValue = (item, options) => {
22
22
  }
23
23
  return options.sampleParser(item.value[1], item);
24
24
  };
25
+ const resolveFieldMapping = (field, options) => {
26
+ const mapping = options.fieldMappings?.[field];
27
+ if (mapping === undefined) {
28
+ return options.unknownField === "drop" ? undefined : { field };
29
+ }
30
+ if (mapping === false) {
31
+ return undefined;
32
+ }
33
+ if (typeof mapping === "string") {
34
+ return { field: mapping };
35
+ }
36
+ return {
37
+ ...mapping,
38
+ field: mapping.as ?? field,
39
+ };
40
+ };
25
41
  export const mapVectorItemToFieldRow = (item, options) => {
26
42
  const labelSeparator = options.labelSeparator ?? defaultLabelSeparator;
27
43
  const indexLabels = options.indexLabels ?? [];
@@ -38,15 +54,31 @@ export const mapVectorItemToFieldRow = (item, options) => {
38
54
  return undefined;
39
55
  }
40
56
  const key = joinLabelValues(item.metric, options.keyLabels, labelSeparator);
41
- const field = joinLabelValues(item.metric, options.fieldLabels, labelSeparator);
42
- const value = resolveFieldValue(item, valueOptions);
43
- if (key === undefined || field === undefined || value === undefined) {
57
+ const rawField = options.field ??
58
+ (options.fieldLabels
59
+ ? joinLabelValues(item.metric, options.fieldLabels, labelSeparator)
60
+ : undefined);
61
+ if (key === undefined || rawField === undefined) {
62
+ return undefined;
63
+ }
64
+ const fieldMapping = resolveFieldMapping(rawField, options);
65
+ if (fieldMapping === undefined) {
66
+ return undefined;
67
+ }
68
+ const fieldValueOptions = {
69
+ ...valueOptions,
70
+ valueLabel: fieldMapping.valueLabel ?? valueOptions.valueLabel,
71
+ valueSource: fieldMapping.valueSource ?? valueOptions.valueSource,
72
+ sampleParser: fieldMapping.sampleParser ?? valueOptions.sampleParser,
73
+ };
74
+ const value = resolveFieldValue(item, fieldValueOptions);
75
+ if (value === undefined) {
44
76
  return undefined;
45
77
  }
46
78
  return {
47
79
  index,
48
80
  key,
49
- field,
81
+ field: fieldMapping.field,
50
82
  value,
51
83
  labels: { ...item.metric },
52
84
  sampleValue: item.value[1],
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/transform/records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/transform/records.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lwmacct/260529-promclient",
3
- "version": "0.15.260628",
3
+ "version": "0.16.260628",
4
4
  "private": false,
5
5
  "description": "Small Prometheus-compatible HTTP API client with PromQL helpers and response transforms.",
6
6
  "type": "module",