Skip to content

Commit 9d324e5

Browse files
committed
feat: move coercing to cdk package
* Moves the coercing to the CDK package * Fixes linking between Material and CDK package for tests (creating the index.ts file - similar as in angular/angular) *
1 parent f89c6db commit 9d324e5

26 files changed

+38
-23
lines changed

src/lib/core/coercion/boolean-property.spec.ts renamed to src/cdk/coercion/boolean-property.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {coerceBooleanProperty} from './boolean-property';
22

3-
43
describe('coerceBooleanProperty', () => {
4+
55
it('should coerce undefined to false', () => {
66
expect(coerceBooleanProperty(undefined)).toBe(false);
77
});
@@ -45,4 +45,5 @@ describe('coerceBooleanProperty', () => {
4545
it('should coerce an array to true', () => {
4646
expect(coerceBooleanProperty([])).toBe(true);
4747
});
48+
4849
});

src/cdk/coercion/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './boolean-property';
2+
export * from './number-property';

src/lib/core/coercion/number-property.spec.ts renamed to src/cdk/coercion/number-property.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {coerceNumberProperty} from './number-property';
22

3-
43
describe('coerceNumberProperty', () => {
4+
55
it('should coerce undefined to 0 or default', () => {
66
expect(coerceNumberProperty(undefined)).toBe(0);
77
expect(coerceNumberProperty(undefined, 111)).toBe(111);
@@ -78,4 +78,5 @@ describe('coerceNumberProperty', () => {
7878
expect(coerceNumberProperty([])).toBe(0);
7979
expect(coerceNumberProperty([], 111)).toBe(111);
8080
});
81+
8182
});

src/cdk/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/*
2+
* This file is not used to build this module. The real "index.js" file will be generated by the
3+
* Angular Compiler CLI. This file is necessary for running the tests.
4+
*/
5+
export * from './public_api';

src/cdk/public_api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const __TEMP__ = -1;
1+
export * from './coercion/index';

src/cdk/tsconfig-tests.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"experimentalDecorators": true
1212
},
1313
"include": [
14-
"**/*.spec.ts"
14+
"**/*.spec.ts",
15+
"index.ts"
1516
]
1617
}

src/lib/checkbox/checkbox.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
ViewEncapsulation,
1515
} from '@angular/core';
1616
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';
17-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
17+
import {coerceBooleanProperty} from '@angular/cdk';
1818
import {FocusOrigin, FocusOriginMonitor, MdRipple, RippleRef} from '../core';
1919
import {mixinDisabled, CanDisable} from '../core/common-behaviors/disabled';
2020
import {CanColor, mixinColor} from '../core/common-behaviors/color';

src/lib/chips/chip-list.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import {
1111

1212
import {MdChip} from './chip';
1313
import {FocusKeyManager} from '../core/a11y/focus-key-manager';
14-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
1514
import {SPACE, LEFT_ARROW, RIGHT_ARROW, TAB} from '../core/keyboard/keycodes';
15+
import {coerceBooleanProperty} from '@angular/cdk';
1616
import {Subscription} from 'rxjs/Subscription';
1717

1818
/**

src/lib/chips/chip.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
} from '@angular/core';
1010

1111
import {Focusable} from '../core/a11y/focus-key-manager';
12-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
12+
import {coerceBooleanProperty} from '@angular/cdk';
1313
import {CanColor, mixinColor} from '../core/common-behaviors/color';
1414

1515
export interface MdChipEvent {

src/lib/core/a11y/focus-trap.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
} from '@angular/core';
1010
import {InteractivityChecker} from './interactivity-checker';
1111
import {Platform} from '../platform/platform';
12-
import {coerceBooleanProperty} from '../coercion/boolean-property';
12+
import {coerceBooleanProperty} from '@angular/cdk';
1313

1414
import 'rxjs/add/operator/first';
1515

src/lib/core/common-behaviors/disabled.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {coerceBooleanProperty} from '../coercion/boolean-property';
1+
import {coerceBooleanProperty} from '@angular/cdk';
22
import {Constructor} from './constructor';
33

44
/** @docs-private */

src/lib/core/core.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import {A11yModule} from './a11y/index';
99
import {MdSelectionModule} from './selection/index';
1010
import {MdRippleModule} from './ripple/index';
1111

12+
// Re-exports of the CDK to avoid breaking changes.
13+
export {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk';
1214

1315
// RTL
1416
export {Dir, LayoutDirection, RtlModule} from './rtl/dir';
@@ -90,10 +92,6 @@ export * from './animation/animation';
9092
// Selection
9193
export * from './selection/index';
9294

93-
// Coercion
94-
export {coerceBooleanProperty} from './coercion/boolean-property';
95-
export {coerceNumberProperty} from './coercion/number-property';
96-
9795
// Compatibility
9896
export {CompatibilityModule, NoConflictStyleCompatibilityMode} from './compatibility/compatibility';
9997

src/lib/core/option/option.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
Optional,
1111
} from '@angular/core';
1212
import {ENTER, SPACE} from '../keyboard/keycodes';
13-
import {coerceBooleanProperty} from '../coercion/boolean-property';
13+
import {coerceBooleanProperty} from '@angular/cdk';
1414
import {MATERIAL_COMPATIBILITY_MODE} from '../../core/compatibility/compatibility';
1515
import {MdOptgroup} from './optgroup';
1616

src/lib/core/overlay/overlay-directives.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {ConnectedPositionStrategy} from './position/connected-position-strategy'
2626
import {Dir, LayoutDirection} from '../rtl/dir';
2727
import {Scrollable} from './scroll/scrollable';
2828
import {ScrollStrategy} from './scroll/scroll-strategy';
29-
import {coerceBooleanProperty} from '../coercion/boolean-property';
29+
import {coerceBooleanProperty} from '@angular/cdk';
3030
import {ESCAPE} from '../keyboard/keycodes';
3131
import {Subscription} from 'rxjs/Subscription';
3232
import {ScrollDispatchModule} from './scroll/index';

src/lib/expansion/accordion.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Directive, Input} from '@angular/core';
2-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
2+
import {coerceBooleanProperty} from '@angular/cdk';
33

44
/** MdAccordion's display modes. */
55
export type MdAccordionDisplayMode = 'default' | 'flat';

src/lib/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/*
2+
* This file is not used to build this module. The real "index.js" file will be generated by the
3+
* Angular Compiler CLI. This file is necessary for running the tests.
4+
*/
5+
export * from './public_api';

src/lib/menu/menu-item.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Component, ElementRef, Input} from '@angular/core';
22
import {Focusable} from '../core/a11y/focus-key-manager';
3-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
3+
import {coerceBooleanProperty} from '@angular/cdk';
44

