@encodeagent/platform-helper-util 1.2603.1221241 → 1.2603.1311450

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 (69) hide show
  1. package/README.md +277 -153
  2. package/dist/api.d.ts +38 -0
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +38 -2
  5. package/dist/api.js.map +1 -1
  6. package/dist/auth.d.ts +93 -0
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +93 -2
  9. package/dist/auth.js.map +1 -1
  10. package/dist/colors.d.ts +41 -0
  11. package/dist/colors.d.ts.map +1 -1
  12. package/dist/colors.js +41 -0
  13. package/dist/colors.js.map +1 -1
  14. package/dist/core.d.ts +262 -0
  15. package/dist/core.d.ts.map +1 -1
  16. package/dist/core.js +264 -2
  17. package/dist/core.js.map +1 -1
  18. package/dist/cost.d.ts +26 -0
  19. package/dist/cost.d.ts.map +1 -1
  20. package/dist/cost.js +27 -1
  21. package/dist/cost.js.map +1 -1
  22. package/dist/file.d.ts +38 -0
  23. package/dist/file.d.ts.map +1 -1
  24. package/dist/file.js +42 -2
  25. package/dist/file.js.map +1 -1
  26. package/dist/html.d.ts +83 -0
  27. package/dist/html.d.ts.map +1 -1
  28. package/dist/html.js +88 -35
  29. package/dist/html.js.map +1 -1
  30. package/dist/logger.d.ts +17 -0
  31. package/dist/logger.d.ts.map +1 -1
  32. package/dist/logger.js +28 -2
  33. package/dist/logger.js.map +1 -1
  34. package/dist/markdown.d.ts +20 -0
  35. package/dist/markdown.d.ts.map +1 -1
  36. package/dist/markdown.js +20 -0
  37. package/dist/markdown.js.map +1 -1
  38. package/dist/metadata.js +1 -1
  39. package/dist/metadata.js.map +1 -1
  40. package/dist/record.d.ts +137 -5
  41. package/dist/record.d.ts.map +1 -1
  42. package/dist/record.js +184 -19
  43. package/dist/record.js.map +1 -1
  44. package/dist/shortid.d.ts +21 -8
  45. package/dist/shortid.d.ts.map +1 -1
  46. package/dist/shortid.js +9 -5
  47. package/dist/shortid.js.map +1 -1
  48. package/dist/slug.d.ts +10 -0
  49. package/dist/slug.d.ts.map +1 -1
  50. package/dist/slug.js +10 -0
  51. package/dist/slug.js.map +1 -1
  52. package/dist/token.d.ts +1 -1
  53. package/dist/tree.d.ts +43 -0
  54. package/dist/tree.d.ts.map +1 -1
  55. package/dist/tree.js +43 -5
  56. package/dist/tree.js.map +1 -1
  57. package/dist/value-of-object.d.ts +41 -0
  58. package/dist/value-of-object.d.ts.map +1 -1
  59. package/dist/value-of-object.js +59 -17
  60. package/dist/value-of-object.js.map +1 -1
  61. package/dist/web-content.d.ts +52 -0
  62. package/dist/web-content.d.ts.map +1 -1
  63. package/dist/web-content.js +52 -0
  64. package/dist/web-content.js.map +1 -1
  65. package/dist/web.d.ts +51 -0
  66. package/dist/web.d.ts.map +1 -1
  67. package/dist/web.js +54 -1
  68. package/dist/web.js.map +1 -1
  69. package/package.json +20 -15
@@ -20,6 +20,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.getPropValueOfObject = exports.getArrayPropValueOfObject = exports.getBooleanValueOfObject = exports.getFloatValueOfObject = exports.getIntValueOfObject = exports.getBooleanPropValue = exports.getObjectPropValue = void 0;
21
21
  const lodash_1 = require("lodash");
22
22
  const core_1 = require("./core");
