@n8n/utils 1.16.0 → 1.18.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.
Files changed (55) hide show
  1. package/dist/assert.cjs +7 -5
  2. package/dist/assert.cjs.map +1 -1
  3. package/dist/assert.d.cts +3 -1
  4. package/dist/assert.d.ts +3 -1
  5. package/dist/assert.js +8 -7
  6. package/dist/assert.js.map +1 -1
  7. package/dist/event-bus.cjs +39 -35
  8. package/dist/event-bus.cjs.map +1 -1
  9. package/dist/event-bus.d.cts +9 -9
  10. package/dist/event-bus.d.ts +9 -9
  11. package/dist/event-bus.js +40 -37
  12. package/dist/event-bus.js.map +1 -1
  13. package/dist/event-queue.cjs +36 -25
  14. package/dist/event-queue.cjs.map +1 -1
  15. package/dist/event-queue.d.cts +4 -2
  16. package/dist/event-queue.d.ts +4 -2
  17. package/dist/event-queue.js +37 -27
  18. package/dist/event-queue.js.map +1 -1
  19. package/dist/number/smartDecimal.cjs +7 -10
  20. package/dist/number/smartDecimal.cjs.map +1 -1
  21. package/dist/number/smartDecimal.d.cts +3 -1
  22. package/dist/number/smartDecimal.d.ts +3 -1
  23. package/dist/number/smartDecimal.js +8 -12
  24. package/dist/number/smartDecimal.js.map +1 -1
  25. package/dist/retry.cjs +35 -26
  26. package/dist/retry.cjs.map +1 -1
  27. package/dist/retry.d.cts +3 -1
  28. package/dist/retry.d.ts +3 -1
  29. package/dist/retry.js +36 -28
  30. package/dist/retry.js.map +1 -1
  31. package/dist/search/reRankSearchResults.cjs +15 -17
  32. package/dist/search/reRankSearchResults.cjs.map +1 -1
  33. package/dist/search/reRankSearchResults.d.cts +8 -6
  34. package/dist/search/reRankSearchResults.d.ts +8 -6
  35. package/dist/search/reRankSearchResults.js +16 -19
  36. package/dist/search/reRankSearchResults.js.map +1 -1
  37. package/dist/search/sublimeSearch.cjs +161 -186
  38. package/dist/search/sublimeSearch.cjs.map +1 -1
  39. package/dist/search/sublimeSearch.d.cts +9 -7
  40. package/dist/search/sublimeSearch.d.ts +9 -7
  41. package/dist/search/sublimeSearch.js +160 -187
  42. package/dist/search/sublimeSearch.js.map +1 -1
  43. package/dist/sort/sortByProperty.cjs +9 -8
  44. package/dist/sort/sortByProperty.cjs.map +1 -1
  45. package/dist/sort/sortByProperty.d.cts +3 -1
  46. package/dist/sort/sortByProperty.d.ts +3 -1
  47. package/dist/sort/sortByProperty.js +10 -10
  48. package/dist/sort/sortByProperty.js.map +1 -1
  49. package/dist/string/truncate.cjs +27 -27
  50. package/dist/string/truncate.cjs.map +1 -1
  51. package/dist/string/truncate.d.cts +3 -1
  52. package/dist/string/truncate.d.ts +3 -1
  53. package/dist/string/truncate.js +26 -28
  54. package/dist/string/truncate.js.map +1 -1
  55. package/package.json +7 -7
