@vannizhang/living-atlas-content-validator 1.5.19-beta.8 → 1.5.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +258 -204
  2. package/dist/configureSettings.d.ts +27 -25
  3. package/dist/configureSettings.js +14 -13
  4. package/dist/configureSettings.js.map +1 -1
  5. package/dist/index.d.ts +9 -4
  6. package/dist/index.js +13 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/checkTitleAndSnippetSearchability/matchDateTimeInfo.js +6 -9
  9. package/dist/lib/checkTitleAndSnippetSearchability/matchDateTimeInfo.js.map +1 -1
  10. package/dist/lib/config.d.ts +1 -1
  11. package/dist/lib/config.js +6 -0
  12. package/dist/lib/config.js.map +1 -1
  13. package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.d.ts +4 -0
  14. package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js +24 -16
  15. package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js.map +1 -1
  16. package/dist/lib/featureServiceFieldAliases/helpers.d.ts +19 -0
  17. package/dist/lib/featureServiceFieldAliases/helpers.js +48 -0
  18. package/dist/lib/featureServiceFieldAliases/helpers.js.map +1 -0
  19. package/dist/lib/featureServiceFieldAliases/scoringConfig.js +1 -1
  20. package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.d.ts +4 -0
  21. package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js +37 -18
  22. package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js.map +1 -1
  23. package/dist/lib/featureServiceFieldDescriptions/helpers.d.ts +20 -0
  24. package/dist/lib/featureServiceFieldDescriptions/helpers.js +53 -0
  25. package/dist/lib/featureServiceFieldDescriptions/helpers.js.map +1 -0
  26. package/dist/lib/featureServiceFieldDescriptions/scoringConfig.js +1 -1
  27. package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.d.ts +4 -0
  28. package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js +25 -18
  29. package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js.map +1 -1
  30. package/dist/lib/featureServiceFieldValueTypes/helpers.d.ts +16 -0
  31. package/dist/lib/featureServiceFieldValueTypes/helpers.js +35 -0
  32. package/dist/lib/featureServiceFieldValueTypes/helpers.js.map +1 -0
  33. package/dist/lib/featureServiceFieldValueTypes/scoringConfig.js +1 -1
  34. package/dist/lib/ssl/isValidSSL.js +3 -1
  35. package/dist/lib/ssl/isValidSSL.js.map +1 -1
  36. package/dist/locale/de.json +21 -24
  37. package/dist/locale/en.json +7 -10
  38. package/dist/locale/es.json +21 -24
  39. package/dist/locale/fr.json +21 -24
  40. package/dist/locale/ja.json +21 -24
  41. package/dist/locale/pt-br.json +21 -24
  42. package/dist/package-info.json +1 -1
  43. package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.d.ts +11 -6
  44. package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.js +56 -16
  45. package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.js.map +1 -1
  46. package/dist/services/feature-service/getFeatureServerURL.d.ts +12 -0
  47. package/dist/services/feature-service/getFeatureServerURL.js +37 -0
  48. package/dist/services/feature-service/getFeatureServerURL.js.map +1 -0
  49. package/dist/types/index.d.ts +1 -0
  50. package/dist/types/index.js.map +1 -1
  51. package/package.json +1 -1
@@ -9,9 +9,8 @@ const config_2 = require("./services/shared/config");
9
9
  * Configures the settings for the application.
10
10
  *
11
11
  * @param {Object} params - The settings parameters.
12
- * @param {string} params.serviceTier - The service tier, must be either 'dev' or 'prod'.
13
12
  * @param {string} params.language - The language to be set for the application.
14
- * @param {Object} params.additionalPatternsForTitleAndSnippetSearchability - Additional patterns for title and snippet searchability.
13
+ * @param {Object} [params.additionalPatternsForTitleAndSnippetSearchability] - Optional additional patterns for title and snippet searchability.
15
14
  * @param {string[]} params.additionalPatternsForTitleAndSnippetSearchability.matchingPatternsLocation - Matching patterns for location.
16
15
  * @param {string[]} params.additionalPatternsForTitleAndSnippetSearchability.rejectedPatternsLocation - Rejected patterns for location.
17
16
  * @param {string[]} params.additionalPatternsForTitleAndSnippetSearchability.matchingPatternsSource - Matching patterns for source.
@@ -21,24 +20,26 @@ const config_2 = require("./services/shared/config");
21
20
  * @param {string[]} params.additionalPatternsForTitleAndSnippetSearchability.matchingPatternsYearVintage - Matching patterns for year vintage.
22
21
  * @param {string[]} params.additionalPatternsForTitleAndSnippetSearchability.rejectedPatternsYearVintage - Rejected patterns for year vintage.
23
22
  * @param {boolean} params.additionalPatternsForTitleAndSnippetSearchability.shouldAvoidUsingWordBoundary - Flag to avoid using word boundary.
24
- * @param {string[]} [params.profanities] - An array of profanities to be used for validation.
23
+ * @param {string[]} [params.profanities] - Optional array of profanities to be used for validation.
24
+ * @param {string} [params.serviceTier] - Optional service tier, must be either 'dev' or 'prod'. Defaults to 'prod'.
25
25
  *
26
- * @throws {Error} If the service tier is not 'dev' or 'prod'.
27
- * @throws {Error} If the language is not provided.
26
+ * @throws {Error} If the language is not provided or is invalid.
28
27
  */
