@certik/skynet 0.25.5 → 0.25.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.25.6
4
+
5
+ - Fix Nomad job names for indexers with boolean selector flags: `getJobName` no longer appends `-false` when optional flags default to `false` (e.g. `force`, `forceUpdate`). Unset string selectors (`undefined`, `null`, empty string) are also omitted from the job name suffix.
6
+
3
7
  ## 0.25.5
4
8
 
5
9
  - Fix indexer process hanging after execution completes due to open DynamoDB HTTP keep-alive connections
package/bun.lockb ADDED
Binary file
package/dist/api.js CHANGED
@@ -1,41 +1,3 @@
1
- // src/selector.ts
2
- function getSelectorDesc(selector) {
3
- return Object.keys(selector).map((name) => {
4
- return ` --${name.padEnd(14)}${selector[name].desc || selector[name].description || ""}`;
5
- }).join(`
6
- `);
7
- }
8
- function getSelectorFlags(selector) {
9
- return Object.keys(selector).reduce((acc, name) => {
10
- const flag = {
11
- type: selector[name].type || "string",
12
- ...selector[name]
13
- };
14
- if (!selector[name].optional && selector[name].isRequired !== false) {
15
- flag.isRequired = true;
16
- }
17
- return { ...acc, [name]: flag };
18
- }, {});
19
- }
20
- function toSelectorString(selectorFlags, delim = ",") {
21
- return Object.keys(selectorFlags).sort().map((flag) => {
22
- return `${flag}=${selectorFlags[flag]}`;
23
- }).join(delim);
24
- }
25
- function normalizeSelectorValue(v) {
26
- return v.replace(/[^A-Za-z0-9]+/g, "-");
27
- }
28
- function getJobName(name, selectorFlags, mode) {
29
- const selectorNamePart = Object.keys(selectorFlags).sort().map((name2) => selectorFlags[name2]).join("-");
30
- let jobName = name;
31
- if (mode) {
32
- jobName += `-${mode}`;
33
- }
34
- if (selectorNamePart.length > 0) {
35
- jobName += `-${normalizeSelectorValue(selectorNamePart)}`;
36
- }
37
- return jobName;
38
- }
39
1
  // src/env.ts
40
2
  function ensureAndGet(envName, defaultValue) {
41
3
  return process.env[envName] || defaultValue;
@@ -112,6 +74,53 @@ var logger = {
112
74
  }
113
75
  }
114
76
  };
77
+ // src/selector.ts
78
+ function getSelectorDesc(selector) {
79
+ return Object.keys(selector).map((name) => {
80
+ return ` --${name.padEnd(14)}${selector[name].desc || selector[name].description || ""}`;
81
+ }).join(`
82
+ `);
83
+ }
84
+ function getSelectorFlags(selector) {
85
+ return Object.keys(selector).reduce((acc, name) => {
86
+ const flag = {
87
+ type: selector[name].type || "string",
88
+ ...selector[name]
89
+ };
90
+ if (!selector[name].optional && selector[name].isRequired !== false) {
91
+ flag.isRequired = true;
92
+ }
93
+ return { ...acc, [name]: flag };
94
+ }, {});
95
+ }
96
+ function toSelectorString(selectorFlags, delim = ",") {
97
+ return Object.keys(selectorFlags).sort().map((flag) => {
98
+ return `${flag}=${selectorFlags[flag]}`;
99
+ }).join(delim);
100
+ }
101
+ function normalizeSelectorValue(v) {
102
+ return v.replace(/[^A-Za-z0-9]+/g, "-");
103
+ }
104
+ function includeSelectorValueInJobName(value) {
105
+ if (value === false)
106
+ return false;
107
+ if (value === undefined || value === null)
108
+ return false;
109
+ if (value === "")
110
+ return false;
111
+ return true;
112
+ }
113
+ function getJobName(name, selectorFlags, mode) {
114
+ const selectorNamePart = Object.keys(selectorFlags).sort().map((key) => selectorFlags[key]).filter(includeSelectorValueInJobName).map((value) => String(value)).join("-");
115
+ let jobName = name;
116
+ if (mode) {
117
+ jobName += `-${mode}`;
118
+ }
119
+ if (selectorNamePart.length > 0) {
120
+ jobName += `-${normalizeSelectorValue(selectorNamePart)}`;
121
+ }
122
+ return jobName;
123
+ }
115
124
  // src/api.ts
116
125
  import osModule from "os";
117
126
  import express from "express";