mirror of
https://github.com/uetchy/namae.git
synced 2025-03-17 04:30:31 +09:00
fix: new words
This commit is contained in:
parent
b953d4a07a
commit
679d786138
@ -14,111 +14,127 @@ type Modifier = (word: string) => string;
|
||||
const maximumCount = 3;
|
||||
const modifiers: Modifier[] = [
|
||||
(word): string => `${capitalize(germanify(word))}`,
|
||||
(word): string => `${capitalize(stem(word))}able`,
|
||||
(word): string => `${capitalize(stem(word))}al`,
|
||||
(word): string => `${capitalize(stem(word))}el`,
|
||||
(word): string => `${capitalize(stem(word))}em`,
|
||||
(word): string => `${capitalize(stem(word))}en`,
|
||||
(word): string => `${capitalize(stem(word))}er`,
|
||||
(word): string => `${capitalize(stem(word))}ery`,
|
||||
(word): string => `${capitalize(stem(word))}ia`,
|
||||
(word): string => `${capitalize(stem(word))}ible`,
|
||||
(word): string => `${capitalize(stem(word))}ics`,
|
||||
(word): string => `${capitalize(stem(word))}ifier`,
|
||||
(word): string => `${capitalize(stem(word))}ify`,
|
||||
(word): string => `${capitalize(stem(word))}ii`,
|
||||
(word): string => `${capitalize(stem(word))}ist`,
|
||||
(word): string => `${capitalize(stem(word))}in`,
|
||||
(word): string => `${capitalize(stem(word))}io`,
|
||||
(word): string => `${capitalize(stem(word))}iverse`,
|
||||
(word): string => `${capitalize(stem(word))}ium`,
|
||||
(word): string => `${capitalize(stem(word))}um`,
|
||||
(word): string => `${capitalize(stem(word))}ory`,
|
||||
(word): string => njoin(capitalize(stem(word)), 'y'),
|
||||
(word): string => `${capitalize(word)}`,
|
||||
(word): string => `${capitalize(word)}AI`,
|
||||
(word): string => `${capitalize(word)}API`,
|
||||
(word): string => `${capitalize(word)}base`,
|
||||
(word): string => `${capitalize(word)}book`,
|
||||
(word): string => `${capitalize(word)}Bot`,
|
||||
(word): string => `${capitalize(word)}butler`,
|
||||
(word): string => `${capitalize(word)}cast`,
|
||||
(word): string => `${capitalize(word)}CDN`,
|
||||
(word): string => `${capitalize(word)}Club`,
|
||||
(word): string => `${capitalize(word)}DB`,
|
||||
(word): string => `${capitalize(word)}feed`,
|
||||
(word): string => `${capitalize(word)}Finder`,
|
||||
(word): string => `${capitalize(word)}flow`,
|
||||
(word): string => `${capitalize(word)}form`,
|
||||
(word): string => njoin(capitalize(word), 'ful'),
|
||||
(word): string => `${capitalize(word)}Go`,
|
||||
(word): string => `${capitalize(word)}gram`,
|
||||
(word): string => `${capitalize(word)}Hero`,
|
||||
(word): string => `${capitalize(word)}Hub`,
|
||||
(word): string => `${capitalize(word)}Hunt`,
|
||||
(word): string => `${capitalize(word)}It`,
|
||||
(word): string => `${capitalize(word)}Kit`,
|
||||
(word): string => `${capitalize(word)}Lab`,
|
||||
(word): string => njoin(capitalize(word), 'let'),
|
||||
(word): string => `${capitalize(word)}Link`,
|
||||
(word): string => `${capitalize(word)}list`,
|
||||
(word): string => `${capitalize(word)}mind`,
|
||||
(word): string => njoin(capitalize(word), 'note'),
|
||||
(word): string => `${capitalize(word)}Notes`,
|
||||
(word): string => `${capitalize(word)}Pod`,
|
||||
(word): string => `${capitalize(word)}Pro`,
|
||||
(word): string => `${capitalize(word)}Scan`,
|
||||
(word): string => njoin(capitalize(word), 'shot'),
|
||||
(word): string => njoin(capitalize(word), 'space'),
|
||||
(word): string => `${capitalize(word)}Stack`,
|
||||
(word): string => `${capitalize(word)}Studio`,
|
||||
(word): string => njoin(capitalize(word), 'time'),
|
||||
(word): string => njoin(capitalize(word), 'way'),
|
||||
(word): string => `${capitalize(word)}x`,
|
||||
(word): string => `${lower(word)}-IO`,
|
||||
(word): string => `${lower(word)}check`,
|
||||
(word): string => `${lower(word)}lint`,
|
||||
(word): string => `${lower(word)}ly`,
|
||||
(word): string => `Air${capitalize(word)}`,
|
||||
(word): string => `All${capitalize(word)}`,
|
||||
(word): string => `Cloud${capitalize(word)}`,
|
||||
(word): string => `Co${lower(word)}`,
|
||||
(word): string => `Deep${capitalize(word)}`,
|
||||
(word): string => `Easy${capitalize(word)}`,
|
||||
(word): string => `Fast${lower(word)}`,
|
||||
(word): string => `Fusion${capitalize(word)}`,
|
||||
(word): string => `Git${capitalize(word)}`,
|
||||
(word): string => `Go${capitalize(word)}`,
|
||||
(word): string => `Hyper${capitalize(word)}`,
|
||||
(word): string => `In${capitalize(word)}`,
|
||||
(word): string => `Insta${lower(word)}`,
|
||||
(word): string => `Lead${lower(word)}`,
|
||||
(word): string => `lib${lower(word)}`,
|
||||
(word): string => `Max${upper(word)}`,
|
||||
(word): string => `Micro${lower(word)}`,
|
||||
(word): string => `Native${capitalize(word)}`,
|
||||
(word): string => `nano${lower(word)}`,
|
||||
(word): string => `No${upper(word)}`,
|
||||
(word): string => `Omni${capitalize(word)}`,
|
||||
(word): string => `One${capitalize(word)}`,
|
||||
(word): string => `Open${capitalize(word)}`,
|
||||
(word): string => njoin('Octo', capitalize(word)),
|
||||
(word): string => `Pro${capitalize(word)}`,
|
||||
(word): string => `quick${lower(word)}`,
|
||||
(word): string => `Smart${capitalize(word)}`,
|
||||
(word): string => `Snap${capitalize(word)}`,
|
||||
(word): string => `Super${lower(word)}`,
|
||||
(word): string => `Semantic${capitalize(word)}`,
|
||||
(word): string => `Up${lower(word)}`,
|
||||
(word): string => `Un${lower(word)}`,
|
||||
(word): string => `Wunder${lower(germanify(word))}`,
|
||||
(word): string => `Zen${capitalize(word)}`,
|
||||
(word): string => njoin('Air', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('All', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Cloud', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Co', lower(word), {elision: false}),
|
||||
(word): string => njoin('Deep', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Easy', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Fast', lower(word), {elision: false}),
|
||||
(word): string => njoin('Fire', lower(word), {elision: false}),
|
||||
(word): string => njoin('Fusion', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Git', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Go', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Hyper', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('In', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Infini', lower(word)),
|
||||
(word): string => njoin('Insta', lower(word), {elision: false}),
|
||||
(word): string => njoin('i', capitalize(word)),
|
||||
(word): string => njoin('Lead', lower(word), {elision: false}),
|
||||
(word): string => njoin('Less', lower(word)),
|
||||
(word): string => njoin('lib', lower(word), {elision: false}),
|
||||
(word): string => njoin('Many', lower(word)),
|
||||
(word): string => njoin('Max', upper(word), {elision: false}),
|
||||
(word): string => njoin('Micro', lower(word), {elision: false}),
|
||||
(word): string => njoin('mini', lower(word)),
|
||||
(word): string => njoin('Mono', lower(word)),
|
||||
(word): string => njoin('Meta', lower(word)),
|
||||
(word): string => njoin('nano', lower(word), {elision: false}),
|
||||
(word): string => njoin('Native', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Next', lower(word)),
|
||||
(word): string => njoin('No', upper(word), {elision: false}),
|
||||
(word): string => njoin('Octo', capitalize(word)),
|
||||
(word): string => njoin('Omni', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('One', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Open', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Pro', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('quick', lower(word), {elision: false}),
|
||||
(word): string => njoin('Semantic', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Smart', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Snap', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Super', lower(word), {elision: false}),
|
||||
(word): string => njoin('Ultra', lower(word), {elision: false}),
|
||||
(word): string => njoin('Un', lower(word), {elision: false}),
|
||||
(word): string => njoin('Uni', lower(word)),
|
||||
(word): string => njoin(lower(word), 'joy'),
|
||||
(word): string => njoin('Up', lower(word), {elision: false}),
|
||||
(word): string => njoin('Wunder', lower(germanify(word)), {elision: false}),
|
||||
(word): string => njoin('Zen', capitalize(word), {elision: false}),
|
||||
(word): string => njoin('Zero', capitalize(word), {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'able', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'al', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'el', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'em', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'en', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'er', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ery', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ia', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ible', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ics', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ifier', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ify', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ii', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'in', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'io', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ist', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ity', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ium', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'iverse', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'ory', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'um', {elision: false}),
|
||||
(word): string => njoin(capitalize(stem(word)), 'y'),
|
||||
(word): string => njoin(capitalize(word), 'AI', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'API', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'App'),
|
||||
(word): string => njoin(capitalize(word), 'base', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'book', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Bot', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'butler', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'byte', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'cast', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'CDN', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'CI', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Club', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'DB', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Express', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'feed', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Finder', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'flow', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'form', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'ful'),
|
||||
(word): string => njoin(capitalize(word), 'Go', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'gram', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Hero', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Hub', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Hunt', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'IO', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'It', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Kit', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Lab', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'let'),
|
||||
(word): string => njoin(capitalize(word), 'less'),
|
||||
(word): string => njoin(capitalize(word), 'Link', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'list', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'list', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'lit', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'mind', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'ML', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'note', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Notes', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Pod', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Pro', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Scan', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'shot'),
|
||||
(word): string => njoin(capitalize(word), 'space'),
|
||||
(word): string => njoin(capitalize(word), 'Stack', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'Studio', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'time'),
|
||||
(word): string => njoin(capitalize(word), 'way'),
|
||||
(word): string => njoin(capitalize(word), 'x', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'check', {elision: false}),
|
||||
(word): string => njoin(capitalize(word), 'joy'),
|
||||
(word): string => njoin(lower(word), 'lint', {elision: false}),
|
||||
(word): string => njoin(lower(word), 'ly', {elision: false}),
|
||||
];
|
||||
|
||||
function modifyWord(word: string): string {
|
||||
@ -180,13 +196,8 @@ const Suggestion: React.FC<{
|
||||
if (!isEffective) {
|
||||
return;
|
||||
}
|
||||
synonymRef.current = synonyms;
|
||||
const best = fillArray(
|
||||
sampleFromArray(synonyms, maximumCount),
|
||||
query,
|
||||
maximumCount,
|
||||
).map((word) => modifyWord(word));
|
||||
setBestWords(best);
|
||||
synonymRef.current = [query, ...synonyms];
|
||||
shuffle();
|
||||
}
|
||||
};
|
||||
fn();
|
||||
@ -257,7 +268,7 @@ const Item = styled.div`
|
||||
margin: 10px 12px 0;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
font-family: monospace;
|
||||
font-family: inherit;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1em;
|
||||
border-bottom: 1px dashed black;
|
||||
|
@ -26,6 +26,12 @@ export function germanify(word: string): string {
|
||||
return word.replace('c', 'k').replace('C', 'K');
|
||||
}
|
||||
|
||||
export function njoin(lhs: string, rhs: string): string {
|
||||
return lhs + rhs.replace(new RegExp(`^${lhs[-1]}`, 'i'), '');
|
||||
export function njoin(
|
||||
lhs: string,
|
||||
rhs: string,
|
||||
{elision = true}: {elision?: boolean} = {},
|
||||
): string {
|
||||
return elision
|
||||
? lhs + rhs.replace(new RegExp(`^${lhs[-1]}`, 'i'), '')
|
||||
: lhs + rhs;
|
||||
}
|
||||
|
@ -1380,7 +1380,6 @@ export const zones = [
|
||||
'teva',
|
||||
'tf',
|
||||
'tg',
|
||||
'th',
|
||||
'thai',
|
||||
'thd',
|
||||
'theater',
|
||||
|
Loading…
x
Reference in New Issue
Block a user