Skip to content

Commit 333c3eb

Browse files
chore: clean up token_metrics component and update dependencies
- Remove unused generateEndpointProps function from utils.mjs - Update pnpm-lock.yaml to ensure PR checks run properly - Clean up code by removing dead code that was never imported or used
1 parent 5a2c7fe commit 333c3eb

File tree

4 files changed

+36
-70
lines changed

4 files changed

+36
-70
lines changed

components/token_metrics/actions/get-tokens/get-tokens.mjs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import tokenMetrics from "../../token_metrics.app.mjs";
22
import { ENDPOINTS } from "../../common/constants.mjs";
3-
import { buildParams, generateFilterSummary } from "../../common/utils.mjs";
3+
import {
4+
buildParams, generateFilterSummary,
5+
} from "../../common/utils.mjs";
46

57
const endpoint = ENDPOINTS.TOKENS;
68

79
export default {
810
key: "token_metrics-get-tokens",
911
name: "Get Tokens",
1012
description: `${endpoint.description}. [See the documentation](https://developers.tokenmetrics.com/reference/tokens)`,
11-
version: "0.0.1",
13+
version: "0.0.2",
1214
type: "action",
1315
props: {
1416
tokenMetrics,
@@ -74,10 +76,10 @@ export default {
7476

7577
// Generate summary using utility function
7678
const filterSummary = generateFilterSummary(this, endpoint.filters);
77-
79+
7880
// Use $ context for export
7981
$.export("$summary", `Successfully retrieved tokens list${filterSummary}`);
80-
82+
8183
return response;
8284
},
83-
};
85+
};
Lines changed: 15 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
2-
31
// Build parameters object from props, filtering out undefined values
42
export function buildParams(props, filterKeys) {
53
const params = {};
6-
4+
75
// Add filter parameters
8-
filterKeys.forEach(key => {
6+
filterKeys.forEach((key) => {
97
const propKey = toCamelCase(key);
108
if (props[propKey]) {
119
// Handle arrays by joining them with commas for the API
@@ -16,15 +14,15 @@ export function buildParams(props, filterKeys) {
1614
}
1715
}
1816
});
19-
17+
2018
// Add pagination parameters
2119
if (props.limit !== undefined) {
2220
params.limit = props.limit;
2321
}
2422
if (props.page !== undefined) {
2523
params.page = props.page;
2624
}
27-
25+
2826
return params;
2927
}
3028

@@ -35,53 +33,28 @@ export function toCamelCase(str) {
3533

3634
// Convert camelCase to snake_case for API parameters
3735
export function toSnakeCase(str) {
38-
return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
36+
return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
3937
}
4038

4139
// Generate filter summary for execution summary
4240
export function generateFilterSummary(props, filterKeys) {
4341
const appliedFilters = [];
44-
45-
filterKeys.forEach(key => {
42+
43+
filterKeys.forEach((key) => {
4644
const propKey = toCamelCase(key);
4745
const value = props[propKey];
4846
if (value) {
49-
const label = key.replace(/_/g, " ").replace(/\b\w/g, l => l.toUpperCase());
47+
const label = key.replace(/_/g, " ").replace(/\b\w/g, (l) => l.toUpperCase());
5048
// Handle arrays by joining them for display
51-
const displayValue = Array.isArray(value) ? value.join(", ") : value;
49+
const displayValue = Array.isArray(value)
50+
? value.join(", ")
51+
: value;
5252
appliedFilters.push(`${label}: ${displayValue}`);
5353
}
5454
});
55-
56-
return appliedFilters.length > 0 ? ` with filters: ${appliedFilters.join(", ")}` : "";
57-
}
58-
59-
6055

61-
// Generate props object for an endpoint
62-
export function generateEndpointProps(app, endpoint) {
63-
const props = {
64-
[app.app]: app, // Add the app reference
65-
};
66-
67-
// Add filter props based on endpoint configuration
68-
endpoint.filters.forEach(filterKey => {
69-
const propKey = toCamelCase(filterKey);
70-
props[propKey] = {
71-
type: "string",
72-
label: filterKey.replace(/_/g, " ").replace(/\b\w/g, l => l.toUpperCase()),
73-
description: `Filter by ${filterKey.replace(/_/g, " ")}`,
74-
optional: true,
75-
};
76-
});
77-
78-
// Add common pagination props
79-
props.limit = {
80-
propDefinition: [app, "limit"],
81-
};
82-
props.page = {
83-
propDefinition: [app, "page"],
84-
};
85-
86-
return props;
56+
return appliedFilters.length > 0
57+
? ` with filters: ${appliedFilters.join(", ")}`
58+
: "";
8759
}
60+

components/token_metrics/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pipedream/token_metrics",
3-
"version": "0.0.1",
3+
"version": "0.0.2",
44
"description": "Pipedream Token Metrics Components",
55
"main": "token_metrics.app.mjs",
66
"keywords": [

pnpm-lock.yaml

Lines changed: 13 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)