dev-dict 0.3.2 → 0.4.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/dev-dict.min.js +1 -1
- package/dist/dev-dict.min.js.map +1 -1
- package/dist/index.d.ts +67 -32
- package/dist/index.js +143 -95
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/dev-dict.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.devdict={}))})(this,(function(c){"use strict";const e={EN_US:"en-US",EN_GB:"en-GB",DE_DE:"de-DE"},S=({obj:t,value:i,useFallback:n=a.USE_FALLBACK})=>i&&Object.values(e).includes(i)?t[i]||(n?t[e.EN_US]:""):i||(n?t[e.EN_US]:""),O=({obj:t,useFallback:i=a.USE_FALLBACK})=>{const n=Object.values(e);return Object.fromEntries(n.map(r=>[r,S({obj:t,value:t[r],useFallback:i})]))},d=({obj:t,keys:i,useFallback:n=a.USE_FALLBACK})=>Object.fromEntries(Object.entries(t).map(([r,o])=>{const s=i.filter(E=>E in o&&typeof o[E]=="object").map(E=>[E,O({obj:o[E],useFallback:n})]);return[r,{...o,...Object.fromEntries(s)}]})),m=({obj:t,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK})=>S({obj:t,value:t[i],useFallback:n}),L=({tag:t,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK})=>({id:t.id,name:m({obj:t.name,locale:i,useFallback:n})}),f=({term:t,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK})=>({id:t.id,name:m({obj:t.name,locale:i,useFallback:n})}),b={id:"backend",name:{[e.EN_US]:"Backend",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Backend"}},g={id:"frontend",name:{[e.EN_US]:"Frontend",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Frontend"}},U={id:"open_source",name:{[e.EN_US]:"Open Source",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Open Source"}},A={[b.id]:b,[g.id]:g,[U.id]:U},_=d({obj:A,keys:["name"],useFallback:!1}),N={id:"cms",name:{[e.EN_US]:"Content Management System",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Content-Management-System"}},D={id:"framework",name:{[e.EN_US]:"Framework",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Framework"}},y={id:"language",name:{[e.EN_US]:"Language",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Sprache"}},T={id:"library",name:{[e.EN_US]:"Library",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Bibliothek"}},B={id:"runtime_environment",name:{[e.EN_US]:"Runtime Environment",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Laufzeitumgebung"}},j={[N.id]:N,[D.id]:D,[y.id]:y,[T.id]:T,[B.id]:B},l=d({obj:j,keys:["name"],useFallback:!1}),k={id:"node_js",name:{[e.EN_US]:"Node.js"},label:{[e.EN_US]:"JavaScript Runtime",[e.DE_DE]:"JavaScript-Laufzeit"},definition:{[e.EN_US]:"Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.",[e.DE_DE]:"Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen."},type:[l.runtime_environment],tags:[_.backend],links:{website:"https://nodejs.org"}},v={id:"react",name:{[e.EN_US]:"React"},label:{[e.EN_US]:"JavaScript Library",[e.DE_DE]:"JavaScript-Bibliothek"},definition:{[e.EN_US]:"A JavaScript library for building component-based user interfaces.",[e.DE_DE]:"Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen."},type:[l.library],tags:[_.frontend,_.backend],links:{website:"https://react.dev"}},C={id:"typescript",name:{[e.EN_US]:"TypeScript"},label:{[e.EN_US]:"High-Level Programming Language",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Hochsprache"},definition:{[e.EN_US]:"TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.",[e.EN_GB]:e.EN_US,[e.DE_DE]:"TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet."},type:[l.language],tags:[_.frontend,_.backend,_.open_source],links:{website:"https://www.typescriptlang.org"}},u={[k.id]:k,[v.id]:v,[C.id]:C};d({obj:u,keys:["name","label","definition"],useFallback:!1});const a={DEFAULT_LOCALE:e.EN_US,USE_FALLBACK:!0};function p({id:t,localized:i=!0,locale:n=a.DEFAULT_LOCALE,useFallback:r=a.USE_FALLBACK}){const s=d({obj:u,keys:["name","label","definition"],useFallback:r})[t];return i?{...s,name:m({obj:s.name,locale:n,useFallback:r}),label:m({obj:s.label,locale:n,useFallback:r}),definition:m({obj:s.definition,locale:n,useFallback:r}),type:s.type.map(E=>f({term:E,locale:n,useFallback:r})),tags:s.tags.map(E=>L({tag:E,locale:n,useFallback:r}))}:s}function F({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=d({obj:u,keys:["name","label","definition"],useFallback:n}),o=Object.values(r);return t?o.map(s=>p({id:s.id,locale:i,useFallback:n})):o}function h({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=d({obj:u,keys:["name","label","definition"],useFallback:n});if(!t)return r;const o={};for(const[s,E]of Object.entries(r)){const z=p({id:E.id,locale:i,useFallback:n});o[s]=z}return o}function G({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=d({obj:j,keys:["name"],useFallback:!1}),o=Object.values(r);return t?o.map(s=>f({term:s,locale:i,useFallback:n})):o}function w({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=d({obj:A,keys:["name"],useFallback:!1}),o=Object.values(r);return t?o.map(s=>L({tag:s,locale:i,useFallback:n})):o}c.getDict=h,c.getTags=w,c.getTerm=p,c.getTerms=F,c.getTypes=G,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=dev-dict.min.js.map
|
package/dist/dev-dict.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-dict.min.js","sources":["../data/locales/index.ts","../data/tags/backend.ts","../data/tags/frontend.ts","../data/tags/open_source.ts","../data/tags/index.ts","../data/types/cms.ts","../data/types/framework.ts","../data/types/language.ts","../data/types/library.ts","../data/types/runtime_environment.ts","../data/types/index.ts","../data/terms/node_js.ts","../data/terms/react.ts","../data/terms/typescript.ts","../data/terms/index.ts","../src/common/index.ts","../src/utils/index.ts","../src/index.ts"],"sourcesContent":["export const LOCALE = {\n EN_US: 'en-US',\n EN_GB: 'en-GB',\n DE_DE: 'de-DE',\n} as const\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'backend',\n\n name: {\n [LOCALE.EN_US]: `Backend`,\n [LOCALE.DE_DE]: `Backend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'frontend',\n\n name: {\n [LOCALE.EN_US]: `Frontend`,\n [LOCALE.DE_DE]: `Frontend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'open_source',\n\n name: {\n [LOCALE.EN_US]: `Open Source`,\n [LOCALE.DE_DE]: `Open Source`,\n },\n} as const satisfies TTermTag\n","import backend from './backend'\nimport frontend from './frontend'\nimport open_source from './open_source'\n\nexport const TAG = {\n [backend.id]: backend,\n [frontend.id]: frontend,\n [open_source.id]: open_source,\n} as const\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'cms',\n\n name: {\n [LOCALE.EN_US]: `Content Management System`,\n [LOCALE.DE_DE]: `Content-Management-System`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'framework',\n\n name: {\n [LOCALE.EN_US]: `Framework`,\n [LOCALE.DE_DE]: `Framework`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'language',\n\n name: {\n [LOCALE.EN_US]: `Language`,\n [LOCALE.DE_DE]: `Sprache`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'library',\n\n name: {\n [LOCALE.EN_US]: `Library`,\n [LOCALE.DE_DE]: `Bibliothek`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'runtime_environment',\n\n name: {\n [LOCALE.EN_US]: `Runtime Environment`,\n [LOCALE.DE_DE]: `Laufzeitumgebung`,\n },\n} as const satisfies TTermType\n","import cms from './cms'\nimport framework from './framework'\nimport language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\n [framework.id]: framework,\n [language.id]: language,\n [library.id]: library,\n [runtime_environment.id]: runtime_environment,\n} as const\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'node_js',\n\n name: 'Node.js',\n\n type: [TYPE.runtime_environment],\n\n label: {\n [LOCALE.EN_US]: `JavaScript Runtime`,\n [LOCALE.DE_DE]: `JavaScript-Laufzeit`,\n },\n\n definition: {\n [LOCALE.EN_US]: `Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.`,\n [LOCALE.DE_DE]: `Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen.`,\n },\n\n tags: [TAG.backend],\n\n links: {\n website: 'https://nodejs.org',\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'react',\n\n name: 'React',\n\n type: [TYPE.library],\n\n label: {\n [LOCALE.EN_US]: `JavaScript Library`,\n [LOCALE.DE_DE]: `JavaScript-Bibliothek`,\n },\n\n definition: {\n [LOCALE.EN_US]: `A JavaScript library for building component-based user interfaces.`,\n [LOCALE.DE_DE]: `Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen.`,\n },\n\n tags: [TAG.frontend, TAG.backend],\n\n links: {\n website: 'https://react.dev',\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'typescript',\n\n name: 'TypeScript',\n\n type: [TYPE.language],\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: `TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.`,\n [LOCALE.DE_DE]: `TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.`,\n },\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: 'https://www.typescriptlang.org',\n },\n} as const satisfies TTerm\n","import node_js from './node_js'\nimport react from './react'\nimport typescript from './typescript'\n\nexport const TERM = {\n [node_js.id]: node_js,\n [react.id]: react,\n [typescript.id]: typescript,\n} as const\n","import { LOCALE } from '@data'\n\nexport const MISC = {} as const\n\nexport const CONFIG = {\n DEFAULT_LOCALE: LOCALE.EN_US,\n} as const\n","import type {\n TLocale,\n TTermDefinition,\n TTermLabel,\n TTermTag,\n TTermTagLocalized,\n TTermType,\n TTermTypeLocalized,\n} from '@/types'\nimport { CONFIG } from '@/common'\n\nexport const getLabelLocalized = ({\n label,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n label: TTermLabel\n locale?: TLocale\n}): string => {\n return label[locale] || label[CONFIG.DEFAULT_LOCALE]\n}\n\nexport const getDefinitionLocalized = ({\n definition,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n definition: TTermDefinition\n locale?: TLocale\n}): string => {\n return definition[locale] || definition[CONFIG.DEFAULT_LOCALE]\n}\n\nexport const getTermTagLocalized = ({\n tag,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n tag: TTermTag\n locale?: TLocale\n}): TTermTagLocalized => {\n return {\n id: tag.id,\n name: tag.name[locale] || tag.name[CONFIG.DEFAULT_LOCALE],\n }\n}\n\nexport const getTermTypeLocalized = ({\n term,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n term: TTermType\n locale?: TLocale\n}): TTermTypeLocalized => {\n return {\n id: term.id,\n name: term.name[locale] || term.name[CONFIG.DEFAULT_LOCALE],\n }\n}\n","import type { TDevDict, TDevDictLocalized, TLocale, TTerm, TTermId, TTermLocalized, TTermType, TTermTypeLocalized, TTermTag, TTermTagLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { getDefinitionLocalized, getLabelLocalized, getTermTagLocalized, getTermTypeLocalized } from '@/utils'\nimport { TAG, TERM, TYPE } from '@data'\n\nexport function getTerm(params: { id: TTermId; localized: false }): TTerm\nexport function getTerm(params: { id: TTermId; localized?: true; locale?: TLocale }): TTermLocalized\nexport function getTerm({\n id,\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n id: TTermId\n localized?: boolean\n locale?: TLocale\n}): TTerm | TTermLocalized {\n // We do not need a null check here because TTermId only allows valid IDs\n const term = TERM[id]\n\n if (!localized) {\n return term\n }\n\n return {\n ...term,\n label: getLabelLocalized({ label: term.label, locale }),\n definition: getDefinitionLocalized({ definition: term.definition, locale }),\n type: term.type.map((value) => getTermTypeLocalized({ term: value, locale })),\n tags: term.tags.map((value) => getTermTagLocalized({ tag: value, locale })),\n }\n}\n\nexport function getTerms(params?: { localized: false }): TTerm[]\nexport function getTerms(params?: { localized?: true; locale?: TLocale }): TTermLocalized[]\nexport function getTerms({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTerm[] | TTermLocalized[] {\n const terms = Object.values(TERM)\n\n if (!localized) {\n return terms\n }\n\n return terms.map((term) => getTerm({ id: term.id, locale }))\n}\n\nexport function getDict(params?: { localized: false }): TDevDict\nexport function getDict(params?: { localized?: true; locale?: TLocale }): TDevDictLocalized\nexport function getDict({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TDevDict | TDevDictLocalized {\n if (!localized) {\n return TERM as TDevDict\n }\n\n const dict = {} as TDevDictLocalized\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale })\n dict[key as TTermId] = localizedTerm\n }\n\n return dict\n}\n\nexport function getTypes(params?: { localized: false }): TTermType[]\nexport function getTypes(params?: { localized?: true; locale?: TLocale }): TTermTypeLocalized[]\nexport function getTypes({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTermType[] | TTermTypeLocalized[] {\n const types = Object.values(TYPE)\n\n if (!localized) {\n return types\n }\n\n return types.map((type) => getTermTypeLocalized({ term: type, locale }))\n}\n\nexport function getTags(params?: { localized: false }): TTermTag[]\nexport function getTags(params?: { localized?: true; locale?: TLocale }): TTermTagLocalized[]\nexport function getTags({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTermTag[] | TTermTagLocalized[] {\n const tags = Object.values(TAG)\n\n if (!localized) {\n return tags\n }\n\n return tags.map((tag) => getTermTagLocalized({ tag, locale }))\n}\n"],"names":["LOCALE","backend","frontend","open_source","TAG","cms","framework","language","library","runtime_environment","TYPE","node_js","react","typescript","TERM","CONFIG","getLabelLocalized","label","locale","getDefinitionLocalized","definition","getTermTagLocalized","tag","getTermTypeLocalized","term","getTerm","id","localized","value","getTerms","terms","getDict","dict","key","localizedTerm","getTypes","types","type","getTags","tags"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-dict.min.js","sources":["../data/locales/index.ts","../src/utils/index.ts","../data/tags/backend.ts","../data/tags/frontend.ts","../data/tags/open_source.ts","../data/tags/index.ts","../data/types/cms.ts","../data/types/framework.ts","../data/types/language.ts","../data/types/library.ts","../data/types/runtime_environment.ts","../data/types/index.ts","../data/terms/node_js.ts","../data/terms/react.ts","../data/terms/typescript.ts","../data/terms/index.ts","../src/common/index.ts","../src/index.ts"],"sourcesContent":["export const LOCALE = {\n EN_US: 'en-US',\n EN_GB: 'en-GB',\n DE_DE: 'de-DE',\n} as const\n","import type { TLocale, TLocaleRecord, TTermTag, TTermTagLocalized, TTermType, TTermTypeLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { LOCALE } from '@data'\n\nexport const interpolateValue = ({\n obj,\n value,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n value: undefined | string\n useFallback?: boolean\n}): string => {\n if (value && Object.values<string>(LOCALE).includes(value)) {\n return obj[value as TLocale] || (useFallback ? obj[LOCALE.EN_US] : '')\n }\n return value || (useFallback ? obj[LOCALE.EN_US] : '')\n}\n\nexport const interpolateLocaleRecord = ({\n obj,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n useFallback?: boolean\n}): TLocaleRecord => {\n const locales = Object.values<string>(LOCALE) as TLocale[]\n\n return Object.fromEntries(\n locales.map((locale) => [locale, interpolateValue({ obj, value: obj[locale], useFallback })]),\n ) as TLocaleRecord\n}\n\nexport const interpolateValues = <T extends Record<string, any>>({\n obj,\n keys,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: T\n keys: string[]\n useFallback?: boolean\n}): T => {\n return Object.fromEntries(\n Object.entries(obj).map(([itemKey, item]) => {\n const interpolatedFields = keys\n .filter((key) => key in item && typeof item[key] === 'object')\n .map((key) => [key, interpolateLocaleRecord({ obj: item[key], useFallback })])\n\n return [itemKey, { ...item, ...Object.fromEntries(interpolatedFields) }]\n }),\n ) as T\n}\n\nexport const getValueLocalized = ({\n obj,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n locale?: TLocale\n useFallback?: boolean\n}): string => {\n return interpolateValue({ obj, value: obj[locale], useFallback })\n}\n\nexport const getTermTagLocalized = ({\n tag,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n tag: TTermTag\n locale?: TLocale\n useFallback?: boolean\n}): TTermTagLocalized => {\n return {\n id: tag.id,\n name: getValueLocalized({ obj: tag.name, locale, useFallback }),\n }\n}\n\nexport const getTermTypeLocalized = ({\n term,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n term: TTermType\n locale?: TLocale\n useFallback?: boolean\n}): TTermTypeLocalized => {\n return {\n id: term.id,\n name: getValueLocalized({ obj: term.name, locale, useFallback }),\n }\n}\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'backend',\n\n name: {\n [LOCALE.EN_US]: `Backend`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Backend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'frontend',\n\n name: {\n [LOCALE.EN_US]: `Frontend`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Frontend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'open_source',\n\n name: {\n [LOCALE.EN_US]: `Open Source`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Open Source`,\n },\n} as const satisfies TTermTag\n","import { interpolateValues } from '@/utils'\n\nimport backend from './backend'\nimport frontend from './frontend'\nimport open_source from './open_source'\n\nexport const RAW_TAG = {\n [backend.id]: backend,\n [frontend.id]: frontend,\n [open_source.id]: open_source,\n} as const\n\nexport const TAG = interpolateValues({ obj: RAW_TAG, keys: ['name'], useFallback: false })\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'cms',\n\n name: {\n [LOCALE.EN_US]: `Content Management System`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Content-Management-System`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'framework',\n\n name: {\n [LOCALE.EN_US]: `Framework`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Framework`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'language',\n\n name: {\n [LOCALE.EN_US]: `Language`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Sprache`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'library',\n\n name: {\n [LOCALE.EN_US]: `Library`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Bibliothek`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'runtime_environment',\n\n name: {\n [LOCALE.EN_US]: `Runtime Environment`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Laufzeitumgebung`,\n },\n} as const satisfies TTermType\n","import { interpolateValues } from '@/utils'\n\nimport cms from './cms'\nimport framework from './framework'\nimport language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const RAW_TYPE = {\n [cms.id]: cms,\n [framework.id]: framework,\n [language.id]: language,\n [library.id]: library,\n [runtime_environment.id]: runtime_environment,\n} as const\n\nexport const TYPE = interpolateValues({ obj: RAW_TYPE, keys: ['name'], useFallback: false })\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `node_js`,\n\n name: {\n [LOCALE.EN_US]: `Node.js`,\n },\n\n label: {\n [LOCALE.EN_US]: `JavaScript Runtime`,\n [LOCALE.DE_DE]: `JavaScript-Laufzeit`,\n },\n\n definition: {\n [LOCALE.EN_US]: `Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.`,\n [LOCALE.DE_DE]: `Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen.`,\n },\n\n type: [TYPE.runtime_environment],\n\n tags: [TAG.backend],\n\n links: {\n website: `https://nodejs.org`,\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `react`,\n\n name: {\n [LOCALE.EN_US]: `React`,\n },\n\n label: {\n [LOCALE.EN_US]: `JavaScript Library`,\n [LOCALE.DE_DE]: `JavaScript-Bibliothek`,\n },\n\n definition: {\n [LOCALE.EN_US]: `A JavaScript library for building component-based user interfaces.`,\n [LOCALE.DE_DE]: `Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen.`,\n },\n\n type: [TYPE.library],\n\n tags: [TAG.frontend, TAG.backend],\n\n links: {\n website: `https://react.dev`,\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `typescript`,\n\n name: {\n [LOCALE.EN_US]: `TypeScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: `TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.`,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://www.typescriptlang.org`,\n },\n} as const satisfies TTerm\n","import { interpolateValues } from '@/utils'\n\nimport node_js from './node_js'\nimport react from './react'\nimport typescript from './typescript'\n\nexport const RAW_TERM = {\n [node_js.id]: node_js,\n [react.id]: react,\n [typescript.id]: typescript,\n} as const\n\nexport const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback: false })\n","import { LOCALE } from '@data'\n\nexport const MISC = {} as const\n\nexport const CONFIG = {\n DEFAULT_LOCALE: LOCALE.EN_US,\n USE_FALLBACK: true,\n} as const\n","import type {\n TDevDict,\n TDevDictLocalized,\n TLocale,\n TTerm,\n TTermId,\n TTermLocalized,\n TTermTag,\n TTermTagLocalized,\n TTermType,\n TTermTypeLocalized,\n} from '@/types'\nimport { CONFIG } from '@/common'\nimport { getTermTagLocalized, getTermTypeLocalized, getValueLocalized, interpolateValues } from '@/utils'\nimport { RAW_TAG, RAW_TERM, RAW_TYPE } from '@data'\n\n/**\n * NB: The `useFallback` param only works when `localized` is `true`. This is by design.\n */\n\nexport function getTerm(params: { id: TTermId; localized: false }): TTerm\nexport function getTerm(params: {\n id: TTermId\n localized?: true\n locale?: TLocale\n useFallback?: boolean\n}): TTermLocalized\nexport function getTerm({\n id,\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n id: TTermId\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n}): TTerm | TTermLocalized {\n // We do not need a null check here because TTermId only allows valid IDs\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n const term = TERM[id]\n\n if (!localized) {\n return term\n }\n\n return {\n ...term,\n name: getValueLocalized({ obj: term.name, locale, useFallback }),\n label: getValueLocalized({ obj: term.label, locale, useFallback }),\n definition: getValueLocalized({ obj: term.definition, locale, useFallback }),\n type: term.type.map((value) => getTermTypeLocalized({ term: value, locale, useFallback })),\n tags: term.tags.map((value) => getTermTagLocalized({ tag: value, locale, useFallback })),\n }\n}\n\nexport function getTerms(params?: { localized: false; useFallback?: boolean }): TTerm[]\nexport function getTerms(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermLocalized[]\nexport function getTerms({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTerm[] | TTermLocalized[] {\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n const terms = Object.values(TERM)\n\n if (!localized) {\n return terms\n }\n\n return terms.map((term) => getTerm({ id: term.id, locale, useFallback }))\n}\n\nexport function getDict(params?: { localized: false; useFallback?: boolean }): TDevDict\nexport function getDict(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TDevDictLocalized\nexport function getDict({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TDevDict | TDevDictLocalized {\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n\n if (!localized) {\n return TERM as TDevDict\n }\n\n const dict = {} as TDevDictLocalized\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale, useFallback })\n dict[key as TTermId] = localizedTerm\n }\n\n return dict\n}\n\nexport function getTypes(params?: { localized: false; useFallback?: boolean }): TTermType[]\nexport function getTypes(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermTypeLocalized[]\nexport function getTypes({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTermType[] | TTermTypeLocalized[] {\n const TYPE = interpolateValues({ obj: RAW_TYPE, keys: ['name'], useFallback: false })\n const types = Object.values(TYPE)\n\n if (!localized) {\n return types\n }\n\n return types.map((type) => getTermTypeLocalized({ term: type, locale, useFallback }))\n}\n\nexport function getTags(params?: { localized: false; useFallback?: boolean }): TTermTag[]\nexport function getTags(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermTagLocalized[]\nexport function getTags({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTermTag[] | TTermTagLocalized[] {\n const TAG = interpolateValues({ obj: RAW_TAG, keys: ['name'], useFallback: false })\n const tags = Object.values(TAG)\n\n if (!localized) {\n return tags\n }\n\n return tags.map((tag) => getTermTagLocalized({ tag, locale, useFallback }))\n}\n"],"names":["LOCALE","interpolateValue","obj","value","useFallback","CONFIG","interpolateLocaleRecord","locales","locale","interpolateValues","keys","itemKey","item","interpolatedFields","key","getValueLocalized","getTermTagLocalized","tag","getTermTypeLocalized","term","backend","frontend","open_source","RAW_TAG","TAG","cms","framework","language","library","runtime_environment","RAW_TYPE","TYPE","node_js","react","typescript","RAW_TERM","getTerm","id","localized","getTerms","TERM","terms","getDict","dict","localizedTerm","getTypes","types","type","getTags","tags"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,33 @@
|
|
|
1
1
|
declare const CONFIG: {
|
|
2
2
|
readonly DEFAULT_LOCALE: "en-US";
|
|
3
|
+
readonly USE_FALLBACK: true;
|
|
3
4
|
};
|
|
4
5
|
|
|
5
6
|
export declare function getDict(params?: {
|
|
6
7
|
localized: false;
|
|
8
|
+
useFallback?: boolean;
|
|
7
9
|
}): TDevDict;
|
|
8
10
|
|
|
9
11
|
export declare function getDict(params?: {
|
|
10
12
|
localized?: true;
|
|
11
13
|
locale?: TLocale;
|
|
14
|
+
useFallback?: boolean;
|
|
12
15
|
}): TDevDictLocalized;
|
|
13
16
|
|
|
14
17
|
export declare function getTags(params?: {
|
|
15
18
|
localized: false;
|
|
19
|
+
useFallback?: boolean;
|
|
16
20
|
}): TTermTag[];
|
|
17
21
|
|
|
18
22
|
export declare function getTags(params?: {
|
|
19
23
|
localized?: true;
|
|
20
24
|
locale?: TLocale;
|
|
25
|
+
useFallback?: boolean;
|
|
21
26
|
}): TTermTagLocalized[];
|
|
22
27
|
|
|
28
|
+
/**
|
|
29
|
+
* NB: The `useFallback` param only works when `localized` is `true`. This is by design.
|
|
30
|
+
*/
|
|
23
31
|
export declare function getTerm(params: {
|
|
24
32
|
id: TTermId;
|
|
25
33
|
localized: false;
|
|
@@ -29,24 +37,29 @@ export declare function getTerm(params: {
|
|
|
29
37
|
id: TTermId;
|
|
30
38
|
localized?: true;
|
|
31
39
|
locale?: TLocale;
|
|
40
|
+
useFallback?: boolean;
|
|
32
41
|
}): TTermLocalized;
|
|
33
42
|
|
|
34
43
|
export declare function getTerms(params?: {
|
|
35
44
|
localized: false;
|
|
45
|
+
useFallback?: boolean;
|
|
36
46
|
}): TTerm[];
|
|
37
47
|
|
|
38
48
|
export declare function getTerms(params?: {
|
|
39
49
|
localized?: true;
|
|
40
50
|
locale?: TLocale;
|
|
51
|
+
useFallback?: boolean;
|
|
41
52
|
}): TTermLocalized[];
|
|
42
53
|
|
|
43
54
|
export declare function getTypes(params?: {
|
|
44
55
|
localized: false;
|
|
56
|
+
useFallback?: boolean;
|
|
45
57
|
}): TTermType[];
|
|
46
58
|
|
|
47
59
|
export declare function getTypes(params?: {
|
|
48
60
|
localized?: true;
|
|
49
61
|
locale?: TLocale;
|
|
62
|
+
useFallback?: boolean;
|
|
50
63
|
}): TTermTypeLocalized[];
|
|
51
64
|
|
|
52
65
|
declare const LOCALE: {
|
|
@@ -60,6 +73,7 @@ declare const TAG: {
|
|
|
60
73
|
readonly id: "backend";
|
|
61
74
|
readonly name: {
|
|
62
75
|
readonly "en-US": "Backend";
|
|
76
|
+
readonly "en-GB": "en-US";
|
|
63
77
|
readonly "de-DE": "Backend";
|
|
64
78
|
};
|
|
65
79
|
};
|
|
@@ -67,6 +81,7 @@ declare const TAG: {
|
|
|
67
81
|
readonly id: "frontend";
|
|
68
82
|
readonly name: {
|
|
69
83
|
readonly "en-US": "Frontend";
|
|
84
|
+
readonly "en-GB": "en-US";
|
|
70
85
|
readonly "de-DE": "Frontend";
|
|
71
86
|
};
|
|
72
87
|
};
|
|
@@ -74,6 +89,7 @@ declare const TAG: {
|
|
|
74
89
|
readonly id: "open_source";
|
|
75
90
|
readonly name: {
|
|
76
91
|
readonly "en-US": "Open Source";
|
|
92
|
+
readonly "en-GB": "en-US";
|
|
77
93
|
readonly "de-DE": "Open Source";
|
|
78
94
|
};
|
|
79
95
|
};
|
|
@@ -86,14 +102,9 @@ declare type TDevDictLocalized = Record<TTermId, TTermLocalized>;
|
|
|
86
102
|
declare const TERM: {
|
|
87
103
|
readonly node_js: {
|
|
88
104
|
readonly id: "node_js";
|
|
89
|
-
readonly name:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
readonly name: {
|
|
93
|
-
readonly "en-US": "Runtime Environment";
|
|
94
|
-
readonly "de-DE": "Laufzeitumgebung";
|
|
95
|
-
};
|
|
96
|
-
}];
|
|
105
|
+
readonly name: {
|
|
106
|
+
readonly "en-US": "Node.js";
|
|
107
|
+
};
|
|
97
108
|
readonly label: {
|
|
98
109
|
readonly "en-US": "JavaScript Runtime";
|
|
99
110
|
readonly "de-DE": "JavaScript-Laufzeit";
|
|
@@ -102,10 +113,19 @@ declare const TERM: {
|
|
|
102
113
|
readonly "en-US": "Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.";
|
|
103
114
|
readonly "de-DE": "Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen.";
|
|
104
115
|
};
|
|
116
|
+
readonly type: [{
|
|
117
|
+
readonly id: "runtime_environment";
|
|
118
|
+
readonly name: {
|
|
119
|
+
readonly "en-US": "Runtime Environment";
|
|
120
|
+
readonly "en-GB": "en-US";
|
|
121
|
+
readonly "de-DE": "Laufzeitumgebung";
|
|
122
|
+
};
|
|
123
|
+
}];
|
|
105
124
|
readonly tags: [{
|
|
106
125
|
readonly id: "backend";
|
|
107
126
|
readonly name: {
|
|
108
127
|
readonly "en-US": "Backend";
|
|
128
|
+
readonly "en-GB": "en-US";
|
|
109
129
|
readonly "de-DE": "Backend";
|
|
110
130
|
};
|
|
111
131
|
}];
|
|
@@ -115,14 +135,9 @@ declare const TERM: {
|
|
|
115
135
|
};
|
|
116
136
|
readonly react: {
|
|
117
137
|
readonly id: "react";
|
|
118
|
-
readonly name:
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
readonly name: {
|
|
122
|
-
readonly "en-US": "Library";
|
|
123
|
-
readonly "de-DE": "Bibliothek";
|
|
124
|
-
};
|
|
125
|
-
}];
|
|
138
|
+
readonly name: {
|
|
139
|
+
readonly "en-US": "React";
|
|
140
|
+
};
|
|
126
141
|
readonly label: {
|
|
127
142
|
readonly "en-US": "JavaScript Library";
|
|
128
143
|
readonly "de-DE": "JavaScript-Bibliothek";
|
|
@@ -131,16 +146,26 @@ declare const TERM: {
|
|
|
131
146
|
readonly "en-US": "A JavaScript library for building component-based user interfaces.";
|
|
132
147
|
readonly "de-DE": "Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen.";
|
|
133
148
|
};
|
|
149
|
+
readonly type: [{
|
|
150
|
+
readonly id: "library";
|
|
151
|
+
readonly name: {
|
|
152
|
+
readonly "en-US": "Library";
|
|
153
|
+
readonly "en-GB": "en-US";
|
|
154
|
+
readonly "de-DE": "Bibliothek";
|
|
155
|
+
};
|
|
156
|
+
}];
|
|
134
157
|
readonly tags: [{
|
|
135
158
|
readonly id: "frontend";
|
|
136
159
|
readonly name: {
|
|
137
160
|
readonly "en-US": "Frontend";
|
|
161
|
+
readonly "en-GB": "en-US";
|
|
138
162
|
readonly "de-DE": "Frontend";
|
|
139
163
|
};
|
|
140
164
|
}, {
|
|
141
165
|
readonly id: "backend";
|
|
142
166
|
readonly name: {
|
|
143
167
|
readonly "en-US": "Backend";
|
|
168
|
+
readonly "en-GB": "en-US";
|
|
144
169
|
readonly "de-DE": "Backend";
|
|
145
170
|
};
|
|
146
171
|
}];
|
|
@@ -150,38 +175,46 @@ declare const TERM: {
|
|
|
150
175
|
};
|
|
151
176
|
readonly typescript: {
|
|
152
177
|
readonly id: "typescript";
|
|
153
|
-
readonly name:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
readonly name: {
|
|
157
|
-
readonly "en-US": "Language";
|
|
158
|
-
readonly "de-DE": "Sprache";
|
|
159
|
-
};
|
|
160
|
-
}];
|
|
178
|
+
readonly name: {
|
|
179
|
+
readonly "en-US": "TypeScript";
|
|
180
|
+
};
|
|
161
181
|
readonly label: {
|
|
162
182
|
readonly "en-US": "High-Level Programming Language";
|
|
183
|
+
readonly "en-GB": "en-US";
|
|
163
184
|
readonly "de-DE": "Hochsprache";
|
|
164
185
|
};
|
|
165
186
|
readonly definition: {
|
|
166
187
|
readonly "en-US": "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.";
|
|
188
|
+
readonly "en-GB": "en-US";
|
|
167
189
|
readonly "de-DE": "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.";
|
|
168
190
|
};
|
|
191
|
+
readonly type: [{
|
|
192
|
+
readonly id: "language";
|
|
193
|
+
readonly name: {
|
|
194
|
+
readonly "en-US": "Language";
|
|
195
|
+
readonly "en-GB": "en-US";
|
|
196
|
+
readonly "de-DE": "Sprache";
|
|
197
|
+
};
|
|
198
|
+
}];
|
|
169
199
|
readonly tags: [{
|
|
170
200
|
readonly id: "frontend";
|
|
171
201
|
readonly name: {
|
|
172
202
|
readonly "en-US": "Frontend";
|
|
203
|
+
readonly "en-GB": "en-US";
|
|
173
204
|
readonly "de-DE": "Frontend";
|
|
174
205
|
};
|
|
175
206
|
}, {
|
|
176
207
|
readonly id: "backend";
|
|
177
208
|
readonly name: {
|
|
178
209
|
readonly "en-US": "Backend";
|
|
210
|
+
readonly "en-GB": "en-US";
|
|
179
211
|
readonly "de-DE": "Backend";
|
|
180
212
|
};
|
|
181
213
|
}, {
|
|
182
214
|
readonly id: "open_source";
|
|
183
215
|
readonly name: {
|
|
184
216
|
readonly "en-US": "Open Source";
|
|
217
|
+
readonly "en-GB": "en-US";
|
|
185
218
|
readonly "de-DE": "Open Source";
|
|
186
219
|
};
|
|
187
220
|
}];
|
|
@@ -201,25 +234,22 @@ declare type TLocaleRecord = {
|
|
|
201
234
|
|
|
202
235
|
declare type TTerm = {
|
|
203
236
|
id: string;
|
|
204
|
-
name:
|
|
237
|
+
name: TLocaleRecord;
|
|
205
238
|
type: TTermTypes[];
|
|
206
|
-
label:
|
|
207
|
-
definition:
|
|
239
|
+
label: TLocaleRecord;
|
|
240
|
+
definition: TLocaleRecord;
|
|
208
241
|
tags: TTermTags[];
|
|
209
242
|
links?: TTermLinks;
|
|
210
243
|
};
|
|
211
244
|
|
|
212
|
-
declare type TTermDefinition = TLocaleRecord;
|
|
213
|
-
|
|
214
245
|
declare type TTermId = keyof typeof TERM;
|
|
215
246
|
|
|
216
|
-
declare type TTermLabel = TLocaleRecord;
|
|
217
|
-
|
|
218
247
|
declare type TTermLinks = {
|
|
219
248
|
website: string;
|
|
220
249
|
} & Partial<Record<Exclude<TLinkType, 'website'>, string>>;
|
|
221
250
|
|
|
222
|
-
declare type TTermLocalized = Omit<TTerm, 'label' | 'definition' | 'type' | 'tags'> & {
|
|
251
|
+
declare type TTermLocalized = Omit<TTerm, 'name' | 'label' | 'definition' | 'type' | 'tags'> & {
|
|
252
|
+
name: string;
|
|
223
253
|
label: string;
|
|
224
254
|
definition: string;
|
|
225
255
|
type: TTermTypeLocalized[];
|
|
@@ -255,6 +285,7 @@ declare const TYPE: {
|
|
|
255
285
|
readonly id: "cms";
|
|
256
286
|
readonly name: {
|
|
257
287
|
readonly "en-US": "Content Management System";
|
|
288
|
+
readonly "en-GB": "en-US";
|
|
258
289
|
readonly "de-DE": "Content-Management-System";
|
|
259
290
|
};
|
|
260
291
|
};
|
|
@@ -262,6 +293,7 @@ declare const TYPE: {
|
|
|
262
293
|
readonly id: "framework";
|
|
263
294
|
readonly name: {
|
|
264
295
|
readonly "en-US": "Framework";
|
|
296
|
+
readonly "en-GB": "en-US";
|
|
265
297
|
readonly "de-DE": "Framework";
|
|
266
298
|
};
|
|
267
299
|
};
|
|
@@ -269,6 +301,7 @@ declare const TYPE: {
|
|
|
269
301
|
readonly id: "language";
|
|
270
302
|
readonly name: {
|
|
271
303
|
readonly "en-US": "Language";
|
|
304
|
+
readonly "en-GB": "en-US";
|
|
272
305
|
readonly "de-DE": "Sprache";
|
|
273
306
|
};
|
|
274
307
|
};
|
|
@@ -276,6 +309,7 @@ declare const TYPE: {
|
|
|
276
309
|
readonly id: "library";
|
|
277
310
|
readonly name: {
|
|
278
311
|
readonly "en-US": "Library";
|
|
312
|
+
readonly "en-GB": "en-US";
|
|
279
313
|
readonly "de-DE": "Bibliothek";
|
|
280
314
|
};
|
|
281
315
|
};
|
|
@@ -283,6 +317,7 @@ declare const TYPE: {
|
|
|
283
317
|
readonly id: "runtime_environment";
|
|
284
318
|
readonly name: {
|
|
285
319
|
readonly "en-US": "Runtime Environment";
|
|
320
|
+
readonly "en-GB": "en-US";
|
|
286
321
|
readonly "de-DE": "Laufzeitumgebung";
|
|
287
322
|
};
|
|
288
323
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,68 +1,117 @@
|
|
|
1
1
|
const e = {
|
|
2
2
|
EN_US: "en-US",
|
|
3
|
+
EN_GB: "en-GB",
|
|
3
4
|
DE_DE: "de-DE"
|
|
4
|
-
},
|
|
5
|
+
}, y = ({
|
|
6
|
+
obj: t,
|
|
7
|
+
value: r,
|
|
8
|
+
useFallback: n = a.USE_FALLBACK
|
|
9
|
+
}) => r && Object.values(e).includes(r) ? t[r] || (n ? t[e.EN_US] : "") : r || (n ? t[e.EN_US] : ""), F = ({
|
|
10
|
+
obj: t,
|
|
11
|
+
useFallback: r = a.USE_FALLBACK
|
|
12
|
+
}) => {
|
|
13
|
+
const n = Object.values(e);
|
|
14
|
+
return Object.fromEntries(
|
|
15
|
+
n.map((i) => [i, y({ obj: t, value: t[i], useFallback: r })])
|
|
16
|
+
);
|
|
17
|
+
}, c = ({
|
|
18
|
+
obj: t,
|
|
19
|
+
keys: r,
|
|
20
|
+
useFallback: n = a.USE_FALLBACK
|
|
21
|
+
}) => Object.fromEntries(
|
|
22
|
+
Object.entries(t).map(([i, o]) => {
|
|
23
|
+
const s = r.filter((E) => E in o && typeof o[E] == "object").map((E) => [E, F({ obj: o[E], useFallback: n })]);
|
|
24
|
+
return [i, { ...o, ...Object.fromEntries(s) }];
|
|
25
|
+
})
|
|
26
|
+
), d = ({
|
|
27
|
+
obj: t,
|
|
28
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
29
|
+
useFallback: n = a.USE_FALLBACK
|
|
30
|
+
}) => y({ obj: t, value: t[r], useFallback: n }), T = ({
|
|
31
|
+
tag: t,
|
|
32
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
33
|
+
useFallback: n = a.USE_FALLBACK
|
|
34
|
+
}) => ({
|
|
35
|
+
id: t.id,
|
|
36
|
+
name: d({ obj: t.name, locale: r, useFallback: n })
|
|
37
|
+
}), B = ({
|
|
38
|
+
term: t,
|
|
39
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
40
|
+
useFallback: n = a.USE_FALLBACK
|
|
41
|
+
}) => ({
|
|
42
|
+
id: t.id,
|
|
43
|
+
name: d({ obj: t.name, locale: r, useFallback: n })
|
|
44
|
+
}), p = {
|
|
5
45
|
id: "backend",
|
|
6
46
|
name: {
|
|
7
47
|
[e.EN_US]: "Backend",
|
|
48
|
+
[e.EN_GB]: e.EN_US,
|
|
8
49
|
[e.DE_DE]: "Backend"
|
|
9
50
|
}
|
|
10
|
-
},
|
|
51
|
+
}, l = {
|
|
11
52
|
id: "frontend",
|
|
12
53
|
name: {
|
|
13
54
|
[e.EN_US]: "Frontend",
|
|
55
|
+
[e.EN_GB]: e.EN_US,
|
|
14
56
|
[e.DE_DE]: "Frontend"
|
|
15
57
|
}
|
|
16
|
-
},
|
|
58
|
+
}, L = {
|
|
17
59
|
id: "open_source",
|
|
18
60
|
name: {
|
|
19
61
|
[e.EN_US]: "Open Source",
|
|
62
|
+
[e.EN_GB]: e.EN_US,
|
|
20
63
|
[e.DE_DE]: "Open Source"
|
|
21
64
|
}
|
|
22
|
-
},
|
|
23
|
-
[
|
|
24
|
-
[
|
|
25
|
-
[
|
|
26
|
-
},
|
|
65
|
+
}, j = {
|
|
66
|
+
[p.id]: p,
|
|
67
|
+
[l.id]: l,
|
|
68
|
+
[L.id]: L
|
|
69
|
+
}, _ = c({ obj: j, keys: ["name"], useFallback: !1 }), S = {
|
|
27
70
|
id: "cms",
|
|
28
71
|
name: {
|
|
29
72
|
[e.EN_US]: "Content Management System",
|
|
73
|
+
[e.EN_GB]: e.EN_US,
|
|
30
74
|
[e.DE_DE]: "Content-Management-System"
|
|
31
75
|
}
|
|
32
|
-
},
|
|
76
|
+
}, b = {
|
|
33
77
|
id: "framework",
|
|
34
78
|
name: {
|
|
35
79
|
[e.EN_US]: "Framework",
|
|
80
|
+
[e.EN_GB]: e.EN_US,
|
|
36
81
|
[e.DE_DE]: "Framework"
|
|
37
82
|
}
|
|
38
83
|
}, g = {
|
|
39
84
|
id: "language",
|
|
40
85
|
name: {
|
|
41
86
|
[e.EN_US]: "Language",
|
|
87
|
+
[e.EN_GB]: e.EN_US,
|
|
42
88
|
[e.DE_DE]: "Sprache"
|
|
43
89
|
}
|
|
44
|
-
},
|
|
90
|
+
}, U = {
|
|
45
91
|
id: "library",
|
|
46
92
|
name: {
|
|
47
93
|
[e.EN_US]: "Library",
|
|
94
|
+
[e.EN_GB]: e.EN_US,
|
|
48
95
|
[e.DE_DE]: "Bibliothek"
|
|
49
96
|
}
|
|
50
|
-
},
|
|
97
|
+
}, f = {
|
|
51
98
|
id: "runtime_environment",
|
|
52
99
|
name: {
|
|
53
100
|
[e.EN_US]: "Runtime Environment",
|
|
101
|
+
[e.EN_GB]: e.EN_US,
|
|
54
102
|
[e.DE_DE]: "Laufzeitumgebung"
|
|
55
103
|
}
|
|
56
|
-
},
|
|
57
|
-
[
|
|
58
|
-
[
|
|
104
|
+
}, k = {
|
|
105
|
+
[S.id]: S,
|
|
106
|
+
[b.id]: b,
|
|
59
107
|
[g.id]: g,
|
|
60
|
-
[
|
|
61
|
-
[
|
|
62
|
-
},
|
|
108
|
+
[U.id]: U,
|
|
109
|
+
[f.id]: f
|
|
110
|
+
}, u = c({ obj: k, keys: ["name"], useFallback: !1 }), A = {
|
|
63
111
|
id: "node_js",
|
|
64
|
-
name:
|
|
65
|
-
|
|
112
|
+
name: {
|
|
113
|
+
[e.EN_US]: "Node.js"
|
|
114
|
+
},
|
|
66
115
|
label: {
|
|
67
116
|
[e.EN_US]: "JavaScript Runtime",
|
|
68
117
|
[e.DE_DE]: "JavaScript-Laufzeit"
|
|
@@ -71,14 +120,16 @@ const e = {
|
|
|
71
120
|
[e.EN_US]: "Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.",
|
|
72
121
|
[e.DE_DE]: "Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen."
|
|
73
122
|
},
|
|
74
|
-
|
|
123
|
+
type: [u.runtime_environment],
|
|
124
|
+
tags: [_.backend],
|
|
75
125
|
links: {
|
|
76
126
|
website: "https://nodejs.org"
|
|
77
127
|
}
|
|
78
|
-
},
|
|
128
|
+
}, N = {
|
|
79
129
|
id: "react",
|
|
80
|
-
name:
|
|
81
|
-
|
|
130
|
+
name: {
|
|
131
|
+
[e.EN_US]: "React"
|
|
132
|
+
},
|
|
82
133
|
label: {
|
|
83
134
|
[e.EN_US]: "JavaScript Library",
|
|
84
135
|
[e.DE_DE]: "JavaScript-Bibliothek"
|
|
@@ -87,104 +138,101 @@ const e = {
|
|
|
87
138
|
[e.EN_US]: "A JavaScript library for building component-based user interfaces.",
|
|
88
139
|
[e.DE_DE]: "Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen."
|
|
89
140
|
},
|
|
90
|
-
|
|
141
|
+
type: [u.library],
|
|
142
|
+
tags: [_.frontend, _.backend],
|
|
91
143
|
links: {
|
|
92
144
|
website: "https://react.dev"
|
|
93
145
|
}
|
|
94
|
-
},
|
|
146
|
+
}, D = {
|
|
95
147
|
id: "typescript",
|
|
96
|
-
name:
|
|
97
|
-
|
|
148
|
+
name: {
|
|
149
|
+
[e.EN_US]: "TypeScript"
|
|
150
|
+
},
|
|
98
151
|
label: {
|
|
99
152
|
[e.EN_US]: "High-Level Programming Language",
|
|
153
|
+
[e.EN_GB]: e.EN_US,
|
|
100
154
|
[e.DE_DE]: "Hochsprache"
|
|
101
155
|
},
|
|
102
156
|
definition: {
|
|
103
157
|
[e.EN_US]: "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.",
|
|
158
|
+
[e.EN_GB]: e.EN_US,
|
|
104
159
|
[e.DE_DE]: "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet."
|
|
105
160
|
},
|
|
106
|
-
|
|
161
|
+
type: [u.language],
|
|
162
|
+
tags: [_.frontend, _.backend, _.open_source],
|
|
107
163
|
links: {
|
|
108
164
|
website: "https://www.typescriptlang.org"
|
|
109
165
|
}
|
|
110
|
-
},
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}) => ({
|
|
126
|
-
id: n.id,
|
|
127
|
-
name: n.name[t] || n.name[a.DEFAULT_LOCALE]
|
|
128
|
-
}), A = ({
|
|
129
|
-
term: n,
|
|
130
|
-
locale: t = a.DEFAULT_LOCALE
|
|
131
|
-
}) => ({
|
|
132
|
-
id: n.id,
|
|
133
|
-
name: n.name[t] || n.name[a.DEFAULT_LOCALE]
|
|
134
|
-
});
|
|
135
|
-
function U({
|
|
136
|
-
id: n,
|
|
137
|
-
localized: t = !0,
|
|
138
|
-
locale: r = a.DEFAULT_LOCALE
|
|
166
|
+
}, m = {
|
|
167
|
+
[A.id]: A,
|
|
168
|
+
[N.id]: N,
|
|
169
|
+
[D.id]: D
|
|
170
|
+
};
|
|
171
|
+
c({ obj: m, keys: ["name", "label", "definition"], useFallback: !1 });
|
|
172
|
+
const a = {
|
|
173
|
+
DEFAULT_LOCALE: e.EN_US,
|
|
174
|
+
USE_FALLBACK: !0
|
|
175
|
+
};
|
|
176
|
+
function v({
|
|
177
|
+
id: t,
|
|
178
|
+
localized: r = !0,
|
|
179
|
+
locale: n = a.DEFAULT_LOCALE,
|
|
180
|
+
useFallback: i = a.USE_FALLBACK
|
|
139
181
|
}) {
|
|
140
|
-
const
|
|
141
|
-
return
|
|
142
|
-
...
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
182
|
+
const s = c({ obj: m, keys: ["name", "label", "definition"], useFallback: i })[t];
|
|
183
|
+
return r ? {
|
|
184
|
+
...s,
|
|
185
|
+
name: d({ obj: s.name, locale: n, useFallback: i }),
|
|
186
|
+
label: d({ obj: s.label, locale: n, useFallback: i }),
|
|
187
|
+
definition: d({ obj: s.definition, locale: n, useFallback: i }),
|
|
188
|
+
type: s.type.map((E) => B({ term: E, locale: n, useFallback: i })),
|
|
189
|
+
tags: s.tags.map((E) => T({ tag: E, locale: n, useFallback: i }))
|
|
190
|
+
} : s;
|
|
148
191
|
}
|
|
149
|
-
function
|
|
150
|
-
localized:
|
|
151
|
-
locale:
|
|
192
|
+
function O({
|
|
193
|
+
localized: t = !0,
|
|
194
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
195
|
+
useFallback: n = a.USE_FALLBACK
|
|
152
196
|
} = {}) {
|
|
153
|
-
const
|
|
154
|
-
return
|
|
197
|
+
const i = c({ obj: m, keys: ["name", "label", "definition"], useFallback: n }), o = Object.values(i);
|
|
198
|
+
return t ? o.map((s) => v({ id: s.id, locale: r, useFallback: n })) : o;
|
|
155
199
|
}
|
|
156
|
-
function
|
|
157
|
-
localized:
|
|
158
|
-
locale:
|
|
200
|
+
function h({
|
|
201
|
+
localized: t = !0,
|
|
202
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
203
|
+
useFallback: n = a.USE_FALLBACK
|
|
159
204
|
} = {}) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
205
|
+
const i = c({ obj: m, keys: ["name", "label", "definition"], useFallback: n });
|
|
206
|
+
if (!t)
|
|
207
|
+
return i;
|
|
208
|
+
const o = {};
|
|
209
|
+
for (const [s, E] of Object.entries(i)) {
|
|
210
|
+
const C = v({ id: E.id, locale: r, useFallback: n });
|
|
211
|
+
o[s] = C;
|
|
166
212
|
}
|
|
167
|
-
return
|
|
213
|
+
return o;
|
|
168
214
|
}
|
|
169
|
-
function
|
|
170
|
-
localized:
|
|
171
|
-
locale:
|
|
215
|
+
function G({
|
|
216
|
+
localized: t = !0,
|
|
217
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
218
|
+
useFallback: n = a.USE_FALLBACK
|
|
172
219
|
} = {}) {
|
|
173
|
-
const
|
|
174
|
-
return
|
|
220
|
+
const i = c({ obj: k, keys: ["name"], useFallback: !1 }), o = Object.values(i);
|
|
221
|
+
return t ? o.map((s) => B({ term: s, locale: r, useFallback: n })) : o;
|
|
175
222
|
}
|
|
176
|
-
function
|
|
177
|
-
localized:
|
|
178
|
-
locale:
|
|
223
|
+
function w({
|
|
224
|
+
localized: t = !0,
|
|
225
|
+
locale: r = a.DEFAULT_LOCALE,
|
|
226
|
+
useFallback: n = a.USE_FALLBACK
|
|
179
227
|
} = {}) {
|
|
180
|
-
const
|
|
181
|
-
return
|
|
228
|
+
const i = c({ obj: j, keys: ["name"], useFallback: !1 }), o = Object.values(i);
|
|
229
|
+
return t ? o.map((s) => T({ tag: s, locale: r, useFallback: n })) : o;
|
|
182
230
|
}
|
|
183
231
|
export {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
232
|
+
h as getDict,
|
|
233
|
+
w as getTags,
|
|
234
|
+
v as getTerm,
|
|
235
|
+
O as getTerms,
|
|
236
|
+
G as getTypes
|
|
189
237
|
};
|
|
190
238
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../data/locales/index.ts","../data/tags/backend.ts","../data/tags/frontend.ts","../data/tags/open_source.ts","../data/tags/index.ts","../data/types/cms.ts","../data/types/framework.ts","../data/types/language.ts","../data/types/library.ts","../data/types/runtime_environment.ts","../data/types/index.ts","../data/terms/node_js.ts","../data/terms/react.ts","../data/terms/typescript.ts","../data/terms/index.ts","../src/common/index.ts","../src/utils/index.ts","../src/index.ts"],"sourcesContent":["export const LOCALE = {\n EN_US: 'en-US',\n EN_GB: 'en-GB',\n DE_DE: 'de-DE',\n} as const\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'backend',\n\n name: {\n [LOCALE.EN_US]: `Backend`,\n [LOCALE.DE_DE]: `Backend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'frontend',\n\n name: {\n [LOCALE.EN_US]: `Frontend`,\n [LOCALE.DE_DE]: `Frontend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'open_source',\n\n name: {\n [LOCALE.EN_US]: `Open Source`,\n [LOCALE.DE_DE]: `Open Source`,\n },\n} as const satisfies TTermTag\n","import backend from './backend'\nimport frontend from './frontend'\nimport open_source from './open_source'\n\nexport const TAG = {\n [backend.id]: backend,\n [frontend.id]: frontend,\n [open_source.id]: open_source,\n} as const\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'cms',\n\n name: {\n [LOCALE.EN_US]: `Content Management System`,\n [LOCALE.DE_DE]: `Content-Management-System`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'framework',\n\n name: {\n [LOCALE.EN_US]: `Framework`,\n [LOCALE.DE_DE]: `Framework`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'language',\n\n name: {\n [LOCALE.EN_US]: `Language`,\n [LOCALE.DE_DE]: `Sprache`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'library',\n\n name: {\n [LOCALE.EN_US]: `Library`,\n [LOCALE.DE_DE]: `Bibliothek`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'runtime_environment',\n\n name: {\n [LOCALE.EN_US]: `Runtime Environment`,\n [LOCALE.DE_DE]: `Laufzeitumgebung`,\n },\n} as const satisfies TTermType\n","import cms from './cms'\nimport framework from './framework'\nimport language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\n [framework.id]: framework,\n [language.id]: language,\n [library.id]: library,\n [runtime_environment.id]: runtime_environment,\n} as const\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'node_js',\n\n name: 'Node.js',\n\n type: [TYPE.runtime_environment],\n\n label: {\n [LOCALE.EN_US]: `JavaScript Runtime`,\n [LOCALE.DE_DE]: `JavaScript-Laufzeit`,\n },\n\n definition: {\n [LOCALE.EN_US]: `Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.`,\n [LOCALE.DE_DE]: `Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen.`,\n },\n\n tags: [TAG.backend],\n\n links: {\n website: 'https://nodejs.org',\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'react',\n\n name: 'React',\n\n type: [TYPE.library],\n\n label: {\n [LOCALE.EN_US]: `JavaScript Library`,\n [LOCALE.DE_DE]: `JavaScript-Bibliothek`,\n },\n\n definition: {\n [LOCALE.EN_US]: `A JavaScript library for building component-based user interfaces.`,\n [LOCALE.DE_DE]: `Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen.`,\n },\n\n tags: [TAG.frontend, TAG.backend],\n\n links: {\n website: 'https://react.dev',\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: 'typescript',\n\n name: 'TypeScript',\n\n type: [TYPE.language],\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: `TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.`,\n [LOCALE.DE_DE]: `TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.`,\n },\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: 'https://www.typescriptlang.org',\n },\n} as const satisfies TTerm\n","import node_js from './node_js'\nimport react from './react'\nimport typescript from './typescript'\n\nexport const TERM = {\n [node_js.id]: node_js,\n [react.id]: react,\n [typescript.id]: typescript,\n} as const\n","import { LOCALE } from '@data'\n\nexport const MISC = {} as const\n\nexport const CONFIG = {\n DEFAULT_LOCALE: LOCALE.EN_US,\n} as const\n","import type {\n TLocale,\n TTermDefinition,\n TTermLabel,\n TTermTag,\n TTermTagLocalized,\n TTermType,\n TTermTypeLocalized,\n} from '@/types'\nimport { CONFIG } from '@/common'\n\nexport const getLabelLocalized = ({\n label,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n label: TTermLabel\n locale?: TLocale\n}): string => {\n return label[locale] || label[CONFIG.DEFAULT_LOCALE]\n}\n\nexport const getDefinitionLocalized = ({\n definition,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n definition: TTermDefinition\n locale?: TLocale\n}): string => {\n return definition[locale] || definition[CONFIG.DEFAULT_LOCALE]\n}\n\nexport const getTermTagLocalized = ({\n tag,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n tag: TTermTag\n locale?: TLocale\n}): TTermTagLocalized => {\n return {\n id: tag.id,\n name: tag.name[locale] || tag.name[CONFIG.DEFAULT_LOCALE],\n }\n}\n\nexport const getTermTypeLocalized = ({\n term,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n term: TTermType\n locale?: TLocale\n}): TTermTypeLocalized => {\n return {\n id: term.id,\n name: term.name[locale] || term.name[CONFIG.DEFAULT_LOCALE],\n }\n}\n","import type { TDevDict, TDevDictLocalized, TLocale, TTerm, TTermId, TTermLocalized, TTermType, TTermTypeLocalized, TTermTag, TTermTagLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { getDefinitionLocalized, getLabelLocalized, getTermTagLocalized, getTermTypeLocalized } from '@/utils'\nimport { TAG, TERM, TYPE } from '@data'\n\nexport function getTerm(params: { id: TTermId; localized: false }): TTerm\nexport function getTerm(params: { id: TTermId; localized?: true; locale?: TLocale }): TTermLocalized\nexport function getTerm({\n id,\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n id: TTermId\n localized?: boolean\n locale?: TLocale\n}): TTerm | TTermLocalized {\n // We do not need a null check here because TTermId only allows valid IDs\n const term = TERM[id]\n\n if (!localized) {\n return term\n }\n\n return {\n ...term,\n label: getLabelLocalized({ label: term.label, locale }),\n definition: getDefinitionLocalized({ definition: term.definition, locale }),\n type: term.type.map((value) => getTermTypeLocalized({ term: value, locale })),\n tags: term.tags.map((value) => getTermTagLocalized({ tag: value, locale })),\n }\n}\n\nexport function getTerms(params?: { localized: false }): TTerm[]\nexport function getTerms(params?: { localized?: true; locale?: TLocale }): TTermLocalized[]\nexport function getTerms({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTerm[] | TTermLocalized[] {\n const terms = Object.values(TERM)\n\n if (!localized) {\n return terms\n }\n\n return terms.map((term) => getTerm({ id: term.id, locale }))\n}\n\nexport function getDict(params?: { localized: false }): TDevDict\nexport function getDict(params?: { localized?: true; locale?: TLocale }): TDevDictLocalized\nexport function getDict({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TDevDict | TDevDictLocalized {\n if (!localized) {\n return TERM as TDevDict\n }\n\n const dict = {} as TDevDictLocalized\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale })\n dict[key as TTermId] = localizedTerm\n }\n\n return dict\n}\n\nexport function getTypes(params?: { localized: false }): TTermType[]\nexport function getTypes(params?: { localized?: true; locale?: TLocale }): TTermTypeLocalized[]\nexport function getTypes({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTermType[] | TTermTypeLocalized[] {\n const types = Object.values(TYPE)\n\n if (!localized) {\n return types\n }\n\n return types.map((type) => getTermTypeLocalized({ term: type, locale }))\n}\n\nexport function getTags(params?: { localized: false }): TTermTag[]\nexport function getTags(params?: { localized?: true; locale?: TLocale }): TTermTagLocalized[]\nexport function getTags({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n}: {\n localized?: boolean\n locale?: TLocale\n} = {}): TTermTag[] | TTermTagLocalized[] {\n const tags = Object.values(TAG)\n\n if (!localized) {\n return tags\n }\n\n return tags.map((tag) => getTermTagLocalized({ tag, locale }))\n}\n"],"names":["LOCALE","backend","frontend","open_source","TAG","cms","framework","language","library","runtime_environment","TYPE","node_js","react","typescript","TERM","CONFIG","getLabelLocalized","label","locale","getDefinitionLocalized","definition","getTermTagLocalized","tag","getTermTypeLocalized","term","getTerm","id","localized","value","getTerms","terms","getDict","dict","key","localizedTerm","getTypes","types","type","getTags","tags"],"mappings":"AAAO,MAAMA,IAAS;AAAA,EACpB,OAAO;AAAA,EAEP,OAAO;AACT,GCAAC,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACD,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAE,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACF,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAG,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACH,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPaI,IAAM;AAAA,EACjB,CAACH,EAAQ,EAAE,GAAGA;AAAA,EACd,CAACC,EAAS,EAAE,GAAGA;AAAA,EACf,CAACC,EAAY,EAAE,GAAGA;AACpB,GCJAE,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACL,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAM,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACN,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAO,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACP,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAQ,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACR,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCPAS,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACT,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCLaU,IAAO;AAAA,EAClB,CAACL,EAAI,EAAE,GAAGA;AAAA,EACV,CAACC,EAAU,EAAE,GAAGA;AAAA,EAChB,CAACC,EAAS,EAAE,GAAGA;AAAA,EACf,CAACC,EAAQ,EAAE,GAAGA;AAAA,EACd,CAACC,EAAoB,EAAE,GAAGA;AAC5B,GCNAE,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,EAEN,MAAM,CAACD,EAAK,mBAAmB;AAAA,EAE/B,OAAO;AAAA,IACL,CAACV,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,YAAY;AAAA,IACV,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,MAAM,CAACI,EAAI,OAAO;AAAA,EAElB,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCtBAQ,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,EAEN,MAAM,CAACF,EAAK,OAAO;AAAA,EAEnB,OAAO;AAAA,IACL,CAACV,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,YAAY;AAAA,IACV,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,MAAM,CAACI,EAAI,UAAUA,EAAI,OAAO;AAAA,EAEhC,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCtBAS,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,EAEN,MAAM,CAACH,EAAK,QAAQ;AAAA,EAEpB,OAAO;AAAA,IACL,CAACV,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,YAAY;AAAA,IACV,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,MAAM,CAACI,EAAI,UAAUA,EAAI,SAASA,EAAI,WAAW;AAAA,EAEjD,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCxBaU,IAAO;AAAA,EAClB,CAACH,EAAQ,EAAE,GAAGA;AAAA,EACd,CAACC,EAAM,EAAE,GAAGA;AAAA,EACZ,CAACC,EAAW,EAAE,GAAGA;AACnB,GCJaE,IAAS;AAAA,EACpB,gBAAgBf,EAAO;AACzB,GCKagB,IAAoB,CAAC;AAAA,EAChC,OAAAC;AAAA,EACA,QAAAC,IAASH,EAAO;AAClB,MAISE,EAAMC,CAAM,KAAKD,EAAMF,EAAO,cAAc,GAGxCI,IAAyB,CAAC;AAAA,EACrC,YAAAC;AAAA,EACA,QAAAF,IAASH,EAAO;AAClB,MAISK,EAAWF,CAAM,KAAKE,EAAWL,EAAO,cAAc,GAGlDM,IAAsB,CAAC;AAAA,EAClC,KAAAC;AAAA,EACA,QAAAJ,IAASH,EAAO;AAClB,OAIS;AAAA,EACL,IAAIO,EAAI;AAAA,EACR,MAAMA,EAAI,KAAKJ,CAAM,KAAKI,EAAI,KAAKP,EAAO,cAAc;AAAA,IAI/CQ,IAAuB,CAAC;AAAA,EACnC,MAAAC;AAAA,EACA,QAAAN,IAASH,EAAO;AAClB,OAIS;AAAA,EACL,IAAIS,EAAK;AAAA,EACT,MAAMA,EAAK,KAAKN,CAAM,KAAKM,EAAK,KAAKT,EAAO,cAAc;AAAA;AC9CvD,SAASU,EAAQ;AAAA,EACtB,IAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,QAAAT,IAASH,EAAO;AAClB,GAI2B;AAEzB,QAAMS,IAAOV,EAAKY,CAAE;AAEpB,SAAKC,IAIE;AAAA,IACL,GAAGH;AAAA,IACH,OAAOR,EAAkB,EAAE,OAAOQ,EAAK,OAAO,QAAAN,GAAQ;AAAA,IACtD,YAAYC,EAAuB,EAAE,YAAYK,EAAK,YAAY,QAAAN,GAAQ;AAAA,IAC1E,MAAMM,EAAK,KAAK,IAAI,CAACI,MAAUL,EAAqB,EAAE,MAAMK,GAAO,QAAAV,EAAA,CAAQ,CAAC;AAAA,IAC5E,MAAMM,EAAK,KAAK,IAAI,CAACI,MAAUP,EAAoB,EAAE,KAAKO,GAAO,QAAAV,GAAQ,CAAC;AAAA,EAAA,IARnEM;AAUX;AAIO,SAASK,EAAS;AAAA,EACvB,WAAAF,IAAY;AAAA,EACZ,QAAAT,IAASH,EAAO;AAClB,IAGI,IAAgC;AAClC,QAAMe,IAAQ,OAAO,OAAOhB,CAAI;AAEhC,SAAKa,IAIEG,EAAM,IAAI,CAACN,MAASC,EAAQ,EAAE,IAAID,EAAK,IAAI,QAAAN,EAAA,CAAQ,CAAC,IAHlDY;AAIX;AAIO,SAASC,EAAQ;AAAA,EACtB,WAAAJ,IAAY;AAAA,EACZ,QAAAT,IAASH,EAAO;AAClB,IAGI,IAAkC;AACpC,MAAI,CAACY;AACH,WAAOb;AAGT,QAAMkB,IAAO,CAAA;AAEb,aAAW,CAACC,GAAKT,CAAI,KAAK,OAAO,QAAQV,CAAI,GAAG;AAC9C,UAAMoB,IAAgBT,EAAQ,EAAE,IAAID,EAAK,IAAI,QAAAN,GAAQ;AACrD,IAAAc,EAAKC,CAAc,IAAIC;AAAA,EACzB;AAEA,SAAOF;AACT;AAIO,SAASG,EAAS;AAAA,EACvB,WAAAR,IAAY;AAAA,EACZ,QAAAT,IAASH,EAAO;AAClB,IAGI,IAAwC;AAC1C,QAAMqB,IAAQ,OAAO,OAAO1B,CAAI;AAEhC,SAAKiB,IAIES,EAAM,IAAI,CAACC,MAASd,EAAqB,EAAE,MAAMc,GAAM,QAAAnB,EAAA,CAAQ,CAAC,IAH9DkB;AAIX;AAIO,SAASE,EAAQ;AAAA,EACtB,WAAAX,IAAY;AAAA,EACZ,QAAAT,IAASH,EAAO;AAClB,IAGI,IAAsC;AACxC,QAAMwB,IAAO,OAAO,OAAOnC,CAAG;AAE9B,SAAKuB,IAIEY,EAAK,IAAI,CAACjB,MAAQD,EAAoB,EAAE,KAAAC,GAAK,QAAAJ,EAAA,CAAQ,CAAC,IAHpDqB;AAIX;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../data/locales/index.ts","../src/utils/index.ts","../data/tags/backend.ts","../data/tags/frontend.ts","../data/tags/open_source.ts","../data/tags/index.ts","../data/types/cms.ts","../data/types/framework.ts","../data/types/language.ts","../data/types/library.ts","../data/types/runtime_environment.ts","../data/types/index.ts","../data/terms/node_js.ts","../data/terms/react.ts","../data/terms/typescript.ts","../data/terms/index.ts","../src/common/index.ts","../src/index.ts"],"sourcesContent":["export const LOCALE = {\n EN_US: 'en-US',\n EN_GB: 'en-GB',\n DE_DE: 'de-DE',\n} as const\n","import type { TLocale, TLocaleRecord, TTermTag, TTermTagLocalized, TTermType, TTermTypeLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { LOCALE } from '@data'\n\nexport const interpolateValue = ({\n obj,\n value,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n value: undefined | string\n useFallback?: boolean\n}): string => {\n if (value && Object.values<string>(LOCALE).includes(value)) {\n return obj[value as TLocale] || (useFallback ? obj[LOCALE.EN_US] : '')\n }\n return value || (useFallback ? obj[LOCALE.EN_US] : '')\n}\n\nexport const interpolateLocaleRecord = ({\n obj,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n useFallback?: boolean\n}): TLocaleRecord => {\n const locales = Object.values<string>(LOCALE) as TLocale[]\n\n return Object.fromEntries(\n locales.map((locale) => [locale, interpolateValue({ obj, value: obj[locale], useFallback })]),\n ) as TLocaleRecord\n}\n\nexport const interpolateValues = <T extends Record<string, any>>({\n obj,\n keys,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: T\n keys: string[]\n useFallback?: boolean\n}): T => {\n return Object.fromEntries(\n Object.entries(obj).map(([itemKey, item]) => {\n const interpolatedFields = keys\n .filter((key) => key in item && typeof item[key] === 'object')\n .map((key) => [key, interpolateLocaleRecord({ obj: item[key], useFallback })])\n\n return [itemKey, { ...item, ...Object.fromEntries(interpolatedFields) }]\n }),\n ) as T\n}\n\nexport const getValueLocalized = ({\n obj,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n obj: TLocaleRecord\n locale?: TLocale\n useFallback?: boolean\n}): string => {\n return interpolateValue({ obj, value: obj[locale], useFallback })\n}\n\nexport const getTermTagLocalized = ({\n tag,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n tag: TTermTag\n locale?: TLocale\n useFallback?: boolean\n}): TTermTagLocalized => {\n return {\n id: tag.id,\n name: getValueLocalized({ obj: tag.name, locale, useFallback }),\n }\n}\n\nexport const getTermTypeLocalized = ({\n term,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n term: TTermType\n locale?: TLocale\n useFallback?: boolean\n}): TTermTypeLocalized => {\n return {\n id: term.id,\n name: getValueLocalized({ obj: term.name, locale, useFallback }),\n }\n}\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'backend',\n\n name: {\n [LOCALE.EN_US]: `Backend`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Backend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'frontend',\n\n name: {\n [LOCALE.EN_US]: `Frontend`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Frontend`,\n },\n} as const satisfies TTermTag\n","import type { TTermTag } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'open_source',\n\n name: {\n [LOCALE.EN_US]: `Open Source`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Open Source`,\n },\n} as const satisfies TTermTag\n","import { interpolateValues } from '@/utils'\n\nimport backend from './backend'\nimport frontend from './frontend'\nimport open_source from './open_source'\n\nexport const RAW_TAG = {\n [backend.id]: backend,\n [frontend.id]: frontend,\n [open_source.id]: open_source,\n} as const\n\nexport const TAG = interpolateValues({ obj: RAW_TAG, keys: ['name'], useFallback: false })\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'cms',\n\n name: {\n [LOCALE.EN_US]: `Content Management System`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Content-Management-System`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'framework',\n\n name: {\n [LOCALE.EN_US]: `Framework`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Framework`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'language',\n\n name: {\n [LOCALE.EN_US]: `Language`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Sprache`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'library',\n\n name: {\n [LOCALE.EN_US]: `Library`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Bibliothek`,\n },\n} as const satisfies TTermType\n","import type { TTermType } from '@/types'\n\nimport { LOCALE } from '../locales'\n\nexport default {\n id: 'runtime_environment',\n\n name: {\n [LOCALE.EN_US]: `Runtime Environment`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Laufzeitumgebung`,\n },\n} as const satisfies TTermType\n","import { interpolateValues } from '@/utils'\n\nimport cms from './cms'\nimport framework from './framework'\nimport language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const RAW_TYPE = {\n [cms.id]: cms,\n [framework.id]: framework,\n [language.id]: language,\n [library.id]: library,\n [runtime_environment.id]: runtime_environment,\n} as const\n\nexport const TYPE = interpolateValues({ obj: RAW_TYPE, keys: ['name'], useFallback: false })\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `node_js`,\n\n name: {\n [LOCALE.EN_US]: `Node.js`,\n },\n\n label: {\n [LOCALE.EN_US]: `JavaScript Runtime`,\n [LOCALE.DE_DE]: `JavaScript-Laufzeit`,\n },\n\n definition: {\n [LOCALE.EN_US]: `Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.`,\n [LOCALE.DE_DE]: `Node.js ist eine kostenlose, Open-Source, plattformübergreifende JavaScript-Laufzeitumgebung, die es Entwicklern ermöglicht, Server, Webanwendungen, Befehlszeilentools und Skripte zu erstellen.`,\n },\n\n type: [TYPE.runtime_environment],\n\n tags: [TAG.backend],\n\n links: {\n website: `https://nodejs.org`,\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `react`,\n\n name: {\n [LOCALE.EN_US]: `React`,\n },\n\n label: {\n [LOCALE.EN_US]: `JavaScript Library`,\n [LOCALE.DE_DE]: `JavaScript-Bibliothek`,\n },\n\n definition: {\n [LOCALE.EN_US]: `A JavaScript library for building component-based user interfaces.`,\n [LOCALE.DE_DE]: `Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen.`,\n },\n\n type: [TYPE.library],\n\n tags: [TAG.frontend, TAG.backend],\n\n links: {\n website: `https://react.dev`,\n },\n} as const satisfies TTerm\n","import type { TTerm } from '@/types'\n\nimport { LOCALE } from '../locales'\nimport { TAG } from '../tags'\nimport { TYPE } from '../types'\n\nexport default {\n id: `typescript`,\n\n name: {\n [LOCALE.EN_US]: `TypeScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: `TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.`,\n [LOCALE.EN_GB]: LOCALE.EN_US,\n [LOCALE.DE_DE]: `TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.`,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://www.typescriptlang.org`,\n },\n} as const satisfies TTerm\n","import { interpolateValues } from '@/utils'\n\nimport node_js from './node_js'\nimport react from './react'\nimport typescript from './typescript'\n\nexport const RAW_TERM = {\n [node_js.id]: node_js,\n [react.id]: react,\n [typescript.id]: typescript,\n} as const\n\nexport const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback: false })\n","import { LOCALE } from '@data'\n\nexport const MISC = {} as const\n\nexport const CONFIG = {\n DEFAULT_LOCALE: LOCALE.EN_US,\n USE_FALLBACK: true,\n} as const\n","import type {\n TDevDict,\n TDevDictLocalized,\n TLocale,\n TTerm,\n TTermId,\n TTermLocalized,\n TTermTag,\n TTermTagLocalized,\n TTermType,\n TTermTypeLocalized,\n} from '@/types'\nimport { CONFIG } from '@/common'\nimport { getTermTagLocalized, getTermTypeLocalized, getValueLocalized, interpolateValues } from '@/utils'\nimport { RAW_TAG, RAW_TERM, RAW_TYPE } from '@data'\n\n/**\n * NB: The `useFallback` param only works when `localized` is `true`. This is by design.\n */\n\nexport function getTerm(params: { id: TTermId; localized: false }): TTerm\nexport function getTerm(params: {\n id: TTermId\n localized?: true\n locale?: TLocale\n useFallback?: boolean\n}): TTermLocalized\nexport function getTerm({\n id,\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n id: TTermId\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n}): TTerm | TTermLocalized {\n // We do not need a null check here because TTermId only allows valid IDs\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n const term = TERM[id]\n\n if (!localized) {\n return term\n }\n\n return {\n ...term,\n name: getValueLocalized({ obj: term.name, locale, useFallback }),\n label: getValueLocalized({ obj: term.label, locale, useFallback }),\n definition: getValueLocalized({ obj: term.definition, locale, useFallback }),\n type: term.type.map((value) => getTermTypeLocalized({ term: value, locale, useFallback })),\n tags: term.tags.map((value) => getTermTagLocalized({ tag: value, locale, useFallback })),\n }\n}\n\nexport function getTerms(params?: { localized: false; useFallback?: boolean }): TTerm[]\nexport function getTerms(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermLocalized[]\nexport function getTerms({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTerm[] | TTermLocalized[] {\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n const terms = Object.values(TERM)\n\n if (!localized) {\n return terms\n }\n\n return terms.map((term) => getTerm({ id: term.id, locale, useFallback }))\n}\n\nexport function getDict(params?: { localized: false; useFallback?: boolean }): TDevDict\nexport function getDict(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TDevDictLocalized\nexport function getDict({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TDevDict | TDevDictLocalized {\n const TERM = interpolateValues({ obj: RAW_TERM, keys: ['name', 'label', 'definition'], useFallback })\n\n if (!localized) {\n return TERM as TDevDict\n }\n\n const dict = {} as TDevDictLocalized\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale, useFallback })\n dict[key as TTermId] = localizedTerm\n }\n\n return dict\n}\n\nexport function getTypes(params?: { localized: false; useFallback?: boolean }): TTermType[]\nexport function getTypes(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermTypeLocalized[]\nexport function getTypes({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTermType[] | TTermTypeLocalized[] {\n const TYPE = interpolateValues({ obj: RAW_TYPE, keys: ['name'], useFallback: false })\n const types = Object.values(TYPE)\n\n if (!localized) {\n return types\n }\n\n return types.map((type) => getTermTypeLocalized({ term: type, locale, useFallback }))\n}\n\nexport function getTags(params?: { localized: false; useFallback?: boolean }): TTermTag[]\nexport function getTags(params?: { localized?: true; locale?: TLocale; useFallback?: boolean }): TTermTagLocalized[]\nexport function getTags({\n localized = true,\n locale = CONFIG.DEFAULT_LOCALE,\n useFallback = CONFIG.USE_FALLBACK,\n}: {\n localized?: boolean\n locale?: TLocale\n useFallback?: boolean\n} = {}): TTermTag[] | TTermTagLocalized[] {\n const TAG = interpolateValues({ obj: RAW_TAG, keys: ['name'], useFallback: false })\n const tags = Object.values(TAG)\n\n if (!localized) {\n return tags\n }\n\n return tags.map((tag) => getTermTagLocalized({ tag, locale, useFallback }))\n}\n"],"names":["LOCALE","interpolateValue","obj","value","useFallback","CONFIG","interpolateLocaleRecord","locales","locale","interpolateValues","keys","itemKey","item","interpolatedFields","key","getValueLocalized","getTermTagLocalized","tag","getTermTypeLocalized","term","backend","frontend","open_source","RAW_TAG","TAG","cms","framework","language","library","runtime_environment","RAW_TYPE","TYPE","node_js","react","typescript","RAW_TERM","getTerm","id","localized","getTerms","TERM","terms","getDict","dict","localizedTerm","getTypes","types","type","getTags","tags"],"mappings":"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"}
|
package/package.json
CHANGED