Size: a a a

2018 June 04

AE

Artur Eshenbrener in TypeScript
Artur Eshenbrener
Ну да, и ts отловит всё:
function someFunction() {
 return 1
}
someFunction.prop = 321
namespace someFunction {
 export const prop = 1
}
@iyntx тут обсуждали как то
источник

АЗ

Андрей Звёздочка in TypeScript
Андрей Гуртовой
как это типизировать ?
function foo () {
   foo.lala = 123;
}
class
источник

PF

Pawel Filimonenkow in TypeScript
источник

J

JavaScript верстальщик in TypeScript
Андрей Гуртовой
как это типизировать ?
function foo () {
   foo.lala = 123;
}
type Foo = {
   (): void;
   lala?: number;
};

const foo: Foo = () => {
   foo.lala = 1;
}
источник

АГ

Андрей Гуртовой in TypeScript
JavaScript верстальщик
type Foo = {
   (): void;
   lala?: number;
};

const foo: Foo = () => {
   foo.lala = 1;
}
Норм спасибо
источник
2018 June 05

b

btcn in TypeScript
как запретить тайпчекеру выводить общий тип {} в джинериках? То есть я хочу, чтобы f в примере ниже не тайпчекалось, а только f3

     function foo<T>(n: number) {
       return (v: T) => {
           return Stream.continually(() => v).take(n)
       }
   }

   let f = foo(10)("a") // OK, f: Stream<{}>
   let f2: Stream<string> = foo(10)("a") // Error: Type {} is not assignable to type 'string'
   let f3 = foo<string>(10)("a")   //OK, f: Stream<string>
источник

b

btcn in TypeScript
btcn
как запретить тайпчекеру выводить общий тип {} в джинериках? То есть я хочу, чтобы f в примере ниже не тайпчекалось, а только f3

     function foo<T>(n: number) {
       return (v: T) => {
           return Stream.continually(() => v).take(n)
       }
   }

   let f = foo(10)("a") // OK, f: Stream<{}>
   let f2: Stream<string> = foo(10)("a") // Error: Type {} is not assignable to type 'string'
   let f3 = foo<string>(10)("a")   //OK, f: Stream<string>
нашёл ответ: надо по дефолту ставить <T = never>. правда хотелось бы опцию комплиятора

    function foo<T = never>(n: number) {
       return <T>(v: T) => {
           return Stream.continually(() => v).take(n)
       }
   }
источник

b

btcn in TypeScript
btcn
как запретить тайпчекеру выводить общий тип {} в джинериках? То есть я хочу, чтобы f в примере ниже не тайпчекалось, а только f3

     function foo<T>(n: number) {
       return (v: T) => {
           return Stream.continually(() => v).take(n)
       }
   }

   let f = foo(10)("a") // OK, f: Stream<{}>
   let f2: Stream<string> = foo(10)("a") // Error: Type {} is not assignable to type 'string'
   let f3 = foo<string>(10)("a")   //OK, f: Stream<string>
ещё понял, что foo надо определять вот так в моём случае, тогда тип нормально считается
     function foo(n: number) {
       return <T>(v: T) => {
           return Stream.continually(() => v).take(n)
       }
   }
источник

GB

Gleb Bigma in TypeScript
Подскажите пожалуйста, почему при вращении имейдж каждый раз накладывается?
источник

GB

Gleb Bigma in TypeScript
источник

GB

Gleb Bigma in TypeScript
источник

IP

Ivan Popelyshev in TypeScript
потому что ты не очищаешь 2д контекст?
источник

IP

Ivan Popelyshev in TypeScript
clearRect то нету
источник

d

dexofan in TypeScript
Надо определять code coverage. Как лучше делать: запускать транспиленые тесты на выходном  js коде или через ts-node тесты запускать?
источник

GB

Gleb Bigma in TypeScript
Ivan Popelyshev
потому что ты не очищаешь 2д контекст?
Подскажите пожалуйста, как мне это сделать, не снеся при вращении то, что находится под шестерёнкой?
источник

AE

Artur Eshenbrener in TypeScript
Чуваки такой вопрос. Пишу hoc для реакта, с такой сигнатурой: hoc(ReplacementComponent)(OriginalComponent). Суть в том, что иногда вместо OriginalComponent надо рендерить ReplacementComponent. Соответственно ReplacementComponent должен уметь принимать пропсы от OriginalComponent (но не только их, в общем случае. Пытаюсь так:
function hoc<P, R extends P>(ReplacementComponent: React.ComponentClass<R>) {
 return function hocFactory<T extends React.ComponentClass<P>>(OriginalComponent: T): T {
 }
}


Оно работает только если R не шире P, то есть, если например в P есть свойство с типом "a", а в R то же свойство, но с типом "a" | "b", то TS ругается. Кто-нибудь такое решал уже?
источник

IP

Ivan Popelyshev in TypeScript
Gleb Bigma
Подскажите пожалуйста, как мне это сделать, не снеся при вращении то, что находится под шестерёнкой?
не писать вручную а использовать pixiJS или другую либу для рендеринга
а если пишешь вручную то не жаловаться что HTML5 Canvas2d API непонятный. по нему много туториалов и хелпа
источник

GB

Gleb Bigma in TypeScript
🙁
источник

IP

Ivan Popelyshev in TypeScript
все равно придется перерисовывать вообще всё
источник

IP

Ivan Popelyshev in TypeScript
либо использовать несколько канвасов и возлагать на браузер ответственность за composition
источник