Нет способа убрать все перегрузки. То, как параметры типа R*
зависят друг от друга, в настоящее время не выражается в системе типов.
Одним из улучшений, которое мы можем сделать, является устранение необходимости в перегрузках, добавляя дополнительные параметры в первую функцию (те, которые добавляют параметры типа A*
). Это можно сделать в 3.0 с использованием кортежей в параметрах покоя
interface LoDashStatic {
flow(f1: (...a: A) => R1, f2: (a: R1) => R2): (...a: A) => R2;
flow(f1: (...a: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (...a: A) => R3;
flow(f1: (...a: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (...a: A) => R4;
flow(f1: (...a: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (...a: A) => R5;
flow(f1: (...a: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (...a: A) => R6;
flow(f1: (...a: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (...a: A) => R7;
}
declare const _: LoDashStatic;
let f = _.flow((n: number, s: string) => n + s, o => o.toUpperCase()); // f: (n: number, s: string) => string
Причина поля аутентификации проста: Internet Explorer отправляет Ваши учетные данные, только если это думает, что хост находится в "Локальной Интранет" зона (принятая конфигурация по умолчанию). Если хост снаружи, что IE считает, чтобы быть "локальным", попросит учетные данные NTLM, то поле аутентификации появится, и необходимо пройти проверку подлинности вручную.
Если Вы хотите, чтобы Ваши учетные данные были отправлены автоматически, удостоверьтесь, что IE думает это в "Локальной Интранет". Проверьте зональную информацию, крайнюю правую в строке состояния для наблюдения в настоящее время активной зоны.
IE принимает во внимание несколько вещей, чтобы решить, нужно ли хост рассмотреть как "Локальную Интранет":
Мое подозрение - то, что Ваш хост "fred" не выполняет условия № 2 через № 4, но Ваш тестовый сценарий "Betty" так или иначе делает.
Какой путь имя было разрешено (запись CName, запись, файл hosts, другой) не имеет никакого значения, потому что метод определения имен непрозрачен к вызывающему приложению. IE просто просит имя у "XYZ" и возвращает IP-адрес.
Недавние изменения конфигурации могут потребовать, чтобы Вы очистили локальный кэш DNS, все же. Случайное ipconfig /flushdns
помог бы здесь, альтернативно можно остановить Клиентскую службу DNS некоторое время.
Описанная внутренняя логика применяется к имени хоста и изменению настроек безопасности на основе результата.
CName был бы отвлекающим маневром. Не имеет никакого эффекта на Windows Auth или нет. Самый легкий способ проследить его со скрипачом. Необходимо видеть запрос, сопровождаемый 401 ответом (он содержит аутентификацию поддержки сервера), затем запрос снова отправлен с деталями аутентификации (или Вам предлагают, и затем он отправляется),