Alexey здесь вопрос не в рациональности, а в необходимости. Если вы пишете на TS, то имеет смысл иметь информацию о типах, т.к. иначе нафига вам TS. Если библиотека написана на JS, необходимой информации о типах в ней, увы, не будет. Эту информацию нужно "восстановить", что не всегда тривиально, и не всегда возможно сделать автоматически (особенно в случае плагинов к jQuery).
Конечно именно ВАМ редко приходится это делать, т.к. есть неймспейс @types в NPM-е, где, начиная с выхода TS 2.0 лежат тайпинги для всех популярных библиотек, которые эти тайпинги не поставляют самостоятельно в своём составе. К сожалению tubular не настолько популярен, чтобы кто-то написал к нему нормальные тайпинги, поэтому конкретно В ЭТОМ случае это придётся сделать вам. А вообще вы бы просто написали что-то вроде npm install @types/jquery.tubular --save-dev и всё было бы ок (см. https://www.npmjs.com/package/@types/jquery.cookie в качестве примера). Погуглите на эту тему. Что касается tubular, позже попробую вам посоветовать что с ним сделать.
fshp ну так вот именно, что это ОС не может меньше выделить, но тут же аллокатор сишного рантайма работает. Для начала автору нужно указать, что до ОС дело и не всегда доходить-то будет.
Пётр Самохин несколько тысяч записей - ну допустим 10 тысяч.
строка в несколько десятков тысяч символов - окей, 50 000 символов * 2 байта на символ = 100 000 байт на запись.
10 000 * 100 000 = 1 Гб. Это поместится в память не то что сервера, а смартфона. Так что я тоже спрошу - вам искать или хранить? Искать - другой вопрос.
Иван Фролов Да. Почитайте про Task, а потом ещё про async - сегодня это более высокоуровневые примитивы для параллелизации в дотнете. Прямая работа с потоками сегодня нужна только в специфических задачах.
Иннокентий Иванов
Ну во-первых не такой уж TBar вспомогательный, раз используется в публичном (экспортируемом) интерфейсе. Во-вторых, возможно вы сможете использовать lookup type (он же index type), но я не уверен что это лучшая альтернатива:
class Imp implements IFoo {
bar: IFoo["bar"][number][];
constructor() {
//....
}
}
И да, поправьте пример, возможно я не так понял что вам нужно (текущий пример невалиден).
tarthur а что мешает непереписанные модули оставить с расширением js? У нас тоже дофига кода на JS который и заполгода не перепишешь на TS, но это не мешает нам их вместе использовать.
Потому что NULL - это отсутствие информации. Не какое-то конкретное значение, а именно отсутствие значения. Про отсутствующую информацию невозможно сказать, равна она чему-то или нет.
Не могли бы вы:
а) объяснить нам коротко, что это за библиотека, вы ведь уже знаете, зачем она вам?
б) объяснить нам подробно, чем она вас не устраивает.
И тогда может быть кто-нибудь да найдётся чтобы помочь. Сейчас это не выглядит как вопрос.
Конечно именно ВАМ редко приходится это делать, т.к. есть неймспейс @types в NPM-е, где, начиная с выхода TS 2.0 лежат тайпинги для всех популярных библиотек, которые эти тайпинги не поставляют самостоятельно в своём составе. К сожалению tubular не настолько популярен, чтобы кто-то написал к нему нормальные тайпинги, поэтому конкретно В ЭТОМ случае это придётся сделать вам. А вообще вы бы просто написали что-то вроде
npm install @types/jquery.tubular --save-dev
и всё было бы ок (см. https://www.npmjs.com/package/@types/jquery.cookie в качестве примера). Погуглите на эту тему. Что касается tubular, позже попробую вам посоветовать что с ним сделать.