Definitelytyped: Lodash некоторые методы отсутствуют в LoDashExplicitArrayWrapper

Созданный на 3 нояб. 2015  ·  50Комментарии  ·  Источник: DefinitelyTyped/DefinitelyTyped

Код TypeScript (из 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();

Жалобы компилятора tsc:

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

то же самое происходит с pluck

Самый полезный комментарий

Обходной путь может быть таким:

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

Все 50 Комментарий

Да, я работаю над этим, и если вы напишете, какой из методов вам интересен, я добавлю их в первую очередь.

по # 6600: +1:

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

@ joe-chung да, в определении модуля есть некоторые проблемы, и они затрудняют добавление подписей first (и некоторые другие методы) прямо сейчас

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

@thakursagar Интерфейс LodashArrayWrapper давно не существует в определении lodash . Убедитесь, что вы используете последнюю версию определения. Метод some уже должен работать нормально.

Вы хотите, чтобы я отправил PR для _.reduce в LoDashExplicitArrayWrapper? Это было бы полезно для нас

@gamebox Да, пожалуйста, добавьте _.reduce, его точно не хватает.

нужно также _.uniqBy

также _.flattenDepth()

и _.sort

и _.split

_.flatMap пожалуйста

@chrootsu _.update и _.updateWith пожалуйста :)

Свойство 'mean' не существует для типа LoDashStatic.

Пожалуйста, добавьте _ (x) .split

Та же проблема: Property 'split' does not exist on type 'LoDashExplicitWrapper<string>'

версия lodash: 3.10.1

Зависимость typings.json:
"lodash": "registry:dt/lodash#3.10.0+20160802150749"

_.keyBy похоже, тоже отсутствует

_.findWhere тоже отсутствует. Не могли бы вы также добавить это ...

как _.assign

_.flatMapDeep, пожалуйста? :)

_.max на LoDashExplicitArrayWrapper

интерфейс LoDashExplicitArrayWrapper{
/ **
* @see _.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>;
}

Не уверен, почему это закрыто ... похоже, в типах отсутствует куча методов (для меня _.uniqWith )

и _.find
на обоих
Property 'find' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.
а также
Property 'find' does not exist on type 'LoDashExplicitArrayWrapper<{}[]>'

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

_.include также

_.divide тоже

все, что идет после _.chain, будет иметь эту ошибку, пожалуйста, помогите исправить это @chrootsu @rbcasperson

_.map также ...
Этот вопрос следует открыть повторно.

Я проверил комментарии выше, и они, похоже, все еще отсутствуют:

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

Эту ошибку следует повторно открыть, поскольку многие методы (упомянутые выше) все еще не имеют правильной типизации.

Также отсутствует преобразование ,
сообщается отдельно кем-то здесь # 14748
это скоро будет исправлено?
есть обходной путь?

Обходной путь может быть таким:

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

_.mapValues ​​() не существует в UnderscoreStatic. Этот метод отсутствует в lodash. Пожалуйста, обновите.

кажется, что _mapValues ​​не входит в цепочку, но работает как автономный

Свойство keys не существует для типа LoDashImplicitArrayWrapper.'

Свойство length отсутствует в типе LoDashImplicitArrayWrapper <...>

Свойство "differenceWith" не существует для типа "LoDashImplicitObjectWrapper".'.

Убедитесь, что вы вызываете https://lodash.com/docs/#prototype -value в конце вашей цепочки

_. раз пожалуйста

_.partition пожалуйста

_. second Пожалуйста

_.следующий тоже пожалуйста

_.upperCase и _.deburr, пожалуйста

цепочка (блабла) .mapValues ​​() ......
результат при ошибке tslint
Property 'mapValues' does not exist on type 'LoDashExplicitObjectWrapper<{}>'.

Оппс ... отсутствующий метод не существует в lodash.

Это почти работает, но .pickBy также подвержен этой проблеме!

(lodash.chain (stuff) .pickBy (lodash.isArray) как любое) .transform (transformFunction, []). value ();

_.uniq с просьбой

Есть ли способ исправить это самостоятельно?

Этому потоку несколько лет, и все еще есть функции, которые не работают!

@ charlesr1971 У меня тоже проблема с _.uniqWith , кажется, функция все еще работает, но интерфейс еще не определен.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги