dev-dict 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,32 +2,68 @@
2
2
 
3
3
  A dictionary of software related terms.
4
4
 
5
- This package aims to provide an exhaustive list of software industry related terms with simple explanations.
5
+ This package aims to provide an exhaustive list of software industry related terms with simple explanations - and in multiple languages.
6
6
 
7
- Currently supported languages:
7
+ A list of available terms can be found here:
8
+ - [Terms](./docs/TERMS.md)
9
+ - [Types](./docs/TYPES.md)
10
+ - [Tags](./docs/TAGS.md)
11
+
12
+ Currently dev-dict supports:
8
13
  - English (US)
9
14
  - English (GB)
10
15
  - German (DE)
11
16
 
17
+
12
18
  ## Installation
13
19
 
14
20
  ```bash
15
21
  npm i dev-dict
16
22
  ```
17
23
 
24
+
18
25
  ## Usage
19
26
 
27
+ By default the dictionary is localised and defaults to "en-US".
28
+
20
29
  ```typescript
21
- import { getTerm, getDict } from 'dev-dict'
30
+ import { getTerm, getTerms, getDict } from 'dev-dict'
22
31
 
23
- // Get a single term
32
+ /**
33
+ * Get dictionary
34
+ */
35
+ const dd = getDict({ locale: 'en-US' })
36
+ console.log(dd.react.label) // "JavaScript Library"
37
+
38
+ /**
39
+ * Get dictionary (raw)
40
+ */
41
+ const ddRaw = getDict({ localized: false })
42
+ console.log(ddRaw.react.label) // { "en-US": "JavaScript Library", "de-DE": "JavaScript-Bibliothek", ... }
43
+
44
+ /**
45
+ * Get a single term
46
+ */
24
47
  const reactEn = getTerm({ id: 'react', locale: 'en-US' })
25
48
  const reactDe = getTerm({ id: 'react', locale: 'de-DE' })
26
49
  console.log(reactEn.label) // "JavaScript Library"
27
50
  console.log(reactDe.label) // "JavaScript-Bibliothek"
28
51
 
52
+ /**
53
+ * Get a single term (raw)
54
+ */
55
+ const reactRaw = getTerm({ id: 'react', localized: false })
56
+ console.log(reactRaw.label) // { "en-US": "JavaScript Library", "de-DE": "JavaScript-Bibliothek", ... }
29
57
 
30
- // Get entire dictionary
31
- const dd = getDict({ locale: 'en-US' })
32
- console.log(dd.react.name) // "React"
58
+ /**
59
+ * Get all terms
60
+ */
61
+ const terms = getTerms({ locale: 'en-US' })
62
+ console.log(terms) // [{ id: "react", label: "JavaScript Library" }, ... ]
63
+
64
+ /**
65
+ * Get all terms (raw)
66
+ */
67
+ const termsRaw = getTerms({ localized: false })
68
+ console.log(termsRaw) // [{ id: "react", label: { "en-US": "JavaScript Library", "de-DE": "JavaScript-Bibliothek", ... } }, ... ]
33
69
  ```
