dev-dict 0.4.2 → 0.4.3
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.js +26 -26
- 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(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"},
|
|
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"},g=({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]:""),h=({obj:t,useFallback:i=a.USE_FALLBACK})=>{const n=Object.values(e);return Object.fromEntries(n.map(r=>[r,g({obj:t,value:t[r],useFallback:i})]))},_=({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,h({obj:o[E],useFallback:n})]);return[r,{...o,...Object.fromEntries(s)}]})),m=({obj:t,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK})=>g({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})}),L=({term:t,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK})=>({id:t.id,name:m({obj:t.name,locale:i,useFallback:n})}),f={id:"backend",name:{[e.EN_US]:"Backend",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Backend"}},b={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={[f.id]:f,[b.id]:b,[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"}},j={id:"runtime_environment",name:{[e.EN_US]:"Runtime Environment",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Laufzeitumgebung"}},v={[N.id]:N,[D.id]:D,[y.id]:y,[T.id]:T,[j.id]:j},u=_({obj:v,keys:["name"],useFallback:!1}),B={id:"javascript",name:{[e.EN_US]:"JavaScript"},label:{[e.EN_US]:"High-Level Programming Language",[e.DE_DE]:"Hochsprache"},definition:{[e.EN_US]:""},type:[u.language],tags:[d.frontend,d.backend,d.open_source],links:{website:"https://en.wikipedia.org/wiki/JavaScript"}},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:[u.runtime_environment],tags:[d.backend],links:{website:"https://nodejs.org"}},C={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:[u.library],tags:[d.frontend,d.backend],links:{website:"https://react.dev"}},O={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:[u.language],tags:[d.frontend,d.backend,d.open_source],links:{website:"https://www.typescriptlang.org"}},p={[k.id]:k,[C.id]:C,[O.id]:O,[B.id]:B};_({obj:p,keys:["name","label","definition"],useFallback:!1});const a={DEFAULT_LOCALE:e.EN_US,USE_FALLBACK:!0};function S({id:t,localized:i=!0,locale:n=a.DEFAULT_LOCALE,useFallback:r=a.USE_FALLBACK}){const s=_({obj:p,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=>L({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=_({obj:p,keys:["name","label","definition"],useFallback:n}),o=Object.values(r);return t?o.map(s=>S({id:s.id,locale:i,useFallback:n})):o}function G({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=_({obj:p,keys:["name","label","definition"],useFallback:n});if(!t)return r;const o={};for(const[s,E]of Object.entries(r)){const J=S({id:E.id,locale:i,useFallback:n});o[s]=J}return o}function w({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=_({obj:v,keys:["name"],useFallback:n}),o=Object.values(r);return t?o.map(s=>L({term:s,locale:i,useFallback:n})):o}function z({localized:t=!0,locale:i=a.DEFAULT_LOCALE,useFallback:n=a.USE_FALLBACK}={}){const r=_({obj:A,keys:["name"],useFallback:n}),o=Object.values(r);return t?o.map(s=>l({tag:s,locale:i,useFallback:n})):o}c.getDict=G,c.getTags=z,c.getTerm=S,c.getTerms=F,c.getTypes=w,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","../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/javascript.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: `javascript`,\n\n name: {\n [LOCALE.EN_US]: `JavaScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: ``,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://en.wikipedia.org/wiki/JavaScript`,\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: `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 javascript from './javascript'\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 [javascript.id]: javascript,\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","javascript","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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"}
|
|
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/javascript.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: `javascript`,\n\n name: {\n [LOCALE.EN_US]: `JavaScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: ``,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://en.wikipedia.org/wiki/JavaScript`,\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: `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 javascript from './javascript'\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 [javascript.id]: javascript,\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 })\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 })\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","javascript","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.js
CHANGED
|
@@ -6,7 +6,7 @@ const e = {
|
|
|
6
6
|
obj: t,
|
|
7
7
|
value: r,
|
|
8
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] : ""),
|
|
9
|
+
}) => r && Object.values(e).includes(r) ? t[r] || (n ? t[e.EN_US] : "") : r || (n ? t[e.EN_US] : ""), h = ({
|
|
10
10
|
obj: t,
|
|
11
11
|
useFallback: r = a.USE_FALLBACK
|
|
12
12
|
}) => {
|
|
@@ -20,21 +20,21 @@ const e = {
|
|
|
20
20
|
useFallback: n = a.USE_FALLBACK
|
|
21
21
|
}) => Object.fromEntries(
|
|
22
22
|
Object.entries(t).map(([i, o]) => {
|
|
23
|
-
const s = r.filter((E) => E in o && typeof o[E] == "object").map((E) => [E,
|
|
23
|
+
const s = r.filter((E) => E in o && typeof o[E] == "object").map((E) => [E, h({ obj: o[E], useFallback: n })]);
|
|
24
24
|
return [i, { ...o, ...Object.fromEntries(s) }];
|
|
25
25
|
})
|
|
26
26
|
), d = ({
|
|
27
27
|
obj: t,
|
|
28
28
|
locale: r = a.DEFAULT_LOCALE,
|
|
29
29
|
useFallback: n = a.USE_FALLBACK
|
|
30
|
-
}) => T({ obj: t, value: t[r], useFallback: n }),
|
|
30
|
+
}) => T({ obj: t, value: t[r], useFallback: n }), B = ({
|
|
31
31
|
tag: t,
|
|
32
32
|
locale: r = a.DEFAULT_LOCALE,
|
|
33
33
|
useFallback: n = a.USE_FALLBACK
|
|
34
34
|
}) => ({
|
|
35
35
|
id: t.id,
|
|
36
36
|
name: d({ obj: t.name, locale: r, useFallback: n })
|
|
37
|
-
}),
|
|
37
|
+
}), j = ({
|
|
38
38
|
term: t,
|
|
39
39
|
locale: r = a.DEFAULT_LOCALE,
|
|
40
40
|
useFallback: n = a.USE_FALLBACK
|
|
@@ -48,39 +48,39 @@ const e = {
|
|
|
48
48
|
[e.EN_GB]: e.EN_US,
|
|
49
49
|
[e.DE_DE]: "Backend"
|
|
50
50
|
}
|
|
51
|
-
},
|
|
51
|
+
}, S = {
|
|
52
52
|
id: "frontend",
|
|
53
53
|
name: {
|
|
54
54
|
[e.EN_US]: "Frontend",
|
|
55
55
|
[e.EN_GB]: e.EN_US,
|
|
56
56
|
[e.DE_DE]: "Frontend"
|
|
57
57
|
}
|
|
58
|
-
},
|
|
58
|
+
}, L = {
|
|
59
59
|
id: "open_source",
|
|
60
60
|
name: {
|
|
61
61
|
[e.EN_US]: "Open Source",
|
|
62
62
|
[e.EN_GB]: e.EN_US,
|
|
63
63
|
[e.DE_DE]: "Open Source"
|
|
64
64
|
}
|
|
65
|
-
},
|
|
65
|
+
}, v = {
|
|
66
66
|
[u.id]: u,
|
|
67
|
-
[
|
|
68
|
-
[
|
|
69
|
-
}, c = _({ obj:
|
|
67
|
+
[S.id]: S,
|
|
68
|
+
[L.id]: L
|
|
69
|
+
}, c = _({ obj: v, keys: ["name"], useFallback: !1 }), g = {
|
|
70
70
|
id: "cms",
|
|
71
71
|
name: {
|
|
72
72
|
[e.EN_US]: "Content Management System",
|
|
73
73
|
[e.EN_GB]: e.EN_US,
|
|
74
74
|
[e.DE_DE]: "Content-Management-System"
|
|
75
75
|
}
|
|
76
|
-
},
|
|
76
|
+
}, l = {
|
|
77
77
|
id: "framework",
|
|
78
78
|
name: {
|
|
79
79
|
[e.EN_US]: "Framework",
|
|
80
80
|
[e.EN_GB]: e.EN_US,
|
|
81
81
|
[e.DE_DE]: "Framework"
|
|
82
82
|
}
|
|
83
|
-
},
|
|
83
|
+
}, b = {
|
|
84
84
|
id: "language",
|
|
85
85
|
name: {
|
|
86
86
|
[e.EN_US]: "Language",
|
|
@@ -101,13 +101,13 @@ const e = {
|
|
|
101
101
|
[e.EN_GB]: e.EN_US,
|
|
102
102
|
[e.DE_DE]: "Laufzeitumgebung"
|
|
103
103
|
}
|
|
104
|
-
},
|
|
105
|
-
[L.id]: L,
|
|
106
|
-
[b.id]: b,
|
|
104
|
+
}, k = {
|
|
107
105
|
[g.id]: g,
|
|
106
|
+
[l.id]: l,
|
|
107
|
+
[b.id]: b,
|
|
108
108
|
[U.id]: U,
|
|
109
109
|
[f.id]: f
|
|
110
|
-
}, m = _({ obj:
|
|
110
|
+
}, m = _({ obj: k, keys: ["name"], useFallback: !1 }), A = {
|
|
111
111
|
id: "javascript",
|
|
112
112
|
name: {
|
|
113
113
|
[e.EN_US]: "JavaScript"
|
|
@@ -203,11 +203,11 @@ function C({
|
|
|
203
203
|
name: d({ obj: s.name, locale: n, useFallback: i }),
|
|
204
204
|
label: d({ obj: s.label, locale: n, useFallback: i }),
|
|
205
205
|
definition: d({ obj: s.definition, locale: n, useFallback: i }),
|
|
206
|
-
type: s.type.map((E) =>
|
|
207
|
-
tags: s.tags.map((E) =>
|
|
206
|
+
type: s.type.map((E) => j({ term: E, locale: n, useFallback: i })),
|
|
207
|
+
tags: s.tags.map((E) => B({ tag: E, locale: n, useFallback: i }))
|
|
208
208
|
} : s;
|
|
209
209
|
}
|
|
210
|
-
function
|
|
210
|
+
function F({
|
|
211
211
|
localized: t = !0,
|
|
212
212
|
locale: r = a.DEFAULT_LOCALE,
|
|
213
213
|
useFallback: n = a.USE_FALLBACK
|
|
@@ -225,8 +225,8 @@ function G({
|
|
|
225
225
|
return i;
|
|
226
226
|
const o = {};
|
|
227
227
|
for (const [s, E] of Object.entries(i)) {
|
|
228
|
-
const
|
|
229
|
-
o[s] =
|
|
228
|
+
const O = C({ id: E.id, locale: r, useFallback: n });
|
|
229
|
+
o[s] = O;
|
|
230
230
|
}
|
|
231
231
|
return o;
|
|
232
232
|
}
|
|
@@ -235,22 +235,22 @@ function w({
|
|
|
235
235
|
locale: r = a.DEFAULT_LOCALE,
|
|
236
236
|
useFallback: n = a.USE_FALLBACK
|
|
237
237
|
} = {}) {
|
|
238
|
-
const i = _({ obj:
|
|
239
|
-
return t ? o.map((s) =>
|
|
238
|
+
const i = _({ obj: k, keys: ["name"], useFallback: n }), o = Object.values(i);
|
|
239
|
+
return t ? o.map((s) => j({ term: s, locale: r, useFallback: n })) : o;
|
|
240
240
|
}
|
|
241
241
|
function z({
|
|
242
242
|
localized: t = !0,
|
|
243
243
|
locale: r = a.DEFAULT_LOCALE,
|
|
244
244
|
useFallback: n = a.USE_FALLBACK
|
|
245
245
|
} = {}) {
|
|
246
|
-
const i = _({ obj:
|
|
247
|
-
return t ? o.map((s) =>
|
|
246
|
+
const i = _({ obj: v, keys: ["name"], useFallback: n }), o = Object.values(i);
|
|
247
|
+
return t ? o.map((s) => B({ tag: s, locale: r, useFallback: n })) : o;
|
|
248
248
|
}
|
|
249
249
|
export {
|
|
250
250
|
G as getDict,
|
|
251
251
|
z as getTags,
|
|
252
252
|
C as getTerm,
|
|
253
|
-
|
|
253
|
+
F as getTerms,
|
|
254
254
|
w as getTypes
|
|
255
255
|
};
|
|
256
256
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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/javascript.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: `javascript`,\n\n name: {\n [LOCALE.EN_US]: `JavaScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: ``,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://en.wikipedia.org/wiki/JavaScript`,\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: `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 javascript from './javascript'\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 [javascript.id]: javascript,\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","javascript","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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"}
|
|
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/javascript.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: `javascript`,\n\n name: {\n [LOCALE.EN_US]: `JavaScript`,\n },\n\n label: {\n [LOCALE.EN_US]: `High-Level Programming Language`,\n [LOCALE.DE_DE]: `Hochsprache`,\n },\n\n definition: {\n [LOCALE.EN_US]: ``,\n },\n\n type: [TYPE.language],\n\n tags: [TAG.frontend, TAG.backend, TAG.open_source],\n\n links: {\n website: `https://en.wikipedia.org/wiki/JavaScript`,\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: `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 javascript from './javascript'\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 [javascript.id]: javascript,\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 })\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 })\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","javascript","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