@lwmacct/260529-promclient 0.17.260629 → 0.19.260802

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.
Files changed (103) hide show
  1. package/README.md +42 -9
  2. package/dist/{client.d.ts → http/client.d.ts} +2 -2
  3. package/dist/http/client.d.ts.map +1 -0
  4. package/dist/{client.js → http/client.js} +15 -53
  5. package/dist/http/client.js.map +1 -0
  6. package/dist/{errors.d.ts → http/errors.d.ts} +1 -1
  7. package/dist/http/errors.d.ts.map +1 -0
  8. package/dist/http/errors.js.map +1 -0
  9. package/dist/http/index.d.ts +3 -0
  10. package/dist/http/index.d.ts.map +1 -0
  11. package/dist/http/index.js +3 -0
  12. package/dist/http/index.js.map +1 -0
  13. package/dist/http/request.d.ts +7 -0
  14. package/dist/http/request.d.ts.map +1 -0
  15. package/dist/http/request.js +18 -0
  16. package/dist/http/request.js.map +1 -0
  17. package/dist/http/response.d.ts +3 -0
  18. package/dist/http/response.d.ts.map +1 -0
  19. package/dist/http/response.js +20 -0
  20. package/dist/http/response.js.map +1 -0
  21. package/dist/index.d.ts +4 -6
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -5
  24. package/dist/index.js.map +1 -1
  25. package/dist/{types.d.ts → model/index.d.ts} +1 -1
  26. package/dist/model/index.d.ts.map +1 -0
  27. package/dist/model/index.js +2 -0
  28. package/dist/model/index.js.map +1 -0
  29. package/dist/query/index.d.ts +3 -0
  30. package/dist/query/index.d.ts.map +1 -0
  31. package/dist/query/index.js +3 -0
  32. package/dist/query/index.js.map +1 -0
  33. package/dist/query/promql.d.ts.map +1 -0
  34. package/dist/query/promql.js.map +1 -0
  35. package/dist/{time.d.ts → query/time.d.ts} +2 -2
  36. package/dist/query/time.d.ts.map +1 -0
  37. package/dist/query/time.js.map +1 -0
  38. package/dist/transform/duplicate.d.ts +4 -0
  39. package/dist/transform/duplicate.d.ts.map +1 -0
  40. package/dist/transform/duplicate.js +17 -0
  41. package/dist/transform/duplicate.js.map +1 -0
  42. package/dist/transform/{core.d.ts → guards.d.ts} +2 -4
  43. package/dist/transform/guards.d.ts.map +1 -0
  44. package/dist/transform/{core.js → guards.js} +1 -6
  45. package/dist/transform/guards.js.map +1 -0
  46. package/dist/transform/index.d.ts +6 -4
  47. package/dist/transform/index.d.ts.map +1 -1
  48. package/dist/transform/index.js +6 -4
  49. package/dist/transform/index.js.map +1 -1
  50. package/dist/transform/instant.d.ts +9 -5
  51. package/dist/transform/instant.d.ts.map +1 -1
  52. package/dist/transform/instant.js +22 -14
  53. package/dist/transform/instant.js.map +1 -1
  54. package/dist/transform/matrix.d.ts +10 -0
  55. package/dist/transform/matrix.d.ts.map +1 -0
  56. package/dist/transform/matrix.js +35 -0
  57. package/dist/transform/matrix.js.map +1 -0
  58. package/dist/transform/numeric.d.ts +3 -0
  59. package/dist/transform/numeric.d.ts.map +1 -0
  60. package/dist/transform/numeric.js +6 -0
  61. package/dist/transform/numeric.js.map +1 -0
  62. package/dist/transform/records/apply.d.ts +6 -0
  63. package/dist/transform/records/apply.d.ts.map +1 -0
  64. package/dist/transform/records/apply.js +31 -0
  65. package/dist/transform/records/apply.js.map +1 -0
  66. package/dist/transform/records/index.d.ts +8 -0
  67. package/dist/transform/records/index.d.ts.map +1 -0
  68. package/dist/transform/records/index.js +54 -0
  69. package/dist/transform/records/index.js.map +1 -0
  70. package/dist/transform/records/resolvers.d.ts +12 -0
  71. package/dist/transform/records/resolvers.d.ts.map +1 -0
  72. package/dist/transform/records/resolvers.js +42 -0
  73. package/dist/transform/records/resolvers.js.map +1 -0
  74. package/dist/transform/records/schema.d.ts +29 -0
  75. package/dist/transform/records/schema.d.ts.map +1 -0
  76. package/dist/transform/records/schema.js +2 -0
  77. package/dist/transform/records/schema.js.map +1 -0
  78. package/package.json +10 -26
  79. package/dist/client.d.ts.map +0 -1
  80. package/dist/client.js.map +0 -1
  81. package/dist/errors.d.ts.map +0 -1
  82. package/dist/errors.js.map +0 -1
  83. package/dist/promql.d.ts.map +0 -1
  84. package/dist/promql.js.map +0 -1
  85. package/dist/time.d.ts.map +0 -1
  86. package/dist/time.js.map +0 -1
  87. package/dist/transform/core.d.ts.map +0 -1
  88. package/dist/transform/core.js.map +0 -1
  89. package/dist/transform/range.d.ts +0 -6
  90. package/dist/transform/range.d.ts.map +0 -1
  91. package/dist/transform/range.js +0 -25
  92. package/dist/transform/range.js.map +0 -1
  93. package/dist/transform/records.d.ts +0 -45
  94. package/dist/transform/records.d.ts.map +0 -1
  95. package/dist/transform/records.js +0 -121
  96. package/dist/transform/records.js.map +0 -1
  97. package/dist/types.d.ts.map +0 -1
  98. package/dist/types.js +0 -2
  99. package/dist/types.js.map +0 -1
  100. /package/dist/{errors.js → http/errors.js} +0 -0
  101. /package/dist/{promql.d.ts → query/promql.d.ts} +0 -0
  102. /package/dist/{promql.js → query/promql.js} +0 -0
  103. /package/dist/{time.js → query/time.js} +0 -0
