@encodeagent/platform-helper-util 1.2508.1241505
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 +121 -0
- package/dist/__tests__/core.test.d.ts +5 -0
- package/dist/__tests__/core.test.d.ts.map +1 -0
- package/dist/__tests__/core.test.js +128 -0
- package/dist/__tests__/core.test.js.map +1 -0
- package/dist/__tests__/shortid.test.d.ts +5 -0
- package/dist/__tests__/shortid.test.d.ts.map +1 -0
- package/dist/__tests__/shortid.test.js +72 -0
- package/dist/__tests__/shortid.test.js.map +1 -0
- package/dist/__tests__/slug.test.d.ts +5 -0
- package/dist/__tests__/slug.test.d.ts.map +1 -0
- package/dist/__tests__/slug.test.js +31 -0
- package/dist/__tests__/slug.test.js.map +1 -0
- package/dist/__tests__/token.test.d.ts +5 -0
- package/dist/__tests__/token.test.d.ts.map +1 -0
- package/dist/__tests__/token.test.js +49 -0
- package/dist/__tests__/token.test.js.map +1 -0
- package/dist/__tests__/uuid.test.d.ts +5 -0
- package/dist/__tests__/uuid.test.d.ts.map +1 -0
- package/dist/__tests__/uuid.test.js +42 -0
- package/dist/__tests__/uuid.test.js.map +1 -0
- package/dist/__tests__/value-of-object.test.d.ts +5 -0
- package/dist/__tests__/value-of-object.test.d.ts.map +1 -0
- package/dist/__tests__/value-of-object.test.js +49 -0
- package/dist/__tests__/value-of-object.test.js.map +1 -0
- package/dist/ai/llm.d.ts +90 -0
- package/dist/ai/llm.d.ts.map +1 -0
- package/dist/ai/llm.js +524 -0
- package/dist/ai/llm.js.map +1 -0
- package/dist/ai/model.d.ts +14 -0
- package/dist/ai/model.d.ts.map +1 -0
- package/dist/ai/model.js +120 -0
- package/dist/ai/model.js.map +1 -0
- package/dist/ai/types.d.ts +85 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +15 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai/util.d.ts +28 -0
- package/dist/ai/util.d.ts.map +1 -0
- package/dist/ai/util.js +43 -0
- package/dist/ai/util.js.map +1 -0
- package/dist/auth.d.ts +34 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +568 -0
- package/dist/auth.js.map +1 -0
- package/dist/colors.d.ts +79 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +492 -0
- package/dist/colors.js.map +1 -0
- package/dist/constants.d.ts +86 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +2578 -0
- package/dist/constants.js.map +1 -0
- package/dist/core.d.ts +337 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +1165 -0
- package/dist/core.js.map +1 -0
- package/dist/cost.d.ts +35 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +143 -0
- package/dist/cost.js.map +1 -0
- package/dist/file.d.ts +55 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +273 -0
- package/dist/file.js.map +1 -0
- package/dist/html.d.ts +44 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.js +420 -0
- package/dist/html.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +313 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +20 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +38 -0
- package/dist/markdown.js.map +1 -0
- package/dist/metadata.d.ts +39 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +110 -0
- package/dist/metadata.js.map +1 -0
- package/dist/record.d.ts +67 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/record.js +404 -0
- package/dist/record.js.map +1 -0
- package/dist/shortid.d.ts +42 -0
- package/dist/shortid.d.ts.map +1 -0
- package/dist/shortid.js +42 -0
- package/dist/shortid.js.map +1 -0
- package/dist/slug.d.ts +24 -0
- package/dist/slug.d.ts.map +1 -0
- package/dist/slug.js +43 -0
- package/dist/slug.js.map +1 -0
- package/dist/token.d.ts +34 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +20 -0
- package/dist/token.js.map +1 -0
- package/dist/tree.d.ts +27 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +193 -0
- package/dist/tree.js.map +1 -0
- package/dist/types.d.ts +270 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +29 -0
- package/dist/types.js.map +1 -0
- package/dist/uuid.d.ts +25 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +32 -0
- package/dist/uuid.js.map +1 -0
- package/dist/value-of-object.d.ts +25 -0
- package/dist/value-of-object.d.ts.map +1 -0
- package/dist/value-of-object.js +123 -0
- package/dist/value-of-object.js.map +1 -0
- package/dist/web-content.d.ts +54 -0
- package/dist/web-content.d.ts.map +1 -0
- package/dist/web-content.js +268 -0
- package/dist/web-content.js.map +1 -0
- package/dist/web.d.ts +36 -0
- package/dist/web.d.ts.map +1 -0
- package/dist/web.js +162 -0
- package/dist/web.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;AAqCF,CAAC;AAeD,CAAC;AAWD,CAAC;AA0BD,CAAC;AAiBD,CAAC;AAaD,CAAC;AAiCD,CAAC;AA2BD,CAAC;AA2CD,CAAC"}
|
package/dist/uuid.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Universally Unique Identifier (UUID) generation utilities for creating unique identifiers across distributed systems
|
|
3
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
4
|
+
* @author EncodeAgent Team.
|
|
5
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
6
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
7
|
+
* @contact encode.agent@primeobjects.com
|
|
8
|
+
* @website https://www.encodeagent.com/
|
|
9
|
+
*
|
|
10
|
+
* This software contains proprietary and confidential information of
|
|
11
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
12
|
+
* software, in whole or in part, without written permission of
|
|
13
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
14
|
+
*
|
|
15
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
16
|
+
* This file is proprietary and confidential.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Generates a new UUID v4 string
|
|
20
|
+
* @returns {string} A new UUID v4 string
|
|
21
|
+
* @example
|
|
22
|
+
* const id = newGuid(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
23
|
+
*/
|
|
24
|
+
export declare const newGuid: () => string;
|
|
25
|
+
//# sourceMappingURL=uuid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,QAAO,MAE1B,CAAC"}
|
package/dist/uuid.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Universally Unique Identifier (UUID) generation utilities for creating unique identifiers across distributed systems
|
|
4
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
5
|
+
* @author EncodeAgent Team.
|
|
6
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
7
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
8
|
+
* @contact encode.agent@primeobjects.com
|
|
9
|
+
* @website https://www.encodeagent.com/
|
|
10
|
+
*
|
|
11
|
+
* This software contains proprietary and confidential information of
|
|
12
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
13
|
+
* software, in whole or in part, without written permission of
|
|
14
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
15
|
+
*
|
|
16
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
17
|
+
* This file is proprietary and confidential.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.newGuid = void 0;
|
|
21
|
+
const uuid_1 = require("uuid");
|
|
22
|
+
/**
|
|
23
|
+
* Generates a new UUID v4 string
|
|
24
|
+
* @returns {string} A new UUID v4 string
|
|
25
|
+
* @example
|
|
26
|
+
* const id = newGuid(); // "550e8400-e29b-41d4-a716-446655440000"
|
|
27
|
+
*/
|
|
28
|
+
const newGuid = () => {
|
|
29
|
+
return (0, uuid_1.v4)();
|
|
30
|
+
};
|
|
31
|
+
exports.newGuid = newGuid;
|
|
32
|
+
//# sourceMappingURL=uuid.js.map
|
package/dist/uuid.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.js","sourceRoot":"","sources":["../src/uuid.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,+BAA0B;AAE1B;;;;;GAKG;AACI,MAAM,OAAO,GAAG,GAAW,EAAE;IAChC,OAAO,IAAA,SAAE,GAAE,CAAC;AAChB,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Object property extraction utilities for safely accessing nested values and type conversion from objects
|
|
3
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
4
|
+
* @author EncodeAgent Team.
|
|
5
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
6
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
7
|
+
* @contact encode.agent@primeobjects.com
|
|
8
|
+
* @website https://www.encodeagent.com/
|
|
9
|
+
*
|
|
10
|
+
* This software contains proprietary and confidential information of
|
|
11
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
12
|
+
* software, in whole or in part, without written permission of
|
|
13
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
14
|
+
*
|
|
15
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
16
|
+
* This file is proprietary and confidential.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getObjectPropValue: (obj: Record<string, any> | null | undefined, key: string, caseSensitive?: boolean) => Record<string, any> | undefined;
|
|
19
|
+
export declare const getBooleanPropValue: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: boolean) => boolean | undefined;
|
|
20
|
+
export declare const getIntValueOfObject: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: number | undefined) => number | undefined;
|
|
21
|
+
export declare const getFloatValueOfObject: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: number | undefined) => number | undefined;
|
|
22
|
+
export declare const getBooleanValueOfObject: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: boolean | undefined) => boolean | undefined;
|
|
23
|
+
export declare const getArrayPropValueOfObject: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: any[] | undefined) => any[] | undefined;
|
|
24
|
+
export declare const getPropValueOfObject: (obj: Record<string, any> | null | undefined, key: string, defaultValue?: any | undefined) => any | undefined;
|
|
25
|
+
//# sourceMappingURL=value-of-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-of-object.d.ts","sourceRoot":"","sources":["../src/value-of-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,eAAO,MAAM,kBAAkB,GAC3B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,gBAAgB,OAAO,KACxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAiBxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,OAAO,KACvB,OAAO,GAAG,SAMZ,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,MAAM,GAAG,SAAS,KAClC,MAAM,GAAG,SAIX,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,MAAM,GAAG,SAAS,KAClC,MAAM,GAAG,SAIX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,OAAO,GAAG,SAAS,KACnC,OAAO,GAAG,SAMZ,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAClC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,GAAG,EAAE,GAAG,SAAS,KACjC,GAAG,EAAE,GAAG,SAQV,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,MAAM,EACX,eAAe,GAAG,GAAG,SAAS,KAC/B,GAAG,GAAG,SAoCR,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Object property extraction utilities for safely accessing nested values and type conversion from objects
|
|
4
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
5
|
+
* @author EncodeAgent Team.
|
|
6
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
7
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
8
|
+
* @contact encode.agent@primeobjects.com
|
|
9
|
+
* @website https://www.encodeagent.com/
|
|
10
|
+
*
|
|
11
|
+
* This software contains proprietary and confidential information of
|
|
12
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
13
|
+
* software, in whole or in part, without written permission of
|
|
14
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
15
|
+
*
|
|
16
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
17
|
+
* This file is proprietary and confidential.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.getPropValueOfObject = exports.getArrayPropValueOfObject = exports.getBooleanValueOfObject = exports.getFloatValueOfObject = exports.getIntValueOfObject = exports.getBooleanPropValue = exports.getObjectPropValue = void 0;
|
|
21
|
+
const lodash_1 = require("lodash");
|
|
22
|
+
const core_1 = require("./core");
|
|
23
|
+
const getObjectPropValue = (obj, key, caseSensitive) => {
|
|
24
|
+
let value = undefined;
|
|
25
|
+
if (!(0, core_1.isNonEmptyString)(key))
|
|
26
|
+
return value;
|
|
27
|
+
(0, lodash_1.forOwn)(obj, (v, k) => {
|
|
28
|
+
if (k &&
|
|
29
|
+
v &&
|
|
30
|
+
((!caseSensitive && key.toLowerCase() == k.toLowerCase()) ||
|
|
31
|
+
(caseSensitive && key === k))) {
|
|
32
|
+
value = v;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return value;
|
|
36
|
+
};
|
|
37
|
+
exports.getObjectPropValue = getObjectPropValue;
|
|
38
|
+
const getBooleanPropValue = (obj, key, defaultValue) => {
|
|
39
|
+
if (!(0, lodash_1.isBoolean)(defaultValue))
|
|
40
|
+
defaultValue = undefined;
|
|
41
|
+
const val = (0, exports.getPropValueOfObject)(obj, key);
|
|
42
|
+
if ((0, lodash_1.isBoolean)(val))
|
|
43
|
+
return val;
|
|
44
|
+
if ((0, lodash_1.isString)(val))
|
|
45
|
+
return val.toLowerCase().trim() == "true";
|
|
46
|
+
return defaultValue;
|
|
47
|
+
};
|
|
48
|
+
exports.getBooleanPropValue = getBooleanPropValue;
|
|
49
|
+
const getIntValueOfObject = (obj, key, defaultValue) => {
|
|
50
|
+
if (!(0, core_1.isNonEmptyString)(defaultValue))
|
|
51
|
+
defaultValue = undefined;
|
|
52
|
+
const val = (0, exports.getPropValueOfObject)(obj, key);
|
|
53
|
+
return !(0, lodash_1.isNaN)(parseInt(val)) ? parseInt(val) : defaultValue;
|
|
54
|
+
};
|
|
55
|
+
exports.getIntValueOfObject = getIntValueOfObject;
|
|
56
|
+
const getFloatValueOfObject = (obj, key, defaultValue) => {
|
|
57
|
+
if (!(0, core_1.isNonEmptyString)(defaultValue))
|
|
58
|
+
defaultValue = undefined;
|
|
59
|
+
const val = (0, exports.getPropValueOfObject)(obj, key);
|
|
60
|
+
return !(0, lodash_1.isNaN)(parseFloat(val)) ? parseFloat(val) : defaultValue;
|
|
61
|
+
};
|
|
62
|
+
exports.getFloatValueOfObject = getFloatValueOfObject;
|
|
63
|
+
const getBooleanValueOfObject = (obj, key, defaultValue) => {
|
|
64
|
+
if (!(0, core_1.isNonEmptyString)(defaultValue))
|
|
65
|
+
defaultValue = undefined;
|
|
66
|
+
const val = (0, exports.getPropValueOfObject)(obj, key);
|
|
67
|
+
if (`${val}`.toLowerCase() == "true")
|
|
68
|
+
return true;
|
|
69
|
+
if (`${val}`.toLowerCase() == "false")
|
|
70
|
+
return false;
|
|
71
|
+
return defaultValue;
|
|
72
|
+
};
|
|
73
|
+
exports.getBooleanValueOfObject = getBooleanValueOfObject;
|
|
74
|
+
const getArrayPropValueOfObject = (obj, key, defaultValue) => {
|
|
75
|
+
if (!(0, lodash_1.isObject)(defaultValue))
|
|
76
|
+
defaultValue = undefined;
|
|
77
|
+
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;
|
|
83
|
+
};
|
|
84
|
+
exports.getArrayPropValueOfObject = getArrayPropValueOfObject;
|
|
85
|
+
const getPropValueOfObject = (obj, key, defaultValue) => {
|
|
86
|
+
if ((0, lodash_1.isNil)(defaultValue))
|
|
87
|
+
defaultValue = undefined;
|
|
88
|
+
if (!(0, lodash_1.isObject)(obj) || !(0, core_1.isNonEmptyString)(key))
|
|
89
|
+
return null;
|
|
90
|
+
//if key has ".", it means it's a nested object
|
|
91
|
+
const dotIndex = key.indexOf(".");
|
|
92
|
+
if (dotIndex > 0) {
|
|
93
|
+
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)
|
|
98
|
+
: null;
|
|
99
|
+
}
|
|
100
|
+
let v = obj[key];
|
|
101
|
+
if ((0, lodash_1.isNil)(v))
|
|
102
|
+
v = obj[key.toLowerCase()];
|
|
103
|
+
if ((0, lodash_1.isNil)(v))
|
|
104
|
+
v = obj[key.toUpperCase()];
|
|
105
|
+
if ((0, lodash_1.isNil)(v))
|
|
106
|
+
v = obj[(0, lodash_1.camelCase)(key)];
|
|
107
|
+
if ((0, lodash_1.isNil)(v) && key.indexOf("-") > 0) {
|
|
108
|
+
v = (0, exports.getPropValueOfObject)(obj, key.replace(/-/g, ""), defaultValue);
|
|
109
|
+
}
|
|
110
|
+
if ((0, lodash_1.isNil)(v)) {
|
|
111
|
+
//try scan all props
|
|
112
|
+
for (const p in obj) {
|
|
113
|
+
if (p.toLowerCase() == key.toLowerCase())
|
|
114
|
+
return obj[p];
|
|
115
|
+
if (p.replace(/-/g, "").toLowerCase() ==
|
|
116
|
+
key.replace(/-/g, "").toLowerCase())
|
|
117
|
+
return obj[p];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return v;
|
|
121
|
+
};
|
|
122
|
+
exports.getPropValueOfObject = getPropValueOfObject;
|
|
123
|
+
//# sourceMappingURL=value-of-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-of-object.js","sourceRoot":"","sources":["../src/value-of-object.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,mCAUgB;AAEhB,iCAA0C;AAEnC,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;AAEK,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;AAEK,MAAM,mBAAmB,GAAG,CAC/B,GAA2C,EAC3C,GAAW,EACX,YAAiC,EACf,EAAE;IACpB,IAAI,CAAC,IAAA,uBAAgB,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IAC9D,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;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,MAAM,qBAAqB,GAAG,CACjC,GAA2C,EAC3C,GAAW,EACX,YAAiC,EACf,EAAE;IACpB,IAAI,CAAC,IAAA,uBAAgB,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IAC9D,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;AARW,QAAA,qBAAqB,yBAQhC;AAEK,MAAM,uBAAuB,GAAG,CACnC,GAA2C,EAC3C,GAAW,EACX,YAAkC,EACf,EAAE;IACrB,IAAI,CAAC,IAAA,uBAAgB,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IAC9D,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;AAVW,QAAA,uBAAuB,2BAUlC;AAEK,MAAM,yBAAyB,GAAG,CACrC,GAA2C,EAC3C,GAAW,EACX,YAAgC,EACf,EAAE;IACnB,IAAI,CAAC,IAAA,iBAAS,EAAC,YAAY,CAAC;QAAE,YAAY,GAAG,SAAS,CAAC;IACvD,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,OAAO,IAAA,gBAAO,EAAC,GAAG,CAAC;QACf,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAA,uBAAgB,EAAC,GAAG,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACjB,CAAC,CAAC,YAAY,CAAC;AACvB,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEK,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,+CAA+C;IAC/C,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,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,GAAG,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,uBAAgB,EAAC,GAAG,CAAC;YAChD,CAAC,CAAC,IAAA,4BAAoB,EAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC;YACvD,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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Web content extraction utilities including metadata parsing, title extraction, and content analysis functions
|
|
3
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
4
|
+
* @author EncodeAgent Team.
|
|
5
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
6
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
7
|
+
* @contact encode.agent@primeobjects.com
|
|
8
|
+
* @website https://www.encodeagent.com/
|
|
9
|
+
*
|
|
10
|
+
* This software contains proprietary and confidential information of
|
|
11
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
12
|
+
* software, in whole or in part, without written permission of
|
|
13
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
14
|
+
*
|
|
15
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
16
|
+
* This file is proprietary and confidential.
|
|
17
|
+
*/
|
|
18
|
+
import { TCleanHtmlSettings } from "./html";
|
|
19
|
+
export declare const lowerH: (doc: any) => any;
|
|
20
|
+
export declare const getValueBySelector: (doc: any, selector: string, attrName?: string) => string;
|
|
21
|
+
export declare const findMainContentElement: (doc: any, item: any, mainContentRatio?: number) => any;
|
|
22
|
+
export declare const getRSSFeed: (doc: any) => any;
|
|
23
|
+
export declare const getCanonical: (doc: any, protocol: string, host: string) => string;
|
|
24
|
+
export declare const getTitle: (doc: any, cleanHtmlSettings?: TCleanHtmlSettings) => any;
|
|
25
|
+
export declare const getDescription: (doc: any, cleanHtmlSettings?: TCleanHtmlSettings) => any;
|
|
26
|
+
export declare const getImage: (doc: any, protocol: string, host: string, selector?: string) => string | undefined;
|
|
27
|
+
export declare const getContent: (doc: any, cleanHtmlSettings?: TCleanHtmlSettings, selector?: string, mainContentRatio?: number) => string;
|
|
28
|
+
export interface IWebPageProcessSettings {
|
|
29
|
+
removePipeInTitle?: boolean;
|
|
30
|
+
keepLongestPipeInTitle?: boolean;
|
|
31
|
+
changeFrequency?: "daily" | "weekly" | "monthly";
|
|
32
|
+
changeUpdatedOn?: number;
|
|
33
|
+
descriptionSelector?: string;
|
|
34
|
+
priceSelector?: string;
|
|
35
|
+
contentSelector?: string;
|
|
36
|
+
imageSelector?: string;
|
|
37
|
+
requirePrice?: boolean;
|
|
38
|
+
cleanHtmlSettings?: TCleanHtmlSettings;
|
|
39
|
+
removeTitleFromContent?: boolean;
|
|
40
|
+
mainContentRatio?: number;
|
|
41
|
+
}
|
|
42
|
+
export type TWebPageProcessSettings = IWebPageProcessSettings;
|
|
43
|
+
export interface IProcessWebResult {
|
|
44
|
+
canonical: string;
|
|
45
|
+
title: string;
|
|
46
|
+
rssFeed?: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
media?: string;
|
|
49
|
+
content?: string;
|
|
50
|
+
error?: any;
|
|
51
|
+
}
|
|
52
|
+
export type TProcessWebResult = IProcessWebResult;
|
|
53
|
+
export declare const processWebPage: (url: string, html: string, settings: TWebPageProcessSettings) => TProcessWebResult | undefined;
|
|
54
|
+
//# sourceMappingURL=web-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-content.d.ts","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAa,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAKvD,eAAO,MAAM,MAAM,GAAI,KAAK,GAAG,QAQ9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC3B,KAAK,GAAG,EACR,UAAU,MAAM,EAChB,WAAW,MAAM,WAYpB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,KAAK,GAAG,EACR,MAAM,GAAG,EACT,mBAAmB,MAAM,KAC1B,GAuBF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,QAMlC,CAAC;AAEF,eAAO,MAAM,YAAY,GACrB,KAAK,GAAG,EACR,UAAU,MAAM,EAChB,MAAM,MAAM,KACb,MAOF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,EAAE,oBAAoB,kBAAkB,QA0CxE,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,KAAK,GAAG,EACR,oBAAoB,kBAAkB,QAsDzC,CAAC;AAEF,eAAO,MAAM,QAAQ,GACjB,KAAK,GAAG,EACR,UAAU,MAAM,EAChB,MAAM,MAAM,EACZ,WAAW,MAAM,KAClB,MAAM,GAAG,SA0BX,CAAC;AAEF,eAAO,MAAM,UAAU,GACnB,KAAK,GAAG,EACR,oBAAoB,kBAAkB,EACtC,WAAW,MAAM,EACjB,mBAAmB,MAAM,WAmD5B,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD,eAAO,MAAM,cAAc,GACvB,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,UAAU,uBAAuB,KAClC,iBAAiB,GAAG,SA8FtB,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Web content extraction utilities including metadata parsing, title extraction, and content analysis functions
|
|
4
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
5
|
+
* @author EncodeAgent Team.
|
|
6
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
7
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
8
|
+
* @contact encode.agent@primeobjects.com
|
|
9
|
+
* @website https://www.encodeagent.com/
|
|
10
|
+
*
|
|
11
|
+
* This software contains proprietary and confidential information of
|
|
12
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
13
|
+
* software, in whole or in part, without written permission of
|
|
14
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
15
|
+
*
|
|
16
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
17
|
+
* This file is proprietary and confidential.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.processWebPage = exports.getContent = exports.getImage = exports.getDescription = exports.getTitle = exports.getCanonical = exports.getRSSFeed = exports.findMainContentElement = exports.getValueBySelector = exports.lowerH = void 0;
|
|
21
|
+
const cheerio_1 = require("cheerio");
|
|
22
|
+
const web_1 = require("./web");
|
|
23
|
+
const html_1 = require("./html");
|
|
24
|
+
const core_1 = require("./core");
|
|
25
|
+
const DEFAULT_MAIN_CONTENT_RATIO = 0.75;
|
|
26
|
+
const lowerH = (doc) => {
|
|
27
|
+
for (let i = 6; i >= 1; i--) {
|
|
28
|
+
doc(`h${i}`).each((j, o) => {
|
|
29
|
+
(0, core_1.doNothing)(j);
|
|
30
|
+
o.tagName = `h${i + 1}`;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return doc;
|
|
34
|
+
};
|
|
35
|
+
exports.lowerH = lowerH;
|
|
36
|
+
const getValueBySelector = (doc, selector, attrName) => {
|
|
37
|
+
let v = "";
|
|
38
|
+
doc(selector).each((i, o) => {
|
|
39
|
+
(0, core_1.doNothing)(i);
|
|
40
|
+
if (!(0, core_1.isNonEmptyString)(v)) {
|
|
41
|
+
v = (0, core_1.isNonEmptyString)(attrName)
|
|
42
|
+
? doc(o).attr(attrName)
|
|
43
|
+
: doc(o).text();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return v;
|
|
47
|
+
};
|
|
48
|
+
exports.getValueBySelector = getValueBySelector;
|
|
49
|
+
const findMainContentElement = (doc, item, mainContentRatio) => {
|
|
50
|
+
let biggestItem = null;
|
|
51
|
+
item.find(">div,>article,>p,>section").each((i, v) => {
|
|
52
|
+
(0, core_1.doNothing)(i);
|
|
53
|
+
const curItem = doc(v);
|
|
54
|
+
const curItemSize = curItem.text().length;
|
|
55
|
+
if (!biggestItem) {
|
|
56
|
+
biggestItem = curItem;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
if (biggestItem.text().length < curItemSize)
|
|
60
|
+
biggestItem = curItem;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
if (biggestItem &&
|
|
64
|
+
(1.0 * biggestItem.text().length) / item.text().length >
|
|
65
|
+
(mainContentRatio ?? DEFAULT_MAIN_CONTENT_RATIO)) {
|
|
66
|
+
return (0, exports.findMainContentElement)(doc, biggestItem, mainContentRatio);
|
|
67
|
+
}
|
|
68
|
+
return item;
|
|
69
|
+
};
|
|
70
|
+
exports.findMainContentElement = findMainContentElement;
|
|
71
|
+
const getRSSFeed = (doc) => {
|
|
72
|
+
return (doc('link[type="application/rss+xml"], link[type="application/atom+xml"]').attr("href") ?? "");
|
|
73
|
+
};
|
|
74
|
+
exports.getRSSFeed = getRSSFeed;
|
|
75
|
+
const getCanonical = (doc, protocol, host) => {
|
|
76
|
+
const canonical = (0, exports.getValueBySelector)(doc, 'head>link[rel="canonical"]', "href");
|
|
77
|
+
return (0, core_1.isNonEmptyString)(canonical) ? (0, web_1.fixUrl)(canonical, protocol, host) : "";
|
|
78
|
+
};
|
|
79
|
+
exports.getCanonical = getCanonical;
|
|
80
|
+
const getTitle = (doc, cleanHtmlSettings) => {
|
|
81
|
+
if (!cleanHtmlSettings)
|
|
82
|
+
cleanHtmlSettings = {};
|
|
83
|
+
let title = (0, exports.getValueBySelector)(doc, "head>title");
|
|
84
|
+
if (!(0, core_1.isNonEmptyString)(title)) {
|
|
85
|
+
//og:title metadata
|
|
86
|
+
title = (0, exports.getValueBySelector)(doc, 'head>meta[property="og:title"]', "content");
|
|
87
|
+
}
|
|
88
|
+
if (!(0, core_1.isNonEmptyString)(title)) {
|
|
89
|
+
//twitter:title metadata
|
|
90
|
+
title = (0, exports.getValueBySelector)(doc, 'head>meta[property="twitter:title"]', "content");
|
|
91
|
+
}
|
|
92
|
+
if (!(0, core_1.isNonEmptyString)(title)) {
|
|
93
|
+
//title metadata
|
|
94
|
+
title = (0, exports.getValueBySelector)(doc, 'head>meta[property="title"]', "content");
|
|
95
|
+
}
|
|
96
|
+
if (!(0, core_1.isNonEmptyString)(title)) {
|
|
97
|
+
//h1
|
|
98
|
+
title = (0, exports.getValueBySelector)(doc, "h1");
|
|
99
|
+
}
|
|
100
|
+
return (0, core_1.isNonEmptyString)(title)
|
|
101
|
+
? (0, html_1.cleanHtml)(title, {
|
|
102
|
+
...cleanHtmlSettings,
|
|
103
|
+
resultFormat: "text"
|
|
104
|
+
})?.trim()
|
|
105
|
+
: "";
|
|
106
|
+
};
|
|
107
|
+
exports.getTitle = getTitle;
|
|
108
|
+
const getDescription = (doc, cleanHtmlSettings) => {
|
|
109
|
+
let description = "";
|
|
110
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
111
|
+
description = (0, exports.getValueBySelector)(doc, "head>description");
|
|
112
|
+
}
|
|
113
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
114
|
+
description = (0, exports.getValueBySelector)(doc, 'head>meta[name="description"]', "content");
|
|
115
|
+
}
|
|
116
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
117
|
+
description = (0, exports.getValueBySelector)(doc, 'head>meta[property="description"]', "content");
|
|
118
|
+
}
|
|
119
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
120
|
+
description = (0, exports.getValueBySelector)(doc, 'head>meta[property="og:description"]', "content");
|
|
121
|
+
}
|
|
122
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
123
|
+
description = (0, exports.getValueBySelector)(doc, 'head>meta[property="og:description"]', "content");
|
|
124
|
+
}
|
|
125
|
+
if (!(0, core_1.isNonEmptyString)(description)) {
|
|
126
|
+
description = (0, exports.getValueBySelector)(doc, 'head>meta[property="twitter:description"]', "content");
|
|
127
|
+
}
|
|
128
|
+
return (0, core_1.isNonEmptyString)(description)
|
|
129
|
+
? (0, html_1.cleanHtml)(description, {
|
|
130
|
+
...cleanHtmlSettings,
|
|
131
|
+
resultFormat: "text"
|
|
132
|
+
})?.trim()
|
|
133
|
+
: "";
|
|
134
|
+
};
|
|
135
|
+
exports.getDescription = getDescription;
|
|
136
|
+
const getImage = (doc, protocol, host, selector) => {
|
|
137
|
+
let image = undefined;
|
|
138
|
+
if (selector && (0, core_1.isNonEmptyString)(selector)) {
|
|
139
|
+
image = (0, exports.getValueBySelector)(doc, selector, "src");
|
|
140
|
+
}
|
|
141
|
+
if (!(0, core_1.isNonEmptyString)(image)) {
|
|
142
|
+
image = (0, exports.getValueBySelector)(doc, 'head>meta[property="og:image"]', "content");
|
|
143
|
+
}
|
|
144
|
+
if (!(0, core_1.isNonEmptyString)(image)) {
|
|
145
|
+
image = (0, exports.getValueBySelector)(doc, 'head>meta[property="twitter:image:src"]', "content");
|
|
146
|
+
}
|
|
147
|
+
return image && (0, core_1.isNonEmptyString)(image)
|
|
148
|
+
? (0, web_1.fixUrl)(image, protocol, host)
|
|
149
|
+
: undefined;
|
|
150
|
+
};
|
|
151
|
+
exports.getImage = getImage;
|
|
152
|
+
const getContent = (doc, cleanHtmlSettings, selector, mainContentRatio) => {
|
|
153
|
+
let result = "";
|
|
154
|
+
if ((0, core_1.isNonEmptyString)(selector)) {
|
|
155
|
+
doc(selector).each((i, v) => {
|
|
156
|
+
(0, core_1.doNothing)(i);
|
|
157
|
+
let content = doc(v).html().trim();
|
|
158
|
+
if (content.length == 0 &&
|
|
159
|
+
(0, core_1.isNonEmptyString)(doc(v).attr("content"))) {
|
|
160
|
+
content = doc(v).attr("content");
|
|
161
|
+
}
|
|
162
|
+
result = result + " " + content;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (!(0, core_1.isNonEmptyString)(result)) {
|
|
166
|
+
const content = doc("body").html();
|
|
167
|
+
if ((0, core_1.isNonEmptyString)(content)) {
|
|
168
|
+
const doc = (0, html_1.cleanHtml)(content, cleanHtmlSettings);
|
|
169
|
+
doc("meta,head").remove();
|
|
170
|
+
const body = doc("body");
|
|
171
|
+
if (body.length > 0) {
|
|
172
|
+
//try to directly locate article element,
|
|
173
|
+
//most of time article element is the one we are looking for
|
|
174
|
+
let article = body.find("article");
|
|
175
|
+
if (article.length == 1) {
|
|
176
|
+
article = doc(article[0]);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
article = (0, exports.findMainContentElement)(doc, body, mainContentRatio ?? DEFAULT_MAIN_CONTENT_RATIO);
|
|
180
|
+
(0, core_1.libTrackIsOn)() && console.log({ article });
|
|
181
|
+
}
|
|
182
|
+
if (article)
|
|
183
|
+
result = article.html();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
result = (0, core_1.isNonEmptyString)(result)
|
|
188
|
+
? (0, html_1.cleanHtml)(result, {
|
|
189
|
+
...cleanHtmlSettings,
|
|
190
|
+
resultFormat: "html"
|
|
191
|
+
})
|
|
192
|
+
: "";
|
|
193
|
+
return (0, core_1.isNonEmptyString)(result) ? result : "";
|
|
194
|
+
};
|
|
195
|
+
exports.getContent = getContent;
|
|
196
|
+
const processWebPage = (url, html, settings) => {
|
|
197
|
+
const { removePipeInTitle, contentSelector, removeTitleFromContent, keepLongestPipeInTitle } = settings;
|
|
198
|
+
const mainContentRatio = settings.mainContentRatio ?? 0.75;
|
|
199
|
+
const location = (0, web_1.getWebLocation)(url);
|
|
200
|
+
if (!location)
|
|
201
|
+
return undefined;
|
|
202
|
+
const cleanHtmlSettings = {
|
|
203
|
+
...settings.cleanHtmlSettings,
|
|
204
|
+
protocol: settings.cleanHtmlSettings?.protocol ?? location.protocol,
|
|
205
|
+
host: settings.cleanHtmlSettings?.host ?? location.host,
|
|
206
|
+
url
|
|
207
|
+
};
|
|
208
|
+
const result = {
|
|
209
|
+
canonical: "",
|
|
210
|
+
title: "",
|
|
211
|
+
description: ""
|
|
212
|
+
};
|
|
213
|
+
try {
|
|
214
|
+
let $ = (0, cheerio_1.load)(html);
|
|
215
|
+
result.canonical =
|
|
216
|
+
location &&
|
|
217
|
+
(0, exports.getCanonical)($, cleanHtmlSettings.protocol, cleanHtmlSettings.host);
|
|
218
|
+
result.canonical = (0, core_1.isNonEmptyString)(result.canonical)
|
|
219
|
+
? result.canonical
|
|
220
|
+
: url;
|
|
221
|
+
let title = (0, exports.getTitle)($, cleanHtmlSettings);
|
|
222
|
+
result.rssFeed = (0, exports.getRSSFeed)($);
|
|
223
|
+
if (keepLongestPipeInTitle) {
|
|
224
|
+
const titleSegments = title.split("|");
|
|
225
|
+
if (titleSegments.length > 1) {
|
|
226
|
+
title = "";
|
|
227
|
+
for (let i = 0; i < titleSegments.length - 1; i++) {
|
|
228
|
+
if (titleSegments[i].trim().length > title.length)
|
|
229
|
+
title = titleSegments[i].trim();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (removePipeInTitle) {
|
|
234
|
+
const titleSegments = title.split("|");
|
|
235
|
+
if (titleSegments.length > 1) {
|
|
236
|
+
title = [];
|
|
237
|
+
for (let i = 0; i < titleSegments.length - 1; i++) {
|
|
238
|
+
title.push(titleSegments[i].trim());
|
|
239
|
+
}
|
|
240
|
+
title = title.join(" ");
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
result.title = title;
|
|
244
|
+
result.description = (0, exports.getDescription)($, cleanHtmlSettings);
|
|
245
|
+
result.media =
|
|
246
|
+
location &&
|
|
247
|
+
(0, exports.getImage)($, cleanHtmlSettings.protocol, cleanHtmlSettings.host);
|
|
248
|
+
// const currency = getCurrency($);
|
|
249
|
+
// const price = getPrice($, priceSelector);
|
|
250
|
+
$ = (0, exports.lowerH)($);
|
|
251
|
+
if (removeTitleFromContent) {
|
|
252
|
+
$("h2").each((i, o) => {
|
|
253
|
+
(0, core_1.doNothing)(i);
|
|
254
|
+
if ($(o).text().toLowerCase().trim() ==
|
|
255
|
+
(title && title.toLowerCase().trim())) {
|
|
256
|
+
$(o).remove();
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
result.content = (0, exports.getContent)($, cleanHtmlSettings, contentSelector, mainContentRatio);
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
result.error = error;
|
|
264
|
+
}
|
|
265
|
+
return result;
|
|
266
|
+
};
|
|
267
|
+
exports.processWebPage = processWebPage;
|
|
268
|
+
//# sourceMappingURL=web-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-content.js","sourceRoot":"","sources":["../src/web-content.ts"],"names":[],"mappings":"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"}
|
package/dist/web.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Web-related utilities including URL validation, HTTP helpers, and browser compatibility functions
|
|
3
|
+
* @copyright PrimeObjects Software Inc. (C) 2024 All Rights Reserved
|
|
4
|
+
* @author EncodeAgent Team.
|
|
5
|
+
* @copyright © 2024 PrimeObjects Software Inc. All rights reserved.
|
|
6
|
+
* @license Proprietary - Subject to PrimeObjects License Agreements
|
|
7
|
+
* @contact encode.agent@primeobjects.com
|
|
8
|
+
* @website https://www.encodeagent.com/
|
|
9
|
+
*
|
|
10
|
+
* This software contains proprietary and confidential information of
|
|
11
|
+
* PrimeObjects Software Inc. Any reproduction or distribution of this
|
|
12
|
+
* software, in whole or in part, without written permission of
|
|
13
|
+
* PrimeObjects Software Inc. is strictly prohibited.
|
|
14
|
+
*
|
|
15
|
+
* Unauthorized copying of this file, via any medium, is strictly prohibited.
|
|
16
|
+
* This file is proprietary and confidential.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getBaseDomain: (domain: string) => string;
|
|
19
|
+
export declare const getWebRootUrl: (url: string) => string;
|
|
20
|
+
export declare const getRootDomainFromUrl: (url: string) => string;
|
|
21
|
+
export declare const getRootDomainFromHost: (host: string) => string;
|
|
22
|
+
export type TWebLocation = {
|
|
23
|
+
url: string;
|
|
24
|
+
protocol: string;
|
|
25
|
+
host: string;
|
|
26
|
+
port: string;
|
|
27
|
+
path: string;
|
|
28
|
+
query: string;
|
|
29
|
+
hash: string;
|
|
30
|
+
};
|
|
31
|
+
export declare const getWebLocation: (url: string) => TWebLocation | undefined;
|
|
32
|
+
export declare const isValidUrl: (url?: string) => boolean | null | undefined;
|
|
33
|
+
export declare const fixUrl: (url: string, protocol: string, host: string) => string;
|
|
34
|
+
export declare const getWebQueryValue: (url: string, key: string, defaultValue?: string) => string | undefined;
|
|
35
|
+
export declare const setWebQueryValue: (url: string, key: string, value?: string) => string;
|
|
36
|
+
//# sourceMappingURL=web.d.ts.map
|
|
@@ -0,0 +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,+BAQtC,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"}
|