Definitelytyped: Lodash alguns métodos ausentes em LoDashExplicitArrayWrapper

Criado em 3 nov. 2015  ·  50Comentários  ·  Fonte: DefinitelyTyped/DefinitelyTyped

Código 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();

Reclamações do compilador tsc:

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

o mesmo acontece com pluck

Comentários muito úteis

Uma solução alternativa pode ser assim:

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

Todos 50 comentários

Sim, eu trabalho nisso e se você escrever quais métodos são interessantes para você, vou adicioná-los primeiro.

por # 6600: +1:

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

@ joe-chung sim, existem alguns problemas na definição do módulo e eles tornam difícil adicionar assinaturas first (e alguns outros métodos) agora

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

@thakursagar A interface LodashArrayWrapper não existe na definição de lodash há muito tempo. Verifique se você usa a versão mais recente da definição. O método some já deve funcionar bem.

Você quer que eu envie um PR para _.reduce no LoDashExplicitArrayWrapper? Isso seria útil para nós

@gamebox Sim, adicione _.reduce, definitivamente está faltando.

também precisa de _.uniqBy

também _.flattenDepth()

e _.sort

e _.split

_.flatMap por favor

@chrootsu _.update e _.updateWith por favor :)

A propriedade 'mean' não existe no tipo 'LoDashStatic'.

Adicione _ (x) .split

Mesmo problema: Property 'split' does not exist on type 'LoDashExplicitWrapper<string>'

versão lodash: 3.10.1

Dependência de typings.json:
"lodash": "registry:dt/lodash#3.10.0+20160802150749"

_.keyBy parece estar faltando

_.findWhere também está faltando. Você pode por favor adicionar isto também ...

como é _.assign

_.flatMapDeep, por favor? :)

_.max em LoDashExplicitArrayWrapper

interface LoDashExplicitArrayWrapper{
/ **
* @see _.max
* /
max (
iteratee: 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>;
}

Não sei por que isso está fechado ... parece que faltam vários métodos nas digitações ( _.uniqWith para mim)

e _.find
nos dois
Property 'find' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.
e
Property 'find' does not exist on type 'LoDashExplicitArrayWrapper<{}[]>'

e _.pares
Property 'pairs' does not exist on type 'LoDashStatic'.

_.incluir também

_.dividir também

tudo o que vier depois de _.chain teria esse erro, por favor ajude a consertá-lo @chrootsu @rbcasperson

_.map também ...
Este problema deve ser reaberto.

Eu verifiquei os comentários acima, e eles parecem estar faltando:

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

Este bug deve ser reaberto, pois muitos métodos (mencionados acima) ainda não possuem a digitação correta.

Também está faltando a transformação ,
relatado separadamente por outra pessoa aqui # 14748
isso vai ser consertado em breve?
existe uma solução alternativa?

Uma solução alternativa pode ser assim:

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

_.mapValues ​​() não existe em UnderscoreStatic. Este método está faltando na atualização do Lodash Kindly.

parece que _mapValues ​​não está incluído na cadeia, mas funciona como autônomo

A propriedade 'keys' não existe no tipo 'LoDashImplicitArrayWrapper'

A propriedade 'length' está ausente no tipo 'LoDashImplicitArrayWrapper <...>'

A propriedade 'diferençaWith' não existe no tipo 'LoDashImplicitObjectWrapper'.

Certifique-se de chamar https://lodash.com/docs/#prototype -value no final de sua rede

_ horas por favor

_.partição por favor

_.cond por favor

_.próximo também, por favor

_.upperCase e _.deburr por favor

cadeia (blabla) .mapValues ​​() ......
resultado em erro tslint
Property 'mapValues' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.

Ops ... o método ausente não existe no lodash.

Isso quase funciona, mas .pickBy também está sujeito a esse problema!

(lodash.chain (stuff) .pickBy (lodash.isArray) como qualquer) .transform (transformFunction, []). value ();

_.uniqWith por favor

Existe alguma maneira de consertarmos isso sozinhos?

Este tópico tem alguns anos e ainda existem funções que não funcionam!

@ charlesr1971 Também tenho o problema com _.uniqWith , parece que a função ainda funciona, mas a interface ainda não foi definida.

Esta página foi útil?
0 / 5 - 0 avaliações