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


TypeScript memoize.default函數代碼示例

本文整理匯總了TypeScript中lodash-es/memoize.default函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript default函數的具體用法?TypeScript default怎麽用?TypeScript default使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了default函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: memoize

	memoize((a: Date|number) => memoize((b: Date|number) => memoize((local: boolean) : boolean => {
		if (typeof a === 'number') {
			if (isNaN(a)) {
				return false;
			}

			a	= timestampToDate(a);
		}
		if (typeof b === 'number') {
			if (isNaN(b)) {
				return false;
			}

			b	= timestampToDate(b);
		}

		return local ? (
			a.getFullYear() === b.getFullYear() &&
			a.getMonth() === b.getMonth() &&
			a.getDate() === b.getDate()
		) : (
			a.getUTCFullYear() === b.getUTCFullYear() &&
			a.getUTCMonth() === b.getUTCMonth() &&
			a.getUTCDate() === b.getUTCDate()
		);
	})))
開發者ID:cyph,項目名稱:cyph,代碼行數:26,代碼來源:time.ts

示例2: compareDates

	memoize((date: number|Date) =>
		memoize((noToday: boolean) : string|undefined => {
			date	= timestampToDate(date);

			return compareDates(date, now, true) ?
				noToday ? undefined : strings.today :
			compareDates(date, now - 86400000, true) ?
				strings.yesterday :
			date.getFullYear() === timestampToDate(now).getFullYear() ?
				`${
					date.toLocaleDateString(undefined, {weekday: 'long'})
				}, ${
					date.toLocaleDateString(undefined, {month: 'long'})
				} ${
					getOrdinal(date.getDate())
				}` :
				`${
					date.toLocaleDateString(undefined, {month: 'long'})
				} ${
					getOrdinal(date.getDate())
				}, ${
					date.getFullYear()
				}`
			;
		})
開發者ID:cyph,項目名稱:cyph,代碼行數:25,代碼來源:time.ts

示例3:

						memoize((startPadding: number) =>
							memoize((endPadding: number) =>
								getTimesInternal(
									{
										end: {hour: endHour, minute: endMinute},
										start: {hour: startHour, minute: startMinute}
									},
									increment,
									startPadding,
									endPadding
								)
							)
開發者ID:cyph,項目名稱:cyph,代碼行數:12,代碼來源:time.ts

示例4: timestampToDate

		memoize((now?: Date|number) =>
			memoize((startTime?: Date|number) : number => {
				if (
					(typeof now !== 'number' && !(now instanceof Date)) ||
					(typeof startTime !== 'number' && !(startTime instanceof Date)) ||
					!compareDates(now, startTime)
				) {
					return 0;
				}

				if (typeof now === 'number') {
					now	= timestampToDate(now);
				}

				return (
					(now.getMinutes() + (now.getHours() * 60)) -
					(timeRange.start.minute + (timeRange.start.hour * 60))
				);
			})
開發者ID:cyph,項目名稱:cyph,代碼行數:19,代碼來源:time.ts

示例5: Date

	memoize((noZero: boolean) =>
		memoize((timestamp?: number) : Date =>
			timestamp === undefined || isNaN(timestamp) || (noZero && timestamp === 0) ?
				new Date() :
				new Date(timestamp)
		)
開發者ID:cyph,項目名稱:cyph,代碼行數:6,代碼來源:time.ts

示例6:

import {SecurityContext} from '@angular/core';
import {SafeStyle, SafeUrl} from '@angular/platform-browser';
import memoize from 'lodash-es/memoize';
import {MaybePromise} from '../maybe-promise-type';
import {staticDomSanitizer} from './static-services';


/** Converts a URL into a `url()` SafeStyle. */
/* tslint:disable-next-line:no-null-keyword */
export const urlToSafeStyle	=
	memoize(async (url: MaybePromise<string|SafeUrl|null|undefined>) : Promise<SafeStyle> => {
		const domSanitizer	= await staticDomSanitizer;

		const urlValue	= await url;
		const urlString	= typeof urlValue === 'string' || !urlValue ?
			urlValue :
			domSanitizer.sanitize(SecurityContext.URL, urlValue)
		;

		return domSanitizer.bypassSecurityTrustStyle(urlString ? `url(${urlString})` : '');
	})
;
開發者ID:cyph,項目名稱:cyph,代碼行數:22,代碼來源:safe-values.ts

示例7: FormControl

import {FormControl} from '@angular/forms';
import memoize from 'lodash-es/memoize';
import {combineLatest, concat, of} from 'rxjs';
import {map} from 'rxjs/operators';
import {safeStringCompare} from './compare';


/** Creates a form control that has to match a specified value. */
export const formControlMatch	= (o: {value: string}, initialValue: string = '') =>
	new FormControl(initialValue, [control =>
		!safeStringCompare(control.value, o.value) ?
			{mismatch: true} :
			/* tslint:disable-next-line:no-null-keyword */
			null
	])
;

/** Observes a form control. */
export const watchFormControl	= memoize((control: FormControl) => concat(
	of(control),
	combineLatest(
		control.statusChanges,
		control.valueChanges
	).pipe(
		map(() => control)
	)
));
開發者ID:cyph,項目名稱:cyph,代碼行數:27,代碼來源:form-controls.ts

示例8: memoize

import memoize from 'lodash-es/memoize';
import {translate} from './translate';


/** Converts variable name into human-friendly title-style text. */
export const titleize	= memoize((s: string) => translate(
	s.
		replace(/^([a-z])/g, c => c.toUpperCase()).
		replace(/([A-Z])/g, ' $1').
		replace(/ And /g, ' & ').
		trim()
));
開發者ID:cyph,項目名稱:cyph,代碼行數:12,代碼來源:titleize.ts


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