
Ivan
17.05.2017
08:27:16
типа добавить метод прямо в кложуру )

Max
17.05.2017
08:27:34
во
interface RaterAPIServiceMock extends RaterAPIService {
getWidgetsToRaterFieldsMapping: any
}

Ivan
17.05.2017
08:27:41
хотя, если посмотреть как кложура определена, может там есть какой-то нормальный тип?

Google

Ivan
17.05.2017
08:27:43
ААА

Max
17.05.2017
08:27:43
const API = RaterAPIService as RaterAPIServiceMock
API.getWidgetsToRaterFieldsMapping = jest.fn()
API.getWidgetsToRaterFieldsMapping.mockReturnValue(mapping)

Ivan
17.05.2017
08:27:45
подожди
лучше есть
mapped types!!!
попробуй mapped types поюзать )

Aleh
17.05.2017
08:28:10
Да, у нас как раз через mapped

Ivan
17.05.2017
08:28:16
сорри, мне идти надо. посмотри короче штуки как public<T> или типа того, там можно такое же сделать

Max
17.05.2017
08:28:20
щас погуглю что это такое
> transforms each property in the old type in the same way
т.е получается что все методы будут any
и автокомплит сломается
так?

Google

Max
17.05.2017
08:31:54
для остальных методов
ну новый интерфейс норм короче )
завоверрайдил только то что надо мне )

Aleh
17.05.2017
08:35:06
Не
Ща покажу
и автокомплит сломается
type FunctionStub = Sinon.SinonStub
type Stubbed<S> = {
[K in keyof S]: S[K] & FunctionStub
} & S

Max
17.05.2017
08:52:19
хм, проверю
еще вопрос
`
componentDidMount() {
this.props.dispatch(loadAvailableFieldNames())
}
`
`
export function loadAvailableFieldNames() {
return async (dispatch: any, getState: GetState) => {
const { url, fileId, worksheet } = getState().rater.settings
const fieldnames = await RaterAPIService.getAvailiableFieldNames(url, fileId, worksheet)
dispatch(setAvailableFieldNames(fieldnames))
}
}
`

Aleh
17.05.2017
08:52:41

Max
17.05.2017
08:52:47
первый ругается на
ERROR in [at-loader] ./src/views/Editor.tsx:27:29
TS2345: Argument of type '(dispatch: any, getState: GetState) => Promise<void>' is not assignable to parameter of type 'Action'.
Property 'type' is missing in type '(dispatch: any, getState: GetState) => Promise<void>'.

Aleh
17.05.2017
08:52:52
sinon меняешь на нужное

Max
17.05.2017
08:53:01
щас надо функционал выкатить

Aleh
17.05.2017
08:54:24

Max
17.05.2017
08:54:34
as any?
:)

Aleh
17.05.2017
08:55:18
ну я б его нормально для thunk типизировал, это ж не сложно

Max
17.05.2017
08:55:46
это вообще или мне предлагаешь? )

Nikolay
17.05.2017
12:06:30

Google

Nikolay
17.05.2017
12:06:44
Товарищи, помогите разобраться. Хочу реализовать асинхронную подгрузку модуля при помощи require.ensure.
Не понятен такой момент:
Как правильно объявить интерфейс для moment?

Vladimir
17.05.2017
12:07:12
мб dynamic import?

Nikolay
17.05.2017
12:08:16

Artur
17.05.2017
12:18:39
Там по ссылкам примеры

Nikolay
17.05.2017
12:31:28
Спасибо. Такое же решение нашел и тут https://github.com/Lemoncode/react-typescript-samples/blob/master/16%20Lazy%20Loading/src/index.tsx

Сергей
17.05.2017
12:59:13
Всем привет
у меня в ts проекте есть lib/some_plugin.js
как правильно для него тайпинги написать?
чтобы я мог import Some from '../lib/some_plugin' ?

Aleh
17.05.2017
13:00:03
lib/some_plugin.d.ts

Сергей
17.05.2017
13:00:18
пишет is not a module

Сергей
17.05.2017
13:00:24
а внутри declare module?

Aleh
17.05.2017
13:00:25
в нем export default class Some {}

Сергей
17.05.2017
13:00:45
о
ларчик просто открывался
спасибо

Mike
17.05.2017
13:03:19
смотрите, что бывает https://github.com/ToCSharp/TypeScriptAST

Сергей
17.05.2017
13:05:00
и добавляет свою переменную

Google

Aleh
17.05.2017
13:05:38

Сергей
17.05.2017
13:05:59
и туда уже свои расширяки?

Aleh
17.05.2017
13:06:16
да, просто interface Window { yourVar: VarType }

Сергей
17.05.2017
13:06:20
благодарю

Aleh
17.05.2017
13:06:41
либо же declare var yourVar: VarType, зависит от того, как юзать будете

Сергей
17.05.2017
13:07:27
ts умеет в генераторы?

Aleh
17.05.2017
13:07:36
да

Admin
ERROR: S client not available

Aleh
17.05.2017
13:07:45
2.3 даж асинхронные умеет)

Сергей
17.05.2017
13:08:26
как это описать в тайпингах?))

Aleh
17.05.2017
13:08:30
что именно?

Сергей
17.05.2017
13:08:32
у меня функция принимает генератор

Aleh
17.05.2017
13:08:42
Iterator

Сергей
17.05.2017
13:10:08
ужс
я хз как для этой херни тайпинги писать

andretshurotshka?❄️кде
17.05.2017
13:13:37
лол

Сергей
17.05.2017
13:14:06
так-то понятно. Но это ж пздц...

Google

Artur
17.05.2017
13:14:08

Сергей
17.05.2017
13:14:36

Aleh
17.05.2017
13:14:36
это своя реализация async-await/co?

Сергей
17.05.2017
13:14:45
только времени переписывать нет, как обычно должно быть готово вчера

Aleh
17.05.2017
13:15:47
так выкинь и поставь co
ну или bluebird.coroutine

Сергей
17.05.2017
13:17:49
короче это плагин для CryptoPro BrowserPlugin

Anton
17.05.2017
13:18:54
Сейчас раздают бесплатную книжку по TS https://www.packtpub.com/packt/offers/free-learning

Narek
17.05.2017
13:19:49
Лол, а чем просто design patterns отличается от TypeScript design patterns

Aleh
17.05.2017
13:20:21
придется скачать и посмотреть, чтобы найти разницу)

Narek
17.05.2017
13:20:38
подозреваю, что ничем

Aleh
17.05.2017
13:20:40
зайлете сюда плиз, а то лень регаться

Сергей
17.05.2017
13:21:03

Aleh
17.05.2017
13:21:55
даж вот так сделаю)

Narek
17.05.2017
13:22:35
лол))

Сергей
17.05.2017
13:22:51
спасибо!

Aleh
17.05.2017
13:23:05
там еще про typings :)

Anton
17.05.2017
13:23:20
TypeScript Design Patterns