scrabble-solver 2.9.0 → 2.9.2
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/.eslintignore +4 -2
- package/.eslintrc.js +8 -1
- package/LICENSE +1 -1
- package/README.md +50 -30
- package/img/logo.svg +76 -0
- package/lerna.json +1 -1
- package/package.json +3 -3
- package/packages/configs/package.json +5 -5
- package/packages/constants/package.json +3 -3
- package/packages/dictionaries/build/constants/index.js +1 -1
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +6 -6
- package/packages/dictionaries/src/constants/index.ts +1 -1
- package/packages/logger/package-lock.json +2 -2
- package/packages/logger/package.json +5 -4
- package/packages/logger/scripts/stats.js +52 -0
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +8 -8
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/required-server-files.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/413.js +7 -3
- package/packages/scrabble-solver/.next/server/chunks/44.js +895 -4
- package/packages/scrabble-solver/.next/server/chunks/515.js +15 -6
- package/packages/scrabble-solver/.next/server/chunks/865.js +230 -116
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +121 -65
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/index.js +5 -1
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/static/{BiJ0RS1mh1CdONVQg_p20 → Ntg-ilwD7GqTIFwRpSaTQ}/_buildManifest.js +1 -1
- package/packages/scrabble-solver/.next/static/{BiJ0RS1mh1CdONVQg_p20 → Ntg-ilwD7GqTIFwRpSaTQ}/_ssgManifest.js +0 -0
- package/packages/scrabble-solver/.next/static/chunks/317-5e5334962dd7c681.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/{_app-1878e12521f2d115.js → _app-183f598b1d4d480b.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/{index-14d33636a0746c22.js → index-b1ffeaddd9fb64b5.js} +1 -1
- package/packages/scrabble-solver/.next/static/css/e8de67ad5ea35427.css +1 -0
- package/packages/scrabble-solver/.next/trace +52 -52
- package/packages/scrabble-solver/package-lock.json +2 -2
- package/packages/scrabble-solver/package.json +10 -10
- package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +2 -7
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +1 -1
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +4 -1
- package/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx +12 -1
- package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +1 -0
- package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +7 -2
- package/packages/scrabble-solver/src/components/Splash/Splash.module.scss +1 -1
- package/packages/scrabble-solver/src/i18n/en.json +2 -2
- package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +3 -1
- package/packages/scrabble-solver/src/pages/index.tsx +6 -1
- package/packages/scrabble-solver/src/service-worker/dictionaries/constants.ts +3 -1
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +7 -7
- package/packages/types/build/Locale.d.ts +2 -2
- package/packages/types/build/Locale.js +1 -1
- package/packages/types/build/WordDefinition.d.ts +8 -5
- package/packages/types/build/WordDefinition.js +5 -1
- package/packages/types/build/WordDefinitionJson.d.ts +7 -0
- package/packages/types/package.json +4 -4
- package/packages/types/src/Locale.ts +1 -1
- package/packages/types/src/WordDefinition.ts +13 -1
- package/packages/types/src/WordDefinitionJson.ts +7 -0
- package/packages/word-definitions/build/getWordDefinition.d.ts +1 -1
- package/packages/word-definitions/build/getWordDefinition.js +3 -3
- package/packages/word-definitions/build/lib/normalizeDefinition.js +3 -1
- package/packages/word-definitions/build/parse/parse.js +2 -2
- package/packages/word-definitions/build/parse/parseEnglish.js +7 -7
- package/packages/word-definitions/build/parse/parseFrench.js +3 -6
- package/packages/word-definitions/build/parse/parseGerman.js +54 -16
- package/packages/word-definitions/build/parse/parsePolish.js +3 -6
- package/packages/word-definitions/build/parse/parseSpanish.js +3 -6
- package/packages/word-definitions/build/types.d.ts +1 -1
- package/packages/word-definitions/package-lock.json +14 -14
- package/packages/word-definitions/package.json +4 -4
- package/packages/word-definitions/src/getWordDefinition.ts +3 -3
- package/packages/word-definitions/src/lib/normalizeDefinition.ts +4 -1
- package/packages/word-definitions/src/parse/__tests__/expected/de-DE.hm.json +4 -0
- package/packages/word-definitions/src/parse/__tests__/expected/de-DE.ho.json +9 -0
- package/packages/word-definitions/src/parse/__tests__/expected/de-DE.kolla.json +4 -0
- package/packages/word-definitions/src/parse/__tests__/expected/de-DE.vom.json +16 -0
- package/packages/word-definitions/src/parse/__tests__/expected/en-US.awe.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/en-US.pawn.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/en-US.pawnee.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/en-US.pean.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/en-US.wiz.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/es-ES.corma.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/expected/es-ES.portero.json +1 -1
- package/packages/word-definitions/src/parse/__tests__/input/de-DE.hm.html +873 -0
- package/packages/word-definitions/src/parse/__tests__/input/de-DE.ho.html +1144 -0
- package/packages/word-definitions/src/parse/__tests__/input/de-DE.kolla.html +980 -0
- package/packages/word-definitions/src/parse/__tests__/input/de-DE.vom.html +738 -0
- package/packages/word-definitions/src/parse/parse.test.ts +4 -0
- package/packages/word-definitions/src/parse/parse.ts +2 -2
- package/packages/word-definitions/src/parse/parseEnglish.ts +8 -4
- package/packages/word-definitions/src/parse/parseFrench.ts +3 -3
- package/packages/word-definitions/src/parse/parseGerman.ts +71 -12
- package/packages/word-definitions/src/parse/parsePolish.ts +3 -3
- package/packages/word-definitions/src/parse/parseSpanish.ts +3 -3
- package/packages/word-definitions/src/types.ts +1 -1
- package/packages/word-lists/build/getDeDeWordList.js +1 -1
- package/packages/word-lists/build/getPlPlWordList.js +2 -2
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +4 -4
- package/packages/word-lists/src/getDeDeWordList.ts +1 -1
- package/packages/word-lists/src/getPlPlWordList.ts +2 -2
- package/img/logo.png +0 -0
- package/packages/scrabble-solver/.next/server/chunks/452.js +0 -894
- package/packages/scrabble-solver/.next/static/chunks/317-c5d262202c17d519.js +0 -1
- package/packages/scrabble-solver/.next/static/css/9ac903004135f4b1.css +0 -1
- package/packages/scrabble-solver/public/robots.txt +0 -4
|
@@ -1,22 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const cheerio_1 =
|
|
3
|
+
const cheerio_1 = require("cheerio");
|
|
7
4
|
const parseGerman = (html) => {
|
|
8
|
-
const $ = cheerio_1.
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
$
|
|
5
|
+
const $ = (0, cheerio_1.load)(html);
|
|
6
|
+
const definitions = [parseBedeutungsubersicht, parseBedeutungen, parseBedeutung].reduce((results, parse) => (results.length === 0 ? parse($) : results), []);
|
|
7
|
+
const exists = Array.from($('.label-danger')).every((label) => $(label).text() !== 'Hinweis');
|
|
8
|
+
return { definitions, exists };
|
|
9
|
+
};
|
|
10
|
+
const parseBedeutungsubersicht = ($) => {
|
|
11
|
+
Array.from($('.bedeutungsuebersicht ol > li > a')).forEach((item) => {
|
|
12
|
+
$(item).text($(item).text().replace(/\n/g, ''));
|
|
13
|
+
});
|
|
14
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol > li')).forEach((item) => {
|
|
15
|
+
const text = `\n${$(item).text().replace(/\n/g, '')}`;
|
|
16
|
+
const $text = $(`<div>${text}</div>`);
|
|
17
|
+
$(item).replaceWith($text);
|
|
18
|
+
});
|
|
19
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol')).forEach((list) => {
|
|
20
|
+
const $list = $(list);
|
|
21
|
+
const html = $list.html() || '';
|
|
22
|
+
const $html = $(`<div>${html}</div>`);
|
|
23
|
+
const $prev = $list.prev('a');
|
|
24
|
+
if ($prev) {
|
|
25
|
+
$prev.append($html);
|
|
26
|
+
$(list).remove();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
$(list).replaceWith($html);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return parseDefinitions($, $('.bedeutungsuebersicht ol > li'));
|
|
33
|
+
};
|
|
34
|
+
const parseBedeutung = ($) => {
|
|
35
|
+
return parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition-spezifizierung'));
|
|
36
|
+
};
|
|
37
|
+
const parseBedeutungen = ($) => {
|
|
38
|
+
const definitions = parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition'));
|
|
39
|
+
if (definitions.length > 0) {
|
|
40
|
+
return definitions;
|
|
16
41
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
42
|
+
const $references = $('.dwdswb-lesart .dwdswb-verweis');
|
|
43
|
+
const references = Array.from($references).reduce((result, reference) => {
|
|
44
|
+
const html = reference.attribs['data-content'] || '<span />';
|
|
45
|
+
const values = $(html)
|
|
46
|
+
.text()
|
|
47
|
+
.split(';')
|
|
48
|
+
.map((value) => value.trim());
|
|
49
|
+
return result.concat(values);
|
|
50
|
+
}, []);
|
|
51
|
+
return references;
|
|
52
|
+
};
|
|
53
|
+
const parseDefinitions = ($, $definitions) => {
|
|
54
|
+
return Array.from($definitions).map((definition) => $(definition)
|
|
55
|
+
.text()
|
|
56
|
+
.replace(/[ ]+/g, ' ')
|
|
57
|
+
.replace(/[ ]\n/g, '\n')
|
|
58
|
+
.replace(/^[0-9]+\.\s/g, ''));
|
|
21
59
|
};
|
|
22
60
|
exports.default = parseGerman;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const cheerio_1 =
|
|
3
|
+
const cheerio_1 = require("cheerio");
|
|
7
4
|
const parsePolish = (html) => {
|
|
8
|
-
const $ = cheerio_1.
|
|
5
|
+
const $ = (0, cheerio_1.load)(html);
|
|
9
6
|
const $header = $($('h1')[0]);
|
|
10
7
|
const $isAllowed = $header.next();
|
|
11
8
|
const $definitions = $header.next().next().next().next();
|
|
12
9
|
return {
|
|
13
10
|
definitions: $definitions.text().trim().split(/\d+\./),
|
|
14
|
-
|
|
11
|
+
exists: $isAllowed.text().trim().indexOf('dopuszczalne w grach') >= 0,
|
|
15
12
|
};
|
|
16
13
|
};
|
|
17
14
|
exports.default = parsePolish;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const cheerio_1 =
|
|
3
|
+
const cheerio_1 = require("cheerio");
|
|
7
4
|
const parseSpanish = (html) => {
|
|
8
|
-
const $ = cheerio_1.
|
|
5
|
+
const $ = (0, cheerio_1.load)(html);
|
|
9
6
|
$('.verdBold14 + .gris11 + .gris13').remove();
|
|
10
7
|
$('br + .gris13').remove();
|
|
11
8
|
$('.grisItalic13 + .gris13').remove();
|
|
@@ -26,7 +23,7 @@ const parseSpanish = (html) => {
|
|
|
26
23
|
.filter(Boolean)
|
|
27
24
|
.map((definition) => definition.replace(/\s+\.$/g, ''))
|
|
28
25
|
.map((definition) => (definition.endsWith('.') ? definition : `${definition}.`)),
|
|
29
|
-
|
|
26
|
+
exists: $('.wrapper > p > strong').text() !== 'No se ha encontrado la palabra exacta',
|
|
30
27
|
};
|
|
31
28
|
};
|
|
32
29
|
exports.default = parseSpanish;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.2",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-definitions",
|
|
9
|
-
"version": "2.9.
|
|
9
|
+
"version": "2.9.2",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@types/node": {
|
|
30
|
-
"version": "18.11.
|
|
31
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.
|
|
32
|
-
"integrity": "sha512-
|
|
30
|
+
"version": "18.11.18",
|
|
31
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
|
|
32
|
+
"integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
|
|
33
33
|
"dev": true
|
|
34
34
|
},
|
|
35
35
|
"node_modules/boolbase": {
|
|
@@ -210,9 +210,9 @@
|
|
|
210
210
|
}
|
|
211
211
|
},
|
|
212
212
|
"node_modules/parse5": {
|
|
213
|
-
"version": "7.1.
|
|
214
|
-
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.
|
|
215
|
-
"integrity": "sha512-
|
|
213
|
+
"version": "7.1.2",
|
|
214
|
+
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
|
|
215
|
+
"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
|
|
216
216
|
"dependencies": {
|
|
217
217
|
"entities": "^4.4.0"
|
|
218
218
|
},
|
|
@@ -249,9 +249,9 @@
|
|
|
249
249
|
}
|
|
250
250
|
},
|
|
251
251
|
"@types/node": {
|
|
252
|
-
"version": "18.11.
|
|
253
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.
|
|
254
|
-
"integrity": "sha512-
|
|
252
|
+
"version": "18.11.18",
|
|
253
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
|
|
254
|
+
"integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
|
|
255
255
|
"dev": true
|
|
256
256
|
},
|
|
257
257
|
"boolbase": {
|
|
@@ -366,9 +366,9 @@
|
|
|
366
366
|
}
|
|
367
367
|
},
|
|
368
368
|
"parse5": {
|
|
369
|
-
"version": "7.1.
|
|
370
|
-
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.
|
|
371
|
-
"integrity": "sha512-
|
|
369
|
+
"version": "7.1.2",
|
|
370
|
+
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
|
|
371
|
+
"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
|
|
372
372
|
"requires": {
|
|
373
373
|
"entities": "^4.4.0"
|
|
374
374
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.2",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"author": {
|
|
12
12
|
"name": "Kamil Mielnik",
|
|
13
|
-
"email": "kamil
|
|
14
|
-
"url": "https://kamilmielnik.com
|
|
13
|
+
"email": "kamil@kamilmielnik.com",
|
|
14
|
+
"url": "https://kamilmielnik.com"
|
|
15
15
|
},
|
|
16
16
|
"license": "CC-BY-NC-ND-4.0",
|
|
17
17
|
"bugs": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/ node_modules/ package-lock.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.9.
|
|
26
|
+
"@scrabble-solver/types": "^2.9.2",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.2",
|
|
29
29
|
"striptags": "^3.2.0"
|
|
@@ -3,10 +3,10 @@ import { Locale, WordDefinition } from '@scrabble-solver/types';
|
|
|
3
3
|
import { crawl } from './crawl';
|
|
4
4
|
import { parse } from './parse';
|
|
5
5
|
|
|
6
|
-
const getWordDefinition = async (locale: Locale, word: string): Promise<WordDefinition> => {
|
|
6
|
+
const getWordDefinition = async (locale: Locale, word: string, isAllowed: boolean): Promise<WordDefinition> => {
|
|
7
7
|
const html = await crawl(locale, word);
|
|
8
|
-
const { definitions,
|
|
9
|
-
const wordDefinition = new WordDefinition({ definitions, isAllowed, word });
|
|
8
|
+
const { definitions, exists } = parse(locale, html);
|
|
9
|
+
const wordDefinition = new WordDefinition({ definitions, exists, isAllowed, word });
|
|
10
10
|
return wordDefinition;
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -6,7 +6,9 @@ const EMPHASIS_TAGS = ['a', 'b', 'em', 'internalXref'];
|
|
|
6
6
|
|
|
7
7
|
const normalizeHtmlTags: Normalize = (definition) => striptags(striptags(definition, EMPHASIS_TAGS), undefined, '"');
|
|
8
8
|
|
|
9
|
-
const normalizeLineBreaks: Normalize = (definition) => definition.replace(
|
|
9
|
+
const normalizeLineBreaks: Normalize = (definition) => definition.replace(/\r\n/g, '\n');
|
|
10
|
+
|
|
11
|
+
const normalizeWhitespace: Normalize = (definition) => definition.replace(/[ ]+/g, ' ');
|
|
10
12
|
|
|
11
13
|
const normalizeQuotes: Normalize = (definition) => definition.replace(/\."/g, '".');
|
|
12
14
|
|
|
@@ -33,6 +35,7 @@ const normalizers: Normalize[] = [
|
|
|
33
35
|
normalizeMarkers,
|
|
34
36
|
normalizeQuotes,
|
|
35
37
|
normalizeLineBreaks,
|
|
38
|
+
normalizeWhitespace,
|
|
36
39
|
normalizeTrailingSymbols,
|
|
37
40
|
normalizeLeadingSymbols,
|
|
38
41
|
normalizeNonWords,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"definitions": [
|
|
3
|
+
"⟨ho, ho!⟩, ⟨ho, ho, ho!⟩, ⟨ho, ho, ho, ho!⟩ imitiert ein Lachen mit tiefer, maskuliner Stimme oder auch ein spöttisches, höhnisches oder triumphierendes Lachen",
|
|
4
|
+
"⟨ho!⟩, ⟨ho, ho!⟩\na) drückt Protest, Zweifel oder Abwehr aus\nb) drückt Überraschung, Begeisterung oder Freude aus",
|
|
5
|
+
"[umgangssprachlich] Zuruf, um jmdn. auf sich aufmerksam zu machen; auch zur Begrüßung verwendet",
|
|
6
|
+
"Zuruf vor allem an Reittiere und Zugtiere\na) verwendet, um das Tier zu beruhigen, zu loben und aufzufordern, langsamer zu werden, stehen zu bleiben\nb) Zuruf, der das Tier antreiben soll"
|
|
7
|
+
],
|
|
8
|
+
"exists": true
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"definitions": [
|
|
3
|
+
"gibt an, dass ein Ort, eine Person Ausgangspunkt einer Bewegung oder eines Vorgangs ist, der einer Bewegung ähnelt",
|
|
4
|
+
"drückt den Vorgang des Entfernens, den Zustand des Getrenntseins von etw., jmdm. aus",
|
|
5
|
+
"gibt an, dass ein Ort, eine Person Anfangspunkt einer räumlichen Erstreckung, Bezugspunkt für die Kennzeichnung einer Entfernung oder eines Lageverhältnisses ist",
|
|
6
|
+
"gibt die Herkunft, den Ursprung an",
|
|
7
|
+
"gibt das Mittel an",
|
|
8
|
+
"mit",
|
|
9
|
+
"gibt den Bereich an, für den eine Aussage gilt",
|
|
10
|
+
"was … betrifft, hinsichtlich",
|
|
11
|
+
"gibt bei Aussagen über bestimmte Eigenschaften, Verhaltensweisen die Person an, für die die Aussage gilt",
|
|
12
|
+
"gibt den Gegenstand, Inhalt an",
|
|
13
|
+
"über"
|
|
14
|
+
],
|
|
15
|
+
"exists": true
|
|
16
|
+
}
|