| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| import { ElementRef } from '@angular/core'; |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| /** |
| * Coerces a data-bound value (typically a string) to a boolean. |
| * @param {?} value |
| * @return {?} |
| */ |
| function coerceBooleanProperty(value) { |
| return value != null && "" + value !== 'false'; |
| } |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| /** |
| * @param {?} value |
| * @param {?=} fallbackValue |
| * @return {?} |
| */ |
| function coerceNumberProperty(value, fallbackValue) { |
| if (fallbackValue === void 0) { fallbackValue = 0; } |
| return _isNumberValue(value) ? Number(value) : fallbackValue; |
| } |
| /** |
| * Whether the provided value is considered a number. |
| * \@docs-private |
| * @param {?} value |
| * @return {?} |
| */ |
| function _isNumberValue(value) { |
| // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string, |
| // and other non-number values as NaN, where Number just uses 0) but it considers the string |
| // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN. |
| return !isNaN(parseFloat((/** @type {?} */ (value)))) && !isNaN(Number(value)); |
| } |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| /** |
| * Wraps the provided value in an array, unless the provided value is an array. |
| * @template T |
| * @param {?} value |
| * @return {?} |
| */ |
| function coerceArray(value) { |
| return Array.isArray(value) ? value : [value]; |
| } |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| /** |
| * Coerces a value to a CSS pixel value. |
| * @param {?} value |
| * @return {?} |
| */ |
| function coerceCssPixelValue(value) { |
| if (value == null) { |
| return ''; |
| } |
| return typeof value === 'string' ? value : value + "px"; |
| } |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| /** |
| * Coerces an ElementRef or an Element into an element. |
| * Useful for APIs that can accept either a ref or the native element itself. |
| * @template T |
| * @param {?} elementOrRef |
| * @return {?} |
| */ |
| function coerceElement(elementOrRef) { |
| return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef; |
| } |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| /** |
| * @fileoverview added by tsickle |
| * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc |
| */ |
| |
| export { coerceBooleanProperty, coerceNumberProperty, _isNumberValue, coerceArray, coerceCssPixelValue, coerceElement }; |
| //# sourceMappingURL=coercion.es5.js.map |