55
/**
66
* This directive is intended to be used inside an md-menu tag.

src/lib/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
},
2323
"homepage": "https://github.com/angular/material2#readme",
2424
"peerDependencies": {
25+
"@angular/cdk": "0.0.0-PLACEHOLDER",
2526
"@angular/core": "^4.0.0",
2627
"@angular/common": "^4.0.0"
2728
},

src/lib/radio/radio.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import {
2727
FocusOriginMonitor,
2828
FocusOrigin,
2929
} from '../core';
30-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
30+
import {coerceBooleanProperty} from '@angular/cdk';
3131
import {mixinDisabled, CanDisable} from '../core/common-behaviors/disabled';
3232

3333

src/lib/select/select.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {Observable} from 'rxjs/Observable';
2626
import {Subscription} from 'rxjs/Subscription';
2727
import {transformPlaceholder, transformPanel, fadeInContent} from './select-animations';
2828
import {ControlValueAccessor, NgControl} from '@angular/forms';
29-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
29+
import {coerceBooleanProperty} from '@angular/cdk';
3030
import {ConnectedOverlayDirective} from '../core/overlay/overlay-directives';
3131
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
3232
import {SelectionModel} from '../core/selection/selection';

src/lib/tabs/tab-label-wrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Directive, ElementRef, Input} from '@angular/core';
2-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
2+
import {coerceBooleanProperty} from '@angular/cdk';
33

44

55
/**

src/lib/tabs/tab.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
ViewContainerRef, Input, TemplateRef, ViewChild, OnInit, ContentChild,
44
Component
55
} from '@angular/core';
6-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
6+
import {coerceBooleanProperty} from '@angular/cdk';
77

88
import {MdTabLabel} from './tab-label';
99

src/lib/tooltip/tooltip.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {Dir} from '../core/rtl/dir';
3232
import {Platform} from '../core/platform/index';
3333
import 'rxjs/add/operator/first';
3434
import {ScrollDispatcher} from '../core/overlay/scroll/scroll-dispatcher';
35-
import {coerceBooleanProperty} from '../core/coercion/boolean-property';
35+
import {coerceBooleanProperty} from '@angular/cdk';
3636

3737
export type TooltipPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';
3838

src/lib/tsconfig-tests.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"experimentalDecorators": true
1212
},
1313
"include": [
14-
"**/*.spec.ts"
14+
"**/*.spec.ts",
15+
"index.ts"
1516
]
1617
}

0 commit comments

Comments
 (0)