當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript either.Left函數代碼示例

本文整理匯總了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 + '')));
     }
   }
 }
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:29,代碼來源:script.ts

示例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))
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:7,代碼來源:sync.ts

示例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)),
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:9,代碼來源:script.ts

示例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);
   }
 });
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:19,代碼來源:xhr.ts

示例5: resolve

 err => void resolve(Left(err)),
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:1,代碼來源:xhr.ts

示例6: assert

 evaluate: (script, code) => {
   assert(cnt === 1 && ++cnt);
   assert(script.className === 'test');
   assert(script.text === code);
   return Left(AtomicPromise.resolve(Right(script)));
 },
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:6,代碼來源:script.test.ts

示例7: Left

 () => Left(new Error(`Failed to separate the areas.`)),
開發者ID:falsandtru,項目名稱:pjax-api,代碼行數:1,代碼來源:update.ts


注:本文中的spica/either.Left函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。