cdk-coercion.umd.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /**
  2. * @license
  3. * Copyright Google LLC All Rights Reserved.
  4. *
  5. * Use of this source code is governed by an MIT-style license that can be
  6. * found in the LICENSE file at https://angular.io/license
  7. */
  8. (function (global, factory) {
  9. typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
  10. typeof define === 'function' && define.amd ? define('@angular/cdk/coercion', ['exports', '@angular/core'], factory) :
  11. (factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.coercion = {}),global.ng.core));
  12. }(this, (function (exports,core) { 'use strict';
  13. /**
  14. * @fileoverview added by tsickle
  15. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  16. */
  17. /**
  18. * Coerces a data-bound value (typically a string) to a boolean.
  19. * @param {?} value
  20. * @return {?}
  21. */
  22. function coerceBooleanProperty(value) {
  23. return value != null && "" + value !== 'false';
  24. }
  25. /**
  26. * @fileoverview added by tsickle
  27. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  28. */
  29. /**
  30. * @param {?} value
  31. * @param {?=} fallbackValue
  32. * @return {?}
  33. */
  34. function coerceNumberProperty(value, fallbackValue) {
  35. if (fallbackValue === void 0) { fallbackValue = 0; }
  36. return _isNumberValue(value) ? Number(value) : fallbackValue;
  37. }
  38. /**
  39. * Whether the provided value is considered a number.
  40. * \@docs-private
  41. * @param {?} value
  42. * @return {?}
  43. */
  44. function _isNumberValue(value) {
  45. // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
  46. // and other non-number values as NaN, where Number just uses 0) but it considers the string
  47. // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.
  48. return !isNaN(parseFloat((/** @type {?} */ (value)))) && !isNaN(Number(value));
  49. }
  50. /**
  51. * @fileoverview added by tsickle
  52. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  53. */
  54. /**
  55. * Wraps the provided value in an array, unless the provided value is an array.
  56. * @template T
  57. * @param {?} value
  58. * @return {?}
  59. */
  60. function coerceArray(value) {
  61. return Array.isArray(value) ? value : [value];
  62. }
  63. /**
  64. * @fileoverview added by tsickle
  65. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  66. */
  67. /**
  68. * Coerces a value to a CSS pixel value.
  69. * @param {?} value
  70. * @return {?}
  71. */
  72. function coerceCssPixelValue(value) {
  73. if (value == null) {
  74. return '';
  75. }
  76. return typeof value === 'string' ? value : value + "px";
  77. }
  78. /**
  79. * @fileoverview added by tsickle
  80. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  81. */
  82. /**
  83. * Coerces an ElementRef or an Element into an element.
  84. * Useful for APIs that can accept either a ref or the native element itself.
  85. * @template T
  86. * @param {?} elementOrRef
  87. * @return {?}
  88. */
  89. function coerceElement(elementOrRef) {
  90. return elementOrRef instanceof core.ElementRef ? elementOrRef.nativeElement : elementOrRef;
  91. }
  92. exports.coerceBooleanProperty = coerceBooleanProperty;
  93. exports.coerceNumberProperty = coerceNumberProperty;
  94. exports._isNumberValue = _isNumberValue;
  95. exports.coerceArray = coerceArray;
  96. exports.coerceCssPixelValue = coerceCssPixelValue;
  97. exports.coerceElement = coerceElement;
  98. Object.defineProperty(exports, '__esModule', { value: true });
  99. })));
  100. //# sourceMappingURL=cdk-coercion.umd.js.map