@xapp/arachne-utils 1.8.0 → 1.8.3

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.
@@ -0,0 +1,12 @@
1
+ /*! Copyright (c) 2024, XAPP AI */
2
+ /**
3
+ * Prepare a URL for crawling.
4
+ *
5
+ * * Ensures there is no trailing slash
6
+ * * Ensures there is no hash
7
+ * * Ensures there is a scheme, defaults to https://
8
+ *
9
+ * @param url
10
+ * @returns
11
+ */
12
+ export declare const cleanForCrawl: (url: string) => string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /*! Copyright (c) 2024, XAPP AI */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.cleanForCrawl = void 0;
5
+ /**
6
+ * Prepare a URL for crawling.
7
+ *
8
+ * * Ensures there is no trailing slash
9
+ * * Ensures there is no hash
10
+ * * Ensures there is a scheme, defaults to https://
11
+ *
12
+ * @param url
13
+ * @returns
14
+ */
15
+ const cleanForCrawl = (url) => {
16
+ // First make sure they have a scheme
17
+ if (!url.startsWith("http")) {
18
+ // make sure it doesn't have // in the beginning
19
+ if (url.startsWith("//")) {
20
+ url = `https:${url}`;
21
+ }
22
+ else {
23
+ url = `https://${url}`;
24
+ }
25
+ }
26
+ // Remove trailing slash
27
+ if (url.endsWith("/")) {
28
+ url = url.slice(0, -1);
29
+ }
30
+ // Remove hash
31
+ const hashIndex = url.indexOf("#");
32
+ if (hashIndex > -1) {
33
+ url = url.slice(0, hashIndex);
34
+ }
35
+ return url;
36
+ };
37
+ exports.cleanForCrawl = cleanForCrawl;
38
+ //# sourceMappingURL=cleanForCrawl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanForCrawl.js","sourceRoot":"","sources":["../src/cleanForCrawl.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAElC;;;;;;;;;GASG;AACI,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,qCAAqC;IACrC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,gDAAgD;QAChD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,GAAG,GAAG,WAAW,GAAG,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc;IACd,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QACjB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /*! Copyright (c) 2024, XAPP AI */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.generateFollowThroughPattern = void 0;
4
+ exports.generateFollowThroughPattern = generateFollowThroughPattern;
5
5
  /**
6
6
  * Generates a URL pattern that will enable the crawler to
7
7
  * follow through sub paths for the provided URL.
@@ -56,5 +56,4 @@ function generateFollowThroughPattern(urlString) {
56
56
  }
57
57
  return pattern;
58
58
  }
59
- exports.generateFollowThroughPattern = generateFollowThroughPattern;
60
59
  //# sourceMappingURL=generateFollowThroughPattern.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateFollowThroughPattern.js","sourceRoot":"","sources":["../src/generateFollowThroughPattern.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAElC;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,4BAA4B,CAAC,SAAiB;IAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACtF,CAAC;IACD,0BAA0B;IAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAQ,CAAC;IAEb,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,aAAa,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,iCAAiC;IACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,8BAA8B;IAGzF,IAAI,OAAe,CAAC;IAEpB,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE/E,+CAA+C;IAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,oBAAoB;QACpB,OAAO,GAAG,GAAG,eAAe,cAAc,IAAI,GAAG,IAAI,MAAM,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,GAAG,eAAe,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AA9CD,oEA8CC"}
1
+ {"version":3,"file":"generateFollowThroughPattern.js","sourceRoot":"","sources":["../src/generateFollowThroughPattern.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAkBlC,oEA8CC;AA9DD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,4BAA4B,CAAC,SAAiB;IAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACtF,CAAC;IACD,0BAA0B;IAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAQ,CAAC;IAEb,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,aAAa,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,iCAAiC;IACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,8BAA8B;IAGzF,IAAI,OAAe,CAAC;IAEpB,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE/E,+CAA+C;IAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,oBAAoB;QACpB,OAAO,GAAG,GAAG,eAAe,cAAc,IAAI,GAAG,IAAI,MAAM,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,GAAG,eAAe,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /*! Copyright (c) 2024, XAPP AI */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isHallucinatedPhoneNumber = void 0;
4
+ exports.isHallucinatedPhoneNumber = isHallucinatedPhoneNumber;
5
5
  /**
6
6
  * Looks for common hallucinated phone numbers.
7
7
  * @param number
@@ -28,5 +28,4 @@ function isHallucinatedPhoneNumber(number) {
28
28
  ];
29
29
  return hallucinatedPatterns.some(pattern => pattern.test(digits));
30
30
  }
31
- exports.isHallucinatedPhoneNumber = isHallucinatedPhoneNumber;
32
31
  //# sourceMappingURL=hallucinationDetector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hallucinationDetector.js","sourceRoot":"","sources":["../src/hallucinationDetector.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAElC;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACpD,6CAA6C;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzC,iCAAiC;IACjC,MAAM,oBAAoB,GAAG;QACzB,YAAY,EAAE,gCAAgC;QAC9C,cAAc,EAAE,yDAAyD;QACzE,kBAAkB;QAClB,WAAW;QACX,sCAAsC,EAAE,uBAAuB;QAC/D,4CAA4C,EAAE,sBAAsB;QACpE,+DAA+D,EAAE,qBAAqB;QACtF,qDAAqD,EAAE,oBAAoB;QAC3E,uBAAuB,EAAE,uBAAuB;QAChD,yBAAyB,EAAE,wBAAwB;QACnD,kBAAkB,EAAE,oBAAoB;QACxC,kBAAkB,EAAE,wBAAwB;QAC5C,WAAW,EAAE,sCAAsC;KACtD,CAAC;IAEF,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAtBD,8DAsBC"}
1
+ {"version":3,"file":"hallucinationDetector.js","sourceRoot":"","sources":["../src/hallucinationDetector.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAOlC,8DAsBC;AA3BD;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACpD,6CAA6C;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzC,iCAAiC;IACjC,MAAM,oBAAoB,GAAG;QACzB,YAAY,EAAE,gCAAgC;QAC9C,cAAc,EAAE,yDAAyD;QACzE,kBAAkB;QAClB,WAAW;QACX,sCAAsC,EAAE,uBAAuB;QAC/D,4CAA4C,EAAE,sBAAsB;QACpE,+DAA+D,EAAE,qBAAqB;QACtF,qDAAqD,EAAE,oBAAoB;QAC3E,uBAAuB,EAAE,uBAAuB;QAChD,yBAAyB,EAAE,wBAAwB;QACnD,kBAAkB,EAAE,oBAAoB;QACxC,kBAAkB,EAAE,wBAAwB;QAC5C,WAAW,EAAE,sCAAsC;KACtD,CAAC;IAEF,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /*! Copyright (c) 2024, XAPP AI */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.hasExtension = void 0;
4
+ exports.hasExtension = hasExtension;
5
5
  /**
6
6
  * Determines if the provided URL has a certain file extension. This is useful to filter out undesirable URLs to follow such as .pdf, .jpg, .png or other file types that don't have hyperlinks themselves.
7
7
  *
@@ -49,5 +49,4 @@ function hasExtension(url, extension) {
49
49
  });
50
50
  return hasExtension;
51
51
  }
52
- exports.hasExtension = hasExtension;
53
52
  //# sourceMappingURL=hasExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hasExtension.js","sourceRoot":"","sources":["../src/hasExtension.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAElC;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,GAAiB,EAAE,SAA4B;IAExE,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAY,CAAC;IAEjB,IAAI,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC;YACD,sEAAsE;YACtE,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAE9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAErF,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,YAAY,GAAY,KAAK,CAAC;IAElC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,8CAA8C;QAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAE5C,IAAI,GAAG,KAAK,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,YAAY,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AAExB,CAAC;AAjDD,oCAiDC"}
1
+ {"version":3,"file":"hasExtension.js","sourceRoot":"","sources":["../src/hasExtension.ts"],"names":[],"mappings":";AAAA,kCAAkC;;AAUlC,oCAiDC;AAzDD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,GAAiB,EAAE,SAA4B;IAExE,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAY,CAAC;IAEjB,IAAI,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC;YACD,sEAAsE;YACtE,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAE9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAErF,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,YAAY,GAAY,KAAK,CAAC;IAElC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,8CAA8C;QAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAE5C,IAAI,GAAG,KAAK,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,YAAY,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AAExB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns a hash for a website
3
+ *
4
+ * @param url
5
+ * @throws {Error} if the URL is invalid
6
+ * @returns
7
+ */
8
+ export declare function hashWebsite(url: string): string;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.hashWebsite = hashWebsite;
27
+ /*! Copyright (c) 2024, XAPP AI */
28
+ const normalizeURL_1 = require("./normalizeURL");
29
+ const crypto = __importStar(require("crypto"));
30
+ /**
31
+ * Returns a hash for a website
32
+ *
33
+ * @param url
34
+ * @throws {Error} if the URL is invalid
35
+ * @returns
36
+ */
37
+ function hashWebsite(url) {
38
+ const normalizedUrl = (0, normalizeURL_1.normalizeURL)(url, {
39
+ stripProtocol: true,
40
+ stripWWW: true,
41
+ });
42
+ return crypto.createHash('sha256').update(normalizedUrl).digest('hex');
43
+ }
44
+ //# sourceMappingURL=hashWebsite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashWebsite.js","sourceRoot":"","sources":["../src/hashWebsite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,kCAMC;AAjBD,kCAAkC;AAClC,iDAA8C;AAC9C,+CAAiC;AAEjC;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACnC,MAAM,aAAa,GAAG,IAAA,2BAAY,EAAC,GAAG,EAAE;QACpC,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  /*! Copyright (c) 2020, XAPP AI */
2
2
  export * from "./ArachneURLPattern";
