NativeScript / NativeScript/ios
Metadata generator fails to generate proper types and does not add method to runtime
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 150
- Forks
- 43
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 22
Beschreibung
Since always, we are facing a small problem in couchbase plugin API. There is a certain method that is not parsed properly by metadata generator for a strange reason.
This is the definition of method in obj-c:
#pragma mark - Aggregate operators:
/**
Creates a between expression that evaluates whether or not the current expression is
between the given expressions inclusively.
@param expression1 The inclusive lower bound expression.
@param expression2 The inclusive upper bound expression.
@return The between expression.
*/
- (CBLQueryExpression*) between: (CBLQueryExpression*)expression1 and: (CBLQueryExpression*)expression2;
This is the typing that generator creates: https://github.com/triniwiz/nativescript-plugins/blob/master/packages/nativescript-couchbase/typings/objc!CouchbaseLite.d.ts#L1965
You'll notice it's missing and argument label.
Also, this method doesn't exist in runtime at all even if one tries to call between or betweenAnd.
There is also a valid method that happens to be named andExpression and I'm wondering if generator gets confused:
https://github.com/triniwiz/nativescript-plugins/blob/master/packages/nativescript-couchbase/typings/objc!CouchbaseLite.d.ts#L1963
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Vergleiche die Objective-C-Deklaration im Issue mit der generierten Deklaration unter typings/objc!CouchbaseLite.d.ts#L1965 und dem nahegelegenen andExpression-Eintrag bei L1963. Verfolge die metadata-generator- und runtime-Pfade für diese Methode; abgeschlossen bedeutet, dass der generierte Typ das and-Argumentlabel beibehält und die Methode zur Laufzeit verfügbar ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, objective-c
- Bereich
- mobile, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100