loopbackio / loopbackio/loopback-datasource-juggler

Strongly typed context types for operation hook typings

Offen
#1,822 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

developer-experience feature good first issue
Vorherrschende Sprache
JavaScript
Sterne
282
Forks
366
Ø Merge
17 Std. 4 Min.
Gemergte PRs (30 T.)
10

Beschreibung

@bajtos [suggested to provide strongly typed context types based on the hook name](https://github.com/strongloop/loopback-datasource-juggler/pull/1820#discussion_r383908186).

For example:

```ts
export interface AccessHookContext {
Model: T;
query: Filter;
}

export type Listener = (ctx: Ctx, next: (err?: any) => void) => void;

class PersistedModel {
// ...
static observe(operation: 'access', handler: Listener): void;
static observe(operation: 'before save', handler: Listener): void;
// etc.
}
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Diskussion im Pull Request #1820 und den vorhandenen Typdefinitionen für den operation-hook von PersistedModel.observe. Ermittle den für jeden vom aktuellen API benannten Hook erforderlichen Kontexttyp. Überprüfe anschließend, dass jeder Handler den entsprechenden Kontext erhält und dass die TypeScript-Deklarationen über alle Operationen hinweg konsistent bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
backend, database
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.