29
- const configureSettings = ({ serviceTier, language, additionalPatternsForTitleAndSnippetSearchability, profanities, }) => {
30
- if (serviceTier !== 'dev' && serviceTier !== 'prod') {
31
- throw new Error('Invalid service tier. It must be either "dev" or "prod".');
32
- }
33
- if (!language) {
34
- throw new Error('Language is required.');
35
- }
28
+ const configureSettings = ({ language = 'en', additionalPatternsForTitleAndSnippetSearchability, profanities, serviceTier = 'dev', }) => {
29
+ // if (serviceTier !== 'dev' && serviceTier !== 'prod') {
30
+ // throw new Error(
31
+ // 'Invalid service tier. It must be either "dev" or "prod".'
32
+ // );
33
+ // }
34
+ // if (!language) {
35
+ // throw new Error('Language is required.');
36
+ // }
36
37
  const validLocales = ['en', 'de', 'es', 'fr', 'ja', 'pt-br'];
37
38
  if (!validLocales.includes(language)) {
38
39
  throw new Error(`Invalid language. Supported languages are: ${validLocales.join(', ')}.`);
39
40
  }
40
41
  // Set the service tier for the application
41
- (0, config_2.setServiceTier)(serviceTier);
42
+ (0, config_2.setServiceTier)(serviceTier || 'dev');
42
43
  // Set the language for the application
43
44
  (0, stringsConfig_1.setStrings)(language);
44
45
  const { matchingPatternsLocation, rejectedPatternsLocation, matchingPatternsSource, rejectedPatternsSource, matchingPatternsTopic, rejectedPatternsTopic, matchingPatternsYearVintage, rejectedPatternsYearVintage, shouldAvoidUsingWordBoundary, } = additionalPatternsForTitleAndSnippetSearchability || {};
@@ -1 +1 @@
1
- {"version":3,"file":"configureSettings.js","sourceRoot":"","sources":["../src/configureSettings.ts"],"names":[],"mappings":";;;AAAA,8EAAyE;AACzE,2EAAsH;AACtH,4DAA8D;AAC9D,qDAAuE;AAgHvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,iDAAiD,EACjD,WAAW,GACW,EAAE,EAAE;IAC1B,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACX,0DAA0D,CAC7D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,YAAY,GAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACX,8CAA8C,YAAY,CAAC,IAAI,CAC3D,IAAI,CACP,GAAG,CACP,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,IAAA,uBAAc,EAAC,WAAW,CAAC,CAAC;IAE5B,uCAAuC;IACvC,IAAA,0BAAU,EAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,EACF,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC/B,GAAG,iDAAiD,IAAI,EAAE,CAAC;IAE5D,8DAA8D;IAC9D,IAAA,6DAAoD,EAAC;QACjD,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,2BAA2B;QAC3B,2BAA2B;QAC3B,4BAA4B;KAC/B,CAAC,CAAC;IAEH,iCAAiC;IACjC,IAAA,iCAAc,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC,CAAC;AA1DW,QAAA,iBAAiB,qBA0D5B"}
1
+ {"version":3,"file":"configureSettings.js","sourceRoot":"","sources":["../src/configureSettings.ts"],"names":[],"mappings":";;;AAAA,8EAAyE;AACzE,2EAAsH;AACtH,4DAA8D;AAC9D,qDAAuE;AAmHvE;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAC9B,QAAQ,GAAG,IAAI,EACf,iDAAiD,EACjD,WAAW,EACX,WAAW,GAAG,KAAK,GACG,EAAE,EAAE;IAC1B,yDAAyD;IACzD,uBAAuB;IACvB,qEAAqE;IACrE,SAAS;IACT,IAAI;IAEJ,mBAAmB;IACnB,gDAAgD;IAChD,IAAI;IAEJ,MAAM,YAAY,GAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACX,8CAA8C,YAAY,CAAC,IAAI,CAC3D,IAAI,CACP,GAAG,CACP,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,IAAA,uBAAc,EAAC,WAAW,IAAI,KAAK,CAAC,CAAC;IAErC,uCAAuC;IACvC,IAAA,0BAAU,EAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,EACF,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC/B,GAAG,iDAAiD,IAAI,EAAE,CAAC;IAE5D,8DAA8D;IAC9D,IAAA,6DAAoD,EAAC;QACjD,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,2BAA2B;QAC3B,2BAA2B;QAC3B,4BAA4B;KAC/B,CAAC,CAAC;IAEH,iCAAiC;IACjC,IAAA,iCAAc,EAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC,CAAC;AA1DW,QAAA,iBAAiB,qBA0D5B"}
package/dist/index.d.ts CHANGED
@@ -37,10 +37,15 @@ import { LivingAtlasSupportedItemType } from './lib/config';
37
37
  import { checkFeatureServiceFieldDescriptions } from './lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions';
38
38
  import { checkFeatureServiceFieldAliases } from './lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases';
39
39
  import { checkFeatureServiceFieldValueTypes } from './lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes';
40
- import { fetchFeatureServiceLayersAndTables } from './services/feature-service/fetchFeatureServiceLayersAndTables';
41
- import { getRelevantFeatureLayerFields } from './lib/util/getRelevantFeatureLayerFields';
42
- import { getFeatureLayerFieldValueTypes } from './lib/util/getFeatureLayerFieldValueTypes';
43
- export { configureSettings, validate, isValidTitle, isValidAccessInformation, isValidDescription, isValidLicenseInfo, isValidAccess, isValidSSL, isValidSummary, isValidTags, isValidThumbnail, isValidUserProfileDescription, isValidUserProfileName, isValidUserProfileThumbnail, isDeprecated, isDeleteProtectionEnabled, checkTitleAndSnippetSearchability, matchLocationInfo, matchDateTimeInfo, matchSourceInfo, matchTopicInfo, isRecognizedLocation, isRecognizedDateTimeInfo, isRecognizedSource, isRecognizedTopic, isRejectedLocationInfo, isRejectedDateTimeInfo, isRejectedSourceInfo, isRejectedTopicInfo, isEligibleForCheckingTitleAndSnippetSearchability, getLivingAtlasSupportedItemTypes, checkIsLivingAtlasSupportedItemType, sanitizeTags, getStringsConfig, getDefaultStringsConfig, checkFeatureServiceFieldAliases, checkFeatureServiceFieldDescriptions, checkFeatureServiceFieldValueTypes, fetchFeatureServiceLayersAndTables, getRelevantFeatureLayerFields, getFeatureLayerFieldValueTypes, };
40
+ export { configureSettings, validate, isValidTitle, isValidAccessInformation, isValidDescription, isValidLicenseInfo, isValidAccess, isValidSSL, isValidSummary, isValidTags, isValidThumbnail, isValidUserProfileDescription, isValidUserProfileName, isValidUserProfileThumbnail, isDeprecated, isDeleteProtectionEnabled, checkTitleAndSnippetSearchability, matchLocationInfo, matchDateTimeInfo, matchSourceInfo, matchTopicInfo, isRecognizedLocation, isRecognizedDateTimeInfo, isRecognizedSource, isRecognizedTopic, isRejectedLocationInfo, isRejectedDateTimeInfo, isRejectedSourceInfo, isRejectedTopicInfo, isEligibleForCheckingTitleAndSnippetSearchability, getLivingAtlasSupportedItemTypes, checkIsLivingAtlasSupportedItemType, sanitizeTags, getStringsConfig, getDefaultStringsConfig, checkFeatureServiceFieldAliases, checkFeatureServiceFieldDescriptions, checkFeatureServiceFieldValueTypes, };
44
41
  export { fetchAdditonalPatterns4TitleAndSnippetSearchability, fetchProfanitiesData, getSubmittedCustomTerms, getMyCustomTerms, addCustomTerms2FeatureTable, updateStatusOfCustomTermsInFeatureTable, getPackagedReviewResults, getReviewedReviewResults, getUnarchivedReviewResults, getDeployedReviewResults, getReviewResultsByTermAndCategory, addReviewResults2FeatureTable, updateReviewResultsInFeatureTable, getCustomTermsFeatureTableItemInfo, getCustomTermsReviewResultsFeatureTableItemInfo, containsProfanity, };
45
42
  export { isValidRegexPattern, escapeSpecialCharacters };
46
43
  export type { ValidationMessage, ValidationInfo, ValidationResult, ValidationRulesStringJSON, ValidationResultStatus, MatchResult, CustomTermFeature, CustomTermCategory, CustomTermStatus, CustomTermsReviewResultLifecycle, CustomTermReviewResultFeature, AdditionalPatterns4TitleAndSnippetSearchability, AddFeaturesResponse, LivingAtlasSupportedItemType, FeatureLayerFieldRaw, FeatureLayerFieldFormatted, FeatureLayerJSON, FeatureLayerFieldValueType, FeatureServiceJSON, };
44
+ import { getFeatureServerRootURL } from './services/feature-service/getFeatureServerURL';
45
+ import { getPercentOfValidFieldDescriptions, isValidFieldDescription } from './lib/featureServiceFieldDescriptions/helpers';
46
+ import { getPercentOfValidFieldAliases, isValidFieldAlias } from './lib/featureServiceFieldAliases/helpers';
47
+ import { getPercentFieldsWithValueType, isValidFieldValueType } from './lib/featureServiceFieldValueTypes/helpers';
48
+ import { fetchFeatureServiceLayersAndTables } from './services/feature-service/fetchFeatureServiceLayersAndTables';
49
+ import { getRelevantFeatureLayerFields } from './lib/util/getRelevantFeatureLayerFields';
50
+ import { getFeatureLayerFieldValueTypes } from './lib/util/getFeatureLayerFieldValueTypes';
51
+ export { getFeatureServerRootURL, fetchFeatureServiceLayersAndTables, getRelevantFeatureLayerFields, getFeatureLayerFieldValueTypes, getPercentOfValidFieldDescriptions, isValidFieldDescription, getPercentOfValidFieldAliases, isValidFieldAlias, getPercentFieldsWithValueType, isValidFieldValueType, };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnarchivedReviewResults = exports.getReviewedReviewResults = exports.getPackagedReviewResults = exports.updateStatusOfCustomTermsInFeatureTable = exports.addCustomTerms2FeatureTable = exports.getMyCustomTerms = exports.getSubmittedCustomTerms = exports.fetchProfanitiesData = exports.fetchAdditonalPatterns4TitleAndSnippetSearchability = exports.getFeatureLayerFieldValueTypes = exports.getRelevantFeatureLayerFields = exports.fetchFeatureServiceLayersAndTables = exports.checkFeatureServiceFieldValueTypes = exports.checkFeatureServiceFieldDescriptions = exports.checkFeatureServiceFieldAliases = exports.getDefaultStringsConfig = exports.getStringsConfig = exports.sanitizeTags = exports.checkIsLivingAtlasSupportedItemType = exports.getLivingAtlasSupportedItemTypes = exports.isEligibleForCheckingTitleAndSnippetSearchability = exports.isRejectedTopicInfo = exports.isRejectedSourceInfo = exports.isRejectedDateTimeInfo = exports.isRejectedLocationInfo = exports.isRecognizedTopic = exports.isRecognizedSource = exports.isRecognizedDateTimeInfo = exports.isRecognizedLocation = exports.matchTopicInfo = exports.matchSourceInfo = exports.matchDateTimeInfo = exports.matchLocationInfo = exports.checkTitleAndSnippetSearchability = exports.isDeleteProtectionEnabled = exports.isDeprecated = exports.isValidUserProfileThumbnail = exports.isValidUserProfileName = exports.isValidUserProfileDescription = exports.isValidThumbnail = exports.isValidTags = exports.isValidSummary = exports.isValidSSL = exports.isValidAccess = exports.isValidLicenseInfo = exports.isValidDescription = exports.isValidAccessInformation = exports.isValidTitle = exports.validate = exports.configureSettings = void 0;
4
- exports.escapeSpecialCharacters = exports.isValidRegexPattern = exports.containsProfanity = exports.getCustomTermsReviewResultsFeatureTableItemInfo = exports.getCustomTermsFeatureTableItemInfo = exports.updateReviewResultsInFeatureTable = exports.addReviewResults2FeatureTable = exports.getReviewResultsByTermAndCategory = exports.getDeployedReviewResults = void 0;
3
+ exports.addReviewResults2FeatureTable = exports.getReviewResultsByTermAndCategory = exports.getDeployedReviewResults = exports.getUnarchivedReviewResults = exports.getReviewedReviewResults = exports.getPackagedReviewResults = exports.updateStatusOfCustomTermsInFeatureTable = exports.addCustomTerms2FeatureTable = exports.getMyCustomTerms = exports.getSubmittedCustomTerms = exports.fetchProfanitiesData = exports.fetchAdditonalPatterns4TitleAndSnippetSearchability = exports.checkFeatureServiceFieldValueTypes = exports.checkFeatureServiceFieldDescriptions = exports.checkFeatureServiceFieldAliases = exports.getDefaultStringsConfig = exports.getStringsConfig = exports.sanitizeTags = exports.checkIsLivingAtlasSupportedItemType = exports.getLivingAtlasSupportedItemTypes = exports.isEligibleForCheckingTitleAndSnippetSearchability = exports.isRejectedTopicInfo = exports.isRejectedSourceInfo = exports.isRejectedDateTimeInfo = exports.isRejectedLocationInfo = exports.isRecognizedTopic = exports.isRecognizedSource = exports.isRecognizedDateTimeInfo = exports.isRecognizedLocation = exports.matchTopicInfo = exports.matchSourceInfo = exports.matchDateTimeInfo = exports.matchLocationInfo = exports.checkTitleAndSnippetSearchability = exports.isDeleteProtectionEnabled = exports.isDeprecated = exports.isValidUserProfileThumbnail = exports.isValidUserProfileName = exports.isValidUserProfileDescription = exports.isValidThumbnail = exports.isValidTags = exports.isValidSummary = exports.isValidSSL = exports.isValidAccess = exports.isValidLicenseInfo = exports.isValidDescription = exports.isValidAccessInformation = exports.isValidTitle = exports.validate = exports.configureSettings = void 0;
4
+ exports.isValidFieldValueType = exports.getPercentFieldsWithValueType = exports.isValidFieldAlias = exports.getPercentOfValidFieldAliases = exports.isValidFieldDescription = exports.getPercentOfValidFieldDescriptions = exports.getFeatureLayerFieldValueTypes = exports.getRelevantFeatureLayerFields = exports.fetchFeatureServiceLayersAndTables = exports.getFeatureServerRootURL = exports.escapeSpecialCharacters = exports.isValidRegexPattern = exports.containsProfanity = exports.getCustomTermsReviewResultsFeatureTableItemInfo = exports.getCustomTermsFeatureTableItemInfo = exports.updateReviewResultsInFeatureTable = void 0;
5
5
  const isValidTitle_1 = require("./lib/title/isValidTitle");
6
6
  Object.defineProperty(exports, "isValidTitle", { enumerable: true, get: function () { return isValidTitle_1.isValidTitle; } });
7
7
  const isValidAccessInformation_1 = require("./lib/accessInformation/isValidAccessInformation");
@@ -95,6 +95,17 @@ const checkFeatureServiceFieldAliases_1 = require("./lib/featureServiceFieldAlia
95
95
  Object.defineProperty(exports, "checkFeatureServiceFieldAliases", { enumerable: true, get: function () { return checkFeatureServiceFieldAliases_1.checkFeatureServiceFieldAliases; } });
96
96
  const checkFeatureServiceFieldValueTypes_1 = require("./lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes");
97
97
  Object.defineProperty(exports, "checkFeatureServiceFieldValueTypes", { enumerable: true, get: function () { return checkFeatureServiceFieldValueTypes_1.checkFeatureServiceFieldValueTypes; } });
98
+ const getFeatureServerURL_1 = require("./services/feature-service/getFeatureServerURL");
99
+ Object.defineProperty(exports, "getFeatureServerRootURL", { enumerable: true, get: function () { return getFeatureServerURL_1.getFeatureServerRootURL; } });
100
+ const helpers_2 = require("./lib/featureServiceFieldDescriptions/helpers");
101
+ Object.defineProperty(exports, "getPercentOfValidFieldDescriptions", { enumerable: true, get: function () { return helpers_2.getPercentOfValidFieldDescriptions; } });
102
+ Object.defineProperty(exports, "isValidFieldDescription", { enumerable: true, get: function () { return helpers_2.isValidFieldDescription; } });
103
+ const helpers_3 = require("./lib/featureServiceFieldAliases/helpers");
104
+ Object.defineProperty(exports, "getPercentOfValidFieldAliases", { enumerable: true, get: function () { return helpers_3.getPercentOfValidFieldAliases; } });
105
+ Object.defineProperty(exports, "isValidFieldAlias", { enumerable: true, get: function () { return helpers_3.isValidFieldAlias; } });
106
+ const helpers_4 = require("./lib/featureServiceFieldValueTypes/helpers");
107
+ Object.defineProperty(exports, "getPercentFieldsWithValueType", { enumerable: true, get: function () { return helpers_4.getPercentFieldsWithValueType; } });
108
+ Object.defineProperty(exports, "isValidFieldValueType", { enumerable: true, get: function () { return helpers_4.isValidFieldValueType; } });
98
109
  const fetchFeatureServiceLayersAndTables_1 = require("./services/feature-service/fetchFeatureServiceLayersAndTables");
99
110
  Object.defineProperty(exports, "fetchFeatureServiceLayersAndTables", { enumerable: true, get: function () { return fetchFeatureServiceLayersAndTables_1.fetchFeatureServiceLayersAndTables; } });
100
111
  const getRelevantFeatureLayerFields_1 = require("./lib/util/getRelevantFeatureLayerFields");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAiBA,2DAAwD;AA2GpD,6FA3GK,2BAAY,OA2GL;AA1GhB,+FAA4F;AA2GxF,yGA3GK,mDAAwB,OA2GL;AA1G5B,6EAA0E;AA2GtE,mGA3GK,uCAAkB,OA2GL;AA1GtB,yEAAyE;AACzE,6EAA0E;AA2GtE,mGA3GK,uCAAkB,OA2GL;AA1GtB,+DAA4D;AA2GxD,8FA3GK,6BAAa,OA2GL;AA1GjB,qDAAkD;AA2G9C,2FA3GK,uBAAU,OA2GL;AA1Gd,iEAA8D;AA2G1D,+FA3GK,+BAAc,OA2GL;AA1GlB,wDAAqD;AA2GjD,4FA3GK,yBAAW,OA2GL;AA1Gf,uEAAoE;AA2GhE,iGA3GK,mCAAgB,OA2GL;AA1GpB,8GAA2G;AA2GvG,8GA3GK,6DAA6B,OA2GL;AA1GjC,yFAAsF;AA2GlF,uGA3GK,+CAAsB,OA2GL;AA1G1B,wGAAqG;AA2GjG,4GA3GK,yDAA2B,OA2GL;AA1G/B,gEAA6D;AA2GzD,6FA3GK,2BAAY,OA2GL;AA1GhB,sDAAmD;AA2F/C,yFA3FK,mBAAQ,OA2FL;AA1FZ,gGAA6F,CAAC,kCAAkC;AA0G5H,0GA1GK,qDAAyB,OA0GL;AAzG7B,0EAA0E;AAC1E,iIAA8H;AAyG1H,kHAzGK,qEAAiC,OAyGL;AAxGrC,iGAImE;AAqG/D,kGAxGA,qCAAiB,OAwGA;AAIjB,qGA3GA,wCAAoB,OA2GA;AAIpB,uGA9GA,0CAAsB,OA8GA;AA5G1B,iGAImE;AAiG/D,kGApGA,qCAAiB,OAoGA;AAIjB,yGAvGA,4CAAwB,OAuGA;AAIxB,uGA1GA,0CAAsB,OA0GA;AAxG1B,6FAIiE;AA6F7D,gGAhGA,iCAAe,OAgGA;AAIf,mGAnGA,oCAAkB,OAmGA;AAIlB,qGAtGA,sCAAoB,OAsGA;AApGxB,2FAIgE;AAyF5D,+FA5FA,+BAAc,OA4FA;AAId,kGA/FA,kCAAiB,OA+FA;AAIjB,oGAlGA,oCAAmB,OAkGA;AAhGvB,6EAGyD;AA8FrD,kIAhGA,2DAAiD,OAgGA;AA7FrD,wEAAqE;AA2H5D,oGA3HA,yCAAmB,OA2HA;AA1H5B,0DAAuD;AA+FnD,6FA/FK,2BAAY,OA+FL;AA7FhB,4DAIkC;AA0F9B,iGA7FA,gCAAgB,OA6FA;AAChB,wGA5FA,uCAAuB,OA4FA;AAzF3B,2DAAwD;AAqDpD,kGArDK,qCAAiB,OAqDL;AAnDrB,0DAOiC;AAyF7B,wGA9FA,sCAAuB,OA8FA;AACvB,iGA9FA,+BAAgB,OA8FA;AAChB,4GA9FA,0CAA2B,OA8FA;AAC3B,wHA9FA,sDAAuC,OA8FA;AAQvC,mHArGA,iDAAkC,OAqGA;AAhGtC,iKAGiG;AAgF7F,oIAlFA,yGAAmD,OAkFA;AAzEvD,wFAWgD;AAyE5C,8GAnFA,2DAA6B,OAmFA;AAC7B,kHAnFA,+DAAiC,OAmFA;AANjC,yGA5EA,sDAAwB,OA4EA;AACxB,yGA5EA,sDAAwB,OA4EA;AACxB,2GA5EA,wDAA0B,OA4EA;AAC1B,yGA5EA,sDAAwB,OA4EA;AACxB,kHA5EA,+DAAiC,OA4EA;AAIjC,gIA7EA,6EAA+C,OA6EA;AA1EnD,gFAA6E;AA8E/C,wGA9ErB,iDAAuB,OA8EqB;AA7ErD,mGAAgG;AA4D5F,qGA5DK,2CAAoB,OA4DL;AA3DxB,8EAA4E;AAyExE,kGAzEK,oCAAiB,OAyEL;AAxErB,kGAGqD;AA2CjD,iHA7CA,mEAAgC,OA6CA;AAChC,oHA7CA,sEAAmC,OA6CA;AAxCvC,qIAAkI;AA6C9H,qHA7CK,2EAAoC,OA6CL;AA3CxC,sHAAmH;AA0C/G,gHA1CK,iEAA+B,OA0CL;AAxCnC,+HAA4H;AA0CxH,mHA1CK,uEAAkC,OA0CL;AA8CtC,wFAAyF;AAwBrF,wGAxBK,6CAAuB,OAwBL;AAtB3B,2EAGuD;AAuBnD,mHAzBA,4CAAkC,OAyBA;AAClC,wGAzBA,iCAAuB,OAyBA;AAtB3B,sEAGkD;AAoB9C,8GAtBA,uCAA6B,OAsBA;AAC7B,kGAtBA,2BAAiB,OAsBA;AAnBrB,yEAGqD;AAiBjD,8GAnBA,uCAA6B,OAmBA;AAC7B,sGAnBA,+BAAqB,OAmBA;AAhBzB,sHAAmH;AAQ/G,mHARK,uEAAkC,OAQL;AANtC,4FAAyF;AAOrF,8GAPK,6DAA6B,OAOL;AALjC,8FAA2F;AAMvF,+GANK,+DAA8B,OAML"}
@@ -36,17 +36,14 @@ const timeDurationRegEx = /\b(\d+)(?:-)?\s*(year|month|week|day|hour|minute)s?\b
36
36
  */
37
37
  const rangeWithUnitsRegEx = /\b(\d+)\s*(?:-|to)\s*(\d+)\s*(year|month|week|day|hour|minute)s?\b/gi;
38
38
  /**
39
- * A regular expression that matches the provided year-related patterns. e.g. '2022', '2020-2024', '1950 to 2050'
40
- * Here's a breakdown of the regular expression:
39
+ * A regular expression that matches year-related patterns, such as '2022', '2020-2024', '1950 to 2050', or 'present'.
41
40
  *
42
- * - `\b`: Word boundary to ensure we match whole words and not substrings.
43
- * - `(?:\d{4}|present)`: A non-capturing group to match either a four-digit year (\d{4}) or the word "present".
44
- * - `(?:\s*(?:-|and|to)\s*(?:\d{4}|present))?`: An optional non-capturing group to match a range or conjunction with:
45
- * - `(?:-|and|to)`: A non-capturing group to match a hyphen (-), the word "and", or the word "to".
46
- * - `(?:\d{4}|present)`: A non-capturing group to match either a four-digit year or the word "present".
47
- * - `\b`: Word boundary to ensure we match whole words and not substrings.
41
+ * - `\b`: Word boundary to ensure whole word matches.
42
+ * - `(?:1[5-9]\d{2}|20\d{2}|21\d{2}|2200|present)`: Matches a year from 1500–1999, 2000–2099, 2100–2199, 2200, or the word "present".
43
+ * - `(?:\s*(?:-|and|to)\s*(?:1[5-9]\d{2}|20\d{2}|21\d{2}|2200|present))?`: Optionally matches a range connector ("-", "and", or "to") followed by another valid year or "present", allowing optional spaces.
44
+ * - `\b`: Word boundary to ensure whole word matches.
48
45
  */
49
- const yearRangeRegEx = /\b(?:\d{4}|present)(?:\s*(?:-|and|to)\s*(?:\d{4}|present))?\b/gi;
46
+ const yearRangeRegEx = /\b(?:1[5-9]\d{2}|20\d{2}|21\d{2}|2200|present)(?:\s*(?:-|and|to)\s*(?:1[5-9]\d{2}|20\d{2}|21\d{2}|2200|present))?\b/gi;
50
47
  /**
51
48
  * A regular expression that matches month names and abbreviations.
52
49
  * Matches full month names (e.g., January, February) and common abbreviations (e.g., Jan, Feb).
@@ -1 +1 @@
1
- {"version":3,"file":"matchDateTimeInfo.js","sourceRoot":"","sources":["../../../src/lib/checkTitleAndSnippetSearchability/matchDateTimeInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchDateTimeInfo.js","sourceRoot":"","sources":["../../../src/lib/checkTitleAndSnippetSearchability/matchDateTimeInfo.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const PROHIBITED_LIST: RegExp[];
9
9
  /**
10
10
  * array of item types that are supported by the Living Atlas
11
11
  */
12
- export declare const LIVING_ATLAS_SUPPORTED_ITEM_TYPES: readonly ["CityEngine Web Scene", "Dashboard", "Deep Learning Package", "Desktop Style", "Document Link", "Feature Collection", "Feature Service", "Image Service", "Map Service", "Project Package", "Raster function template", "Rule Package", "Scene Service", "StoryMap", "Style", "Vector Tile Service", "Web Experience", "Web Experience Template", "Web Map", "Web Mapping Application", "Web Scene", "WMS", "Group Layer"];
12
+ export declare const LIVING_ATLAS_SUPPORTED_ITEM_TYPES: readonly ["CityEngine Web Scene", "Dashboard", "Deep Learning Package", "Desktop Style", "Document Link", "Feature Collection", "Feature Service", "Image Service", "Map Service", "Project Package", "Raster function template", "Rule Package", "Scene Service", "StoryMap", "Style", "Vector Tile Service", "Web Experience", "Web Experience Template", "Web Map", "Web Mapping Application", "Web Scene", "WMS", "Group Layer", "Geoprocessing Sample"];
13
13
  /**
14
14
  * Type definition for Living Atlas supported item types.
15
15
  */
@@ -162,6 +162,12 @@ exports.LIVING_ATLAS_SUPPORTED_ITEM_TYPES = [
162
162
  // * https://www.arcgis.com/home/item.html?id=388cc480a7894f64ae8d42663de32e89
163
163
  // */
164
164
  // 'Media Layer',
165
+ /**
166
+ * @example
167
+ * https://www.arcgis.com/home/item.html?id=fe221371b77940749ff96e90f2de3d10
168
+ *
169
+ */
170
+ 'Geoprocessing Sample',
165
171
  ];
166
172
  // export default config;
167
173
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";AAAA,mBAAmB;AACnB,qDAAqD;AACrD,8BAA8B;AAC9B,sCAAsC;AACtC,gDAAgD;AAChD,0CAA0C;AAC1C,sCAAsC;AACtC,kCAAkC;AAClC,0CAA0C;AAC1C,4DAA4D;AAC5D,oCAAoC;AACpC,sDAAsD;AACtD,sCAAsC;AACtC,6BAA6B;AAC7B,sBAAsB;AACtB,sCAAsC;AACtC,kDAAkD;AAClD,wCAAwC;AACxC,0DAA0D;AAC1D,0BAA0B;AAC1B,0DAA0D;AAC1D,8BAA8B;AAC9B,kBAAkB;AAClB,yDAAyD;AACzD,yCAAyC;AACzC,mDAAmD;AACnD,qCAAqC;AACrC,KAAK;;;AAEL;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;GAEG;AACU,QAAA,eAAe,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,iCAAiC,GAAG;IAC7C;;;OAGG;IACH,sBAAsB;IACtB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,uBAAuB;IACvB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,eAAe;IACf,oBAAoB;IACpB;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,aAAa;IACb;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,0BAA0B;IAC1B;;;OAGG;IACH,cAAc;IACd;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,UAAU;IACV;;;OAGG;IACH,OAAO;IACP;;;OAGG;IACH,qBAAqB;IACrB;;;OAGG;IACH,gBAAgB;IAChB;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,SAAS;IACT;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,KAAK;IACL;;;OAGG;IACH,aAAa;IACb,MAAM;IACN,cAAc;IACd,+EAA+E;IAC/E,MAAM;IACN,iBAAiB;CACX,CAAC;AAQX,yBAAyB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";AAAA,mBAAmB;AACnB,qDAAqD;AACrD,8BAA8B;AAC9B,sCAAsC;AACtC,gDAAgD;AAChD,0CAA0C;AAC1C,sCAAsC;AACtC,kCAAkC;AAClC,0CAA0C;AAC1C,4DAA4D;AAC5D,oCAAoC;AACpC,sDAAsD;AACtD,sCAAsC;AACtC,6BAA6B;AAC7B,sBAAsB;AACtB,sCAAsC;AACtC,kDAAkD;AAClD,wCAAwC;AACxC,0DAA0D;AAC1D,0BAA0B;AAC1B,0DAA0D;AAC1D,8BAA8B;AAC9B,kBAAkB;AAClB,yDAAyD;AACzD,yCAAyC;AACzC,mDAAmD;AACnD,qCAAqC;AACrC,KAAK;;;AAEL;;GAEG;AACU,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;GAEG;AACU,QAAA,eAAe,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,iCAAiC,GAAG;IAC7C;;;OAGG;IACH,sBAAsB;IACtB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,uBAAuB;IACvB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,eAAe;IACf,oBAAoB;IACpB;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,aAAa;IACb;;;OAGG;IACH,iBAAiB;IACjB;;;OAGG;IACH,0BAA0B;IAC1B;;;OAGG;IACH,cAAc;IACd;;;OAGG;IACH,eAAe;IACf;;;OAGG;IACH,UAAU;IACV;;;OAGG;IACH,OAAO;IACP;;;OAGG;IACH,qBAAqB;IACrB;;;OAGG;IACH,gBAAgB;IAChB;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,SAAS;IACT;;;OAGG;IACH,yBAAyB;IACzB;;;OAGG;IACH,WAAW;IACX;;;OAGG;IACH,KAAK;IACL;;;OAGG;IACH,aAAa;IACb,MAAM;IACN,cAAc;IACd,+EAA+E;IAC/E,MAAM;IACN,iBAAiB;IACjB;;;;OAIG;IACH,sBAAsB;CAChB,CAAC;AAQX,yBAAyB"}
@@ -1,4 +1,8 @@
1
1
  import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ * requires 90% of field aliases to be present to receive a full score
4
+ */
5
+ export declare const FIELD_ALIASES_REQUIRED_PERCENT = 0.9;
2
6
  /**
3
7
  * Validates that feature layer fields have appropriate aliases.
4
8
  *
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkFeatureServiceFieldAliases = void 0;
3
+ exports.checkFeatureServiceFieldAliases = exports.FIELD_ALIASES_REQUIRED_PERCENT = void 0;
4
4
  const getRelevantFeatureLayerFields_1 = require("../util/getRelevantFeatureLayerFields");
5
5
  const isFeatureService_1 = require("../util/isFeatureService");
6
6
  const stringsConfig_1 = require("../util/stringsConfig");
7
+ const helpers_1 = require("./helpers");
7
8
  const scoringConfig_1 = require("./scoringConfig");
9
+ /**
10
+ * requires 90% of field aliases to be present to receive a full score
11
+ */
12
+ exports.FIELD_ALIASES_REQUIRED_PERCENT = 0.9;
8
13
  /**
9
14
  * Validates that feature layer fields have appropriate aliases.
10
15
  *
@@ -58,25 +63,28 @@ const checkFeatureServiceFieldAliases = (item, featureLayers) => {
58
63
  });
59
64
  return validationResult;
60
65
  }
61
- // get the count of fields with aliases
62
- const countOfFieldsWithAlias = relevantFields.filter((field) => field.alias).length;
63
- const percentWithAlias = countOfFieldsWithAlias / relevantFields.length;
64
- // if percentWithAlias is 0, then there are no fields with aliases
65
- // it should receive a score of 0 and a message to add field aliases
66
- if (percentWithAlias === 0) {
67
- validationResult.messages.push({
68
- message: strings.featureLayerFieldAliases.ADD_FIELD_ALIAS,
69
- });
70
- return validationResult;
71
- }
72
- // if percentWithAlias is less than 0.8, then there are some fields with aliases
66
+ // // get the count of fields with aliases
67
+ // const countOfFieldsWithAlias = relevantFields.filter((field) => {
68
+ // const alias = field.alias ? field.alias.trim().toLowerCase() : '';
69
+ // return alias && alias !== field.name.toLowerCase();
70
+ // }).length;
71
+ // const percentWithAlias = countOfFieldsWithAlias / relevantFields.length;
72
+ const percentWithAlias = (0, helpers_1.getPercentOfValidFieldAliases)(relevantFields);
73
+ // // if percentWithAlias is 0, then there are no fields with aliases
74
+ // // it should receive a score of 0 and a message to add field aliases
75
+ // if (percentWithAlias === 0) {
76
+ // validationResult.messages.push({
77
+ // message: strings.featureLayerFieldAliases.ADD_FIELD_ALIAS,
78
+ // });
79
+ // return validationResult;
80
+ // }
81
+ // if percentWithAlias is less than 0.9, then there are some fields with aliases
73
82
  // it should receive half of score and a message to improve field aliases
74
- if (percentWithAlias < 0.8) {
83
+ if (percentWithAlias < exports.FIELD_ALIASES_REQUIRED_PERCENT) {
75
84
  validationResult.messages.push({
76
85
  message: strings.featureLayerFieldAliases.IMPROVE_FIELD_ALIAS,
77
86
  });
78
- validationResult.scoringFactor =
79
- scoringFactors.CONTAINS_FIELD_ALIASES / 2;
87
+ validationResult.scoringFactor = 0;
80
88
  return validationResult;
81
89
  }
82
90
  // if percentWithAlias is greater than 0.8, then there are most fields with aliases
@@ -1 +1 @@
1
- {"version":3,"file":"checkFeatureServiceFieldAliases.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,+BAA+B,GAAG,CAC3C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,+BAA+B;QACjD,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,gBAAgB;SAC7D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,uCAAuC;IACvC,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CACzB,CAAC,MAAM,CAAC;IAET,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAAC;IAExE,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACzB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,eAAe;SAC5D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;QACzB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,mBAAmB;SAChE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa;YAC1B,cAAc,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AA9EW,QAAA,+BAA+B,mCA8E1C"}
1
+ {"version":3,"file":"checkFeatureServiceFieldAliases.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA0D;AAC1D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,+BAA+B,GAAG,CAC3C,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,+BAA+B;QACjD,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,KAAK;QAC7C,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,gBAAgB;SAC7D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,oEAAoE;IACpE,yEAAyE;IACzE,0DAA0D;IAC1D,aAAa;IAEb,2EAA2E;IAE3E,MAAM,gBAAgB,GAAG,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IAEvE,qEAAqE;IACrE,uEAAuE;IACvE,gCAAgC;IAChC,uCAAuC;IACvC,qEAAqE;IACrE,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,gFAAgF;IAChF,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,sCAA8B,EAAE,CAAC;QACpD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,mBAAmB;SAChE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,mFAAmF;IACnF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAhFW,QAAA,+BAA+B,mCAgF1C"}
@@ -0,0 +1,19 @@
1
+ import { FeatureLayerFieldFormatted } from '../../types';
2
+ /**
3
+ * Determines if a field alias is valid based on the following criteria:
4
+ * - `alias` must be present and non-empty.
5
+ * - The trimmed, lowercased `alias` must not be empty.
6
+ * - The trimmed, lowercased `alias` must not be identical to the trimmed, lowercased `name`.
7
+ *
8
+ * @param fieldInfo - The field information object containing `alias` and `name` properties.
9
+ * @returns `true` if the alias is valid, otherwise `false`.
10
+ */
11
+ export declare const isValidFieldAlias: (fieldInfo: FeatureLayerFieldFormatted) => boolean;
12
+ /**
13
+ * Calculates the percentage of fields that have a valid alias.
14
+ *
15
+ * @param fields - An array of formatted feature layer fields to check.
16
+ * @returns The percentage (as a number between 0 and 1) of fields with a valid alias.
17
+ * Returns 0 if the input array is empty, not an array, or undefined.
18
+ */
19
+ export declare const getPercentOfValidFieldAliases: (fields: FeatureLayerFieldFormatted[]) => number;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPercentOfValidFieldAliases = exports.isValidFieldAlias = void 0;
4
+ /**
5
+ * Determines if a field alias is valid based on the following criteria:
6
+ * - `alias` must be present and non-empty.
7
+ * - The trimmed, lowercased `alias` must not be empty.
8
+ * - The trimmed, lowercased `alias` must not be identical to the trimmed, lowercased `name`.
9
+ *
10
+ * @param fieldInfo - The field information object containing `alias` and `name` properties.
11
+ * @returns `true` if the alias is valid, otherwise `false`.
12
+ */
13
+ const isValidFieldAlias = (fieldInfo) => {
14
+ const alias = (fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.alias) || '';
15
+ const name = (fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.name) || '';
16
+ if (!alias) {
17
+ return false; // no alias
18
+ }
19
+ const trimmedAlias = alias.trim().toLowerCase();
20
+ const trimmedName = name.trim().toLowerCase();
21
+ if (!trimmedAlias) {
22
+ return false; // alias is empty
23
+ }
24
+ if (trimmedAlias === trimmedName) {
25
+ return false; // alias is the same as name
26
+ }
27
+ return true; // valid alias
28
+ };
29
+ exports.isValidFieldAlias = isValidFieldAlias;
30
+ /**
31
+ * Calculates the percentage of fields that have a valid alias.
32
+ *
33
+ * @param fields - An array of formatted feature layer fields to check.
34
+ * @returns The percentage (as a number between 0 and 1) of fields with a valid alias.
35
+ * Returns 0 if the input array is empty, not an array, or undefined.
36
+ */
37
+ const getPercentOfValidFieldAliases = (fields) => {
38
+ if (!fields || !Array.isArray(fields) || fields.length === 0) {
39
+ return 0; // no fields to check
40
+ }
41
+ const countOfFieldsWithValidAlias = fields.filter((field) => {
42
+ return (0, exports.isValidFieldAlias)(field);
43
+ }).length;
44
+ const percentWithAlias = countOfFieldsWithValidAlias / fields.length;
45
+ return percentWithAlias;
46
+ };
47
+ exports.getPercentOfValidFieldAliases = getPercentOfValidFieldAliases;
48
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/helpers.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACI,MAAM,iBAAiB,GAAG,CAC7B,SAAqC,EAC9B,EAAE;IACT,MAAM,KAAK,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC,CAAC,WAAW;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,iBAAiB;IACnC,CAAC;IAED,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,4BAA4B;IAC9C,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,cAAc;AAC/B,CAAC,CAAC;AAtBW,QAAA,iBAAiB,qBAsB5B;AAEF;;;;;;GAMG;AACI,MAAM,6BAA6B,GAAG,CACzC,MAAoC,EAC9B,EAAE;IACR,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,CAAC,CAAC,qBAAqB;IACnC,CAAC;IAED,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACxD,OAAO,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEV,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IAErE,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAdW,QAAA,6BAA6B,iCAcxC"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.scoringConfig = void 0;
5
5
  exports.scoringConfig = {
6
- weight: 1,
6
+ weight: 8,
7
7
  scoringFactors: {
8
8
  DEFAULT: {
9
9
  CONTAINS_FIELD_ALIASES: 1,
@@ -1,4 +1,8 @@
1
1
  import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ * requires 90% of field descriptions to be present to receive a full score
4
+ */
5
+ export declare const FIELD_DESCRIPTIONS_REQUIRED_PERCENT = 0.9;
2
6
  /**
3
7
  * Validates that relevant fields in the provided feature layers have descriptions.
4
8
  *
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkFeatureServiceFieldDescriptions = void 0;
3
+ exports.checkFeatureServiceFieldDescriptions = exports.FIELD_DESCRIPTIONS_REQUIRED_PERCENT = void 0;
4
4
  const getRelevantFeatureLayerFields_1 = require("../util/getRelevantFeatureLayerFields");
5
5
  const isFeatureService_1 = require("../util/isFeatureService");
6
6
  const stringsConfig_1 = require("../util/stringsConfig");
7
+ const helpers_1 = require("./helpers");
7
8
  const scoringConfig_1 = require("./scoringConfig");
9
+ /**
10
+ * requires 90% of field descriptions to be present to receive a full score
11
+ */
12
+ exports.FIELD_DESCRIPTIONS_REQUIRED_PERCENT = 0.9;
8
13
  /**
9
14
  * Validates that relevant fields in the provided feature layers have descriptions.
10
15
  *
@@ -60,27 +65,41 @@ const checkFeatureServiceFieldDescriptions = (item, featureLayers) => {
60
65
  });
61
66
  return validationResult;
62
67
  }
63
- // get the count of fields with descriptions provided
64
- const countOfFieldsWithDescription = relevantFields
65
- .filter((field) => field.description)
66
- .filter((field) => { var _a; return (_a = field.description) === null || _a === void 0 ? void 0 : _a.value; }).length;
67
- const percentWithDescription = countOfFieldsWithDescription / relevantFields.length;
68
- // if percentWithDescription is 0, then there are no fields with aliases
69
- // it should receive a score of 0 and a message to add field aliases
70
- if (percentWithDescription === 0) {
71
- validationResult.messages.push({
72
- message: strings.featureLayerFieldDescriptions.ADD_FIELD_DESCRIPTION,
73
- });
74
- return validationResult;
75
- }
76
- // if percentWithDescription is less than 0.8, then there are some fields with aliases
68
+ // // get the count of fields with descriptions provided
69
+ // const countOfFieldsWithDescription = relevantFields
70
+ // .filter((field) => field.description)
71
+ // .filter((field) => {
72
+ // const value = field.description?.value
73
+ // ? field.description?.value.trim().toLowerCase()
74
+ // : '';
75
+ // const fieldAlias = field.alias
76
+ // ? field.alias.trim().toLowerCase()
77
+ // : '';
78
+ // return (
79
+ // value &&
80
+ // value !== field.name.toLowerCase() &&
81
+ // value !== fieldAlias
82
+ // );
83
+ // }).length;
84
+ // const percentWithDescription =
85
+ // countOfFieldsWithDescription / relevantFields.length;
86
+ const percentWithDescription = (0, helpers_1.getPercentOfValidFieldDescriptions)(relevantFields);
87
+ // // if percentWithDescription is 0, then there are no fields with aliases
88
+ // // it should receive a score of 0 and a message to add field aliases
89
+ // if (percentWithDescription === 0) {
90
+ // validationResult.messages.push({
91
+ // message:
92
+ // strings.featureLayerFieldDescriptions.ADD_FIELD_DESCRIPTION,
93
+ // });
94
+ // return validationResult;
95
+ // }
96
+ // if percentWithDescription is less than 0.9, then there are some fields with aliases
77
97
  // it should receive half of score and a message to improve field aliases
78
- if (percentWithDescription < 0.8) {
98
+ if (percentWithDescription < exports.FIELD_DESCRIPTIONS_REQUIRED_PERCENT) {
79
99
  validationResult.messages.push({
80
100
  message: strings.featureLayerFieldDescriptions.IMRPOVE_FIELD_DESCRIPTION,
81
101
  });
82
- validationResult.scoringFactor =
83
- scoringFactors.CONTAINS_FIELD_DESCRIPTIONS / 2;
102
+ validationResult.scoringFactor = 0;
84
103
  return validationResult;
85
104
  }
86
105
  // if percentWithDescription is greater than 0.8, then there are most fields with aliases
@@ -1 +1 @@
1
- {"version":3,"file":"checkFeatureServiceFieldDescriptions.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkFeatureServiceFieldDescriptions.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,uCAA+D;AAC/D,mDAAgD;AAEhD;;GAEG;AACU,QAAA,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,oCAAoC,GAAG,CAChD,IAAW,EACX,aAAiC,EACnB,EAAE;IAChB,MAAM,OAAO,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC;IAE5D,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,oCAAoC;QACtD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,KAAK;QAClD,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,uGAAuG;IACvG,sCAAsC;IACtC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,uCACO,gBAAgB,KACnB,MAAM,EAAE,CAAC,IACX;IACN,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,gBAAgB;SAClE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,iEAAiE;IACjE,6EAA6E;IAC7E,6DAA6D;IAC7D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,iBAAiB;SACnE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,sDAAsD;IACtD,4CAA4C;IAC5C,2BAA2B;IAC3B,iDAAiD;IACjD,8DAA8D;IAC9D,oBAAoB;IAEpB,yCAAyC;IACzC,iDAAiD;IACjD,oBAAoB;IAEpB,mBAAmB;IACnB,uBAAuB;IACvB,oDAAoD;IACpD,mCAAmC;IACnC,aAAa;IACb,iBAAiB;IAEjB,iCAAiC;IACjC,4DAA4D;IAE5D,MAAM,sBAAsB,GACxB,IAAA,4CAAkC,EAAC,cAAc,CAAC,CAAC;IAEvD,2EAA2E;IAC3E,uEAAuE;IACvE,sCAAsC;IACtC,uCAAuC;IACvC,mBAAmB;IACnB,2EAA2E;IAC3E,UAAU;IACV,+BAA+B;IAC/B,IAAI;IAEJ,sFAAsF;IACtF,yEAAyE;IACzE,IAAI,sBAAsB,GAAG,2CAAmC,EAAE,CAAC;QAC/D,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EACH,OAAO,CAAC,6BAA6B,CAAC,yBAAyB;SACtE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,yFAAyF;IACzF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AApGW,QAAA,oCAAoC,wCAoG/C"}
@@ -0,0 +1,20 @@
1
+ import { FeatureLayerFieldFormatted } from '../../types';
2
+ /**
3
+ * Determines if a field's description is valid.
4
+ *
5
+ * A valid description must:
6
+ * - Exist and not be empty after trimming.
7
+ * - Not be identical (case-insensitive, trimmed) to the field's name or alias.
8
+ *
9
+ * @param fieldInfo - The field information object containing description, name, and alias.
10
+ * @returns `true` if the description is valid, otherwise `false`.
11
+ */
12
+ export declare const isValidFieldDescription: (fieldInfo: FeatureLayerFieldFormatted) => boolean;
13
+ /**
14
+ * Calculates the percentage of fields that have a valid description.
15
+ *
16
+ * @param fields - An array of formatted feature layer fields to check.
17
+ * @returns The percentage (as a number between 0 and 1) of fields with a valid description.
18
+ * Returns 0 if the input array is empty, not an array, or undefined.
19
+ */
20
+ export declare const getPercentOfValidFieldDescriptions: (fields: FeatureLayerFieldFormatted[]) => number;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPercentOfValidFieldDescriptions = exports.isValidFieldDescription = void 0;
4
+ /**
5
+ * Determines if a field's description is valid.
6
+ *
7
+ * A valid description must:
8
+ * - Exist and not be empty after trimming.
9
+ * - Not be identical (case-insensitive, trimmed) to the field's name or alias.
10
+ *
11
+ * @param fieldInfo - The field information object containing description, name, and alias.
12
+ * @returns `true` if the description is valid, otherwise `false`.
13
+ */
14
+ const isValidFieldDescription = (fieldInfo) => {
15
+ var _a;
16
+ const description = ((_a = fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.description) === null || _a === void 0 ? void 0 : _a.value) || '';
17
+ const name = (fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.name) || '';
18
+ const alias = (fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.alias) || '';
19
+ if (!description) {
20
+ return false; // no description
21
+ }
22
+ const trimmedDescription = description.trim().toLowerCase();
23
+ const trimmedName = name.trim().toLowerCase();
24
+ const trimmedAlias = alias.trim().toLowerCase();
25
+ if (!trimmedDescription) {
26
+ return false; // description is empty
27
+ }
28
+ if (trimmedDescription === trimmedName ||
29
+ trimmedDescription === trimmedAlias) {
30
+ return false; // description is the same as name
31
+ }
32
+ return true; // valid description
33
+ };
34
+ exports.isValidFieldDescription = isValidFieldDescription;
35
+ /**
36
+ * Calculates the percentage of fields that have a valid description.
37
+ *
38
+ * @param fields - An array of formatted feature layer fields to check.
39
+ * @returns The percentage (as a number between 0 and 1) of fields with a valid description.
40
+ * Returns 0 if the input array is empty, not an array, or undefined.
41
+ */
42
+ const getPercentOfValidFieldDescriptions = (fields) => {
43
+ if (!fields || !Array.isArray(fields) || fields.length === 0) {
44
+ return 0; // no fields to check
45
+ }
46
+ const countOfFieldsWithValidAlias = fields.filter((field) => {
47
+ return (0, exports.isValidFieldDescription)(field);
48
+ }).length;
49
+ const percentWithAlias = countOfFieldsWithValidAlias / fields.length;
50
+ return percentWithAlias;
51
+ };
52
+ exports.getPercentOfValidFieldDescriptions = getPercentOfValidFieldDescriptions;
53
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/helpers.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;GASG;AACI,MAAM,uBAAuB,GAAG,CACnC,SAAqC,EAC9B,EAAE;;IACT,MAAM,WAAW,GAAG,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,0CAAE,KAAK,KAAI,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,EAAE,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,CAAC,iBAAiB;IACnC,CAAC;IAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEhD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,CAAC,uBAAuB;IACzC,CAAC;IAED,IACI,kBAAkB,KAAK,WAAW;QAClC,kBAAkB,KAAK,YAAY,EACrC,CAAC;QACC,OAAO,KAAK,CAAC,CAAC,kCAAkC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,oBAAoB;AACrC,CAAC,CAAC;AA3BW,QAAA,uBAAuB,2BA2BlC;AAEF;;;;;;GAMG;AACI,MAAM,kCAAkC,GAAG,CAC9C,MAAoC,EAC9B,EAAE;IACR,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,CAAC,CAAC,qBAAqB;IACnC,CAAC;IAED,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACxD,OAAO,IAAA,+BAAuB,EAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC,MAAM,CAAC;IAEV,MAAM,gBAAgB,GAAG,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IAErE,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAdW,QAAA,kCAAkC,sCAc7C"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.scoringConfig = void 0;
5
5
  exports.scoringConfig = {
6
- weight: 1,
6
+ weight: 2,
7
7
  scoringFactors: {
8
8
  DEFAULT: {
9
9
  CONTAINS_FIELD_DESCRIPTIONS: 1,
@@ -1,4 +1,8 @@
1
1
  import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
2
+ /**
3
+ * requires 90% of field value types to be present to receive a full score
4
+ */
5
+ export declare const FIELD_VALUE_TYPES_REQUIRED_PERCENT = 0.9;
2
6
  /**
3
7
  * Validates the presence and completeness of `fieldValueType` descriptions for relevant fields
4
8
  * in the provided feature layers of an ArcGIS item. The validation assigns a scoring factor based