├── .gitattributes ├── .gitignore ├── Chapter01 ├── VisualStudio │ └── TypeScriptHTMLApp1 │ │ ├── TypeScriptHTMLApp1.sln │ │ └── TypeScriptHTMLApp1 │ │ ├── TypeScriptHTMLApp1.csproj │ │ ├── app.css │ │ ├── app.ts │ │ ├── index.html │ │ ├── web.Debug.config │ │ ├── web.Release.config │ │ └── web.config ├── VisualStudio2017 │ └── SimpleTypeScriptApp │ │ ├── SimpleTypeScriptApp.sln │ │ └── SimpleTypeScriptApp │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── SimpleTypeScriptApp.csproj │ │ ├── Web.Debug.config │ │ ├── Web.Release.config │ │ ├── Web.config │ │ ├── app.ts │ │ ├── index.html │ │ └── packages.config ├── grunt_sample │ ├── gruntfile.js_xxx │ ├── hellogrunt.ts │ ├── package.json │ └── tsconfig.json ├── node_env │ ├── hello.ts │ └── tsconfig.json ├── typescript_benefits │ ├── hello.ts │ └── tsconfig.json ├── vscode │ ├── hello.ts │ ├── helloweb.ts │ ├── index.html │ └── tsconfig.json └── webstorm │ ├── app.ts │ ├── index.html │ └── tsconfig.json ├── Chapter02 ├── gruntfile.js_xxx ├── hello_ch02.ts ├── hello_javascript.js_xxx ├── package.json ├── tsconfig.json └── typings.json ├── Chapter03 ├── gruntfile.js_xxx ├── hello_ch03.ts ├── hello_ch03_javascript.js_xxx ├── package.json └── tsconfig.json ├── Chapter04 ├── gruntfile.js_xxx ├── hello_ch04.ts ├── package.json └── tsconfig.json ├── Chapter05 ├── DeclarationSyntax.d.ts ├── DeclarationSyntaxUsage.ts ├── ErrorHelper.d.ts ├── ErrorHelperTypeScript.ts ├── MergedModule1.d.ts ├── MergedModule2.d.ts ├── error_helper.jsxxx ├── globals.d.ts ├── gruntfile.jsxxx ├── hello_ch05.ts ├── index.html ├── package.json └── tsconfig.json ├── Chapter06 ├── 3rd_party │ ├── app │ │ ├── js_backbone.jsxx │ │ ├── ts_angular.ts │ │ └── ts_backbone.ts │ ├── bower.json │ ├── gruntfile.jsxxx │ ├── index.html │ ├── package.json │ ├── tsconfig.json │ └── typings.json ├── code │ ├── gruntfile.js_xxx │ ├── hello_ch02.ts │ ├── hello_javascript.js_xxx │ ├── package.json │ ├── tsconfig.json │ └── typings.json ├── manual_download │ ├── app.ts │ ├── gruntfile.jsxx │ ├── hello_ch06.ts │ ├── index.html │ ├── lib │ │ ├── jquery-2.2.3.min.jsxx │ │ └── typings │ │ │ └── jquery.d.ts │ ├── package.json │ ├── tsconfig.json │ └── typings.json ├── nuget │ └── NugetSample │ │ ├── NugetSample.csproj │ │ ├── NugetSample.sln │ │ ├── Scripts │ │ ├── jquery-1.11.1.intellisense.jsxx │ │ ├── jquery-1.11.1.jsxxx │ │ ├── jquery-1.11.1.min.jsxxx │ │ ├── jquery-1.11.1.min.map │ │ └── typings │ │ │ └── jquery │ │ │ └── jquery.d.ts │ │ ├── app.css │ │ ├── app.ts │ │ ├── index.html │ │ ├── packages.config │ │ ├── web.Debug.config │ │ ├── web.Release.config │ │ └── web.config └── using_typings │ ├── package.json │ ├── tsconfig.json │ └── typings.json ├── Chapter07 ├── angular2_sample │ └── src │ │ └── app │ │ ├── app.component.html │ │ └── app.component.ts ├── aurelia_sample │ ├── index.html │ └── src │ │ ├── app.html │ │ └── app.ts ├── backbone_sample │ ├── app │ │ └── BackboneApp.ts │ ├── index.html │ ├── package.json │ └── tsconfig.json ├── mvc │ ├── MvcModel.ts │ ├── index.html │ └── tsconfig.json └── react_sample │ ├── app │ ├── ReactApp.tsx │ └── index.tsx │ ├── index.html │ ├── package.json │ ├── tsconfig.json │ ├── typings.json │ └── webpack.config.js_xxx ├── Chapter08 ├── gruntfile.js_xxx ├── karma │ └── karma.conf.js_xxx ├── package.json ├── protractor │ ├── protractor.conf.js_xxx │ └── protractor_test.ts ├── test │ ├── 01_SimpleJasmineTests.ts │ ├── SpecRunner.html │ ├── UsingExtension.js_xxx │ └── testem.yml ├── testem │ ├── UsingExtension.js_xxx │ ├── jasmine-jquery.js_xxx │ ├── jquery.js_xxx │ ├── test1.ts │ └── testem.yml └── tsconfig.json ├── Chapter09 ├── angular2_sample │ ├── SpecRunner.html │ ├── app │ │ ├── app.component.ts │ │ └── main.ts │ ├── bower.json │ ├── index.html │ ├── liteserver-test-config.json │ ├── package.json │ ├── protractor.conf.js_xxx │ ├── systemjs.config.js_xxx │ ├── test │ │ ├── app.component.tests.ts │ │ └── e2e │ │ │ └── app.component.e2e.tests.ts │ ├── tsconfig.json │ └── typings.json ├── aurelia_test │ └── aurelia-test │ │ ├── aurelia.protractor.js_xxx │ │ ├── aurelia_project │ │ ├── aurelia.json │ │ └── tasks │ │ │ ├── e2e.json │ │ │ └── e2e.ts │ │ ├── index.html │ │ ├── karma.conf.js_xxx │ │ ├── package.json │ │ ├── src │ │ ├── ClickableItem.html │ │ ├── ClickableItem.ts │ │ ├── MyElement.html │ │ ├── MyElement.ts │ │ ├── app.html │ │ ├── app.ts │ │ ├── environment.ts │ │ ├── main.ts │ │ ├── secondelement.html │ │ └── secondelement.ts │ │ ├── test │ │ ├── e2e │ │ │ └── src │ │ │ │ └── e2e.spec.ts │ │ └── unit │ │ │ ├── app.spec.ts │ │ │ └── setup.ts │ │ ├── tsconfig.json │ │ └── typings.json ├── backbone_sample │ ├── SpecRunner.html │ ├── app │ │ └── BackboneApp.ts │ ├── index.html │ ├── package.json │ ├── test │ │ └── BackboneAppTests.ts │ └── tsconfig.json └── react_test │ ├── SpecRunner.html │ ├── app │ ├── ReactApp.tsx │ └── index.tsx │ ├── bower.json │ ├── index.html │ ├── package.json │ ├── protractor.conf.js_xxx │ ├── test │ ├── e2e │ │ └── react.app.e2e.tests.tsx │ └── react.app.tests.tsx │ ├── tsconfig.json │ ├── typings.json │ └── webpack.config.js_xxx ├── Chapter10 ├── amd_samples │ ├── RequireConfig.ts │ ├── RequireConfigSpecRunner.ts │ ├── SpecRunner.html │ ├── app │ │ └── Module1.ts │ ├── bower.json │ ├── index.html │ ├── lib │ │ ├── Module1.ts │ │ ├── Module2.ts │ │ └── Module3.ts │ ├── main.ts │ ├── package.json │ ├── test │ │ └── SimpleTest.ts │ └── tsconfig.json ├── commonjs_samples │ ├── lib │ │ ├── Module1.ts │ │ ├── Module2.ts │ │ └── Module3.ts │ ├── main.ts │ ├── package.json │ ├── tsconfig.json │ └── typings.json ├── express_samples │ ├── SimpleModuleHandler.ts │ ├── app.ts │ ├── package.json │ ├── routes │ │ ├── Index.ts │ │ └── Login.ts │ ├── simple_app.ts │ ├── simple_module_app.ts │ ├── tsconfig.json │ └── views │ │ ├── index.hbs │ │ ├── layout.hbs │ │ └── login.hbs ├── sample_app │ ├── app │ │ ├── MainApp.html │ │ ├── MainApp.ts │ │ ├── controllers │ │ │ ├── FooterControler.ts │ │ │ ├── LoginController.ts │ │ │ ├── MainPageController.ts │ │ │ ├── MenubarController.ts │ │ │ └── ProductListController.ts │ │ ├── models │ │ │ ├── FooterModel.ts │ │ │ ├── LoginModel.ts │ │ │ ├── MenuButtonsModel.ts │ │ │ ├── ProductListModel.ts │ │ │ ├── ProductModel.ts │ │ │ └── ToolbarModel.ts │ │ ├── utils │ │ │ ├── DateFormatter.ts │ │ │ ├── JsonParser.ts │ │ │ └── WebSocketListener.ts │ │ └── views │ │ │ ├── LoginView.ts │ │ │ ├── MenuButtonsView.ts │ │ │ ├── ProductListView.ts │ │ │ ├── ProductView.ts │ │ │ └── ToolbarView.ts │ └── tsconfig.json └── systemjs_samples │ ├── SpecRunner.html │ ├── SystemConfig.ts │ ├── SystemConfigSpecRunner.ts │ ├── app.ts │ ├── index.html │ ├── lib │ ├── Module1.ts │ ├── Module2.ts │ └── Module3.ts │ ├── package.json │ ├── test │ ├── SimpleTest.ts │ └── SimpleTest2.ts │ └── tsconfig.json ├── Chapter11 ├── state-mediator-v1 │ ├── angular-cli.json │ ├── package.json │ └── src │ │ └── app │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ └── app.module.ts └── state-mediator-v2 │ ├── angular-cli.json │ ├── package.json │ └── src │ └── app │ ├── app.component.css │ ├── app.component.html │ ├── app.component.spec.ts │ ├── app.component.ts │ ├── app.module.ts │ ├── navbar.component.html │ ├── navbar.component.ts │ ├── rightscreen.component.css │ ├── rightscreen.component.html │ ├── rightscreen.component.ts │ ├── sidenav.component.css │ ├── sidenav.component.html │ ├── sidenav.component.ts │ └── state.mediator.ts ├── Chapter12 ├── app │ ├── ConstructorInject.ts │ ├── GMailService.ts │ ├── GMailServiceDi.ts │ ├── ISystemSettings.ts │ └── ServiceLocator.ts ├── package.json ├── simple_mailer.ts ├── tsconfig.json ├── use_class_resolution.ts ├── use_enum_resolution.ts ├── use_gmailservice.ts ├── use_gmailservice_di.ts ├── use_recursive_di.ts └── use_servicelocator.ts ├── Chapter13 ├── brackets_design │ ├── app.css │ ├── index.html │ └── package.json ├── node-angular │ ├── main.ts │ ├── routes │ │ ├── index.ts │ │ └── tsconfig.json │ ├── src │ │ └── app │ │ │ ├── app.component.css │ │ │ ├── app.component.html │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── login.component.html │ │ │ ├── login.component.ts │ │ │ ├── main.ts │ │ │ ├── navbar.component.html │ │ │ └── navbar.component.ts │ └── views │ │ ├── index.hbs │ │ └── layout.hbs ├── node_aurelia │ ├── aurelia_project │ │ └── aurelia.json │ ├── css │ │ └── app.css │ ├── main.ts │ ├── package.json │ ├── routes │ │ └── index.ts │ ├── src │ │ ├── app.html │ │ ├── app.ts │ │ ├── environment.ts │ │ ├── login.html │ │ ├── login.ts │ │ ├── main.ts │ │ └── resources │ │ │ └── index.ts │ ├── tsconfig.json │ ├── typings.json │ └── views │ │ ├── index.hbs │ │ └── layout.hbs └── node_react │ ├── app │ ├── LoginPanel.tsx │ ├── NavBar.tsx │ └── index.tsx │ ├── dist │ ├── css │ │ ├── app.css │ │ └── bootstrap.min.css │ ├── package.json │ └── views │ │ ├── index.hbs │ │ └── layout.hbs │ ├── main.ts │ ├── package.json │ ├── routes │ └── index.ts │ ├── tsconfig.json │ └── webpack.config.js_xxx ├── Chapter14 └── node-angular │ ├── angular-cli.json │ ├── main.ts │ ├── package.json │ ├── routes │ ├── index.ts │ └── tsconfig.json │ ├── src │ ├── app │ │ ├── IBoardList.ts │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── boardlist.component.css │ │ ├── boardlist.component.html │ │ ├── boardlist.component.ts │ │ ├── login.component.css │ │ ├── login.component.html │ │ ├── login.component.ts │ │ ├── main.ts │ │ ├── navbar.component.html │ │ ├── navbar.component.ts │ │ ├── rightscreen.component.css │ │ ├── rightscreen.component.html │ │ ├── rightscreen.component.ts │ │ ├── sidenav.component.css │ │ ├── sidenav.component.html │ │ ├── sidenav.component.ts │ │ └── state.mediator.ts │ ├── assets │ │ └── images │ │ │ ├── firemove-ltd-v2-112-212x349.png │ │ │ ├── firewave-102-212x349.png │ │ │ ├── flare_c.png │ │ │ ├── hardcorewave-ltd-88-2-212x349.png │ │ │ ├── isonic_w.png │ │ │ ├── jp_australia_logo.png │ │ │ ├── jp_windsurf_allride_ov.png │ │ │ ├── jp_windsurf_freestyle_ov.png │ │ │ ├── jp_windsurf_freestylewave_ov.png │ │ │ ├── jp_windsurf_magicride_ov.png │ │ │ ├── jp_windsurf_radicalquad_ov.png │ │ │ ├── jp_windsurf_thrusterquad_ov.png │ │ │ ├── jp_windsurf_xciteride_ov.png │ │ │ ├── kode_freewave_w.png │ │ │ ├── nuevo_w.png │ │ │ ├── quad_c.png │ │ │ ├── rrd-freestyle-wave-ltd-v3-100-2-212x349.png │ │ │ ├── rrd_logo.jpg │ │ │ ├── starboard_logo.jpg │ │ │ ├── twintip-v4-91-212x349.png │ │ │ ├── wavecult-5-ltd-92-212x349.png │ │ │ ├── windsurf_allride_ov.png │ │ │ ├── windsurf_freestyle_ov.png │ │ │ ├── windsurf_freestylewave_ov.png │ │ │ ├── windsurf_magicride_ov.png │ │ │ ├── windsurf_radicalquad_ov.png │ │ │ ├── windsurf_thrusterquad_ov.png │ │ │ ├── windsurf_xciteride_ov.png │ │ │ └── x-fire-v7-114-212x349.png │ ├── styles.css │ └── tests │ │ ├── boardlist.component.spec.ts │ │ └── state.mediator.spec.ts │ └── views │ ├── index.hbs │ └── layout.hbs ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /Chapter01/VisualStudio/TypeScriptHTMLApp1/TypeScriptHTMLApp1.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.24720.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TypeScriptHTMLApp1", "TypeScriptHTMLApp1\TypeScriptHTMLApp1.csproj", "{15EDA5DE-21E6-41D4-803E-75C880C2D90D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {15EDA5DE-21E6-41D4-803E-75C880C2D90D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {15EDA5DE-21E6-41D4-803E-75C880C2D90D}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {15EDA5DE-21E6-41D4-803E-75C880C2D90D}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {15EDA5DE-21E6-41D4-803E-75C880C2D90D}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Chapter01/VisualStudio/TypeScriptHTMLApp1/TypeScriptHTMLApp1/app.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Segoe UI', sans-serif; 3 | } 4 | 5 | span { 6 | font-style: italic; 7 | } 8 | -------------------------------------------------------------------------------- /Chapter01/VisualStudio/TypeScriptHTMLApp1/TypeScriptHTMLApp1/app.ts: -------------------------------------------------------------------------------- 1 | class Greeter { 2 | element: HTMLElement; 3 | span: HTMLElement; 4 | timerToken: number; 5 | 6 | constructor(element: HTMLElement) { 7 | this.element = element; 8 | this.element.innerHTML += "The time is: "; 9 | this.span = document.createElement('span'); 10 | this.element.appendChild(this.span); 11 | this.span.innerText = new Date().toUTCString(); 12 | } 13 | 14 | start() { 15 | this.timerToken = setInterval(() => this.span.innerHTML = new Date().toUTCString(), 500); 16 | } 17 | 18 | stop() { 19 | clearTimeout(this.timerToken); 20 | } 21 | 22 | } 23 | 24 | window.onload = () => { 25 | var el = document.getElementById('content'); 26 | var greeter = new Greeter(el); 27 | greeter.start(); 28 | }; -------------------------------------------------------------------------------- /Chapter01/VisualStudio/TypeScriptHTMLApp1/TypeScriptHTMLApp1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |using jquery
9 |Welcome to {{title}}
3 | 4 | {{#if username}} 5 |User : {{username}} logged in. 6 | {{else}} 7 |
Click here to login
8 | {{/if}} -------------------------------------------------------------------------------- /Chapter10/express_samples/views/layout.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |3 |
9 | -------------------------------------------------------------------------------- /Chapter10/sample_app/app/MainApp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Chapter10/sample_app/app/MainApp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/MainApp.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/controllers/FooterControler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/controllers/FooterControler.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/controllers/LoginController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/controllers/LoginController.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/controllers/MainPageController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/controllers/MainPageController.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/controllers/MenubarController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/controllers/MenubarController.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/controllers/ProductListController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/controllers/ProductListController.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/FooterModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/FooterModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/LoginModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/LoginModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/MenuButtonsModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/MenuButtonsModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/ProductListModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/ProductListModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/ProductModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/ProductModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/models/ToolbarModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/models/ToolbarModel.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/utils/DateFormatter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/utils/DateFormatter.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/utils/JsonParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/utils/JsonParser.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/utils/WebSocketListener.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/utils/WebSocketListener.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/views/LoginView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/views/LoginView.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/views/MenuButtonsView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/views/MenuButtonsView.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/views/ProductListView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/views/ProductListView.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/views/ProductView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/views/ProductView.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/app/views/ToolbarView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-TypeScript-Second-Edition/88e9511f565556df6c338e938d172a0c4e9ee180/Chapter10/sample_app/app/views/ToolbarView.ts -------------------------------------------------------------------------------- /Chapter10/sample_app/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es5", 5 | "noImplicitAny": false, 6 | "sourceMap": false 7 | } 8 | } -------------------------------------------------------------------------------- /Chapter10/systemjs_samples/SpecRunner.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Chapter10/systemjs_samples/SystemConfig.ts: -------------------------------------------------------------------------------- 1 | SystemJS.config({ 2 | packages : { 3 | 'lib' : { defaultExtension: 'js' } 4 | } 5 | }); 6 | SystemJS.import('app.js'); -------------------------------------------------------------------------------- /Chapter10/systemjs_samples/SystemConfigSpecRunner.ts: -------------------------------------------------------------------------------- 1 | SystemJS.config({ 2 | baseUrl : '.', 3 | packages : { 4 | 'lib' : { defaultExtension: 'js' } 5 | ,'test' : { defaultExtension: 'js' } 6 | }, 7 | paths: { 8 | 'jasmine' : 9 | './node_modules/jasmine-core/lib/jasmine-core/jasmine.js', 10 | 'jasmine-html' : 11 | './node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js', 12 | 'jasmine-boot' : 13 | './node_modules/jasmine-core/lib/jasmine-core/boot.js' 14 | }, 15 | meta : { 16 | 'jasmine-boot' : { 17 | deps : ['jasmine-html'] 18 | ,exports: 'window.jasmineRequire' 19 | }, 20 | 'jasmine-html' : { 21 | deps : ['jasmine'] 22 | ,exports: 'window.jasmineRequire' 23 | }, 24 | 'jasmine' : { 25 | exports: 'window.jasmineRequire' 26 | } 27 | } 28 | 29 | }); 30 | 31 | SystemJS.import('jasmine-boot').then( () => { 32 | Promise.all([ 33 | SystemJS.import('test/SimpleTest'), 34 | SystemJS.import('test/SimpleTest2') 35 | ]) 36 | .then(() => { 37 | (