Browse Source

2.8: noImplicitAny.

Frederic G. MARAND 5 years ago
parent
commit
98907a6d9c

+ 43 - 44
.idea/workspace.xml

@@ -2,8 +2,8 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="c6f02f4e-af06-43d1-8bc0-507af01d0573" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/course/src/app/services/messenger.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/course/src/app/services/messenger.service.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/course/src/app/app.module.ts" beforeDir="false" afterPath="$PROJECT_DIR$/course/src/app/app.module.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/course/src/app/base-report.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/course/src/app/base-report.component.ts" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/course/src/app/services/reportItem.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/course/src/app/services/reportItem.service.ts" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/course/tsconfig.json" beforeDir="false" afterPath="$PROJECT_DIR$/course/tsconfig.json" afterDir="false" />
     </list>
@@ -28,8 +28,8 @@
           <entry key="css" value="1" />
           <entry key="gitignore" value="2" />
           <entry key="groovy" value="1" />
-          <entry key="json" value="12" />
-          <entry key="ts" value="20" />
+          <entry key="json" value="13" />
+          <entry key="ts" value="25" />
           <entry key="txt" value="1" />
         </counts>
       </usages-collector>
@@ -39,21 +39,21 @@
           <entry key="JSON" value="3" />
           <entry key="PLAIN_TEXT" value="2" />
           <entry key="Scratch" value="3" />
-          <entry key="TypeScript" value="20" />
-          <entry key="tsconfig" value="9" />
+          <entry key="TypeScript" value="25" />
+          <entry key="tsconfig" value="10" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
-          <entry key="json" value="35" />
-          <entry key="ts" value="465" />
+          <entry key="json" value="40" />
+          <entry key="ts" value="534" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
           <entry key="JSON" value="5" />
-          <entry key="TypeScript" value="465" />
-          <entry key="tsconfig" value="30" />
+          <entry key="TypeScript" value="534" />
+          <entry key="tsconfig" value="35" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.js.language.service.starts">
@@ -70,20 +70,11 @@
   </component>
   <component name="FileEditorManager">
     <leaf>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/course/src/app/services/reportItem.service.ts">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="230">
-              <caret line="28" lean-forward="true" selection-start-line="28" selection-end-line="28" />
-            </state>
-          </provider>
-        </entry>
-      </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/course/src/app/services/messenger.service.ts">
+        <entry file="file://$PROJECT_DIR$/course/src/app/base-report.component.ts">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="295">
-              <caret line="35" column="51" selection-start-line="35" selection-start-column="51" selection-end-line="35" selection-end-column="51" />
+            <state relative-caret-position="169">
+              <caret line="50" column="47" selection-start-line="50" selection-start-column="47" selection-end-line="50" selection-end-column="47" />
             </state>
           </provider>
         </entry>
@@ -105,13 +96,14 @@
         <option value="$PROJECT_DIR$/tsconfig.json" />
         <option value="$PROJECT_DIR$/course/src/app/create-report.component.ts" />
         <option value="$PROJECT_DIR$/course/src/app/create-report-item.component.ts" />
-        <option value="$PROJECT_DIR$/course/src/app/app.module.ts" />
         <option value="$PROJECT_DIR$/course/src/app/app-routing.module.ts" />
         <option value="$PROJECT_DIR$/course/src/app/edit-report.component.ts" />
-        <option value="$PROJECT_DIR$/course/tsconfig.json" />
         <option value="$PROJECT_DIR$/course/src/app/reports.component.ts" />
-        <option value="$PROJECT_DIR$/course/src/app/services/reportItem.service.ts" />
         <option value="$PROJECT_DIR$/course/src/app/services/messenger.service.ts" />
+        <option value="$PROJECT_DIR$/course/tsconfig.json" />
+        <option value="$PROJECT_DIR$/course/src/app/app.module.ts" />
+        <option value="$PROJECT_DIR$/course/src/app/services/reportItem.service.ts" />
+        <option value="$PROJECT_DIR$/course/src/app/base-report.component.ts" />
       </list>
     </option>
   </component>
@@ -277,12 +269,12 @@
       <option name="presentableId" value="Default" />
       <updated>1535304175302</updated>
       <workItem from="1535304176395" duration="75000" />
-      <workItem from="1535304274687" duration="5631000" />
+      <workItem from="1535304274687" duration="6085000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="5706000" />
+    <option name="totallyTimeSpent" value="6160000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="23" width="1440" height="877" extended-state="6" />
@@ -298,7 +290,7 @@
       <window_info anchor="bottom" id="Metrics" order="3" />
       <window_info anchor="bottom" id="Message" order="4" />
       <window_info anchor="bottom" id="Find" order="5" weight="0.3299363" />
