ContentRegistry

ContentRegistry

Zentraler Zugriffspunkt auf die Content-Registry. Singleton-Pattern: Die Registry wird einmal geladen und gecacht.

Constructor

new ContentRegistry(data)

Source:
Example
import { ContentRegistry } from './js/core/content-registry.js';

const registry = await ContentRegistry.load();
const games = registry.getByType('game');
const resource = registry.getById('game_rotatebox');
const searchResults = registry.search('suchbaum');
Parameters:
Name Type Description
data Object

Geparste content-registry.json

Members

_byId :Map.<string, Object>

Description:
  • ID → Ressource Lookup

Source:

ID → Ressource Lookup

Type:
  • Map.<string, Object>

_byType :Map.<string, Array.<Object>>

Description:
  • Type → Ressourcen Lookup

Source:

Type → Ressourcen Lookup

Type:
  • Map.<string, Array.<Object>>

count

Description:
  • Gibt die Gesamtzahl der Ressourcen zurück.

Source:

Gibt die Gesamtzahl der Ressourcen zurück.

resources :Array.<Object>

Description:
  • Alle Ressourcen

Source:

Alle Ressourcen

Type:
  • Array.<Object>

version :number

Description:
  • Schema-Version

Source:

Schema-Version

Type:
  • number

Methods

getAllTopics() → {Array.<string>}

Description:
  • Gibt alle verfügbaren Topic-Tags zurück.

Source:
Returns:

Sortierte, deduplizierte Topic-Tags

Type
Array.<string>

getByAudience(audience) → {Array.<Object>}

Description:
  • Gibt alle Ressourcen zurück, die für eine bestimmte Zielgruppe geeignet sind.

Source:
Parameters:
Name Type Description
audience 'beginner' | 'academic' | 'student'
Returns:
Type
Array.<Object>

getById(id) → {Object|undefined}

Description:
  • Gibt eine Ressource anhand ihrer ID zurück.

Source:
Parameters:
Name Type Description
id string

Content-Registry ID

Returns:
Type
Object | undefined

getByLevel(level) → {Array.<Object>}

Description:
  • Gibt alle Ressourcen zurück, die für ein bestimmtes Level geeignet sind.

Source:
Parameters:
Name Type Description
level 'beginner' | 'intermediate' | 'advanced'
Returns:
Type
Array.<Object>

getByTopic(topic) → {Array.<Object>}

Description:
  • Gibt alle Ressourcen zurück, die einen bestimmten Topic-Tag haben.

Source:
Parameters:
Name Type Description
topic string

Topic-Tag (z.B. 'search-trees')

Returns:
Type
Array.<Object>

getByType(type) → {Array.<Object>}

Description:
  • Gibt alle Ressourcen eines Typs zurück.

Source:
Parameters:
Name Type Description
type 'game' | 'playground' | 'expedition' | 'challenge-galaxy' | 'edu-material'
Returns:
Type
Array.<Object>

getPrerequisites(resourceId) → {Array.<Object>}

Description:
  • Gibt die Voraussetzungen einer Ressource zurück.

Source:
Parameters:
Name Type Description
resourceId string

Content-Registry ID

Returns:

Aufgelöste Ressourcen-Objekte

Type
Array.<Object>

getRecommendations(options) → {Array.<Object>}

Description:
  • Gibt Empfehlungen basierend auf abgeschlossenen Ressourcen und Interessen.

Source:
Parameters:
Name Type Description
options Object
Properties
Name Type Attributes Default Description
completedIds Array.<string> <optional>
[]

Bereits abgeschlossene Ressourcen-IDs

interests Array.<string> <optional>
[]

Topic-Tags des Nutzers

dismissed Array.<string> <optional>
[]

Weggeklickte Empfehlungen

maxResults number <optional>
5

Maximale Anzahl Empfehlungen

Returns:

Empfohlene Ressourcen

Type
Array.<Object>

getRelated(resourceId) → {Array.<Object>}

Description:
  • Gibt alle verwandten Ressourcen einer gegebenen Ressource zurück.

Source:
Parameters:
Name Type Description
resourceId string

Content-Registry ID

Returns:

Aufgelöste Ressourcen-Objekte

Type
Array.<Object>
Description:
  • Volltextsuche über Titel, Beschreibung, Topics und Glossar-Terms.

Source:
Parameters:
Name Type Description
query string

Suchbegriff (case-insensitive)

Returns:

Passende Ressourcen, sortiert nach Relevanz

Type
Array.<Object>

(static) clearCache()

Description:
  • Setzt den Cache zurück (z.B. für Tests).

Source:

(async, static) load(basePathopt) → {Promise.<ContentRegistry>}

Description:
  • Lädt die Registry aus der JSON-Datei (Singleton, gecacht).

Source:
Parameters:
Name Type Attributes Default Description
basePath string <optional>
''

Optionaler Basis-Pfad für den Fetch (z.B. '../' wenn aus html/games/ geladen)

Returns:
Type
Promise.<ContentRegistry>