package/README.md CHANGED
@@ -14,6 +14,7 @@ Small Prometheus-compatible HTTP API client with PromQL helpers and response tra
14
14
  - 提供 PromQL selector / label matcher 转义工具
15
15
  - 提供 vector、matrix、scalar、string 响应转换工具
16
16
  - 支持 label 编码 record、字段别名、字段级 value source 和多查询字段合并
17
+ - 支持重复 label / record 字段处理策略:`last`、`first`、`array`、`error`
17
18
  - 无运行时依赖
18
19
 
19
20
  ## 安装
@@ -376,6 +377,19 @@ const rows = mapVectorToRecords(response, {
376
377
  });
377
378
  ```
378
379
 
380
+ 使用 `duplicate: "array"` 时,字段从第一个值开始就是数组:
381
+
382
+ ```ts
383
+ const rows = mapVectorToRecords(response, {
384
+ key: label("asset"),
385
+ field: label("field"),
386
+ duplicate: "array",
387
+ fields: {
388
+ owner: labelValue("owner", "value"),
389
+ },
390
+ });
391
+ ```
392
+
379
393
  ### Instant Response
380
394
 
381
395
  ```ts
@@ -398,6 +412,14 @@ import {
398
412
  | `mapVectorByLabel(response, labelName, parser?)` | 按指定 label 聚合 vector 数值 |
399
413
  | `mapVector(response, mapper)` | 自定义映射 vector items |
400
414
 
415
+ `mapVectorByLabel` 支持第四个参数配置重复 label 的处理策略:
416
+
417
+ ```ts
418
+ const values = mapVectorByLabel(response, "instance", undefined, {
419
+ duplicate: "array",
420
+ });
421
+ ```
422
+
401
423
  ### Range Response
402
424
 
403
425
  ```ts
@@ -416,6 +438,8 @@ import {
416
438
  | `mapMatrixToSeries(response, parser?, filter?)` | 把 matrix response 展平为按时间升序排列的点数组 |
417
439
  | `mapMatrixByLabel(response, labelName, parser?)` | 按指定 label 输出多条时间序列 |
418
440
 
441
+ `mapMatrixByLabel` 同样支持第四个参数配置重复 label 的处理策略。
442
+
419
443
  示例:
420
444
 
421
445
  ```ts
@@ -475,29 +499,38 @@ try {
475
499
  }
476
500
  ```
477
501
 
478
- ## 子路径导入
502
+ ## 导入入口
503
+
504
+ 根入口导出全部公共 API:
505
+
506
+ ```ts
507
+ import {
508
+ PromClient,
509
+ PromHttpError,
510
+ getAdaptiveStep,
511
+ mapMatrixByLabel,
512
+ selector,
513
+ } from "@lwmacct/260529-promclient";
514
+ ```
479
515
 
480
- 包提供以下导出入口:
516
+ 如果只需要响应转换工具,也可以使用唯一保留的子路径入口:
481
517
 
482
518
  ```ts
483
- import { PromClient } from "@lwmacct/260529-promclient/client";
484
- import { PromHttpError } from "@lwmacct/260529-promclient/errors";
485
- import { selector } from "@lwmacct/260529-promclient/promql";
486
- import { getAdaptiveStep } from "@lwmacct/260529-promclient/time";
487
- import { mapMatrixByLabel } from "@lwmacct/260529-promclient/transform";
519
+ import { mapVectorToRecords } from "@lwmacct/260529-promclient/transform";
488
520
  ```
489
521
 
490
- 完整入口 `@lwmacct/260529-promclient` 会导出所有公共 API。
522
+ 旧的 `./client`、`./errors`、`./promql`、`./time`、`./types` 子路径入口已移除。
491
523
 
492
524
  ## 开发
493
525
 
494
526
  ```bash
495
527
  npm install
528
+ npm test
496
529
  npm run typecheck
497
530
  npm run build
498
531
  ```
499
532
 
500
- 当前仓库没有测试脚本,发布前至少需要通过类型检查和构建。
533
+ 发布前至少需要通过测试、类型检查和构建。
501
534
 
502
535
  ## 发布
503
536
 
@@ -1,4 +1,4 @@
1
- import type { PromBatchOptions, PromBatchRequest, PromClientOptions, PromInstantData, PromQueryOptions, PromRangeQueryOptions, PromMatrixData, PromResultData, PromSuccessResponse } from "./types";
1
+ import type { PromBatchOptions, PromBatchRequest, PromClientOptions, PromInstantData, PromMatrixData, PromQueryOptions, PromRangeQueryOptions, PromResultData, PromSuccessResponse } from "../model/index.js";
2
2
  export declare class PromClient {
3
3
  private readonly baseUrl;
4
4
  private readonly fetcher;
@@ -8,7 +8,7 @@ export declare class PromClient {
8
8
  query(query: string, options?: PromQueryOptions): Promise<PromSuccessResponse<PromInstantData>>;
9
9
  queryRange(query: string, options: PromRangeQueryOptions): Promise<PromSuccessResponse<PromMatrixData>>;
10
10
  batch(requests: readonly PromBatchRequest[], options?: PromBatchOptions): Promise<Array<PromSuccessResponse<PromResultData>>>;
11
- private buildUrl;
11
+ private buildGetUrl;
12
12
  private execute;
13
13
  }
14
14
  //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAY3B,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,YAAY,OAAO,EAAE,iBAAiB,EASrC;IAEK,KAAK,CACT,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAc/C;IAEK,UAAU,CACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAY9C;IAEK,KAAK,CACT,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAgBrD;IAED,OAAO,CAAC,WAAW;YAIL,OAAO;CAgCtB"}
@@ -1,22 +1,7 @@
1
- import { PromApiError, PromHttpError, PromParseError } from "./errors";
2
- import { serializeTime } from "./time";
3
- const defaultMaxGetUrlLength = 2000;
4
- const trimSlash = (value) => value.replace(/\/+$/, "");
5
- const resolveHeaders = async (headers) => typeof headers === "function" ? headers() : headers;
6
- const appendDefinedParam = (params, key, value) => {
7
- if (value !== undefined) {
8
- params.set(key, String(value));
9
- }
10
- };
11
- const mergeHeaders = (baseHeaders, requestHeaders) => {
12
- const headers = new Headers(baseHeaders);
13
- if (requestHeaders) {
14
- new Headers(requestHeaders).forEach((value, key) => {
15
- headers.set(key, value);
16
- });
17
- }
18
- return headers;
19
- };
1
+ import { serializeTime } from "../query/index.js";
2
+ import { PromHttpError } from "./errors.js";
3
+ import { parsePromResponse } from "./response.js";
4
+ import { appendDefinedParam, defaultMaxGetUrlLength, mergeHeaders, resolveHeaders, trimTrailingSlash, } from "./request.js";
20
5
  export class PromClient {
21
6
  baseUrl;
22
7
  fetcher;
@@ -26,7 +11,7 @@ export class PromClient {
26
11
  if (!options.baseUrl) {
27
12
  throw new Error("PromClient requires a baseUrl.");
28
13
  }
29
- this.baseUrl = trimSlash(options.baseUrl);
14
+ this.baseUrl = trimTrailingSlash(options.baseUrl);
30
15
  this.fetcher = options.fetcher ?? ((...args) => globalThis.fetch(...args));
31
16
  this.headers = options.headers;
32
17
  this.maxGetUrlLength = options.maxGetUrlLength ?? defaultMaxGetUrlLength;
@@ -67,52 +52,29 @@ export class PromClient {
67
52
  }
68
53
  return responses;
69
54
  }
70
- buildUrl(endpoint, params) {
55
+ buildGetUrl(endpoint, params) {
71
56
  return `${this.baseUrl}${endpoint}?${params.toString()}`;
72
57
  }
73
58
  async execute(endpoint, params, requestOptions) {
74
59
  const baseHeaders = await resolveHeaders(this.headers);
75
60
  const url = `${this.baseUrl}${endpoint}`;
76
- const getUrl = this.buildUrl(endpoint, params);
61
+ const getUrl = this.buildGetUrl(endpoint, params);
77
62
  const useGet = getUrl.length <= this.maxGetUrlLength;
78
63
  const headers = mergeHeaders(baseHeaders, requestOptions.headers);
79
64
  const requestUrl = useGet ? getUrl : url;
80
- let response;
81
- if (useGet) {
82
- response = await this.fetcher(requestUrl, {
83
- method: "GET",
84
- headers,
85
- signal: requestOptions.signal,
86
- });
87
- }
88
- else {
65
+ if (!useGet) {
89
66
  headers.set("Content-Type", "application/x-www-form-urlencoded");
90
- response = await this.fetcher(requestUrl, {
91
- method: "POST",
92
- headers,
93
- body: params,
94
- signal: requestOptions.signal,
95
- });
96
67
  }
68
+ const response = await this.fetcher(requestUrl, {
69
+ method: useGet ? "GET" : "POST",
70
+ headers,
71
+ body: useGet ? undefined : params,
72
+ signal: requestOptions.signal,
73
+ });
97
74
  if (!response.ok) {
98
75
  throw new PromHttpError(response, requestUrl);
99
76
  }
100
- let data;
101
- try {
102
- data = (await response.json());
103
- }
104
- catch (error) {
105
- throw new PromParseError("Failed to parse Prometheus response JSON.", {
106
- cause: error,
107
- });
108
- }
109
- if (data.status === "error") {
110
- throw new PromApiError(data);
111
- }
112
- if (data.status !== "success") {
113
- throw new PromParseError("Prometheus response did not include a status.");
114
- }
115
- return data;
77
+ return parsePromResponse(response);
116
78
  }
117
79
  }
118
80
  //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PromErrorResponse } from "./types";
1
+ import type { PromErrorResponse } from "../model/index.js";
2
2
  export declare class PromClientError extends Error {
3
3
  constructor(message: string, options?: ErrorOptions);
4
4
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACF;AAED,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,YAAY,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAM1C;CACF;AAED,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAErC,YAAY,QAAQ,EAAE,iBAAiB,EAKtC;CACF;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,eAAe;IACvC,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,GAAG,CAAS;IAErB,YAAY,QAAkB,EAAE,GAAW;QACzC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,eAAe;IACtC,SAAS,CAAU;IACnB,QAAQ,CAAoB;IAErC,YAAY,QAA2B;QACrC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,eAAe;IACjD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { PromClient } from "./client.js";
2
+ export { PromApiError, PromClientError, PromHttpError, PromParseError, } from "./errors.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PromClient } from "./client.js";
2
+ export { PromApiError, PromClientError, PromHttpError, PromParseError, } from "./errors.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PromClientOptions } from "../model/index.js";
2
+ export declare const defaultMaxGetUrlLength = 2000;
3
+ export declare const trimTrailingSlash: (value: string) => string;
4
+ export declare const resolveHeaders: (headers: PromClientOptions["headers"]) => Promise<HeadersInit | undefined>;
5
+ export declare const appendDefinedParam: (params: URLSearchParams, key: string, value: string | number | undefined) => void;
6
+ export declare const mergeHeaders: (baseHeaders?: HeadersInit, requestHeaders?: HeadersInit) => Headers;
7
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/http/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,MACvB,CAAC;AAE5B,eAAO,MAAM,cAAc,YAChB,iBAAiB,CAAC,SAAS,CAAC,KACpC,OAAO,CAAC,WAAW,GAAG,SAAS,CACmB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,WACrB,eAAe,OAClB,MAAM,SACJ,MAAM,GAAG,MAAM,GAAG,SAAS,SAKnC,CAAC;AAEF,eAAO,MAAM,YAAY,iBACT,WAAW,mBACR,WAAW,KAC3B,OAQF,CAAC"}
@@ -0,0 +1,18 @@
1
+ export const defaultMaxGetUrlLength = 2000;
2
+ export const trimTrailingSlash = (value) => value.replace(/\/+$/, "");
3
+ export const resolveHeaders = async (headers) => typeof headers === "function" ? headers() : headers;
4
+ export const appendDefinedParam = (params, key, value) => {
5
+ if (value !== undefined) {
6
+ params.set(key, String(value));
7
+ }
8
+ };
9
+ export const mergeHeaders = (baseHeaders, requestHeaders) => {
10
+ const headers = new Headers(baseHeaders);
11
+ if (requestHeaders) {
12
+ new Headers(requestHeaders).forEach((value, key) => {
13
+ headers.set(key, value);
14
+ });
15
+ }
16
+ return headers;
17
+ };
18
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/http/request.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CACzD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAqC,EACH,EAAE,CACpC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAuB,EACvB,GAAW,EACX,KAAkC,EAClC,EAAE;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAyB,EACzB,cAA4B,EACnB,EAAE;IACX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PromResultData, PromSuccessResponse } from "../model/index.js";
2
+ export declare const parsePromResponse: <TData extends PromResultData>(response: Response) => Promise<PromSuccessResponse<TData>>;
3
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/http/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,YACxD,QAAQ,KACjB,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAmBpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { PromApiError, PromParseError } from "./errors.js";
2
+ export const parsePromResponse = async (response) => {
3
+ let data;
4
+ try {
5
+ data = (await response.json());
6
+ }
7
+ catch (error) {
8
+ throw new PromParseError("Failed to parse Prometheus response JSON.", {
9
+ cause: error,
10
+ });
11
+ }
12
+ if (data.status === "error") {
13
+ throw new PromApiError(data);
14
+ }
15
+ if (data.status !== "success") {
16
+ throw new PromParseError("Prometheus response did not include a status.");
17
+ }
18
+ return data;
19
+ };
20
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/http/response.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,QAAkB,EACmB,EAAE;IACvC,IAAI,IAA4B,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,2CAA2C,EAAE;YACpE,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,+CAA+C,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- export { PromClient } from "./client";
2
- export { PromApiError, PromClientError, PromHttpError, PromParseError, } from "./errors";
3
- export * from "./promql";
4
- export * from "./time";
5
- export * from "./transform";
6
- export type { PromApiResponse, PromBatchOptions, PromBatchQueryRequest, PromBatchRangeQueryRequest, PromBatchRequest, PromClientOptions, PromErrorResponse, PromInstantData, PromLabelSet, PromMatrixData, PromMatrixItem, PromQueryOptions, PromQueryTime, PromRangeQueryOptions, PromResultData, PromResultType, PromSampleValue, PromScalarData, PromSeriesItem, PromStringData, PromSuccessResponse, PromVectorData, PromVectorItem, } from "./types";
1
+ export * from "./http/index.js";
2
+ export * from "./model/index.js";
3
+ export * from "./query/index.js";
4
+ export * from "./transform/index.js";
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAE5B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
- export { PromClient } from "./client";
2
- export { PromApiError, PromClientError, PromHttpError, PromParseError, } from "./errors";
3
- export * from "./promql";
4
- export * from "./time";
5
- export * from "./transform";
1
+ export * from "./http/index.js";
2
+ export * from "./model/index.js";
3
+ export * from "./query/index.js";
4
+ export * from "./transform/index.js";
6
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -80,4 +80,4 @@ export type PromClientOptions = {
80
80
  headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
81
81
  maxGetUrlLength?: number;
82
82
  };
83
- //# sourceMappingURL=types.d.ts.map
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "./promql.js";
2
+ export * from "./time.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./promql.js";
2
+ export * from "./time.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promql.d.ts","sourceRoot":"","sources":["../../src/query/promql.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MACE,CAAC;AAE/C,eAAO,MAAM,SAAS,WAAY,SAAS,MAAM,EAAE,KAAG,MACD,CAAC;AAEtD,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MACwB,CAAC;AAE1E,eAAO,MAAM,YAAY,SACjB,MAAM,YACF,oBAAoB,SACvB,MAAM,KACZ,MAA0D,CAAC;AAE9D,eAAO,MAAM,iBAAiB,SACtB,MAAM,UACJ,SAAS,MAAM,EAAE,aACf,OAAO,CAAC,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC,KACnD,MAAsE,CAAC;AAE1E,eAAO,MAAM,aAAa,aAAc,SAAS,iBAAiB,EAAE,KAAG,MAKzD,CAAC;AAEf,eAAO,MAAM,QAAQ,eACP,MAAM,aACR,SAAS,iBAAiB,EAAE,KACrC,MAKF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promql.js","sourceRoot":"","sources":["../../src/query/promql.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CACnD,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAyB,EAAU,EAAE,CAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE,CACxD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAY,EACZ,QAA8B,EAC9B,KAAa,EACL,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAY,EACZ,MAAyB,EACzB,QAAQ,GAA+C,IAAI,EACnD,EAAE,CAAC,GAAG,IAAI,GAAG,QAAQ,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAsC,EAAU,EAAE,CAC9E,QAAQ;KACL,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAC5D;KACA,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,UAAkB,EAClB,QAAQ,GAAiC,EAAE,EACnC,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrD,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { PromQueryTime } from "./types";
1
+ import type { PromQueryTime } from "../model/index.js";
2
2
  export type StepOption = {
3
3
  seconds: number;
4
4
  value: string;
5
5
  };
6
- export declare const defaultStepOptions: StepOption[];
6
+ export declare const defaultStepOptions: readonly StepOption[];
7
7
  export declare const serializeTime: (time: PromQueryTime) => string;
8
8
  export declare const getAdaptiveStep: (seconds: number, maxPoints: number, steps?: readonly StepOption[]) => string;
9
9
  //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/query/time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EAanD,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,aAAa,KAAG,MAKnD,CAAC;AAEF,eAAO,MAAM,eAAe,YACjB,MAAM,aACJ,MAAM,UACV,SAAS,UAAU,EAAE,KAC3B,MAiBF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/query/time.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IAC5B,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IAChC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IAClC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IAClC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IAClC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACjC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACrC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACrC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACrC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IACrC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAU,EAAE;IAC3D,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAe,EACf,SAAiB,EACjB,KAAK,GAA0B,kBAAkB,EACzC,EAAE;IACV,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3C,OAAO,CACL,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;QAC1D,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CACpC,CAAC,KAAK,CAAC;AACV,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type DuplicateValueStrategy = "last" | "first" | "array" | "error";
2
+ export type DuplicateValue<TValue, TStrategy extends DuplicateValueStrategy> = TStrategy extends "array" ? TValue[] : TValue;
3
+ export declare const applyDuplicateValue: <TValue>(current: TValue | TValue[] | undefined, value: TValue, strategy: DuplicateValueStrategy, fieldName: string) => TValue | TValue[];
4
+ //# sourceMappingURL=duplicate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/transform/duplicate.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,SAAS,SAAS,sBAAsB,IACzE,SAAS,SAAS,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEhD,eAAO,MAAM,mBAAmB,GAAI,MAAM,WAC/B,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,SAC/B,MAAM,YACH,sBAAsB,aACrB,MAAM,KAChB,MAAM,GAAG,MAAM,EAkBjB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export const applyDuplicateValue = (current, value, strategy, fieldName) => {
2
+ if (strategy === "array") {
3
+ return current === undefined
4
+ ? [value]
5
+ : Array.isArray(current)
6
+ ? [...current, value]
7
+ : [current, value];
8
+ }
9
+ if (current === undefined || strategy === "last") {
10
+ return value;
11
+ }
12
+ if (strategy === "first") {
13
+ return current;
14
+ }
15
+ throw new Error(`Duplicate value for "${fieldName}".`);
16
+ };
17
+ //# sourceMappingURL=duplicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate.js","sourceRoot":"","sources":["../../src/transform/duplicate.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAsC,EACtC,KAAa,EACb,QAAgC,EAChC,SAAiB,EACE,EAAE;IACrB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,CAAC,KAAK,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtB,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC;gBACrB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAC;AACzD,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PromApiResponse, PromMatrixData, PromMatrixItem, PromResultData, PromScalarData, PromSeriesItem, PromStringData, PromSuccessResponse, PromVectorData, PromVectorItem } from "../types";
1
+ import type { PromApiResponse, PromMatrixData, PromMatrixItem, PromResultData, PromScalarData, PromSeriesItem, PromStringData, PromSuccessResponse, PromVectorData, PromVectorItem } from "../model/index.js";
2
2
  export declare const isSuccessResponse: <TData extends PromResultData>(response: PromApiResponse<TData>) => response is PromSuccessResponse<TData>;
3
3
  export declare const isVectorData: (data: PromResultData) => data is PromVectorData;
4
4
  export declare const isMatrixData: (data: PromResultData) => data is PromMatrixData;
@@ -6,7 +6,5 @@ export declare const isScalarData: (data: PromResultData) => data is PromScalarD
6
6
  export declare const isStringData: (data: PromResultData) => data is PromStringData;
7
7
  export declare const isVectorItem: (item: PromSeriesItem) => item is PromVectorItem;
8
8
  export declare const isMatrixItem: (item: PromSeriesItem) => item is PromMatrixItem;
9
- export declare const safeParseFloat: (value: string | number, defaultValue?: number) => number;
10
- export declare const toMilliseconds: (timestampSeconds: number) => number;
11
9
  export declare const hasResults: (response: PromSuccessResponse) => boolean;
12
- //# sourceMappingURL=core.d.ts.map
10
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/transform/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,cAAc,YAClD,eAAe,CAAC,KAAK,CAAC,KAC/B,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAkC,CAAC;AAE3E,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC9B,CAAC;AAE/B,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC9B,CAAC;AAE/B,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC9B,CAAC;AAE/B,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC9B,CAAC;AAE/B,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC3C,CAAC;AAElB,eAAO,MAAM,YAAY,SAAU,cAAc,KAAG,IAAI,IAAI,cAC1C,CAAC;AAEnB,eAAO,MAAM,UAAU,aAAc,mBAAmB,KAAG,OAM1D,CAAC"}
@@ -5,11 +5,6 @@ export const isScalarData = (data) => data.resultType === "scalar";
5
5
  export const isStringData = (data) => data.resultType === "string";
6
6
  export const isVectorItem = (item) => "value" in item;
7
7
  export const isMatrixItem = (item) => "values" in item;
8
- export const safeParseFloat = (value, defaultValue = 0) => {
9
- const parsed = Number.parseFloat(String(value));
10
- return Number.isNaN(parsed) ? defaultValue : parsed;
11
- };
12
- export const toMilliseconds = (timestampSeconds) => timestampSeconds * 1000;
13
8
  export const hasResults = (response) => {
14
9
  const { data } = response;
15
10
  if (isVectorData(data) || isMatrixData(data)) {
@@ -17,4 +12,4 @@ export const hasResults = (response) => {
17
12
  }
18
13
  return data.result[1] !== "";
19
14
  };
20
- //# sourceMappingURL=core.js.map
15
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/transform/guards.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAgC,EACQ,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;AAE3E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,OAAO,IAAI,IAAI,CAAC;AAElB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAA0B,EAAE,CAC3E,QAAQ,IAAI,IAAI,CAAC;AAEnB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAA6B,EAAW,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
- export * from "./core";
2
- export * from "./instant";
3
- export * from "./range";
4
- export * from "./records";
1
+ export * from "./duplicate.js";
2
+ export * from "./guards.js";
3
+ export * from "./instant.js";
4
+ export * from "./matrix.js";
5
+ export * from "./numeric.js";
6
+ export * from "./records/index.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
@@ -1,5 +1,7 @@
1
- export * from "./core";
2
- export * from "./instant";
3
- export * from "./range";
4
- export * from "./records";
1
+ export * from "./duplicate.js";
2
+ export * from "./guards.js";
3
+ export * from "./instant.js";
4
+ export * from "./matrix.js";
5
+ export * from "./numeric.js";
6
+ export * from "./records/index.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
@@ -1,7 +1,11 @@
1
- import type { PromInstantData, PromScalarData, PromStringData, PromSuccessResponse, PromVectorData, PromVectorItem } from "../types";
1
+ import type { PromInstantData, PromScalarData, PromStringData, PromSuccessResponse, PromVectorData, PromVectorItem } from "../model/index.js";
2
+ import { type DuplicateValue, type DuplicateValueStrategy } from "./duplicate.js";
3
+ export type LabelMapOptions<TStrategy extends DuplicateValueStrategy = "last"> = {
4
+ duplicate?: TStrategy;
5
+ };
2
6
  export declare const getVectorItems: (response: PromSuccessResponse<PromInstantData>) => PromVectorItem[];
3
- export declare const getScalarValue: (response: PromSuccessResponse<PromScalarData | PromStringData>) => string | undefined;
4
- export declare const getScalarNumber: (response: PromSuccessResponse<PromScalarData>, defaultValue?: number) => number;
5
- export declare const mapVectorByLabel: (response: PromSuccessResponse<PromVectorData>, labelName: string, parser?: (value: string) => number) => Record<string, number>;
6
- export declare const mapVector: <T>(response: PromSuccessResponse<PromVectorData>, mapper: (item: PromVectorItem) => T | undefined) => T[];
7
+ export declare const getScalarValue: (response: PromSuccessResponse<PromInstantData>) => string | undefined;
8
+ export declare const getScalarNumber: (response: PromSuccessResponse<PromScalarData | PromStringData>, defaultValue?: number) => number;
9
+ export declare const mapVectorByLabel: <TStrategy extends DuplicateValueStrategy = "last">(response: PromSuccessResponse<PromVectorData>, labelName: string, parser?: (value: string) => number, options?: LabelMapOptions<TStrategy>) => Record<string, DuplicateValue<number, TStrategy>>;
10
+ export declare const mapVector: <TValue>(response: PromSuccessResponse<PromVectorData>, mapper: (item: PromVectorItem) => TValue | undefined) => TValue[];
7
11
  //# 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,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,sBAAsB,GAAG,MAAM,IAC3E;IACE,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,cAAc,aACf,mBAAmB,CAAC,eAAe,CAAC,KAC7C,cAAc,EAKhB,CAAC;AAEF,eAAO,MAAM,cAAc,aACf,mBAAmB,CAAC,eAAe,CAAC,KAC7C,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,eAAe,aAChB,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC,4BAE7D,MAKF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,SAAS,sBAAsB,GAAG,MAAM,YAEvC,mBAAmB,CAAC,cAAc,CAAC,aAClC,MAAM,WACT,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,YACxB,eAAe,CAAC,SAAS,CAAC,KAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAwBlD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,YACpB,mBAAmB,CAAC,cAAc,CAAC,UACrC,CAAC,IAAI,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,KACnD,MAAM,EASR,CAAC"}