package/dist/retry.cjs CHANGED
@@ -1,31 +1,40 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/retry.ts
1
+
2
+ //#region src/retry.ts
3
+ /**
4
+ * A utility that retries a function every `interval` milliseconds
5
+ * until the function returns true or the maximum number of retries is reached.
6
+ *
7
+ * @param fn - A function that returns a boolean or a Promise resolving to a boolean.
8
+ * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.
9
+ * @param maxRetries - The maximum number of retry attempts. Defaults to 3.
10
+ * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.
11
+ * @returns {Promise<boolean>} - A promise that resolves to:
12
+ * - true: If the function returns true before reaching maxRetries.
13
+ * - false: If the function never returns true or if an error occurs.
14
+ */
2
15
  async function retry(fn, interval = 1e3, maxRetries = 3, backoff = "linear") {
3
- let attempt = 0;
4
- while (attempt < maxRetries) {
5
- attempt++;
6
- try {
7
- const result = await fn();
8
- if (result) {
9
- return true;
10
- }
11
- } catch (error) {
12
- console.error("Error during retry:", error);
13
- throw error;
14
- }
15
- if (attempt < maxRetries) {
16
- let computedInterval = interval;
17
- if (backoff === "linear") {
18
- computedInterval = interval * attempt;
19
- } else if (backoff === "exponential") {
20
- computedInterval = Math.pow(2, attempt - 1) * interval;
21
- computedInterval = Math.min(computedInterval, 3e4);
22
- }
23
- await new Promise((resolve) => setTimeout(resolve, computedInterval));
24
- }
25
- }
26
- return false;
16
+ let attempt = 0;
17
+ while (attempt < maxRetries) {
18
+ attempt++;
19
+ try {
20
+ if (await fn()) return true;
21
+ } catch (error) {
22
+ console.error("Error during retry:", error);
23
+ throw error;
24
+ }
25
+ if (attempt < maxRetries) {
26
+ let computedInterval = interval;
27
+ if (backoff === "linear") computedInterval = interval * attempt;
28
+ else if (backoff === "exponential") {
29
+ computedInterval = Math.pow(2, attempt - 1) * interval;
30
+ computedInterval = Math.min(computedInterval, 3e4);
31
+ }
32
+ await new Promise((resolve) => setTimeout(resolve, computedInterval));
33
+ }
34
+ }
35
+ return false;
27
36
  }
28
37
 
29
-
38
+ //#endregion
30
39
  exports.retry = retry;
31
40
  //# sourceMappingURL=retry.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/n8n/n8n/packages/@n8n/utils/dist/retry.cjs","../src/retry.ts"],"names":[],"mappings":"AAAA;ACcA,MAAA,SAAsB,KAAA,CACrB,EAAA,EACA,SAAA,EAAmB,GAAA,EACnB,WAAA,EAAqB,CAAA,EACrB,QAAA,EAA2C,QAAA,EACxB;AACnB,EAAA,IAAI,QAAA,EAAU,CAAA;AAEd,EAAA,MAAA,CAAO,QAAA,EAAU,UAAA,EAAY;AAC5B,IAAA,OAAA,EAAA;AACA,IAAA,IAAI;AACH,MAAA,MAAM,OAAA,EAAS,MAAM,EAAA,CAAG,CAAA;AACxB,MAAA,GAAA,CAAI,MAAA,EAAQ;AACX,QAAA,OAAO,IAAA;AAAA,MACR;AAAA,IACD,EAAA,MAAA,CAAS,KAAA,EAAO;AACf,MAAA,OAAA,CAAQ,KAAA,CAAM,qBAAA,EAAuB,KAAK,CAAA;AAC1C,MAAA,MAAM,KAAA;AAAA,IACP;AAGA,IAAA,GAAA,CAAI,QAAA,EAAU,UAAA,EAAY;AACzB,MAAA,IAAI,iBAAA,EAAmB,QAAA;AAEvB,MAAA,GAAA,CAAI,QAAA,IAAY,QAAA,EAAU;AACzB,QAAA,iBAAA,EAAmB,SAAA,EAAW,OAAA;AAAA,MAC/B,EAAA,KAAA,GAAA,CAAW,QAAA,IAAY,aAAA,EAAe;AACrC,QAAA,iBAAA,EAAmB,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,QAAA,EAAU,CAAC,EAAA,EAAI,QAAA;AAC9C,QAAA,iBAAA,EAAmB,IAAA,CAAK,GAAA,CAAI,gBAAA,EAAkB,GAAK,CAAA;AAAA,MACpD;AAEA,MAAA,MAAM,IAAI,OAAA,CAAc,CAAC,OAAA,EAAA,GAAY,UAAA,CAAW,OAAA,EAAS,gBAAgB,CAAC,CAAA;AAAA,IAC3E;AAAA,EACD;AAEA,EAAA,OAAO,KAAA;AACR;ADvBA;AACE;AACF,sBAAC","file":"/home/runner/work/n8n/n8n/packages/@n8n/utils/dist/retry.cjs","sourcesContent":[null,"type RetryFn = () => boolean | Promise<boolean>;\n\n/**\n * A utility that retries a function every `interval` milliseconds\n * until the function returns true or the maximum number of retries is reached.\n *\n * @param fn - A function that returns a boolean or a Promise resolving to a boolean.\n * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.\n * @param maxRetries - The maximum number of retry attempts. Defaults to 3.\n * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.\n * @returns {Promise<boolean>} - A promise that resolves to:\n * - true: If the function returns true before reaching maxRetries.\n * - false: If the function never returns true or if an error occurs.\n */\nexport async function retry(\n\tfn: RetryFn,\n\tinterval: number = 1000,\n\tmaxRetries: number = 3,\n\tbackoff: 'exponential' | 'linear' | null = 'linear',\n): Promise<boolean> {\n\tlet attempt = 0;\n\n\twhile (attempt < maxRetries) {\n\t\tattempt++;\n\t\ttry {\n\t\t\tconst result = await fn();\n\t\t\tif (result) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error during retry:', error);\n\t\t\tthrow error;\n\t\t}\n\n\t\t// Wait for the specified interval before the next attempt, if any attempts remain.\n\t\tif (attempt < maxRetries) {\n\t\t\tlet computedInterval = interval;\n\n\t\t\tif (backoff === 'linear') {\n\t\t\t\tcomputedInterval = interval * attempt;\n\t\t\t} else if (backoff === 'exponential') {\n\t\t\t\tcomputedInterval = Math.pow(2, attempt - 1) * interval;\n\t\t\t\tcomputedInterval = Math.min(computedInterval, 30000); // Cap the maximum interval to 30 seconds\n\t\t\t}\n\n\t\t\tawait new Promise<void>((resolve) => setTimeout(resolve, computedInterval));\n\t\t}\n\t}\n\n\treturn false;\n}\n"]}
