@encodeagent/platform-helper-util 1.2603.1221241 → 1.2603.1311023
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/README.md +277 -153
- package/dist/api.d.ts +38 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +38 -2
- package/dist/api.js.map +1 -1
- package/dist/auth.d.ts +93 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +93 -2
- package/dist/auth.js.map +1 -1
- package/dist/colors.d.ts +41 -0
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +41 -0
- package/dist/colors.js.map +1 -1
- package/dist/core.d.ts +262 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +264 -2
- package/dist/core.js.map +1 -1
- package/dist/cost.d.ts +26 -0
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +27 -1
- package/dist/cost.js.map +1 -1
- package/dist/file.d.ts +38 -0
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +42 -2
- package/dist/file.js.map +1 -1
- package/dist/html.d.ts +83 -0
- package/dist/html.d.ts.map +1 -1
- package/dist/html.js +88 -35
- package/dist/html.js.map +1 -1
- package/dist/logger.d.ts +17 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +28 -2
- package/dist/logger.js.map +1 -1
- package/dist/markdown.d.ts +20 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +20 -0
- package/dist/markdown.js.map +1 -1
- package/dist/metadata.js +1 -1
- package/dist/metadata.js.map +1 -1
- package/dist/record.d.ts +137 -5
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +184 -19
- package/dist/record.js.map +1 -1
- package/dist/shortid.d.ts +21 -8
- package/dist/shortid.d.ts.map +1 -1
- package/dist/shortid.js +9 -5
- package/dist/shortid.js.map +1 -1
- package/dist/slug.d.ts +10 -0
- package/dist/slug.d.ts.map +1 -1
- package/dist/slug.js +10 -0
- package/dist/slug.js.map +1 -1
- package/dist/token.d.ts +1 -1
- package/dist/tree.d.ts +43 -0
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +43 -5
- package/dist/tree.js.map +1 -1
- package/dist/value-of-object.d.ts +41 -0
- package/dist/value-of-object.d.ts.map +1 -1
- package/dist/value-of-object.js +59 -17
- package/dist/value-of-object.js.map +1 -1
- package/dist/web-content.d.ts +52 -0
- package/dist/web-content.d.ts.map +1 -1
- package/dist/web-content.js +52 -0
- package/dist/web-content.js.map +1 -1
- package/dist/web.d.ts +51 -0
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +54 -1
- package/dist/web.js.map +1 -1
- package/package.json +10 -5
package/dist/value-of-object.js
CHANGED
|
@@ -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.
|
|
97
|
+
if (!(0, lodash_1.isArray)(defaultValue))
|
|
76
98
|
defaultValue = undefined;
|
|
77
99
|
const val = (0, exports.getPropValueOfObject)(obj, key);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
return
|
|
97
|
-
? (0, exports.getPropValueOfObject)(
|
|
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":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mCAUgB;AAEhB,iCAA0C;
|
|
1
|
+
{"version":3,"file":"value-of-object.js","sourceRoot":"","sources":["../src/value-of-object.ts"],"names":[],"mappings":"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"}
|
package/dist/web-content.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/web-content.js
CHANGED
|
@@ -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 = "";
|
package/dist/web-content.js.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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")
|