本文整理汇总了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()
);
})))
示例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()
}`
;
})
示例3:
memoize((startPadding: number) =>
memoize((endPadding: number) =>
getTimesInternal(
{
end: {hour: endHour, minute: endMinute},
start: {hour: startHour, minute: startMinute}
},
increment,
startPadding,
endPadding
)
)
示例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))
);
})
示例5: Date
memoize((noZero: boolean) =>
memoize((timestamp?: number) : Date =>
timestamp === undefined || isNaN(timestamp) || (noZero && timestamp === 0) ?
new Date() :
new Date(timestamp)
)
示例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})` : '');
})
;
示例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)
)
));
示例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()
));