@ryuzaki13/react-foundation-lib 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -114
- package/dist/chunks/{formatters-CBgrBeSA.js → formatters-D33Uh3si.js} +7 -8
- package/dist/chunks/{formatters-CBgrBeSA.js.map → formatters-D33Uh3si.js.map} +1 -1
- package/dist/chunks/odata-service-CWkHASdw.js +2211 -0
- package/dist/chunks/odata-service-CWkHASdw.js.map +1 -0
- package/dist/chunks/{validate-BW-7BZy_.js → validate-DyzojM0w.js} +2 -2
- package/dist/chunks/{validate-BW-7BZy_.js.map → validate-DyzojM0w.js.map} +1 -1
- package/dist/error-report/index.js +2 -2
- package/dist/excel/index.js +20 -21
- package/dist/excel/index.js.map +1 -1
- package/dist/formatters/index.js +4 -5
- package/dist/{odata → odata-service}/buildSeparatedArrays.d.ts +1 -1
- package/dist/odata-service/buildSeparatedArrays.d.ts.map +1 -0
- package/dist/{odata/types.d.ts → odata-service/collectionTypes.d.ts} +1 -1
- package/dist/odata-service/collectionTypes.d.ts.map +1 -0
- package/dist/{odata → odata-service}/dateUtils.d.ts +1 -1
- package/dist/odata-service/dateUtils.d.ts.map +1 -0
- package/dist/{odata → odata-service}/findCollectionPairs.d.ts +1 -1
- package/dist/odata-service/findCollectionPairs.d.ts.map +1 -0
- package/dist/odata-service/index.d.ts +5 -0
- package/dist/odata-service/index.d.ts.map +1 -1
- package/dist/odata-service/index.js +2 -2
- package/dist/{odata/store.d.ts → odata-service/odataCollectionStore.d.ts} +1 -1
- package/dist/odata-service/odataCollectionStore.d.ts.map +1 -0
- package/dist/query-client/index.js.map +1 -1
- package/dist/query-client/queryClient.d.ts +1 -3
- package/dist/query-client/queryClient.d.ts.map +1 -1
- package/package.json +1 -5
- package/src/array/README.mdx +1630 -0
- package/src/binary/README.mdx +1405 -0
- package/src/bounded-copy-stack/README.mdx +257 -0
- package/src/context-menu/README.mdx +326 -0
- package/src/copy/README.mdx +992 -0
- package/src/crypto/README.mdx +1052 -0
- package/src/currency/README.mdx +155 -0
- package/src/date-segments/README.mdx +319 -0
- package/src/dom/README.mdx +2179 -0
- package/src/error/README.mdx +95 -0
- package/src/error-report/README.mdx +612 -0
- package/src/excel/README.mdx +449 -0
- package/src/file/README.mdx +1957 -0
- package/src/fingerprint/README.mdx +100 -0
- package/src/form/README.mdx +101 -0
- package/src/formatters/README.mdx +469 -0
- package/src/formatters/boolean/README.mdx +494 -0
- package/src/formatters/date/README.mdx +732 -0
- package/src/formatters/number/README.mdx +542 -0
- package/src/formatters/pipeline/README.mdx +629 -0
- package/src/formatters/rowBased/README.mdx +486 -0
- package/src/formatters/strings/README.mdx +442 -0
- package/src/formatters/valueState/README.mdx +459 -0
- package/src/formulas/README.mdx +1283 -0
- package/src/foundationLib.mdx +70 -54
- package/src/hooks/README.mdx +988 -0
- package/src/http/README.mdx +126 -0
- package/src/media/README.mdx +1853 -0
- package/src/notifications/README.mdx +323 -0
- package/src/number-scale/README.mdx +318 -0
- package/src/odata-service/README.mdx +2916 -0
- package/src/presets/README.mdx +136 -0
- package/src/pwa/README.mdx +394 -0
- package/src/query-client/README.mdx +2500 -0
- package/src/range-output/README.mdx +161 -0
- package/src/seo/README.mdx +279 -0
- package/src/session-storage/README.mdx +125 -0
- package/src/string-comparison/README.mdx +96 -0
- package/src/table/README.mdx +3106 -0
- package/src/three-scene/README.mdx +248 -0
- package/src/types/README.mdx +172 -0
- package/src/utils/README.mdx +1724 -0
- package/src/validators/README.mdx +239 -0
- package/src/virtualizer/README.mdx +138 -0
- package/src/xml/README.mdx +149 -0
- package/dist/chunks/dateUtils-B5V5aXB-.js +0 -847
- package/dist/chunks/dateUtils-B5V5aXB-.js.map +0 -1
- package/dist/chunks/odata-service-B6TxBSLm.js +0 -1277
- package/dist/chunks/odata-service-B6TxBSLm.js.map +0 -1
- package/dist/odata/buildSeparatedArrays.d.ts.map +0 -1
- package/dist/odata/dateUtils.d.ts.map +0 -1
- package/dist/odata/findCollectionPairs.d.ts.map +0 -1
- package/dist/odata/index.d.ts +0 -6
- package/dist/odata/index.d.ts.map +0 -1
- package/dist/odata/index.js +0 -102
- package/dist/odata/index.js.map +0 -1
- package/dist/odata/store.d.ts.map +0 -1
- package/dist/odata/types.d.ts.map +0 -1
- package/src/binary/README.md +0 -110
- package/src/docs/browserAndReact.mdx +0 -150
- package/src/docs/filesAndExcel.mdx +0 -163
- package/src/docs/formatters-runtime.mdx +0 -455
- package/src/docs/formatters.mdx +0 -380
- package/src/docs/odataAndTables.mdx +0 -178
- package/src/docs/pureUtilities.mdx +0 -96
- package/src/docs/runtimeAndState.mdx +0 -155
- package/src/file/README.md +0 -289
- package/src/formatters/date/README.md +0 -520
- package/src/formatters/number/README.md +0 -123
- package/src/formatters/valueState/README.md +0 -275
- package/src/formulas/README.md +0 -42
- package/src/pwa/README.md +0 -638
- package/src/query-client/README.md +0 -565
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Meta } from "@storybook/addon-docs/blocks";
|
|
2
|
+
|
|
3
|
+
<Meta title="Foundation Lib/Errors/Missing Context" />
|
|
4
|
+
|
|
5
|
+
# Ошибка отсутствующего React context через `@ryuzaki13/react-foundation-lib/error`
|
|
6
|
+
|
|
7
|
+
Модуль создаёт единообразное диагностическое сообщение, когда custom hook вызван вне нужного Provider.
|
|
8
|
+
|
|
9
|
+
## Установка и импорт
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { createMissingContextError, createMissingContextErrorMessage } from "@ryuzaki13/react-foundation-lib/error";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Модуль не импортирует React и может использоваться в любом TypeScript runtime. Типы объектов options выводятся из аргумента и отдельно не экспортируются.
|
|
16
|
+
|
|
17
|
+
## Когда использовать
|
|
18
|
+
|
|
19
|
+
Обычная схема context hook:
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
const DemoContext = createContext<DemoValue | null>(null);
|
|
23
|
+
|
|
24
|
+
export function useDemo() {
|
|
25
|
+
const value = useContext(DemoContext);
|
|
26
|
+
|
|
27
|
+
if (value === null) {
|
|
28
|
+
throw createMissingContextError({
|
|
29
|
+
hookName: "useDemo",
|
|
30
|
+
providerName: "DemoProvider",
|
|
31
|
+
contextName: "DemoContext"
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Ошибка должна выбрасываться при нарушении обязательного structural contract. Если отсутствие Provider является допустимым состоянием, возвращайте optional result по собственному явно названному API.
|
|
40
|
+
|
|
41
|
+
## `createMissingContextErrorMessage`
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
const message = createMissingContextErrorMessage({
|
|
45
|
+
hookName: "useDemo",
|
|
46
|
+
providerName: "DemoProvider",
|
|
47
|
+
contextName: "DemoContext"
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Результат состоит из трёх предложений:
|
|
52
|
+
|
|
53
|
+
1. Где разрешено использовать hook.
|
|
54
|
+
2. Какой context оказался `null`.
|
|
55
|
+
3. Что Provider должен находиться выше вызывающего компонента.
|
|
56
|
+
|
|
57
|
+
`contextName` optional. Без него сообщение остаётся корректным, но менее конкретным.
|
|
58
|
+
|
|
59
|
+
Поля вставляются буквально: функция не добавляет backticks, не проверяет имена и не локализует их.
|
|
60
|
+
|
|
61
|
+
## `createMissingContextError`
|
|
62
|
+
|
|
63
|
+
Возвращает обычный `Error` с тем же сообщением:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
const error = createMissingContextError({
|
|
67
|
+
hookName: "useDemo",
|
|
68
|
+
providerName: "DemoProvider"
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
console.log(error.name); // "Error".
|
|
72
|
+
console.log(error.message); // Подробное русское сообщение.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Функция сама не делает `throw`:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
throw createMissingContextError(options);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Stack trace создаётся стандартным конструктором `Error` в месте вызова.
|
|
82
|
+
|
|
83
|
+
## Полный API
|
|
84
|
+
|
|
85
|
+
| Export | Назначение |
|
|
86
|
+
| ---------------------------------- | ---------------------------- |
|
|
87
|
+
| `createMissingContextErrorMessage` | Возвращает только строку |
|
|
88
|
+
| `createMissingContextError` | Возвращает экземпляр `Error` |
|
|
89
|
+
|
|
90
|
+
## Типичные ошибки
|
|
91
|
+
|
|
92
|
+
- Возвращать fallback-object после ошибки и скрывать неправильное дерево Provider.
|
|
93
|
+
- Выбрасывать ошибку прямо в Provider вместо hook, который обнаружил `null`.
|
|
94
|
+
- Передавать пустые имена: helper не валидирует строки.
|
|
95
|
+
- Использовать этот модуль для сетевых/validation ошибок: он предназначен только для missing context contract.
|