1
+ {"version":3,"file":"retry.cjs","names":[],"sources":["../src/retry.ts"],"sourcesContent":["type RetryFn = () => boolean | Promise<boolean>;\n\n/**\n * A utility that retries a function every `interval` milliseconds\n * until the function returns true or the maximum number of retries is reached.\n *\n * @param fn - A function that returns a boolean or a Promise resolving to a boolean.\n * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.\n * @param maxRetries - The maximum number of retry attempts. Defaults to 3.\n * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.\n * @returns {Promise<boolean>} - A promise that resolves to:\n * - true: If the function returns true before reaching maxRetries.\n * - false: If the function never returns true or if an error occurs.\n */\nexport async function retry(\n\tfn: RetryFn,\n\tinterval: number = 1000,\n\tmaxRetries: number = 3,\n\tbackoff: 'exponential' | 'linear' | null = 'linear',\n): Promise<boolean> {\n\tlet attempt = 0;\n\n\twhile (attempt < maxRetries) {\n\t\tattempt++;\n\t\ttry {\n\t\t\tconst result = await fn();\n\t\t\tif (result) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error during retry:', error);\n\t\t\tthrow error;\n\t\t}\n\n\t\t// Wait for the specified interval before the next attempt, if any attempts remain.\n\t\tif (attempt < maxRetries) {\n\t\t\tlet computedInterval = interval;\n\n\t\t\tif (backoff === 'linear') {\n\t\t\t\tcomputedInterval = interval * attempt;\n\t\t\t} else if (backoff === 'exponential') {\n\t\t\t\tcomputedInterval = Math.pow(2, attempt - 1) * interval;\n\t\t\t\tcomputedInterval = Math.min(computedInterval, 30000); // Cap the maximum interval to 30 seconds\n\t\t\t}\n\n\t\t\tawait new Promise<void>((resolve) => setTimeout(resolve, computedInterval));\n\t\t}\n\t}\n\n\treturn false;\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,eAAsB,MACrB,IACA,WAAmB,KACnB,aAAqB,GACrB,UAA2C,UACxB;CACnB,IAAI,UAAU;AAEd,QAAO,UAAU,YAAY;AAC5B;AACA,MAAI;AAEH,OADe,MAAM,IAAI,CAExB,QAAO;WAEA,OAAO;AACf,WAAQ,MAAM,uBAAuB,MAAM;AAC3C,SAAM;;AAIP,MAAI,UAAU,YAAY;GACzB,IAAI,mBAAmB;AAEvB,OAAI,YAAY,SACf,oBAAmB,WAAW;YACpB,YAAY,eAAe;AACrC,uBAAmB,KAAK,IAAI,GAAG,UAAU,EAAE,GAAG;AAC9C,uBAAmB,KAAK,IAAI,kBAAkB,IAAM;;AAGrD,SAAM,IAAI,SAAe,YAAY,WAAW,SAAS,iBAAiB,CAAC;;;AAI7E,QAAO"}
package/dist/retry.d.cts CHANGED
@@ -1,4 +1,6 @@
1
+ //#region src/retry.d.ts
1
2
  type RetryFn = () => boolean | Promise<boolean>;
2
3
  declare function retry(fn: RetryFn, interval?: number, maxRetries?: number, backoff?: 'exponential' | 'linear' | null): Promise<boolean>;
3
-
4
+ //#endregion
4
5
  export { retry };
6
+ //# sourceMappingURL=retry.d.cts.map
package/dist/retry.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ //#region src/retry.d.ts
1
2
  type RetryFn = () => boolean | Promise<boolean>;
2
3
  declare function retry(fn: RetryFn, interval?: number, maxRetries?: number, backoff?: 'exponential' | 'linear' | null): Promise<boolean>;
3
-
4
+ //#endregion
4
5
  export { retry };
6
+ //# sourceMappingURL=retry.d.ts.map
package/dist/retry.js CHANGED
@@ -1,31 +1,39 @@
1
- // src/retry.ts
1
+ //#region src/retry.ts
2
+ /**
3
+ * A utility that retries a function every `interval` milliseconds
4
+ * until the function returns true or the maximum number of retries is reached.
5
+ *
6
+ * @param fn - A function that returns a boolean or a Promise resolving to a boolean.
7
+ * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.
8
+ * @param maxRetries - The maximum number of retry attempts. Defaults to 3.
9
+ * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.
10
+ * @returns {Promise<boolean>} - A promise that resolves to:
11
+ * - true: If the function returns true before reaching maxRetries.
12
+ * - false: If the function never returns true or if an error occurs.
13
+ */
2
14
  async function retry(fn, interval = 1e3, maxRetries = 3, backoff = "linear") {
3
- let attempt = 0;
4
- while (attempt < maxRetries) {
5
- attempt++;
6
- try {
7
- const result = await fn();
8
- if (result) {
9
- return true;
10
- }
11
- } catch (error) {
12
- console.error("Error during retry:", error);
13
- throw error;
14
- }
15
- if (attempt < maxRetries) {
16
- let computedInterval = interval;
17
- if (backoff === "linear") {
18
- computedInterval = interval * attempt;
19
- } else if (backoff === "exponential") {
20
- computedInterval = Math.pow(2, attempt - 1) * interval;
21
- computedInterval = Math.min(computedInterval, 3e4);
22
- }
23
- await new Promise((resolve) => setTimeout(resolve, computedInterval));
24
- }
25
- }
26
- return false;
15
+ let attempt = 0;
16
+ while (attempt < maxRetries) {
17
+ attempt++;
18
+ try {
19
+ if (await fn()) return true;
20
+ } catch (error) {
21
+ console.error("Error during retry:", error);
22
+ throw error;
23
+ }
24
+ if (attempt < maxRetries) {
25
+ let computedInterval = interval;
26
+ if (backoff === "linear") computedInterval = interval * attempt;
27
+ else if (backoff === "exponential") {
28
+ computedInterval = Math.pow(2, attempt - 1) * interval;
29
+ computedInterval = Math.min(computedInterval, 3e4);
30
+ }
31
+ await new Promise((resolve) => setTimeout(resolve, computedInterval));
32
+ }
33
+ }
34
+ return false;
27
35
  }
28
- export {
29
- retry
30
- };
36
+
37
+ //#endregion
38
+ export { retry };
31
39
  //# sourceMappingURL=retry.js.map
package/dist/retry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/retry.ts"],"sourcesContent":["type RetryFn = () => boolean | Promise<boolean>;\n\n/**\n * A utility that retries a function every `interval` milliseconds\n * until the function returns true or the maximum number of retries is reached.\n *\n * @param fn - A function that returns a boolean or a Promise resolving to a boolean.\n * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.\n * @param maxRetries - The maximum number of retry attempts. Defaults to 3.\n * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.\n * @returns {Promise<boolean>} - A promise that resolves to:\n * - true: If the function returns true before reaching maxRetries.\n * - false: If the function never returns true or if an error occurs.\n */\nexport async function retry(\n\tfn: RetryFn,\n\tinterval: number = 1000,\n\tmaxRetries: number = 3,\n\tbackoff: 'exponential' | 'linear' | null = 'linear',\n): Promise<boolean> {\n\tlet attempt = 0;\n\n\twhile (attempt < maxRetries) {\n\t\tattempt++;\n\t\ttry {\n\t\t\tconst result = await fn();\n\t\t\tif (result) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error during retry:', error);\n\t\t\tthrow error;\n\t\t}\n\n\t\t// Wait for the specified interval before the next attempt, if any attempts remain.\n\t\tif (attempt < maxRetries) {\n\t\t\tlet computedInterval = interval;\n\n\t\t\tif (backoff === 'linear') {\n\t\t\t\tcomputedInterval = interval * attempt;\n\t\t\t} else if (backoff === 'exponential') {\n\t\t\t\tcomputedInterval = Math.pow(2, attempt - 1) * interval;\n\t\t\t\tcomputedInterval = Math.min(computedInterval, 30000); // Cap the maximum interval to 30 seconds\n\t\t\t}\n\n\t\t\tawait new Promise<void>((resolve) => setTimeout(resolve, computedInterval));\n\t\t}\n\t}\n\n\treturn false;\n}\n"],"mappings":";AAcA,eAAsB,MACrB,IACA,WAAmB,KACnB,aAAqB,GACrB,UAA2C,UACxB;AACnB,MAAI,UAAU;AAEd,SAAO,UAAU,YAAY;AAC5B;AACA,QAAI;AACH,YAAM,SAAS,MAAM,GAAG;AACxB,UAAI,QAAQ;AACX,eAAO;AAAA,MACR;AAAA,IACD,SAAS,OAAO;AACf,cAAQ,MAAM,uBAAuB,KAAK;AAC1C,YAAM;AAAA,IACP;AAGA,QAAI,UAAU,YAAY;AACzB,UAAI,mBAAmB;AAEvB,UAAI,YAAY,UAAU;AACzB,2BAAmB,WAAW;AAAA,MAC/B,WAAW,YAAY,eAAe;AACrC,2BAAmB,KAAK,IAAI,GAAG,UAAU,CAAC,IAAI;AAC9C,2BAAmB,KAAK,IAAI,kBAAkB,GAAK;AAAA,MACpD;AAEA,YAAM,IAAI,QAAc,CAAC,YAAY,WAAW,SAAS,gBAAgB,CAAC;AAAA,IAC3E;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"file":"retry.js","names":[],"sources":["../src/retry.ts"],"sourcesContent":["type RetryFn = () => boolean | Promise<boolean>;\n\n/**\n * A utility that retries a function every `interval` milliseconds\n * until the function returns true or the maximum number of retries is reached.\n *\n * @param fn - A function that returns a boolean or a Promise resolving to a boolean.\n * @param interval - The time interval (in milliseconds) between each retry. Defaults to 1000.\n * @param maxRetries - The maximum number of retry attempts. Defaults to 3.\n * @param backoff - The backoff strategy to use: 'linear', 'exponential', or null.\n * @returns {Promise<boolean>} - A promise that resolves to:\n * - true: If the function returns true before reaching maxRetries.\n * - false: If the function never returns true or if an error occurs.\n */\nexport async function retry(\n\tfn: RetryFn,\n\tinterval: number = 1000,\n\tmaxRetries: number = 3,\n\tbackoff: 'exponential' | 'linear' | null = 'linear',\n): Promise<boolean> {\n\tlet attempt = 0;\n\n\twhile (attempt < maxRetries) {\n\t\tattempt++;\n\t\ttry {\n\t\t\tconst result = await fn();\n\t\t\tif (result) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Error during retry:', error);\n\t\t\tthrow error;\n\t\t}\n\n\t\t// Wait for the specified interval before the next attempt, if any attempts remain.\n\t\tif (attempt < maxRetries) {\n\t\t\tlet computedInterval = interval;\n\n\t\t\tif (backoff === 'linear') {\n\t\t\t\tcomputedInterval = interval * attempt;\n\t\t\t} else if (backoff === 'exponential') {\n\t\t\t\tcomputedInterval = Math.pow(2, attempt - 1) * interval;\n\t\t\t\tcomputedInterval = Math.min(computedInterval, 30000); // Cap the maximum interval to 30 seconds\n\t\t\t}\n\n\t\t\tawait new Promise<void>((resolve) => setTimeout(resolve, computedInterval));\n\t\t}\n\t}\n\n\treturn false;\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,eAAsB,MACrB,IACA,WAAmB,KACnB,aAAqB,GACrB,UAA2C,UACxB;CACnB,IAAI,UAAU;AAEd,QAAO,UAAU,YAAY;AAC5B;AACA,MAAI;AAEH,OADe,MAAM,IAAI,CAExB,QAAO;WAEA,OAAO;AACf,WAAQ,MAAM,uBAAuB,MAAM;AAC3C,SAAM;;AAIP,MAAI,UAAU,YAAY;GACzB,IAAI,mBAAmB;AAEvB,OAAI,YAAY,SACf,oBAAmB,WAAW;YACpB,YAAY,eAAe;AACrC,uBAAmB,KAAK,IAAI,GAAG,UAAU,EAAE,GAAG;AAC9C,uBAAmB,KAAK,IAAI,kBAAkB,IAAM;;AAGrD,SAAM,IAAI,SAAe,YAAY,WAAW,SAAS,iBAAiB,CAAC;;;AAI7E,QAAO"}
@@ -1,22 +1,20 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/search/reRankSearchResults.ts
1
+
2
+ //#region src/search/reRankSearchResults.ts
2
3
  function reRankSearchResults(searchResults, additionalFactors) {
3
- return searchResults.map(({ score, item }) => {
4
- const additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {
5
- const factorScore = factorScores[item.key];
6
- if (factorScore) {
7
- return acc + factorScore;
8
- }
9
- return acc;
10
- }, 0);
11
- return {
12
- score: score + additionalScore,
13
- item
14
- };
15
- }).sort((a, b) => {
16
- return b.score - a.score;
17
- });
4
+ return searchResults.map(({ score, item }) => {
5
+ return {
6
+ score: score + Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {
7
+ const factorScore = factorScores[item.key];
8
+ if (factorScore) return acc + factorScore;
9
+ return acc;
10
+ }, 0),
11
+ item
12
+ };
13
+ }).sort((a, b) => {
14
+ return b.score - a.score;
15
+ });
18
16
  }
