Pull to refresh
1
0
Send message

RxJs есть одна маленькая проблемка, современные генераторы (function*) делают всё тоже самое но лучше, ну вернее производительнее и точно так же не очевидно, поэтому в нем особо нет смысла

Пришло время поныть (просьба не воспринимать серьёзно)

  • cjs можно было прямо сниппеты исходников node'ы показать, как оно всё устроено, как работает ленивая загрузка разных стандартных библиотек (buffer итд), поглубже окунуться в плюсы и минусы.

  • amd система модулей от сатаны, на этом всё;

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

    Внимание: "спасибо за внимание"

в TS'е для подобных случаев оставлена лазейка, но по какой то причине никто вообще не в курсе о её существовании
если чуть-чуть поправить код то всё будет работать

type formatInputMap = {
    "string": string,
    "number": number,
    "boolean": boolean,
}

const formatters: {
    [K in keyof formatInputMap]: (input: formatInputMap[K]) => string;
} = {
  string: (input: string) => input.toUpperCase(),
  number: (input: number) => input.toFixed(2),
  boolean: (input: boolean) => (input ? "true" : "false"),
};

function format<T extends keyof formatInputMap>(input: formatInputMap[T]) {
  const inputType = (typeof input) as T;
  const formatter = formatters[inputType];
  return formatter(input);
}

каст типа никуда не делся, но это уже проблема typeof тут мы бессильны

Information

Rating
Does not participate
Registered
Activity