> For the complete documentation index, see [llms.txt](https://appsecurity.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://appsecurity.gitbook.io/devops/ppc/ppc-langs/frontend/js-ts/typescript/namespaces.md).

# Namespaces

Используется для декомпозиции типов

Создаем namespace (файл `test.ts`)

```typescript
namespace TestNamespace {
    export type FormState = 'active' | 'inactive'  // По умолчанию все поля и объекты неэкспортируемые (ну будут видны в других объявлениях этого же namespace)
}
```

Подключаем  namespace  в другой скрипт

```typescript
/// <reference path="test.ts" />

namespace TestNamespace {
    const testVal: FormState = 'active'
}

// Обращаемся в конкретный Namespace
console.log(TestNamespace.testVal)
```