-      <window_info anchor="bottom" id="Run" order="6" visible="true" weight="0.3299363" />
+      <window_info active="true" anchor="bottom" id="Run" order="6" visible="true" weight="0.3299363" />
       <window_info anchor="bottom" id="Debug" order="7" weight="0.4" />
       <window_info anchor="bottom" id="Cvs" order="8" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="9" weight="0.4" />
@@ -311,7 +303,7 @@
       <window_info anchor="right" id="Commander" order="2" weight="0.4" />
       <window_info anchor="right" id="Ant Build" order="3" weight="0.25" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="4" weight="0.25" />
-      <window_info active="true" anchor="right" content_ui="combo" id="Project" order="5" sideWeight="0.49809885" visible="true" weight="0.26752505" />
+      <window_info anchor="right" content_ui="combo" id="Project" order="5" sideWeight="0.49809885" visible="true" weight="0.26752505" />
       <window_info anchor="right" id="Remote Host" order="6" show_stripe_button="false" />
     </layout>
   </component>
@@ -418,13 +410,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/course/src/app/app.module.ts">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="225">
-          <caret line="15" column="22" lean-forward="true" selection-start-line="15" selection-start-column="22" selection-end-line="15" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/course/src/app/edit-report.component.ts">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="251">
@@ -442,6 +427,13 @@
     <entry file="file://$PROJECT_DIR$/course/src/tsconfig.app.json">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
+    <entry file="file://$PROJECT_DIR$/course/src/app/reports.component.ts">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="5" lean-forward="true" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/course/tsconfig.json">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="390">
@@ -449,24 +441,31 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/course/src/app/reports.component.ts">
+    <entry file="file://$PROJECT_DIR$/course/src/app/services/messenger.service.ts">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="225">
-          <caret line="15" column="5" lean-forward="true" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
+        <state relative-caret-position="220">
+          <caret line="40" column="4" selection-start-line="40" selection-start-column="4" selection-end-line="40" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/course/src/app/app.module.ts">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="384">
+          <caret line="44" column="12" lean-forward="true" selection-start-line="44" selection-start-column="12" selection-end-line="44" selection-end-column="12" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/course/src/app/services/reportItem.service.ts">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="230">
-          <caret line="28" lean-forward="true" selection-start-line="28" selection-end-line="28" />
+        <state relative-caret-position="220">
+          <caret line="36" column="72" selection-start-line="36" selection-start-column="72" selection-end-line="36" selection-end-column="72" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/course/src/app/services/messenger.service.ts">
+    <entry file="file://$PROJECT_DIR$/course/src/app/base-report.component.ts">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="295">
-          <caret line="35" column="51" selection-start-line="35" selection-start-column="51" selection-end-line="35" selection-end-column="51" />
+        <state relative-caret-position="169">
+          <caret line="50" column="47" selection-start-line="50" selection-start-column="47" selection-end-line="50" selection-end-column="47" />
         </state>
       </provider>
     </entry>

+ 2 - 2
course/src/app/app.module.ts

@@ -28,11 +28,11 @@ import { WindowService } from './services/window.service';
 import { MessengerWatcher } from './services/messenger.service';
 import { EditReportComponent } from './edit-report.component';
 
-export const initApp = messengerWatcher => () => {
+export const initApp = (messengerWatcher: MessengerWatcher) => () => {
   messengerWatcher.watch();
 }
 
-export const initMessengerWatcher = reportDataService => new MessengerWatcher(reportDataService);
+export const initMessengerWatcher = (reportDataService: ReportDataService) => new MessengerWatcher(reportDataService);
 
 @NgModule({
   declarations: [

+ 1 - 7
course/src/app/base-report.component.ts

@@ -48,13 +48,7 @@ class ReportItemDatabase {
     }
 
     addReportItem(item: ReportItem) {
-        let newData = [];
-
-        this.data.forEach(element => {
-            newData.push(element);
-        });
-        newData.push(item);
-
+        const newData = [ ...this.data, item ];
         this.dataChange.next(newData);
     }
 

+ 1 - 1
course/src/app/services/reportItem.service.ts

@@ -34,7 +34,7 @@ function validateTraining(item: ReportItem): string {
     return 'A food item with a value greater than $50 must have a receipt';
 }
 
-const validateDate = (minDate: Date, maxDate: Date) => (item): string => {
+const validateDate = (minDate: Date, maxDate: Date) => (item: ReportItem): string => {
     return +item.date >= +minDate && +item.date <= +maxDate ? '' : 'The date is invalid';
 };
 

+ 1 - 1
course/tsconfig.json

@@ -10,7 +10,7 @@
     ],
     "moduleResolution": "node",
     "noFallthroughCasesInSwitch": true,
-    "noImplicitAny": false,
+    "noImplicitAny": true,
     "noImplicitReturns": true,
     "noImplicitThis": true,
     "noUnusedLocals": true,