Definitelytyped: Lodash certaines méthodes manquantes dans LoDashExplicitArrayWrapper

Créé le 3 nov. 2015  ·  50Commentaires  ·  Source: DefinitelyTyped/DefinitelyTyped

Code TypeScript (de https://lodash.com/docs#chain) :

var users = [
    { 'user': 'barney',  'age': 36 },
    { 'user': 'fred',    'age': 40 },
    { 'user': 'pebbles', 'age': 1 }
];

var youngest = _.chain(users)
    .sortBy('age')
    .map(function(chr) {
        return chr.user + ' is ' + chr.age;
    })
    .first()
    .value();

plaintes du compilateur tsc :

error TS2339: Property 'sortBy' does not exist on type 'LoDashExplicitArrayWrapper<{ 'user': string; 'age': number; }>'.

la même chose arrive avec pluck

Commentaire le plus utile

Une solution de contournement peut être comme ceci :

(lodash.chain(stuff).pickBy(lodash.isArray) as any).transform(transformFunction, []).value();

Tous les 50 commentaires

Oui, j'y travaille et si vous écrivez quelles méthodes sont intéressantes pour vous, je les ajouterai en premier.

par #6600 :+1:

error TS2339: Property 'first' does not exist on type 'LoDashExplicitArrayWrapper<string>'.

@joe-chung oui, il y a quelques problèmes dans la définition du module et ils rendent difficile l'ajout de signatures first (et quelques autres méthodes) en ce moment

Property 'some' does not exist on type 'LodashArrayWrapper<any[]>'

@thakursagar L'interface LodashArrayWrapper n'existe pas dans la définition de lodash depuis longtemps. Veuillez vérifier que vous utilisez la dernière version de la définition. La méthode some devrait déjà fonctionner correctement.

Voulez-vous que je soumette un PR pour _.reduce dans le LoDashExplicitArrayWrapper ? cela nous serait utile

@gamebox Oui, veuillez ajouter _.reduce, il manque définitivement.

besoin de _.uniqBy aussi

aussi _.flattenDepth()

et _.sort

et _.split

_.flatMap s'il vous plaît

@chrootsu _.update et _.updateWith s'il vous plaît :)

La propriété 'mean' n'existe pas sur le type 'LoDashStatic'.

Veuillez ajouter _(x).split

Même problème : Property 'split' does not exist on type 'LoDashExplicitWrapper<string>'

version lodash : 3.10.1

Dépendance typings.json :
"lodash": "registry:dt/lodash#3.10.0+20160802150749"

_.keyBy semble également manquer

_.findWhere est également manquant. Pouvez-vous s'il vous plaît ajouter ceci aussi...

tel quel _.assign

_.flatMapDeep s'il vous plaît ? :)

_.max sur LoDashExplicitArrayWrapper

interface LoDashExplicitArrayWrapper{
/**
* @voir _.max
*/
max(
itéré : ListIterator
): LoDashExplicitWrapper;

    /**
     * <strong i="17">@see</strong> _.max
     */
    max(iteratee: string): LoDashExplicitWrapper<number>;

    /**
     * <strong i="18">@see</strong> _.max
     */
    max(): LoDashExplicitWrapper<number>;

    /**
     * <strong i="19">@see</strong> _.max
     */
    max(iteratee: Dictionary<{}>): LoDashExplicitWrapper<number>;
}

Je ne sais pas pourquoi cela est fermé... il semble y avoir un tas de méthodes manquantes dans les saisies ( _.uniqWith pour moi)

et _.find
à la fois
Property 'find' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.
et
Property 'find' does not exist on type 'LoDashExplicitArrayWrapper<{}[]>'

et _.pairs
Property 'pairs' does not exist on type 'LoDashStatic'.

_.include aussi

_.diviser aussi

tout ce qui se passe après _.chain aurait cette erreur, aidez-nous à la corriger @chrootsu @rbcasperson

_.map aussi...
Ce problème devrait être rouvert.

J'ai vérifié les commentaires ci-dessus, et ceux-ci semblent toujours manquants :

_.divide();
_.include();
_.pairs();

Ce bogue devrait être rouvert car de nombreuses méthodes (mentionnées ci-dessus) n'ont toujours pas de saisies correctes.

La transformation est également manquante,
rapporté séparément par quelqu'un d'autre ici #14748
est-ce que ça va être corrigé bientôt ?
Y at-il un travail autour?

Une solution de contournement peut être comme ceci :

(lodash.chain(stuff).pickBy(lodash.isArray) as any).transform(transformFunction, []).value();

_.mapValues() n'existe pas sur UnderscoreStatic. Cette méthode est absente de lodash Veuillez mettre à jour.

il semble que _mapValues ​​ne soit pas inclus dans la chaîne mais fonctionne de manière autonome

La propriété 'keys' n'existe pas sur le type 'LoDashImplicitArrayWrapper'

La propriété 'length' est manquante dans le type 'LoDashImplicitArrayWrapper<...>'

La propriété 'differenceWith' n'existe pas sur le type 'LoDashImplicitObjectWrapper'.

Veuillez vous assurer d'appeler https://lodash.com/docs/#prototype -value à la fin de votre chaîne

_.fois s'il vous plaît

_.partition s'il vous plaît

_.cond S'il vous plaît

_.suivant aussi s'il vous plait

_.upperCase et _.deburr s'il vous plaît

chain(blabla).mapValues()......
résultat sur erreur tslint
Property 'mapValues' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.

Opps... la méthode manquante n'existe pas dans lodash.

Cela fonctionne presque, mais .pickBy est également sujet à ce problème !

(lodash.chain(truc).pickBy(lodash.isArray) as any).transform(transformFunction, []).value();

_.uniqAvec s'il vous plait

Existe-t-il un moyen de résoudre ce problème nous-mêmes ?

Ce fil a quelques années et il y a encore des fonctions qui ne fonctionnent pas !

@ charlesr1971 J'ai aussi le problème avec _.uniqWith , il semble que la fonction fonctionne toujours mais l'interface n'est pas encore définie.

Cette page vous a été utile?
0 / 5 - 0 notes