├── Chapter02 ├── rxjs-audio │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── track.jpg │ │ │ ├── background.jpg │ │ │ └── track-cover.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── pipes │ │ │ │ └── time.pipe.spec.ts │ │ ├── favicon.ico │ │ ├── styles.scss │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── rxjs-pro-img │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── image.jpg │ │ │ │ └── blurry-image.jpeg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── app.config.ts │ │ │ └── components │ │ │ │ └── pro-img │ │ │ │ └── pro-img.component.html │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── rxjs-swipe │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── types │ │ │ │ └── pixel-coordinates.type.ts │ │ │ └── app.config.ts │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── rxjs-loading-tabs │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ └── beef_stir_fry.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ └── components │ │ │ │ ├── tab-content │ │ │ │ ├── tab-content.component.html │ │ │ │ └── tab-content.component.scss │ │ │ │ ├── tab-content2 │ │ │ │ ├── tab-content2.component.html │ │ │ │ └── tab-content2.component.scss │ │ │ │ └── tabs │ │ │ │ └── tabs.component.scss │ │ ├── favicon.ico │ │ ├── styles.scss │ │ └── main.ts │ └── .vscode │ │ └── extensions.json ├── rxjs-notification │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.routes.ts │ │ │ ├── app.component.html │ │ │ └── app.component.scss │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json ├── rxjs-progress-bar │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ └── app.routes.ts │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json ├── rxjs-drag-n-drop │ └── client │ │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── types │ │ │ │ └── file-upload.type.ts │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ ├── styles.scss │ │ └── main.ts │ │ └── .vscode │ │ └── extensions.json ├── rxjs-infinite-scroll │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── greek_salad.png │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── cacio_e_pepe.png │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_fajitas.png │ │ │ │ ├── mushroom_risotto.png │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ ├── tuna_salad_sandwich.png │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.routes.ts │ │ │ ├── app.component.scss │ │ │ ├── components │ │ │ │ └── new-recipes │ │ │ │ │ ├── new-recipes.component.html │ │ │ │ │ └── new-recipes.component.scss │ │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json └── rxjs-network-status │ ├── src │ ├── assets │ │ └── .gitkeep │ ├── app │ │ ├── app.component.scss │ │ ├── app.component.html │ │ ├── app.routes.ts │ │ └── components │ │ │ └── network-status-indicator │ │ │ └── network-status-indicator.component.html │ ├── favicon.ico │ ├── styles.scss │ └── main.ts │ └── .vscode │ └── extensions.json ├── Chapter03 ├── bouncing-ball │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── app.config.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── rxjs-particles │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── particles │ │ │ │ ├── particles.component.html │ │ │ │ └── particles.component.scss │ │ │ └── app.config.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json └── rxjs-animated-upload-progress-btn │ ├── src │ ├── assets │ │ └── .gitkeep │ ├── app │ │ ├── app.component.html │ │ ├── app.routes.ts │ │ └── app.config.ts │ ├── styles.scss │ ├── favicon.ico │ └── main.ts │ ├── .vscode │ └── extensions.json │ └── .eslintrc.js ├── Chapter04 ├── http-testing │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── image-placeholder.png │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── server.ts │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── ngrx-testing │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ ├── reducers │ │ │ │ └── recipes.types.ts │ │ │ ├── shared │ │ │ │ └── components │ │ │ │ │ └── sidebar │ │ │ │ │ ├── sidebar.component.html │ │ │ │ │ └── sidebar.component.ts │ │ │ ├── components │ │ │ │ └── recipes-list │ │ │ │ │ └── recipes-list.component.html │ │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ └── environments │ │ │ └── environment.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── http-testing-msw │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── image-placeholder.png │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ └── app.component.html │ │ ├── mocks │ │ │ ├── node.ts │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── public │ │ └── favicon.ico │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json └── marble-testing │ ├── src │ ├── assets │ │ └── .gitkeep │ ├── app │ │ ├── app.routes.ts │ │ ├── app.component.html │ │ └── app.component.scss │ ├── favicon.ico │ ├── mocks │ │ ├── browser.ts │ │ └── handlers.ts │ ├── environments │ │ └── environment.ts │ └── styles.scss │ ├── .vscode │ └── extensions.json │ └── tsconfig.app.json ├── Chapter06 ├── rxjs-query │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ ├── types │ │ │ │ └── recipes.types.ts │ │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── environments │ │ └── environment.ts │ └── tsconfig.app.json ├── custom-state-management │ └── src │ │ ├── assets │ │ ├── .gitkeep │ │ └── images │ │ │ ├── spaghetti.jpg │ │ │ ├── beef_stir_fry.jpg │ │ │ ├── caprese_salad.jpg │ │ │ ├── chicken_tikka_masala.jpg │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ ├── app.component.scss │ │ ├── app.routes.ts │ │ ├── shared │ │ │ └── components │ │ │ │ └── sidebar │ │ │ │ ├── sidebar.component.html │ │ │ │ └── sidebar.component.ts │ │ ├── components │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ ├── browser.ts │ │ └── handlers.ts │ │ ├── environments │ │ └── environment.ts │ │ └── styles.scss └── ngrx-state-management │ └── src │ ├── assets │ ├── .gitkeep │ └── images │ │ ├── spaghetti.jpg │ │ ├── beef_stir_fry.jpg │ │ ├── caprese_salad.jpg │ │ ├── chicken_tikka_masala.jpg │ │ └── chocolate_chip_cookies.jpg │ ├── app │ ├── app.component.scss │ ├── app.routes.ts │ ├── reducers │ │ └── recipes.types.ts │ ├── shared │ │ └── components │ │ │ └── sidebar │ │ │ ├── sidebar.component.html │ │ │ └── sidebar.component.ts │ ├── components │ │ └── recipes-list │ │ │ └── recipes-list.component.html │ └── app.component.html │ ├── favicon.ico │ ├── mocks │ ├── browser.ts │ └── handlers.ts │ └── environments │ └── environment.ts ├── Chapter07 ├── rxdb-recipes │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── components │ │ │ │ └── recipes-list │ │ │ │ │ ├── recipes-list.component.scss │ │ │ │ │ └── recipes-list.component.html │ │ │ ├── app.component.html │ │ │ └── app.routes.ts │ │ ├── styles.scss │ │ └── favicon.ico │ └── .vscode │ │ └── extensions.json ├── rxjs-notifications │ ├── client │ │ ├── src │ │ │ ├── assets │ │ │ │ ├── .gitkeep │ │ │ │ └── icons │ │ │ │ │ ├── icon-128x128.png │ │ │ │ │ ├── icon-144x144.png │ │ │ │ │ ├── icon-152x152.png │ │ │ │ │ ├── icon-192x192.png │ │ │ │ │ ├── icon-384x384.png │ │ │ │ │ ├── icon-512x512.png │ │ │ │ │ ├── icon-72x72.png │ │ │ │ │ └── icon-96x96.png │ │ │ ├── app │ │ │ │ ├── app.component.scss │ │ │ │ ├── app.component.html │ │ │ │ └── components │ │ │ │ │ ├── feedback │ │ │ │ │ ├── feedback.component.scss │ │ │ │ │ ├── feedback.component.html │ │ │ │ │ └── feedback.component.ts │ │ │ │ │ ├── food-order │ │ │ │ │ ├── food-order.component.scss │ │ │ │ │ └── food-order.component.html │ │ │ │ │ └── geolocation │ │ │ │ │ ├── geolocation.component.scss │ │ │ │ │ └── geolocation.component.html │ │ │ ├── styles.scss │ │ │ ├── favicon.ico │ │ │ └── main.ts │ │ └── .vscode │ │ │ └── extensions.json │ └── server │ │ └── push-notifications-api │ │ ├── .prettierrc │ │ ├── tsconfig.build.json │ │ ├── src │ │ └── app.service.ts │ │ ├── public │ │ └── assets │ │ │ └── burger.jpg │ │ ├── nest-cli.json │ │ └── test │ │ └── jest-e2e.json └── rxjs-pwa-background-sync │ ├── client │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ └── app.routes.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ └── .vscode │ │ └── extensions.json │ └── server │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ └── jest-e2e.json │ └── src │ └── app.module.ts ├── Chapter09 ├── rxjs-charts │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── components │ │ │ │ └── recipes-chart │ │ │ │ │ ├── recipes-chart.component.scss │ │ │ │ │ └── recipes-chart.component.html │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── app.config.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── mock.json │ │ └── environments │ │ │ └── environment.ts │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── rxjs-tic-tac-toe │ ├── client │ │ ├── src │ │ │ ├── assets │ │ │ │ └── .gitkeep │ │ │ ├── app │ │ │ │ ├── app.component.scss │ │ │ │ ├── app.component.html │ │ │ │ └── app.routes.ts │ │ │ ├── favicon.ico │ │ │ ├── mocks │ │ │ │ └── browser.ts │ │ │ ├── environments │ │ │ │ └── environment.ts │ │ │ ├── styles.scss │ │ │ └── main.ts │ │ ├── .vscode │ │ │ └── extensions.json │ │ └── .eslintrc.js │ └── server │ │ ├── .prettierrc │ │ ├── tsconfig.build.json │ │ ├── src │ │ ├── app.service.ts │ │ └── game │ │ │ └── game.module.ts │ │ ├── nest-cli.json │ │ └── test │ │ └── jest-e2e.json └── rxjs-recipes-chat │ ├── client │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── racoon.png │ │ │ │ └── red-panda.png │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ └── app.routes.ts │ │ ├── favicon.ico │ │ ├── styles.scss │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── .eslintrc.js │ └── server │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── src │ └── app.service.ts │ ├── nest-cli.json │ └── test │ └── jest-e2e.json ├── Chapter01 ├── network-errors │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ └── app.routes.ts │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── network-polling │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_fajitas.png │ │ │ │ ├── mushroom_risotto.png │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ ├── app.component.html │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ └── environments │ │ │ └── environment.ts │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── network-requests │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── image-placeholder.png │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ └── app.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── rxjs-dom-updates │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── .vscode │ │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── rxjs-network-log │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ └── browser.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json └── rxjs-websockets │ ├── src │ ├── assets │ │ ├── .gitkeep │ │ └── images │ │ │ ├── spaghetti.jpg │ │ │ ├── beef_stir_fry.jpg │ │ │ ├── caprese_salad.jpg │ │ │ ├── chicken_fajitas.png │ │ │ ├── mushroom_risotto.png │ │ │ ├── chicken_tikka_masala.jpg │ │ │ └── chocolate_chip_cookies.jpg │ ├── app │ │ ├── app.component.scss │ │ ├── app.component.html │ │ ├── app.routes.ts │ │ └── components │ │ │ └── recipes-list │ │ │ └── recipes-list.component.html │ ├── favicon.ico │ ├── mocks │ │ └── browser.ts │ └── environments │ │ └── environment.ts │ ├── .vscode │ └── extensions.json │ ├── .eslintrc.js │ └── tsconfig.app.json ├── Chapter05 ├── rxjs-web-vitals │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ ├── app.component.html │ │ │ └── app.config.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json ├── rxjs-web-workers │ ├── src │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.routes.ts │ │ │ └── app.config.ts │ │ ├── styles.scss │ │ ├── favicon.ico │ │ └── main.ts │ ├── .vscode │ │ └── extensions.json │ └── tsconfig.app.json └── rxjs-performance-optimizations │ ├── src │ ├── assets │ │ └── .gitkeep │ ├── app │ │ ├── app.component.scss │ │ ├── app.component.html │ │ └── app.routes.ts │ ├── styles.scss │ ├── favicon.ico │ ├── mocks │ │ └── browser.ts │ └── environments │ │ └── environment.ts │ └── .vscode │ └── extensions.json ├── Chapter08 ├── rxjs-offline-cache-first │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── types │ │ │ │ └── recipes.type.ts │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json ├── rxjs-offline-network-first │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── types │ │ │ │ └── recipes.type.ts │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── favicon.ico │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json ├── rxjs-offline-race-network-cache │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ │ └── images │ │ │ │ ├── spaghetti.jpg │ │ │ │ ├── beef_stir_fry.jpg │ │ │ │ ├── caprese_salad.jpg │ │ │ │ ├── chicken_tikka_masala.jpg │ │ │ │ └── chocolate_chip_cookies.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ ├── types │ │ │ │ └── recipes.type.ts │ │ │ └── components │ │ │ │ └── recipes-list │ │ │ │ └── recipes-list.component.html │ │ ├── mocks │ │ │ ├── browser.ts │ │ │ └── handlers.ts │ │ ├── environments │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ └── styles.scss │ └── .vscode │ │ └── extensions.json ├── rxjs-optimistic-update │ └── client │ │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── icons │ │ │ │ ├── icon-72x72.png │ │ │ │ ├── icon-96x96.png │ │ │ │ ├── icon-128x128.png │ │ │ │ ├── icon-144x144.png │ │ │ │ ├── icon-152x152.png │ │ │ │ ├── icon-192x192.png │ │ │ │ ├── icon-384x384.png │ │ │ │ └── icon-512x512.png │ │ │ └── images │ │ │ │ └── spaghetti.jpg │ │ ├── app │ │ │ ├── app.component.scss │ │ │ ├── app.component.html │ │ │ ├── app.routes.ts │ │ │ └── types │ │ │ │ └── recipes.type.ts │ │ ├── favicon.ico │ │ ├── environments │ │ │ └── environment.ts │ │ └── main.ts │ │ ├── .vscode │ │ └── extensions.json │ │ └── dist │ │ └── rxjs-optimistic-update │ │ └── browser │ │ ├── favicon.ico │ │ └── assets │ │ ├── icons │ │ ├── icon-72x72.png │ │ ├── icon-96x96.png │ │ ├── icon-128x128.png │ │ ├── icon-144x144.png │ │ ├── icon-152x152.png │ │ ├── icon-192x192.png │ │ ├── icon-384x384.png │ │ └── icon-512x512.png │ │ └── images │ │ └── spaghetti.jpg └── rxjs-offline-stale-while-revalidate │ ├── src │ ├── assets │ │ ├── .gitkeep │ │ ├── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ │ └── images │ │ │ ├── spaghetti.jpg │ │ │ ├── beef_stir_fry.jpg │ │ │ ├── caprese_salad.jpg │ │ │ ├── chicken-alfredo.png │ │ │ ├── chicken_tikka_masala.jpg │ │ │ └── chocolate_chip_cookies.jpg │ ├── app │ │ ├── app.component.scss │ │ ├── app.component.html │ │ ├── app.routes.ts │ │ ├── types │ │ │ └── recipes.type.ts │ │ └── components │ │ │ └── recipes-list │ │ │ └── recipes-list.component.html │ ├── environments │ │ └── environment.ts │ ├── favicon.ico │ └── styles.scss │ └── .vscode │ └── extensions.json └── Chapter10 ├── rxjs-kafka ├── orders-api │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ │ └── jest-e2e.json │ └── src │ │ └── app.service.ts ├── recipes-api │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ │ └── jest-e2e.json │ └── src │ │ └── main.ts └── reactive-kafka-broker │ ├── .prettierrc │ ├── src │ ├── recipes │ │ └── recipes.module.ts │ ├── orders │ │ ├── orders.service.ts │ │ └── orders.module.ts │ └── main.ts │ ├── tsconfig.build.json │ ├── nest-cli.json │ └── test │ └── jest-e2e.json ├── rxjs-microservices ├── orders-api │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ │ └── jest-e2e.json │ └── src │ │ ├── main.ts │ │ └── app.service.ts └── recipes-api │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ └── jest-e2e.json │ └── src │ └── interceptors │ └── bulkhead │ └── bulkhead.interceptor.spec.ts └── rxjs-grpc-food-order-tracking ├── .prettierrc ├── tsconfig.build.json ├── src └── app.service.ts ├── test └── jest-e2e.json └── nest-cli.json /Chapter02/rxjs-audio/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-requests/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/app/components/recipes-list/recipes-list.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/components/recipes-chart/recipes-chart.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/feedback/feedback.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/network-requests/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/food-order/food-order.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/geolocation/geolocation.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | {{ recipes$ | async | json }} -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .app-content { 2 | padding: 40px; 3 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/orders-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/recipes-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/server/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/feedback/feedback.component.html: -------------------------------------------------------------------------------- 1 |

feedback works!

2 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/geolocation/geolocation.component.html: -------------------------------------------------------------------------------- 1 | {{ geolocation | json }} -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/server/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | adsasd 3 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | adsasd 3 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/recipes-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/food-order/food-order.component.html: -------------------------------------------------------------------------------- 1 |

food-order works!

2 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | adsasd 3 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | adsasd 3 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .example-form-field { 2 | margin: 0 30px; 3 | min-width: 300px; 4 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/components/tab-content/tab-content.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/components/tab-content2/tab-content2.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/particles/particles.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/app/types/pixel-coordinates.type.ts: -------------------------------------------------------------------------------- 1 | export interface PixelCoordinates { 2 | x: number; 3 | y: number; 4 | } -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /Chapter10/rxjs-grpc-food-order-tracking/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "printWidth": 100 5 | } -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "printWidth": 100 5 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | @if (loading) { 2 |
Loading...
3 | } 4 | Web Performance 5 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | body { 3 | margin: 0; 4 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Routes } from '@angular/router'; 2 | 3 | export const routes: Routes = []; 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-audio/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/components/tab-content/tab-content.component.scss: -------------------------------------------------------------------------------- 1 | img { 2 | display: flex; 3 | margin: auto; 4 | width: 500px; 5 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-swipe/src/favicon.ico -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | body { 3 | margin: 20px 30px; 4 | } -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/particles/particles.component.scss: -------------------------------------------------------------------------------- 1 | .canvas { 2 | background-color: #6f00ed; 3 | width: 100vw; 4 | height: 100vh; 5 | } -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/components/tab-content2/tab-content2.component.scss: -------------------------------------------------------------------------------- 1 | img { 2 | display: flex; 3 | margin: auto; 4 | width: 500px; 5 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-pro-img/src/favicon.ico -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter03/bouncing-ball/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/http-testing/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/favicon.ico -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/favicon.ico -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter09/rxjs-charts/src/favicon.ico -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/server/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/orders-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/recipes-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/favicon.ico -------------------------------------------------------------------------------- /Chapter01/network-polling/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/favicon.ico -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/assets/track.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-audio/src/assets/track.jpg -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter03/rxjs-particles/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/marble-testing/src/favicon.ico -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter05/rxjs-web-vitals/src/favicon.ico -------------------------------------------------------------------------------- /Chapter10/rxjs-grpc-food-order-tracking/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/src/recipes/recipes.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | 3 | @Module({}) 4 | export class RecipesModule {} 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/recipes-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-requests/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/favicon.ico -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/favicon.ico -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-loading-tabs/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-notification/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-progress-bar/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/http-testing/src/mocks/server.ts: -------------------------------------------------------------------------------- 1 | import { setupServer } from 'msw/node' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupServer(...handlers) -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter05/rxjs-web-workers/src/favicon.ico -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/server/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/assets/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-audio/src/assets/background.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-network-status/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/public/favicon.ico -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/mocks/node.ts: -------------------------------------------------------------------------------- 1 | import { setupServer } from 'msw/node' 2 | import { handlers } from './handlers' 3 | 4 | export const server = setupServer(...handlers) -------------------------------------------------------------------------------- /Chapter04/http-testing/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter06/rxjs-query/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/mocks/mock.json: -------------------------------------------------------------------------------- 1 | { 2 | "orders": [ 3 | [12, 87, 45], 4 | [55, 20, 93], 5 | [26, 3, 73], 6 | [57, 32, 14] 7 | ] 8 | } -------------------------------------------------------------------------------- /Chapter01/network-errors/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/network-polling/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/network-requests/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/assets/track-cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-audio/src/assets/track-cover.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-drag-n-drop/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter04/http-testing/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/favicon.ico -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/favicon.ico -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter09/rxjs-tic-tac-toe/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter01/network-polling/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter01/network-requests/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/assets/images/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-pro-img/src/assets/images/image.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter04/http-testing/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/favicon.ico -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter09/rxjs-recipes-chat/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/network-errors/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-polling/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-requests/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter04/marble-testing/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/favicon.ico -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/app/types/file-upload.type.ts: -------------------------------------------------------------------------------- 1 | export interface FileWithProgress extends File { 2 | progress?: number; 3 | error?: string; 4 | valid?: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/app/components/tabs/tabs.component.scss: -------------------------------------------------------------------------------- 1 | .tab-content { 2 | display: flex; 3 | justify-content: center; 4 | align-items: center; 5 | margin-top: 50px; 6 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter05/rxjs-performance-optimizations/src/favicon.ico -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxdb-recipes/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development' 5 | }; -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development' 5 | }; -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/mocks/browser.ts: -------------------------------------------------------------------------------- 1 | import { setupWorker } from 'msw/browser' 2 | import { handlers } from './handlers' 3 | 4 | export const worker = setupWorker(...handlers) -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-loading-tabs/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/assets/images/blurry-image.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-pro-img/src/assets/images/blurry-image.jpeg -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter03/rxjs-animated-upload-progress-btn/src/favicon.ico -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/app/types/recipes.types.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/favicon.ico -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development' 5 | }; -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/favicon.ico -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | }; -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .app-container { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | justify-content: center; 6 | min-height: 100vh; 7 | } -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/reducers/recipes.types.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter05/rxjs-performance-optimizations/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development' 5 | }; -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/favicon.ico -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/chicken_fajitas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/chicken_fajitas.png -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/mushroom_risotto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/mushroom_risotto.png -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/chicken_fajitas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/chicken_fajitas.png -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/mushroom_risotto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/mushroom_risotto.png -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/greek_salad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/greek_salad.png -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-loading-tabs/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/image-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/image-placeholder.png -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 3 | "recommendations": ["angular.ng-template"] 4 | } 5 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/assets/images/racoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter09/rxjs-recipes-chat/client/src/assets/images/racoon.png -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/image-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/image-placeholder.png -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/app/components/new-recipes/new-recipes.component.html: -------------------------------------------------------------------------------- 1 | @if (number > 0) { 2 | 3 | } -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/cacio_e_pepe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/cacio_e_pepe.png -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/image-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/image-placeholder.png -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/reducers/recipes.types.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/rxjs-query/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/app/types/recipes.type.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/app/types/recipes.type.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/assets/images/red-panda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter09/rxjs-recipes-chat/client/src/assets/images/red-panda.png -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter01/network-errors/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-errors/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/chicken_fajitas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/chicken_fajitas.png -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/mushroom_risotto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/mushroom_risotto.png -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter04/http-testing/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/ngrx-testing/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/client/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/app/types/recipes.type.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/app/types/recipes.type.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/server/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getHello(): string { 6 | return 'Hello World!'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getHello(): string { 6 | return 'Hello World!'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-polling/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter01/network-requests/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/network-requests/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-dom-updates/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-network-log/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter01/rxjs-websockets/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter04/http-testing-msw/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/shared/components/sidebar/sidebar.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/app/types/recipes.type.ts: -------------------------------------------------------------------------------- 1 | export interface Recipe { 2 | id: number; 3 | name: string; 4 | description: string; 5 | ingredients: string[]; 6 | image: string; 7 | } -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter10/rxjs-grpc-food-order-tracking/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getHello(): string { 6 | return 'Hello World!'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/tuna_salad_sandwich.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/tuna_salad_sandwich.png -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/shared/components/sidebar/sidebar.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter02/rxjs-infinite-scroll/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/shared/components/sidebar/sidebar.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/ngrx-state-management/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | @use '@angular/material' as mat; 4 | 5 | @include mat.elevation-classes(); 6 | @include mat.app-background(); 7 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-pwa-background-sync/client/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter06/custom-state-management/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-cache-first/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | // Add your variable here 4 | configuration: 'development', 5 | wsEndpoint: 'wss://recipes.example.com' 6 | }; -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/orders-api/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/app/components/new-recipes/new-recipes.component.scss: -------------------------------------------------------------------------------- 1 | .new-recipes { 2 | position: fixed; 3 | z-index: 1; 4 | top: 80px; 5 | background-color: #667de7 !important; 6 | color: white !important; 7 | } -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getHello(): string { 6 | return 'Hello World!'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-network-first/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/beef_stir_fry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/beef_stir_fry.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/caprese_salad.jpg -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/server/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/recipes-api/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/public/assets/burger.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter07/rxjs-notifications/server/push-notifications-api/public/assets/burger.jpg -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/server/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chicken-alfredo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chicken-alfredo.png -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/recipes-api/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/app/pipes/time.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | import { TimePipe } from './time.pipe'; 2 | 3 | describe('TimePipe', () => { 4 | it('create an instance', () => { 5 | const pipe = new TimePipe(); 6 | expect(pipe).toBeTruthy(); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-race-network-cache/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chicken_tikka_masala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chicken_tikka_masala.jpg -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/favicon.ico -------------------------------------------------------------------------------- /Chapter07/rxdb-recipes/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chocolate_chip_cookies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-offline-stale-while-revalidate/src/assets/images/chocolate_chip_cookies.jpg -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | body { 3 | margin: 0; 4 | } 5 | html, body { height: 100%; } 6 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 7 | -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | button { 2 | margin: 10px; 3 | padding: 15px 20px; 4 | font-size: 20px; 5 | background-color: #667de7; 6 | border-radius: 10px; 7 | color: white; 8 | border: none; 9 | cursor: pointer; 10 | } -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/server/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/orders-api/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/recipes-api/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | button { 2 | margin: 10px; 3 | padding: 15px 20px; 4 | font-size: 20px; 5 | background-color: #667de7; 6 | border-radius: 10px; 7 | color: white; 8 | border: none; 9 | cursor: pointer; 10 | } -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('/api/recipes', async () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-grpc-food-order-tracking/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/recipes-api/src/main.ts: -------------------------------------------------------------------------------- 1 | import { NestFactory } from '@nestjs/core'; 2 | import { AppModule } from './app.module'; 3 | 4 | async function bootstrap() { 5 | const app = await NestFactory.create(AppModule); 6 | await app.listen(4000); 7 | } 8 | bootstrap(); 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/recipes-api/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/server/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/src/main.ts: -------------------------------------------------------------------------------- 1 | import { NestFactory } from '@nestjs/core'; 2 | import { AppModule } from './app.module'; 3 | 4 | async function bootstrap() { 5 | const app = await NestFactory.create(AppModule); 6 | await app.listen(3000); 7 | } 8 | bootstrap(); 9 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', async () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] 9 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/images/spaghetti.jpg -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/src/orders/orders.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | import { of } from 'rxjs'; 3 | 4 | @Injectable() 5 | export class OrdersService { 6 | getRandomRecipe$() { 7 | return of('random recipe'); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/RxJS-Cookbook-for-Reactive-Programming/HEAD/Chapter08/rxjs-optimistic-update/client/dist/rxjs-optimistic-update/browser/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/orders-api/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | import { Observable, of } from 'rxjs'; 3 | 4 | @Injectable() 5 | export class AppService { 6 | getHello(): Observable { 7 | return of('Hello World!'); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/server/push-notifications-api/test/jest-e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "moduleFileExtensions": ["js", "json", "ts"], 3 | "rootDir": ".", 4 | "testEnvironment": "node", 5 | "testRegex": ".e2e-spec.ts$", 6 | "transform": { 7 | "^.+\\.(t|j)s$": "ts-jest" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', async () => { 6 | return HttpResponse.json(recipes); 7 | }), 8 | ] 9 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/server/src/game/game.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | import { GameGateway } from './game.gateway'; 3 | import { GameService } from './game.service'; 4 | 5 | @Module({ 6 | providers: [GameGateway, GameService], 7 | }) 8 | export class GameModule {} 9 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/orders-api/src/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@nestjs/common'; 2 | import { Observable, of } from 'rxjs'; 3 | 4 | @Injectable() 5 | export class AppService { 6 | getHello(): Observable { 7 | return of('Hello World asdasd xxxx!'); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Chapter02/rxjs-loading-tabs/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-cache-first/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | body { 3 | font-family: 'Shantell Sans', sans-serif; 4 | } 5 | html, body { height: 100%; } 6 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 7 | -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-network-first/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter02/rxjs-drag-n-drop/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-stale-while-revalidate/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 |
2 | @for (item of recipes; track item.id) { 3 |
4 | 5 |
6 | } 7 |
8 | -------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter10/rxjs-microservices/recipes-api/src/interceptors/bulkhead/bulkhead.interceptor.spec.ts: -------------------------------------------------------------------------------- 1 | import { BulkheadInterceptor } from './bulkhead.interceptor'; 2 | 3 | describe('BulkheadInterceptor', () => { 4 | it('should be defined', () => { 5 | expect(new BulkheadInterceptor()).toBeDefined(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /Chapter02/rxjs-infinite-scroll/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | @if (loading$ | async) { 5 | 6 | } 7 |
-------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter08/rxjs-optimistic-update/client/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | bootstrapApplication(AppComponent, appConfig) 6 | .catch((err) => console.error(err)); 7 | -------------------------------------------------------------------------------- /Chapter08/rxjs-offline-race-network-cache/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { delay, http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('/api/recipes', async () => { 6 | await delay(2000); 7 | return HttpResponse.json(recipes); 8 | }), 9 | ] 10 | -------------------------------------------------------------------------------- /Chapter10/rxjs-grpc-food-order-tracking/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nest-cli", 3 | "collection": "@nestjs/schematics", 4 | "sourceRoot": "src", 5 | "compilerOptions": { 6 | "deleteOutDir": true, 7 | "assets": ["**/*.proto"], 8 | "watchAssets": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Chapter01/network-errors/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { delay, http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | export const handlers = [ 5 | http.get('https://super-recipes.com/api/recipes', async () => { 6 | await delay(2000); 7 | 8 | return HttpResponse.json(recipes); 9 | }), 10 | ] -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter01/network-polling/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter01/network-requests/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter02/rxjs-network-status/src/app/components/network-status-indicator/network-status-indicator.component.html: -------------------------------------------------------------------------------- 1 |
2 | {{ isOnline ? 'wifi' : 'wifi_off' }} 3 |

Network Status: {{ isOnline ? 'online' : 'offline' }}

4 |
-------------------------------------------------------------------------------- /Chapter09/rxjs-recipes-chat/client/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter09/rxjs-tic-tac-toe/client/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/src/main.ts: -------------------------------------------------------------------------------- 1 | import { NestFactory } from '@nestjs/core'; 2 | import { AppModule } from './app.module'; 3 | 4 | async function bootstrap() { 5 | const app = await NestFactory.create(AppModule); 6 | await app.startAllMicroservices(); 7 | await app.listen(3000); 8 | } 9 | bootstrap(); 10 | -------------------------------------------------------------------------------- /Chapter06/rxjs-query/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/src/app/components/pro-img/pro-img.component.html: -------------------------------------------------------------------------------- 1 |
2 | @if ((loadingProgress$ | async) !== 100) { 3 |
4 | {{ loadingProgress$ | async }}% 5 |
6 | } 7 | Progressive image 8 |
-------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | @use '@angular/material' as mat; 3 | 4 | @include mat.elevation-classes(); 5 | @include mat.app-background(); 6 | 7 | html, body { height: 100%; } 8 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 9 | -------------------------------------------------------------------------------- /Chapter03/rxjs-animated-upload-progress-btn/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const { join } = require("path"); 2 | module.exports = { 3 | parser: "@typescript-eslint/parser", 4 | parserOptions: { 5 | ecmaVersion: 2019, 6 | project: join(__dirname, "./tsconfig.json"), 7 | sourceType: "module" 8 | }, 9 | extends: ["plugin:rxjs/recommended"], 10 | }; -------------------------------------------------------------------------------- /Chapter04/marble-testing/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | let index = -1; 5 | 6 | export const handlers = [ 7 | http.get('https://super-recipes.com/api/recipes', async () => { 8 | // index++; 9 | return HttpResponse.json(recipes); 10 | }), 11 | ] 12 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Chapter02/rxjs-notification/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { http, HttpResponse } from 'msw' 2 | import { recipes } from './mock.json' 3 | 4 | let index = -1; 5 | 6 | export const handlers = [ 7 | http.get('https://super-recipes.com/api/recipes', async () => { 8 | index++; 9 | return HttpResponse.json(recipes[index]); 10 | }), 11 | ] 12 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/src/app/shared/components/sidebar/sidebar.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-sidebar', 5 | imports: [], 6 | templateUrl: './sidebar.component.html', 7 | styleUrl: './sidebar.component.scss' 8 | }) 9 | export class SidebarComponent { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | @use '@angular/material' as mat; 4 | 5 | @include mat.elevation-classes(); 6 | @include mat.app-background(); 7 | 8 | html, body { height: 100%; } 9 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } -------------------------------------------------------------------------------- /Chapter07/rxjs-pwa-background-sync/server/src/app.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | import { AppController } from './app.controller'; 3 | import { AppService } from './app.service'; 4 | 5 | @Module({ 6 | imports: [], 7 | controllers: [AppController], 8 | providers: [AppService], 9 | }) 10 | export class AppModule {} 11 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/src/app/components/recipes-chart/recipes-chart.component.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /Chapter01/network-polling/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 | @if(recipes) { 2 |
3 | @for (item of recipes; track item.id) { 4 |
5 | 6 |
7 | } 8 |
9 | } 10 | -------------------------------------------------------------------------------- /Chapter04/http-testing/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | @use '@angular/material' as mat; 4 | 5 | @include mat.elevation-classes(); 6 | @include mat.app-background(); 7 | 8 | html, body { height: 100%; } 9 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 10 | -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Chapter01/network-errors/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, body { height: 100%; } 4 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 5 | 6 | .mat-error { 7 | .mdc-snackbar__surface { 8 | background-color: rgb(203, 54, 82) !important; 9 | } 10 | } -------------------------------------------------------------------------------- /Chapter01/network-requests/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | @use '@angular/material' as mat; 4 | 5 | @include mat.elevation-classes(); 6 | @include mat.app-background(); 7 | 8 | html, body { height: 100%; } 9 | body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } 10 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/src/app/components/recipes-list/recipes-list.component.html: -------------------------------------------------------------------------------- 1 | @if(recipes()) { 2 |
3 | @for (item of recipes(); track item.id) { 4 |
5 | 6 |
7 | } 8 |
9 | } 10 | -------------------------------------------------------------------------------- /Chapter02/rxjs-audio/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter02/rxjs-progress-bar/src/mocks/handlers.ts: -------------------------------------------------------------------------------- 1 | import { delay, http, HttpResponse } from 'msw'; 2 | 3 | export const handlers = [ 4 | http.post('https://super-recipes.com/api/recipes', async () => { 5 | await delay(5000); 6 | 7 | return HttpResponse.json({ 8 | message: 'Recipe created successfully!', 9 | }) 10 | }), 11 | ] 12 | -------------------------------------------------------------------------------- /Chapter02/rxjs-swipe/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter04/http-testing-msw/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } -------------------------------------------------------------------------------- /Chapter06/custom-state-management/src/app/shared/components/sidebar/sidebar.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-sidebar', 5 | imports: [], 6 | templateUrl: './sidebar.component.html', 7 | styleUrl: './sidebar.component.scss' 8 | }) 9 | export class SidebarComponent { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Chapter06/ngrx-state-management/src/app/shared/components/sidebar/sidebar.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-sidebar', 5 | imports: [], 6 | templateUrl: './sidebar.component.html', 7 | styleUrl: './sidebar.component.scss' 8 | }) 9 | export class SidebarComponent { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Chapter06/rxjs-query/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter07/rxjs-notifications/client/src/app/components/feedback/feedback.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-feedback', 5 | imports: [], 6 | templateUrl: './feedback.component.html', 7 | styleUrl: './feedback.component.scss' 8 | }) 9 | export class FeedbackComponent { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Chapter09/rxjs-charts/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter10/rxjs-kafka/reactive-kafka-broker/src/orders/orders.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | import { OrdersService } from './orders.service'; 3 | import { OrdersController } from './orders.controller'; 4 | 5 | @Module({ 6 | providers: [OrdersService], 7 | controllers: [OrdersController] 8 | }) 9 | export class OrdersModule {} 10 | -------------------------------------------------------------------------------- /Chapter01/network-errors/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter01/network-polling/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter01/network-requests/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter01/rxjs-dom-updates/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter01/rxjs-network-log/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter01/rxjs-websockets/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter02/rxjs-pro-img/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter03/bouncing-ball/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter03/rxjs-particles/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter04/http-testing/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter04/marble-testing/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter04/ngrx-testing/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-vitals/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /Chapter05/rxjs-web-workers/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | --------------------------------------------------------------------------------