19
17
 
20
-
18
+ //#endregion
21
19
  exports.reRankSearchResults = reRankSearchResults;
22
20
  //# sourceMappingURL=reRankSearchResults.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/n8n/n8n/packages/@n8n/utils/dist/search/reRankSearchResults.cjs","../../src/search/reRankSearchResults.ts"],"names":[],"mappings":"AAAA;ACAO,SAAS,mBAAA,CACf,aAAA,EACA,iBAAA,EACoC;AACpC,EAAA,OAAO,aAAA,CACL,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,KAAK,CAAA,EAAA,GAAM;AAGzB,IAAA,MAAM,gBAAA,EAAkB,MAAA,CAAO,OAAA,CAAQ,iBAAiB,CAAA,CAAE,MAAA,CAAO,CAAC,GAAA,EAAK,CAAC,CAAA,EAAG,YAAY,CAAA,EAAA,GAAM;AAC5F,MAAA,MAAM,YAAA,EAAc,YAAA,CAAa,IAAA,CAAK,GAAG,CAAA;AACzC,MAAA,GAAA,CAAI,WAAA,EAAa;AAChB,QAAA,OAAO,IAAA,EAAM,WAAA;AAAA,MACd;AAEA,MAAA,OAAO,GAAA;AAAA,IACR,CAAA,EAAG,CAAC,CAAA;AAEJ,IAAA,OAAO;AAAA,MACN,KAAA,EAAO,MAAA,EAAQ,eAAA;AAAA,MACf;AAAA,IACD,CAAA;AAAA,EACD,CAAC,CAAA,CACA,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,EAAA,GAAM;AACf,IAAA,OAAO,CAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,KAAA;AAAA,EACpB,CAAC,CAAA;AACH;ADPA;AACE;AACF,kDAAC","file":"/home/runner/work/n8n/n8n/packages/@n8n/utils/dist/search/reRankSearchResults.cjs","sourcesContent":[null,"export function reRankSearchResults<T extends { key: string }>(\n\tsearchResults: Array<{ score: number; item: T }>,\n\tadditionalFactors: Record<string, Record<string, number>>,\n): Array<{ score: number; item: T }> {\n\treturn searchResults\n\t\t.map(({ score, item }) => {\n\t\t\t// For each additional factor, we check if it exists for the item and type,\n\t\t\t// and if so, we add the score to the item's score.\n\t\t\tconst additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {\n\t\t\t\tconst factorScore = factorScores[item.key];\n\t\t\t\tif (factorScore) {\n\t\t\t\t\treturn acc + factorScore;\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, 0);\n\n\t\t\treturn {\n\t\t\t\tscore: score + additionalScore,\n\t\t\t\titem,\n\t\t\t};\n\t\t})\n\t\t.sort((a, b) => {\n\t\t\treturn b.score - a.score;\n\t\t});\n}\n"]}
