dev-dict 0.3.2 → 0.4.1

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.
@@ -1,2 +1,2 @@
1
- (function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o.devdict={}))})(this,(function(o){"use strict";const e={EN_US:"en-US",DE_DE:"de-DE"},m={id:"backend",name:{[e.EN_US]:"Backend",[e.DE_DE]:"Backend"}},p={id:"frontend",name:{[e.EN_US]:"Frontend",[e.DE_DE]:"Frontend"}},g={id:"open_source",name:{[e.EN_US]:"Open Source",[e.DE_DE]:"Open Source"}},s={[m.id]:m,[p.id]:p,[g.id]:g},l={id:"cms",name:{[e.EN_US]:"Content Management System",[e.DE_DE]:"Content-Management-System"}},L={id:"framework",name:{[e.EN_US]:"Framework",[e.DE_DE]:"Framework"}},_={id:"language",name:{[e.EN_US]:"Language",[e.DE_DE]:"Sprache"}},f={id:"library",name:{[e.EN_US]:"Library",[e.DE_DE]:"Bibliothek"}},D={id:"runtime_environment",name:{[e.EN_US]:"Runtime Environment",[e.DE_DE]:"Laufzeitumgebung"}},d={[l.id]:l,[L.id]:L,[_.id]:_,[f.id]:f,[D.id]:D},b={id:"node_js",name:"Node.js",type:[d.runtime_environment],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."},tags:[s.backend],links:{website:"https://nodejs.org"}},S={id:"react",name:"React",type:[d.library],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."},tags:[s.frontend,s.backend],links:{website:"https://react.dev"}},T={id:"typescript",name:"TypeScript",type:[d.language],label:{[e.EN_US]:"High-Level Programming Language",[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.DE_DE]:"TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet."},tags:[s.frontend,s.backend,s.open_source],links:{website:"https://www.typescriptlang.org"}},E={[b.id]:b,[S.id]:S,[T.id]:T},a={DEFAULT_LOCALE:e.EN_US},U=({label:n,locale:t=a.DEFAULT_LOCALE})=>n[t]||n[a.DEFAULT_LOCALE],v=({definition:n,locale:t=a.DEFAULT_LOCALE})=>n[t]||n[a.DEFAULT_LOCALE],y=({tag:n,locale:t=a.DEFAULT_LOCALE})=>({id:n.id,name:n.name[t]||n.name[a.DEFAULT_LOCALE]}),A=({term:n,locale:t=a.DEFAULT_LOCALE})=>({id:n.id,name:n.name[t]||n.name[a.DEFAULT_LOCALE]});function u({id:n,localized:t=!0,locale:i=a.DEFAULT_LOCALE}){const r=E[n];return t?{...r,label:U({label:r.label,locale:i}),definition:v({definition:r.definition,locale:i}),type:r.type.map(c=>A({term:c,locale:i})),tags:r.tags.map(c=>y({tag:c,locale:i}))}:r}function k({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){const i=Object.values(E);return n?i.map(r=>u({id:r.id,locale:t})):i}function O({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){if(!n)return E;const i={};for(const[r,c]of Object.entries(E)){const F=u({id:c.id,locale:t});i[r]=F}return i}function h({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){const i=Object.values(d);return n?i.map(r=>A({term:r,locale:t})):i}function N({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){const i=Object.values(s);return n?i.map(r=>y({tag:r,locale:t})):i}o.getDict=O,o.getTags=N,o.getTerm=u,o.getTerms=k,o.getTypes=h,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
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]:""),h=({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})]))},_=({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})=>S({obj:t,value:t[i],useFallback:n}),g=({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})}),b={id:"backend",name:{[e.EN_US]:"Backend",[e.EN_GB]:e.EN_US,[e.DE_DE]:"Backend"}},f={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,[f.id]:f,[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}),k={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"}},B={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={[B.id]:B,[C.id]:C,[O.id]:O,[k.id]:k};_({obj:p,keys:["name","label","definition"],useFallback:!1});const a={DEFAULT_LOCALE:e.EN_US,USE_FALLBACK:!0};function l({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=>g({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=>l({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=l({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:!1}),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:!1}),o=Object.values(r);return t?o.map(s=>g({tag:s,locale:i,useFallback:n})):o}c.getDict=G,c.getTags=z,c.getTerm=l,c.getTerms=F,c.getTypes=w,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=dev-dict.min.js.map
@@ -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/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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"}
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: "Node.js";
90
- readonly type: [{
91
- readonly id: "runtime_environment";
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: "React";
119
- readonly type: [{
120
- readonly id: "library";
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,43 +175,97 @@ declare const TERM: {
150
175
  };
151
176
  readonly typescript: {
152
177
  readonly id: "typescript";
153
- readonly name: "TypeScript";
178
+ readonly name: {
179
+ readonly "en-US": "TypeScript";
180
+ };
181
+ readonly label: {
182
+ readonly "en-US": "High-Level Programming Language";
183
+ readonly "en-GB": "en-US";
184
+ readonly "de-DE": "Hochsprache";
185
+ };
186
+ readonly definition: {
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";
189
+ readonly "de-DE": "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.";
190
+ };
154
191
  readonly type: [{
155
192
  readonly id: "language";
156
193
  readonly name: {
157
194
  readonly "en-US": "Language";
195
+ readonly "en-GB": "en-US";
158
196
  readonly "de-DE": "Sprache";
159
197
  };
160
198
  }];
199
+ readonly tags: [{
200
+ readonly id: "frontend";
201
+ readonly name: {
202
+ readonly "en-US": "Frontend";
203
+ readonly "en-GB": "en-US";
204
+ readonly "de-DE": "Frontend";
205
+ };
206
+ }, {
207
+ readonly id: "backend";
208
+ readonly name: {
209
+ readonly "en-US": "Backend";
210
+ readonly "en-GB": "en-US";
211
+ readonly "de-DE": "Backend";
212
+ };
213
+ }, {
214
+ readonly id: "open_source";
215
+ readonly name: {
216
+ readonly "en-US": "Open Source";
217
+ readonly "en-GB": "en-US";
218
+ readonly "de-DE": "Open Source";
219
+ };
220
+ }];
221
+ readonly links: {
222
+ readonly website: "https://www.typescriptlang.org";
223
+ };
224
+ };
225
+ readonly javascript: {
226
+ readonly id: "javascript";
227
+ readonly name: {
228
+ readonly "en-US": "JavaScript";
229
+ };
161
230
  readonly label: {
162
231
  readonly "en-US": "High-Level Programming Language";
163
232
  readonly "de-DE": "Hochsprache";
164
233
  };
165
234
  readonly definition: {
166
- readonly "en-US": "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.";
167
- readonly "de-DE": "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet.";
235
+ readonly "en-US": "";
168
236
  };
237
+ readonly type: [{
238
+ readonly id: "language";
239
+ readonly name: {
240
+ readonly "en-US": "Language";
241
+ readonly "en-GB": "en-US";
242
+ readonly "de-DE": "Sprache";
243
+ };
244
+ }];
169
245
  readonly tags: [{
170
246
  readonly id: "frontend";
171
247
  readonly name: {
172
248
  readonly "en-US": "Frontend";
249
+ readonly "en-GB": "en-US";
173
250
  readonly "de-DE": "Frontend";
174
251
  };
175
252
  }, {
176
253
  readonly id: "backend";
177
254
  readonly name: {
178
255
  readonly "en-US": "Backend";
256
+ readonly "en-GB": "en-US";
179
257
  readonly "de-DE": "Backend";
180
258
  };
181
259
  }, {
182
260
  readonly id: "open_source";
183
261
  readonly name: {
184
262
  readonly "en-US": "Open Source";
263
+ readonly "en-GB": "en-US";
185
264
  readonly "de-DE": "Open Source";
186
265
  };
187
266
  }];
188
267
  readonly links: {
189
- readonly website: "https://www.typescriptlang.org";
268
+ readonly website: "https://en.wikipedia.org/wiki/JavaScript";
190
269
  };
191
270
  };
192
271
  };
@@ -201,25 +280,22 @@ declare type TLocaleRecord = {
201
280
 
202
281
  declare type TTerm = {
203
282
  id: string;
204
- name: string;
283
+ name: TLocaleRecord;
205
284
  type: TTermTypes[];
206
- label: TTermLabel;
207
- definition: TTermDefinition;
285
+ label: TLocaleRecord;
286
+ definition: TLocaleRecord;
208
287
  tags: TTermTags[];
209
288
  links?: TTermLinks;
210
289
  };
211
290
 
212
- declare type TTermDefinition = TLocaleRecord;
213
-
214
291
  declare type TTermId = keyof typeof TERM;
215
292
 
216
- declare type TTermLabel = TLocaleRecord;
217
-
218
293
  declare type TTermLinks = {
219
294
  website: string;
220
295
  } & Partial<Record<Exclude<TLinkType, 'website'>, string>>;
221
296
 
222
- declare type TTermLocalized = Omit<TTerm, 'label' | 'definition' | 'type' | 'tags'> & {
297
+ declare type TTermLocalized = Omit<TTerm, 'name' | 'label' | 'definition' | 'type' | 'tags'> & {
298
+ name: string;
223
299
  label: string;
224
300
  definition: string;
225
301
  type: TTermTypeLocalized[];
@@ -255,6 +331,7 @@ declare const TYPE: {
255
331
  readonly id: "cms";
256
332
  readonly name: {
257
333
  readonly "en-US": "Content Management System";
334
+ readonly "en-GB": "en-US";
258
335
  readonly "de-DE": "Content-Management-System";
259
336
  };
260
337
  };
@@ -262,6 +339,7 @@ declare const TYPE: {
262
339
  readonly id: "framework";
263
340
  readonly name: {
264
341
  readonly "en-US": "Framework";
342
+ readonly "en-GB": "en-US";
265
343
  readonly "de-DE": "Framework";
266
344
  };
267
345
  };
@@ -269,6 +347,7 @@ declare const TYPE: {
269
347
  readonly id: "language";
270
348
  readonly name: {
271
349
  readonly "en-US": "Language";
350
+ readonly "en-GB": "en-US";
272
351
  readonly "de-DE": "Sprache";
273
352
  };
274
353
  };
@@ -276,6 +355,7 @@ declare const TYPE: {
276
355
  readonly id: "library";
277
356
  readonly name: {
278
357
  readonly "en-US": "Library";
358
+ readonly "en-GB": "en-US";
279
359
  readonly "de-DE": "Bibliothek";
280
360
  };
281
361
  };
@@ -283,6 +363,7 @@ declare const TYPE: {
283
363
  readonly id: "runtime_environment";
284
364
  readonly name: {
285
365
  readonly "en-US": "Runtime Environment";
366
+ readonly "en-GB": "en-US";
286
367
  readonly "de-DE": "Laufzeitumgebung";
287
368
  };
288
369
  };
package/dist/index.js CHANGED
@@ -1,68 +1,134 @@
1
1
  const e = {
2
2
  EN_US: "en-US",
3
+ EN_GB: "en-GB",
3
4
  DE_DE: "de-DE"
4
- }, d = {
5
+ }, T = ({
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] : ""), O = ({
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, T({ obj: t, value: t[i], useFallback: r })])
16
+ );
17
+ }, _ = ({
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, O({ 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
+ }) => T({ obj: t, value: t[r], useFallback: n }), k = ({
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
+ }), u = {
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
- }, u = {
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
- }, m = {
58
+ }, S = {
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
- }, o = {
23
- [d.id]: d,
65
+ }, j = {
24
66
  [u.id]: u,
25
- [m.id]: m
26
- }, p = {
67
+ [l.id]: l,
68
+ [S.id]: S
69
+ }, c = _({ obj: j, keys: ["name"], useFallback: !1 }), L = {
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
- }, L = {
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
- }, l = {
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
- }, E = {
57
- [p.id]: p,
104
+ }, v = {
58
105
  [L.id]: L,
106
+ [b.id]: b,
59
107
  [g.id]: g,
60
- [_.id]: _,
61
- [l.id]: l
62
- }, D = {
108
+ [U.id]: U,
109
+ [f.id]: f
110
+ }, m = _({ obj: v, keys: ["name"], useFallback: !1 }), A = {
111
+ id: "javascript",
112
+ name: {
113
+ [e.EN_US]: "JavaScript"
114
+ },
115
+ label: {
116
+ [e.EN_US]: "High-Level Programming Language",
117
+ [e.DE_DE]: "Hochsprache"
118
+ },
119
+ definition: {
120
+ [e.EN_US]: ""
121
+ },
122
+ type: [m.language],
123
+ tags: [c.frontend, c.backend, c.open_source],
124
+ links: {
125
+ website: "https://en.wikipedia.org/wiki/JavaScript"
126
+ }
127
+ }, N = {
63
128
  id: "node_js",
64
- name: "Node.js",
65
- type: [E.runtime_environment],
129
+ name: {
130
+ [e.EN_US]: "Node.js"
131
+ },
66
132
  label: {
67
133
  [e.EN_US]: "JavaScript Runtime",
68
134
  [e.DE_DE]: "JavaScript-Laufzeit"
@@ -71,14 +137,16 @@ const e = {
71
137
  [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
138
  [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
139
  },
74
- tags: [o.backend],
140
+ type: [m.runtime_environment],
141
+ tags: [c.backend],
75
142
  links: {
76
143
  website: "https://nodejs.org"
77
144
  }
78
- }, b = {
145
+ }, D = {
79
146
  id: "react",
80
- name: "React",
81
- type: [E.library],
147
+ name: {
148
+ [e.EN_US]: "React"
149
+ },
82
150
  label: {
83
151
  [e.EN_US]: "JavaScript Library",
84
152
  [e.DE_DE]: "JavaScript-Bibliothek"
@@ -87,104 +155,102 @@ const e = {
87
155
  [e.EN_US]: "A JavaScript library for building component-based user interfaces.",
88
156
  [e.DE_DE]: "Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen."
89
157
  },
90
- tags: [o.frontend, o.backend],
158
+ type: [m.library],
159
+ tags: [c.frontend, c.backend],
91
160
  links: {
92
161
  website: "https://react.dev"
93
162
  }
94
- }, S = {
163
+ }, y = {
95
164
  id: "typescript",
96
- name: "TypeScript",
97
- type: [E.language],
165
+ name: {
166
+ [e.EN_US]: "TypeScript"
167
+ },
98
168
  label: {
99
169
  [e.EN_US]: "High-Level Programming Language",
170
+ [e.EN_GB]: e.EN_US,
100
171
  [e.DE_DE]: "Hochsprache"
101
172
  },
102
173
  definition: {
103
174
  [e.EN_US]: "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.",
175
+ [e.EN_GB]: e.EN_US,
104
176
  [e.DE_DE]: "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet."
105
177
  },
106
- tags: [o.frontend, o.backend, o.open_source],
178
+ type: [m.language],
179
+ tags: [c.frontend, c.backend, c.open_source],
107
180
  links: {
108
181
  website: "https://www.typescriptlang.org"
109
182
  }
110
- }, c = {
183
+ }, p = {
184
+ [N.id]: N,
111
185
  [D.id]: D,
112
- [b.id]: b,
113
- [S.id]: S
114
- }, a = {
115
- DEFAULT_LOCALE: e.EN_US
116
- }, y = ({
117
- label: n,
118
- locale: t = a.DEFAULT_LOCALE
119
- }) => n[t] || n[a.DEFAULT_LOCALE], k = ({
120
- definition: n,
121
- locale: t = a.DEFAULT_LOCALE
122
- }) => n[t] || n[a.DEFAULT_LOCALE], f = ({
123
- tag: n,
124
- locale: t = a.DEFAULT_LOCALE
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
186
+ [y.id]: y,
187
+ [A.id]: A
188
+ };
189
+ _({ obj: p, keys: ["name", "label", "definition"], useFallback: !1 });
190
+ const a = {
191
+ DEFAULT_LOCALE: e.EN_US,
192
+ USE_FALLBACK: !0
193
+ };
194
+ function C({
195
+ id: t,
196
+ localized: r = !0,
197
+ locale: n = a.DEFAULT_LOCALE,
198
+ useFallback: i = a.USE_FALLBACK
139
199
  }) {
140
- const i = c[n];
141
- return t ? {
142
- ...i,
143
- label: y({ label: i.label, locale: r }),
144
- definition: k({ definition: i.definition, locale: r }),
145
- type: i.type.map((s) => A({ term: s, locale: r })),
146
- tags: i.tags.map((s) => f({ tag: s, locale: r }))
147
- } : i;
200
+ const s = _({ obj: p, keys: ["name", "label", "definition"], useFallback: i })[t];
201
+ return r ? {
202
+ ...s,
203
+ name: d({ obj: s.name, locale: n, useFallback: i }),
204
+ label: d({ obj: s.label, locale: n, useFallback: i }),
205
+ definition: d({ obj: s.definition, locale: n, useFallback: i }),
206
+ type: s.type.map((E) => B({ term: E, locale: n, useFallback: i })),
207
+ tags: s.tags.map((E) => k({ tag: E, locale: n, useFallback: i }))
208
+ } : s;
148
209
  }
149
- function v({
150
- localized: n = !0,
151
- locale: t = a.DEFAULT_LOCALE
210
+ function h({
211
+ localized: t = !0,
212
+ locale: r = a.DEFAULT_LOCALE,
213
+ useFallback: n = a.USE_FALLBACK
152
214
  } = {}) {
153
- const r = Object.values(c);
154
- return n ? r.map((i) => U({ id: i.id, locale: t })) : r;
215
+ const i = _({ obj: p, keys: ["name", "label", "definition"], useFallback: n }), o = Object.values(i);
216
+ return t ? o.map((s) => C({ id: s.id, locale: r, useFallback: n })) : o;
155
217
  }
156
- function O({
157
- localized: n = !0,
158
- locale: t = a.DEFAULT_LOCALE
218
+ function G({
219
+ localized: t = !0,
220
+ locale: r = a.DEFAULT_LOCALE,
221
+ useFallback: n = a.USE_FALLBACK
159
222
  } = {}) {
160
- if (!n)
161
- return c;
162
- const r = {};
163
- for (const [i, s] of Object.entries(c)) {
164
- const T = U({ id: s.id, locale: t });
165
- r[i] = T;
223
+ const i = _({ obj: p, keys: ["name", "label", "definition"], useFallback: n });
224
+ if (!t)
225
+ return i;
226
+ const o = {};
227
+ for (const [s, E] of Object.entries(i)) {
228
+ const F = C({ id: E.id, locale: r, useFallback: n });
229
+ o[s] = F;
166
230
  }
167
- return r;
231
+ return o;
168
232
  }
169
- function N({
170
- localized: n = !0,
171
- locale: t = a.DEFAULT_LOCALE
233
+ function w({
234
+ localized: t = !0,
235
+ locale: r = a.DEFAULT_LOCALE,
236
+ useFallback: n = a.USE_FALLBACK
172
237
  } = {}) {
173
- const r = Object.values(E);
174
- return n ? r.map((i) => A({ term: i, locale: t })) : r;
238
+ const i = _({ obj: v, keys: ["name"], useFallback: !1 }), o = Object.values(i);
239
+ return t ? o.map((s) => B({ term: s, locale: r, useFallback: n })) : o;
175
240
  }
176
- function F({
177
- localized: n = !0,
178
- locale: t = a.DEFAULT_LOCALE
241
+ function z({
242
+ localized: t = !0,
243
+ locale: r = a.DEFAULT_LOCALE,
244
+ useFallback: n = a.USE_FALLBACK
179
245
  } = {}) {
180
- const r = Object.values(o);
181
- return n ? r.map((i) => f({ tag: i, locale: t })) : r;
246
+ const i = _({ obj: j, keys: ["name"], useFallback: !1 }), o = Object.values(i);
247
+ return t ? o.map((s) => k({ tag: s, locale: r, useFallback: n })) : o;
182
248
  }
183
249
  export {
184
- O as getDict,
185
- F as getTags,
186
- U as getTerm,
187
- v as getTerms,
188
- N as getTypes
250
+ G as getDict,
251
+ z as getTags,
252
+ C as getTerm,
253
+ h as getTerms,
254
+ w as getTypes
189
255
  };
190
256
  //# 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":"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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: 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":"AAAO,MAAMA,IAAS;AAAA,EACpB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT,GCAaC,IAAmB,CAAC;AAAA,EAC/B,KAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC,IAAcC,EAAO;AACvB,MAKMF,KAAS,OAAO,OAAeH,CAAM,EAAE,SAASG,CAAK,IAChDD,EAAIC,CAAgB,MAAMC,IAAcF,EAAIF,EAAO,KAAK,IAAI,MAE9DG,MAAUC,IAAcF,EAAIF,EAAO,KAAK,IAAI,KAGxCM,IAA0B,CAAC;AAAA,EACtC,KAAAJ;AAAA,EACA,aAAAE,IAAcC,EAAO;AACvB,MAGqB;AACnB,QAAME,IAAU,OAAO,OAAeP,CAAM;AAE5C,SAAO,OAAO;AAAA,IACZO,EAAQ,IAAI,CAACC,MAAW,CAACA,GAAQP,EAAiB,EAAE,KAAAC,GAAK,OAAOA,EAAIM,CAAM,GAAG,aAAAJ,EAAA,CAAa,CAAC,CAAC;AAAA,EAAA;AAEhG,GAEaK,IAAoB,CAAgC;AAAA,EAC/D,KAAAP;AAAA,EACA,MAAAQ;AAAA,EACA,aAAAN,IAAcC,EAAO;AACvB,MAKS,OAAO;AAAA,EACZ,OAAO,QAAQH,CAAG,EAAE,IAAI,CAAC,CAACS,GAASC,CAAI,MAAM;AAC3C,UAAMC,IAAqBH,EACxB,OAAO,CAACI,MAAQA,KAAOF,KAAQ,OAAOA,EAAKE,CAAG,KAAM,QAAQ,EAC5D,IAAI,CAACA,MAAQ,CAACA,GAAKR,EAAwB,EAAE,KAAKM,EAAKE,CAAG,GAAG,aAAAV,EAAA,CAAa,CAAC,CAAC;AAE/E,WAAO,CAACO,GAAS,EAAE,GAAGC,GAAM,GAAG,OAAO,YAAYC,CAAkB,GAAG;AAAA,EACzE,CAAC;AAAA,GAIQE,IAAoB,CAAC;AAAA,EAChC,KAAAb;AAAA,EACA,QAAAM,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,MAKSJ,EAAiB,EAAE,KAAAC,GAAK,OAAOA,EAAIM,CAAM,GAAG,aAAAJ,GAAa,GAGrDY,IAAsB,CAAC;AAAA,EAClC,KAAAC;AAAA,EACA,QAAAT,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,OAKS;AAAA,EACL,IAAIY,EAAI;AAAA,EACR,MAAMF,EAAkB,EAAE,KAAKE,EAAI,MAAM,QAAAT,GAAQ,aAAAJ,GAAa;AAAA,IAIrDc,IAAuB,CAAC;AAAA,EACnC,MAAAC;AAAA,EACA,QAAAX,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,OAKS;AAAA,EACL,IAAIc,EAAK;AAAA,EACT,MAAMJ,EAAkB,EAAE,KAAKI,EAAK,MAAM,QAAAX,GAAQ,aAAAJ,GAAa;AAAA,ICvFnEgB,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACpB,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRAqB,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACrB,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRAsB,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACtB,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCNauB,IAAU;AAAA,EACrB,CAACH,EAAQ,EAAE,GAAGA;AAAA,EACd,CAACC,EAAS,EAAE,GAAGA;AAAA,EACf,CAACC,EAAY,EAAE,GAAGA;AACpB,GAEaE,IAAMf,EAAkB,EAAE,KAAKc,GAAS,MAAM,CAAC,MAAM,GAAG,aAAa,IAAO,GCRzFE,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACzB,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRA0B,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAC1B,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRA2B,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAC3B,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRA4B,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAC5B,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCRA6B,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAC7B,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAEpB,GCJa8B,IAAW;AAAA,EACtB,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,GAEaE,IAAOtB,EAAkB,EAAE,KAAKqB,GAAU,MAAM,CAAC,MAAM,GAAG,aAAa,IAAO,GCV3FE,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAChC,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,OAAO;AAAA,IACL,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,YAAY;AAAA,IACV,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,MAAM,CAAC+B,EAAK,QAAQ;AAAA,EAEpB,MAAM,CAACP,EAAI,UAAUA,EAAI,SAASA,EAAI,WAAW;AAAA,EAEjD,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCvBAS,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACjC,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,OAAO;AAAA,IACL,CAACA,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,CAAC+B,EAAK,mBAAmB;AAAA,EAE/B,MAAM,CAACP,EAAI,OAAO;AAAA,EAElB,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCxBAU,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAAClC,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,OAAO;AAAA,IACL,CAACA,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,CAAC+B,EAAK,OAAO;AAAA,EAEnB,MAAM,CAACP,EAAI,UAAUA,EAAI,OAAO;AAAA,EAEhC,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCxBAW,IAAe;AAAA,EACb,IAAI;AAAA,EAEJ,MAAM;AAAA,IACJ,CAACnC,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,OAAO;AAAA,IACL,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,YAAY;AAAA,IACV,CAACA,EAAO,KAAK,GAAG;AAAA,IAChB,CAACA,EAAO,KAAK,GAAGA,EAAO;AAAA,IACvB,CAACA,EAAO,KAAK,GAAG;AAAA,EAAA;AAAA,EAGlB,MAAM,CAAC+B,EAAK,QAAQ;AAAA,EAEpB,MAAM,CAACP,EAAI,UAAUA,EAAI,SAASA,EAAI,WAAW;AAAA,EAEjD,OAAO;AAAA,IACL,SAAS;AAAA,EAAA;AAEb,GCzBaY,IAAW;AAAA,EACtB,CAACH,EAAQ,EAAE,GAAGA;AAAA,EACd,CAACC,EAAM,EAAE,GAAGA;AAAA,EACZ,CAACC,EAAW,EAAE,GAAGA;AAAA,EACjB,CAACH,EAAW,EAAE,GAAGA;AACnB;AAEoBvB,EAAkB,EAAE,KAAK2B,GAAU,MAAM,CAAC,QAAQ,SAAS,YAAY,GAAG,aAAa,IAAO;ACV3G,MAAM/B,IAAS;AAAA,EACpB,gBAAgBL,EAAO;AAAA,EACvB,cAAc;AAChB;ACoBO,SAASqC,EAAQ;AAAA,EACtB,IAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,QAAA/B,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,GAK2B;AAGzB,QAAMc,IADOV,EAAkB,EAAE,KAAK2B,GAAU,MAAM,CAAC,QAAQ,SAAS,YAAY,GAAG,aAAAhC,EAAA,CAAa,EAClFkC,CAAE;AAEpB,SAAKC,IAIE;AAAA,IACL,GAAGpB;AAAA,IACH,MAAMJ,EAAkB,EAAE,KAAKI,EAAK,MAAM,QAAAX,GAAQ,aAAAJ,GAAa;AAAA,IAC/D,OAAOW,EAAkB,EAAE,KAAKI,EAAK,OAAO,QAAAX,GAAQ,aAAAJ,GAAa;AAAA,IACjE,YAAYW,EAAkB,EAAE,KAAKI,EAAK,YAAY,QAAAX,GAAQ,aAAAJ,GAAa;AAAA,IAC3E,MAAMe,EAAK,KAAK,IAAI,CAAChB,MAAUe,EAAqB,EAAE,MAAMf,GAAO,QAAAK,GAAQ,aAAAJ,EAAA,CAAa,CAAC;AAAA,IACzF,MAAMe,EAAK,KAAK,IAAI,CAAChB,MAAUa,EAAoB,EAAE,KAAKb,GAAO,QAAAK,GAAQ,aAAAJ,EAAA,CAAa,CAAC;AAAA,EAAA,IAThFe;AAWX;AAIO,SAASqB,EAAS;AAAA,EACvB,WAAAD,IAAY;AAAA,EACZ,QAAA/B,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,IAII,IAAgC;AAClC,QAAMoC,IAAOhC,EAAkB,EAAE,KAAK2B,GAAU,MAAM,CAAC,QAAQ,SAAS,YAAY,GAAG,aAAAhC,EAAA,CAAa,GAC9FsC,IAAQ,OAAO,OAAOD,CAAI;AAEhC,SAAKF,IAIEG,EAAM,IAAI,CAACvB,MAASkB,EAAQ,EAAE,IAAIlB,EAAK,IAAI,QAAAX,GAAQ,aAAAJ,EAAA,CAAa,CAAC,IAH/DsC;AAIX;AAIO,SAASC,EAAQ;AAAA,EACtB,WAAAJ,IAAY;AAAA,EACZ,QAAA/B,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,IAII,IAAkC;AACpC,QAAMoC,IAAOhC,EAAkB,EAAE,KAAK2B,GAAU,MAAM,CAAC,QAAQ,SAAS,YAAY,GAAG,aAAAhC,EAAA,CAAa;AAEpG,MAAI,CAACmC;AACH,WAAOE;AAGT,QAAMG,IAAO,CAAA;AAEb,aAAW,CAAC9B,GAAKK,CAAI,KAAK,OAAO,QAAQsB,CAAI,GAAG;AAC9C,UAAMI,IAAgBR,EAAQ,EAAE,IAAIlB,EAAK,IAAI,QAAAX,GAAQ,aAAAJ,GAAa;AAClE,IAAAwC,EAAK9B,CAAc,IAAI+B;AAAA,EACzB;AAEA,SAAOD;AACT;AAIO,SAASE,EAAS;AAAA,EACvB,WAAAP,IAAY;AAAA,EACZ,QAAA/B,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,IAII,IAAwC;AAC1C,QAAM0B,IAAOtB,EAAkB,EAAE,KAAKqB,GAAU,MAAM,CAAC,MAAM,GAAG,aAAa,IAAO,GAC9EiB,IAAQ,OAAO,OAAOhB,CAAI;AAEhC,SAAKQ,IAIEQ,EAAM,IAAI,CAACC,MAAS9B,EAAqB,EAAE,MAAM8B,GAAM,QAAAxC,GAAQ,aAAAJ,EAAA,CAAa,CAAC,IAH3E2C;AAIX;AAIO,SAASE,EAAQ;AAAA,EACtB,WAAAV,IAAY;AAAA,EACZ,QAAA/B,IAASH,EAAO;AAAA,EAChB,aAAAD,IAAcC,EAAO;AACvB,IAII,IAAsC;AACxC,QAAMmB,IAAMf,EAAkB,EAAE,KAAKc,GAAS,MAAM,CAAC,MAAM,GAAG,aAAa,IAAO,GAC5E2B,IAAO,OAAO,OAAO1B,CAAG;AAE9B,SAAKe,IAIEW,EAAK,IAAI,CAACjC,MAAQD,EAAoB,EAAE,KAAAC,GAAK,QAAAT,GAAQ,aAAAJ,EAAA,CAAa,CAAC,IAHjE8C;AAIX;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-dict",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "A dictionary of software related terms. Supports multiple languages.",
5
5
  "author": "Cornelius Weidmann <cornelius@kyco.io> (https://kyco.io)",
6
6
  "license": "MIT",