本文整理匯總了TypeScript中spica/either.Left函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript Left函數的具體用法?TypeScript Left怎麽用?TypeScript Left使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了Left函數的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: evaluate
function evaluate(): AtomicPromise<Either<Error, HTMLScriptElement>> {
if (script.matches('[type="module"][src]')) {
return AtomicPromise.resolve(import(script.src))
.catch((reason: Error) =>
reason.message.startsWith('Failed to load ') && script.matches('[src][async]')
? retry(script).catch(() => AtomicPromise.reject(reason))
: AtomicPromise.reject(reason))
.then(
() => (
void script.dispatchEvent(new Event('load')),
Right(script)),
reason => (
void script.dispatchEvent(new Event('error')),
Left(new FatalError(reason instanceof Error ? reason.message : reason + ''))));
}
else {
try {
if (new URL(standardize(window.location.href)).path !== new URL(standardize(window.location.href)).path) throw new FatalError('Expired.');
if (skip.has(new URL(standardize(window.location.href)).reference)) throw new FatalError('Expired.');
void (0, eval)(code);
script.hasAttribute('src') && void script.dispatchEvent(new Event('load'));
return AtomicPromise.resolve(Right(script));
}
catch (reason) {
script.hasAttribute('src') && void script.dispatchEvent(new Event('error'));
return AtomicPromise.resolve(Left(new FatalError(reason instanceof Error ? reason.message : reason + '')));
}
}
}
示例2: compare
m.bind(link =>
!link.has(dst) && compare(src, dst)
? (
void link.set(dst, concat(link.get(null) || [], [src])),
void link.delete(null),
Left(link))
: Right(link))
示例3: retry
async res =>
res.ok
? Right<FetchData>([script, await res.text()])
: script.matches('[src][async]')
? retry(script)
.then(
() => Right<FetchData>([script, '']),
() => Left(new Error(`${script.src}: ${res.statusText}`)))
: Left(new Error(res.statusText)),
示例4: URL
.bind(xhr => {
const url = new URL(standardize(xhr.responseURL));
switch (true) {
case !xhr.responseURL:
return Left(new Error(`Failed to get the response URL.`));
case url.origin !== new URL(window.location.origin).origin:
return Left(new Error(`Redirected to another origin.`));
case !/2..|304/.test(`${xhr.status}`):
return Left(new Error(`Failed to validate the status of response.`));
case !xhr.responseXML:
return method === 'GET' && xhr.status === 304 && caches.has(url.path)
? Right(caches.get(url.path)!.xhr)
: Left(new Error(`Failed to get the response body.`));
case !match(xhr.getResponseHeader('Content-Type'), 'text/html'):
return Left(new Error(`Failed to validate the content type of response.`));
default:
return Right(xhr);
}
});
示例6: assert
evaluate: (script, code) => {
assert(cnt === 1 && ++cnt);
assert(script.className === 'test');
assert(script.text === code);
return Left(AtomicPromise.resolve(Right(script)));
},
示例7: Left
() => Left(new Error(`Failed to separate the areas.`)),