refactor: use country-emoji library instead of custom helper
This commit is contained in:
parent
09ee685d22
commit
89e5bb1978
7 changed files with 13 additions and 26 deletions
7
package-lock.json
generated
7
package-lock.json
generated
|
|
@ -12,6 +12,7 @@
|
|||
"@isaacs/ttlcache": "^1.4.1",
|
||||
"bytes": "^3.1.2",
|
||||
"cheerio": "^1.0.0",
|
||||
"country-emoji": "^1.5.6",
|
||||
"express": "^5.1.0",
|
||||
"make-fetch-happen": "^14.0.3",
|
||||
"slugify": "^1.6.6",
|
||||
|
|
@ -2852,6 +2853,12 @@
|
|||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/country-emoji": {
|
||||
"version": "1.5.6",
|
||||
"resolved": "https://registry.npmjs.org/country-emoji/-/country-emoji-1.5.6.tgz",
|
||||
"integrity": "sha512-pSB8OOROfimFc2bcN+H41DuzXYIod/JQ6SgF4pYXkRCm9f8uF1JAJ0vXPhenug6xkpt3Gv33mdypMXB49CJWRA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/create-jest": {
|
||||
"version": "29.7.0",
|
||||
"resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
"@isaacs/ttlcache": "^1.4.1",
|
||||
"bytes": "^3.1.2",
|
||||
"cheerio": "^1.0.0",
|
||||
"country-emoji": "^1.5.6",
|
||||
"express": "^5.1.0",
|
||||
"make-fetch-happen": "^14.0.3",
|
||||
"slugify": "^1.6.6",
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
import express, { NextFunction, Request, Response } from 'express';
|
||||
import makeFetchHappen from 'make-fetch-happen';
|
||||
import { flag } from 'country-emoji';
|
||||
import { landingTemplate } from './landingTemplate';
|
||||
import { Handler, KinoKiste, MeineCloud } from './handler';
|
||||
import { Dropload, EmbedExtractors, SuperVideo } from './embed-extractor';
|
||||
import { buildManifest, Fetcher, fulfillAllPromises, iso2ToFlag, logInfo } from './utils';
|
||||
import { buildManifest, Fetcher, fulfillAllPromises, logInfo } from './utils';
|
||||
import { Config, UrlResult } from './types';
|
||||
import fs from 'node:fs';
|
||||
import * as os from 'node:os';
|
||||
|
|
@ -132,7 +133,7 @@ addon.get('/:config/stream/:type/:id.json', async function (req: Request, res: R
|
|||
title += ` | 💾 ${bytes.format(urlResult.bytes, { unitSeparator: ' ' })}`;
|
||||
}
|
||||
if (urlResult.language) {
|
||||
title += ` | ${iso2ToFlag(urlResult.language)}`;
|
||||
title += ` | ${flag(urlResult.language)}`;
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
export * from './Fetcher';
|
||||
export * from './embed';
|
||||
export * from './imdb';
|
||||
export * from './language';
|
||||
export * from './log';
|
||||
export * from './manifest';
|
||||
export * from './promise';
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
import { iso2ToFlag } from './language';
|
||||
|
||||
describe('iso2ToFlag', () => {
|
||||
test('returns flag for known language', () => {
|
||||
expect(iso2ToFlag('DE')).toBe('🇩🇪');
|
||||
expect(iso2ToFlag('de')).toBe('🇩🇪');
|
||||
});
|
||||
|
||||
test('returns "?" for unknown language', () => {
|
||||
expect(iso2ToFlag('XX')).toBe('?');
|
||||
});
|
||||
});
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
export const iso2ToFlag = (iso2: string): string => {
|
||||
const iso2Normalized = iso2.toLowerCase();
|
||||
|
||||
if (iso2Normalized === 'de') {
|
||||
return '🇩🇪';
|
||||
}
|
||||
|
||||
return '?';
|
||||
};
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { iso2ToFlag } from './language';
|
||||
import { flag } from 'country-emoji';
|
||||
import { Handler } from '../handler';
|
||||
import { Config, ManifestWithConfig } from '../types';
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ export const buildManifest = (handlers: Handler[], config: Config): ManifestWith
|
|||
manifest.config.push({
|
||||
key: handler.id,
|
||||
type: 'checkbox',
|
||||
title: `${handler.languages.map(language => iso2ToFlag(language) + ' ' + language.toUpperCase()).join(', ')} | ${handler.label}`,
|
||||
title: `${handler.languages.map(language => flag(language) + ' ' + language.toUpperCase()).join(', ')} | ${handler.label}`,
|
||||
...(handler.id in config && { default: 'checked' }),
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue