Definitelytyped: Lodash faltan algunos métodos en LoDashExplicitArrayWrapper

Creado en 3 nov. 2015  ·  50Comentarios  ·  Fuente: 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();

quejas del compilador de tsc:

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

lo mismo ocurre con pluck

Comentario más útil

Una solución alternativa puede ser la siguiente:

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

Todos 50 comentarios

Sí, trabajo en ello y si escribe cuál de los métodos es interesante para usted, lo agregaré primero.

por # 6600: +1:

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

@ joe-chung sí, hay algunos problemas en la definición del módulo y dificultan la adición de firmas first (y algunos otros métodos) en este momento

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

@thakursagar La interfaz LodashArrayWrapper no existe en la definición de lodash durante mucho tiempo. Compruebe que utiliza la última versión de la definición. El método some ya debería funcionar bien.

¿Quieres que envíe un PR para _.reduce en LoDashExplicitArrayWrapper? Esto sería útil para nosotros.

@gamebox Sí, agregue _.reduce, definitivamente falta.

también necesita _.uniqBy

también _.flattenDepth()

y _.sort

y _.split

_.flatMap por favor

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

La propiedad 'mean' no existe en el tipo 'LoDashStatic'.

Agregue _ (x) .split

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

versión lodash: 3.10.1

Dependencia de typings.json:
"lodash": "registry:dt/lodash#3.10.0+20160802150749"

_.keyBy parece faltar

_.findWhere también falta. ¿Puede agregar esto también ...

como está _.assign

_.flatMapDeep por favor? :)

_.max en LoDashExplicitArrayWrapper

interfaz LoDashExplicitArrayWrapper{
/ **
* @ver _.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>;
}

No estoy seguro de por qué está cerrado ... parece que faltan un montón de métodos en las mecanografías ( _.uniqWith para mí)

y _.find
en ambos
Property 'find' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.
y
Property 'find' does not exist on type 'LoDashExplicitArrayWrapper<{}[]>'

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

_.include también

_.divide too

lo que sea que vaya después de _.chain tendría este error, por favor ayude a solucionarlo @chrootsu @rbcasperson

_.map también ...
Este problema debería reabrirse.

Revisé los comentarios anteriores y parece que todavía faltan:

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

Este error debe reabrirse ya que muchos métodos (mencionados anteriormente) aún no tienen los tipos correctos.

También falta transformar también,
reportado por separado por otra persona aquí # 14748
¿Se solucionará esto pronto?
¿Hay alguna solución?

Una solución alternativa puede ser la siguiente:

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

_.mapValues ​​() no existe en UnderscoreStatic. Este método falta en la actualización de lodash.

parece que _mapValues ​​no está incluido en la cadena pero funciona como independiente

La propiedad 'claves' no existe en el tipo 'LoDashImplicitArrayWrapper'

Falta la propiedad 'length' en el tipo 'LoDashImplicitArrayWrapper <...>'

La propiedad 'differenceWith' no existe en el tipo 'LoDashImplicitObjectWrapper'.

Asegúrese de llamar a https://lodash.com/docs/#prototype -value al final de su cadena

_.veces por favor

_.partition por favor

_.cond Por favor

_.next también por favor

_.upperCase y _.deburr por favor

cadena (blabla) .mapValues ​​() ......
resultado en tslint error
Property 'mapValues' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.

Opps ... el método faltante no existe en lodash.

Esto casi funciona, ¡pero .pickBy también está sujeto a este problema!

(lodash.chain (cosas) .pickBy (lodash.isArray) como cualquiera) .transform (transformFunction, []). value ();

_.uniqCon por favor

¿Hay alguna forma de que podamos solucionar esto nosotros mismos?

¡Este hilo tiene algunos años y todavía hay funciones que no funcionan!

@ charlesr1971 También tengo el problema con _.uniqWith , parece que la función todavía funciona pero la interfaz aún no está definida.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

csharpner picture csharpner  ·  3Comentarios

jamespero picture jamespero  ·  3Comentarios

Zzzen picture Zzzen  ·  3Comentarios

alisabzevari picture alisabzevari  ·  3Comentarios

victor-guoyu picture victor-guoyu  ·  3Comentarios