3
+ export * from "./cleanForCrawl";
3
4
  export * from "./constants";
4
5
  export * from "./generateFollowThroughPattern";
5
6
  export * from "./hallucinationDetector";
6
7
  export * from "./hasExtension";
8
+ export * from "./hashWebsite";
9
+ export * from "./isValidURL";
7
10
  export * from "./normalizeURL";
8
11
  export * from "./promiseWithTimeout";
package/lib/index.js CHANGED
@@ -16,10 +16,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./ArachneURLPattern"), exports);
19
+ __exportStar(require("./cleanForCrawl"), exports);
19
20
  __exportStar(require("./constants"), exports);
20
21
  __exportStar(require("./generateFollowThroughPattern"), exports);
21
22
  __exportStar(require("./hallucinationDetector"), exports);
22
23
  __exportStar(require("./hasExtension"), exports);
24
+ __exportStar(require("./hashWebsite"), exports);
25
+ __exportStar(require("./isValidURL"), exports);
23
26
  __exportStar(require("./normalizeURL"), exports);
24
27
  __exportStar(require("./promiseWithTimeout"), exports);
25
28
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;;;;;;;;;;;;;;AAElC,sDAAoC;AACpC,8CAA4B;AAC5B,iEAA+C;AAC/C,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;;;;;;;;;;;;;;AAElC,sDAAoC;AACpC,kDAAgC;AAChC,8CAA4B;AAC5B,iEAA+C;AAC/C,0DAAwC;AACxC,iDAA+B;AAC/B,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAC/B,uDAAqC"}
@@ -0,0 +1,9 @@
1
+ /*! Copyright (c) 2024, XAPP AI */
2
+ /**
3
+ * Determines if the URL is a valid URL.
4
+ *
5
+ * It attempts to create a new URL object from the string and returns true if it is successful.
6
+ * @param url
7
+ * @returns
8
+ */
9
+ export declare const isValidURL: (url: string) => boolean;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /*! Copyright (c) 2024, XAPP AI */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isValidURL = void 0;
5
+ /**
6
+ * Determines if the URL is a valid URL.
7
+ *
8
+ * It attempts to create a new URL object from the string and returns true if it is successful.
9
+ * @param url
10
+ * @returns
11
+ */
12
+ const isValidURL = (url) => {
13
+ try {
14
+ new URL(url);
15
+ return true;
16
+ }
17
+ catch (e) {
18
+ return false;
19
+ }
20
+ };
21
+ exports.isValidURL = isValidURL;
22
+ //# sourceMappingURL=isValidURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidURL.js","sourceRoot":"","sources":["../src/isValidURL.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAElC;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;IAC/C,IAAI,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.normalizeURL = void 0;
6
+ exports.normalizeURL = normalizeURL;
7
7
  /*! Copyright (c) 2020, XAPP AI */
