@everipedia/iq-utils 0.2.10 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  ## 0.2.8
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a38f82b: Adds is deep equal refactor
8
+ - 7c28dbb: Adds is valid wiki checks
9
+
10
+ ## 0.2.11
11
+
12
+ ### Patch Changes
13
+
14
+ - 81ee461: Adds blockchainWikis and founderWikis type
15
+
3
16
  ## 0.2.10
4
17
 
5
18
  ### Patch Changes
@@ -0,0 +1,6 @@
1
+ export declare const WIKI_SUMMARY_MAX_LENGTH = 255;
2
+ export declare const WIKI_CONTENT_MIN_WORDS = 100;
3
+ export declare const WIKI_TITLE_MAX_LENGTH = 60;
4
+ export declare const MEDIA_UPLOAD_PENDING_SUFFIX = "default";
5
+ export declare const MAX_MEDIA_COUNT = 25;
6
+ export declare const IPFS_HASH_LENGTH = 46;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IPFS_HASH_LENGTH = exports.MAX_MEDIA_COUNT = exports.MEDIA_UPLOAD_PENDING_SUFFIX = exports.WIKI_TITLE_MAX_LENGTH = exports.WIKI_CONTENT_MIN_WORDS = exports.WIKI_SUMMARY_MAX_LENGTH = void 0;
4
+ exports.WIKI_SUMMARY_MAX_LENGTH = 255;
5
+ exports.WIKI_CONTENT_MIN_WORDS = 100;
6
+ exports.WIKI_TITLE_MAX_LENGTH = 60;
7
+ exports.MEDIA_UPLOAD_PENDING_SUFFIX = "default";
8
+ exports.MAX_MEDIA_COUNT = 25;
9
+ exports.IPFS_HASH_LENGTH = 46;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGEvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBQzlCLFFBQUEsc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQzdCLFFBQUEscUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQzNCLFFBQUEsMkJBQTJCLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLFFBQUEsZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUNyQixRQUFBLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,19 @@
1
+ import { type Wiki } from "../types/wiki";
2
+ /**
3
+ * Checks if all content links in the given text are verified.
4
+ * @param content - The content to check for links.
5
+ * @returns True if all links are verified, false otherwise.
6
+ */
7
+ export declare const areContentLinksVerified: (content: string) => boolean;
8
+ /**
9
+ * Validates a wiki object and returns the validation result.
10
+ * @param wiki - The wiki object to validate.
11
+ * @returns An object containing the validation result and an error message if applicable.
12
+ */
13
+ export declare const validateWiki: (wiki: Wiki) => {
14
+ isValid: boolean;
15
+ error: string;
16
+ } | {
17
+ isValid: boolean;
18
+ error?: undefined;
19
+ };
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWiki = exports.areContentLinksVerified = void 0;
4
+ const constants_1 = require("../data/constants");
5
+ const wiki_1 = require("../types/wiki");
6
+ /**
7
+ * Counts the number of words in a given string.
8
+ * @param text - The input string to count words from.
9
+ * @returns The number of words in the string.
10
+ */
11
+ const countWords = (text) => text.split(" ").filter((word) => word !== "").length;
12
+ /**
13
+ * Checks if a given string is a valid URL.
14
+ * @param urlString - The string to check.
15
+ * @returns True if the string is a valid URL, false otherwise.
16
+ */
17
+ const isValidUrl = (urlString) => {
18
+ try {
19
+ return Boolean(new URL(urlString));
20
+ }
21
+ catch (_e) {
22
+ return false;
23
+ }
24
+ };
25
+ /**
26
+ * Checks if all content links in the given text are verified.
27
+ * @param content - The content to check for links.
28
+ * @returns True if all links are verified, false otherwise.
29
+ */
30
+ const areContentLinksVerified = (content) => {
31
+ var _a;
32
+ const markdownLinks = content.match(/\[(.*?)\]\((.*?)\)/g);
33
+ return ((_a = markdownLinks === null || markdownLinks === void 0 ? void 0 : markdownLinks.every((link) => {
34
+ const [, linkText, linkUrl] = RegExp(/\[(.*?)\]\((.*?)\)/).exec(link) || [];
35
+ if (linkText &&
36
+ linkUrl &&
37
+ wiki_1.whiteListedLinkNames.includes(linkText) &&
38
+ !isValidUrl(linkUrl)) {
39
+ return true;
40
+ }
41
+ if (linkUrl && !linkUrl.startsWith("#")) {
42
+ const validDomainPattern = new RegExp(`^https?://(www\\.)?(${wiki_1.whiteListedDomains.join("|")})`);
43
+ return validDomainPattern.test(linkUrl);
44
+ }
45
+ return true;
46
+ })) !== null && _a !== void 0 ? _a : true);
47
+ };
48
+ exports.areContentLinksVerified = areContentLinksVerified;
49
+ /**
50
+ * Checks if the media in the wiki is valid.
51
+ * @param wiki - The wiki object to check.
52
+ * @returns True if the media is valid, false otherwise.
53
+ */
54
+ const isMediaValid = (wiki) => {
55
+ if (!wiki.media)
56
+ return true;
57
+ const isMediaContentValid = wiki.media.every((media) => {
58
+ if (media.source === wiki_1.MediaSource.IPFS_IMG ||
59
+ media.source === wiki_1.MediaSource.IPFS_VID) {
60
+ return media.id.length === constants_1.IPFS_HASH_LENGTH;
61
+ }
62
+ if (media.source === wiki_1.MediaSource.YOUTUBE) {
63
+ const youtubePattern = /^.*(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#&?]*).*/;
64
+ return (media.id === `https://www.youtube.com/watch?v=${media.name}` &&
65
+ youtubePattern.test(media.id));
66
+ }
67
+ if (media.source === wiki_1.MediaSource.VIMEO) {
68
+ return media.id === `https://vimeo.com/${media.name}`;
69
+ }
70
+ return media.type ? Object.values(wiki_1.MediaType).includes(media.type) : true;
71
+ });
72
+ const iconMediaCount = wiki.media.filter((media) => media.type === wiki_1.MediaType.ICON).length;
73
+ return (wiki.media.length <= constants_1.MAX_MEDIA_COUNT &&
74
+ isMediaContentValid &&
75
+ iconMediaCount <= 1);
76
+ };
77
+ /**
78
+ * Checks if any media in the wiki is still uploading.
79
+ * @param wiki - The wiki object to check.
80
+ * @returns True if any media is still uploading, false otherwise.
81
+ */
82
+ const isAnyMediaUploading = (wiki) => {
83
+ var _a, _b;
84
+ return (_b = (_a = wiki.media) === null || _a === void 0 ? void 0 : _a.some((media) => media.id.endsWith(constants_1.MEDIA_UPLOAD_PENDING_SUFFIX))) !== null && _b !== void 0 ? _b : false;
85
+ };
86
+ /**
87
+ * Checks if the event URL is missing for an event wiki.
88
+ * @param wiki - The wiki object to check.
89
+ * @returns True if the event URL is missing, false otherwise.
90
+ */
91
+ const isEventUrlMissing = (wiki) => {
92
+ var _a;
93
+ if (wiki.tags.some((tag) => tag.id === "Events")) {
94
+ const referencesData = ((_a = wiki.metadata.find((meta) => meta.id === wiki_1.CommonMetaIds.REFERENCES)) === null || _a === void 0 ? void 0 : _a.value) || "[]";
95
+ const references = JSON.parse(referencesData);
96
+ return !references.some((item) => item.description.toLowerCase() === "event link");
97
+ }
98
+ return false;
99
+ };
100
+ /**
101
+ * Checks if the event date is missing for an event wiki.
102
+ * @param wiki - The wiki object to check.
103
+ * @returns True if the event date is missing, false otherwise.
104
+ */
105
+ const isEventDateMissing = (wiki) => { var _a; return wiki.tags.some((tag) => tag.id === "Events") && ((_a = wiki.events) === null || _a === void 0 ? void 0 : _a.length) === 0; };
106
+ /**
107
+ * Checks if the wiki summary exceeds the maximum length.
108
+ * @param wiki - The wiki object to check.
109
+ * @returns True if the summary exceeds the limit, false otherwise.
110
+ */
111
+ const isSummaryTooLong = (wiki) => !!(wiki.summary && wiki.summary.length > constants_1.WIKI_SUMMARY_MAX_LENGTH);
112
+ /**
113
+ * Checks if the wiki has no citations.
114
+ * @param wiki - The wiki object to check.
115
+ * @returns True if there are no citations, false otherwise.
116
+ */
117
+ const hasNoCitations = (wiki) => {
118
+ const references = wiki.metadata.find((meta) => meta.id === wiki_1.CommonMetaIds.REFERENCES);
119
+ return !(references === null || references === void 0 ? void 0 : references.value) || references.value.length === 0;
120
+ };
121
+ /**
122
+ * Validates a wiki object and returns the validation result.
123
+ * @param wiki - The wiki object to validate.
124
+ * @returns An object containing the validation result and an error message if applicable.
125
+ */
126
+ const validateWiki = (wiki) => {
127
+ var _a;
128
+ const wordCount = countWords(wiki.content || "");
129
+ if (!wiki.title) {
130
+ return {
131
+ isValid: false,
132
+ error: "Add a Title at the top for this Wiki to continue",
133
+ };
134
+ }
135
+ if (wiki.title.length > constants_1.WIKI_TITLE_MAX_LENGTH) {
136
+ return {
137
+ isValid: false,
138
+ error: `Title should be less than ${constants_1.WIKI_TITLE_MAX_LENGTH} characters`,
139
+ };
140
+ }
141
+ if (!wiki.content) {
142
+ return { isValid: false, error: "Add a Content section to continue" };
143
+ }
144
+ if (wordCount < constants_1.WIKI_CONTENT_MIN_WORDS) {
145
+ return {
146
+ isValid: false,
147
+ error: `Add a minimum of ${constants_1.WIKI_CONTENT_MIN_WORDS} words in the content section to continue. You have written ${wordCount}`,
148
+ };
149
+ }
150
+ if (!(0, exports.areContentLinksVerified)(wiki.content)) {
151
+ return {
152
+ isValid: false,
153
+ error: "Please remove all external links from the content",
154
+ };
155
+ }
156
+ if (!((_a = wiki.images) === null || _a === void 0 ? void 0 : _a.length)) {
157
+ return {
158
+ isValid: false,
159
+ error: "Add a main image on the right column to continue",
160
+ };
161
+ }
162
+ if (wiki.categories.length === 0) {
163
+ return { isValid: false, error: "Add one category to continue" };
164
+ }
165
+ if (isSummaryTooLong(wiki)) {
166
+ return {
167
+ isValid: false,
168
+ error: `Summary exceeds maximum limit of ${constants_1.WIKI_SUMMARY_MAX_LENGTH}`,
169
+ };
170
+ }
171
+ if (isAnyMediaUploading(wiki)) {
172
+ return {
173
+ isValid: false,
174
+ error: "Some media are still uploading, please wait",
175
+ };
176
+ }
177
+ if (hasNoCitations(wiki)) {
178
+ return { isValid: false, error: "Please add at least one citation" };
179
+ }
180
+ if (isEventUrlMissing(wiki)) {
181
+ return {
182
+ isValid: false,
183
+ error: "Please cite the event official website with 'Event Link' description",
184
+ };
185
+ }
186
+ if (isEventDateMissing(wiki)) {
187
+ return {
188
+ isValid: false,
189
+ error: 'Please open the "Edit Wiki Details Modal" and enter a valid event date',
190
+ };
191
+ }
192
+ if (!isMediaValid(wiki)) {
193
+ return { isValid: false, error: "Media is invalid" };
194
+ }
195
+ return { isValid: true };
196
+ };
197
+ exports.validateWiki = validateWiki;
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tXaWtpVmFsaWRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NoZWNrV2lraVZhbGlkaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQU8yQjtBQUMzQix3Q0FPdUI7QUFFdkI7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFO0lBQ3hDLElBQUk7UUFDSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQ25DO0lBQUMsT0FBTyxFQUFFLEVBQUU7UUFDWixPQUFPLEtBQUssQ0FBQztLQUNiO0FBQ0YsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTs7SUFDMUQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELE9BQU8sQ0FDTixNQUFBLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM3QixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQzFCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0MsSUFDQyxRQUFRO1lBQ1IsT0FBTztZQUNQLDJCQUFvQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQyxVQUFVLENB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
@@ -1,2 +1,3 @@
1
- declare function isDeepEqual(obj1: any, obj2: any): boolean;
1
+ type ComparableType = string | number | boolean | null | undefined | object;
2
+ declare function isDeepEqual(baseObject: ComparableType, comparisonObject: ComparableType): boolean;
2
3
  export default isDeepEqual;
@@ -1,47 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- function isDeepEqual(obj1, obj2) {
4
- // If both are strings, compare them ignoring whitespace
5
- if (typeof obj1 === 'string' && typeof obj2 === 'string') {
6
- return obj1.replace(/\s+/g, '') === obj2.replace(/\s+/g, '');
7
- }
8
- // Check if they are the same reference or both null/undefined
9
- if (obj1 === obj2) {
3
+ function isDeepEqual(baseObject, comparisonObject) {
4
+ return compareValues(baseObject, comparisonObject);
5
+ }
6
+ function compareValues(base, comparison) {
7
+ if (base === comparison) {
10
8
  return true;
11
9
  }
12
- // Check if either is null/undefined, or not both are objects (including functions)
13
- if (typeof obj1 !== 'object' ||
14
- obj1 === null ||
15
- typeof obj2 !== 'object' ||
16
- obj2 === null) {
10
+ if (base == null || comparison == null) {
11
+ return false;
12
+ }
13
+ if (typeof base !== typeof comparison) {
17
14
  return false;
18
15
  }
19
- // Get the keys of both objects
20
- const keysA = Object.keys(obj1);
21
- const keysB = Object.keys(obj2);
22
- // Check if the number of properties is different
23
- if (keysA.length !== keysB.length) {
16
+ if (typeof base === "string") {
17
+ return compareStrings(base, comparison);
18
+ }
19
+ if (base instanceof Date && comparison instanceof Date) {
20
+ return base.getTime() === comparison.getTime();
21
+ }
22
+ if (base instanceof RegExp && comparison instanceof RegExp) {
23
+ return base.toString() === comparison.toString();
24
+ }
25
+ if (typeof base === "object") {
26
+ return compareObjects(base, comparison);
27
+ }
28
+ return false;
29
+ }
30
+ function compareStrings(base, comparison) {
31
+ return base.replace(/\s+/g, "") === comparison.replace(/\s+/g, "");
32
+ }
33
+ function compareObjects(base, comparison) {
34
+ const baseKeys = Object.keys(base);
35
+ const comparisonKeys = Object.keys(comparison);
36
+ if (baseKeys.length !== comparisonKeys.length) {
24
37
  return false;
25
38
  }
26
- // Check if obj2 has all keys present in obj1 and compare each key
27
- for (const key of keysA) {
28
- if (!keysB.includes(key)) {
39
+ return baseKeys.every((key) => {
40
+ if (!Object.prototype.hasOwnProperty.call(comparison, key)) {
29
41
  return false;
30
42
  }
31
- // Check if the property is a function and compare the function's code
32
- if (typeof obj1[key] === 'function' || typeof obj2[key] === 'function') {
33
- if (obj1[key].toString() !== obj2[key].toString()) {
34
- return false;
35
- }
36
- }
37
- else {
38
- // Recursive call for nested objects or arrays
39
- if (!isDeepEqual(obj1[key], obj2[key])) {
40
- return false;
41
- }
43
+ const baseValue = base[key];
44
+ const comparisonValue = comparison[key];
45
+ if (typeof baseValue === "function" &&
46
+ typeof comparisonValue === "function") {
47
+ return baseValue.toString() === comparisonValue.toString();
42
48
  }
43
- }
44
- return true;
49
+ return compareValues(baseValue, comparisonValue);
50
+ });
45
51
  }
46
52
  exports.default = isDeepEqual;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNEZWVwRXF1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lzRGVlcEVxdWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBUyxXQUFXLENBQUMsSUFBUyxFQUFFLElBQVM7SUFDdkMsd0RBQXdEO0lBQ3hELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlEO0lBRUQsOERBQThEO0lBQzlELElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtRQUNqQixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsbUZBQW1GO0lBQ25GLElBQ0UsT0FBTyxJQUFJLEtBQUssUUFBUTtRQUN4QixJQUFJLEtBQUssSUFBSTtRQUNiLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsSUFBSSxLQUFLLElBQUksRUFDYjtRQUNBLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCwrQkFBK0I7SUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLGlEQUFpRDtJQUNqRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNqQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsa0VBQWtFO0lBQ2xFLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxzRUFBc0U7UUFDdEUsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQ3RFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakQsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO2FBQU07WUFDTCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNEZWVwRXF1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lzRGVlcEVxdWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBUyxXQUFXLENBQ25CLFVBQTBCLEVBQzFCLGdCQUFnQztJQUVoQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3JCLElBQW9CLEVBQ3BCLFVBQTBCO0lBRTFCLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRTtRQUN4QixPQUFPLElBQUksQ0FBQztLQUNaO0lBRUQsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUM7S0FDYjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssT0FBTyxVQUFVLEVBQUU7UUFDdEMsT0FBTyxLQUFLLENBQUM7S0FDYjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxVQUFvQixDQUFDLENBQUM7S0FDbEQ7SUFFRCxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksVUFBVSxZQUFZLElBQUksRUFBRTtRQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDL0M7SUFFRCxJQUFJLElBQUksWUFBWSxNQUFNLElBQUksVUFBVSxZQUFZLE1BQU0sRUFBRTtRQUMzRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDakQ7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBb0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBWSxFQUFFLFVBQWtCO0lBQ3ZELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLElBQVksRUFBRSxVQUFrQjtJQUN2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFL0MsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLEVBQUU7UUFDOUMsT0FBTyxLQUFLLENBQUM7S0FDYjtJQUVELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzNELE9BQU8sS0FBSyxDQUFDO1NBQ2I7UUFFRCxNQUFNLFNBQVMsR0FBSSxJQUF1QyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFJLFVBQTZDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUUsSUFDQyxPQUFPLFNBQVMsS0FBSyxVQUFVO1lBQy9CLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFDcEM7WUFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDM0Q7UUFFRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=
@@ -1,2 +1,2 @@
1
- import { Wiki } from '../types/wiki';
1
+ import { type Wiki } from "../types/wiki";
2
2
  export declare const calculateWikiScore: (wiki: Wiki) => number;
@@ -63,23 +63,24 @@ const countQuality = (idealCount, realCount) => {
63
63
  };
64
64
  const getHostnameFromRegex = (url) => {
65
65
  const matches = url.match(/^https?:\/\/([^/?#]+)(?:[/?#]|$)/i);
66
- return matches && matches[1];
66
+ return matches === null || matches === void 0 ? void 0 : matches[1];
67
67
  };
68
68
  const getWikiInternalLinks = (content) => {
69
- const markdownLinks = content.match(/\[(.*?)\]\((.*?)\)/g);
69
+ const markdownLinkRegex = /\[(.*?)\]\((.*?)\)/g;
70
70
  let internalLinksCount = 0;
71
- markdownLinks === null || markdownLinks === void 0 ? void 0 : markdownLinks.forEach((link) => {
72
- const linkMatch = link.match(/\[(.*?)\]\((.*?)\)/);
73
- const url = linkMatch === null || linkMatch === void 0 ? void 0 : linkMatch[2];
74
- if (url && url.charAt(0) !== '#') {
71
+ let match = markdownLinkRegex.exec(content);
72
+ while (match !== null) {
73
+ const url = match[2];
74
+ if (url && !url.startsWith("#")) {
75
75
  const hostname = getHostnameFromRegex(url);
76
- if (hostname === 'everipedia.org' ||
77
- hostname === 'iq.wiki' ||
78
- (hostname === null || hostname === void 0 ? void 0 : hostname.endsWith('.everipedia.org'))) {
79
- internalLinksCount += 1;
76
+ if (hostname === "everipedia.org" ||
77
+ hostname === "iq.wiki" ||
78
+ (hostname === null || hostname === void 0 ? void 0 : hostname.endsWith(".everipedia.org"))) {
79
+ internalLinksCount++;
80
80
  }
81
81
  }
82
- });
82
+ match = markdownLinkRegex.exec(content); // Move assignment here
83
+ }
83
84
  return internalLinksCount;
84
85
  };
85
86
  const getWikiCitationLinks = (wiki) => {
@@ -94,18 +95,18 @@ const getWikiCitationLinks = (wiki) => {
94
95
  };
95
96
  const getSocialsCount = (wiki) => {
96
97
  let socialsCount = 0;
97
- wiki.metadata.forEach((meta) => {
98
+ for (const meta of wiki.metadata) {
98
99
  if (wiki_1.WikiPossibleSocialsList.includes(meta.id)) {
99
100
  if (meta.value) {
100
101
  socialsCount += 1;
101
102
  }
102
103
  }
103
- });
104
+ }
104
105
  return socialsCount;
105
106
  };
106
107
  const calculateWikiScore = (wiki) => {
107
108
  var _a, _b, _c;
108
- const wordCount = wiki.content.split(' ').length;
109
+ const wordCount = wiki.content.split(" ").length;
109
110
  const internalLinksCount = getWikiInternalLinks(wiki.content);
110
111
  const citationCount = getWikiCitationLinks(wiki);
111
112
  const mediaCount = ((_a = wiki.media) === null || _a === void 0 ? void 0 : _a.length) || 0;
@@ -138,4 +139,4 @@ const calculateWikiScore = (wiki) => {
138
139
  return percentScore;
139
140
  };
140
141
  exports.calculateWikiScore = calculateWikiScore;
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraVNjb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93aWtpU2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQTZFO0FBRTdFLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBQ2xDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBQ3BDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDO0FBRXRDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0FBQ3hDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQ25DLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBQy9CLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQzlCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBRWhDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0FBRW5DLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBaUIsRUFBVSxFQUFFO0lBQ25ELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUNyQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFFckIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBRWQsSUFBSSxTQUFTLEdBQUcsc0JBQXNCLEVBQUU7UUFDdEMsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxJQUNFLFNBQVMsSUFBSSxzQkFBc0I7UUFDbkMsU0FBUyxJQUFJLHVC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
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraVNjb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93aWtpU2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBSXVCO0FBRXZCLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBQ2xDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBQ3BDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDO0FBRXRDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0FBQ3hDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQ25DLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBQy9CLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQzlCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBRWhDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO0FBRW5DLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBaUIsRUFBVSxFQUFFO0lBQ3BELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUNyQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFFckIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBRWQsSUFBSSxTQUFTLEdBQUcsc0JBQXNCLEVBQUU7UUFDdkMsT0FBTyxRQUFRLENBQUM7S0FDaEI7SUFFRCxJQUNDLFNBQVMsSUFBSSxzQkFBc0I7UUFDbkMsU0FBUyxJQUFJLHVCQUF1QixFQUNuQztRQUNELEtBQUssR0FBRyxTQUFTLEdBQUcsdUJBQXVCLENBQUM7UUFDNUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztLQUNiO0lBRUQsSUFDQyxTQUFTLEdBQUcsdUJBQXVCO1FBQ25DLFNBQVMsR0FBRyx3QkFBd0IsRUFDbkM7UUFDRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLEdBQUcsdUJBQXVCLENBQUM7UUFDL0QsTUFBTSxnQkFBZ0IsR0FDckIsa0JBQWtCLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDckQsS0FBSyxHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUM7S0FDL0I7SUFFRCxJQUFJLFNBQVMsSUFBSSx3QkFBd0IsRUFBRTtRQUMxQyxPQUFPLFFBQVEsQ0FBQztLQUNoQjtJQUVELElBQUksS0FBSyxHQUFHLFFBQVEsRUFBRTtRQUNyQixPQUFPLFFBQVEsQ0FBQztLQUNoQjtJQUVELElBQUksS0FBSyxHQUFHLFFBQVEsRUFBRTtRQUNyQixPQUFPLFFBQVEsQ0FBQztLQUNoQjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFNBQWlCLEVBQVUsRUFBRTtJQUN0RSxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDckIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXJCLE1BQU0sS0FBSyxHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFFckMsSUFBSSxLQUFLLEdBQUcsUUFBUSxFQUFFO1FBQ3JCLE9BQU8sUUFBUSxDQUFDO0tBQ2hCO0lBRUQsSUFBSSxLQUFLLEdBQUcsUUFBUSxFQUFFO1FBQ3JCLE9BQU8sUUFBUSxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDNUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRTtJQUN4RCxNQUFNLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0lBQ2hELElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLElBQUksS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1QyxPQUFPLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDdEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxJQUNDLFFBQVEsS0FBSyxnQkFBZ0I7Z0JBQzdCLFFBQVEsS0FBSyxTQUFTO2lCQUN0QixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUEsRUFDcEM7Z0JBQ0Qsa0JBQWtCLEVBQUUsQ0FBQzthQUNyQjtTQUNEO1FBQ0QsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtLQUNoRTtJQUVELE9BQU8sa0JBQWtCLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFOztJQUMzQyxNQUFNLGlCQUFpQixHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzNDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLG9CQUFhLENBQUMsVUFBVSxDQUN4QywwQ0FBRSxLQUFLLENBQUM7SUFFVCxJQUNDLGlCQUFpQixLQUFLLFNBQVM7UUFDL0IsQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLEdBQUcsTUFBTSxNQUFLLENBQUMsRUFDckM7UUFDRCxPQUFPLENBQUMsQ0FBQztLQUNUO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXJELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVUsRUFBVSxFQUFFO0lBQzlDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakMsSUFBSSw4QkFBdUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQW1CLENBQUMsRUFBRTtZQUMvRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsWUFBWSxJQUFJLENBQUMsQ0FBQzthQUNsQjtTQUNEO0tBQ0Q7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFSyxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBVSxFQUFVLEVBQUU7O0lBQ3hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxNQUFNLFVBQVUsR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUN6QyxNQUFNLGdCQUFnQixHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQ3RDLDBCQUEwQixFQUMxQixrQkFBa0IsQ0FDbEIsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUUxRSxNQUFNLFlBQVksR0FDakIsb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsbUJBQW1CLENBQUM7SUFFckIsTUFBTSxLQUFLLEdBQ1YsQ0FBQyxZQUFZLEdBQUcsb0JBQW9CO1FBQ25DLGtCQUFrQixHQUFHLDJCQUEyQjtRQUNoRCxhQUFhLEdBQUcsc0JBQXNCO1FBQ3RDLFVBQVUsR0FBRyxrQkFBa0I7UUFDL0IsU0FBUyxHQUFHLGlCQUFpQjtRQUM3QixZQUFZLEdBQUcsb0JBQW9CO1FBQ25DLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNwQyxZQUFZLENBQUM7SUFFZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztJQUM3QyxPQUFPLFlBQVksQ0FBQztBQUNyQixDQUFDLENBQUM7QUF6Q1csUUFBQSxrQkFBa0Isc0JBeUM3QiJ9
@@ -163,6 +163,10 @@ export interface BaseEvents {
163
163
  multiDateStart?: string;
164
164
  multiDateEnd?: string;
165
165
  }
166
+ type WikiReference = {
167
+ id: string;
168
+ title: string;
169
+ };
166
170
  export interface Wiki {
167
171
  id: string;
168
172
  transactionHash?: string;
@@ -179,6 +183,8 @@ export interface Wiki {
179
183
  user: User;
180
184
  metadata: MData[];
181
185
  linkedWikis?: LinkedWikis;
186
+ founderWikis: WikiReference[];
187
+ blockchainWikis: WikiReference[];
182
188
  version: number;
183
189
  language: LanguagesISOEnum;
184
190
  updated?: string;
@@ -95,7 +95,7 @@ exports.WikiPossibleSocialsList = [
95
95
  CommonMetaIds.CRONOSCAN_PROFILE,
96
96
  CommonMetaIds.ZKSCAN_PROFILE,
97
97
  CommonMetaIds.EXPLORER_INJECTIVE,
98
- CommonMetaIds.BLASTSCAN_PROFILE
98
+ CommonMetaIds.BLASTSCAN_PROFILE,
99
99
  ];
100
100
  var ValidatorCodes;
101
101
  (function (ValidatorCodes) {
@@ -167,4 +167,4 @@ exports.whiteListedDomains = [
167
167
  'ipfs.everipedia.org/ipfs',
168
168
  ];
169
169
  exports.whiteListedLinkNames = ['YOUTUBE@VID', 'DUNE@EMBED'];
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy93aWtpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZCQSxJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUdwQjtBQUVELElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBZSxDQUFBO0lBQ2Ysa0NBQW1CLENBQUE7SUFDbkIsb0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUxXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBS3RCO0FBWVksUUFBQSxxQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNyRCxRQUFBLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBRXZELElBQVksYUE4Q1g7QUE5Q0QsV0FBWSxhQUFhO0lBQ3ZCLDBDQUF5QixDQUFBO0lBRXpCLGFBQWE7SUFDYixvQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBNkIsQ0FBQTtJQUM3QixzQ0FBcUIsQ0FBQTtJQUVyQixlQUFlO0lBQ2Ysd0NBQXVCLENBQUE7SUFDdkIsc0RBQXFDLENBQUE7SUFDckMsd0RBQXVDLENBQUE7SUFDdkMsb0RBQW1DLENBQUE7SUFDbkMsc0RBQXFDLENBQUE7SUFDckMsb0RBQW1DLENBQUE7SUFDbkMsb0RBQW1DLENBQUE7SUFDbkMsOENBQTZCLENBQUE7SUFDN0Isa0RBQWlDLENBQUE7SUFDakMsOENBQTZCLENBQUE7SUFDN0Isc0RBQXFDLENBQUE7SUFDckMsd0RBQXVDLENBQUE7SUFDdkMsb0RBQW1DLENBQUE7SUFDbkMsa0RBQWlDLENBQUE7SUFDakMsa0RBQWlDLENBQUE7SUFDakMsa0RBQWlDLENBQUE7SUFFakMsWUFBWTtJQUNaLHdEQUF1QyxDQUFBO0lBQ3ZDLHNEQUFxQyxD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
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy93aWtpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZCQSxJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUdwQjtBQUVELElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBZSxDQUFBO0lBQ2Ysa0NBQW1CLENBQUE7SUFDbkIsb0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUxXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBS3RCO0FBWVksUUFBQSxxQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNyRCxRQUFBLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDO0FBRXZELElBQVksYUE4Q1g7QUE5Q0QsV0FBWSxhQUFhO0lBQ3ZCLDBDQUF5QixDQUFBO0lBRXpCLGFBQWE7SUFDYixvQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBNkIsQ0FBQTtJQUM3QixzQ0FBcUIsQ0FBQTtJQUVyQixlQUFlO0lBQ2Ysd0NBQXVCLENBQUE7SUFDdkIsc0RBQXFDLENBQUE7SUFDckMsd0RBQXVDLENBQUE7SUFDdkMsb0RBQW1DLENBQUE7SUFDbkMsc0RBQXFDLENBQUE7SUFDckMsb0RBQW1DLENBQUE7SUFDbkMsb0RBQW1DLENBQUE7SUFDbkMsOENBQTZCLENBQUE7SUFDN0Isa0RBQWlDLENBQUE7SUFDakMsOENBQTZCLENBQUE7SUFDN0Isc0RBQXFDLENBQUE7SUFDckMsd0RBQXVDLENBQUE7SUFDdkMsb0RBQW1DLENBQUE7SUFDbkMsa0RBQWlDLENBQUE7SUFDakMsa0RBQWlDLENBQUE7SUFDakMsa0RBQWlDLENBQUE7SUFFakMsWUFBWTtJQUNaLHdEQUF1QyxDQUFBO0lBQ3ZDLHNEQUFxQyxD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
@@ -1,4 +1,4 @@
1
- import { Wiki } from './wiki';
1
+ import type { Wiki } from './wiki';
2
2
  type DeepPartial<T> = {
3
3
  [P in keyof T]?: DeepPartial<T[P]>;
4
4
  };
@@ -0,0 +1,6 @@
1
+ export declare const WIKI_SUMMARY_MAX_LENGTH = 255;
2
+ export declare const WIKI_CONTENT_MIN_WORDS = 100;
3
+ export declare const WIKI_TITLE_MAX_LENGTH = 60;
4
+ export declare const MEDIA_UPLOAD_PENDING_SUFFIX = "default";
5
+ export declare const MAX_MEDIA_COUNT = 25;
6
+ export declare const IPFS_HASH_LENGTH = 46;
@@ -0,0 +1,7 @@
1
+ export const WIKI_SUMMARY_MAX_LENGTH = 255;
2
+ export const WIKI_CONTENT_MIN_WORDS = 100;
3
+ export const WIKI_TITLE_MAX_LENGTH = 60;
4
+ export const MEDIA_UPLOAD_PENDING_SUFFIX = "default";
5
+ export const MAX_MEDIA_COUNT = 25;
6
+ export const IPFS_HASH_LENGTH = 46;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGEvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUMzQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLFNBQVMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,19 @@
1
+ import { type Wiki } from "../types/wiki";
2
+ /**
3
+ * Checks if all content links in the given text are verified.
4
+ * @param content - The content to check for links.
5
+ * @returns True if all links are verified, false otherwise.
6
+ */
7
+ export declare const areContentLinksVerified: (content: string) => boolean;
8
+ /**
9
+ * Validates a wiki object and returns the validation result.
10
+ * @param wiki - The wiki object to validate.
11
+ * @returns An object containing the validation result and an error message if applicable.
12
+ */
13
+ export declare const validateWiki: (wiki: Wiki) => {
14
+ isValid: boolean;
15
+ error: string;
16
+ } | {
17
+ isValid: boolean;
18
+ error?: undefined;
19
+ };
@@ -0,0 +1,189 @@
1
+ import { IPFS_HASH_LENGTH, MAX_MEDIA_COUNT, MEDIA_UPLOAD_PENDING_SUFFIX, WIKI_CONTENT_MIN_WORDS, WIKI_SUMMARY_MAX_LENGTH, WIKI_TITLE_MAX_LENGTH, } from "../data/constants";
2
+ import { CommonMetaIds, MediaSource, MediaType, whiteListedDomains, whiteListedLinkNames, } from "../types/wiki";
3
+ /**
4
+ * Counts the number of words in a given string.
5
+ * @param text - The input string to count words from.
6
+ * @returns The number of words in the string.
7
+ */
8
+ const countWords = (text) => text.split(" ").filter((word) => word !== "").length;
9
+ /**
10
+ * Checks if a given string is a valid URL.
11
+ * @param urlString - The string to check.
12
+ * @returns True if the string is a valid URL, false otherwise.
13
+ */
14
+ const isValidUrl = (urlString) => {
15
+ try {
16
+ return Boolean(new URL(urlString));
17
+ }
18
+ catch (_e) {
19
+ return false;
20
+ }
21
+ };
22
+ /**
23
+ * Checks if all content links in the given text are verified.
24
+ * @param content - The content to check for links.
25
+ * @returns True if all links are verified, false otherwise.
26
+ */
27
+ export const areContentLinksVerified = (content) => {
28
+ const markdownLinks = content.match(/\[(.*?)\]\((.*?)\)/g);
29
+ return (markdownLinks?.every((link) => {
30
+ const [, linkText, linkUrl] = RegExp(/\[(.*?)\]\((.*?)\)/).exec(link) || [];
31
+ if (linkText &&
32
+ linkUrl &&
33
+ whiteListedLinkNames.includes(linkText) &&
34
+ !isValidUrl(linkUrl)) {
35
+ return true;
36
+ }
37
+ if (linkUrl && !linkUrl.startsWith("#")) {
38
+ const validDomainPattern = new RegExp(`^https?://(www\\.)?(${whiteListedDomains.join("|")})`);
39
+ return validDomainPattern.test(linkUrl);
40
+ }
41
+ return true;
42
+ }) ?? true);
43
+ };
44
+ /**
45
+ * Checks if the media in the wiki is valid.
46
+ * @param wiki - The wiki object to check.
47
+ * @returns True if the media is valid, false otherwise.
48
+ */
49
+ const isMediaValid = (wiki) => {
50
+ if (!wiki.media)
51
+ return true;
52
+ const isMediaContentValid = wiki.media.every((media) => {
53
+ if (media.source === MediaSource.IPFS_IMG ||
54
+ media.source === MediaSource.IPFS_VID) {
55
+ return media.id.length === IPFS_HASH_LENGTH;
56
+ }
57
+ if (media.source === MediaSource.YOUTUBE) {
58
+ const youtubePattern = /^.*(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#&?]*).*/;
59
+ return (media.id === `https://www.youtube.com/watch?v=${media.name}` &&
60
+ youtubePattern.test(media.id));
61
+ }
62
+ if (media.source === MediaSource.VIMEO) {
63
+ return media.id === `https://vimeo.com/${media.name}`;
64
+ }
65
+ return media.type ? Object.values(MediaType).includes(media.type) : true;
66
+ });
67
+ const iconMediaCount = wiki.media.filter((media) => media.type === MediaType.ICON).length;
68
+ return (wiki.media.length <= MAX_MEDIA_COUNT &&
69
+ isMediaContentValid &&
70
+ iconMediaCount <= 1);
71
+ };
72
+ /**
73
+ * Checks if any media in the wiki is still uploading.
74
+ * @param wiki - The wiki object to check.
75
+ * @returns True if any media is still uploading, false otherwise.
76
+ */
77
+ const isAnyMediaUploading = (wiki) => wiki.media?.some((media) => media.id.endsWith(MEDIA_UPLOAD_PENDING_SUFFIX)) ??
78
+ false;
79
+ /**
80
+ * Checks if the event URL is missing for an event wiki.
81
+ * @param wiki - The wiki object to check.
82
+ * @returns True if the event URL is missing, false otherwise.
83
+ */
84
+ const isEventUrlMissing = (wiki) => {
85
+ if (wiki.tags.some((tag) => tag.id === "Events")) {
86
+ const referencesData = wiki.metadata.find((meta) => meta.id === CommonMetaIds.REFERENCES)
87
+ ?.value || "[]";
88
+ const references = JSON.parse(referencesData);
89
+ return !references.some((item) => item.description.toLowerCase() === "event link");
90
+ }
91
+ return false;
92
+ };
93
+ /**
94
+ * Checks if the event date is missing for an event wiki.
95
+ * @param wiki - The wiki object to check.
96
+ * @returns True if the event date is missing, false otherwise.
97
+ */
98
+ const isEventDateMissing = (wiki) => wiki.tags.some((tag) => tag.id === "Events") && wiki.events?.length === 0;
99
+ /**
100
+ * Checks if the wiki summary exceeds the maximum length.
101
+ * @param wiki - The wiki object to check.
102
+ * @returns True if the summary exceeds the limit, false otherwise.
103
+ */
104
+ const isSummaryTooLong = (wiki) => !!(wiki.summary && wiki.summary.length > WIKI_SUMMARY_MAX_LENGTH);
105
+ /**
106
+ * Checks if the wiki has no citations.
107
+ * @param wiki - The wiki object to check.
108
+ * @returns True if there are no citations, false otherwise.
109
+ */
110
+ const hasNoCitations = (wiki) => {
111
+ const references = wiki.metadata.find((meta) => meta.id === CommonMetaIds.REFERENCES);
112
+ return !references?.value || references.value.length === 0;
113
+ };
114
+ /**
115
+ * Validates a wiki object and returns the validation result.
116
+ * @param wiki - The wiki object to validate.
117
+ * @returns An object containing the validation result and an error message if applicable.
118
+ */
119
+ export const validateWiki = (wiki) => {
120
+ const wordCount = countWords(wiki.content || "");
121
+ if (!wiki.title) {
122
+ return {
123
+ isValid: false,
124
+ error: "Add a Title at the top for this Wiki to continue",
125
+ };
126
+ }
127
+ if (wiki.title.length > WIKI_TITLE_MAX_LENGTH) {
128
+ return {
129
+ isValid: false,
130
+ error: `Title should be less than ${WIKI_TITLE_MAX_LENGTH} characters`,
131
+ };
132
+ }
133
+ if (!wiki.content) {
134
+ return { isValid: false, error: "Add a Content section to continue" };
135
+ }
136
+ if (wordCount < WIKI_CONTENT_MIN_WORDS) {
137
+ return {
138
+ isValid: false,
139
+ error: `Add a minimum of ${WIKI_CONTENT_MIN_WORDS} words in the content section to continue. You have written ${wordCount}`,
140
+ };
141
+ }
142
+ if (!areContentLinksVerified(wiki.content)) {
143
+ return {
144
+ isValid: false,
145
+ error: "Please remove all external links from the content",
146
+ };
147
+ }
148
+ if (!wiki.images?.length) {
149
+ return {
150
+ isValid: false,
151
+ error: "Add a main image on the right column to continue",
152
+ };
153
+ }
154
+ if (wiki.categories.length === 0) {
155
+ return { isValid: false, error: "Add one category to continue" };
156
+ }
157
+ if (isSummaryTooLong(wiki)) {
158
+ return {
159
+ isValid: false,
160
+ error: `Summary exceeds maximum limit of ${WIKI_SUMMARY_MAX_LENGTH}`,
161
+ };
162
+ }
163
+ if (isAnyMediaUploading(wiki)) {
164
+ return {
165
+ isValid: false,
166
+ error: "Some media are still uploading, please wait",
167
+ };
168
+ }
169
+ if (hasNoCitations(wiki)) {
170
+ return { isValid: false, error: "Please add at least one citation" };
171
+ }
172
+ if (isEventUrlMissing(wiki)) {
173
+ return {
174
+ isValid: false,
175
+ error: "Please cite the event official website with 'Event Link' description",
176
+ };
177
+ }
178
+ if (isEventDateMissing(wiki)) {
179
+ return {
180
+ isValid: false,
181
+ error: 'Please open the "Edit Wiki Details Modal" and enter a valid event date',
182
+ };
183
+ }
184
+ if (!isMediaValid(wiki)) {
185
+ return { isValid: false, error: "Media is invalid" };
186
+ }
187
+ return { isValid: true };
188
+ };
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tXaWtpVmFsaWRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NoZWNrV2lraVZhbGlkaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixHQUNyQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFDTixhQUFhLEVBQ2IsV0FBVyxFQUNYLFNBQVMsRUFFVCxrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBRXREOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtJQUN4QyxJQUFJO1FBQ0gsT0FBTyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUNuQztJQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ1osT0FBTyxLQUFLLENBQUM7S0FDYjtBQUNGLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQzFELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzRCxPQUFPLENBQ04sYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMs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
@@ -1,2 +1,3 @@
1
- declare function isDeepEqual(obj1: any, obj2: any): boolean;
1
+ type ComparableType = string | number | boolean | null | undefined | object;
2
+ declare function isDeepEqual(baseObject: ComparableType, comparisonObject: ComparableType): boolean;
2
3
  export default isDeepEqual;
@@ -1,45 +1,51 @@
1
- function isDeepEqual(obj1, obj2) {
2
- // If both are strings, compare them ignoring whitespace
3
- if (typeof obj1 === 'string' && typeof obj2 === 'string') {
4
- return obj1.replace(/\s+/g, '') === obj2.replace(/\s+/g, '');
5
- }
6
- // Check if they are the same reference or both null/undefined
7
- if (obj1 === obj2) {
1
+ function isDeepEqual(baseObject, comparisonObject) {
2
+ return compareValues(baseObject, comparisonObject);
3
+ }
4
+ function compareValues(base, comparison) {
5
+ if (base === comparison) {
8
6
  return true;
9
7
  }
10
- // Check if either is null/undefined, or not both are objects (including functions)
11
- if (typeof obj1 !== 'object' ||
12
- obj1 === null ||
13
- typeof obj2 !== 'object' ||
14
- obj2 === null) {
8
+ if (base == null || comparison == null) {
9
+ return false;
10
+ }
11
+ if (typeof base !== typeof comparison) {
15
12
  return false;
16
13
  }
17
- // Get the keys of both objects
18
- const keysA = Object.keys(obj1);
19
- const keysB = Object.keys(obj2);
20
- // Check if the number of properties is different
21
- if (keysA.length !== keysB.length) {
14
+ if (typeof base === "string") {
15
+ return compareStrings(base, comparison);
16
+ }
17
+ if (base instanceof Date && comparison instanceof Date) {
18
+ return base.getTime() === comparison.getTime();
19
+ }
20
+ if (base instanceof RegExp && comparison instanceof RegExp) {
21
+ return base.toString() === comparison.toString();
22
+ }
23
+ if (typeof base === "object") {
24
+ return compareObjects(base, comparison);
25
+ }
26
+ return false;
27
+ }
28
+ function compareStrings(base, comparison) {
29
+ return base.replace(/\s+/g, "") === comparison.replace(/\s+/g, "");
30
+ }
31
+ function compareObjects(base, comparison) {
32
+ const baseKeys = Object.keys(base);
33
+ const comparisonKeys = Object.keys(comparison);
34
+ if (baseKeys.length !== comparisonKeys.length) {
22
35
  return false;
23
36
  }
24
- // Check if obj2 has all keys present in obj1 and compare each key
25
- for (const key of keysA) {
26
- if (!keysB.includes(key)) {
37
+ return baseKeys.every((key) => {
38
+ if (!Object.prototype.hasOwnProperty.call(comparison, key)) {
27
39
  return false;
28
40
  }
29
- // Check if the property is a function and compare the function's code
30
- if (typeof obj1[key] === 'function' || typeof obj2[key] === 'function') {
31
- if (obj1[key].toString() !== obj2[key].toString()) {
32
- return false;
33
- }
34
- }
35
- else {
36
- // Recursive call for nested objects or arrays
37
- if (!isDeepEqual(obj1[key], obj2[key])) {
38
- return false;
39
- }
41
+ const baseValue = base[key];
42
+ const comparisonValue = comparison[key];
43
+ if (typeof baseValue === "function" &&
44
+ typeof comparisonValue === "function") {
45
+ return baseValue.toString() === comparisonValue.toString();
40
46
  }
41
- }
42
- return true;
47
+ return compareValues(baseValue, comparisonValue);
48
+ });
43
49
  }
44
50
  export default isDeepEqual;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNEZWVwRXF1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lzRGVlcEVxdWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsV0FBVyxDQUFDLElBQVMsRUFBRSxJQUFTO0lBQ3ZDLHdEQUF3RDtJQUN4RCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM5RDtJQUVELDhEQUE4RDtJQUM5RCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7UUFDakIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELG1GQUFtRjtJQUNuRixJQUNFLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsSUFBSSxLQUFLLElBQUk7UUFDYixPQUFPLElBQUksS0FBSyxRQUFRO1FBQ3hCLElBQUksS0FBSyxJQUFJLEVBQ2I7UUFDQSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsK0JBQStCO0lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxpREFBaUQ7SUFDakQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDakMsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELGtFQUFrRTtJQUNsRSxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsc0VBQXNFO1FBQ3RFLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjthQUFNO1lBQ0wsOENBQThDO1lBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELGVBQWUsV0FBVyxDQUFDIn0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNEZWVwRXF1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lzRGVlcEVxdWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsV0FBVyxDQUNuQixVQUEwQixFQUMxQixnQkFBZ0M7SUFFaEMsT0FBTyxhQUFhLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNyQixJQUFvQixFQUNwQixVQUEwQjtJQUUxQixJQUFJLElBQUksS0FBSyxVQUFVLEVBQUU7UUFDeEIsT0FBTyxJQUFJLENBQUM7S0FDWjtJQUVELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDO0tBQ2I7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLE9BQU8sVUFBVSxFQUFFO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0tBQ2I7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBb0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsSUFBSSxJQUFJLFlBQVksSUFBSSxJQUFJLFVBQVUsWUFBWSxJQUFJLEVBQUU7UUFDdkQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQy9DO0lBRUQsSUFBSSxJQUFJLFlBQVksTUFBTSxJQUFJLFVBQVUsWUFBWSxNQUFNLEVBQUU7UUFDM0QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2pEO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQW9CLENBQUMsQ0FBQztLQUNsRDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLElBQVksRUFBRSxVQUFrQjtJQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFZLEVBQUUsVUFBa0I7SUFDdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsTUFBTSxFQUFFO1FBQzlDLE9BQU8sS0FBSyxDQUFDO0tBQ2I7SUFFRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUMzRCxPQUFPLEtBQUssQ0FBQztTQUNiO1FBRUQsTUFBTSxTQUFTLEdBQUksSUFBdUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxNQUFNLGVBQWUsR0FBSSxVQUE2QyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVFLElBQ0MsT0FBTyxTQUFTLEtBQUssVUFBVTtZQUMvQixPQUFPLGVBQWUsS0FBSyxVQUFVLEVBQ3BDO1lBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNEO1FBRUQsT0FBTyxhQUFhLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELGVBQWUsV0FBVyxDQUFDIn0=
@@ -1,2 +1,2 @@
1
- import { Wiki } from '../types/wiki';
1
+ import { type Wiki } from "../types/wiki";
2
2
  export declare const calculateWikiScore: (wiki: Wiki) => number;
@@ -1,4 +1,4 @@
1
- import { CommonMetaIds, WikiPossibleSocialsList } from '../types/wiki';
1
+ import { CommonMetaIds, WikiPossibleSocialsList, } from "../types/wiki";
2
2
  const MIN_CONTENT_WORD_COUNT = 10;
3
3
  const GOOD_CONTENT_WORD_COUNT = 500;
4
4
  const IDEAL_CONTENT_WORD_COUNT = 1500;
@@ -60,23 +60,24 @@ const countQuality = (idealCount, realCount) => {
60
60
  };
61
61
  const getHostnameFromRegex = (url) => {
62
62
  const matches = url.match(/^https?:\/\/([^/?#]+)(?:[/?#]|$)/i);
63
- return matches && matches[1];
63
+ return matches?.[1];
64
64
  };
65
65
  const getWikiInternalLinks = (content) => {
66
- const markdownLinks = content.match(/\[(.*?)\]\((.*?)\)/g);
66
+ const markdownLinkRegex = /\[(.*?)\]\((.*?)\)/g;
67
67
  let internalLinksCount = 0;
68
- markdownLinks?.forEach((link) => {
69
- const linkMatch = link.match(/\[(.*?)\]\((.*?)\)/);
70
- const url = linkMatch?.[2];
71
- if (url && url.charAt(0) !== '#') {
68
+ let match = markdownLinkRegex.exec(content);
69
+ while (match !== null) {
70
+ const url = match[2];
71
+ if (url && !url.startsWith("#")) {
72
72
  const hostname = getHostnameFromRegex(url);
73
- if (hostname === 'everipedia.org' ||
74
- hostname === 'iq.wiki' ||
75
- hostname?.endsWith('.everipedia.org')) {
76
- internalLinksCount += 1;
73
+ if (hostname === "everipedia.org" ||
74
+ hostname === "iq.wiki" ||
75
+ hostname?.endsWith(".everipedia.org")) {
76
+ internalLinksCount++;
77
77
  }
78
78
  }
79
- });
79
+ match = markdownLinkRegex.exec(content); // Move assignment here
80
+ }
80
81
  return internalLinksCount;
81
82
  };
82
83
  const getWikiCitationLinks = (wiki) => {
@@ -90,17 +91,17 @@ const getWikiCitationLinks = (wiki) => {
90
91
  };
91
92
  const getSocialsCount = (wiki) => {
92
93
  let socialsCount = 0;
93
- wiki.metadata.forEach((meta) => {
94
+ for (const meta of wiki.metadata) {
94
95
  if (WikiPossibleSocialsList.includes(meta.id)) {
95
96
  if (meta.value) {
96
97
  socialsCount += 1;
97
98
  }
98
99
  }
99
- });
100
+ }
100
101
  return socialsCount;
101
102
  };
102
103
  export const calculateWikiScore = (wiki) => {
103
- const wordCount = wiki.content.split(' ').length;
104
+ const wordCount = wiki.content.split(" ").length;
104
105
  const internalLinksCount = getWikiInternalLinks(wiki.content);
105
106
  const citationCount = getWikiCitationLinks(wiki);
106
107
  const mediaCount = wiki.media?.length || 0;
@@ -132,4 +133,4 @@ export const calculateWikiScore = (wiki) => {
132
133
  const percentScore = Math.floor(score * 100);
133
134
  return percentScore;
134
135
  };
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraVNjb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93aWtpU2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBUSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUNsQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztBQUN4QyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUMvQixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUM5QixNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUVoQyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUN0QyxNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUNqQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUM1QixNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUMzQixNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQUVuQyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUNuRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDckIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXJCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVkLElBQUksU0FBUyxHQUFHLHNCQUFzQixFQUFFO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsSUFD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
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraVNjb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93aWtpU2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGFBQWEsRUFFYix1QkFBdUIsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFDbEMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFDcEMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUM7QUFFdEMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDakMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUM7QUFDeEMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFDL0IsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDakMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFFaEMsTUFBTSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7QUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFDakMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7QUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFDM0IsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDakMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7QUFFbkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFpQixFQUFVLEVBQUU7SUFDcEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUVyQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFFZCxJQUFJLFNBQVMsR0FBRyxzQkFBc0IsRUFBRTtRQUN2QyxPQUFPLFFBQVEsQ0FBQztLQUNoQjtJQUVELElB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
@@ -163,6 +163,10 @@ export interface BaseEvents {
163
163
  multiDateStart?: string;
164
164
  multiDateEnd?: string;
165
165
  }
166
+ type WikiReference = {
167
+ id: string;
168
+ title: string;
169
+ };
166
170
  export interface Wiki {
167
171
  id: string;
168
172
  transactionHash?: string;
@@ -179,6 +183,8 @@ export interface Wiki {
179
183
  user: User;
180
184
  metadata: MData[];
181
185
  linkedWikis?: LinkedWikis;
186
+ founderWikis: WikiReference[];
187
+ blockchainWikis: WikiReference[];
182
188
  version: number;
183
189
  language: LanguagesISOEnum;
184
190
  updated?: string;
@@ -92,7 +92,7 @@ export const WikiPossibleSocialsList = [
92
92
  CommonMetaIds.CRONOSCAN_PROFILE,
93
93
  CommonMetaIds.ZKSCAN_PROFILE,
94
94
  CommonMetaIds.EXPLORER_INJECTIVE,
95
- CommonMetaIds.BLASTSCAN_PROFILE
95
+ CommonMetaIds.BLASTSCAN_PROFILE,
96
96
  ];
97
97
  export var ValidatorCodes;
98
98
  (function (ValidatorCodes) {
@@ -164,4 +164,4 @@ export const whiteListedDomains = [
164
164
  'ipfs.everipedia.org/ipfs',
165
165
  ];
166
166
  export const whiteListedLinkNames = ['YOUTUBE@VID', 'DUNE@EMBED'];
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy93aWtpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixrQ0FBbUIsQ0FBQTtJQUNuQixvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFZRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxhQThDWDtBQTlDRCxXQUFZLGFBQWE7SUFDdkIsMENBQXlCLENBQUE7SUFFekIsYUFBYTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLDhDQUE2QixDQUFBO0lBQzdCLHNDQUFxQixDQUFBO0lBRXJCLGVBQWU7SUFDZix3Q0FBdUIsQ0FBQTtJQUN2QixzREFBcUMsQ0FBQTtJQUNyQyx3REFBdUMsQ0FBQTtJQUN2QyxvREFBbUMsQ0FBQTtJQUNuQyxzREFBcUMsQ0FBQTtJQUNyQyxvREFBbUMsQ0FBQTtJQUNuQyxvREFBbUMsQ0FBQTtJQUNuQyw4Q0FBNkIsQ0FBQTtJQUM3QixrREFBaUMsQ0FBQTtJQUNqQyw4Q0FBNkIsQ0FBQTtJQUM3QixzREFBcUMsQ0FBQTtJQUNyQyx3REFBdUMsQ0FBQTtJQUN2QyxvREFBbUMsQ0FBQTtJQUNuQyxrREFBaUMsQ0FBQTtJQUNqQyxrREFBaUMsQ0FBQTtJQUNqQyxrREFBaUMsQ0FBQTtJQUVqQyxZQUFZO0lBQ1osd0RB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
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lraS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy93aWtpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixrQ0FBbUIsQ0FBQTtJQUNuQixvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFZRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxhQThDWDtBQTlDRCxXQUFZLGFBQWE7SUFDdkIsMENBQXlCLENBQUE7SUFFekIsYUFBYTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLDhDQUE2QixDQUFBO0lBQzdCLHNDQUFxQixDQUFBO0lBRXJCLGVBQWU7SUFDZix3Q0FBdUIsQ0FBQTtJQUN2QixzREFBcUMsQ0FBQTtJQUNyQyx3REFBdUMsQ0FBQTtJQUN2QyxvREFBbUMsQ0FBQTtJQUNuQyxzREFBcUMsQ0FBQTtJQUNyQyxvREFBbUMsQ0FBQTtJQUNuQyxvREFBbUMsQ0FBQTtJQUNuQyw4Q0FBNkIsQ0FBQTtJQUM3QixrREFBaUMsQ0FBQTtJQUNqQyw4Q0FBNkIsQ0FBQTtJQUM3QixzREFBcUMsQ0FBQTtJQUNyQyx3REFBdUMsQ0FBQTtJQUN2QyxvREFBbUMsQ0FBQTtJQUNuQyxrREFBaUMsQ0FBQTtJQUNqQyxrREFBaUMsQ0FBQTtJQUNqQyxrREFBaUMsQ0FBQTtJQUVqQyxZQUFZO0lBQ1osd0RB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
@@ -1,4 +1,4 @@
1
- import { Wiki } from './wiki';
1
+ import type { Wiki } from './wiki';
2
2
  type DeepPartial<T> = {
3
3
  [P in keyof T]?: DeepPartial<T[P]>;
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everipedia/iq-utils",
3
- "version": "0.2.10",
3
+ "version": "0.3.0",
4
4
  "description": "Common utility library for IQ projects",
5
5
  "main": "build/main/index.js",
6
6
  "typings": "build/main/index.d.ts",