1
+ {"version":3,"file":"reRankSearchResults.cjs","names":[],"sources":["../../src/search/reRankSearchResults.ts"],"sourcesContent":["export function reRankSearchResults<T extends { key: string }>(\n\tsearchResults: Array<{ score: number; item: T }>,\n\tadditionalFactors: Record<string, Record<string, number>>,\n): Array<{ score: number; item: T }> {\n\treturn searchResults\n\t\t.map(({ score, item }) => {\n\t\t\t// For each additional factor, we check if it exists for the item and type,\n\t\t\t// and if so, we add the score to the item's score.\n\t\t\tconst additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {\n\t\t\t\tconst factorScore = factorScores[item.key];\n\t\t\t\tif (factorScore) {\n\t\t\t\t\treturn acc + factorScore;\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, 0);\n\n\t\t\treturn {\n\t\t\t\tscore: score + additionalScore,\n\t\t\t\titem,\n\t\t\t};\n\t\t})\n\t\t.sort((a, b) => {\n\t\t\treturn b.score - a.score;\n\t\t});\n}\n"],"mappings":";;AAAA,SAAgB,oBACf,eACA,mBACoC;AACpC,QAAO,cACL,KAAK,EAAE,OAAO,WAAW;AAYzB,SAAO;GACN,OAAO,QAVgB,OAAO,QAAQ,kBAAkB,CAAC,QAAQ,KAAK,CAAC,GAAG,kBAAkB;IAC5F,MAAM,cAAc,aAAa,KAAK;AACtC,QAAI,YACH,QAAO,MAAM;AAGd,WAAO;MACL,EAAE;GAIJ;GACA;GACA,CACD,MAAM,GAAG,MAAM;AACf,SAAO,EAAE,QAAQ,EAAE;GAClB"}
@@ -1,11 +1,13 @@
1
+ //#region src/search/reRankSearchResults.d.ts
1
2
  declare function reRankSearchResults<T extends {
2
- key: string;
3
+ key: string;
3
4
  }>(searchResults: Array<{
4
- score: number;
5
- item: T;
5
+ score: number;
6
+ item: T;
6
7
  }>, additionalFactors: Record<string, Record<string, number>>): Array<{
7
- score: number;
8
- item: T;
8
+ score: number;
9
+ item: T;
9
10
  }>;
