SYMBOL INDEX (2086 symbols across 426 files) FILE: Chapter_01/HealthCheck/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_01/HealthCheck/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_01/HealthCheck/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_01/HealthCheck/ClientApp/src/app/app.module.ts class AppModule (line 34) | class AppModule { } FILE: Chapter_01/HealthCheck/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_01/HealthCheck/ClientApp/src/app/counter/counter.component.ts class CounterComponent (line 7) | class CounterComponent { method incrementCounter (line 10) | public incrementCounter() { FILE: Chapter_01/HealthCheck/ClientApp/src/app/fetch-data/fetch-data.component.ts class FetchDataComponent (line 8) | class FetchDataComponent { method constructor (line 11) | constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) { type WeatherForecast (line 18) | interface WeatherForecast { FILE: Chapter_01/HealthCheck/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_01/HealthCheck/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_01/HealthCheck/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_01/HealthCheck/Controllers/WeatherForecastController.cs class WeatherForecastController (line 10) | [ApiController] method WeatherForecastController (line 21) | public WeatherForecastController(ILogger lo... method Get (line 26) | [HttpGet] FILE: Chapter_01/HealthCheck/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_01/HealthCheck/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_01/HealthCheck/Startup.cs class Startup (line 11) | public class Startup method Startup (line 13) | public Startup(IConfiguration configuration) method ConfigureServices (line 21) | public void ConfigureServices(IServiceCollection services) method Configure (line 32) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_01/HealthCheck/WeatherForecast.cs class WeatherForecast (line 5) | public class WeatherForecast FILE: Chapter_02/HealthCheck/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_02/HealthCheck/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_02/HealthCheck/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_02/HealthCheck/ClientApp/src/app/app.module.ts class AppModule (line 28) | class AppModule { } FILE: Chapter_02/HealthCheck/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_02/HealthCheck/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_02/HealthCheck/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_02/HealthCheck/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_02/HealthCheck/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_02/HealthCheck/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_02/HealthCheck/Startup.cs class Startup (line 11) | public class Startup method Startup (line 13) | public Startup(IConfiguration configuration) method ConfigureServices (line 21) | public void ConfigureServices(IServiceCollection services) method Configure (line 32) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_03/HealthCheck/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_03/HealthCheck/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_03/HealthCheck/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_03/HealthCheck/ClientApp/src/app/app.module.ts class AppModule (line 31) | class AppModule { } FILE: Chapter_03/HealthCheck/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_03/HealthCheck/ClientApp/src/app/health-check/health-check.component.ts class HealthCheckComponent (line 9) | class HealthCheckComponent { method constructor (line 12) | constructor( method ngOnInit (line 17) | ngOnInit() { type Result (line 24) | interface Result { type Check (line 30) | interface Check { FILE: Chapter_03/HealthCheck/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_03/HealthCheck/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_03/HealthCheck/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_03/HealthCheck/CustomHealthCheckOptions.cs class CustomHealthCheckOptions (line 9) | public class CustomHealthCheckOptions : HealthCheckOptions method CustomHealthCheckOptions (line 11) | public CustomHealthCheckOptions() : base() FILE: Chapter_03/HealthCheck/ICMPHealthCheck.cs class ICMPHealthCheck (line 9) | public class ICMPHealthCheck : IHealthCheck method ICMPHealthCheck (line 14) | public ICMPHealthCheck(string host, int timeout) method CheckHealthAsync (line 20) | public async Task CheckHealthAsync( FILE: Chapter_03/HealthCheck/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_03/HealthCheck/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_03/HealthCheck/Startup.cs class Startup (line 11) | public class Startup method Startup (line 13) | public Startup(IConfiguration configuration) method ConfigureServices (line 21) | public void ConfigureServices(IServiceCollection services) method Configure (line 37) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_04/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_04/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_04/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_04/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 28) | class AppModule { } FILE: Chapter_04/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_04/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_04/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_04/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_04/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 25) | [HttpGet] method GetCity (line 32) | [HttpGet("{id}")] method PutCity (line 48) | [HttpPut("{id}")] method PostCity (line 80) | [HttpPost] method DeleteCity (line 90) | [HttpDelete("{id}")] method CityExists (line 105) | private bool CityExists(int id) FILE: Chapter_04/WorldCities/Controllers/CountriesController.cs class CountriesController (line 13) | [Route("api/[controller]")] method CountriesController (line 19) | public CountriesController(ApplicationDbContext context) method GetCountries (line 25) | [HttpGet] method GetCountry (line 32) | [HttpGet("{id}")] method PutCountry (line 48) | [HttpPut("{id}")] method PostCountry (line 80) | [HttpPost] method DeleteCountry (line 90) | [HttpDelete("{id}")] method CountryExists (line 105) | private bool CountryExists(int id) FILE: Chapter_04/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_04/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_04/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_04/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_04/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_04/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_04/WorldCities/Data/Models/Country.cs class Country (line 9) | public class Country method Country (line 12) | public Country() FILE: Chapter_04/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_04/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_04/WorldCities/Startup.cs class Startup (line 13) | public class Startup method Startup (line 15) | public Startup(IConfiguration configuration) method ConfigureServices (line 23) | public void ConfigureServices(IServiceCollection services) method Configure (line 44) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_05/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_05/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_05/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 22) | class AngularMaterialModule { } FILE: Chapter_05/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_05/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 38) | class AppModule { } FILE: Chapter_05/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_05/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 14) | class CitiesComponent { method constructor (line 29) | constructor( method ngOnInit (line 34) | ngOnInit() { method loadData (line 38) | loadData(query: string = null) { method getData (line 48) | getData(event: PageEvent) { FILE: Chapter_05/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_05/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 14) | class CountriesComponent { method constructor (line 29) | constructor( method ngOnInit (line 34) | ngOnInit() { method loadData (line 38) | loadData(query: string = null) { method getData (line 48) | getData(event: PageEvent) { FILE: Chapter_05/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_05/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_05/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_05/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_05/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 28) | [HttpGet] method GetCity (line 48) | [HttpGet("{id}")] method PutCity (line 64) | [HttpPut("{id}")] method PostCity (line 96) | [HttpPost] method DeleteCity (line 106) | [HttpDelete("{id}")] method CityExists (line 121) | private bool CityExists(int id) FILE: Chapter_05/WorldCities/Controllers/CountriesController.cs class CountriesController (line 13) | [Route("api/[controller]")] method CountriesController (line 19) | public CountriesController(ApplicationDbContext context) method GetCountries (line 28) | [HttpGet] method GetCountry (line 49) | [HttpGet("{id}")] method PutCountry (line 65) | [HttpPut("{id}")] method PostCountry (line 97) | [HttpPost] method DeleteCountry (line 107) | [HttpDelete("{id}")] method CountryExists (line 122) | private bool CountryExists(int id) FILE: Chapter_05/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_05/WorldCities/Data/ApiResult.cs class ApiResult (line 11) | public class ApiResult method ApiResult (line 16) | private ApiResult( method CreateAsync (line 52) | public static async Task> CreateAsync( method IsValidProperty (line 109) | public static bool IsValidProperty( FILE: Chapter_05/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_05/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_05/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_05/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_05/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_05/WorldCities/Data/Models/Country.cs class Country (line 10) | public class Country method Country (line 13) | public Country() FILE: Chapter_05/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_05/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_05/WorldCities/Startup.cs class Startup (line 14) | public class Startup method Startup (line 16) | public Startup(IConfiguration configuration) method ConfigureServices (line 24) | public void ConfigureServices(IServiceCollection services) method Configure (line 53) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_06/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_06/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_06/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_06/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_06/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 48) | class AppModule { } FILE: Chapter_06/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_06/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 14) | class CitiesComponent { method constructor (line 29) | constructor( method ngOnInit (line 34) | ngOnInit() { method loadData (line 38) | loadData(query: string = null) { method getData (line 48) | getData(event: PageEvent) { FILE: Chapter_06/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 16) | class CityEditComponent { method constructor (line 35) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 53) | loadData() { method loadCountries (line 80) | loadCountries() { method onSubmit (line 93) | onSubmit() { method isDupeCity (line 131) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_06/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_06/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 14) | class CountriesComponent { method constructor (line 29) | constructor( method ngOnInit (line 34) | ngOnInit() { method loadData (line 38) | loadData(query: string = null) { method getData (line 48) | getData(event: PageEvent) { FILE: Chapter_06/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 15) | class CountryEditComponent { method constructor (line 31) | constructor( method ngOnInit (line 40) | ngOnInit() { method loadData (line 65) | loadData() { method onSubmit (line 89) | onSubmit() { method isDupeField (line 126) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_06/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_06/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_06/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_06/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_06/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 28) | [HttpGet] method GetCity (line 48) | [HttpGet("{id}")] method PutCity (line 64) | [HttpPut("{id}")] method PostCity (line 102) | [HttpPost] method DeleteCity (line 112) | [HttpDelete("{id}")] method CityExists (line 127) | private bool CityExists(int id) method IsDupeCity (line 132) | [HttpPost] FILE: Chapter_06/WorldCities/Controllers/CountriesController.cs class CountriesController (line 14) | [Route("api/[controller]")] method CountriesController (line 20) | public CountriesController(ApplicationDbContext context) method GetCountries (line 29) | [HttpGet] method GetCountry (line 50) | [HttpGet("{id}")] method PutCountry (line 66) | [HttpPut("{id}")] method PostCountry (line 98) | [HttpPost] method DeleteCountry (line 108) | [HttpDelete("{id}")] method CountryExists (line 123) | private bool CountryExists(int id) method IsDupeField (line 128) | [HttpPost] FILE: Chapter_06/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_06/WorldCities/Data/ApiResult.cs class ApiResult (line 11) | public class ApiResult method ApiResult (line 16) | private ApiResult( method CreateAsync (line 52) | public static async Task> CreateAsync( method IsValidProperty (line 109) | public static bool IsValidProperty( FILE: Chapter_06/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_06/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_06/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_06/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_06/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_06/WorldCities/Data/Models/Country.cs class Country (line 10) | public class Country method Country (line 13) | public Country() FILE: Chapter_06/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_06/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_06/WorldCities/Startup.cs class Startup (line 14) | public class Startup method Startup (line 16) | public Startup(IConfiguration configuration) method ConfigureServices (line 24) | public void ConfigureServices(IServiceCollection services) method Configure (line 53) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_07/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_07/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_07/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_07/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_07/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 50) | class AppModule { } FILE: Chapter_07/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_07/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_07/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_07/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_07/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 39) | constructor( method ngOnInit (line 46) | ngOnInit() { method loadData (line 63) | loadData() { method loadCountries (line 89) | loadCountries() { method onSubmit (line 103) | onSubmit() { method isDupeCity (line 138) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_07/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 11) | class CityService method constructor (line 13) | constructor( method getData (line 19) | getData( method get (line 43) | get(id): Observable { method put (line 48) | put(item): Observable { method post (line 53) | post(item): Observable { method getCountries (line 58) | getCountries( method isDupeCity (line 82) | isDupeCity(item): Observable { FILE: Chapter_07/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_07/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_07/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_07/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 11) | class CountryService method constructor (line 13) | constructor( method getData (line 19) | getData( method get (line 43) | get(id): Observable { method put (line 48) | put(item): Observable { method post (line 53) | post(item): Observable { method isDupeField (line 58) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_07/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_07/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_07/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_07/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_07/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 28) | [HttpGet] method GetCity (line 57) | [HttpGet("{id}")] method PutCity (line 73) | [HttpPut("{id}")] method PostCity (line 111) | [HttpPost] method DeleteCity (line 121) | [HttpDelete("{id}")] method CityExists (line 136) | private bool CityExists(int id) method IsDupeCity (line 141) | [HttpPost] FILE: Chapter_07/WorldCities/Controllers/CountriesController.cs class CountriesController (line 14) | [Route("api/[controller]")] method CountriesController (line 20) | public CountriesController(ApplicationDbContext context) method GetCountries (line 29) | [HttpGet] method GetCountry (line 110) | [HttpGet("{id}")] method PutCountry (line 126) | [HttpPut("{id}")] method PostCountry (line 158) | [HttpPost] method DeleteCountry (line 168) | [HttpDelete("{id}")] method CountryExists (line 183) | private bool CountryExists(int id) method IsDupeField (line 188) | [HttpPost] FILE: Chapter_07/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_07/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 110) | public static bool IsValidProperty( FILE: Chapter_07/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_07/WorldCities/Data/CityDTO.cs class CityDTO (line 3) | public class CityDTO method CityDTO (line 5) | public CityDTO() { } FILE: Chapter_07/WorldCities/Data/CountryDTO.cs class CountryDTO (line 5) | public class CountryDTO method CountryDTO (line 7) | public CountryDTO() { } FILE: Chapter_07/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_07/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_07/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_07/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_07/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_07/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_07/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_07/WorldCities/Startup.cs class Startup (line 14) | public class Startup method Startup (line 16) | public Startup(IConfiguration configuration) method ConfigureServices (line 24) | public void ConfigureServices(IServiceCollection services) method Configure (line 53) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_08/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_08/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_08/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_08/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_08/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 50) | class AppModule { } FILE: Chapter_08/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_08/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_08/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_08/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_08/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 42) | constructor( method ngOnInit (line 49) | ngOnInit() { method log (line 88) | log(str: string) { method loadData (line 94) | loadData() { method loadCountries (line 120) | loadCountries() { method onSubmit (line 134) | onSubmit() { method isDupeCity (line 169) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_08/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 9) | class CityService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method getCountries (line 56) | getCountries( method isDupeCity (line 80) | isDupeCity(item): Observable { FILE: Chapter_08/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_08/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_08/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_08/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 9) | class CountryService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method isDupeField (line 56) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_08/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_08/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_08/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_08/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_08/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 28) | [HttpGet] method GetCity (line 57) | [HttpGet("{id}")] method PutCity (line 73) | [HttpPut("{id}")] method PostCity (line 111) | [HttpPost] method DeleteCity (line 121) | [HttpDelete("{id}")] method CityExists (line 136) | private bool CityExists(int id) method IsDupeCity (line 141) | [HttpPost] FILE: Chapter_08/WorldCities/Controllers/CountriesController.cs class CountriesController (line 14) | [Route("api/[controller]")] method CountriesController (line 20) | public CountriesController(ApplicationDbContext context) method GetCountries (line 29) | [HttpGet] method GetCountry (line 110) | [HttpGet("{id}")] method PutCountry (line 126) | [HttpPut("{id}")] method PostCountry (line 158) | [HttpPost] method DeleteCountry (line 168) | [HttpDelete("{id}")] method CountryExists (line 183) | private bool CountryExists(int id) method IsDupeField (line 188) | [HttpPost] FILE: Chapter_08/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_08/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 118) | public static bool IsValidProperty( FILE: Chapter_08/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_08/WorldCities/Data/CityDTO.cs class CityDTO (line 3) | public class CityDTO method CityDTO (line 5) | public CityDTO() { } FILE: Chapter_08/WorldCities/Data/CountryDTO.cs class CountryDTO (line 5) | public class CountryDTO method CountryDTO (line 7) | public CountryDTO() { } FILE: Chapter_08/WorldCities/Data/IQueryableExtensions.cs class IQueryableExtension (line 11) | public static class IQueryableExtension method ToSql (line 13) | public static string ToSql(this IQueryable query) method Private (line 31) | private static object Private(this object obj, string privateField) => method Private (line 35) | private static T Private(this object obj, string privateField) => FILE: Chapter_08/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_08/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_08/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_08/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_08/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_08/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_08/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_08/WorldCities/Startup.cs class Startup (line 14) | public class Startup method Startup (line 16) | public Startup(IConfiguration configuration) method ConfigureServices (line 24) | public void ConfigureServices(IServiceCollection services) method Configure (line 53) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_09/WorldCities.Tests/CitiesController_Tests.cs class CitiesController_Tests (line 9) | public class CitiesController_Tests method GetCity (line 14) | [Fact] FILE: Chapter_09/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_09/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_09/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_09/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_09/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 50) | class AppModule { } FILE: Chapter_09/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_09/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_09/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_09/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_09/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 42) | constructor( method ngOnInit (line 49) | ngOnInit() { method log (line 88) | log(str: string) { method loadData (line 94) | loadData() { method loadCountries (line 120) | loadCountries() { method onSubmit (line 134) | onSubmit() { method isDupeCity (line 169) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_09/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 9) | class CityService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method getCountries (line 56) | getCountries( method isDupeCity (line 80) | isDupeCity(item): Observable { FILE: Chapter_09/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_09/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_09/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_09/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 9) | class CountryService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method isDupeField (line 56) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_09/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_09/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_09/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_09/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_09/WorldCities/Controllers/CitiesController.cs class CitiesController (line 13) | [Route("api/[controller]")] method CitiesController (line 19) | public CitiesController(ApplicationDbContext context) method GetCities (line 28) | [HttpGet] method GetCity (line 57) | [HttpGet("{id}")] method PutCity (line 73) | [HttpPut("{id}")] method PostCity (line 111) | [HttpPost] method DeleteCity (line 121) | [HttpDelete("{id}")] method CityExists (line 136) | private bool CityExists(int id) method IsDupeCity (line 141) | [HttpPost] FILE: Chapter_09/WorldCities/Controllers/CountriesController.cs class CountriesController (line 14) | [Route("api/[controller]")] method CountriesController (line 20) | public CountriesController(ApplicationDbContext context) method GetCountries (line 29) | [HttpGet] method GetCountry (line 110) | [HttpGet("{id}")] method PutCountry (line 126) | [HttpPut("{id}")] method PostCountry (line 158) | [HttpPost] method DeleteCountry (line 168) | [HttpDelete("{id}")] method CountryExists (line 183) | private bool CountryExists(int id) method IsDupeField (line 188) | [HttpPost] FILE: Chapter_09/WorldCities/Controllers/SeedController.cs class SeedController (line 16) | [Route("api/[controller]/[action]")] method SeedController (line 23) | public SeedController( method Import (line 31) | [HttpGet] FILE: Chapter_09/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 118) | public static bool IsValidProperty( FILE: Chapter_09/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 6) | public class ApplicationDbContext : DbContext method ApplicationDbContext (line 9) | public ApplicationDbContext() : base() method ApplicationDbContext (line 13) | public ApplicationDbContext(DbContextOptions options) : base(options) method OnModelCreating (line 19) | protected override void OnModelCreating(ModelBuilder modelBuilder) FILE: Chapter_09/WorldCities/Data/CityDTO.cs class CityDTO (line 3) | public class CityDTO method CityDTO (line 5) | public CityDTO() { } FILE: Chapter_09/WorldCities/Data/CountryDTO.cs class CountryDTO (line 5) | public class CountryDTO method CountryDTO (line 7) | public CountryDTO() { } FILE: Chapter_09/WorldCities/Data/IQueryableExtensions.cs class IQueryableExtension (line 11) | public static class IQueryableExtension method ToSql (line 13) | public static string ToSql(this IQueryable query) method Private (line 31) | private static object Private(this object obj, string privateField) => method Private (line 35) | private static T Private(this object obj, string privateField) => FILE: Chapter_09/WorldCities/Data/Migrations/20191123030140_Initial.Designer.cs class Initial (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 15) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_09/WorldCities/Data/Migrations/20191123030140_Initial.cs class Initial (line 5) | public partial class Initial : Migration method Up (line 7) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 53) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_09/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 10) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 13) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_09/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_09/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_09/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_09/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_09/WorldCities/Startup.cs class Startup (line 14) | public class Startup method Startup (line 16) | public Startup(IConfiguration configuration) method ConfigureServices (line 24) | public void ConfigureServices(IServiceCollection services) method Configure (line 53) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_10/AuthSample/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_10/AuthSample/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/api-authorization.constants.ts type ApplicationPathsType (line 58) | interface ApplicationPathsType { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/api-authorization.module.ts class ApiAuthorizationModule (line 30) | class ApiAuthorizationModule { } FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/authorize.guard.ts class AuthorizeGuard (line 11) | class AuthorizeGuard implements CanActivate { method constructor (line 12) | constructor(private authorize: AuthorizeService, private router: Route... method canActivate (line 14) | canActivate( method handleAuthorization (line 21) | private handleAuthorization(isAuthenticated: boolean, state: RouterSta... FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/authorize.interceptor.ts class AuthorizeInterceptor (line 10) | class AuthorizeInterceptor implements HttpInterceptor { method constructor (line 11) | constructor(private authorize: AuthorizeService) { } method intercept (line 13) | intercept(req: HttpRequest, next: HttpHandler): Observable, ... method isSameOriginUrl (line 33) | private isSameOriginUrl(req: any) { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/authorize.service.ts type IAuthenticationResult (line 7) | type IAuthenticationResult = type SuccessAuthenticationResult (line 12) | interface SuccessAuthenticationResult { type FailureAuthenticationResult (line 17) | interface FailureAuthenticationResult { type RedirectAuthenticationResult (line 22) | interface RedirectAuthenticationResult { type AuthenticationResultStatus (line 26) | enum AuthenticationResultStatus { type IUser (line 32) | interface IUser { class AuthorizeService (line 39) | class AuthorizeService { method isAuthenticated (line 47) | public isAuthenticated(): Observable { method getUser (line 51) | public getUser(): Observable { method getAccessToken (line 58) | public getAccessToken(): Observable { method signIn (line 72) | public async signIn(state: any): Promise { method completeSignIn (line 110) | public async completeSignIn(url: string): Promise { method completeSignOut (line 144) | public async completeSignOut(url: string): Promise { method getUserFromStorage (line 193) | private getUserFromStorage(): Observable { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/login-menu/login-menu.component.ts class LoginMenuComponent (line 11) | class LoginMenuComponent implements OnInit { method constructor (line 15) | constructor(private authorizeService: AuthorizeService) { } method ngOnInit (line 17) | ngOnInit() { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/login/login.component.ts class LoginComponent (line 16) | class LoginComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method login (line 49) | private async login(returnUrl: string): Promise { method processLoginCallback (line 69) | private async processLoginCallback(): Promise { method redirectToRegister (line 85) | private redirectToRegister(): any { method redirectToProfile (line 90) | private redirectToProfile(): void { method navigateToReturnUrl (line 94) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 102) | private getReturnUrl(state?: INavigationState): string { method redirectToApiAuthorizationPath (line 117) | private redirectToApiAuthorizationPath(apiAuthorizationPath: string) { type INavigationState (line 126) | interface INavigationState { FILE: Chapter_10/AuthSample/ClientApp/src/api-authorization/logout/logout.component.ts class LogoutComponent (line 16) | class LogoutComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method logout (line 47) | private async logout(returnUrl: string): Promise { method processLogoutCallback (line 71) | private async processLogoutCallback(): Promise { method navigateToReturnUrl (line 90) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 96) | private getReturnUrl(state?: INavigationState): string { type INavigationState (line 112) | interface INavigationState { FILE: Chapter_10/AuthSample/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_10/AuthSample/ClientApp/src/app/app.module.ts class AppModule (line 40) | class AppModule { } FILE: Chapter_10/AuthSample/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_10/AuthSample/ClientApp/src/app/counter/counter.component.ts class CounterComponent (line 7) | class CounterComponent { method incrementCounter (line 10) | public incrementCounter() { FILE: Chapter_10/AuthSample/ClientApp/src/app/fetch-data/fetch-data.component.ts class FetchDataComponent (line 8) | class FetchDataComponent { method constructor (line 11) | constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) { type WeatherForecast (line 18) | interface WeatherForecast { FILE: Chapter_10/AuthSample/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_10/AuthSample/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_10/AuthSample/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_10/AuthSample/Controllers/OidcConfigurationController.cs class OidcConfigurationController (line 7) | public class OidcConfigurationController : Controller method OidcConfigurationController (line 11) | public OidcConfigurationController(IClientRequestParametersProvider cl... method GetClientRequestParameters (line 19) | [HttpGet("_configuration/{clientId}")] FILE: Chapter_10/AuthSample/Controllers/WeatherForecastController.cs class WeatherForecastController (line 11) | [Authorize] method WeatherForecastController (line 23) | public WeatherForecastController(ILogger lo... method Get (line 28) | [HttpGet] FILE: Chapter_10/AuthSample/Data/ApplicationDbContext.cs class ApplicationDbContext (line 13) | public class ApplicationDbContext : ApiAuthorizationDbContext logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_10/AuthSample/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateHostBuilder (line 19) | public static IHostBuilder CreateHostBuilder(string[] args) => FILE: Chapter_10/AuthSample/Startup.cs class Startup (line 17) | public class Startup method Startup (line 19) | public Startup(IConfiguration configuration) method ConfigureServices (line 27) | public void ConfigureServices(IServiceCollection services) method Configure (line 51) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_10/AuthSample/WeatherForecast.cs class WeatherForecast (line 5) | public class WeatherForecast FILE: Chapter_10/WorldCities.Tests/CitiesController_Tests.cs class CitiesController_Tests (line 12) | public class CitiesController_Tests method GetCity (line 17) | [Fact] FILE: Chapter_10/WorldCities.Tests/IdentityHelper.cs class IdentityHelper (line 11) | public static class IdentityHelper method GetRoleManager (line 13) | public static RoleManager GetRoleManager( method GetUserManager (line 24) | public static UserManager GetUserManager( FILE: Chapter_10/WorldCities.Tests/SeedController_Tests.cs class SeedController_Tests (line 17) | public class SeedController_Tests method CreateDefaultUsers (line 22) | [Fact] FILE: Chapter_10/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_10/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/api-authorization.constants.ts type ApplicationPathsType (line 58) | interface ApplicationPathsType { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/api-authorization.module.ts class ApiAuthorizationModule (line 30) | class ApiAuthorizationModule { } FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/authorize.guard.ts class AuthorizeGuard (line 11) | class AuthorizeGuard implements CanActivate { method constructor (line 12) | constructor(private authorize: AuthorizeService, private router: Route... method canActivate (line 14) | canActivate( method handleAuthorization (line 21) | private handleAuthorization(isAuthenticated: boolean, state: RouterSta... FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/authorize.interceptor.ts class AuthorizeInterceptor (line 10) | class AuthorizeInterceptor implements HttpInterceptor { method constructor (line 11) | constructor(private authorize: AuthorizeService) { } method intercept (line 13) | intercept(req: HttpRequest, next: HttpHandler): Observable, ... method isSameOriginUrl (line 33) | private isSameOriginUrl(req: any) { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/authorize.service.ts type IAuthenticationResult (line 7) | type IAuthenticationResult = type SuccessAuthenticationResult (line 12) | interface SuccessAuthenticationResult { type FailureAuthenticationResult (line 17) | interface FailureAuthenticationResult { type RedirectAuthenticationResult (line 22) | interface RedirectAuthenticationResult { type AuthenticationResultStatus (line 26) | enum AuthenticationResultStatus { type IUser (line 32) | interface IUser { class AuthorizeService (line 39) | class AuthorizeService { method isAuthenticated (line 47) | public isAuthenticated(): Observable { method getUser (line 51) | public getUser(): Observable { method getAccessToken (line 58) | public getAccessToken(): Observable { method signIn (line 72) | public async signIn(state: any): Promise { method completeSignIn (line 110) | public async completeSignIn(url: string): Promise { method completeSignOut (line 144) | public async completeSignOut(url: string): Promise { method getUserFromStorage (line 193) | private getUserFromStorage(): Observable { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/login-menu/login-menu.component.ts class LoginMenuComponent (line 11) | class LoginMenuComponent implements OnInit { method constructor (line 15) | constructor(private authorizeService: AuthorizeService) { } method ngOnInit (line 17) | ngOnInit() { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/login/login.component.ts class LoginComponent (line 16) | class LoginComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method login (line 49) | private async login(returnUrl: string): Promise { method processLoginCallback (line 69) | private async processLoginCallback(): Promise { method redirectToRegister (line 85) | private redirectToRegister(): any { method redirectToProfile (line 90) | private redirectToProfile(): void { method navigateToReturnUrl (line 94) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 102) | private getReturnUrl(state?: INavigationState): string { method redirectToApiAuthorizationPath (line 117) | private redirectToApiAuthorizationPath(apiAuthorizationPath: string) { type INavigationState (line 126) | interface INavigationState { FILE: Chapter_10/WorldCities/ClientApp/src/api-authorization/logout/logout.component.ts class LogoutComponent (line 16) | class LogoutComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method logout (line 47) | private async logout(returnUrl: string): Promise { method processLogoutCallback (line 71) | private async processLogoutCallback(): Promise { method navigateToReturnUrl (line 90) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 96) | private getReturnUrl(state?: INavigationState): string { type INavigationState (line 112) | interface INavigationState { FILE: Chapter_10/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_10/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 7) | class AppComponent { FILE: Chapter_10/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 87) | class AppModule { } FILE: Chapter_10/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_10/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_10/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_10/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_10/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 42) | constructor( method ngOnInit (line 49) | ngOnInit() { method log (line 88) | log(str: string) { method loadData (line 94) | loadData() { method loadCountries (line 120) | loadCountries() { method onSubmit (line 134) | onSubmit() { method isDupeCity (line 169) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_10/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 9) | class CityService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method getCountries (line 56) | getCountries( method isDupeCity (line 80) | isDupeCity(item): Observable { FILE: Chapter_10/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_10/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_10/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_10/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 9) | class CountryService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method isDupeField (line 56) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_10/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_10/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_10/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_10/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_10/WorldCities/Controllers/CitiesController.cs class CitiesController (line 14) | [Route("api/[controller]")] method CitiesController (line 20) | public CitiesController(ApplicationDbContext context) method GetCities (line 29) | [HttpGet] method GetCity (line 58) | [HttpGet("{id}")] method PutCity (line 74) | [Authorize] method PostCity (line 113) | [Authorize] method DeleteCity (line 124) | [Authorize] method CityExists (line 140) | private bool CityExists(int id) method IsDupeCity (line 145) | [HttpPost] FILE: Chapter_10/WorldCities/Controllers/CountriesController.cs class CountriesController (line 15) | [Route("api/[controller]")] method CountriesController (line 21) | public CountriesController(ApplicationDbContext context) method GetCountries (line 30) | [HttpGet] method GetCountry (line 111) | [HttpGet("{id}")] method PutCountry (line 127) | [Authorize] method PostCountry (line 160) | [Authorize] method DeleteCountry (line 171) | [Authorize] method CountryExists (line 187) | private bool CountryExists(int id) method IsDupeField (line 192) | [HttpPost] FILE: Chapter_10/WorldCities/Controllers/OidcConfigurationController.cs class OidcConfigurationController (line 7) | public class OidcConfigurationController : Controller method OidcConfigurationController (line 11) | public OidcConfigurationController(IClientRequestParametersProvider cl... method GetClientRequestParameters (line 19) | [HttpGet("_configuration/{clientId}")] FILE: Chapter_10/WorldCities/Controllers/SeedController.cs class SeedController (line 17) | [Route("api/[controller]/[action]")] method SeedController (line 26) | public SeedController( method Import (line 38) | [HttpGet] method CreateDefaultUsers (line 160) | [HttpGet] FILE: Chapter_10/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 118) | public static bool IsValidProperty( FILE: Chapter_10/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 9) | public class ApplicationDbContext : ApiAuthorizationDbContext(this IQueryable query) method Private (line 31) | private static object Private(this object obj, string privateField) => method Private (line 35) | private static T Private(this object obj, string privateField) => FILE: Chapter_10/WorldCities/Data/Migrations/20191230002753_Identity.Designer.cs class Identity (line 12) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 16) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_10/WorldCities/Data/Migrations/20191230002753_Identity.cs class Identity (line 6) | public partial class Identity : Migration method Up (line 8) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 250) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_10/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 14) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_10/WorldCities/Data/Models/ApplicationUser.cs class ApplicationUser (line 9) | public class ApplicationUser : IdentityUser FILE: Chapter_10/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_10/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_10/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_10/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_10/WorldCities/Startup.cs class Startup (line 17) | public class Startup method Startup (line 19) | public Startup(IConfiguration configuration) method ConfigureServices (line 27) | public void ConfigureServices(IServiceCollection services) method Configure (line 75) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_11/HealthCheck/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_11/HealthCheck/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_11/HealthCheck/ClientApp/src/app/app.component.ts class AppComponent (line 8) | class AppComponent { method constructor (line 16) | constructor(private connectionService: ConnectionService) { FILE: Chapter_11/HealthCheck/ClientApp/src/app/app.module.ts class AppModule (line 38) | class AppModule { } FILE: Chapter_11/HealthCheck/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_11/HealthCheck/ClientApp/src/app/health-check/health-check.component.ts class HealthCheckComponent (line 9) | class HealthCheckComponent { method constructor (line 12) | constructor( method ngOnInit (line 17) | ngOnInit() { type Result (line 24) | interface Result { type Check (line 30) | interface Check { FILE: Chapter_11/HealthCheck/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_11/HealthCheck/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_11/HealthCheck/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_11/HealthCheck/ClientApp/src/ng-connection-service/connection-service.module.ts class ConnectionServiceModule (line 9) | class ConnectionServiceModule { FILE: Chapter_11/HealthCheck/ClientApp/src/ng-connection-service/connection-service.service.ts type ConnectionState (line 10) | interface ConnectionState { type ConnectionServiceOptions (line 24) | interface ConnectionServiceOptions { class ConnectionService (line 57) | class ConnectionService implements OnDestroy { method options (line 81) | get options(): ConnectionServiceOptions { method constructor (line 85) | constructor(private http: HttpClient, @Inject(ConnectionServiceOptions... method checkInternetState (line 92) | private checkInternetState() { method checkNetworkState (line 125) | private checkNetworkState() { method emitEvent (line 139) | private emitEvent() { method ngOnDestroy (line 143) | ngOnDestroy(): void { method monitor (line 157) | monitor(reportCurrentState = true): Observable { method updateOptions (line 174) | updateOptions(options: Partial) { FILE: Chapter_11/HealthCheck/CustomHealthCheckOptions.cs class CustomHealthCheckOptions (line 9) | public class CustomHealthCheckOptions : HealthCheckOptions method CustomHealthCheckOptions (line 11) | public CustomHealthCheckOptions() : base() FILE: Chapter_11/HealthCheck/ICMPHealthCheck.cs class ICMPHealthCheck (line 9) | public class ICMPHealthCheck : IHealthCheck method ICMPHealthCheck (line 14) | public ICMPHealthCheck(string host, int timeout) method CheckHealthAsync (line 20) | public async Task CheckHealthAsync( FILE: Chapter_11/HealthCheck/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_11/HealthCheck/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_11/HealthCheck/Startup.cs class Startup (line 12) | public class Startup method Startup (line 14) | public Startup(IConfiguration configuration) method ConfigureServices (line 22) | public void ConfigureServices(IServiceCollection services) method Configure (line 38) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_11/HealthCheck/wwwroot/ngsw-worker.js class Adapter (line 17) | class Adapter { method constructor (line 18) | constructor(scope) { method newRequest (line 27) | newRequest(input, init) { method newResponse (line 33) | newResponse(body, init) { return new Response(body, init); } method newHeaders (line 37) | newHeaders(headers) { return new Headers(headers); } method isClient (line 41) | isClient(source) { return (source instanceof Client); } method time (line 45) | get time() { return Date.now(); } method parseUrl (line 49) | parseUrl(url, relativeTo) { method timeout (line 58) | timeout(ms) { class NotFound (line 73) | class NotFound { method constructor (line 74) | constructor(table, key) { class CacheDatabase (line 91) | class CacheDatabase { method constructor (line 92) | constructor(scope, adapter) { method 'delete' (line 97) | 'delete'(name) { method list (line 103) | list() { method open (line 106) | open(name) { class CacheTable (line 118) | class CacheTable { method constructor (line 119) | constructor(table, cache, adapter) { method request (line 124) | request(key) { return this.adapter.newRequest('/' + key); } method 'delete' (line 125) | 'delete'(key) { return this.cache.delete(this.request(key)); } method keys (line 126) | keys() { method read (line 129) | read(key) { method write (line 137) | write(key, value) { class SwCriticalError (line 163) | class SwCriticalError extends Error { method constructor (line 164) | constructor() { function errorToString (line 169) | function errorToString(error) { function sha1 (line 195) | function sha1(str) { function sha1Binary (line 200) | function sha1Binary(buffer) { function _sha1 (line 204) | function _sha1(words32, len) { function add32 (line 226) | function add32(a, b) { function add32to64 (line 229) | function add32to64(a, b) { function rol32 (line 235) | function rol32(a, count) { function fk (line 243) | function fk(index, b, c, d) { function stringToWords32 (line 255) | function stringToWords32(str, endian) { function arrayBufferToWords32 (line 263) | function arrayBufferToWords32(buffer, endian) { function byteAt (line 272) | function byteAt(str, index) { function wordAt (line 280) | function wordAt(str, index, endian) { function words32ToByteString (line 294) | function words32ToByteString(words32) { function word32ToByteString (line 297) | function word32ToByteString(word) { function byteStringToHexString (line 304) | function byteStringToHexString(str) { function adopt (line 321) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 323) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 324) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 325) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AssetGroup (line 334) | class AssetGroup { method constructor (line 335) | constructor(scope, adapter, idle, config, hashes, db, prefix) { method cacheStatus (line 366) | cacheStatus(url) { method cleanup (line 389) | cleanup() { method handleFetch (line 398) | handleFetch(req, ctx) { method getConfigUrl (line 443) | getConfigUrl(url) { method needToRevalidate (line 460) | needToRevalidate(req, res) { method fetchFromCacheOnly (line 537) | fetchFromCacheOnly(url) { method unhashedResources (line 562) | unhashedResources() { method fetchAndCacheOnce (line 575) | fetchAndCacheOnce(req, used = true) { method fetchFromNetwork (line 631) | fetchFromNetwork(req, redirectLimit = 3) { method cacheBustedFetchFromNetwork (line 650) | cacheBustedFetchFromNetwork(req) { method maybeUpdate (line 720) | maybeUpdate(updateFrom, req, cache) { method cacheBust (line 746) | cacheBust(url) { method safeFetch (line 749) | safeFetch(req) { class PrefetchAssetGroup (line 766) | class PrefetchAssetGroup extends AssetGroup { method initializeFully (line 767) | initializeFully(updateFrom) { class LazyAssetGroup (line 828) | class LazyAssetGroup extends AssetGroup { method initializeFully (line 829) | initializeFully(updateFrom) { function adopt (line 879) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 881) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 882) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 883) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class LruList (line 891) | class LruList { method constructor (line 892) | constructor(state) { method size (line 906) | get size() { return this.state.count; } method pop (line 910) | pop() { method remove (line 920) | remove(url) { method accessed (line 968) | accessed(url) { class DataGroup (line 1013) | class DataGroup { method constructor (line 1014) | constructor(scope, adapter, config, db, debugHandler, prefix) { method lru (line 1033) | lru() { method syncLru (line 1050) | syncLru() { method handleFetch (line 1072) | handleFetch(req, ctx) { method handleFetchWithPerformance (line 1111) | handleFetchWithPerformance(req, ctx, lru) { method handleFetchWithFreshness (line 1145) | handleFetchWithFreshness(req, ctx, lru) { method networkFetchWithTimeout (line 1177) | networkFetchWithTimeout(req) { method safeCacheResponse (line 1213) | safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { method loadFromCache (line 1234) | loadFromCache(req, lru) { method cacheResponse (line 1271) | cacheResponse(req, res, lru, okToCacheOpaque = false) { method cleanup (line 1303) | cleanup() { method clearCacheForUrl (line 1320) | clearCacheForUrl(url) { method safeFetch (line 1330) | safeFetch(req) { function adopt (line 1353) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1355) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1356) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1357) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AppVersion (line 1373) | class AppVersion { method constructor (line 1374) | constructor(scope, adapter, database, idle, debugHandler, manifest, ma... method okay (line 1425) | get okay() { return this._okay; } method initializeFully (line 1431) | initializeFully(updateFrom) { method handleFetch (line 1452) | handleFetch(req, context) { method isNavigationRequest (line 1504) | isNavigationRequest(req) { method lookupResourceWithHash (line 1520) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 1539) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 1555) | previouslyCachedResources() { method recentCacheStatus (line 1560) | recentCacheStatus(url) { method cleanup (line 1578) | cleanup() { method appData (line 1587) | get appData() { return this.manifest.appData || null; } method acceptsTextHtml (line 1591) | acceptsTextHtml(req) { function adopt (line 1609) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1611) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1612) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1613) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class DebugHandler (line 1618) | class DebugHandler { method constructor (line 1619) | constructor(driver, adapter) { method handleFetch (line 1630) | handleFetch(req) { method since (line 1664) | since(time) { method log (line 1681) | log(value, context = '') { method errorToString (line 1694) | errorToString(err) { return `${err.name}(${err.message}, ${err.stack})... method formatDebugLog (line 1695) | formatDebugLog(log) { function adopt (line 1709) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1711) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1712) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1713) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class IdleScheduler (line 1717) | class IdleScheduler { method constructor (line 1718) | constructor(adapter, threshold, debug) { method trigger (line 1729) | trigger() { method execute (line 1750) | execute() { method schedule (line 1773) | schedule(desc, run) { method size (line 1779) | get size() { return this.queue.length; } method taskDescriptions (line 1780) | get taskDescriptions() { return this.queue.map(task => task.desc); } function hashManifest (line 1790) | function hashManifest(manifest) { function isMsgCheckForUpdates (line 1801) | function isMsgCheckForUpdates(msg) { function isMsgActivateUpdate (line 1804) | function isMsgActivateUpdate(msg) { function adopt (line 1816) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1818) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1819) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1820) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class Driver (line 1842) | class Driver { method constructor (line 1843) | constructor(scope, adapter, db) { method onFetch (line 1943) | onFetch(event) { method onMessage (line 1998) | onMessage(event) { method onPush (line 2024) | onPush(msg) { method onClick (line 2032) | onClick(event) { method ensureInitialized (line 2036) | ensureInitialized(event) { method handleMessage (line 2063) | handleMessage(msg, from) { method handlePush (line 2074) | handlePush(data) { method handleClick (line 2090) | handleClick(notification, action) { method reportStatus (line 2104) | reportStatus(client, promise, nonce) { method updateClient (line 2116) | updateClient(client) { method handleFetch (line 2146) | handleFetch(event) { method initialize (line 2206) | initialize() { method lookupVersionByHash (line 2310) | lookupVersionByHash(hash, debugName = 'lookupVersionByHash') { method assignVersion (line 2320) | assignVersion(event) { method fetchLatestManifest (line 2400) | fetchLatestManifest(ignoreOfflineError = false) { method deleteAllCaches (line 2417) | deleteAllCaches() { method scheduleInitialization (line 2434) | scheduleInitialization(appVersion) { method versionFailed (line 2452) | versionFailed(appVersion, err) { method setupUpdate (line 2492) | setupUpdate(manifest, hash) { method checkForUpdate (line 2518) | checkForUpdate() { method sync (line 2548) | sync() { method cleanupCaches (line 2571) | cleanupCaches() { method cleanupOldSwCaches (line 2620) | cleanupOldSwCaches() { method lookupResourceWithHash (line 2631) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 2651) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 2658) | previouslyCachedResources() { method recentCacheStatus (line 2665) | recentCacheStatus(url) { method mergeHashWithAppData (line 2671) | mergeHashWithAppData(manifest, hash) { method notifyClientsAboutUpdate (line 2677) | notifyClientsAboutUpdate(next) { method broadcast (line 2704) | broadcast(msg) { method debugState (line 2710) | debugState() { method debugVersions (line 2720) | debugVersions() { method debugIdleState (line 2736) | debugIdleState() { method safeFetch (line 2745) | safeFetch(req) { FILE: Chapter_11/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_11/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/api-authorization.constants.ts type ApplicationPathsType (line 58) | interface ApplicationPathsType { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/api-authorization.module.ts class ApiAuthorizationModule (line 30) | class ApiAuthorizationModule { } FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/authorize.guard.ts class AuthorizeGuard (line 11) | class AuthorizeGuard implements CanActivate { method constructor (line 12) | constructor(private authorize: AuthorizeService, private router: Route... method canActivate (line 14) | canActivate( method handleAuthorization (line 21) | private handleAuthorization(isAuthenticated: boolean, state: RouterSta... FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/authorize.interceptor.ts class AuthorizeInterceptor (line 10) | class AuthorizeInterceptor implements HttpInterceptor { method constructor (line 11) | constructor(private authorize: AuthorizeService) { } method intercept (line 13) | intercept(req: HttpRequest, next: HttpHandler): Observable, ... method isSameOriginUrl (line 33) | private isSameOriginUrl(req: any) { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/authorize.service.ts type IAuthenticationResult (line 7) | type IAuthenticationResult = type SuccessAuthenticationResult (line 12) | interface SuccessAuthenticationResult { type FailureAuthenticationResult (line 17) | interface FailureAuthenticationResult { type RedirectAuthenticationResult (line 22) | interface RedirectAuthenticationResult { type AuthenticationResultStatus (line 26) | enum AuthenticationResultStatus { type IUser (line 32) | interface IUser { class AuthorizeService (line 39) | class AuthorizeService { method isAuthenticated (line 47) | public isAuthenticated(): Observable { method getUser (line 51) | public getUser(): Observable { method getAccessToken (line 58) | public getAccessToken(): Observable { method signIn (line 72) | public async signIn(state: any): Promise { method completeSignIn (line 110) | public async completeSignIn(url: string): Promise { method completeSignOut (line 144) | public async completeSignOut(url: string): Promise { method getUserFromStorage (line 193) | private getUserFromStorage(): Observable { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/login-menu/login-menu.component.ts class LoginMenuComponent (line 11) | class LoginMenuComponent implements OnInit { method constructor (line 15) | constructor(private authorizeService: AuthorizeService) { } method ngOnInit (line 17) | ngOnInit() { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/login/login.component.ts class LoginComponent (line 16) | class LoginComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method login (line 49) | private async login(returnUrl: string): Promise { method processLoginCallback (line 69) | private async processLoginCallback(): Promise { method redirectToRegister (line 85) | private redirectToRegister(): any { method redirectToProfile (line 90) | private redirectToProfile(): void { method navigateToReturnUrl (line 94) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 102) | private getReturnUrl(state?: INavigationState): string { method redirectToApiAuthorizationPath (line 117) | private redirectToApiAuthorizationPath(apiAuthorizationPath: string) { type INavigationState (line 126) | interface INavigationState { FILE: Chapter_11/WorldCities/ClientApp/src/api-authorization/logout/logout.component.ts class LogoutComponent (line 16) | class LogoutComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method logout (line 47) | private async logout(returnUrl: string): Promise { method processLogoutCallback (line 71) | private async processLogoutCallback(): Promise { method navigateToReturnUrl (line 90) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 96) | private getReturnUrl(state?: INavigationState): string { type INavigationState (line 112) | interface INavigationState { FILE: Chapter_11/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_11/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 8) | class AppComponent { method constructor (line 16) | constructor(private connectionService: ConnectionService) { FILE: Chapter_11/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 95) | class AppModule { } FILE: Chapter_11/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_11/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_11/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_11/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_11/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 42) | constructor( method ngOnInit (line 49) | ngOnInit() { method log (line 88) | log(str: string) { method loadData (line 94) | loadData() { method loadCountries (line 120) | loadCountries() { method onSubmit (line 134) | onSubmit() { method isDupeCity (line 169) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_11/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 9) | class CityService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method getCountries (line 56) | getCountries( method isDupeCity (line 80) | isDupeCity(item): Observable { FILE: Chapter_11/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_11/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_11/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_11/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 9) | class CountryService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method isDupeField (line 56) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_11/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_11/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_11/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_11/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_11/WorldCities/ClientApp/src/ng-connection-service/connection-service.module.ts class ConnectionServiceModule (line 9) | class ConnectionServiceModule { FILE: Chapter_11/WorldCities/ClientApp/src/ng-connection-service/connection-service.service.ts type ConnectionState (line 10) | interface ConnectionState { type ConnectionServiceOptions (line 24) | interface ConnectionServiceOptions { class ConnectionService (line 57) | class ConnectionService implements OnDestroy { method options (line 81) | get options(): ConnectionServiceOptions { method constructor (line 85) | constructor(private http: HttpClient, @Inject(ConnectionServiceOptions... method checkInternetState (line 92) | private checkInternetState() { method checkNetworkState (line 125) | private checkNetworkState() { method emitEvent (line 139) | private emitEvent() { method ngOnDestroy (line 143) | ngOnDestroy(): void { method monitor (line 157) | monitor(reportCurrentState = true): Observable { method updateOptions (line 174) | updateOptions(options: Partial) { FILE: Chapter_11/WorldCities/Controllers/CitiesController.cs class CitiesController (line 14) | [Route("api/[controller]")] method CitiesController (line 20) | public CitiesController(ApplicationDbContext context) method GetCities (line 29) | [HttpGet] method GetCity (line 58) | [HttpGet("{id}")] method PutCity (line 74) | [Authorize] method PostCity (line 113) | [Authorize] method DeleteCity (line 124) | [Authorize] method CityExists (line 140) | private bool CityExists(int id) method IsDupeCity (line 145) | [HttpPost] FILE: Chapter_11/WorldCities/Controllers/CountriesController.cs class CountriesController (line 15) | [Route("api/[controller]")] method CountriesController (line 21) | public CountriesController(ApplicationDbContext context) method GetCountries (line 30) | [HttpGet] method GetCountry (line 111) | [HttpGet("{id}")] method PutCountry (line 127) | [Authorize] method PostCountry (line 160) | [Authorize] method DeleteCountry (line 171) | [Authorize] method CountryExists (line 187) | private bool CountryExists(int id) method IsDupeField (line 192) | [HttpPost] FILE: Chapter_11/WorldCities/Controllers/OidcConfigurationController.cs class OidcConfigurationController (line 7) | public class OidcConfigurationController : Controller method OidcConfigurationController (line 11) | public OidcConfigurationController(IClientRequestParametersProvider cl... method GetClientRequestParameters (line 19) | [HttpGet("_configuration/{clientId}")] FILE: Chapter_11/WorldCities/Controllers/SeedController.cs class SeedController (line 17) | [Route("api/[controller]/[action]")] method SeedController (line 26) | public SeedController( method Import (line 38) | [HttpGet] method CreateDefaultUsers (line 160) | [HttpGet] FILE: Chapter_11/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 118) | public static bool IsValidProperty( FILE: Chapter_11/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 9) | public class ApplicationDbContext : ApiAuthorizationDbContext(this IQueryable query) method Private (line 31) | private static object Private(this object obj, string privateField) => method Private (line 35) | private static T Private(this object obj, string privateField) => FILE: Chapter_11/WorldCities/Data/Migrations/20191230002753_Identity.Designer.cs class Identity (line 12) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 16) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_11/WorldCities/Data/Migrations/20191230002753_Identity.cs class Identity (line 6) | public partial class Identity : Migration method Up (line 8) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 250) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_11/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 14) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_11/WorldCities/Data/Models/ApplicationUser.cs class ApplicationUser (line 9) | public class ApplicationUser : IdentityUser FILE: Chapter_11/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_11/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_11/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_11/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_11/WorldCities/Startup.cs class Startup (line 18) | public class Startup method Startup (line 20) | public Startup(IConfiguration configuration) method ConfigureServices (line 28) | public void ConfigureServices(IServiceCollection services) method Configure (line 76) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_11/WorldCities/wwwroot/ngsw-worker.js class Adapter (line 17) | class Adapter { method constructor (line 18) | constructor(scope) { method newRequest (line 27) | newRequest(input, init) { method newResponse (line 33) | newResponse(body, init) { return new Response(body, init); } method newHeaders (line 37) | newHeaders(headers) { return new Headers(headers); } method isClient (line 41) | isClient(source) { return (source instanceof Client); } method time (line 45) | get time() { return Date.now(); } method parseUrl (line 49) | parseUrl(url, relativeTo) { method timeout (line 58) | timeout(ms) { class NotFound (line 73) | class NotFound { method constructor (line 74) | constructor(table, key) { class CacheDatabase (line 91) | class CacheDatabase { method constructor (line 92) | constructor(scope, adapter) { method 'delete' (line 97) | 'delete'(name) { method list (line 103) | list() { method open (line 106) | open(name) { class CacheTable (line 118) | class CacheTable { method constructor (line 119) | constructor(table, cache, adapter) { method request (line 124) | request(key) { return this.adapter.newRequest('/' + key); } method 'delete' (line 125) | 'delete'(key) { return this.cache.delete(this.request(key)); } method keys (line 126) | keys() { method read (line 129) | read(key) { method write (line 137) | write(key, value) { class SwCriticalError (line 163) | class SwCriticalError extends Error { method constructor (line 164) | constructor() { function errorToString (line 169) | function errorToString(error) { function sha1 (line 195) | function sha1(str) { function sha1Binary (line 200) | function sha1Binary(buffer) { function _sha1 (line 204) | function _sha1(words32, len) { function add32 (line 226) | function add32(a, b) { function add32to64 (line 229) | function add32to64(a, b) { function rol32 (line 235) | function rol32(a, count) { function fk (line 243) | function fk(index, b, c, d) { function stringToWords32 (line 255) | function stringToWords32(str, endian) { function arrayBufferToWords32 (line 263) | function arrayBufferToWords32(buffer, endian) { function byteAt (line 272) | function byteAt(str, index) { function wordAt (line 280) | function wordAt(str, index, endian) { function words32ToByteString (line 294) | function words32ToByteString(words32) { function word32ToByteString (line 297) | function word32ToByteString(word) { function byteStringToHexString (line 304) | function byteStringToHexString(str) { function adopt (line 321) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 323) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 324) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 325) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AssetGroup (line 334) | class AssetGroup { method constructor (line 335) | constructor(scope, adapter, idle, config, hashes, db, prefix) { method cacheStatus (line 366) | cacheStatus(url) { method cleanup (line 389) | cleanup() { method handleFetch (line 398) | handleFetch(req, ctx) { method getConfigUrl (line 443) | getConfigUrl(url) { method needToRevalidate (line 460) | needToRevalidate(req, res) { method fetchFromCacheOnly (line 537) | fetchFromCacheOnly(url) { method unhashedResources (line 562) | unhashedResources() { method fetchAndCacheOnce (line 575) | fetchAndCacheOnce(req, used = true) { method fetchFromNetwork (line 631) | fetchFromNetwork(req, redirectLimit = 3) { method cacheBustedFetchFromNetwork (line 650) | cacheBustedFetchFromNetwork(req) { method maybeUpdate (line 720) | maybeUpdate(updateFrom, req, cache) { method cacheBust (line 746) | cacheBust(url) { method safeFetch (line 749) | safeFetch(req) { class PrefetchAssetGroup (line 766) | class PrefetchAssetGroup extends AssetGroup { method initializeFully (line 767) | initializeFully(updateFrom) { class LazyAssetGroup (line 828) | class LazyAssetGroup extends AssetGroup { method initializeFully (line 829) | initializeFully(updateFrom) { function adopt (line 879) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 881) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 882) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 883) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class LruList (line 891) | class LruList { method constructor (line 892) | constructor(state) { method size (line 906) | get size() { return this.state.count; } method pop (line 910) | pop() { method remove (line 920) | remove(url) { method accessed (line 968) | accessed(url) { class DataGroup (line 1013) | class DataGroup { method constructor (line 1014) | constructor(scope, adapter, config, db, debugHandler, prefix) { method lru (line 1033) | lru() { method syncLru (line 1050) | syncLru() { method handleFetch (line 1072) | handleFetch(req, ctx) { method handleFetchWithPerformance (line 1111) | handleFetchWithPerformance(req, ctx, lru) { method handleFetchWithFreshness (line 1145) | handleFetchWithFreshness(req, ctx, lru) { method networkFetchWithTimeout (line 1177) | networkFetchWithTimeout(req) { method safeCacheResponse (line 1213) | safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { method loadFromCache (line 1234) | loadFromCache(req, lru) { method cacheResponse (line 1271) | cacheResponse(req, res, lru, okToCacheOpaque = false) { method cleanup (line 1303) | cleanup() { method clearCacheForUrl (line 1320) | clearCacheForUrl(url) { method safeFetch (line 1330) | safeFetch(req) { function adopt (line 1353) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1355) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1356) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1357) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AppVersion (line 1373) | class AppVersion { method constructor (line 1374) | constructor(scope, adapter, database, idle, debugHandler, manifest, ma... method okay (line 1425) | get okay() { return this._okay; } method initializeFully (line 1431) | initializeFully(updateFrom) { method handleFetch (line 1452) | handleFetch(req, context) { method isNavigationRequest (line 1504) | isNavigationRequest(req) { method lookupResourceWithHash (line 1520) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 1539) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 1555) | previouslyCachedResources() { method recentCacheStatus (line 1560) | recentCacheStatus(url) { method cleanup (line 1578) | cleanup() { method appData (line 1587) | get appData() { return this.manifest.appData || null; } method acceptsTextHtml (line 1591) | acceptsTextHtml(req) { function adopt (line 1609) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1611) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1612) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1613) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class DebugHandler (line 1618) | class DebugHandler { method constructor (line 1619) | constructor(driver, adapter) { method handleFetch (line 1630) | handleFetch(req) { method since (line 1664) | since(time) { method log (line 1681) | log(value, context = '') { method errorToString (line 1694) | errorToString(err) { return `${err.name}(${err.message}, ${err.stack})... method formatDebugLog (line 1695) | formatDebugLog(log) { function adopt (line 1709) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1711) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1712) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1713) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class IdleScheduler (line 1717) | class IdleScheduler { method constructor (line 1718) | constructor(adapter, threshold, debug) { method trigger (line 1729) | trigger() { method execute (line 1750) | execute() { method schedule (line 1773) | schedule(desc, run) { method size (line 1779) | get size() { return this.queue.length; } method taskDescriptions (line 1780) | get taskDescriptions() { return this.queue.map(task => task.desc); } function hashManifest (line 1790) | function hashManifest(manifest) { function isMsgCheckForUpdates (line 1801) | function isMsgCheckForUpdates(msg) { function isMsgActivateUpdate (line 1804) | function isMsgActivateUpdate(msg) { function adopt (line 1816) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1818) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1819) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1820) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class Driver (line 1842) | class Driver { method constructor (line 1843) | constructor(scope, adapter, db) { method onFetch (line 1943) | onFetch(event) { method onMessage (line 1998) | onMessage(event) { method onPush (line 2024) | onPush(msg) { method onClick (line 2032) | onClick(event) { method ensureInitialized (line 2036) | ensureInitialized(event) { method handleMessage (line 2063) | handleMessage(msg, from) { method handlePush (line 2074) | handlePush(data) { method handleClick (line 2090) | handleClick(notification, action) { method reportStatus (line 2104) | reportStatus(client, promise, nonce) { method updateClient (line 2116) | updateClient(client) { method handleFetch (line 2146) | handleFetch(event) { method initialize (line 2206) | initialize() { method lookupVersionByHash (line 2310) | lookupVersionByHash(hash, debugName = 'lookupVersionByHash') { method assignVersion (line 2320) | assignVersion(event) { method fetchLatestManifest (line 2400) | fetchLatestManifest(ignoreOfflineError = false) { method deleteAllCaches (line 2417) | deleteAllCaches() { method scheduleInitialization (line 2434) | scheduleInitialization(appVersion) { method versionFailed (line 2452) | versionFailed(appVersion, err) { method setupUpdate (line 2492) | setupUpdate(manifest, hash) { method checkForUpdate (line 2518) | checkForUpdate() { method sync (line 2548) | sync() { method cleanupCaches (line 2571) | cleanupCaches() { method cleanupOldSwCaches (line 2620) | cleanupOldSwCaches() { method lookupResourceWithHash (line 2631) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 2651) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 2658) | previouslyCachedResources() { method recentCacheStatus (line 2665) | recentCacheStatus(url) { method mergeHashWithAppData (line 2671) | mergeHashWithAppData(manifest, hash) { method notifyClientsAboutUpdate (line 2677) | notifyClientsAboutUpdate(next) { method broadcast (line 2704) | broadcast(msg) { method debugState (line 2710) | debugState() { method debugVersions (line 2720) | debugVersions() { method debugIdleState (line 2736) | debugIdleState() { method safeFetch (line 2745) | safeFetch(req) { FILE: Chapter_12/HealthCheck/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_12/HealthCheck/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_12/HealthCheck/ClientApp/src/app/app.component.ts class AppComponent (line 8) | class AppComponent { method constructor (line 16) | constructor(private connectionService: ConnectionService) { FILE: Chapter_12/HealthCheck/ClientApp/src/app/app.module.ts class AppModule (line 38) | class AppModule { } FILE: Chapter_12/HealthCheck/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_12/HealthCheck/ClientApp/src/app/health-check/health-check.component.ts class HealthCheckComponent (line 9) | class HealthCheckComponent { method constructor (line 12) | constructor( method ngOnInit (line 17) | ngOnInit() { type Result (line 24) | interface Result { type Check (line 30) | interface Check { FILE: Chapter_12/HealthCheck/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_12/HealthCheck/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_12/HealthCheck/ClientApp/src/main.ts function getBaseUrl (line 7) | function getBaseUrl() { FILE: Chapter_12/HealthCheck/ClientApp/src/ng-connection-service/connection-service.module.ts class ConnectionServiceModule (line 9) | class ConnectionServiceModule { FILE: Chapter_12/HealthCheck/ClientApp/src/ng-connection-service/connection-service.service.ts type ConnectionState (line 10) | interface ConnectionState { type ConnectionServiceOptions (line 24) | interface ConnectionServiceOptions { class ConnectionService (line 57) | class ConnectionService implements OnDestroy { method options (line 81) | get options(): ConnectionServiceOptions { method constructor (line 85) | constructor(private http: HttpClient, @Inject(ConnectionServiceOptions... method checkInternetState (line 92) | private checkInternetState() { method checkNetworkState (line 125) | private checkNetworkState() { method emitEvent (line 139) | private emitEvent() { method ngOnDestroy (line 143) | ngOnDestroy(): void { method monitor (line 157) | monitor(reportCurrentState = true): Observable { method updateOptions (line 174) | updateOptions(options: Partial) { FILE: Chapter_12/HealthCheck/CustomHealthCheckOptions.cs class CustomHealthCheckOptions (line 9) | public class CustomHealthCheckOptions : HealthCheckOptions method CustomHealthCheckOptions (line 11) | public CustomHealthCheckOptions() : base() FILE: Chapter_12/HealthCheck/ICMPHealthCheck.cs class ICMPHealthCheck (line 9) | public class ICMPHealthCheck : IHealthCheck method ICMPHealthCheck (line 14) | public ICMPHealthCheck(string host, int timeout) method CheckHealthAsync (line 20) | public async Task CheckHealthAsync( FILE: Chapter_12/HealthCheck/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_12/HealthCheck/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_12/HealthCheck/Startup.cs class Startup (line 12) | public class Startup method Startup (line 14) | public Startup(IConfiguration configuration) method ConfigureServices (line 22) | public void ConfigureServices(IServiceCollection services) method Configure (line 38) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_12/HealthCheck/wwwroot/ngsw-worker.js class Adapter (line 17) | class Adapter { method constructor (line 18) | constructor(scope) { method newRequest (line 27) | newRequest(input, init) { method newResponse (line 33) | newResponse(body, init) { return new Response(body, init); } method newHeaders (line 37) | newHeaders(headers) { return new Headers(headers); } method isClient (line 41) | isClient(source) { return (source instanceof Client); } method time (line 45) | get time() { return Date.now(); } method parseUrl (line 49) | parseUrl(url, relativeTo) { method timeout (line 58) | timeout(ms) { class NotFound (line 73) | class NotFound { method constructor (line 74) | constructor(table, key) { class CacheDatabase (line 91) | class CacheDatabase { method constructor (line 92) | constructor(scope, adapter) { method 'delete' (line 97) | 'delete'(name) { method list (line 103) | list() { method open (line 106) | open(name) { class CacheTable (line 118) | class CacheTable { method constructor (line 119) | constructor(table, cache, adapter) { method request (line 124) | request(key) { return this.adapter.newRequest('/' + key); } method 'delete' (line 125) | 'delete'(key) { return this.cache.delete(this.request(key)); } method keys (line 126) | keys() { method read (line 129) | read(key) { method write (line 137) | write(key, value) { class SwCriticalError (line 163) | class SwCriticalError extends Error { method constructor (line 164) | constructor() { function errorToString (line 169) | function errorToString(error) { function sha1 (line 195) | function sha1(str) { function sha1Binary (line 200) | function sha1Binary(buffer) { function _sha1 (line 204) | function _sha1(words32, len) { function add32 (line 226) | function add32(a, b) { function add32to64 (line 229) | function add32to64(a, b) { function rol32 (line 235) | function rol32(a, count) { function fk (line 243) | function fk(index, b, c, d) { function stringToWords32 (line 255) | function stringToWords32(str, endian) { function arrayBufferToWords32 (line 263) | function arrayBufferToWords32(buffer, endian) { function byteAt (line 272) | function byteAt(str, index) { function wordAt (line 280) | function wordAt(str, index, endian) { function words32ToByteString (line 294) | function words32ToByteString(words32) { function word32ToByteString (line 297) | function word32ToByteString(word) { function byteStringToHexString (line 304) | function byteStringToHexString(str) { function adopt (line 321) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 323) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 324) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 325) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AssetGroup (line 334) | class AssetGroup { method constructor (line 335) | constructor(scope, adapter, idle, config, hashes, db, prefix) { method cacheStatus (line 366) | cacheStatus(url) { method cleanup (line 389) | cleanup() { method handleFetch (line 398) | handleFetch(req, ctx) { method getConfigUrl (line 443) | getConfigUrl(url) { method needToRevalidate (line 460) | needToRevalidate(req, res) { method fetchFromCacheOnly (line 537) | fetchFromCacheOnly(url) { method unhashedResources (line 562) | unhashedResources() { method fetchAndCacheOnce (line 575) | fetchAndCacheOnce(req, used = true) { method fetchFromNetwork (line 631) | fetchFromNetwork(req, redirectLimit = 3) { method cacheBustedFetchFromNetwork (line 650) | cacheBustedFetchFromNetwork(req) { method maybeUpdate (line 720) | maybeUpdate(updateFrom, req, cache) { method cacheBust (line 746) | cacheBust(url) { method safeFetch (line 749) | safeFetch(req) { class PrefetchAssetGroup (line 766) | class PrefetchAssetGroup extends AssetGroup { method initializeFully (line 767) | initializeFully(updateFrom) { class LazyAssetGroup (line 828) | class LazyAssetGroup extends AssetGroup { method initializeFully (line 829) | initializeFully(updateFrom) { function adopt (line 879) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 881) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 882) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 883) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class LruList (line 891) | class LruList { method constructor (line 892) | constructor(state) { method size (line 906) | get size() { return this.state.count; } method pop (line 910) | pop() { method remove (line 920) | remove(url) { method accessed (line 968) | accessed(url) { class DataGroup (line 1013) | class DataGroup { method constructor (line 1014) | constructor(scope, adapter, config, db, debugHandler, prefix) { method lru (line 1033) | lru() { method syncLru (line 1050) | syncLru() { method handleFetch (line 1072) | handleFetch(req, ctx) { method handleFetchWithPerformance (line 1111) | handleFetchWithPerformance(req, ctx, lru) { method handleFetchWithFreshness (line 1145) | handleFetchWithFreshness(req, ctx, lru) { method networkFetchWithTimeout (line 1177) | networkFetchWithTimeout(req) { method safeCacheResponse (line 1213) | safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { method loadFromCache (line 1234) | loadFromCache(req, lru) { method cacheResponse (line 1271) | cacheResponse(req, res, lru, okToCacheOpaque = false) { method cleanup (line 1303) | cleanup() { method clearCacheForUrl (line 1320) | clearCacheForUrl(url) { method safeFetch (line 1330) | safeFetch(req) { function adopt (line 1353) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1355) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1356) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1357) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AppVersion (line 1373) | class AppVersion { method constructor (line 1374) | constructor(scope, adapter, database, idle, debugHandler, manifest, ma... method okay (line 1425) | get okay() { return this._okay; } method initializeFully (line 1431) | initializeFully(updateFrom) { method handleFetch (line 1452) | handleFetch(req, context) { method isNavigationRequest (line 1504) | isNavigationRequest(req) { method lookupResourceWithHash (line 1520) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 1539) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 1555) | previouslyCachedResources() { method recentCacheStatus (line 1560) | recentCacheStatus(url) { method cleanup (line 1578) | cleanup() { method appData (line 1587) | get appData() { return this.manifest.appData || null; } method acceptsTextHtml (line 1591) | acceptsTextHtml(req) { function adopt (line 1609) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1611) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1612) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1613) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class DebugHandler (line 1618) | class DebugHandler { method constructor (line 1619) | constructor(driver, adapter) { method handleFetch (line 1630) | handleFetch(req) { method since (line 1664) | since(time) { method log (line 1681) | log(value, context = '') { method errorToString (line 1694) | errorToString(err) { return `${err.name}(${err.message}, ${err.stack})... method formatDebugLog (line 1695) | formatDebugLog(log) { function adopt (line 1709) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1711) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1712) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1713) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class IdleScheduler (line 1717) | class IdleScheduler { method constructor (line 1718) | constructor(adapter, threshold, debug) { method trigger (line 1729) | trigger() { method execute (line 1750) | execute() { method schedule (line 1773) | schedule(desc, run) { method size (line 1779) | get size() { return this.queue.length; } method taskDescriptions (line 1780) | get taskDescriptions() { return this.queue.map(task => task.desc); } function hashManifest (line 1790) | function hashManifest(manifest) { function isMsgCheckForUpdates (line 1801) | function isMsgCheckForUpdates(msg) { function isMsgActivateUpdate (line 1804) | function isMsgActivateUpdate(msg) { function adopt (line 1816) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1818) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1819) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1820) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class Driver (line 1842) | class Driver { method constructor (line 1843) | constructor(scope, adapter, db) { method onFetch (line 1943) | onFetch(event) { method onMessage (line 1998) | onMessage(event) { method onPush (line 2024) | onPush(msg) { method onClick (line 2032) | onClick(event) { method ensureInitialized (line 2036) | ensureInitialized(event) { method handleMessage (line 2063) | handleMessage(msg, from) { method handlePush (line 2074) | handlePush(data) { method handleClick (line 2090) | handleClick(notification, action) { method reportStatus (line 2104) | reportStatus(client, promise, nonce) { method updateClient (line 2116) | updateClient(client) { method handleFetch (line 2146) | handleFetch(event) { method initialize (line 2206) | initialize() { method lookupVersionByHash (line 2310) | lookupVersionByHash(hash, debugName = 'lookupVersionByHash') { method assignVersion (line 2320) | assignVersion(event) { method fetchLatestManifest (line 2400) | fetchLatestManifest(ignoreOfflineError = false) { method deleteAllCaches (line 2417) | deleteAllCaches() { method scheduleInitialization (line 2434) | scheduleInitialization(appVersion) { method versionFailed (line 2452) | versionFailed(appVersion, err) { method setupUpdate (line 2492) | setupUpdate(manifest, hash) { method checkForUpdate (line 2518) | checkForUpdate() { method sync (line 2548) | sync() { method cleanupCaches (line 2571) | cleanupCaches() { method cleanupOldSwCaches (line 2620) | cleanupOldSwCaches() { method lookupResourceWithHash (line 2631) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 2651) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 2658) | previouslyCachedResources() { method recentCacheStatus (line 2665) | recentCacheStatus(url) { method mergeHashWithAppData (line 2671) | mergeHashWithAppData(manifest, hash) { method notifyClientsAboutUpdate (line 2677) | notifyClientsAboutUpdate(next) { method broadcast (line 2704) | broadcast(msg) { method debugState (line 2710) | debugState() { method debugVersions (line 2720) | debugVersions() { method debugIdleState (line 2736) | debugIdleState() { method safeFetch (line 2745) | safeFetch(req) { FILE: Chapter_12/WorldCities/ClientApp/e2e/protractor.conf.js method onPrepare (line 20) | onPrepare() { FILE: Chapter_12/WorldCities/ClientApp/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo() { method getMainHeading (line 8) | getMainHeading() { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/api-authorization.constants.ts type ApplicationPathsType (line 58) | interface ApplicationPathsType { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/api-authorization.module.ts class ApiAuthorizationModule (line 30) | class ApiAuthorizationModule { } FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/authorize.guard.ts class AuthorizeGuard (line 11) | class AuthorizeGuard implements CanActivate { method constructor (line 12) | constructor(private authorize: AuthorizeService, private router: Route... method canActivate (line 14) | canActivate( method handleAuthorization (line 21) | private handleAuthorization(isAuthenticated: boolean, state: RouterSta... FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/authorize.interceptor.ts class AuthorizeInterceptor (line 10) | class AuthorizeInterceptor implements HttpInterceptor { method constructor (line 11) | constructor(private authorize: AuthorizeService) { } method intercept (line 13) | intercept(req: HttpRequest, next: HttpHandler): Observable, ... method isSameOriginUrl (line 33) | private isSameOriginUrl(req: any) { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/authorize.service.ts type IAuthenticationResult (line 7) | type IAuthenticationResult = type SuccessAuthenticationResult (line 12) | interface SuccessAuthenticationResult { type FailureAuthenticationResult (line 17) | interface FailureAuthenticationResult { type RedirectAuthenticationResult (line 22) | interface RedirectAuthenticationResult { type AuthenticationResultStatus (line 26) | enum AuthenticationResultStatus { type IUser (line 32) | interface IUser { class AuthorizeService (line 39) | class AuthorizeService { method isAuthenticated (line 47) | public isAuthenticated(): Observable { method getUser (line 51) | public getUser(): Observable { method getAccessToken (line 58) | public getAccessToken(): Observable { method signIn (line 72) | public async signIn(state: any): Promise { method completeSignIn (line 110) | public async completeSignIn(url: string): Promise { method completeSignOut (line 144) | public async completeSignOut(url: string): Promise { method getUserFromStorage (line 193) | private getUserFromStorage(): Observable { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/login-menu/login-menu.component.ts class LoginMenuComponent (line 11) | class LoginMenuComponent implements OnInit { method constructor (line 15) | constructor(private authorizeService: AuthorizeService) { } method ngOnInit (line 17) | ngOnInit() { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/login/login.component.ts class LoginComponent (line 16) | class LoginComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method login (line 49) | private async login(returnUrl: string): Promise { method processLoginCallback (line 69) | private async processLoginCallback(): Promise { method redirectToRegister (line 85) | private redirectToRegister(): any { method redirectToProfile (line 90) | private redirectToProfile(): void { method navigateToReturnUrl (line 94) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 102) | private getReturnUrl(state?: INavigationState): string { method redirectToApiAuthorizationPath (line 117) | private redirectToApiAuthorizationPath(apiAuthorizationPath: string) { type INavigationState (line 126) | interface INavigationState { FILE: Chapter_12/WorldCities/ClientApp/src/api-authorization/logout/logout.component.ts class LogoutComponent (line 16) | class LogoutComponent implements OnInit { method constructor (line 19) | constructor( method ngOnInit (line 24) | async ngOnInit() { method logout (line 47) | private async logout(returnUrl: string): Promise { method processLogoutCallback (line 71) | private async processLogoutCallback(): Promise { method navigateToReturnUrl (line 90) | private async navigateToReturnUrl(returnUrl: string) { method getReturnUrl (line 96) | private getReturnUrl(state?: INavigationState): string { type INavigationState (line 112) | interface INavigationState { FILE: Chapter_12/WorldCities/ClientApp/src/app/angular-material.module.ts class AngularMaterialModule (line 25) | class AngularMaterialModule { } FILE: Chapter_12/WorldCities/ClientApp/src/app/app.component.ts class AppComponent (line 8) | class AppComponent { method constructor (line 16) | constructor(private connectionService: ConnectionService) { FILE: Chapter_12/WorldCities/ClientApp/src/app/app.module.ts class AppModule (line 95) | class AppModule { } FILE: Chapter_12/WorldCities/ClientApp/src/app/app.server.module.ts class AppServerModule (line 11) | class AppServerModule { } FILE: Chapter_12/WorldCities/ClientApp/src/app/base.form.component.ts class BaseFormComponent (line 7) | class BaseFormComponent { method constructor (line 12) | constructor() { method getControl (line 16) | getControl(name: string) { method isValid (line 21) | isValid(name: string) { method isChanged (line 27) | isChanged(name: string) { method hasError (line 34) | hasError(name: string) { FILE: Chapter_12/WorldCities/ClientApp/src/app/base.service.ts method constructor (line 7) | constructor( type ApiResult (line 26) | interface ApiResult { FILE: Chapter_12/WorldCities/ClientApp/src/app/cities/cities.component.ts class CitiesComponent (line 16) | class CitiesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_12/WorldCities/ClientApp/src/app/cities/city-edit.component.ts class CityEditComponent (line 19) | class CityEditComponent method constructor (line 42) | constructor( method ngOnInit (line 49) | ngOnInit() { method log (line 88) | log(str: string) { method loadData (line 94) | loadData() { method loadCountries (line 120) | loadCountries() { method onSubmit (line 134) | onSubmit() { method isDupeCity (line 169) | isDupeCity(): AsyncValidatorFn { FILE: Chapter_12/WorldCities/ClientApp/src/app/cities/city.service.ts class CityService (line 9) | class CityService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method getCountries (line 56) | getCountries( method isDupeCity (line 80) | isDupeCity(item): Observable { FILE: Chapter_12/WorldCities/ClientApp/src/app/cities/city.ts type City (line 1) | interface City { FILE: Chapter_12/WorldCities/ClientApp/src/app/countries/countries.component.ts class CountriesComponent (line 16) | class CountriesComponent { method constructor (line 31) | constructor( method ngOnInit (line 35) | ngOnInit() { method loadData (line 39) | loadData(query: string = null) { method getData (line 49) | getData(event: PageEvent) { FILE: Chapter_12/WorldCities/ClientApp/src/app/countries/country-edit.component.ts class CountryEditComponent (line 17) | class CountryEditComponent method constructor (line 34) | constructor( method ngOnInit (line 42) | ngOnInit() { method loadData (line 67) | loadData() { method onSubmit (line 91) | onSubmit() { method isDupeField (line 125) | isDupeField(fieldName: string): AsyncValidatorFn { FILE: Chapter_12/WorldCities/ClientApp/src/app/countries/country.service.ts class CountryService (line 9) | class CountryService method constructor (line 11) | constructor( method getData (line 17) | getData( method get (line 41) | get(id): Observable { method put (line 46) | put(item): Observable { method post (line 51) | post(item): Observable { method isDupeField (line 56) | isDupeField(countryId, fieldName, fieldValue): Observable { FILE: Chapter_12/WorldCities/ClientApp/src/app/countries/country.ts type Country (line 1) | interface Country { FILE: Chapter_12/WorldCities/ClientApp/src/app/home/home.component.ts class HomeComponent (line 7) | class HomeComponent { FILE: Chapter_12/WorldCities/ClientApp/src/app/nav-menu/nav-menu.component.ts class NavMenuComponent (line 8) | class NavMenuComponent { method collapse (line 11) | collapse() { method toggle (line 15) | toggle() { FILE: Chapter_12/WorldCities/ClientApp/src/main.ts function getBaseUrl (line 8) | function getBaseUrl() { FILE: Chapter_12/WorldCities/ClientApp/src/ng-connection-service/connection-service.module.ts class ConnectionServiceModule (line 9) | class ConnectionServiceModule { FILE: Chapter_12/WorldCities/ClientApp/src/ng-connection-service/connection-service.service.ts type ConnectionState (line 10) | interface ConnectionState { type ConnectionServiceOptions (line 24) | interface ConnectionServiceOptions { class ConnectionService (line 57) | class ConnectionService implements OnDestroy { method options (line 81) | get options(): ConnectionServiceOptions { method constructor (line 85) | constructor(private http: HttpClient, @Inject(ConnectionServiceOptions... method checkInternetState (line 92) | private checkInternetState() { method checkNetworkState (line 125) | private checkNetworkState() { method emitEvent (line 139) | private emitEvent() { method ngOnDestroy (line 143) | ngOnDestroy(): void { method monitor (line 157) | monitor(reportCurrentState = true): Observable { method updateOptions (line 174) | updateOptions(options: Partial) { FILE: Chapter_12/WorldCities/Controllers/CitiesController.cs class CitiesController (line 14) | [Route("api/[controller]")] method CitiesController (line 20) | public CitiesController(ApplicationDbContext context) method GetCities (line 29) | [HttpGet] method GetCity (line 58) | [HttpGet("{id}")] method PutCity (line 74) | [Authorize] method PostCity (line 113) | [Authorize] method DeleteCity (line 124) | [Authorize] method CityExists (line 140) | private bool CityExists(int id) method IsDupeCity (line 145) | [HttpPost] FILE: Chapter_12/WorldCities/Controllers/CountriesController.cs class CountriesController (line 15) | [Route("api/[controller]")] method CountriesController (line 21) | public CountriesController(ApplicationDbContext context) method GetCountries (line 30) | [HttpGet] method GetCountry (line 111) | [HttpGet("{id}")] method PutCountry (line 127) | [Authorize] method PostCountry (line 160) | [Authorize] method DeleteCountry (line 171) | [Authorize] method CountryExists (line 187) | private bool CountryExists(int id) method IsDupeField (line 192) | [HttpPost] FILE: Chapter_12/WorldCities/Controllers/OidcConfigurationController.cs class OidcConfigurationController (line 7) | public class OidcConfigurationController : Controller method OidcConfigurationController (line 11) | public OidcConfigurationController(IClientRequestParametersProvider cl... method GetClientRequestParameters (line 19) | [HttpGet("_configuration/{clientId}")] FILE: Chapter_12/WorldCities/Controllers/SeedController.cs class SeedController (line 17) | [Route("api/[controller]/[action]")] method SeedController (line 26) | public SeedController( method Import (line 38) | [HttpGet] method CreateDefaultUsers (line 160) | [HttpGet] FILE: Chapter_12/WorldCities/Data/ApiResult.cs class ApiResult (line 12) | public class ApiResult method ApiResult (line 17) | private ApiResult( method CreateAsync (line 53) | public static async Task> CreateAsync( method IsValidProperty (line 118) | public static bool IsValidProperty( FILE: Chapter_12/WorldCities/Data/ApplicationDbContext.cs class ApplicationDbContext (line 9) | public class ApplicationDbContext : ApiAuthorizationDbContext(this IQueryable query) method Private (line 31) | private static object Private(this object obj, string privateField) => method Private (line 35) | private static T Private(this object obj, string privateField) => FILE: Chapter_12/WorldCities/Data/Migrations/20191230002753_Identity.Designer.cs class Identity (line 12) | [DbContext(typeof(ApplicationDbContext))] method BuildTargetModel (line 16) | protected override void BuildTargetModel(ModelBuilder modelBuilder) FILE: Chapter_12/WorldCities/Data/Migrations/20191230002753_Identity.cs class Identity (line 6) | public partial class Identity : Migration method Up (line 8) | protected override void Up(MigrationBuilder migrationBuilder) method Down (line 250) | protected override void Down(MigrationBuilder migrationBuilder) FILE: Chapter_12/WorldCities/Data/Migrations/ApplicationDbContextModelSnapshot.cs class ApplicationDbContextModelSnapshot (line 11) | [DbContext(typeof(ApplicationDbContext))] method BuildModel (line 14) | protected override void BuildModel(ModelBuilder modelBuilder) FILE: Chapter_12/WorldCities/Data/Models/ApplicationUser.cs class ApplicationUser (line 9) | public class ApplicationUser : IdentityUser FILE: Chapter_12/WorldCities/Data/Models/City.cs class City (line 10) | public class City method City (line 13) | public City() FILE: Chapter_12/WorldCities/Data/Models/Country.cs class Country (line 11) | public class Country method Country (line 14) | public Country() FILE: Chapter_12/WorldCities/Pages/Error.cshtml.cs class ErrorModel (line 12) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt... method ErrorModel (line 17) | public ErrorModel(ILogger logger) method OnGet (line 26) | public void OnGet() FILE: Chapter_12/WorldCities/Program.cs class Program (line 12) | public class Program method Main (line 14) | public static void Main(string[] args) method CreateWebHostBuilder (line 19) | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => FILE: Chapter_12/WorldCities/Startup.cs class Startup (line 19) | public class Startup method Startup (line 21) | public Startup(IConfiguration configuration) method ConfigureServices (line 29) | public void ConfigureServices(IServiceCollection services) method Configure (line 77) | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) FILE: Chapter_12/WorldCities/wwwroot/ngsw-worker.js class Adapter (line 17) | class Adapter { method constructor (line 18) | constructor(scope) { method newRequest (line 27) | newRequest(input, init) { method newResponse (line 33) | newResponse(body, init) { return new Response(body, init); } method newHeaders (line 37) | newHeaders(headers) { return new Headers(headers); } method isClient (line 41) | isClient(source) { return (source instanceof Client); } method time (line 45) | get time() { return Date.now(); } method parseUrl (line 49) | parseUrl(url, relativeTo) { method timeout (line 58) | timeout(ms) { class NotFound (line 73) | class NotFound { method constructor (line 74) | constructor(table, key) { class CacheDatabase (line 91) | class CacheDatabase { method constructor (line 92) | constructor(scope, adapter) { method 'delete' (line 97) | 'delete'(name) { method list (line 103) | list() { method open (line 106) | open(name) { class CacheTable (line 118) | class CacheTable { method constructor (line 119) | constructor(table, cache, adapter) { method request (line 124) | request(key) { return this.adapter.newRequest('/' + key); } method 'delete' (line 125) | 'delete'(key) { return this.cache.delete(this.request(key)); } method keys (line 126) | keys() { method read (line 129) | read(key) { method write (line 137) | write(key, value) { class SwCriticalError (line 163) | class SwCriticalError extends Error { method constructor (line 164) | constructor() { function errorToString (line 169) | function errorToString(error) { function sha1 (line 195) | function sha1(str) { function sha1Binary (line 200) | function sha1Binary(buffer) { function _sha1 (line 204) | function _sha1(words32, len) { function add32 (line 226) | function add32(a, b) { function add32to64 (line 229) | function add32to64(a, b) { function rol32 (line 235) | function rol32(a, count) { function fk (line 243) | function fk(index, b, c, d) { function stringToWords32 (line 255) | function stringToWords32(str, endian) { function arrayBufferToWords32 (line 263) | function arrayBufferToWords32(buffer, endian) { function byteAt (line 272) | function byteAt(str, index) { function wordAt (line 280) | function wordAt(str, index, endian) { function words32ToByteString (line 294) | function words32ToByteString(words32) { function word32ToByteString (line 297) | function word32ToByteString(word) { function byteStringToHexString (line 304) | function byteStringToHexString(str) { function adopt (line 321) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 323) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 324) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 325) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AssetGroup (line 334) | class AssetGroup { method constructor (line 335) | constructor(scope, adapter, idle, config, hashes, db, prefix) { method cacheStatus (line 366) | cacheStatus(url) { method cleanup (line 389) | cleanup() { method handleFetch (line 398) | handleFetch(req, ctx) { method getConfigUrl (line 443) | getConfigUrl(url) { method needToRevalidate (line 460) | needToRevalidate(req, res) { method fetchFromCacheOnly (line 537) | fetchFromCacheOnly(url) { method unhashedResources (line 562) | unhashedResources() { method fetchAndCacheOnce (line 575) | fetchAndCacheOnce(req, used = true) { method fetchFromNetwork (line 631) | fetchFromNetwork(req, redirectLimit = 3) { method cacheBustedFetchFromNetwork (line 650) | cacheBustedFetchFromNetwork(req) { method maybeUpdate (line 720) | maybeUpdate(updateFrom, req, cache) { method cacheBust (line 746) | cacheBust(url) { method safeFetch (line 749) | safeFetch(req) { class PrefetchAssetGroup (line 766) | class PrefetchAssetGroup extends AssetGroup { method initializeFully (line 767) | initializeFully(updateFrom) { class LazyAssetGroup (line 828) | class LazyAssetGroup extends AssetGroup { method initializeFully (line 829) | initializeFully(updateFrom) { function adopt (line 879) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 881) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 882) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 883) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class LruList (line 891) | class LruList { method constructor (line 892) | constructor(state) { method size (line 906) | get size() { return this.state.count; } method pop (line 910) | pop() { method remove (line 920) | remove(url) { method accessed (line 968) | accessed(url) { class DataGroup (line 1013) | class DataGroup { method constructor (line 1014) | constructor(scope, adapter, config, db, debugHandler, prefix) { method lru (line 1033) | lru() { method syncLru (line 1050) | syncLru() { method handleFetch (line 1072) | handleFetch(req, ctx) { method handleFetchWithPerformance (line 1111) | handleFetchWithPerformance(req, ctx, lru) { method handleFetchWithFreshness (line 1145) | handleFetchWithFreshness(req, ctx, lru) { method networkFetchWithTimeout (line 1177) | networkFetchWithTimeout(req) { method safeCacheResponse (line 1213) | safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { method loadFromCache (line 1234) | loadFromCache(req, lru) { method cacheResponse (line 1271) | cacheResponse(req, res, lru, okToCacheOpaque = false) { method cleanup (line 1303) | cleanup() { method clearCacheForUrl (line 1320) | clearCacheForUrl(url) { method safeFetch (line 1330) | safeFetch(req) { function adopt (line 1353) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1355) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1356) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1357) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class AppVersion (line 1373) | class AppVersion { method constructor (line 1374) | constructor(scope, adapter, database, idle, debugHandler, manifest, ma... method okay (line 1425) | get okay() { return this._okay; } method initializeFully (line 1431) | initializeFully(updateFrom) { method handleFetch (line 1452) | handleFetch(req, context) { method isNavigationRequest (line 1504) | isNavigationRequest(req) { method lookupResourceWithHash (line 1520) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 1539) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 1555) | previouslyCachedResources() { method recentCacheStatus (line 1560) | recentCacheStatus(url) { method cleanup (line 1578) | cleanup() { method appData (line 1587) | get appData() { return this.manifest.appData || null; } method acceptsTextHtml (line 1591) | acceptsTextHtml(req) { function adopt (line 1609) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1611) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1612) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1613) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class DebugHandler (line 1618) | class DebugHandler { method constructor (line 1619) | constructor(driver, adapter) { method handleFetch (line 1630) | handleFetch(req) { method since (line 1664) | since(time) { method log (line 1681) | log(value, context = '') { method errorToString (line 1694) | errorToString(err) { return `${err.name}(${err.message}, ${err.stack})... method formatDebugLog (line 1695) | formatDebugLog(log) { function adopt (line 1709) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1711) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1712) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1713) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class IdleScheduler (line 1717) | class IdleScheduler { method constructor (line 1718) | constructor(adapter, threshold, debug) { method trigger (line 1729) | trigger() { method execute (line 1750) | execute() { method schedule (line 1773) | schedule(desc, run) { method size (line 1779) | get size() { return this.queue.length; } method taskDescriptions (line 1780) | get taskDescriptions() { return this.queue.map(task => task.desc); } function hashManifest (line 1790) | function hashManifest(manifest) { function isMsgCheckForUpdates (line 1801) | function isMsgCheckForUpdates(msg) { function isMsgActivateUpdate (line 1804) | function isMsgActivateUpdate(msg) { function adopt (line 1816) | function adopt(value) { return value instanceof P ? value : new P(functi... function fulfilled (line 1818) | function fulfilled(value) { try { step(generator.next(value)); } catch (... function rejected (line 1819) | function rejected(value) { try { step(generator["throw"](value)); } catc... function step (line 1820) | function step(result) { result.done ? resolve(result.value) : adopt(resu... class Driver (line 1842) | class Driver { method constructor (line 1843) | constructor(scope, adapter, db) { method onFetch (line 1943) | onFetch(event) { method onMessage (line 1998) | onMessage(event) { method onPush (line 2024) | onPush(msg) { method onClick (line 2032) | onClick(event) { method ensureInitialized (line 2036) | ensureInitialized(event) { method handleMessage (line 2063) | handleMessage(msg, from) { method handlePush (line 2074) | handlePush(data) { method handleClick (line 2090) | handleClick(notification, action) { method reportStatus (line 2104) | reportStatus(client, promise, nonce) { method updateClient (line 2116) | updateClient(client) { method handleFetch (line 2146) | handleFetch(event) { method initialize (line 2206) | initialize() { method lookupVersionByHash (line 2310) | lookupVersionByHash(hash, debugName = 'lookupVersionByHash') { method assignVersion (line 2320) | assignVersion(event) { method fetchLatestManifest (line 2400) | fetchLatestManifest(ignoreOfflineError = false) { method deleteAllCaches (line 2417) | deleteAllCaches() { method scheduleInitialization (line 2434) | scheduleInitialization(appVersion) { method versionFailed (line 2452) | versionFailed(appVersion, err) { method setupUpdate (line 2492) | setupUpdate(manifest, hash) { method checkForUpdate (line 2518) | checkForUpdate() { method sync (line 2548) | sync() { method cleanupCaches (line 2571) | cleanupCaches() { method cleanupOldSwCaches (line 2620) | cleanupOldSwCaches() { method lookupResourceWithHash (line 2631) | lookupResourceWithHash(url, hash) { method lookupResourceWithoutHash (line 2651) | lookupResourceWithoutHash(url) { method previouslyCachedResources (line 2658) | previouslyCachedResources() { method recentCacheStatus (line 2665) | recentCacheStatus(url) { method mergeHashWithAppData (line 2671) | mergeHashWithAppData(manifest, hash) { method notifyClientsAboutUpdate (line 2677) | notifyClientsAboutUpdate(next) { method broadcast (line 2704) | broadcast(msg) { method debugState (line 2710) | debugState() { method debugVersions (line 2720) | debugVersions() { method debugIdleState (line 2736) | debugIdleState() { method safeFetch (line 2745) | safeFetch(req) {