@vannizhang/living-atlas-content-validator 1.5.19-beta.2 → 1.5.19-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +338 -55
- package/dist/configureSettings.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/accessInformation/isValidAccessInformation.js +6 -9
- package/dist/lib/accessInformation/isValidAccessInformation.js.map +1 -1
- package/dist/lib/accessInformation/scoringConfig.d.ts +1 -1
- package/dist/lib/accessInformation/scoringConfig.js +1 -1
- package/dist/lib/accessInformation/scoringConfig.js.map +1 -1
- package/dist/lib/checkProfanities/checkProfanities.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/checkTitleAndSnippetSearchability.js +7 -7
- package/dist/lib/checkTitleAndSnippetSearchability/checkTitleAndSnippetSearchability.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/helpers.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/matchDateTimeInfo.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/matchLocationInfo.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/matchSourceInfo.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/matchTopicInfo.js.map +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/scoringConfig.d.ts +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/scoringConfig.js +1 -1
- package/dist/lib/checkTitleAndSnippetSearchability/scoringConfig.js.map +1 -1
- package/dist/lib/deleteProtection/isDeleteProtectionEnabled.js +8 -8
- package/dist/lib/deleteProtection/isDeleteProtectionEnabled.js.map +1 -1
- package/dist/lib/deleteProtection/scoringConfig.d.ts +1 -1
- package/dist/lib/deleteProtection/scoringConfig.js +1 -1
- package/dist/lib/deleteProtection/scoringConfig.js.map +1 -1
- package/dist/lib/deprecated/isDeprecated.js +8 -9
- package/dist/lib/deprecated/isDeprecated.js.map +1 -1
- package/dist/lib/deprecated/scoringConfig.d.ts +1 -1
- package/dist/lib/deprecated/scoringConfig.js +1 -1
- package/dist/lib/deprecated/scoringConfig.js.map +1 -1
- package/dist/lib/description/findDataSource.js.map +1 -1
- package/dist/lib/description/isValidDescription.js +23 -41
- package/dist/lib/description/isValidDescription.js.map +1 -1
- package/dist/lib/description/scoringConfig.d.ts +1 -1
- package/dist/lib/description/scoringConfig.js +1 -1
- package/dist/lib/description/scoringConfig.js.map +1 -1
- package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.d.ts +22 -0
- package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js +87 -0
- package/dist/lib/featureServiceFieldAliases/checkFeatureServiceFieldAliases.js.map +1 -0
- package/dist/lib/featureServiceFieldAliases/scoringConfig.d.ts +8 -0
- package/dist/lib/featureServiceFieldAliases/scoringConfig.js +13 -0
- package/dist/lib/featureServiceFieldAliases/scoringConfig.js.map +1 -0
- package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.d.ts +21 -0
- package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js +89 -0
- package/dist/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.js.map +1 -0
- package/dist/lib/featureServiceFieldDescriptions/scoringConfig.d.ts +8 -0
- package/dist/lib/featureServiceFieldDescriptions/scoringConfig.js +13 -0
- package/dist/lib/featureServiceFieldDescriptions/scoringConfig.js.map +1 -0
- package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.d.ts +18 -0
- package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js +86 -0
- package/dist/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.js.map +1 -0
- package/dist/lib/featureServiceFieldValueTypes/scoringConfig.d.ts +8 -0
- package/dist/lib/featureServiceFieldValueTypes/scoringConfig.js +13 -0
- package/dist/lib/featureServiceFieldValueTypes/scoringConfig.js.map +1 -0
- package/dist/lib/licenseInfo/isValidLicenseInfo.js +16 -23
- package/dist/lib/licenseInfo/isValidLicenseInfo.js.map +1 -1
- package/dist/lib/licenseInfo/scoringConfig.d.ts +1 -1
- package/dist/lib/licenseInfo/scoringConfig.js +1 -1
- package/dist/lib/licenseInfo/scoringConfig.js.map +1 -1
- package/dist/lib/sharing/isValidAccess.js +13 -14
- package/dist/lib/sharing/isValidAccess.js.map +1 -1
- package/dist/lib/sharing/scoringConfig.d.ts +1 -1
- package/dist/lib/sharing/scoringConfig.js +1 -1
- package/dist/lib/sharing/scoringConfig.js.map +1 -1
- package/dist/lib/ssl/isValidSSL.js +12 -12
- package/dist/lib/ssl/isValidSSL.js.map +1 -1
- package/dist/lib/ssl/scoringConfig.d.ts +1 -1
- package/dist/lib/ssl/scoringConfig.js +1 -1
- package/dist/lib/ssl/scoringConfig.js.map +1 -1
- package/dist/lib/summary/isValidSummary.js +32 -31
- package/dist/lib/summary/isValidSummary.js.map +1 -1
- package/dist/lib/summary/scoringConfig.d.ts +1 -1
- package/dist/lib/summary/scoringConfig.js +1 -1
- package/dist/lib/summary/scoringConfig.js.map +1 -1
- package/dist/lib/tags/isValidTags.js +15 -21
- package/dist/lib/tags/isValidTags.js.map +1 -1
- package/dist/lib/tags/scoringConfig.d.ts +1 -1
- package/dist/lib/tags/scoringConfig.js +1 -1
- package/dist/lib/tags/scoringConfig.js.map +1 -1
- package/dist/lib/thumbnail/isValidThumbnail.js +16 -34
- package/dist/lib/thumbnail/isValidThumbnail.js.map +1 -1
- package/dist/lib/thumbnail/scoringConfig.d.ts +1 -1
- package/dist/lib/thumbnail/scoringConfig.js +1 -1
- package/dist/lib/thumbnail/scoringConfig.js.map +1 -1
- package/dist/lib/title/isValidTitle.js +34 -34
- package/dist/lib/title/isValidTitle.js.map +1 -1
- package/dist/lib/title/scoringConfig.d.ts +1 -1
- package/dist/lib/title/scoringConfig.js +1 -1
- package/dist/lib/title/scoringConfig.js.map +1 -1
- package/dist/lib/userProfileDescription/isValidUserProfileDescription.js +31 -32
- package/dist/lib/userProfileDescription/isValidUserProfileDescription.js.map +1 -1
- package/dist/lib/userProfileDescription/scoringConfig.d.ts +1 -1
- package/dist/lib/userProfileDescription/scoringConfig.js +1 -1
- package/dist/lib/userProfileDescription/scoringConfig.js.map +1 -1
- package/dist/lib/userProfileName/isValidUserProfileName.js +14 -14
- package/dist/lib/userProfileName/isValidUserProfileName.js.map +1 -1
- package/dist/lib/userProfileName/scoringConfig.d.ts +1 -1
- package/dist/lib/userProfileName/scoringConfig.js +1 -1
- package/dist/lib/userProfileName/scoringConfig.js.map +1 -1
- package/dist/lib/userProfileThumbnail/isValidUserProfileThumbnail.js +10 -10
- package/dist/lib/userProfileThumbnail/isValidUserProfileThumbnail.js.map +1 -1
- package/dist/lib/userProfileThumbnail/scoringConfig.d.ts +1 -1
- package/dist/lib/userProfileThumbnail/scoringConfig.js +1 -1
- package/dist/lib/userProfileThumbnail/scoringConfig.js.map +1 -1
- package/dist/lib/util/containsNonEnglishCharacters.js.map +1 -1
- package/dist/lib/util/countSentences.js.map +1 -1
- package/dist/lib/util/createWordBoundaryRegex.js.map +1 -1
- package/dist/lib/util/escapeSpecialCharacters.js.map +1 -1
- package/dist/lib/util/getAllValidationRuleIds.d.ts +6 -0
- package/dist/lib/util/getAllValidationRuleIds.js +13 -0
- package/dist/lib/util/getAllValidationRuleIds.js.map +1 -0
- package/dist/lib/util/getLivingAtlasSupportedItemTypes.js.map +1 -1
- package/dist/lib/util/getNumberOfWords.js.map +1 -1
- package/dist/lib/util/getRelevantFeatureLayerFields.d.ts +13 -0
- package/dist/lib/util/getRelevantFeatureLayerFields.js +45 -0
- package/dist/lib/util/getRelevantFeatureLayerFields.js.map +1 -0
- package/dist/lib/util/getScoringRules.js.map +1 -1
- package/dist/lib/util/getThumbnailFileName.js.map +1 -1
- package/dist/lib/util/isArcGISDomain.js.map +1 -1
- package/dist/lib/util/isEmpty.js.map +1 -1
- package/dist/lib/util/isFeatureCollection.js +1 -1
- package/dist/lib/util/isFeatureCollection.js.map +1 -1
- package/dist/lib/util/isFeatureService.d.ts +8 -0
- package/dist/lib/util/isFeatureService.js +21 -0
- package/dist/lib/util/isFeatureService.js.map +1 -0
- package/dist/lib/util/isHosted.js.map +1 -1
- package/dist/lib/util/isSecureProtocol.js.map +1 -1
- package/dist/lib/util/isUppercase.js.map +1 -1
- package/dist/lib/util/isUrl.js.map +1 -1
- package/dist/lib/util/isValidRegexPattern.js.map +1 -1
- package/dist/lib/util/matches.js.map +1 -1
- package/dist/lib/util/round.js +1 -2
- package/dist/lib/util/round.js.map +1 -1
- package/dist/lib/util/sanitizeTags.js.map +1 -1
- package/dist/lib/util/shouldValidateByBetaRules.js.map +1 -1
- package/dist/lib/util/toString.js.map +1 -1
- package/dist/lib/validate/validate.d.ts +7 -2
- package/dist/lib/validate/validate.js +10 -1
- package/dist/lib/validate/validate.js.map +1 -1
- package/dist/lib/validate/validateHelpers.js +2 -2
- package/dist/lib/validate/validateHelpers.js.map +1 -1
- package/dist/locale/de.json +27 -0
- package/dist/locale/en.json +27 -0
- package/dist/locale/es.json +27 -0
- package/dist/locale/fr.json +27 -0
- package/dist/locale/ja.json +27 -0
- package/dist/locale/pt-br.json +27 -0
- package/dist/package-info.json +1 -1
- package/dist/services/content-validator-assets/fetchAdditonalPatterns4TitleAndSnippetSearchability.js +1 -1
- package/dist/services/content-validator-assets/fetchAdditonalPatterns4TitleAndSnippetSearchability.js.map +1 -1
- package/dist/services/content-validator-assets/fetchProfanitiesData.js +1 -1
- package/dist/services/content-validator-assets/fetchProfanitiesData.js.map +1 -1
- package/dist/services/content-validator-assets/helpers.js.map +1 -1
- package/dist/services/custom-terms/config.js +1 -1
- package/dist/services/custom-terms/config.js.map +1 -1
- package/dist/services/custom-terms/customTerms.js +10 -10
- package/dist/services/custom-terms/customTerms.js.map +1 -1
- package/dist/services/custom-terms/helpers.js.map +1 -1
- package/dist/services/custom-terms-review-results/config.js +1 -1
- package/dist/services/custom-terms-review-results/config.js.map +1 -1
- package/dist/services/custom-terms-review-results/customTermsReviewResults.js +4 -4
- package/dist/services/custom-terms-review-results/customTermsReviewResults.js.map +1 -1
- package/dist/services/custom-terms-review-results/helpers.js.map +1 -1
- package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.d.ts +9 -0
- package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.js +49 -0
- package/dist/services/feature-service/fetchFeatureServiceLayersAndTables.js.map +1 -0
- package/dist/services/shared/addFeatures.js +4 -4
- package/dist/services/shared/addFeatures.js.map +1 -1
- package/dist/services/shared/applyEdits.js +4 -4
- package/dist/services/shared/applyEdits.js.map +1 -1
- package/dist/services/shared/getItemInfo.js +1 -1
- package/dist/services/shared/getItemInfo.js.map +1 -1
- package/dist/types/index.d.ts +168 -29
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +5 -4
- package/dist/lib/accessInformation/scoringRulesConfig.d.ts +0 -0
- package/dist/lib/accessInformation/scoringRulesConfig.js +0 -36
- package/dist/lib/accessInformation/scoringRulesConfig.js.map +0 -1
- package/dist/lib/layers/scoringRulesConfig.d.ts +0 -0
- package/dist/lib/layers/scoringRulesConfig.js +0 -48
- package/dist/lib/layers/scoringRulesConfig.js.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkFeatureServiceFieldAliases = void 0;
|
|
4
|
+
const getRelevantFeatureLayerFields_1 = require("../util/getRelevantFeatureLayerFields");
|
|
5
|
+
const isFeatureService_1 = require("../util/isFeatureService");
|
|
6
|
+
const stringsConfig_1 = require("../util/stringsConfig");
|
|
7
|
+
const scoringConfig_1 = require("./scoringConfig");
|
|
8
|
+
/**
|
|
9
|
+
* Validates that feature layer fields have appropriate aliases.
|
|
10
|
+
*
|
|
11
|
+
* This function checks if the given item is a feature service and evaluates the presence of field aliases
|
|
12
|
+
* for relevant fields within the provided feature layers.
|
|
13
|
+
*
|
|
14
|
+
* It returns a `ValidationInfo` object containing the validation result, messages, and scoring information.
|
|
15
|
+
*
|
|
16
|
+
* The scoring logic is as follows:
|
|
17
|
+
* - If the item is not a feature layer, the rule does not contribute to the final score.
|
|
18
|
+
* - If there are no feature layers, a message is added and the result is returned.
|
|
19
|
+
* - If there are no relevant fields to check, the rule receives full score.
|
|
20
|
+
* - If none of the relevant fields have aliases, a message is added to prompt adding aliases.
|
|
21
|
+
* - If less than 80% of relevant fields have aliases, a message is added to prompt improvement and half score is given.
|
|
22
|
+
* - If at least 80% of relevant fields have aliases, the rule receives full score.
|
|
23
|
+
*
|
|
24
|
+
* @param item - The item to validate, typically representing a feature layer item.
|
|
25
|
+
* @param featureLayers - An array of JSON objects representing the feature layers published to this feature service to check for field aliases.
|
|
26
|
+
* @returns A `ValidationInfo` object containing the validation result, messages, and scoring.
|
|
27
|
+
*/
|
|
28
|
+
const checkFeatureServiceFieldAliases = (item, featureLayers) => {
|
|
29
|
+
const strings = (0, stringsConfig_1.getStringsConfig)();
|
|
30
|
+
const scoringFactors = scoringConfig_1.scoringConfig.scoringFactors.DEFAULT;
|
|
31
|
+
const validationResult = {
|
|
32
|
+
validationRuleId: 'feature-service-field-aliases',
|
|
33
|
+
label: strings.featureLayerFieldAliases.LABEL,
|
|
34
|
+
title: strings.featureLayerFieldAliases.TITLE,
|
|
35
|
+
maxScore: 0,
|
|
36
|
+
score: 0,
|
|
37
|
+
messages: [],
|
|
38
|
+
weight: scoringConfig_1.scoringConfig.weight,
|
|
39
|
+
scoringFactor: 0,
|
|
40
|
+
status: 'unknown',
|
|
41
|
+
isBinaryCheck: false,
|
|
42
|
+
};
|
|
43
|
+
// Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
|
|
44
|
+
// if the item is not a feature layer.
|
|
45
|
+
if (!(0, isFeatureService_1.isFeatureService)(item)) {
|
|
46
|
+
return Object.assign(Object.assign({}, validationResult), { weight: 0 });
|
|
47
|
+
}
|
|
48
|
+
if (!Array.isArray(featureLayers) || (featureLayers === null || featureLayers === void 0 ? void 0 : featureLayers.length) === 0) {
|
|
49
|
+
validationResult.messages.push({
|
|
50
|
+
message: strings.featureLayerFieldAliases.NO_FEATURE_LAYER,
|
|
51
|
+
});
|
|
52
|
+
return validationResult;
|
|
53
|
+
}
|
|
54
|
+
const relevantFields = (0, getRelevantFeatureLayerFields_1.getRelevantFeatureLayerFields)(featureLayers || []);
|
|
55
|
+
// should receive full score since there is no relevant field that needs to be checked
|
|
56
|
+
if (relevantFields.length === 0) {
|
|
57
|
+
validationResult.scoringFactor = scoringFactors.CONTAINS_FIELD_ALIASES;
|
|
58
|
+
return validationResult;
|
|
59
|
+
}
|
|
60
|
+
// get the count of fields with aliases
|
|
61
|
+
const countOfFieldsWithAlias = relevantFields.filter((field) => field.alias).length;
|
|
62
|
+
const percentWithAlias = countOfFieldsWithAlias / relevantFields.length;
|
|
63
|
+
// if percentWithAlias is 0, then there are no fields with aliases
|
|
64
|
+
// it should receive a score of 0 and a message to add field aliases
|
|
65
|
+
if (percentWithAlias === 0) {
|
|
66
|
+
validationResult.messages.push({
|
|
67
|
+
message: strings.featureLayerFieldAliases.ADD_FIELD_ALIAS,
|
|
68
|
+
});
|
|
69
|
+
return validationResult;
|
|
70
|
+
}
|
|
71
|
+
// if percentWithAlias is less than 0.8, then there are some fields with aliases
|
|
72
|
+
// it should receive half of score and a message to improve field aliases
|
|
73
|
+
if (percentWithAlias < 0.8) {
|
|
74
|
+
validationResult.messages.push({
|
|
75
|
+
message: strings.featureLayerFieldAliases.IMPROVE_FIELD_ALIAS,
|
|
76
|
+
});
|
|
77
|
+
validationResult.scoringFactor =
|
|
78
|
+
scoringFactors.CONTAINS_FIELD_ALIASES / 2;
|
|
79
|
+
return validationResult;
|
|
80
|
+
}
|
|
81
|
+
// if percentWithAlias is greater than 0.8, then there are most fields with aliases
|
|
82
|
+
// it should receive full score
|
|
83
|
+
validationResult.scoringFactor = 1;
|
|
84
|
+
return validationResult;
|
|
85
|
+
};
|
|
86
|
+
exports.checkFeatureServiceFieldAliases = checkFeatureServiceFieldAliases;
|
|
87
|
+
//# sourceMappingURL=checkFeatureServiceFieldAliases.js.map
|
|
@@ -0,0 +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,sFAAsF;IACtF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,aAAa,GAAG,cAAc,CAAC,sBAAsB,CAAC;QACvE,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;AA7EW,QAAA,+BAA+B,mCA6E1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { ScoringConfig } from '../../types';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.scoringConfig = void 0;
|
|
5
|
+
exports.scoringConfig = {
|
|
6
|
+
weight: 1,
|
|
7
|
+
scoringFactors: {
|
|
8
|
+
DEFAULT: {
|
|
9
|
+
CONTAINS_FIELD_ALIASES: 1,
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=scoringConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldAliases/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,cAAc,EAAE;QACZ,OAAO,EAAE;YACL,sBAAsB,EAAE,CAAC;SAC5B;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Validates that relevant fields in the provided feature layers have descriptions.
|
|
4
|
+
*
|
|
5
|
+
* This function checks if the given item is a feature service and evaluates the presence of field descriptions
|
|
6
|
+
* for relevant fields within the provided feature layers. It returns a `ValidationInfo` object containing
|
|
7
|
+
* the validation result, score, messages, and scoring factors based on the percentage of fields with descriptions.
|
|
8
|
+
*
|
|
9
|
+
* Scoring logic:
|
|
10
|
+
* - If the item is not a feature layer, the rule does not contribute to the final score.
|
|
11
|
+
* - If there are no feature layers, a message is added and the result is returned.
|
|
12
|
+
* - If there are no relevant fields, full score is given.
|
|
13
|
+
* - If no relevant fields have descriptions, a message is added and score is zero.
|
|
14
|
+
* - If less than 80% of relevant fields have descriptions, a message is added and half score is given.
|
|
15
|
+
* - If at least 80% of relevant fields have descriptions, full score is given.
|
|
16
|
+
*
|
|
17
|
+
* @param item - The item to validate, expected to be a feature layer item.
|
|
18
|
+
* @param featureLayers - An array of JSON objects representing the feature layers published to this feature service to check for field descriptions.
|
|
19
|
+
* @returns A `ValidationInfo` object containing the validation result, score, messages, and scoring factors.
|
|
20
|
+
*/
|
|
21
|
+
export declare const checkFeatureServiceFieldDescriptions: (item: IItem, featureLayers: FeatureLayerJSON[]) => ValidationInfo;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkFeatureServiceFieldDescriptions = void 0;
|
|
4
|
+
const getRelevantFeatureLayerFields_1 = require("../util/getRelevantFeatureLayerFields");
|
|
5
|
+
const isFeatureService_1 = require("../util/isFeatureService");
|
|
6
|
+
const stringsConfig_1 = require("../util/stringsConfig");
|
|
7
|
+
const scoringConfig_1 = require("./scoringConfig");
|
|
8
|
+
/**
|
|
9
|
+
* Validates that relevant fields in the provided feature layers have descriptions.
|
|
10
|
+
*
|
|
11
|
+
* This function checks if the given item is a feature service and evaluates the presence of field descriptions
|
|
12
|
+
* for relevant fields within the provided feature layers. It returns a `ValidationInfo` object containing
|
|
13
|
+
* the validation result, score, messages, and scoring factors based on the percentage of fields with descriptions.
|
|
14
|
+
*
|
|
15
|
+
* Scoring logic:
|
|
16
|
+
* - If the item is not a feature layer, the rule does not contribute to the final score.
|
|
17
|
+
* - If there are no feature layers, a message is added and the result is returned.
|
|
18
|
+
* - If there are no relevant fields, full score is given.
|
|
19
|
+
* - If no relevant fields have descriptions, a message is added and score is zero.
|
|
20
|
+
* - If less than 80% of relevant fields have descriptions, a message is added and half score is given.
|
|
21
|
+
* - If at least 80% of relevant fields have descriptions, full score is given.
|
|
22
|
+
*
|
|
23
|
+
* @param item - The item to validate, expected to be a feature layer item.
|
|
24
|
+
* @param featureLayers - An array of JSON objects representing the feature layers published to this feature service to check for field descriptions.
|
|
25
|
+
* @returns A `ValidationInfo` object containing the validation result, score, messages, and scoring factors.
|
|
26
|
+
*/
|
|
27
|
+
const checkFeatureServiceFieldDescriptions = (item, featureLayers) => {
|
|
28
|
+
const strings = (0, stringsConfig_1.getStringsConfig)();
|
|
29
|
+
const scoringFactors = scoringConfig_1.scoringConfig.scoringFactors.DEFAULT;
|
|
30
|
+
const validationResult = {
|
|
31
|
+
validationRuleId: 'feature-service-field-descriptions',
|
|
32
|
+
label: strings.featureLayerFieldDescriptions.LABEL,
|
|
33
|
+
title: strings.featureLayerFieldDescriptions.TITLE,
|
|
34
|
+
maxScore: 0,
|
|
35
|
+
score: 0,
|
|
36
|
+
messages: [],
|
|
37
|
+
weight: scoringConfig_1.scoringConfig.weight,
|
|
38
|
+
scoringFactor: 0,
|
|
39
|
+
status: 'unknown',
|
|
40
|
+
isBinaryCheck: false,
|
|
41
|
+
};
|
|
42
|
+
// Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
|
|
43
|
+
// if the item is not a feature layer.
|
|
44
|
+
if (!(0, isFeatureService_1.isFeatureService)(item)) {
|
|
45
|
+
return Object.assign(Object.assign({}, validationResult), { weight: 0 });
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(featureLayers) || !featureLayers.length) {
|
|
48
|
+
validationResult.messages.push({
|
|
49
|
+
message: strings.featureLayerFieldDescriptions.NO_FEATURE_LAYER,
|
|
50
|
+
});
|
|
51
|
+
return validationResult;
|
|
52
|
+
}
|
|
53
|
+
const relevantFields = (0, getRelevantFeatureLayerFields_1.getRelevantFeatureLayerFields)(featureLayers || []);
|
|
54
|
+
// should receive full score since there is no relevant field that needs to be checked
|
|
55
|
+
if (relevantFields.length === 0) {
|
|
56
|
+
validationResult.scoringFactor =
|
|
57
|
+
scoringFactors.CONTAINS_FIELD_DESCRIPTIONS;
|
|
58
|
+
return validationResult;
|
|
59
|
+
}
|
|
60
|
+
// get the count of fields with descriptions provided
|
|
61
|
+
const countOfFieldsWithDescription = relevantFields
|
|
62
|
+
.filter((field) => field.description)
|
|
63
|
+
.filter((field) => { var _a; return (_a = field.description) === null || _a === void 0 ? void 0 : _a.value; }).length;
|
|
64
|
+
const percentWithDescription = countOfFieldsWithDescription / relevantFields.length;
|
|
65
|
+
// if percentWithDescription is 0, then there are no fields with aliases
|
|
66
|
+
// it should receive a score of 0 and a message to add field aliases
|
|
67
|
+
if (percentWithDescription === 0) {
|
|
68
|
+
validationResult.messages.push({
|
|
69
|
+
message: strings.featureLayerFieldDescriptions.ADD_FIELD_DESCRIPTION,
|
|
70
|
+
});
|
|
71
|
+
return validationResult;
|
|
72
|
+
}
|
|
73
|
+
// if percentWithDescription is less than 0.8, then there are some fields with aliases
|
|
74
|
+
// it should receive half of score and a message to improve field aliases
|
|
75
|
+
if (percentWithDescription < 0.8) {
|
|
76
|
+
validationResult.messages.push({
|
|
77
|
+
message: strings.featureLayerFieldDescriptions.IMRPOVE_FIELD_DESCRIPTION,
|
|
78
|
+
});
|
|
79
|
+
validationResult.scoringFactor =
|
|
80
|
+
scoringFactors.CONTAINS_FIELD_DESCRIPTIONS / 2;
|
|
81
|
+
return validationResult;
|
|
82
|
+
}
|
|
83
|
+
// if percentWithDescription is greater than 0.8, then there are most fields with aliases
|
|
84
|
+
// it should receive full score
|
|
85
|
+
validationResult.scoringFactor = 1;
|
|
86
|
+
return validationResult;
|
|
87
|
+
};
|
|
88
|
+
exports.checkFeatureServiceFieldDescriptions = checkFeatureServiceFieldDescriptions;
|
|
89
|
+
//# sourceMappingURL=checkFeatureServiceFieldDescriptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFeatureServiceFieldDescriptions.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/checkFeatureServiceFieldDescriptions.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;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,sFAAsF;IACtF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,aAAa;YAC1B,cAAc,CAAC,2BAA2B,CAAC;QAC/C,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,qDAAqD;IACrD,MAAM,4BAA4B,GAAG,cAAc;SAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;IAExD,MAAM,sBAAsB,GACxB,4BAA4B,GAAG,cAAc,CAAC,MAAM,CAAC;IAEzD,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;QAC/B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EACH,OAAO,CAAC,6BAA6B,CAAC,qBAAqB;SAClE,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,sFAAsF;IACtF,yEAAyE;IACzE,IAAI,sBAAsB,GAAG,GAAG,EAAE,CAAC;QAC/B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EACH,OAAO,CAAC,6BAA6B,CAAC,yBAAyB;SACtE,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa;YAC1B,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACnD,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;AAjFW,QAAA,oCAAoC,wCAiF/C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { ScoringConfig } from '../../types';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.scoringConfig = void 0;
|
|
5
|
+
exports.scoringConfig = {
|
|
6
|
+
weight: 1,
|
|
7
|
+
scoringFactors: {
|
|
8
|
+
DEFAULT: {
|
|
9
|
+
CONTAINS_FIELD_DESCRIPTIONS: 1,
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=scoringConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldDescriptions/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,cAAc,EAAE;QACZ,OAAO,EAAE;YACL,2BAA2B,EAAE,CAAC;SACjC;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FeatureLayerJSON, IItem, ValidationInfo } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Validates the presence and completeness of `fieldValueType` descriptions for relevant fields
|
|
4
|
+
* in the provided feature layers of an ArcGIS item. The validation assigns a scoring factor based
|
|
5
|
+
* on the proportion of relevant fields that have a `fieldValueType` defined in their field description.
|
|
6
|
+
*
|
|
7
|
+
* - If the item is not a feature layer, the rule is skipped (weight 0).
|
|
8
|
+
* - If there are no feature layers, a message is added and the rule is considered incomplete.
|
|
9
|
+
* - If there are no relevant fields to check, the rule is considered fully satisfied.
|
|
10
|
+
* - If none of the relevant fields have a `fieldValueType`, a message is added and the score is 0.
|
|
11
|
+
* - If less than 80% of relevant fields have a `fieldValueType`, a message is added and the score is halved.
|
|
12
|
+
* - If at least 80% of relevant fields have a `fieldValueType`, the rule is considered fully satisfied.
|
|
13
|
+
*
|
|
14
|
+
* @param item - The ArcGIS item to validate.
|
|
15
|
+
* @param featureLayers - The feature layers associated with the item.
|
|
16
|
+
* @returns ValidationInfo object containing the validation result, messages, and scoring factor.
|
|
17
|
+
*/
|
|
18
|
+
export declare const checkFeatureServiceFieldValueTypes: (item: IItem, featureLayers: FeatureLayerJSON[]) => ValidationInfo;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkFeatureServiceFieldValueTypes = void 0;
|
|
4
|
+
const getRelevantFeatureLayerFields_1 = require("../util/getRelevantFeatureLayerFields");
|
|
5
|
+
const isFeatureService_1 = require("../util/isFeatureService");
|
|
6
|
+
const stringsConfig_1 = require("../util/stringsConfig");
|
|
7
|
+
const scoringConfig_1 = require("./scoringConfig");
|
|
8
|
+
/**
|
|
9
|
+
* Validates the presence and completeness of `fieldValueType` descriptions for relevant fields
|
|
10
|
+
* in the provided feature layers of an ArcGIS item. The validation assigns a scoring factor based
|
|
11
|
+
* on the proportion of relevant fields that have a `fieldValueType` defined in their field description.
|
|
12
|
+
*
|
|
13
|
+
* - If the item is not a feature layer, the rule is skipped (weight 0).
|
|
14
|
+
* - If there are no feature layers, a message is added and the rule is considered incomplete.
|
|
15
|
+
* - If there are no relevant fields to check, the rule is considered fully satisfied.
|
|
16
|
+
* - If none of the relevant fields have a `fieldValueType`, a message is added and the score is 0.
|
|
17
|
+
* - If less than 80% of relevant fields have a `fieldValueType`, a message is added and the score is halved.
|
|
18
|
+
* - If at least 80% of relevant fields have a `fieldValueType`, the rule is considered fully satisfied.
|
|
19
|
+
*
|
|
20
|
+
* @param item - The ArcGIS item to validate.
|
|
21
|
+
* @param featureLayers - The feature layers associated with the item.
|
|
22
|
+
* @returns ValidationInfo object containing the validation result, messages, and scoring factor.
|
|
23
|
+
*/
|
|
24
|
+
const checkFeatureServiceFieldValueTypes = (item, featureLayers) => {
|
|
25
|
+
const strings = (0, stringsConfig_1.getStringsConfig)();
|
|
26
|
+
const scoringFactors = scoringConfig_1.scoringConfig.scoringFactors.DEFAULT;
|
|
27
|
+
const validationResult = {
|
|
28
|
+
validationRuleId: 'feature-service-field-value-types',
|
|
29
|
+
label: strings.featureLayerFieldTypes.LABEL,
|
|
30
|
+
title: strings.featureLayerFieldTypes.TITLE,
|
|
31
|
+
maxScore: 0,
|
|
32
|
+
score: 0,
|
|
33
|
+
messages: [],
|
|
34
|
+
weight: scoringConfig_1.scoringConfig.weight,
|
|
35
|
+
scoringFactor: 0,
|
|
36
|
+
status: 'unknown',
|
|
37
|
+
isBinaryCheck: false,
|
|
38
|
+
};
|
|
39
|
+
// Return the validationResult with a weight of 0 (so this rule does not contribute to the final score)
|
|
40
|
+
// if the item is not a feature layer.
|
|
41
|
+
if (!(0, isFeatureService_1.isFeatureService)(item)) {
|
|
42
|
+
return Object.assign(Object.assign({}, validationResult), { weight: 0 });
|
|
43
|
+
}
|
|
44
|
+
if (!Array.isArray(featureLayers) || !featureLayers.length) {
|
|
45
|
+
validationResult.messages.push({
|
|
46
|
+
message: strings.featureLayerFieldTypes.NO_FEATURE_LAYER,
|
|
47
|
+
});
|
|
48
|
+
return validationResult;
|
|
49
|
+
}
|
|
50
|
+
const relevantFields = (0, getRelevantFeatureLayerFields_1.getRelevantFeatureLayerFields)(featureLayers || []);
|
|
51
|
+
// should receive full score since there is no relevant field that needs to be checked
|
|
52
|
+
if (relevantFields.length === 0) {
|
|
53
|
+
validationResult.scoringFactor =
|
|
54
|
+
scoringFactors.CONTAINS_FIELD_VALUE_TYPES;
|
|
55
|
+
return validationResult;
|
|
56
|
+
}
|
|
57
|
+
// get the count of fields with descriptions provided
|
|
58
|
+
const countOfFieldsWithValueType = relevantFields
|
|
59
|
+
.filter((field) => field.description)
|
|
60
|
+
.filter((field) => { var _a; return (_a = field.description) === null || _a === void 0 ? void 0 : _a.fieldValueType; }).length;
|
|
61
|
+
const percentWithValueType = countOfFieldsWithValueType / relevantFields.length;
|
|
62
|
+
// if percentWithValueType is 0, then there are no fields with aliases
|
|
63
|
+
// it should receive a score of 0 and a message to add field aliases
|
|
64
|
+
if (percentWithValueType === 0) {
|
|
65
|
+
validationResult.messages.push({
|
|
66
|
+
message: strings.featureLayerFieldTypes.ADD_FIELD_TYPE,
|
|
67
|
+
});
|
|
68
|
+
return validationResult;
|
|
69
|
+
}
|
|
70
|
+
// if percentWithValueType is less than 0.8, then there are some fields with aliases
|
|
71
|
+
// it should receive half of score and a message to improve field aliases
|
|
72
|
+
if (percentWithValueType < 0.8) {
|
|
73
|
+
validationResult.messages.push({
|
|
74
|
+
message: strings.featureLayerFieldTypes.IMRPOVE_FIELD_TYPE,
|
|
75
|
+
});
|
|
76
|
+
validationResult.scoringFactor =
|
|
77
|
+
scoringFactors.CONTAINS_FIELD_VALUE_TYPES / 2;
|
|
78
|
+
return validationResult;
|
|
79
|
+
}
|
|
80
|
+
// if percentWithValueType is greater than 0.8, then there are most fields with aliases
|
|
81
|
+
// it should receive full score
|
|
82
|
+
validationResult.scoringFactor = 1;
|
|
83
|
+
return validationResult;
|
|
84
|
+
};
|
|
85
|
+
exports.checkFeatureServiceFieldValueTypes = checkFeatureServiceFieldValueTypes;
|
|
86
|
+
//# sourceMappingURL=checkFeatureServiceFieldValueTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFeatureServiceFieldValueTypes.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldValueTypes/checkFeatureServiceFieldValueTypes.ts"],"names":[],"mappings":";;;AACA,yFAAsF;AACtF,+DAA4D;AAC5D,yDAAyD;AACzD,mDAAgD;AAEhD;;;;;;;;;;;;;;;GAeG;AACI,MAAM,kCAAkC,GAAG,CAC9C,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,mCAAmC;QACrD,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK;QAC3C,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,sBAAsB,CAAC,gBAAgB;SAC3D,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6DAA6B,EAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAE1E,sFAAsF;IACtF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,gBAAgB,CAAC,aAAa;YAC1B,cAAc,CAAC,0BAA0B,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,qDAAqD;IACrD,MAAM,0BAA0B,GAAG,cAAc;SAC5C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,cAAc,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;IAEjE,MAAM,oBAAoB,GACtB,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC;IAEvD,sEAAsE;IACtE,oEAAoE;IACpE,IAAI,oBAAoB,KAAK,CAAC,EAAE,CAAC;QAC7B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,cAAc;SACzD,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,oFAAoF;IACpF,yEAAyE;IACzE,IAAI,oBAAoB,GAAG,GAAG,EAAE,CAAC;QAC7B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,kBAAkB;SAC7D,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa;YAC1B,cAAc,CAAC,0BAA0B,GAAG,CAAC,CAAC;QAClD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,uFAAuF;IACvF,+BAA+B;IAC/B,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC;IAEnC,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AA/EW,QAAA,kCAAkC,sCA+E7C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { ScoringConfig } from '../../types';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.scoringConfig = void 0;
|
|
5
|
+
exports.scoringConfig = {
|
|
6
|
+
weight: 1,
|
|
7
|
+
scoringFactors: {
|
|
8
|
+
DEFAULT: {
|
|
9
|
+
CONTAINS_FIELD_VALUE_TYPES: 1,
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=scoringConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/featureServiceFieldValueTypes/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,cAAc,EAAE;QACZ,OAAO,EAAE;YACL,0BAA0B,EAAE,CAAC;SAChC;KACJ;CACJ,CAAC"}
|
|
@@ -48,28 +48,21 @@ const isValidLicenseInfo = (item) => {
|
|
|
48
48
|
const { licenseInfo } = item;
|
|
49
49
|
// scoring rules locale
|
|
50
50
|
const locale = (0, getScoringRules_1.getScoringRulesLocale)(item.culture);
|
|
51
|
-
const
|
|
52
|
-
? scoringConfig_1.scoringConfig.
|
|
53
|
-
: scoringConfig_1.scoringConfig.
|
|
51
|
+
const scoringFactors = locale === 'en'
|
|
52
|
+
? scoringConfig_1.scoringConfig.scoringFactors.DEFAULT
|
|
53
|
+
: scoringConfig_1.scoringConfig.scoringFactors.INTERNATIONAL;
|
|
54
54
|
// scoring rules
|
|
55
55
|
// const SCORING = getScoringRules(item, scoringRulesConfig);
|
|
56
56
|
const stringsConfig = (0, stringsConfig_1.getStringsConfig)();
|
|
57
|
-
const
|
|
58
|
-
|
|
57
|
+
const validationOutput = {
|
|
58
|
+
validationRuleId: 'item-license-info',
|
|
59
59
|
label: stringsConfig.licenseInfo.LABEL,
|
|
60
60
|
title: stringsConfig.licenseInfo.TITLE,
|
|
61
|
-
// maxScore:
|
|
62
|
-
// SCORING.EMPTY_STRING_SCORE +
|
|
63
|
-
// SCORING.MUST_EXIST_SCORE +
|
|
64
|
-
// SCORING.MIN_LENGTH_SCORE +
|
|
65
|
-
// SCORING.HAS_LINK_SCORE,
|
|
66
|
-
// score: SCORING.EMPTY_STRING_SCORE,
|
|
67
61
|
maxScore: 0,
|
|
68
62
|
score: 0,
|
|
69
63
|
messages: [],
|
|
70
|
-
weight: scoringConfig_1.scoringConfig.weight,
|
|
71
|
-
|
|
72
|
-
// critical: false,
|
|
64
|
+
weight: scoringConfig_1.scoringConfig.weight, //stringsConfig.licenseInfo.WEIGHT,
|
|
65
|
+
scoringFactor: 0,
|
|
73
66
|
// the status will be updated afterward based on the validation result
|
|
74
67
|
status: 'unknown',
|
|
75
68
|
isBinaryCheck: false,
|
|
@@ -83,36 +76,36 @@ const isValidLicenseInfo = (item) => {
|
|
|
83
76
|
if (!(0, assertString_1.assertString)(licenseInfo) ||
|
|
84
77
|
(0, isEmpty_1.isEmpty)(licenseInfo) ||
|
|
85
78
|
(0, isEmpty_1.isEmpty)(sanitizedStr)) {
|
|
86
|
-
//
|
|
87
|
-
|
|
79
|
+
// validationOutput.score = SCORING.EMPTY_STRING_SCORE;
|
|
80
|
+
validationOutput.messages.push({
|
|
88
81
|
// code: stringsConfig.licenseInfo.EMPTY_STRING_CODE,
|
|
89
82
|
message: stringsConfig.licenseInfo.EMPTY_STRING_MESSAGE,
|
|
90
83
|
});
|
|
91
|
-
return
|
|
84
|
+
return validationOutput;
|
|
92
85
|
}
|
|
93
|
-
|
|
86
|
+
validationOutput.scoringFactor += scoringFactors.MUST_EXIST_FACTOR; //SCORING.MUST_EXIST_SCORE;
|
|
94
87
|
// The search() method searches a string for a specified value, and returns the position of the match.
|
|
95
88
|
// The search value can be string or a regular expression.
|
|
96
89
|
// This method returns -1 if no match is found.
|
|
97
90
|
if (licenseInfo.search('href') < 0) {
|
|
98
|
-
|
|
91
|
+
validationOutput.messages.push({
|
|
99
92
|
// code: stringsConfig.licenseInfo.CONTAINS_NO_LINKS_CODE,
|
|
100
93
|
message: stringsConfig.licenseInfo.CONTAINS_NO_LINKS_MESSAGE,
|
|
101
94
|
});
|
|
102
95
|
}
|
|
103
96
|
else {
|
|
104
|
-
|
|
97
|
+
validationOutput.scoringFactor += scoringFactors.HAS_LINK_FACTOR;
|
|
105
98
|
}
|
|
106
99
|
if (locale === 'en' && (0, getNumberOfWords_1.getNumberOfWords)(sanitizedStr) < 2) {
|
|
107
|
-
|
|
100
|
+
validationOutput.messages.push({
|
|
108
101
|
// code: stringsConfig.licenseInfo.MINIMUM_WORD_COUNT_CODE,
|
|
109
102
|
message: stringsConfig.licenseInfo.MINIMUM_WORD_COUNT_MESSAGE,
|
|
110
103
|
});
|
|
111
104
|
}
|
|
112
105
|
else {
|
|
113
|
-
|
|
106
|
+
validationOutput.scoringFactor += scoringFactors.MIN_LENGTH_FACTOR;
|
|
114
107
|
}
|
|
115
|
-
return
|
|
108
|
+
return validationOutput;
|
|
116
109
|
};
|
|
117
110
|
exports.isValidLicenseInfo = isValidLicenseInfo;
|
|
118
111
|
//# sourceMappingURL=isValidLicenseInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isValidLicenseInfo.js","sourceRoot":"","sources":["../../../src/lib/licenseInfo/isValidLicenseInfo.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,yDAAyD;AACzD,6DAGiC;AAEjC,yDAAyD;AACzD,uDAAoD;AACpD,6CAA0C;AAC1C,+DAA4D;AAC5D,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAW,EAAkB,EAAE;IAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE7B,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,
|
|
1
|
+
{"version":3,"file":"isValidLicenseInfo.js","sourceRoot":"","sources":["../../../src/lib/licenseInfo/isValidLicenseInfo.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,yDAAyD;AACzD,6DAGiC;AAEjC,yDAAyD;AACzD,uDAAoD;AACpD,6CAA0C;AAC1C,+DAA4D;AAC5D,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAW,EAAkB,EAAE;IAC9D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE7B,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,cAAc,GAChB,MAAM,KAAK,IAAI;QACX,CAAC,CAAC,6BAAa,CAAC,cAAc,CAAC,OAAO;QACtC,CAAC,CAAC,6BAAa,CAAC,cAAc,CAAC,aAAa,CAAC;IAErD,gBAAgB;IAChB,6DAA6D;IAE7D,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,mBAAmB;QACrC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK;QACtC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK;QACtC,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM,EAAE,mCAAmC;QACjE,aAAa,EAAE,CAAC;QAChB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,KAAK;KACvB,CAAC;IAEF,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAA,uBAAY,EAAC,WAAW,EAAE;QAC3C,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,0DAA0D;IAC1D,oDAAoD;IACpD,IACI,CAAC,IAAA,2BAAY,EAAC,WAAW,CAAC;QAC1B,IAAA,iBAAO,EAAC,WAAW,CAAC;QACpB,IAAA,iBAAO,EAAC,YAAY,CAAC,EACvB,CAAC;QACC,uDAAuD;QACvD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,qDAAqD;YACrD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,oBAAoB;SAC1D,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,2BAA2B;IAE/F,sGAAsG;IACtG,0DAA0D;IAC1D,+CAA+C;IAC/C,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,0DAA0D;YAC1D,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,yBAAyB;SAC/D,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,IAAA,mCAAgB,EAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,2DAA2D;YAC3D,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,0BAA0B;SAChE,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACJ,gBAAgB,CAAC,aAAa,IAAI,cAAc,CAAC,iBAAiB,CAAC;IACvE,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AA3EW,QAAA,kBAAkB,sBA2E7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/licenseInfo/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,
|
|
1
|
+
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/licenseInfo/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,cAAc,EAAE;QACZ,OAAO,EAAE;YACL,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,IAAI;SACxB;QACD,aAAa,EAAE;YACX,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,IAAI;SACxB;KACJ;CACJ,CAAC"}
|
|
@@ -26,52 +26,51 @@ const scoringConfig_1 = require("./scoringConfig");
|
|
|
26
26
|
*/
|
|
27
27
|
const isValidAccess = (item) => {
|
|
28
28
|
const { access } = item;
|
|
29
|
-
// scoring rules
|
|
30
|
-
// const SCORING = getScoringRules(item, scoringRulesConfig);
|
|
31
29
|
const stringsConfig = (0, stringsConfig_1.getStringsConfig)();
|
|
32
|
-
const
|
|
33
|
-
|
|
30
|
+
const validationOutput = {
|
|
31
|
+
validationRuleId: 'item-sharing-level',
|
|
34
32
|
label: stringsConfig.sharing.LABEL,
|
|
35
33
|
title: stringsConfig.sharing.TITLE,
|
|
36
|
-
maxScore: 0,
|
|
37
|
-
score: 0,
|
|
34
|
+
maxScore: 0, //SCORING.EMPTY_STRING_SCORE + SCORING.PUBLIC_SCORE,
|
|
35
|
+
score: 0, // SCORING.EMPTY_STRING_SCORE,
|
|
38
36
|
messages: [],
|
|
39
37
|
weight: scoringConfig_1.scoringConfig.weight,
|
|
40
|
-
|
|
38
|
+
scoringFactor: 0,
|
|
41
39
|
// critical: true,
|
|
42
40
|
// the status will be updated afterward based on the validation result
|
|
43
41
|
status: 'unknown',
|
|
44
42
|
isBinaryCheck: true,
|
|
45
43
|
};
|
|
46
44
|
if ((0, isEmpty_1.isEmpty)(access)) {
|
|
47
|
-
|
|
45
|
+
validationOutput.messages.push({
|
|
48
46
|
// code: stringsConfig.sharing.EMPTY_STRING_CODE,
|
|
49
47
|
message: stringsConfig.sharing.EMPTY_STRING_MESSAGE,
|
|
50
48
|
});
|
|
51
|
-
return
|
|
49
|
+
return validationOutput;
|
|
52
50
|
}
|
|
53
51
|
if (access === 'private') {
|
|
54
|
-
|
|
52
|
+
validationOutput.messages.push({
|
|
55
53
|
// code: stringsConfig.sharing.PRIVATE_CODE,
|
|
56
54
|
message: stringsConfig.sharing.PRIVATE_MESSAGE,
|
|
57
55
|
});
|
|
58
56
|
}
|
|
59
57
|
if (access === 'org') {
|
|
60
|
-
|
|
58
|
+
validationOutput.messages.push({
|
|
61
59
|
// code: stringsConfig.sharing.ORG_CODE,
|
|
62
60
|
message: stringsConfig.sharing.ORG_MESSAGE,
|
|
63
61
|
});
|
|
64
62
|
}
|
|
65
63
|
if (access === 'shared') {
|
|
66
|
-
|
|
64
|
+
validationOutput.messages.push({
|
|
67
65
|
// code: stringsConfig.sharing.ORG_CODE,
|
|
68
66
|
message: stringsConfig.sharing.ORG_MESSAGE,
|
|
69
67
|
});
|
|
70
68
|
}
|
|
71
69
|
if (access === 'public') {
|
|
72
|
-
|
|
70
|
+
validationOutput.scoringFactor =
|
|
71
|
+
scoringConfig_1.scoringConfig.scoringFactors.DEFAULT.PUBLIC_FACTOR;
|
|
73
72
|
}
|
|
74
|
-
return
|
|
73
|
+
return validationOutput;
|
|
75
74
|
};
|
|
76
75
|
exports.isValidAccess = isValidAccess;
|
|
77
76
|
//# sourceMappingURL=isValidAccess.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isValidAccess.js","sourceRoot":"","sources":["../../../src/lib/sharing/isValidAccess.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,6CAA0C;AAC1C,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,aAAa,GAAG,CAAC,IAAW,EAAkB,EAAE;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"isValidAccess.js","sourceRoot":"","sources":["../../../src/lib/sharing/isValidAccess.ts"],"names":[],"mappings":";;;AAGA,yDAAyD;AACzD,6CAA0C;AAC1C,mDAAgD;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,aAAa,GAAG,CAAC,IAAW,EAAkB,EAAE;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;IAEzC,MAAM,gBAAgB,GAAmB;QACrC,gBAAgB,EAAE,oBAAoB;QACtC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK;QAClC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK;QAClC,QAAQ,EAAE,CAAC,EAAE,oDAAoD;QACjE,KAAK,EAAE,CAAC,EAAE,8BAA8B;QACxC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,6BAAa,CAAC,MAAM;QAC5B,aAAa,EAAE,CAAC;QAChB,kBAAkB;QAClB,sEAAsE;QACtE,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACtB,CAAC;IAEF,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;QAClB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,iDAAiD;YACjD,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,oBAAoB;SACtD,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,4CAA4C;YAC5C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,eAAe;SACjD,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,wCAAwC;YACxC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,wCAAwC;YACxC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,gBAAgB,CAAC,aAAa;YAC1B,6BAAa,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC;IAC3D,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAxDW,QAAA,aAAa,iBAwDxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/sharing/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,
|
|
1
|
+
{"version":3,"file":"scoringConfig.js","sourceRoot":"","sources":["../../../src/lib/sharing/scoringConfig.ts"],"names":[],"mappings":";AAAA,+CAA+C;;;AAElC,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE,CAAC;IACT,cAAc,EAAE;QACZ,OAAO,EAAE;YACL,aAAa,EAAE,CAAC;SACnB;KACJ;CACJ,CAAC"}
|