10
-
11
+ //#endregion
11
12
  export { reRankSearchResults };
13
+ //# sourceMappingURL=reRankSearchResults.d.cts.map
@@ -1,11 +1,13 @@
1
+ //#region src/search/reRankSearchResults.d.ts
1
2
  declare function reRankSearchResults<T extends {
2
- key: string;
3
+ key: string;
3
4
  }>(searchResults: Array<{
4
- score: number;
5
- item: T;
5
+ score: number;
6
+ item: T;
6
7
  }>, additionalFactors: Record<string, Record<string, number>>): Array<{
7
- score: number;
8
- item: T;
8
+ score: number;
9
+ item: T;
9
10
  }>;
10
-
11
+ //#endregion
11
12
  export { reRankSearchResults };
13
+ //# sourceMappingURL=reRankSearchResults.d.ts.map
@@ -1,22 +1,19 @@
1
- // src/search/reRankSearchResults.ts
1
+ //#region src/search/reRankSearchResults.ts
2
2
  function reRankSearchResults(searchResults, additionalFactors) {
3
- return searchResults.map(({ score, item }) => {
4
- const additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {
5
- const factorScore = factorScores[item.key];
6
- if (factorScore) {
7
- return acc + factorScore;
8
- }
9
- return acc;
10
- }, 0);
11
- return {
12
- score: score + additionalScore,
13
- item
14
- };
15
- }).sort((a, b) => {
16
- return b.score - a.score;
17
- });
3
+ return searchResults.map(({ score, item }) => {
4
+ return {
5
+ score: score + Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {
6
+ const factorScore = factorScores[item.key];
7
+ if (factorScore) return acc + factorScore;
8
+ return acc;
9
+ }, 0),
10
+ item
11
+ };
12
+ }).sort((a, b) => {
13
+ return b.score - a.score;
14
+ });
18
15
  }