23
+ /**
24
+ * Returns the value of `key` from `obj` using an optional case-insensitive lookup.
25
+ * Unlike `getPropValueOfObject`, this does not follow dot-notation or camelCase variants.
26
+ * Returns `undefined` when the key is not found.
27
+ */
23
28
  const getObjectPropValue = (obj, key, caseSensitive) => {
24
29
  let value = undefined;
25
30
  if (!(0, core_1.isNonEmptyString)(key))
@@ -35,6 +40,11 @@ const getObjectPropValue = (obj, key, caseSensitive) => {
35
40
  return value;
36
41
  };
37
42
  exports.getObjectPropValue = getObjectPropValue;
43
+ /**
44
+ * Reads a property from `obj` and coerces it to a boolean.
45
+ * The string `"true"` (case-insensitive) is treated as `true`. Returns `defaultValue` when the
46
+ * property is absent or not coercible.
47
+ */
38
48
  const getBooleanPropValue = (obj, key, defaultValue) => {
39
49
  if (!(0, lodash_1.isBoolean)(defaultValue))
40
50
  defaultValue = undefined;
@@ -46,23 +56,30 @@ const getBooleanPropValue = (obj, key, defaultValue) => {
46
56
  return defaultValue;
47
57
  };
48
58
  exports.getBooleanPropValue = getBooleanPropValue;
59
+ /**
60
+ * Reads a property from `obj` and returns it as an integer via `parseInt`.
61
+ * Returns `defaultValue` when the property is missing or not parseable as an integer.
62
+ */
49
63
  const getIntValueOfObject = (obj, key, defaultValue) => {
50
- if (!(0, core_1.isNonEmptyString)(defaultValue))
51
- defaultValue = undefined;
52
64
  const val = (0, exports.getPropValueOfObject)(obj, key);
53
65
  return !(0, lodash_1.isNaN)(parseInt(val)) ? parseInt(val) : defaultValue;
54
66
  };
55
67
  exports.getIntValueOfObject = getIntValueOfObject;
68
+ /**
69
+ * Reads a property from `obj` and returns it as a float via `parseFloat`.
70
+ * Returns `defaultValue` when the property is missing or not parseable as a number.
71
+ */
56
72
  const getFloatValueOfObject = (obj, key, defaultValue) => {
57
- if (!(0, core_1.isNonEmptyString)(defaultValue))
58
- defaultValue = undefined;
59
73
  const val = (0, exports.getPropValueOfObject)(obj, key);
60
74
  return !(0, lodash_1.isNaN)(parseFloat(val)) ? parseFloat(val) : defaultValue;
61
75
  };
62
76
  exports.getFloatValueOfObject = getFloatValueOfObject;
77
+ /**
78
+ * Reads a property from `obj` and coerces it to a boolean by comparing the string
79
+ * representation to `"true"` / `"false"` (case-insensitive).
80
+ * Returns `defaultValue` when the property cannot be resolved.
81
+ */
63
82
  const getBooleanValueOfObject = (obj, key, defaultValue) => {
64
- if (!(0, core_1.isNonEmptyString)(defaultValue))
65
- defaultValue = undefined;
66
83
  const val = (0, exports.getPropValueOfObject)(obj, key);
67
84
  if (`${val}`.toLowerCase() == "true")
68
85
  return true;
@@ -71,30 +88,55 @@ const getBooleanValueOfObject = (obj, key, defaultValue) => {
71
88
  return defaultValue;
72
89
  };
73
90
  exports.getBooleanValueOfObject = getBooleanValueOfObject;
91
+ /**
92
+ * Reads a property from `obj` and ensures the result is an array.
93
+ * If the stored value is a JSON string it is parsed; invalid JSON falls back to `defaultValue`.
94
+ * Returns `defaultValue` when the property is missing or not an array.
95
+ */
74
96
  const getArrayPropValueOfObject = (obj, key, defaultValue) => {
75
- if (!(0, lodash_1.isObject)(defaultValue))
97
+ if (!(0, lodash_1.isArray)(defaultValue))
76
98
  defaultValue = undefined;
77
99
  const val = (0, exports.getPropValueOfObject)(obj, key);
78
- return (0, lodash_1.isArray)(val)
79
- ? val
80
- : (0, core_1.isNonEmptyString)(val)
81
- ? JSON.parse(val)
82
- : defaultValue;
100
+ if ((0, lodash_1.isArray)(val))
101
+ return val;
102
+ if ((0, core_1.isNonEmptyString)(val)) {
103
+ try {
104
+ const parsed = JSON.parse(val);
105
+ return (0, lodash_1.isArray)(parsed) ? parsed : defaultValue;
106
+ }
107
+ catch {
108
+ return defaultValue;
109
+ }
110
+ }
111
+ return defaultValue;
83
112
  };
84
113
  exports.getArrayPropValueOfObject = getArrayPropValueOfObject;
114
+ /**
115
+ * Flexible property accessor for objects with loosely-typed keys.
116
+ * Resolution order for each key segment:
117
+ * 1. Exact match
118
+ * 2. Lowercase match
119
+ * 3. Uppercase match
120
+ * 4. camelCase match
121
+ * 5. Hyphen-stripped match
122
+ * 6. Full case-insensitive scan of all own keys
123
+ *
124
+ * Supports dot-notation for nested paths (e.g. `"user.address.city"`).
125
+ * Returns `null` (not `undefined`) when the object or key is invalid.
126
+ */
85
127
  const getPropValueOfObject = (obj, key, defaultValue) => {
86
128
  if ((0, lodash_1.isNil)(defaultValue))
87
129
  defaultValue = undefined;
88
130
  if (!(0, lodash_1.isObject)(obj) || !(0, core_1.isNonEmptyString)(key))
89
131
  return null;
90
- //if key has ".", it means it's a nested object
132
+ //if key has ".", it means it's a nested object — e.g. "user.address.city"
91
133
  const dotIndex = key.indexOf(".");
92
134
  if (dotIndex > 0) {
93
135
  const objName = key.substring(0, dotIndex);
94
- key = key.substring(dotIndex + 1);
95
- obj = obj[objName];
96
- return obj && (0, lodash_1.isObject)(obj) && (0, core_1.isNonEmptyString)(key)
97
- ? (0, exports.getPropValueOfObject)(obj[objName], key, defaultValue)
136
+ const remainingKey = key.substring(dotIndex + 1);
137
+ const subObj = obj[objName];
138
+ return subObj && (0, lodash_1.isObject)(subObj) && (0, core_1.isNonEmptyString)(remainingKey)
139
+ ? (0, exports.getPropValueOfObject)(subObj, remainingKey, defaultValue)
98
140
  : null;
99
141
  }
100
142
  let v = obj[key];
@@ -1 +1 @@
1
- {"version":3,"file":"value-of-object.js","sourceRoot":"","sources":["../src/value-of-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value-of-object.js","sourceRoot":"","sources":["../src/value-of-object.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mCAUgB;AAEhB,iCAA0C;AAE1C;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAC9B,GAA2C,EAC3C,GAAW,EACX,aAAuB,EACQ,EAAE;IACjC,IAAI,KAAK,GAAG,SAAS,CAAC;IAEtB,IAAI,CAAC,IAAA,uBAAgB,EAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;QAC9B,IACI,CAAC;YACD,CAAC;YACD,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrD,CAAC,aAAa,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EACnC,CAAC;YACC,KAAK,GAAG,CAAC,CAAC;QACd,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAC/B,GAA2C,EAC3C,GAAW,EACX,YAAsB,EACH,EAAE;IACrB,IAAI,CAAC,IAAA,kBAAS,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IACvD,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAA,kBAAS,EAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC/B,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;IAC7D,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAEF;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CAC/B,GAA2C,EAC3C,GAAW,EACX,YAAiC,EACf,EAAE;IACpB,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAChE,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AAEF;;;GAGG;AACI,MAAM,qBAAqB,GAAG,CACjC,GAA2C,EAC3C,GAAW,EACX,YAAiC,EACf,EAAE;IACpB,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAA,cAAK,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACpE,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC;AAEF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,CACnC,GAA2C,EAC3C,GAAW,EACX,YAAkC,EACf,EAAE;IACrB,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,OAAO;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC;AAEF;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACrC,GAA2C,EAC3C,GAAW,EACX,YAAgC,EACf,EAAE;IACnB,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IACrD,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,IAAA,uBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,YAAY,CAAC;QACxB,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAjBW,QAAA,yBAAyB,6BAiBpC;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,oBAAoB,GAAG,CAChC,GAA2C,EAC3C,GAAW,EACX,YAA8B,EACf,EAAE;IACjB,IAAI,IAAA,cAAK,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IAClD,IAAI,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,uBAAgB,EAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3D,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,MAAM,IAAI,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,IAAA,uBAAgB,EAAC,YAAY,CAAC;YAC/D,CAAC,CAAC,IAAA,4BAAoB,EAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;IAED,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC;QAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC;QAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC;QAAE,CAAC,GAAG,GAAG,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC;IAEtC,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,CAAC,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAA,cAAK,EAAC,CAAC,CAAC,EAAE,CAAC;QACX,oBAAoB;QACpB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE;gBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,IACI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;gBACjC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;gBAEnC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
@@ -18,15 +18,67 @@
18
18
  import { CheerioAPI } from "cheerio";
19
19
  import { ICleanHtmlSettingsProps } from "./html";
20
20
  export type THtmlInput = string | CheerioAPI;
21
+ /**
22
+ * Returns a Cheerio API instance from either a raw HTML string or an existing CheerioAPI.
23
+ * Allows all web-content functions to accept either form transparently.
24
+ */
21
25
  export declare const getCheerioAPI: (input: THtmlInput) => CheerioAPI;
26
+ /**
27
+ * Demotes all heading elements by one level (h1→h2, h2→h3, …, h6→h7).
28
+ * Useful when embedding third-party HTML that has its own h1 into a page
29
+ * that already has a top-level heading.
30
+ */
22
31
  export declare const lowerH: (api: CheerioAPI) => CheerioAPI;
32
+ /**
33
+ * Returns the first non-empty value matched by a CSS `selector` in the document.
34
+ * When `attrName` is provided the attribute value is returned; otherwise the element's
35
+ * text content is returned. Returns `""` when no match is found.
36
+ */
23
37
  export declare const getValueBySelector: (api: CheerioAPI, selector: string, attrName?: string) => string;
38
+ /**
39
+ * Recursively drills into the largest direct child block of `item` to locate the element
40
+ * that contains the main body content of a page.
41
+ * A child is considered the "main content" when its text length exceeds
42
+ * `mainContentRatio` (default 0.75) of the parent's total text length.
43
+ * Returns `item` itself when no single child dominates by that ratio.
44
+ */
24
45
  export declare const findMainContentElement: (api: CheerioAPI, item: any, mainContentRatio?: number) => any;
46
+ /**
47
+ * Extracts the RSS or Atom feed URL from a page's `<link>` tags.
48
+ * Returns `""` when no feed link is present.
49
+ */
25
50
  export declare const getRSSFeed: (input: THtmlInput) => string;
51
+ /**
52
+ * Reads the canonical URL from `<link rel="canonical">` and promotes it to an absolute
53
+ * URL using `fixUrl`. Returns `""` when no canonical tag is found.
54
+ */
26
55
  export declare const getCanonical: (input: THtmlInput, protocol: string, host: string) => string;
56
+ /**
57
+ * Extracts the page title, trying sources in this order:
58
+ * `<title>` → `og:title` → `twitter:title` → `meta[property="title"]` → `<h1>`.
59
+ * The result is cleaned to plain text via `cleanHtml`. Returns `""` when nothing is found.
60
+ */
27
61
  export declare const getTitle: (input: THtmlInput, cleanHtmlSettings?: ICleanHtmlSettingsProps) => any;
62
+ /**
63
+ * Extracts the page description, trying sources in this order:
64
+ * `<description>` → `meta[name="description"]` → `meta[property="description"]`
65
+ * → `og:description` → `twitter:description`.
66
+ * The result is cleaned to plain text. Returns `""` when nothing is found.
67
+ */
28
68
  export declare const getDescription: (input: THtmlInput, cleanHtmlSettings?: ICleanHtmlSettingsProps) => any;
69
+ /**
70
+ * Extracts the primary image URL from a page, trying an optional custom `selector` first,
71
+ * then `og:image`, then `twitter:image:src`. The URL is promoted to absolute via `fixUrl`.
72
+ * Returns `undefined` when no image is found.
73
+ */
29
74
  export declare const getImage: (input: THtmlInput, protocol: string, host: string, selector?: string) => string | undefined;
75
+ /**
76
+ * Extracts and cleans the main body content of a page as an HTML string.
77
+ * When `selector` is provided, content is collected from all matching elements.
78
+ * Otherwise the function locates the main content element via `findMainContentElement`
79
+ * (preferring a single `<article>` tag, then the largest text block by ratio).
80
+ * The result is sanitized through `cleanHtml` with `resultFormat: "html"`.
81
+ */
30
82
  export declare const getContent: (input: THtmlInput, cleanHtmlSettings?: ICleanHtmlSettingsProps, selector?: string, mainContentRatio?: number) => string;
31
83
  export type TMetadataValue = string | string[];
32
84
  export type TMetadata = Record<string, TMetadataValue> & {
@@ -1 +1 @@
1
- {"version":3,"file":"web-content.d.ts","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-content.d.ts","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,10 @@ const web_1 = require("./web");
23
23
  const html_1 = require("./html");
24
24
  const core_1 = require("./core");
25
25
  const DEFAULT_MAIN_CONTENT_RATIO = 0.75;
26
+ /**
27
+ * Returns a Cheerio API instance from either a raw HTML string or an existing CheerioAPI.
28
+ * Allows all web-content functions to accept either form transparently.
29
+ */
26
30
  const getCheerioAPI = (input) => {
27
31
  if ((0, core_1.isNonEmptyString)(input)) {
28
32
  return (0, cheerio_1.load)(input);
@@ -30,6 +34,11 @@ const getCheerioAPI = (input) => {
30
34
  return input;
31
35
  };
32
36
  exports.getCheerioAPI = getCheerioAPI;
37
+ /**
38
+ * Demotes all heading elements by one level (h1→h2, h2→h3, …, h6→h7).
39
+ * Useful when embedding third-party HTML that has its own h1 into a page
40
+ * that already has a top-level heading.
41
+ */
33
42
  const lowerH = (api) => {
34
43
  for (let i = 6; i >= 1; i--) {
35
44
  api(`h${i}`).each((j, o) => {
@@ -40,6 +49,11 @@ const lowerH = (api) => {
40
49
  return api;
41
50
  };
42
51
  exports.lowerH = lowerH;
52
+ /**
53
+ * Returns the first non-empty value matched by a CSS `selector` in the document.
54
+ * When `attrName` is provided the attribute value is returned; otherwise the element's
55
+ * text content is returned. Returns `""` when no match is found.
56
+ */
43
57
  const getValueBySelector = (api, selector, attrName) => {
44
58
  let v = "";
45
59
  api(selector).each((i, o) => {
@@ -53,6 +67,13 @@ const getValueBySelector = (api, selector, attrName) => {
53
67
  return v;
54
68
  };
55
69
  exports.getValueBySelector = getValueBySelector;
70
+ /**
71
+ * Recursively drills into the largest direct child block of `item` to locate the element
72
+ * that contains the main body content of a page.
73
+ * A child is considered the "main content" when its text length exceeds
74
+ * `mainContentRatio` (default 0.75) of the parent's total text length.
75
+ * Returns `item` itself when no single child dominates by that ratio.
76
+ */
56
77
  const findMainContentElement = (api, item, mainContentRatio) => {
57
78
  let biggestItem = null;
58
79
  item.find(">div,>article,>p,>section").each((i, v) => {
@@ -75,17 +96,30 @@ const findMainContentElement = (api, item, mainContentRatio) => {
75
96
  return item;
76
97
  };
77
98
  exports.findMainContentElement = findMainContentElement;
99
+ /**
100
+ * Extracts the RSS or Atom feed URL from a page's `<link>` tags.
101
+ * Returns `""` when no feed link is present.
102
+ */
78
103
  const getRSSFeed = (input) => {
79
104
  const api = (0, exports.getCheerioAPI)(input);
80
105
  return (api('link[type="application/rss+xml"], link[type="application/atom+xml"]').attr("href") ?? "");
81
106
  };
82
107
  exports.getRSSFeed = getRSSFeed;
108
+ /**
109
+ * Reads the canonical URL from `<link rel="canonical">` and promotes it to an absolute
110
+ * URL using `fixUrl`. Returns `""` when no canonical tag is found.
111
+ */
83
112
  const getCanonical = (input, protocol, host) => {
84
113
  const api = (0, exports.getCheerioAPI)(input);
85
114
  const canonical = (0, exports.getValueBySelector)(api, 'head>link[rel="canonical"]', "href");
86
115
  return (0, core_1.isNonEmptyString)(canonical) ? (0, web_1.fixUrl)(canonical, protocol, host) : "";
87
116
  };
88
117
  exports.getCanonical = getCanonical;
118
+ /**
119
+ * Extracts the page title, trying sources in this order:
120
+ * `<title>` → `og:title` → `twitter:title` → `meta[property="title"]` → `<h1>`.
121
+ * The result is cleaned to plain text via `cleanHtml`. Returns `""` when nothing is found.
122
+ */
89
123
  const getTitle = (input, cleanHtmlSettings) => {
90
124
  const api = (0, exports.getCheerioAPI)(input);
91
125
  if (!cleanHtmlSettings)
@@ -115,6 +149,12 @@ const getTitle = (input, cleanHtmlSettings) => {
115
149
  : "";
116
150
  };
117
151
  exports.getTitle = getTitle;
152
+ /**
153
+ * Extracts the page description, trying sources in this order:
154
+ * `<description>` → `meta[name="description"]` → `meta[property="description"]`
155
+ * → `og:description` → `twitter:description`.
156
+ * The result is cleaned to plain text. Returns `""` when nothing is found.
157
+ */
118
158
  const getDescription = (input, cleanHtmlSettings) => {
119
159
  const api = (0, exports.getCheerioAPI)(input);
120
160
  let description = "";
@@ -144,6 +184,11 @@ const getDescription = (input, cleanHtmlSettings) => {
144
184
  : "";
145
185
  };
146
186
  exports.getDescription = getDescription;
187
+ /**
188
+ * Extracts the primary image URL from a page, trying an optional custom `selector` first,
189
+ * then `og:image`, then `twitter:image:src`. The URL is promoted to absolute via `fixUrl`.
190
+ * Returns `undefined` when no image is found.
191
+ */
147
192
  const getImage = (input, protocol, host, selector) => {
148
193
  const api = (0, exports.getCheerioAPI)(input);
149
194
  let image = undefined;
@@ -161,6 +206,13 @@ const getImage = (input, protocol, host, selector) => {
161
206
  : undefined;
162
207
  };
163
208
  exports.getImage = getImage;
209
+ /**
210
+ * Extracts and cleans the main body content of a page as an HTML string.
211
+ * When `selector` is provided, content is collected from all matching elements.
212
+ * Otherwise the function locates the main content element via `findMainContentElement`
213
+ * (preferring a single `<article>` tag, then the largest text block by ratio).
214
+ * The result is sanitized through `cleanHtml` with `resultFormat: "html"`.
215
+ */
164
216
  const getContent = (input, cleanHtmlSettings, selector, mainContentRatio) => {
165
217
  const api = (0, exports.getCheerioAPI)(input);
166
218
  let result = "";
@@ -1 +1 @@
1
- {"version":3,"file":"web-content.js","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-content.js","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"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"}
package/dist/web.d.ts CHANGED
@@ -15,9 +15,28 @@
15
15
  * Unauthorized copying of this file, via any medium, is strictly prohibited.
16
16
  * This file is proprietary and confidential.
17
17
  */
18
+ /**
19
+ * Strips any subdomain from a dot-separated domain string.
20
+ * Handles 3- and 4-segment domains (e.g. sub.example.com → example.com,
21
+ * sub.example.co.uk → example.co.uk). Returns the input unchanged for
22
+ * 1- or 2-segment values.
23
+ */
18
24
  export declare const getBaseDomain: (domain: string) => string;
25
+ /**
26
+ * Returns the root URL (scheme + host + optional port + trailing slash) for a given URL.
27
+ * Falls back to "/" when the URL cannot be parsed.
28
+ * @example getWebRootUrl('https://sub.example.com:8080/path') → 'https://sub.example.com:8080/'
29
+ */
19
30
  export declare const getWebRootUrl: (url: string) => string;
31
+ /**
32
+ * Extracts the root domain (e.g. "example.com") from a full URL string.
33
+ * Returns an empty string when the URL cannot be parsed.
34
+ */
20
35
  export declare const getRootDomainFromUrl: (url: string) => string;
36
+ /**
37
+ * Extracts the root domain from a host string that may include a port and subdomains.
38
+ * @example getRootDomainFromHost('api.sub.example.com:3000') → 'example.com'
39
+ */
21
40
  export declare const getRootDomainFromHost: (host: string) => string;
22
41
  export type TWebLocation = {
23
42
  url: string;
@@ -28,9 +47,41 @@ export type TWebLocation = {
28
47
  query: string;
29
48
  hash: string;
30
49
  };
50
+ /**
51
+ * Parses a URL string into its constituent parts.
52
+ * Returns `undefined` when the input is not a valid http/https URL.
53
+ * @example
54
+ * getWebLocation('https://example.com:8080/path?q=1#top')
55
+ * // → { url, protocol: 'https', host: 'example.com', port: '8080', path: '/path', query: 'q=1', hash: '#top' }
56
+ */
31
57
  export declare const getWebLocation: (url: string) => TWebLocation | undefined;
58
+ /**
59
+ * Returns a truthy value when `url` is a valid http or https URL with a non-empty host,
60
+ * and `null` when the input is falsy. Use `!!isValidUrl(url)` for a strict boolean.
61
+ */
32
62
  export declare const isValidUrl: (url?: string) => boolean;
63
+ /**
64
+ * Promotes a protocol-relative or root-relative URL to an absolute URL.
65
+ * - `//cdn.example.com/img.png` → `https://cdn.example.com/img.png`
66
+ * - `/about` → `https://example.com/about`
67
+ * Absolute URLs are returned unchanged.
68
+ * @param url - The URL to fix (may be relative or absolute)
69
+ * @param protocol - The scheme to use (defaults to "https" when empty)
70
+ * @param host - The host to prepend for root-relative paths
71
+ */
33
72
  export declare const fixUrl: (url: string, protocol: string, host: string) => string;
73
+ /**
74
+ * Reads a single query-string parameter from a URL.
75
+ * Works with full URLs and root-relative paths (e.g. `/search?q=hello`).
76
+ * The key lookup is case-insensitive. Returns `defaultValue` when the key is
77
+ * missing or the URL cannot be parsed.
78
+ */
34
79
  export declare const getWebQueryValue: (url: string, key: string, defaultValue?: string) => string | undefined;
80
+ /**
81
+ * Sets or replaces a query-string parameter in a URL.
82
+ * If `value` is empty/nil the parameter is removed entirely.
83
+ * Returns the updated URL string.
84
+ * @example setWebQueryValue('https://x.com?page=1', 'page', '2') → 'https://x.com?page=2'
85
+ */
35
86
  export declare const setWebQueryValue: (url: string, key: string, value?: string) => string;
36
87
  //# sourceMappingURL=web.d.ts.map
package/dist/web.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAoB9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAO3C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAOlD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAWpD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,YAAY,GAAG,SAiB3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,YAQtC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,EAAE,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,MAQpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,eAAe,MAAM,KACtB,MAAM,GAAG,SAoBX,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACzB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,QAAQ,MAAM,KACf,MAwCF,CAAC"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAoB9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAO3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAOlD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAWpD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,YAAY,GAAG,SAiB3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,YAQtC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,EAAE,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,MAQpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GACzB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,eAAe,MAAM,KACtB,MAAM,GAAG,SAsBX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GACzB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,QAAQ,MAAM,KACf,MAwCF,CAAC"}
package/dist/web.js CHANGED
@@ -20,6 +20,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.setWebQueryValue = exports.getWebQueryValue = exports.fixUrl = exports.isValidUrl = exports.getWebLocation = exports.getRootDomainFromHost = exports.getRootDomainFromUrl = exports.getWebRootUrl = exports.getBaseDomain = void 0;
21
21
  const core_1 = require("./core");
22
22
  const lodash_1 = require("lodash");
23
+ /**
24
+ * Strips any subdomain from a dot-separated domain string.
25
+ * Handles 3- and 4-segment domains (e.g. sub.example.com → example.com,
26
+ * sub.example.co.uk → example.co.uk). Returns the input unchanged for
27
+ * 1- or 2-segment values.
28
+ */
23
29
  const getBaseDomain = (domain) => {
24
30
  if ((0, core_1.isNonEmptyString)(domain)) {
25
31
  const domainSegments = domain.split(".");
@@ -41,6 +47,11 @@ const getBaseDomain = (domain) => {
41
47
  return domain;
42
48
  };
43
49
  exports.getBaseDomain = getBaseDomain;
50
+ /**
51
+ * Returns the root URL (scheme + host + optional port + trailing slash) for a given URL.
52
+ * Falls back to "/" when the URL cannot be parsed.
53
+ * @example getWebRootUrl('https://sub.example.com:8080/path') → 'https://sub.example.com:8080/'
54
+ */
44
55
  const getWebRootUrl = (url) => {
45
56
  const urlInfo = (0, exports.getWebLocation)(url);
46
57
  if (urlInfo) {
@@ -50,6 +61,10 @@ const getWebRootUrl = (url) => {
50
61
  return "/";
51
62
  };
52
63
  exports.getWebRootUrl = getWebRootUrl;
64
+ /**
65
+ * Extracts the root domain (e.g. "example.com") from a full URL string.
66
+ * Returns an empty string when the URL cannot be parsed.
67
+ */
53
68
  const getRootDomainFromUrl = (url) => {
54
69
  const urlInfo = (0, exports.getWebLocation)(url);
55
70
  if (urlInfo) {
@@ -58,6 +73,10 @@ const getRootDomainFromUrl = (url) => {
58
73
  return "";
59
74
  };
60
75
  exports.getRootDomainFromUrl = getRootDomainFromUrl;
76
+ /**
77
+ * Extracts the root domain from a host string that may include a port and subdomains.
78
+ * @example getRootDomainFromHost('api.sub.example.com:3000') → 'example.com'
79
+ */
61
80
  const getRootDomainFromHost = (host) => {
62
81
  const hostInfo = host.split(":");
63
82
  let domain = hostInfo[0];
@@ -68,6 +87,13 @@ const getRootDomainFromHost = (host) => {
68
87
  return domain;
69
88
  };
70
89
  exports.getRootDomainFromHost = getRootDomainFromHost;
90
+ /**
91
+ * Parses a URL string into its constituent parts.
92
+ * Returns `undefined` when the input is not a valid http/https URL.
93
+ * @example
94
+ * getWebLocation('https://example.com:8080/path?q=1#top')
95
+ * // → { url, protocol: 'https', host: 'example.com', port: '8080', path: '/path', query: 'q=1', hash: '#top' }
96
+ */
71
97
  const getWebLocation = (url) => {
72
98
  const match = (0, core_1.isNonEmptyString)(url) &&
73
99
  url.match(/^(https?:)\/\/(([^:/?#]*)(?::([0-9]+))?)([/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);
@@ -84,6 +110,10 @@ const getWebLocation = (url) => {
84
110
  : undefined;
85
111
  };
86
112
  exports.getWebLocation = getWebLocation;
113
+ /**
114
+ * Returns a truthy value when `url` is a valid http or https URL with a non-empty host,
115
+ * and `null` when the input is falsy. Use `!!isValidUrl(url)` for a strict boolean.
116
+ */
87
117
  const isValidUrl = (url) => {
88
118
  if (!url)
89
119
  return null;
@@ -93,6 +123,15 @@ const isValidUrl = (url) => {
93
123
  (0, core_1.isNonEmptyString)(webUrl.host));
94
124
  };
95
125
  exports.isValidUrl = isValidUrl;
126
+ /**
127
+ * Promotes a protocol-relative or root-relative URL to an absolute URL.
128
+ * - `//cdn.example.com/img.png` → `https://cdn.example.com/img.png`
129
+ * - `/about` → `https://example.com/about`
130
+ * Absolute URLs are returned unchanged.
131
+ * @param url - The URL to fix (may be relative or absolute)
132
+ * @param protocol - The scheme to use (defaults to "https" when empty)
133
+ * @param host - The host to prepend for root-relative paths
134
+ */
96
135
  const fixUrl = (url, protocol, host) => {
97
136
  if (!(0, core_1.isNonEmptyString)(protocol))
98
137
  protocol = "https";
@@ -105,10 +144,18 @@ const fixUrl = (url, protocol, host) => {
105
144
  return url;
106
145
  };
107
146
  exports.fixUrl = fixUrl;
147
+ /**
148
+ * Reads a single query-string parameter from a URL.
149
+ * Works with full URLs and root-relative paths (e.g. `/search?q=hello`).
150
+ * The key lookup is case-insensitive. Returns `defaultValue` when the key is
151
+ * missing or the URL cannot be parsed.
152
+ */
108
153
  const getWebQueryValue = (url, key, defaultValue) => {
109
154
  if (!(0, core_1.isNonEmptyString)(url))
110
155
  return defaultValue;
111
- const lo = (0, exports.getWebLocation)(url.indexOf("/") == 0 ? `https://www.primeobjects.com${url}` : url);
156
+ // getWebLocation requires a fully-qualified URL; for relative paths we prepend a
157
+ // throwaway base so the query-string can still be parsed correctly.
158
+ const lo = (0, exports.getWebLocation)(url.indexOf("/") == 0 ? `https://placeholder.internal${url}` : url);
112
159
  if (lo && lo.query && lo.query.trim().length > 0) {
113
160
  const query = (0, lodash_1.find)(lo.query.split(`&`), (q) => {
114
161
  const pair = q.split(`=`);
@@ -123,6 +170,12 @@ const getWebQueryValue = (url, key, defaultValue) => {
123
170
  return defaultValue;
124
171
  };
125
172
  exports.getWebQueryValue = getWebQueryValue;
173
+ /**
174
+ * Sets or replaces a query-string parameter in a URL.
175
+ * If `value` is empty/nil the parameter is removed entirely.
176
+ * Returns the updated URL string.
177
+ * @example setWebQueryValue('https://x.com?page=1', 'page', '2') → 'https://x.com?page=2'
178
+ */
126
179
  const setWebQueryValue = (url, key, value) => {
127
180
  const val = !(0, lodash_1.isNil)(value) && (0, core_1.isNonEmptyString)(value)
128
181
  ? encodeURIComponent(value).replace(/'/g, "%27")