{ "home": "/roadmaps/104-angular/content/readme.md", "typescript-basics": "/roadmaps/104-angular/content/100-typescript-basics/readme.md", "typescript-basics:what-is-typescript": "/roadmaps/104-angular/content/100-typescript-basics/100-what-is-typescript.md", "typescript-basics:why-use-typescript": "/roadmaps/104-angular/content/100-typescript-basics/101-why-use-typescript.md", "typescript-basics:structural-typing": "/roadmaps/104-angular/content/100-typescript-basics/102-structural-typing.md", "typescript-basics:type-inference": "/roadmaps/104-angular/content/100-typescript-basics/103-type-inference.md", "typescript-basics:union-types": "/roadmaps/104-angular/content/100-typescript-basics/104-union-types.md", "typescript-basics:builtin-types": "/roadmaps/104-angular/content/100-typescript-basics/105-builtin-types.md", "typescript-basics:type-guard": "/roadmaps/104-angular/content/100-typescript-basics/106-type-guard.md", "rxjs-basics": "/roadmaps/104-angular/content/101-rxjs-basics/readme.md", "rxjs-basics:observable-pattern": "/roadmaps/104-angular/content/101-rxjs-basics/100-observable-pattern.md", "rxjs-basics:observable-lifecycle": "/roadmaps/104-angular/content/101-rxjs-basics/101-observable-lifecycle.md", "rxjs-basics:marble-diagrams": "/roadmaps/104-angular/content/101-rxjs-basics/102-marble-diagrams.md", "rxjs-basics:rxjs-vs-promises": "/roadmaps/104-angular/content/101-rxjs-basics/103-rxjs-vs-promises.md", "rxjs-basics:operators": "/roadmaps/104-angular/content/101-rxjs-basics/104-operators/readme.md", "rxjs-basics:operators:filtering": "/roadmaps/104-angular/content/101-rxjs-basics/104-operators/100-filtering.md", "rxjs-basics:operators:rate-limiting": "/roadmaps/104-angular/content/101-rxjs-basics/104-operators/101-rate-limiting.md", "rxjs-basics:operators:transformation": "/roadmaps/104-angular/content/101-rxjs-basics/104-operators/102-transformation.md", "rxjs-basics:operators:combination": "/roadmaps/104-angular/content/101-rxjs-basics/104-operators/103-combination.md", "angular-basics": "/roadmaps/104-angular/content/102-angular-basics/readme.md", "angular-basics:angularjs-vs-angular": "/roadmaps/104-angular/content/102-angular-basics/100-angularjs-vs-angular.md", "angular-basics:angular-components": "/roadmaps/104-angular/content/102-angular-basics/101-angular-components.md", "angular-basics:angular-templates": "/roadmaps/104-angular/content/102-angular-basics/102-angular-templates.md", "angular-basics:angular-modules": "/roadmaps/104-angular/content/102-angular-basics/103-angular-modules.md", "angular-basics:dependency-injection": "/roadmaps/104-angular/content/102-angular-basics/104-dependency-injection.md", "angular-basics:services": "/roadmaps/104-angular/content/102-angular-basics/105-services.md", "angular-basics:routing": "/roadmaps/104-angular/content/102-angular-basics/106-routing.md", "angular-cli": "/roadmaps/104-angular/content/103-angular-cli/readme.md", "angular-cli:ng-build": "/roadmaps/104-angular/content/103-angular-cli/100-ng-build.md", "angular-cli:ng-serve": "/roadmaps/104-angular/content/103-angular-cli/101-ng-serve.md", "angular-cli:ng-generate": "/roadmaps/104-angular/content/103-angular-cli/102-ng-generate.md", "angular-cli:ng-test": "/roadmaps/104-angular/content/103-angular-cli/103-ng-test.md", "angular-cli:ng-e2e": "/roadmaps/104-angular/content/103-angular-cli/104-ng-e2e.md", "angular-cli:ng-new": "/roadmaps/104-angular/content/103-angular-cli/105-ng-new.md", "angular-cli:schematics": "/roadmaps/104-angular/content/103-angular-cli/106-schematics.md", "templates": "/roadmaps/104-angular/content/104-templates/readme.md", "templates:interpolation": "/roadmaps/104-angular/content/104-templates/100-interpolation.md", "templates:property-binding": "/roadmaps/104-angular/content/104-templates/101-property-binding.md", "templates:template-statements": "/roadmaps/104-angular/content/104-templates/102-template-statements.md", "templates:binding-data-props-attrs-events": "/roadmaps/104-angular/content/104-templates/103-binding-data-props-attrs-events.md", "templates:reference-vars": "/roadmaps/104-angular/content/104-templates/104-reference-vars.md", "templates:input-output": "/roadmaps/104-angular/content/104-templates/105-input-output.md", "rendering-topics": "/roadmaps/104-angular/content/105-rendering-topics/readme.md", "rendering-topics:builtin-directives": "/roadmaps/104-angular/content/105-rendering-topics/100-builtin-directives.md", "rendering-topics:builtin-pipes": "/roadmaps/104-angular/content/105-rendering-topics/101-builtin-pipes.md", "rendering-topics:change-detection": "/roadmaps/104-angular/content/105-rendering-topics/102-change-detection.md", "forms": "/roadmaps/104-angular/content/106-forms/readme.md", "forms:reactive-forms": "/roadmaps/104-angular/content/106-forms/100-reactive-forms.md", "forms:template-driven-forms": "/roadmaps/104-angular/content/106-forms/101-template-driven-forms.md", "routing": "/roadmaps/104-angular/content/107-routing/readme.md", "routing:configuration": "/roadmaps/104-angular/content/107-routing/100-configuration.md", "routing:router-outlets": "/roadmaps/104-angular/content/107-routing/101-router-outlets.md", "routing:router-links": "/roadmaps/104-angular/content/107-routing/102-router-links.md", "routing:router-events": "/roadmaps/104-angular/content/107-routing/103-router-events.md", "routing:guards": "/roadmaps/104-angular/content/107-routing/104-guards.md", "routing:lazy-loading": "/roadmaps/104-angular/content/107-routing/105-lazy-loading.md", "services-remote-data": "/roadmaps/104-angular/content/108-services-remote-data/readme.md", "services-remote-data:dependency-injection": "/roadmaps/104-angular/content/108-services-remote-data/100-dependency-injection.md", "lifecycle-hooks": "/roadmaps/104-angular/content/109-lifecycle-hooks.md", "state-management": "/roadmaps/104-angular/content/110-state-management/readme.md", "state-management:ngxs": "/roadmaps/104-angular/content/110-state-management/100-ngxs.md", "state-management:ngrx": "/roadmaps/104-angular/content/110-state-management/101-ngrx.md", "zones": "/roadmaps/104-angular/content/111-zones.md", "creating-a-custom-x": "/roadmaps/104-angular/content/112-creating-a-custom-x/readme.md", "creating-a-custom-x:directive": "/roadmaps/104-angular/content/112-creating-a-custom-x/100-directive.md", "creating-a-custom-x:pipe": "/roadmaps/104-angular/content/112-creating-a-custom-x/101-pipe.md", "creating-a-custom-x:library": "/roadmaps/104-angular/content/112-creating-a-custom-x/102-library.md", "angular-ssr": "/roadmaps/104-angular/content/113-angular-ssr/readme.md", "angular-ssr:angular-universal": "/roadmaps/104-angular/content/113-angular-ssr/100-angular-universal.md", "angular-ssg": "/roadmaps/104-angular/content/114-angular-ssg/readme.md", "angular-ssg:scully": "/roadmaps/104-angular/content/114-angular-ssg/100-scully.md", "testing-angular-apps": "/roadmaps/104-angular/content/115-testing-angular-apps/readme.md", "testing-angular-apps:testing-pipes": "/roadmaps/104-angular/content/115-testing-angular-apps/100-testing-pipes.md", "testing-angular-apps:testing-services": "/roadmaps/104-angular/content/115-testing-angular-apps/101-testing-services.md", "testing-angular-apps:testing-component-bindings": "/roadmaps/104-angular/content/115-testing-angular-apps/102-testing-component-bindings.md", "testing-angular-apps:testing-directives": "/roadmaps/104-angular/content/115-testing-angular-apps/103-testing-directives.md", "testing-angular-apps:testing-component-templates": "/roadmaps/104-angular/content/115-testing-angular-apps/104-testing-component-templates.md" }