19
- export {
20
- reRankSearchResults
21
- };
16
+
17
+ //#endregion
18
+ export { reRankSearchResults };
22
19
  //# sourceMappingURL=reRankSearchResults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/search/reRankSearchResults.ts"],"sourcesContent":["export function reRankSearchResults<T extends { key: string }>(\n\tsearchResults: Array<{ score: number; item: T }>,\n\tadditionalFactors: Record<string, Record<string, number>>,\n): Array<{ score: number; item: T }> {\n\treturn searchResults\n\t\t.map(({ score, item }) => {\n\t\t\t// For each additional factor, we check if it exists for the item and type,\n\t\t\t// and if so, we add the score to the item's score.\n\t\t\tconst additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {\n\t\t\t\tconst factorScore = factorScores[item.key];\n\t\t\t\tif (factorScore) {\n\t\t\t\t\treturn acc + factorScore;\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, 0);\n\n\t\t\treturn {\n\t\t\t\tscore: score + additionalScore,\n\t\t\t\titem,\n\t\t\t};\n\t\t})\n\t\t.sort((a, b) => {\n\t\t\treturn b.score - a.score;\n\t\t});\n}\n"],"mappings":";AAAO,SAAS,oBACf,eACA,mBACoC;AACpC,SAAO,cACL,IAAI,CAAC,EAAE,OAAO,KAAK,MAAM;AAGzB,UAAM,kBAAkB,OAAO,QAAQ,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,MAAM;AAC5F,YAAM,cAAc,aAAa,KAAK,GAAG;AACzC,UAAI,aAAa;AAChB,eAAO,MAAM;AAAA,MACd;AAEA,aAAO;AAAA,IACR,GAAG,CAAC;AAEJ,WAAO;AAAA,MACN,OAAO,QAAQ;AAAA,MACf;AAAA,IACD;AAAA,EACD,CAAC,EACA,KAAK,CAAC,GAAG,MAAM;AACf,WAAO,EAAE,QAAQ,EAAE;AAAA,EACpB,CAAC;AACH;","names":[]}
