@studyportals/fawkes 8.1.1-4 → 8.1.2-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/IPolicyMetaData.d.ts +6 -0
- package/dist/src/common/IPolicyMetaData.js +1 -0
- package/dist/src/enums/FilterCombinations.d.ts +26 -1
- package/dist/src/enums/FilterCombinations.js +26 -1
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.d.ts +11 -0
- package/dist/src/organisations/OrganisationsRuleBasedIndexabilityPolicy.js +19 -0
- package/dist/src/organisations/rules/OnlineAttendanceRule.d.ts +6 -0
- package/dist/src/organisations/rules/OnlineAttendanceRule.js +14 -0
- package/dist/src/presenters/AttendancePresenter.js +4 -0
- package/dist/src/presenters/FormatPresenter.js +4 -1
- package/dist/src/presenters/SpecialProgrammesPresenter.js +4 -0
- package/dist/src/programmes/IProgrammeSearchApplicationState.d.ts +4 -0
- package/dist/src/programmes/IProgrammeSearchApplicationState.js +1 -0
- package/dist/src/programmes/IProgrammeSearchDependencies.d.ts +7 -0
- package/dist/src/programmes/IProgrammeSearchDependencies.js +1 -0
- package/dist/src/programmes/IProgrammesSeoDependencies.d.ts +2 -0
- package/dist/src/programmes/IProgrammesSeoDependencies.js +1 -0
- package/dist/src/programmes/SearchIndexabilityManager.js +31 -3
- package/dist/src/programmes/policies/AttendanceArea.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceArea.js +48 -0
- package/dist/src/programmes/policies/AttendanceContinent.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceContinent.js +46 -0
- package/dist/src/programmes/policies/AttendanceDegree.d.ts +3 -3
- package/dist/src/programmes/policies/AttendanceDegree.js +4 -4
- package/dist/src/programmes/policies/AttendanceDuration.d.ts +17 -0
- package/dist/src/programmes/policies/AttendanceDuration.js +50 -0
- package/dist/src/programmes/policies/AttendanceFormat.d.ts +16 -0
- package/dist/src/programmes/policies/AttendanceFormat.js +48 -0
- package/dist/src/programmes/policies/AttendanceTuitionFee.d.ts +17 -0
- package/dist/src/programmes/policies/AttendanceTuitionFee.js +51 -0
- package/dist/src/programmes/policies/ContinentDuration.d.ts +16 -0
- package/dist/src/programmes/policies/ContinentDuration.js +48 -0
- package/dist/src/programmes/policies/ContinentFormat.d.ts +16 -0
- package/dist/src/programmes/policies/ContinentFormat.js +48 -0
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.d.ts +16 -0
- package/dist/src/programmes/policies/ContinentSpecialProgrammes.js +48 -0
- package/dist/src/programmes/policies/CountryAttendanceDegree.js +1 -1
- package/dist/src/programmes/policies/CountryDuration.d.ts +2 -2
- package/dist/src/programmes/policies/CountryDuration.js +6 -4
- package/dist/src/programmes/policies/CountryDurationDegree.js +1 -1
- package/dist/src/programmes/policies/CountryEducationalForm.js +1 -1
- package/dist/src/programmes/policies/CountrySpecialProgrammes.d.ts +16 -0
- package/dist/src/programmes/policies/CountrySpecialProgrammes.js +48 -0
- package/dist/src/programmes/policies/DegreeArea.d.ts +15 -0
- package/dist/src/programmes/policies/DegreeArea.js +46 -0
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeAreaTuitionFee.js +54 -0
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.d.ts +2 -1
- package/dist/src/programmes/policies/DegreeAttendanceDiscipline.js +12 -12
- package/dist/src/programmes/policies/DegreeAttendanceFormat.d.ts +17 -0
- package/dist/src/programmes/policies/DegreeAttendanceFormat.js +56 -0
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.d.ts +17 -0
- package/dist/src/programmes/policies/DegreeAttendanceSpecialProgrammes.js +58 -0
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.d.ts +18 -0
- package/dist/src/programmes/policies/DegreeAttendanceTuitionFee.js +59 -0
- package/dist/src/programmes/policies/DegreeContinent.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeContinent.js +46 -0
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeContinentTuitionFee.js +52 -0
- package/dist/src/programmes/policies/DegreeCountryAttendance.js +3 -3
- package/dist/src/programmes/policies/DegreeCountryTuitionFee.js +2 -2
- package/dist/src/programmes/policies/DegreeDuration.d.ts +17 -0
- package/dist/src/programmes/policies/DegreeDuration.js +50 -0
- package/dist/src/programmes/policies/DegreeFormat.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeFormat.js +48 -0
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.d.ts +18 -0
- package/dist/src/programmes/policies/DegreeFormatTuitionFee.js +56 -0
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.d.ts +17 -0
- package/dist/src/programmes/policies/DegreeSpecialProgrammes.js +52 -0
- package/dist/src/programmes/policies/DegreeTuitionFee.d.ts +16 -0
- package/dist/src/programmes/policies/DegreeTuitionFee.js +49 -0
- package/dist/src/programmes/policies/DisciplineArea.d.ts +1 -1
- package/dist/src/programmes/policies/DisciplineArea.js +1 -1
- package/dist/src/programmes/policies/DisciplineContinentAttendance.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineContinentAttendance.js +54 -0
- package/dist/src/programmes/policies/DisciplineCountryAttendance.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineCountryAttendance.js +54 -0
- package/dist/src/programmes/policies/DisciplineCountryDegree.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineCountryDegree.js +53 -0
- package/dist/src/programmes/policies/DisciplineCountryEducationalForm.js +1 -1
- package/dist/src/programmes/policies/DisciplineCountryFormat.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineCountryFormat.js +54 -0
- package/dist/src/programmes/policies/DisciplineDuration.d.ts +2 -2
- package/dist/src/programmes/policies/DisciplineDuration.js +2 -2
- package/dist/src/programmes/policies/DisciplineEducationalForm.js +1 -1
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.d.ts +16 -0
- package/dist/src/programmes/policies/DisciplineSpecialProgrammes.js +48 -0
- package/dist/src/programmes/policies/DisciplineTuitionFee.js +1 -1
- package/dist/src/programmes/policies/Duration.d.ts +16 -0
- package/dist/src/programmes/policies/Duration.js +40 -0
- package/dist/src/programmes/policies/Format.d.ts +15 -0
- package/dist/src/programmes/policies/Format.js +38 -0
- package/dist/src/programmes/policies/SpecialProgrammes.d.ts +1 -2
- package/dist/src/programmes/policies/SpecialProgrammes.js +0 -2
- package/dist/src/programmes/policies/index.d.ts +27 -1
- package/dist/src/programmes/policies/index.js +27 -1
- package/dist/src/programmes/rules/AtLeastSevenResultsRule.js +1 -1
- package/dist/src/programmes/rules/BlendedOrOnlineAttendanceRule.d.ts +6 -0
- package/dist/src/programmes/rules/BlendedOrOnlineAttendanceRule.js +18 -0
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.d.ts +10 -0
- package/dist/src/programmes/rules/DegreeAttendanceSpecificRule.js +42 -0
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.d.ts +10 -0
- package/dist/src/programmes/rules/DegreeCountrySpecificRule.js +43 -0
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.d.ts +11 -0
- package/dist/src/programmes/rules/DegreeCountryTuitionFeeRule.js +40 -0
- package/dist/src/programmes/rules/ErasmusOrExecutiveSpecialProgrammeRule.d.ts +6 -0
- package/dist/src/programmes/rules/ErasmusOrExecutiveSpecialProgrammeRule.js +19 -0
- package/dist/src/programmes/rules/ErasmusOrJointSpecialProgrammesRule.js +2 -2
- package/dist/src/programmes/rules/ErasmusSpecialProgrammeRule.d.ts +6 -0
- package/dist/src/programmes/rules/ErasmusSpecialProgrammeRule.js +19 -0
- package/dist/src/programmes/rules/ExecutiveSpecialProgrammeRule.d.ts +6 -0
- package/dist/src/programmes/rules/ExecutiveSpecialProgrammeRule.js +19 -0
- package/dist/src/programmes/rules/MBACountryAttendanceRule.d.ts +11 -0
- package/dist/src/programmes/rules/MBACountryAttendanceRule.js +40 -0
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.d.ts +10 -0
- package/dist/src/programmes/rules/MasterOfArtsDisciplineRule.js +41 -0
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.d.ts +11 -0
- package/dist/src/programmes/rules/MasterOfEducationCountryDisciplineRule.js +69 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryAttendanceRule.js +43 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfLawsCountryTuitionFeeRule.js +46 -0
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.d.ts +12 -0
- package/dist/src/programmes/rules/MasterOfPhilosophyCountryAttendanceRule.js +43 -0
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.d.ts +10 -0
- package/dist/src/programmes/rules/MasterOfScienceDisciplineRule.js +41 -0
- package/dist/src/programmes/rules/OneOrTwoYearDurationRule.d.ts +6 -0
- package/dist/src/programmes/rules/OneOrTwoYearDurationRule.js +19 -0
- package/dist/src/programmes/rules/OneYearOnlyRule.d.ts +11 -0
- package/dist/src/programmes/rules/OneYearOnlyRule.js +34 -0
- package/dist/src/programmes/rules/OnlineAttendanceRule.d.ts +6 -0
- package/dist/src/programmes/rules/OnlineAttendanceRule.js +15 -0
- package/dist/src/programmes/rules/TwoYearDurationRule.d.ts +6 -0
- package/dist/src/programmes/rules/TwoYearDurationRule.js +19 -0
- package/dist/src/sitemap-generator/BaseSitemapUrlGeneratorManager.js +0 -1
- package/dist/src/sitemap-generator/IPageNumberProvider.d.ts +3 -0
- package/dist/src/sitemap-generator/IPageNumberProvider.js +1 -0
- package/dist/src/sitemap-generator/ProgrammesSitemapUrlGeneratorManager.js +117 -32
- package/package.json +105 -105
- package/dist/src/organisations/rules/AtLeastSevenResultsRule.d.ts +0 -15
- package/dist/src/organisations/rules/AtLeastSevenResultsRule.js +0 -30
package/package.json
CHANGED
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@studyportals/fawkes",
|
|
3
|
-
"version": "8.1.
|
|
4
|
-
"description": "A package to centralize SEO related logic for SBLP and Sitemap Generator.",
|
|
5
|
-
"files": [
|
|
6
|
-
"./dist"
|
|
7
|
-
],
|
|
8
|
-
"scripts": {
|
|
9
|
-
"prepush": "npm run test",
|
|
10
|
-
"precommit": "npm run lint",
|
|
11
|
-
"compile": "npx tsc && tsc-alias && rm -r ./dist/tests",
|
|
12
|
-
"build": "npm run clean && npm run compile",
|
|
13
|
-
"clean": "rimraf \"!(node_modules)/**/dist\"",
|
|
14
|
-
"prepare-deployment": "npm run test && npm run build",
|
|
15
|
-
"publish-major": "npm run prepare-deployment && npm version major && npm publish",
|
|
16
|
-
"publish-beta": "npm run prepare-deployment && npm version prerelease && npm publish --tag beta --access=public",
|
|
17
|
-
"publish-patch": "npm run prepare-deployment && npm version patch && npm publish",
|
|
18
|
-
"publish-minor": "npm run prepare-deployment && npm version minor && npm publish",
|
|
19
|
-
"prepare": "husky install",
|
|
20
|
-
"test": "vitest run --coverage",
|
|
21
|
-
"test:dev": "vitest --coverage tests/programmes",
|
|
22
|
-
"lint": "eslint . --ext .ts",
|
|
23
|
-
"lint:fix": "eslint . --ext .ts --fix",
|
|
24
|
-
"prettier:fix": "npx prettier --use-tabs --ignore-path .gitignore --write ."
|
|
25
|
-
},
|
|
26
|
-
"exports": {
|
|
27
|
-
"./organisations-search-seo": {
|
|
28
|
-
"import": "./dist/organisations-seo/index.js",
|
|
29
|
-
"require": "./dist/organisations-seo/index.js",
|
|
30
|
-
"types": "./dist/organisations-seo/index.d.ts"
|
|
31
|
-
},
|
|
32
|
-
"./programmes-search-seo": {
|
|
33
|
-
"import": "./dist/programmes-seo/index.js",
|
|
34
|
-
"require": "./dist/programmes-seo/index.js",
|
|
35
|
-
"types": "./dist/programmes-seo/index.d.ts"
|
|
36
|
-
},
|
|
37
|
-
"./scholarships-search-seo": {
|
|
38
|
-
"import": "./dist/scholarships-seo/index.js",
|
|
39
|
-
"require": "./dist/scholarships-seo/index.js",
|
|
40
|
-
"types": "./dist/scholarships-seo/index.d.ts"
|
|
41
|
-
},
|
|
42
|
-
"./sitemap-generator-seo": {
|
|
43
|
-
"import": "./dist/sitemap-generator-seo/index.js",
|
|
44
|
-
"require": "./dist/sitemap-generator-seo/index.js",
|
|
45
|
-
"types": "./dist/sitemap-generator-seo/index.d.ts"
|
|
46
|
-
},
|
|
47
|
-
"./structured-data-seo": {
|
|
48
|
-
"import": "./dist/structured-data-seo/index.js",
|
|
49
|
-
"require": "./dist/structured-data-seo/index.js",
|
|
50
|
-
"types": "./dist/structured-data-seo/index.d.ts"
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"typesVersions": {
|
|
54
|
-
"*": {
|
|
55
|
-
"organisations-search-seo": [
|
|
56
|
-
"dist/organisations-seo/index.d.ts"
|
|
57
|
-
],
|
|
58
|
-
"programmes-search-seo": [
|
|
59
|
-
"dist/programmes-seo/index.d.ts"
|
|
60
|
-
],
|
|
61
|
-
"scholarships-search-seo": [
|
|
62
|
-
"dist/scholarships-seo/index.d.ts"
|
|
63
|
-
],
|
|
64
|
-
"sitemap-generator-seo": [
|
|
65
|
-
"dist/sitemap-generator-seo/index.d.ts"
|
|
66
|
-
],
|
|
67
|
-
"structured-data-seo": [
|
|
68
|
-
"dist/structured-data-seo/index.d.ts"
|
|
69
|
-
],
|
|
70
|
-
"*": [
|
|
71
|
-
"dist/index.d.ts"
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
"author": "The Jedi Council",
|
|
76
|
-
"license": "ISC",
|
|
77
|
-
"devDependencies": {
|
|
78
|
-
"@adobe/structured-data-validator": "^1.4.1",
|
|
79
|
-
"@studyportals/code-style": "^2.2.1",
|
|
80
|
-
"@studyportals/webpack-helper": "^6.0.6",
|
|
81
|
-
"@vitest/coverage-istanbul": "^2.1.8",
|
|
82
|
-
"husky": "^8.0.3",
|
|
83
|
-
"jsdom": "^26.0.0",
|
|
84
|
-
"prettier": "^3.5.3",
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
},
|
|
92
|
-
"dependencies": {
|
|
93
|
-
"@studyportals/domain-client": "
|
|
94
|
-
"@studyportals/ranking-api-interface": "^1.3.12",
|
|
95
|
-
"@studyportals/search-filters": "^6.1
|
|
96
|
-
"@studyportals/static-domain-data": "^6.1.0"
|
|
97
|
-
},
|
|
98
|
-
"optionalDependencies": {
|
|
99
|
-
"@rollup/rollup-linux-x64-gnu": "4.24.0"
|
|
100
|
-
},
|
|
101
|
-
"engines": {
|
|
102
|
-
"node": ">=18 <=22",
|
|
103
|
-
"npm": ">=8 <=10"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@studyportals/fawkes",
|
|
3
|
+
"version": "8.1.2-0",
|
|
4
|
+
"description": "A package to centralize SEO related logic for SBLP and Sitemap Generator.",
|
|
5
|
+
"files": [
|
|
6
|
+
"./dist"
|
|
7
|
+
],
|
|
8
|
+
"scripts": {
|
|
9
|
+
"prepush": "npm run test",
|
|
10
|
+
"precommit": "npm run lint",
|
|
11
|
+
"compile": "npx tsc && tsc-alias && rm -r ./dist/tests",
|
|
12
|
+
"build": "npm run clean && npm run compile",
|
|
13
|
+
"clean": "rimraf \"!(node_modules)/**/dist\"",
|
|
14
|
+
"prepare-deployment": "npm run test && npm run build",
|
|
15
|
+
"publish-major": "npm run prepare-deployment && npm version major && npm publish",
|
|
16
|
+
"publish-beta": "npm run prepare-deployment && npm version prerelease && npm publish --tag beta --access=public",
|
|
17
|
+
"publish-patch": "npm run prepare-deployment && npm version patch && npm publish",
|
|
18
|
+
"publish-minor": "npm run prepare-deployment && npm version minor && npm publish",
|
|
19
|
+
"prepare": "husky install",
|
|
20
|
+
"test": "vitest run --coverage",
|
|
21
|
+
"test:dev": "vitest --coverage tests/programmes",
|
|
22
|
+
"lint": "eslint . --ext .ts",
|
|
23
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
24
|
+
"prettier:fix": "npx prettier --use-tabs --ignore-path .gitignore --write ."
|
|
25
|
+
},
|
|
26
|
+
"exports": {
|
|
27
|
+
"./organisations-search-seo": {
|
|
28
|
+
"import": "./dist/organisations-seo/index.js",
|
|
29
|
+
"require": "./dist/organisations-seo/index.js",
|
|
30
|
+
"types": "./dist/organisations-seo/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./programmes-search-seo": {
|
|
33
|
+
"import": "./dist/programmes-seo/index.js",
|
|
34
|
+
"require": "./dist/programmes-seo/index.js",
|
|
35
|
+
"types": "./dist/programmes-seo/index.d.ts"
|
|
36
|
+
},
|
|
37
|
+
"./scholarships-search-seo": {
|
|
38
|
+
"import": "./dist/scholarships-seo/index.js",
|
|
39
|
+
"require": "./dist/scholarships-seo/index.js",
|
|
40
|
+
"types": "./dist/scholarships-seo/index.d.ts"
|
|
41
|
+
},
|
|
42
|
+
"./sitemap-generator-seo": {
|
|
43
|
+
"import": "./dist/sitemap-generator-seo/index.js",
|
|
44
|
+
"require": "./dist/sitemap-generator-seo/index.js",
|
|
45
|
+
"types": "./dist/sitemap-generator-seo/index.d.ts"
|
|
46
|
+
},
|
|
47
|
+
"./structured-data-seo": {
|
|
48
|
+
"import": "./dist/structured-data-seo/index.js",
|
|
49
|
+
"require": "./dist/structured-data-seo/index.js",
|
|
50
|
+
"types": "./dist/structured-data-seo/index.d.ts"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"typesVersions": {
|
|
54
|
+
"*": {
|
|
55
|
+
"organisations-search-seo": [
|
|
56
|
+
"dist/organisations-seo/index.d.ts"
|
|
57
|
+
],
|
|
58
|
+
"programmes-search-seo": [
|
|
59
|
+
"dist/programmes-seo/index.d.ts"
|
|
60
|
+
],
|
|
61
|
+
"scholarships-search-seo": [
|
|
62
|
+
"dist/scholarships-seo/index.d.ts"
|
|
63
|
+
],
|
|
64
|
+
"sitemap-generator-seo": [
|
|
65
|
+
"dist/sitemap-generator-seo/index.d.ts"
|
|
66
|
+
],
|
|
67
|
+
"structured-data-seo": [
|
|
68
|
+
"dist/structured-data-seo/index.d.ts"
|
|
69
|
+
],
|
|
70
|
+
"*": [
|
|
71
|
+
"dist/index.d.ts"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"author": "The Jedi Council",
|
|
76
|
+
"license": "ISC",
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@adobe/structured-data-validator": "^1.4.1",
|
|
79
|
+
"@studyportals/code-style": "^2.2.1",
|
|
80
|
+
"@studyportals/webpack-helper": "^6.0.6",
|
|
81
|
+
"@vitest/coverage-istanbul": "^2.1.8",
|
|
82
|
+
"husky": "^8.0.3",
|
|
83
|
+
"jsdom": "^26.0.0",
|
|
84
|
+
"prettier": "^3.5.3",
|
|
85
|
+
"schema-dts": "^1.1.5",
|
|
86
|
+
"ts-loader": "^9.5.2",
|
|
87
|
+
"tsc-alias": "^1.8.11",
|
|
88
|
+
"typemoq": "^2.1.0",
|
|
89
|
+
"typescript": "^5.7.3",
|
|
90
|
+
"vitest": "^2.1.8"
|
|
91
|
+
},
|
|
92
|
+
"dependencies": {
|
|
93
|
+
"@studyportals/domain-client": "7.1.0",
|
|
94
|
+
"@studyportals/ranking-api-interface": "^1.3.12",
|
|
95
|
+
"@studyportals/search-filters": "^6.3.1",
|
|
96
|
+
"@studyportals/static-domain-data": "^6.1.0"
|
|
97
|
+
},
|
|
98
|
+
"optionalDependencies": {
|
|
99
|
+
"@rollup/rollup-linux-x64-gnu": "4.24.0"
|
|
100
|
+
},
|
|
101
|
+
"engines": {
|
|
102
|
+
"node": ">=18 <=22",
|
|
103
|
+
"npm": ">=8 <=10"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ISearchDependencies } from '../../common/ISearchDependencies';
|
|
2
|
-
import { FilterKeyValuesMap } from '../../common/FilterKeyValuesMap';
|
|
3
|
-
import { ISearchApiClient } from '../../sitemap-generator/ISearchApiClient';
|
|
4
|
-
import { IRule } from '../../common/IRule';
|
|
5
|
-
export declare class AtLeastSevenResultsRule implements IRule {
|
|
6
|
-
private readonly minimumResultsCount;
|
|
7
|
-
private readonly maximumPageSize;
|
|
8
|
-
private readonly searchApiClient?;
|
|
9
|
-
constructor(searchApiClient?: ISearchApiClient);
|
|
10
|
-
forSearch(dependencies: ISearchDependencies): Promise<boolean>;
|
|
11
|
-
forSitemapGeneratorWithPageNumber(filterKeyValues: FilterKeyValuesMap, pageNumber: number): Promise<boolean>;
|
|
12
|
-
forSitemapGenerator(): Promise<boolean>;
|
|
13
|
-
getName(): string;
|
|
14
|
-
getDescription(): string;
|
|
15
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { DependencyMissingError } from '../../errors/DependencyMissingError';
|
|
2
|
-
export class AtLeastSevenResultsRule {
|
|
3
|
-
minimumResultsCount = 7;
|
|
4
|
-
maximumPageSize = 20;
|
|
5
|
-
searchApiClient;
|
|
6
|
-
constructor(searchApiClient) {
|
|
7
|
-
this.searchApiClient = searchApiClient;
|
|
8
|
-
}
|
|
9
|
-
forSearch(dependencies) {
|
|
10
|
-
const { applicationState } = dependencies;
|
|
11
|
-
const resultCount = applicationState.getNumberOfResults();
|
|
12
|
-
return Promise.resolve(resultCount >= this.minimumResultsCount);
|
|
13
|
-
}
|
|
14
|
-
async forSitemapGeneratorWithPageNumber(filterKeyValues, pageNumber) {
|
|
15
|
-
if (!this.searchApiClient) {
|
|
16
|
-
throw new DependencyMissingError('SearchApiClient');
|
|
17
|
-
}
|
|
18
|
-
const count = await this.searchApiClient.getCount(filterKeyValues);
|
|
19
|
-
return count >= (pageNumber - 1) * this.maximumPageSize + this.minimumResultsCount;
|
|
20
|
-
}
|
|
21
|
-
forSitemapGenerator() {
|
|
22
|
-
throw new Error('Method not implemented.');
|
|
23
|
-
}
|
|
24
|
-
getName() {
|
|
25
|
-
return 'AtLeastSevenResultsRule';
|
|
26
|
-
}
|
|
27
|
-
getDescription() {
|
|
28
|
-
return 'Is indexable if there are at least 2 results.';
|
|
29
|
-
}
|
|
30
|
-
}
|