8
8
  const normalize_url_1 = __importDefault(require("normalize-url"));
9
9
  /**
@@ -19,5 +19,4 @@ const normalize_url_1 = __importDefault(require("normalize-url"));
19
19
  function normalizeURL(url, options = { stripHash: true }) {
20
20
  return (0, normalize_url_1.default)(url, options);
21
21
  }
22
- exports.normalizeURL = normalizeURL;
23
22
  //# sourceMappingURL=normalizeURL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeURL.js","sourceRoot":"","sources":["../src/normalizeURL.ts"],"names":[],"mappings":";;;;;;AAAA,kCAAkC;AAClC,kEAAuD;AAEvD;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,UAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;IAC5E,OAAO,IAAA,uBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"normalizeURL.js","sourceRoot":"","sources":["../src/normalizeURL.ts"],"names":[],"mappings":";;;;;AAaA,oCAEC;AAfD,kCAAkC;AAClC,kEAAuD;AAEvD;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,UAAmB,EAAE,SAAS,EAAE,IAAI,EAAE;IAC5E,OAAO,IAAA,uBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xapp/arachne-utils",
3
- "version": "1.8.0",
3
+ "version": "1.8.3",
4
4
  "types": "lib/index",
5
5
  "main": "lib/index",
6
6
  "files": [
@@ -14,20 +14,20 @@
14
14
  "node": "^14 || ^16 || ^18 || ^20.0.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@microsoft/api-extractor": "7.43.8",
18
- "@types/chai": "4.3.16",
19
- "@types/mocha": "10.0.6",
20
- "@types/node": "20.12.12",
17
+ "@microsoft/api-extractor": "7.47.4",
18
+ "@types/chai": "4.3.17",
19
+ "@types/mocha": "10.0.7",
20
+ "@types/node": "20.14.13",
21
21
  "@types/sinon": "17.0.3",
22
22
  "@types/sinon-chai": "3.2.12",
23
23
  "@xapp/config": "0.2.3",
24
- "chai": "4.4.1",
25
- "mocha": "10.4.0",
24
+ "chai": "4.5.0",
25
+ "mocha": "10.7.0",
26
26
  "sinon": "18.0.0",
27
27
  "sinon-chai": "3.7.0",
28
28
  "ts-node": "10.9.2",
29
- "tslib": "2.6.2",
30
- "typescript": "5.4.5"
29
+ "tslib": "2.6.3",
30
+ "typescript": "5.5.4"
31
31
  },
32
32
  "dependencies": {
33
33
  "normalize-url": "6.1.0"
@@ -38,5 +38,5 @@
38
38
  "clean": "rm -rf ./lib/*",
39
39
  "test": "mocha --recursive -r ts-node/register \"./src/**/*.test.ts\""
40
40
  },
41
- "gitHead": "21872d37222311f6edc36d87d03d9735a12ba2d1"
41
+ "gitHead": "f506e88fbc093e8db03beaafadc4057f3647aece"
42
42
  }