1
+ {"version":3,"file":"reRankSearchResults.js","names":[],"sources":["../../src/search/reRankSearchResults.ts"],"sourcesContent":["export function reRankSearchResults<T extends { key: string }>(\n\tsearchResults: Array<{ score: number; item: T }>,\n\tadditionalFactors: Record<string, Record<string, number>>,\n): Array<{ score: number; item: T }> {\n\treturn searchResults\n\t\t.map(({ score, item }) => {\n\t\t\t// For each additional factor, we check if it exists for the item and type,\n\t\t\t// and if so, we add the score to the item's score.\n\t\t\tconst additionalScore = Object.entries(additionalFactors).reduce((acc, [_, factorScores]) => {\n\t\t\t\tconst factorScore = factorScores[item.key];\n\t\t\t\tif (factorScore) {\n\t\t\t\t\treturn acc + factorScore;\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, 0);\n\n\t\t\treturn {\n\t\t\t\tscore: score + additionalScore,\n\t\t\t\titem,\n\t\t\t};\n\t\t})\n\t\t.sort((a, b) => {\n\t\t\treturn b.score - a.score;\n\t\t});\n}\n"],"mappings":";AAAA,SAAgB,oBACf,eACA,mBACoC;AACpC,QAAO,cACL,KAAK,EAAE,OAAO,WAAW;AAYzB,SAAO;GACN,OAAO,QAVgB,OAAO,QAAQ,kBAAkB,CAAC,QAAQ,KAAK,CAAC,GAAG,kBAAkB;IAC5F,MAAM,cAAc,aAAa,KAAK;AACtC,QAAI,YACH,QAAO,MAAM;AAGd,WAAO;MACL,EAAE;GAIJ;GACA;GACA,CACD,MAAM,GAAG,MAAM;AACf,SAAO,EAAE,QAAQ,EAAE;GAClB"}