@@ -1,2 +1,2 @@
1
- (function(r,e){typeof exports=="object"&&typeof module<"u"?e(exports):typeof define=="function"&&define.amd?define(["exports"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.devdict={}))})(this,(function(r){"use strict";const e={EN_US:"en-US",DE_DE:"de-DE"},d={id:"backend",name:{[e.EN_US]:"Backend",[e.DE_DE]:"Backend"}},E={id:"frontend",name:{[e.EN_US]:"Frontend",[e.DE_DE]:"Frontend"}},p={id:"open_source",name:{[e.EN_US]:"Open Source",[e.DE_DE]:"Open Source"}},o={[d.id]:d,[E.id]:E,[p.id]:p},l={id:"cms"},u={id:"language",name:{[e.EN_US]:"Language",[e.DE_DE]:"Sprache"}},m={id:"library",name:{[e.EN_US]:"Library",[e.DE_DE]:"Bibliothek"}},L={id:"runtime_environment",name:{[e.EN_US]:"Runtime Environment",[e.DE_DE]:"Laufzeitumgebung"}},c={[l.id]:l,[u.id]:u,[m.id]:m,[L.id]:L},g={id:"node_js",name:"Node.js",type:[c.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:[o.backend],links:{website:"https://nodejs.org"}},_={id:"react",name:"React",type:[c.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:[o.frontend,o.backend],links:{website:"https://react.dev"}},b={id:"typescript",name:"TypeScript",type:[c.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:[o.frontend,o.backend,o.open_source],links:{website:"https://www.typescriptlang.org"}},D={[g.id]:g,[_.id]:_,[b.id]:b},i={DEFAULT_LOCALE:e.EN_US},y=({label:n,locale:t=i.DEFAULT_LOCALE})=>n[t]||n[i.DEFAULT_LOCALE],T=({definition:n,locale:t=i.DEFAULT_LOCALE})=>n[t]||n[i.DEFAULT_LOCALE],A=({tag:n,locale:t=i.DEFAULT_LOCALE})=>({id:n.id,name:n.name[t]||n.name[i.DEFAULT_LOCALE]}),U=({term:n,locale:t=i.DEFAULT_LOCALE})=>({id:n.id,name:n.name[t]||n.name[i.DEFAULT_LOCALE]}),f=({id:n,locale:t=i.DEFAULT_LOCALE})=>{const a=D[n];return{...a,label:y({label:a.label,locale:t}),definition:T({definition:a.definition,locale:t}),type:a.type.map(s=>U({term:s,locale:t})),tags:a.tags.map(s=>A({tag:s,locale:t}))}},v=({locale:n=i.DEFAULT_LOCALE}={locale:i.DEFAULT_LOCALE})=>{const t={};for(const[a,s]of Object.entries(D)){const S=f({id:s.id,locale:n});S&&(t[a]=S)}return t};r.getDict=v,r.getTerm=f,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
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:"language",name:{[e.EN_US]:"Language",[e.DE_DE]:"Sprache"}},_={id:"library",name:{[e.EN_US]:"Library",[e.DE_DE]:"Bibliothek"}},f={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:"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"}},b={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"}},S={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={[D.id]:D,[b.id]:b,[S.id]:S},a={DEFAULT_LOCALE:e.EN_US},A=({label:n,locale:t=a.DEFAULT_LOCALE})=>n[t]||n[a.DEFAULT_LOCALE],U=({definition:n,locale:t=a.DEFAULT_LOCALE})=>n[t]||n[a.DEFAULT_LOCALE],T=({tag:n,locale:t=a.DEFAULT_LOCALE})=>({id:n.id,name:n.name[t]||n.name[a.DEFAULT_LOCALE]}),y=({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:A({label:r.label,locale:i}),definition:U({definition:r.definition,locale:i}),type:r.type.map(c=>y({term:c,locale:i})),tags:r.tags.map(c=>T({tag:c,locale:i}))}:r}function v({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 N=u({id:c.id,locale:t});i[r]=N}return i}function h({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){const i=Object.values(d);return n?i.map(r=>y({term:r,locale:t})):i}function k({localized:n=!0,locale:t=a.DEFAULT_LOCALE}={}){const i=Object.values(s);return n?i.map(r=>T({tag:r,locale:t})):i}o.getDict=O,o.getTags=k,o.getTerm=u,o.getTerms=v,o.getTypes=h,Object.defineProperty(o,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/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: '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 language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\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, TLocale, TTermId, TTermLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { getDefinitionLocalized, getLabelLocalized, getTermTagLocalized, getTermTypeLocalized } from '@/utils'\nimport { TERM } from '@data'\n\nexport const getTerm = ({ id, locale = CONFIG.DEFAULT_LOCALE }: { id: TTermId; locale?: TLocale }): TTermLocalized => {\n // We do not need a null check here because TTermId only allows valid IDs\n const term = TERM[id]\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 const getDict = (\n {\n locale = CONFIG.DEFAULT_LOCALE,\n }: {\n locale?: TLocale\n } = { locale: CONFIG.DEFAULT_LOCALE },\n): TDevDict => {\n const dict = {} as TDevDict\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale })\n if (localizedTerm) {\n dict[key as TTermId] = localizedTerm\n }\n }\n\n return dict\n}\n"],"names":["LOCALE","backend","frontend","open_source","TAG","cms","language","library","runtime_environment","TYPE","node_js","react","typescript","TERM","CONFIG","getLabelLocalized","label","locale","getDefinitionLocalized","definition","getTermTagLocalized","tag","getTermTypeLocalized","term","getTerm","id","value","getDict","dict","key","localizedTerm"],"mappings":"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"}
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/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: '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 language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\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","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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"}
package/dist/index.js CHANGED
@@ -7,51 +7,55 @@ const e = {
7
7
  [e.EN_US]: "Backend",
8
8
  [e.DE_DE]: "Backend"
9
9
  }
10
- }, E = {
10
+ }, u = {
11
11
  id: "frontend",
12
12
  name: {
13
13
  [e.EN_US]: "Frontend",
14
14
  [e.DE_DE]: "Frontend"
15
15
  }
16
- }, p = {
16
+ }, m = {
17
17
  id: "open_source",
18
18
  name: {
19
19
  [e.EN_US]: "Open Source",
20
20
  [e.DE_DE]: "Open Source"
21
21
  }
22
- }, a = {
22
+ }, o = {
23
23
  [d.id]: d,
24
- [E.id]: E,
25
- [p.id]: p
26
- }, l = {
27
- id: "cms"
28
- }, m = {
24
+ [u.id]: u,
25
+ [m.id]: m
26
+ }, p = {
27
+ id: "cms",
28
+ name: {
29
+ [e.EN_US]: "Content Management System",
30
+ [e.DE_DE]: "Content-Management-System"
31
+ }
32
+ }, L = {
29
33
  id: "language",
30
34
  name: {
31
35
  [e.EN_US]: "Language",
32
36
  [e.DE_DE]: "Sprache"
33
37
  }
34
- }, L = {
38
+ }, g = {
35
39
  id: "library",
36
40
  name: {
37
41
  [e.EN_US]: "Library",
38
42
  [e.DE_DE]: "Bibliothek"
39
43
  }
40
- }, u = {
44
+ }, l = {
41
45
  id: "runtime_environment",
42
46
  name: {
43
47
  [e.EN_US]: "Runtime Environment",
44
48
  [e.DE_DE]: "Laufzeitumgebung"
45
49
  }
46
- }, s = {
47
- [l.id]: l,
48
- [m.id]: m,
50
+ }, E = {
51
+ [p.id]: p,
49
52
  [L.id]: L,
50
- [u.id]: u
53
+ [g.id]: g,
54
+ [l.id]: l
51
55
  }, _ = {
52
56
  id: "node_js",
53
57
  name: "Node.js",
54
- type: [s.runtime_environment],
58
+ type: [E.runtime_environment],
55
59
  label: {
56
60
  [e.EN_US]: "JavaScript Runtime",
57
61
  [e.DE_DE]: "JavaScript-Laufzeit"
@@ -60,14 +64,14 @@ const e = {
60
64
  [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.",
61
65
  [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."
62
66
  },
63
- tags: [a.backend],
67
+ tags: [o.backend],
64
68
  links: {
65
69
  website: "https://nodejs.org"
66
70
  }
67
- }, g = {
71
+ }, D = {
68
72
  id: "react",
69
73
  name: "React",
70
- type: [s.library],
74
+ type: [E.library],
71
75
  label: {
72
76
  [e.EN_US]: "JavaScript Library",
73
77
  [e.DE_DE]: "JavaScript-Bibliothek"
@@ -76,14 +80,14 @@ const e = {
76
80
  [e.EN_US]: "A JavaScript library for building component-based user interfaces.",
77
81
  [e.DE_DE]: "Eine JavaScript-Bibliothek zum Erstellen komponentenbasierter Benutzeroberflächen."
78
82
  },
79
- tags: [a.frontend, a.backend],
83
+ tags: [o.frontend, o.backend],
80
84
  links: {
81
85
  website: "https://react.dev"
82
86
  }
83
- }, D = {
87
+ }, b = {
84
88
  id: "typescript",
85
89
  name: "TypeScript",
86
- type: [s.language],
90
+ type: [E.language],
87
91
  label: {
88
92
  [e.EN_US]: "High-Level Programming Language",
89
93
  [e.DE_DE]: "Hochsprache"
@@ -92,55 +96,88 @@ const e = {
92
96
  [e.EN_US]: "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.",
93
97
  [e.DE_DE]: "TypeScript ist eine stark typisierte Programmiersprache, die auf JavaScript aufbaut und Ihnen bei jeder Größenordnung bessere Werkzeuge bietet."
94
98
  },
95
- tags: [a.frontend, a.backend, a.open_source],
99
+ tags: [o.frontend, o.backend, o.open_source],
96
100
  links: {
97
101
  website: "https://www.typescriptlang.org"
98
102
  }
99
- }, b = {
103
+ }, c = {
100
104
  [_.id]: _,
101
- [g.id]: g,
102
- [D.id]: D
103
- }, i = {
105
+ [D.id]: D,
106
+ [b.id]: b
107
+ }, a = {
104
108
  DEFAULT_LOCALE: e.EN_US
105
- }, S = ({
109
+ }, T = ({
106
110
  label: n,
107
- locale: t = i.DEFAULT_LOCALE
108
- }) => n[t] || n[i.DEFAULT_LOCALE], A = ({
111
+ locale: t = a.DEFAULT_LOCALE
112
+ }) => n[t] || n[a.DEFAULT_LOCALE], y = ({
109
113
  definition: n,
110
- locale: t = i.DEFAULT_LOCALE
111
- }) => n[t] || n[i.DEFAULT_LOCALE], U = ({
114
+ locale: t = a.DEFAULT_LOCALE
115
+ }) => n[t] || n[a.DEFAULT_LOCALE], S = ({
112
116
  tag: n,
113
- locale: t = i.DEFAULT_LOCALE
117
+ locale: t = a.DEFAULT_LOCALE
114
118
  }) => ({
115
119
  id: n.id,
116
- name: n.name[t] || n.name[i.DEFAULT_LOCALE]
120
+ name: n.name[t] || n.name[a.DEFAULT_LOCALE]
117
121
  }), f = ({
118
122
  term: n,
119
- locale: t = i.DEFAULT_LOCALE
123
+ locale: t = a.DEFAULT_LOCALE
120
124
  }) => ({
121
125
  id: n.id,
122
- name: n.name[t] || n.name[i.DEFAULT_LOCALE]
123
- }), y = ({ id: n, locale: t = i.DEFAULT_LOCALE }) => {
124
- const r = b[n];
125
- return {
126
+ name: n.name[t] || n.name[a.DEFAULT_LOCALE]
127
+ });
128
+ function A({
129
+ id: n,
130
+ localized: t = !0,
131
+ locale: i = a.DEFAULT_LOCALE
132
+ }) {
133
+ const r = c[n];
134
+ return t ? {
126
135
  ...r,
127
- label: S({ label: r.label, locale: t }),
128
- definition: A({ definition: r.definition, locale: t }),
129
- type: r.type.map((o) => f({ term: o, locale: t })),
130
- tags: r.tags.map((o) => U({ tag: o, locale: t }))
131
- };
132
- }, T = ({
133
- locale: n = i.DEFAULT_LOCALE
134
- } = { locale: i.DEFAULT_LOCALE }) => {
135
- const t = {};
136
- for (const [r, o] of Object.entries(b)) {
137
- const c = y({ id: o.id, locale: n });
138
- c && (t[r] = c);
136
+ label: T({ label: r.label, locale: i }),
137
+ definition: y({ definition: r.definition, locale: i }),
138
+ type: r.type.map((s) => f({ term: s, locale: i })),
139
+ tags: r.tags.map((s) => S({ tag: s, locale: i }))
140
+ } : r;
141
+ }
142
+ function v({
143
+ localized: n = !0,
144
+ locale: t = a.DEFAULT_LOCALE
145
+ } = {}) {
146
+ const i = Object.values(c);
147
+ return n ? i.map((r) => A({ id: r.id, locale: t })) : i;
148
+ }
149
+ function O({
150
+ localized: n = !0,
151
+ locale: t = a.DEFAULT_LOCALE
152
+ } = {}) {
153
+ if (!n)
154
+ return c;
155
+ const i = {};
156
+ for (const [r, s] of Object.entries(c)) {
157
+ const U = A({ id: s.id, locale: t });
158
+ i[r] = U;
139
159
  }
140
- return t;
141
- };
160
+ return i;
161
+ }
162
+ function k({
163
+ localized: n = !0,
164
+ locale: t = a.DEFAULT_LOCALE
165
+ } = {}) {
166
+ const i = Object.values(E);
167
+ return n ? i.map((r) => f({ term: r, locale: t })) : i;
168
+ }
169
+ function N({
170
+ localized: n = !0,
171
+ locale: t = a.DEFAULT_LOCALE
172
+ } = {}) {
173
+ const i = Object.values(o);
174
+ return n ? i.map((r) => S({ tag: r, locale: t })) : i;
175
+ }
142
176
  export {
143
- T as getDict,
144
- y as getTerm
177
+ O as getDict,
178
+ N as getTags,
179
+ A as getTerm,
180
+ v as getTerms,
181
+ k as getTypes
145
182
  };
146
183
  //# 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/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: '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 language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\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, TLocale, TTermId, TTermLocalized } from '@/types'\nimport { CONFIG } from '@/common'\nimport { getDefinitionLocalized, getLabelLocalized, getTermTagLocalized, getTermTypeLocalized } from '@/utils'\nimport { TERM } from '@data'\n\nexport const getTerm = ({ id, locale = CONFIG.DEFAULT_LOCALE }: { id: TTermId; locale?: TLocale }): TTermLocalized => {\n // We do not need a null check here because TTermId only allows valid IDs\n const term = TERM[id]\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 const getDict = (\n {\n locale = CONFIG.DEFAULT_LOCALE,\n }: {\n locale?: TLocale\n } = { locale: CONFIG.DEFAULT_LOCALE },\n): TDevDict => {\n const dict = {} as TDevDict\n\n for (const [key, term] of Object.entries(TERM)) {\n const localizedTerm = getTerm({ id: term.id, locale })\n if (localizedTerm) {\n dict[key as TTermId] = localizedTerm\n }\n }\n\n return dict\n}\n"],"names":["LOCALE","backend","frontend","open_source","TAG","cms","language","library","runtime_environment","TYPE","node_js","react","typescript","TERM","CONFIG","getLabelLocalized","label","locale","getDefinitionLocalized","definition","getTermTagLocalized","tag","getTermTypeLocalized","term","getTerm","id","value","getDict","dict","key","localizedTerm"],"mappings":"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"}
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/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: '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 language from './language'\nimport library from './library'\nimport runtime_environment from './runtime_environment'\n\nexport const TYPE = {\n [cms.id]: cms,\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","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,9 +1,39 @@
1
- import type { TDevDict, TLocale, TTermId, TTermLocalized } from '@/types';
2
- export declare const getTerm: ({ id, locale }: {
1
+ import type { TDevDict, TDevDictLocalized, TLocale, TTerm, TTermId, TTermLocalized, TTermType, TTermTypeLocalized, TTermTag, TTermTagLocalized } from '@/types';
2
+ export declare function getTerm(params: {
3
3
  id: TTermId;
4
+ localized: false;
5
+ }): TTerm;
6
+ export declare function getTerm(params: {
7
+ id: TTermId;
8
+ localized?: true;
9
+ locale?: TLocale;
10
+ }): TTermLocalized;
11
+ export declare function getTerms(params?: {
12
+ localized: false;
13
+ }): TTerm[];
14
+ export declare function getTerms(params?: {
15
+ localized?: true;
16
+ locale?: TLocale;
17
+ }): TTermLocalized[];
18
+ export declare function getDict(params?: {
19
+ localized: false;
20
+ }): TDevDict;
21
+ export declare function getDict(params?: {
22
+ localized?: true;
23
+ locale?: TLocale;
24
+ }): TDevDictLocalized;
25
+ export declare function getTypes(params?: {
26
+ localized: false;
27
+ }): TTermType[];
28
+ export declare function getTypes(params?: {
29
+ localized?: true;
4
30
  locale?: TLocale;
5
- }) => TTermLocalized;
6
- export declare const getDict: ({ locale, }?: {
31
+ }): TTermTypeLocalized[];
32
+ export declare function getTags(params?: {
33
+ localized: false;
34
+ }): TTermTag[];
35
+ export declare function getTags(params?: {
36
+ localized?: true;
7
37
  locale?: TLocale;
8
- }) => TDevDict;
38
+ }): TTermTagLocalized[];
9
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKzE,eAAO,MAAM,OAAO,GAAI,gBAAwC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,cAWnG,CAAA;AAED,eAAO,MAAM,OAAO,GAClB,cAEG;IACD,MAAM,CAAC,EAAE,OAAO,CAAA;CACmB,KACpC,QAWF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAK/J,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,CAAA;AACzE,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,cAAc,CAAA;AA0BpG,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,KAAK,EAAE,CAAA;AAChE,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,cAAc,EAAE,CAAA;AAiB3F,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,QAAQ,CAAA;AAChE,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,iBAAiB,CAAA;AAsB3F,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,SAAS,EAAE,CAAA;AACpE,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAAA;AAiB/F,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,QAAQ,EAAE,CAAA;AAClE,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,iBAAiB,EAAE,CAAA"}
@@ -45,5 +45,6 @@ export type TTermLocalized = Omit<TTerm, 'label' | 'definition' | 'type' | 'tags
45
45
  };
46
46
  export type TTerms = (typeof TERM)[keyof typeof TERM];
47
47
  export type TTermId = keyof typeof TERM;
48
- export type TDevDict = Record<TTermId, TTermLocalized>;
48
+ export type TDevDict = Record<TTermId, TTerm>;
49
+ export type TDevDictLocalized = Record<TTermId, TTermLocalized>;
49
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAE/C,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAE3E,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,aAAa,CAAA;AAEtC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAA;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAA;AAEzD,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AAEtD,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;CAInB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG;IACnF,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,kBAAkB,EAAE,CAAA;IAC1B,IAAI,EAAE,iBAAiB,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,IAAI,CAAA;AAEvC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAE/C,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAE3E,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,aAAa,CAAA;AAEtC,MAAM,MAAM,eAAe,GAAG,aAAa,CAAA;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAA;AAEzD,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AAEtD,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;CAInB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG;IACnF,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,kBAAkB,EAAE,CAAA;IAC1B,IAAI,EAAE,iBAAiB,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,IAAI,CAAA;AAEvC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-dict",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
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",
@@ -44,7 +44,8 @@
44
44
  "scripts": {
45
45
  "dev": "vite",
46
46
  "build": "vite build && tsc --emitDeclarationOnly --outDir dist",
47
- "prepublishOnly": "npm run build",
47
+ "docs:generate": "node scripts/generate-docs.js",
48
+ "prepublishOnly": "npm run build && npm run docs:generate",
48
49
  "test": "echo \"This project does not have any tests which can be run yet...\"",
49
50
  "update-packages": "npx npm-check-updates -u"
50
51
  },