setti 0.0.0-stage → 0.1.0-alpha.0

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.
@@ -0,0 +1,180 @@
1
+ export { J as JsonRpcErrorPayload, N as NixoError, a as NixoErrorBoundary, b as NixoErrorBoundaryProps, c as NixoLoading, d as NixoNotFound, e as NixoRpcError, S as NixoService, R as Remote, f as computePath, g as defineGlobalLoader, h as defineNixoConfig, i as defineRoute } from '../not-found-fz-2RDV6.js';
2
+ import { S as SliceRegistry, N as NixoClientRouter, A as AbstractSlice } from '../prefetch-Bp9dMSTK.js';
3
+ export { a as AuthRequirement, C as CrudOp, F as FactoryDef, b as FactoryImplementation, c as FactoryMap, H as HttpMethod, I as IBinding, M as Manifest, d as ManifestEntry, e as MiddlewareDef, f as ModuleKind, g as NixoConfig, h as NixoRoute, i as NixoRouter, P as PrefetchContext, j as PrefetchRegistry, k as PrefetchResult, l as PrefetchSliceInfo, R as ResolvedNixoConfig, m as ResolvedRpcOptions, n as RouteTree, o as RpcContext, p as RpcExecutor, q as RpcMethodDefinition, r as RpcObjectDefinition, s as RpcOptions, t as RpcParamsSchema, u as ScanResult, v as ServerPluginDef, w as ServerPluginsOptions, x as ServerRoute, y as ServiceOptions, z as Slice, B as SliceListener, D as SliceUpdater, E as StandardSchemaV1, G as runGlobalPrefetch, J as runPagePrefetch, K as runPrefetch } from '../prefetch-Bp9dMSTK.js';
4
+ import { PropsWithChildren, ReactNode, ComponentType } from 'react';
5
+ export { parse as devalueParse, stringify as devalueStringify } from 'devalue';
6
+ import 'fastify';
7
+
8
+ /** Значение контекста nixo (клиент). */
9
+ interface NixoContextValue {
10
+ /** Реестр слайсов. */
11
+ sliceRegistry: SliceRegistry;
12
+ /** Текущий роутер (controlled из client-entry). */
13
+ router: NixoClientRouter;
14
+ }
15
+ /** Пропсы провайдера. */
16
+ type NixoProviderProps = PropsWithChildren<{
17
+ /** Реестр слайсов. */
18
+ sliceRegistry: SliceRegistry;
19
+ /** Текущий роутер (controlled — обновляется через повторный render). */
20
+ router: NixoClientRouter;
21
+ }>;
22
+ /**
23
+ * Провайдер фреймворка: прокидывает реестр слайсов и router в дерево React.
24
+ *
25
+ * `router` — **controlled prop**. Не хранит собственный state. При навигации
26
+ * client-entry делает `rootRef.render(<NixoProvider router={newRouter} ...>)`,
27
+ * и `usePathname`/`useParams`/`useQuery` сразу видят новое значение.
28
+ *
29
+ * @param props пропсы.
30
+ * @returns элемент провайдера.
31
+ */
32
+ declare function NixoProvider(props: NixoProviderProps): ReactNode;
33
+ /**
34
+ * Достаёт контекст nixo.
35
+ *
36
+ * @returns значение контекста.
37
+ * @throws {NixoError} если провайдера нет.
38
+ */
39
+ declare function useResourceContext(): NixoContextValue;
40
+
41
+ /**
42
+ * Подписка на state слайса.
43
+ *
44
+ * Возвращает `undefined`, если слайса нет. Не бросает.
45
+ *
46
+ * @param key имя слайса.
47
+ * @returns слайс или undefined.
48
+ */
49
+ declare function useSlice<S extends AbstractSlice<unknown>>(key: string): S | undefined;
50
+
51
+ /**
52
+ * Строгий вариант `useSlice`: бросает, если слайса нет.
53
+ *
54
+ * @param key имя слайса.
55
+ * @returns слайс.
56
+ * @throws NixoError если слайса нет в реестре.
57
+ */
58
+ declare function useStrictSlice<S extends AbstractSlice<unknown>>(key: string): S;
59
+
60
+ /**
61
+ * Подписка только на присутствие слайса (без подписки на state).
62
+ *
63
+ * @param key имя слайса.
64
+ * @returns слайс или undefined.
65
+ */
66
+ declare function useSliceRef<S extends AbstractSlice<unknown>>(key: string): S | undefined;
67
+
68
+ /** Опции внутреннего хука. */
69
+ interface UseSliceInternalOptions {
70
+ /** Подписка на state (true) или только на присутствие слайса (false). */
71
+ observeState?: boolean;
72
+ /** Кидать, если slice не найден. */
73
+ strict?: boolean;
74
+ }
75
+ /**
76
+ * Внутренняя реализация `useSlice`.
77
+ *
78
+ * `S` — конкретный тип слайса; реестр хранит `AbstractSlice<unknown>`,
79
+ * каст в точке возврата — ответственность вызывающего.
80
+ *
81
+ * @param key имя слайса.
82
+ * @param options опции (observeState, strict).
83
+ * @returns слайс или undefined (в strict-режиме — только слайс).
84
+ */
85
+ declare function useSliceInternal<S extends AbstractSlice<unknown>>(key: string, options?: UseSliceInternalOptions): S | undefined;
86
+
87
+ /** Результат `useRouter`. */
88
+ interface NixoRouterApi {
89
+ /** Перейти на путь, добавить в history. */
90
+ push: (path: string) => Promise<void>;
91
+ /** Заменить текущий путь без записи в history. */
92
+ replace: (path: string) => Promise<void>;
93
+ /** Назад. */
94
+ back: () => void;
95
+ /** Прогреть данные для маршрута (без навигации). */
96
+ prefetch: (path: string) => Promise<void>;
97
+ }
98
+ /**
99
+ * Императивные операции роутера.
100
+ *
101
+ * Реализация — в виртуальном client-entry (`window.__nixoNavigate`).
102
+ *
103
+ * @returns API роутера.
104
+ */
105
+ declare function useRouter(): NixoRouterApi;
106
+
107
+ /**
108
+ * Динамические сегменты текущего маршрута (Phase 2.5, пока `{}`).
109
+ *
110
+ * @returns объект `params`.
111
+ */
112
+ declare function useParams(): Record<string, string>;
113
+
114
+ /**
115
+ * Query-параметры текущего URL.
116
+ *
117
+ * @returns объект `query`.
118
+ */
119
+ declare function useQuery(): Record<string, string>;
120
+
121
+ /**
122
+ * Текущий путь.
123
+ *
124
+ * @returns pathname.
125
+ */
126
+ declare function usePathname(): string;
127
+
128
+ /** Пропсы `<Link>`. */
129
+ interface LinkProps {
130
+ /** Целевой путь. */
131
+ href: string;
132
+ /** Дочерние элементы. */
133
+ children?: ReactNode;
134
+ /** Прогревать данные на hover. */
135
+ prefetch?: boolean;
136
+ /** CSS-класс. */
137
+ className?: string;
138
+ }
139
+ /**
140
+ * Клиентская ссылка. Перехватывает клик, использует SPA-навигацию.
141
+ *
142
+ * @param props пропсы.
143
+ * @returns `<a>` с перехватом клика.
144
+ */
145
+ declare function Link(props: LinkProps): ReactNode;
146
+
147
+ /**
148
+ * Slot для дочернего контента во вложенных layouts.
149
+ *
150
+ * Альтернатива `props.children`: layout может рендерить `<Outlet/>`
151
+ * вместо `{children}`. Оба варианта работают одновременно.
152
+ *
153
+ * @returns дочерний элемент или `null`.
154
+ */
155
+ declare function Outlet(): ReactNode;
156
+ /**
157
+ * Провайдер для `<Outlet/>`. Используется внутренне `renderLayoutChain`.
158
+ *
159
+ * @param props пропсы.
160
+ * @param props.content дочерний ReactNode (то, что увидит `<Outlet/>`).
161
+ * @param props.children сам layout (передаётся как React children).
162
+ * @returns элемент-обёртка.
163
+ */
164
+ declare function OutletProvider(props: {
165
+ content: ReactNode;
166
+ children?: ReactNode;
167
+ }): ReactNode;
168
+ /**
169
+ * Оборачивает страницу цепочкой layouts.
170
+ *
171
+ * `layouts` — от root к leaf. Каждый получает и `children` (следующий
172
+ * уровень), и контекст для `<Outlet/>`.
173
+ *
174
+ * @param page страница (или компонент `<Template/>`).
175
+ * @param layouts цепочка layouts (root → leaf).
176
+ * @returns вложенный ReactNode.
177
+ */
178
+ declare function renderLayoutChain(page: ReactNode, layouts: ComponentType[]): ReactNode;
179
+
180
+ export { AbstractSlice, Link, type LinkProps, NixoClientRouter, type NixoContextValue, NixoProvider, type NixoProviderProps, type NixoRouterApi, Outlet, OutletProvider, SliceRegistry, type UseSliceInternalOptions, renderLayoutChain, useParams, usePathname, useQuery, useResourceContext, useRouter, useSlice, useSliceInternal, useSliceRef, useStrictSlice };