diff --git a/apps/angular/mfe/movie-ticket/package.json b/apps/angular/mfe/movie-ticket/package.json index 28f2c6c..6fbcef8 100644 --- a/apps/angular/mfe/movie-ticket/package.json +++ b/apps/angular/mfe/movie-ticket/package.json @@ -35,7 +35,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } diff --git a/apps/angular/mfe/movies/package.json b/apps/angular/mfe/movies/package.json index a8f6598..ede3b6d 100644 --- a/apps/angular/mfe/movies/package.json +++ b/apps/angular/mfe/movies/package.json @@ -35,7 +35,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } diff --git a/apps/angular/mfe/ticket-availability/package.json b/apps/angular/mfe/ticket-availability/package.json index bde5de0..e00d421 100644 --- a/apps/angular/mfe/ticket-availability/package.json +++ b/apps/angular/mfe/ticket-availability/package.json @@ -36,7 +36,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } diff --git a/package-lock.json b/package-lock.json index 205828c..cab5197 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "markdown-it": "14.3.1", "markdown-it-anchor": "9.2.1", "pagefind": "1.5.2", - "prettier": "3.8.4", + "prettier": "3.9.6", "prettier-plugin-astro": "0.14.1", "react": "19.2.8", "react-dom": "19.2.8", @@ -60,7 +60,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } @@ -2067,7 +2067,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } @@ -4074,7 +4074,7 @@ "@types/express": "5.0.6", "@types/node": "20.19.43", "jsdom": "28.1.0", - "prettier": "3.8.4", + "prettier": "3.9.6", "typescript": "6.0.3", "vitest": "4.1.11" } @@ -19134,9 +19134,9 @@ } }, "node_modules/prettier": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz", - "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.6.tgz", + "integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 68f581a..dc6ac37 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "markdown-it": "14.3.1", "markdown-it-anchor": "9.2.1", "pagefind": "1.5.2", - "prettier": "3.8.4", + "prettier": "3.9.6", "prettier-plugin-astro": "0.14.1", "react": "19.2.8", "react-dom": "19.2.8", diff --git a/src/pages/angular/index.md b/src/pages/angular/index.md index ca95fa8..3787752 100644 --- a/src/pages/angular/index.md +++ b/src/pages/angular/index.md @@ -5241,10 +5241,7 @@ OpenAPI может генерировать DTO/client, но generated layer о ```ts type RemoteData = - | {status: 'idle'} - | {status: 'loading'} - | {status: 'success'; data: T} - | {status: 'error'; error: string}; + {status: 'idle'} | {status: 'loading'} | {status: 'success'; data: T} | {status: 'error'; error: string}; ``` Для signal-first чтения подходят `resource()`/`httpResource()`. Для RxJS — stream состояния через `switchMap`, `map`, diff --git a/src/pages/typescript/index.md b/src/pages/typescript/index.md index ee64b08..a627f52 100644 --- a/src/pages/typescript/index.md +++ b/src/pages/typescript/index.md @@ -2065,10 +2065,7 @@ Union type означает, что значение может принадле ```ts type RequestState = - | {status: 'idle'} - | {status: 'loading'} - | {status: 'success'; data: T} - | {status: 'error'; error: string}; + {status: 'idle'} | {status: 'loading'} | {status: 'success'; data: T} | {status: 'error'; error: string}; ``` Перед использованием специфичных свойств union нужно сузить тип через `typeof`, `instanceof`, оператор `in`, проверку @@ -2451,10 +2448,7 @@ Intersection `A & B` требует одновременно выполнить ```ts type LoadState = - | {status: 'idle'} - | {status: 'loading'} - | {status: 'success'; data: T} - | {status: 'error'; error: string}; + {status: 'idle'} | {status: 'loading'} | {status: 'success'; data: T} | {status: 'error'; error: string}; ``` API DTO отделяют от доменной модели и преобразуют на data-access границе. Inputs типизируют максимально узко: