@primafuture/contrib-kit-react 1.0.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.
Files changed (128) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +294 -0
  3. package/dist/contribution-component.d.ts +82 -0
  4. package/dist/contribution-component.d.ts.map +1 -0
  5. package/dist/contribution-component.js +12 -0
  6. package/dist/contribution-component.js.map +1 -0
  7. package/dist/extension-outlet.d.ts +155 -0
  8. package/dist/extension-outlet.d.ts.map +1 -0
  9. package/dist/extension-outlet.js +229 -0
  10. package/dist/extension-outlet.js.map +1 -0
  11. package/dist/extension-registry-provider.d.ts +26 -0
  12. package/dist/extension-registry-provider.d.ts.map +1 -0
  13. package/dist/extension-registry-provider.js +82 -0
  14. package/dist/extension-registry-provider.js.map +1 -0
  15. package/dist/index.d.ts +22 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +14 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/internal/adapter-configuration.d.ts +54 -0
  20. package/dist/internal/adapter-configuration.d.ts.map +1 -0
  21. package/dist/internal/adapter-configuration.js +89 -0
  22. package/dist/internal/adapter-configuration.js.map +1 -0
  23. package/dist/internal/adapter-context.d.ts +24 -0
  24. package/dist/internal/adapter-context.d.ts.map +1 -0
  25. package/dist/internal/adapter-context.js +23 -0
  26. package/dist/internal/adapter-context.js.map +1 -0
  27. package/dist/internal/adapter-registry-bridge.d.ts +58 -0
  28. package/dist/internal/adapter-registry-bridge.d.ts.map +1 -0
  29. package/dist/internal/adapter-registry-bridge.js +494 -0
  30. package/dist/internal/adapter-registry-bridge.js.map +1 -0
  31. package/dist/internal/adapter-registry-protocol.d.ts +53 -0
  32. package/dist/internal/adapter-registry-protocol.d.ts.map +1 -0
  33. package/dist/internal/adapter-registry-protocol.js +182 -0
  34. package/dist/internal/adapter-registry-protocol.js.map +1 -0
  35. package/dist/internal/adapter-scope.d.ts +87 -0
  36. package/dist/internal/adapter-scope.d.ts.map +1 -0
  37. package/dist/internal/adapter-scope.js +346 -0
  38. package/dist/internal/adapter-scope.js.map +1 -0
  39. package/dist/internal/implementation-classifier.d.ts +21 -0
  40. package/dist/internal/implementation-classifier.d.ts.map +1 -0
  41. package/dist/internal/implementation-classifier.js +39 -0
  42. package/dist/internal/implementation-classifier.js.map +1 -0
  43. package/dist/internal/managed-lazy-generation.d.ts +100 -0
  44. package/dist/internal/managed-lazy-generation.d.ts.map +1 -0
  45. package/dist/internal/managed-lazy-generation.js +419 -0
  46. package/dist/internal/managed-lazy-generation.js.map +1 -0
  47. package/dist/internal/outlet-commit-lease.d.ts +46 -0
  48. package/dist/internal/outlet-commit-lease.d.ts.map +1 -0
  49. package/dist/internal/outlet-commit-lease.js +137 -0
  50. package/dist/internal/outlet-commit-lease.js.map +1 -0
  51. package/dist/internal/outlet-error-pipeline.d.ts +122 -0
  52. package/dist/internal/outlet-error-pipeline.d.ts.map +1 -0
  53. package/dist/internal/outlet-error-pipeline.js +214 -0
  54. package/dist/internal/outlet-error-pipeline.js.map +1 -0
  55. package/dist/internal/outlet-input.d.ts +42 -0
  56. package/dist/internal/outlet-input.d.ts.map +1 -0
  57. package/dist/internal/outlet-input.js +86 -0
  58. package/dist/internal/outlet-input.js.map +1 -0
  59. package/dist/internal/outlet-membership-boundary.d.ts +93 -0
  60. package/dist/internal/outlet-membership-boundary.d.ts.map +1 -0
  61. package/dist/internal/outlet-membership-boundary.js +710 -0
  62. package/dist/internal/outlet-membership-boundary.js.map +1 -0
  63. package/dist/internal/outlet-membership.d.ts +31 -0
  64. package/dist/internal/outlet-membership.d.ts.map +1 -0
  65. package/dist/internal/outlet-membership.js +65 -0
  66. package/dist/internal/outlet-membership.js.map +1 -0
  67. package/dist/internal/outlet-projection.d.ts +102 -0
  68. package/dist/internal/outlet-projection.d.ts.map +1 -0
  69. package/dist/internal/outlet-projection.js +228 -0
  70. package/dist/internal/outlet-projection.js.map +1 -0
  71. package/dist/internal/outlet-reporter-boundary.d.ts +42 -0
  72. package/dist/internal/outlet-reporter-boundary.d.ts.map +1 -0
  73. package/dist/internal/outlet-reporter-boundary.js +57 -0
  74. package/dist/internal/outlet-reporter-boundary.js.map +1 -0
  75. package/dist/internal/public-input-capture.d.ts +13 -0
  76. package/dist/internal/public-input-capture.d.ts.map +1 -0
  77. package/dist/internal/public-input-capture.js +34 -0
  78. package/dist/internal/public-input-capture.js.map +1 -0
  79. package/dist/internal/resolved-contributions-query.d.ts +42 -0
  80. package/dist/internal/resolved-contributions-query.d.ts.map +1 -0
  81. package/dist/internal/resolved-contributions-query.js +203 -0
  82. package/dist/internal/resolved-contributions-query.js.map +1 -0
  83. package/dist/react-adapter-diagnostics.d.ts +199 -0
  84. package/dist/react-adapter-diagnostics.d.ts.map +1 -0
  85. package/dist/react-adapter-diagnostics.js +257 -0
  86. package/dist/react-adapter-diagnostics.js.map +1 -0
  87. package/dist/react-adapter-error.d.ts +35 -0
  88. package/dist/react-adapter-error.d.ts.map +1 -0
  89. package/dist/react-adapter-error.js +37 -0
  90. package/dist/react-adapter-error.js.map +1 -0
  91. package/dist/react-extension-point.d.ts +26 -0
  92. package/dist/react-extension-point.d.ts.map +1 -0
  93. package/dist/react-extension-point.js +100 -0
  94. package/dist/react-extension-point.js.map +1 -0
  95. package/dist/react-lazy-contribution.d.ts +40 -0
  96. package/dist/react-lazy-contribution.d.ts.map +1 -0
  97. package/dist/react-lazy-contribution.js +18 -0
  98. package/dist/react-lazy-contribution.js.map +1 -0
  99. package/dist/resolved-contributions.d.ts +90 -0
  100. package/dist/resolved-contributions.d.ts.map +1 -0
  101. package/dist/resolved-contributions.js +455 -0
  102. package/dist/resolved-contributions.js.map +1 -0
  103. package/package.json +47 -0
  104. package/src/contribution-component.ts +118 -0
  105. package/src/extension-outlet.ts +590 -0
  106. package/src/extension-registry-provider.ts +179 -0
  107. package/src/index.ts +72 -0
  108. package/src/internal/adapter-configuration.ts +181 -0
  109. package/src/internal/adapter-context.ts +43 -0
  110. package/src/internal/adapter-registry-bridge.ts +723 -0
  111. package/src/internal/adapter-registry-protocol.ts +365 -0
  112. package/src/internal/adapter-scope.ts +500 -0
  113. package/src/internal/implementation-classifier.ts +59 -0
  114. package/src/internal/managed-lazy-generation.ts +540 -0
  115. package/src/internal/outlet-commit-lease.ts +216 -0
  116. package/src/internal/outlet-error-pipeline.ts +447 -0
  117. package/src/internal/outlet-input.ts +264 -0
  118. package/src/internal/outlet-membership-boundary.ts +1048 -0
  119. package/src/internal/outlet-membership.ts +125 -0
  120. package/src/internal/outlet-projection.ts +511 -0
  121. package/src/internal/outlet-reporter-boundary.ts +105 -0
  122. package/src/internal/public-input-capture.ts +55 -0
  123. package/src/internal/resolved-contributions-query.ts +318 -0
  124. package/src/react-adapter-diagnostics.ts +457 -0
  125. package/src/react-adapter-error.ts +88 -0
  126. package/src/react-extension-point.ts +181 -0
  127. package/src/react-lazy-contribution.ts +66 -0
  128. package/src/resolved-contributions.ts +895 -0
@@ -0,0 +1,229 @@
1
+ import * as react from "react";
2
+ import * as outletErrorPipeline from "./internal/outlet-error-pipeline.js";
3
+ import * as outletInput from "./internal/outlet-input.js";
4
+ import * as outletMembership from "./internal/outlet-membership.js";
5
+ import * as outletMembershipBoundary from "./internal/outlet-membership-boundary.js";
6
+ import * as outletProjection from "./internal/outlet-projection.js";
7
+ import * as reactAdapterDiagnostics from "./react-adapter-diagnostics.js";
8
+ import * as resolvedContributions from "./resolved-contributions.js";
9
+ /** Vytvoří čistý outlet reporter state pro novou render generation. */
10
+ function createGlobalReporterState(generationToken) {
11
+ return {
12
+ cause: undefined,
13
+ escalationCause: undefined,
14
+ hasFailure: false,
15
+ hasEscalation: false,
16
+ generationToken,
17
+ };
18
+ }
19
+ /** Volá host renderer s undefined receiverem uvnitř jeho reporter boundary. */
20
+ function OutletGlobalRenderer(props) {
21
+ const rendered = outletInput.callCapturedOutletCallback(props.render, props.state);
22
+ return react.createElement(react.Fragment, null, rendered);
23
+ }
24
+ /**
25
+ * Outlet-level class boundary reportující custom renderer chybu bez contribution policy.
26
+ */
27
+ class OutletGlobalReporterBoundary extends react.Component {
28
+ /** State začíná bez failure v exact projection generation. */
29
+ state = createGlobalReporterState(this.props.generationToken);
30
+ /** Zachytí host renderer cause bez sink side effectu. */
31
+ static getDerivedStateFromError(cause) {
32
+ return { cause, hasFailure: true, hasEscalation: false };
33
+ }
34
+ /** Resetuje reporter dříve, než renderuje novou projection generation. */
35
+ static getDerivedStateFromProps(props, state) {
36
+ return props.generationToken === state.generationToken
37
+ ? null
38
+ : createGlobalReporterState(props.generationToken);
39
+ }
40
+ /** Reportuje committed failure právě jednou a připraví exact escalation. */
41
+ componentDidCatch(cause, info) {
42
+ if (!this.state.hasFailure || !this.props.isCurrent()) {
43
+ return;
44
+ }
45
+ const point = reactAdapterDiagnostics.createPointMetadata(this.props.point);
46
+ const reactComponentStack = outletErrorPipeline.normalizeReactComponentStack(info.componentStack);
47
+ const outletId = this.props.outletLease?.isCurrent() === true
48
+ ? this.props.outletLease.id
49
+ : undefined;
50
+ const event = reactAdapterDiagnostics.createReactAdapterErrorEvent({
51
+ code: "REACT_RENDER_FAILED",
52
+ cause,
53
+ phase: "customRender",
54
+ ...(outletId === undefined ? {} : { outletId }),
55
+ ...(point === undefined ? {} : { point }),
56
+ ...(reactComponentStack === undefined ? {} : { reactComponentStack }),
57
+ });
58
+ reactAdapterDiagnostics.reportReactAdapterDiagnostic(reactAdapterDiagnostics.createErrorDiagnostic(event), this.props.configuration);
59
+ if (this.props.isCurrent()) {
60
+ this.setState({ escalationCause: cause, hasEscalation: true });
61
+ }
62
+ }
63
+ /** Failed commit nejprve zobrazí null, další render vyhodí exact cause hostu. */
64
+ render() {
65
+ if (this.state.hasEscalation) {
66
+ throw this.state.escalationCause;
67
+ }
68
+ return this.state.hasFailure ? null : this.props.children;
69
+ }
70
+ }
71
+ /** Reportuje secondary callback failure bez změny primary resolve outcome. */
72
+ function reportResolveCallbackFailure(attempt, cause) {
73
+ if (!attempt.binding.isCurrent()) {
74
+ return;
75
+ }
76
+ const point = reactAdapterDiagnostics.createPointMetadata(attempt.input.point);
77
+ const event = reactAdapterDiagnostics.createReactAdapterErrorEvent({
78
+ code: "REACT_CALLBACK_FAILED",
79
+ cause,
80
+ phase: "callback",
81
+ ...(point === undefined ? {} : { point }),
82
+ });
83
+ reactAdapterDiagnostics.reportReactAdapterDiagnostic(reactAdapterDiagnostics.createErrorDiagnostic(event), attempt.input.configuration);
84
+ }
85
+ /** Pohltí sync, Promise i hostile thenable výsledek resolve callbacku. */
86
+ function consumeResolveCallbackResult(result, attempt) {
87
+ let reported = false;
88
+ /** Přeloží nejvýše jednu current rejection na secondary diagnostiku. */
89
+ function reportFailure(cause) {
90
+ if (reported) {
91
+ return;
92
+ }
93
+ reported = true;
94
+ reportResolveCallbackFailure(attempt, cause);
95
+ }
96
+ try {
97
+ void Promise.resolve(result).catch(reportFailure);
98
+ }
99
+ catch (cause) {
100
+ reportFailure(cause);
101
+ }
102
+ }
103
+ /** Renderuje outlet-level empty nebo resolve-error callback pod reporter boundary. */
104
+ function renderGlobalProjection(binding, render, state, generationToken) {
105
+ if (render === undefined) {
106
+ return null;
107
+ }
108
+ const children = react.createElement(OutletGlobalRenderer, { render, state });
109
+ const outletLease = binding.outletLease;
110
+ /** Ověří query i případnou committed outlet lease bez jejího vytvoření. */
111
+ function isCurrent() {
112
+ return binding.isCurrent()
113
+ && (outletLease === undefined || outletLease.isCurrent());
114
+ }
115
+ return react.createElement(OutletGlobalReporterBoundary, {
116
+ children,
117
+ configuration: binding.input.configuration,
118
+ generationToken,
119
+ isCurrent,
120
+ outletLease,
121
+ point: binding.input.point,
122
+ });
123
+ }
124
+ /**
125
+ * Class host publikuje jeden celý membership proposal místo render-time ref mutací.
126
+ */
127
+ class OutletCommittedHost extends react.Component {
128
+ /** První snapshot vzniká čistě z initial props bez commit-owned resource. */
129
+ state = {
130
+ snapshot: outletMembership.reconcileOutletMemberships(undefined, this.props.binding.rawRegistry, this.props.projection),
131
+ retainedLease: undefined,
132
+ };
133
+ /** Odvodí celý nový immutable proposal před jediným React state publish. */
134
+ static getDerivedStateFromProps(props, state) {
135
+ const outletLease = props.binding.outletLease;
136
+ return {
137
+ snapshot: outletMembership.reconcileOutletMemberships(state.snapshot, props.binding.rawRegistry, props.projection),
138
+ retainedLease: outletLease?.isCurrent() === true
139
+ ? Object.freeze({
140
+ lease: outletLease,
141
+ rawRegistry: props.binding.rawRegistry,
142
+ })
143
+ : state.retainedLease,
144
+ };
145
+ }
146
+ /** Renderuje placement-free global stav nebo ordered membership Fragment. */
147
+ render() {
148
+ const binding = this.props.binding;
149
+ const snapshot = this.state.snapshot;
150
+ if (snapshot.projection.kind === "resolveFailed") {
151
+ return renderGlobalProjection(binding, binding.input.renderResolveError, snapshot.projection.renderState, snapshot.projection);
152
+ }
153
+ const outletLease = binding.outletLease;
154
+ const retainsActivitySubtree = snapshot.rawRegistry === binding.rawRegistry
155
+ && this.state.retainedLease?.rawRegistry === binding.rawRegistry
156
+ && this.state.retainedLease.lease === outletLease;
157
+ // Inaktivní lease při Activity reveal smí držet pouze subtree stejné registry.
158
+ // Registry switch zůstává null bariérou a resetuje membership state; callback
159
+ // a resource autoritu v retained větvi nadále střeží current-lease gate boundary.
160
+ if ((outletLease === undefined && !binding.serverSnapshot)
161
+ || (outletLease !== undefined
162
+ && !outletLease.isCurrent()
163
+ && !retainsActivitySubtree)) {
164
+ return null;
165
+ }
166
+ if (snapshot.projection.kind === "empty") {
167
+ return renderGlobalProjection(binding, binding.input.renderEmpty, snapshot.projection.renderState, snapshot.projection);
168
+ }
169
+ const generation = binding.generation;
170
+ if (generation === undefined) {
171
+ return null;
172
+ }
173
+ return react.createElement(react.Fragment, null, ...snapshot.memberships.map(
174
+ /** Vytvoří samostatnou keyed package boundary v exact Core pořadí. */
175
+ function renderMembership(membership) {
176
+ return react.createElement(outletMembershipBoundary.OutletMembershipBoundary, {
177
+ key: membership.seed.registrationId,
178
+ input: binding.input,
179
+ membership,
180
+ outletLease,
181
+ rawRegistry: binding.rawRegistry,
182
+ scope: binding.scope,
183
+ scopeGeneration: generation,
184
+ });
185
+ }));
186
+ }
187
+ }
188
+ /**
189
+ * Renderuje exact Core resolved kolekci jako headless React Fragment.
190
+ *
191
+ * @public
192
+ */
193
+ export function ExtensionOutlet(props) {
194
+ const [reportedResolveAttempts] = react.useState(
195
+ /** Vytvoří outlet-local Strict dedup ledger bez global historie. */
196
+ function createResolveAttemptLedger() {
197
+ return new WeakSet();
198
+ });
199
+ /** Doručí resolve callback z engine effectu až po committed sink diagnostice. */
200
+ function reportCommittedResolveError(binding) {
201
+ const current = Object.freeze({
202
+ binding,
203
+ input: binding.input,
204
+ });
205
+ if (current.input.onError === undefined
206
+ || current.binding.attempt.state.status !== "failed"
207
+ || !current.binding.isCurrent()
208
+ || reportedResolveAttempts.has(current.binding.attempt.token)) {
209
+ return;
210
+ }
211
+ reportedResolveAttempts.add(current.binding.attempt.token);
212
+ const emission = Object.freeze({
213
+ kind: "resolve",
214
+ error: current.binding.attempt.state.error,
215
+ refresh: current.binding.result.refresh,
216
+ });
217
+ try {
218
+ const result = outletInput.callCapturedOutletCallback(current.input.onError, emission);
219
+ consumeResolveCallbackResult(result, current);
220
+ }
221
+ catch (cause) {
222
+ reportResolveCallbackFailure(current, cause);
223
+ }
224
+ }
225
+ const binding = resolvedContributions.useResolvedContributionsForOutlet(props, reportCommittedResolveError);
226
+ const projection = outletProjection.projectOutletSnapshot(binding.input.point, binding.input.context, binding.result, binding.checkpoint);
227
+ return react.createElement(OutletCommittedHost, { binding, projection });
228
+ }
229
+ //# sourceMappingURL=extension-outlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-outlet.js","sourceRoot":"","sources":["../src/extension-outlet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as contribKitCore from "@primafuture/contrib-kit-core";
2
+ import * as react from "react";
3
+ /**
4
+ * Props tree-local React adapter scope bez převzetí Core ownershipu.
5
+ *
6
+ * @public
7
+ */
8
+ export interface ExtensionRegistryProviderProps {
9
+ /** React subtree, kterému provider zpřístupní registry a konfiguraci. */
10
+ readonly children?: react.ReactNode;
11
+ /** Inherited contribution policy; null obnoví package default. */
12
+ readonly errorPolicy?: import("./react-adapter-diagnostics.js").ReactErrorPolicy | null | undefined;
13
+ /** Pure projekce host contextu použitelná pouze v diagnostice. */
14
+ readonly projectContext?: ((context: unknown) => unknown) | null | undefined;
15
+ /** Hostem vlastněná Core registry; provider ji nikdy nedisposuje. */
16
+ readonly registry: contribKitCore.ExtensionRegistry;
17
+ /** Inherited command-free sink; null obnoví console fallback. */
18
+ readonly sink?: import("./react-adapter-diagnostics.js").ReactAdapterSink | null | undefined;
19
+ }
20
+ /**
21
+ * Poskytne tree-local registry a adapter konfiguraci bez DOM wrapperu nebo Core dispose.
22
+ *
23
+ * @public
24
+ */
25
+ export declare function ExtensionRegistryProvider(props: ExtensionRegistryProviderProps): react.ReactElement;
26
+ //# sourceMappingURL=extension-registry-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-registry-provider.d.ts","sourceRoot":"","sources":["../src/extension-registry-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IACpG,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7E,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACpD,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7F;AA6FD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,8BAA8B,GACnC,KAAK,CAAC,YAAY,CAoDpB"}
@@ -0,0 +1,82 @@
1
+ import * as contribKitCore from "@primafuture/contrib-kit-core";
2
+ import * as react from "react";
3
+ import * as adapterConfiguration from "./internal/adapter-configuration.js";
4
+ import * as adapterContext from "./internal/adapter-context.js";
5
+ import * as adapterRegistryProtocol from "./internal/adapter-registry-protocol.js";
6
+ import * as adapterScope from "./internal/adapter-scope.js";
7
+ import * as publicInputCapture from "./internal/public-input-capture.js";
8
+ import * as reactAdapterError from "./react-adapter-error.js";
9
+ /**
10
+ * Vytvoří nový resource-free scope pouze jako lokální React state.
11
+ */
12
+ function createProviderScope() {
13
+ return new adapterScope.AdapterScopeRuntime();
14
+ }
15
+ /**
16
+ * Zachytí všechna známá provider pole v normativním pořadí bez partial Contextu.
17
+ */
18
+ function captureProviderRender(props, parent, scope, checkpoint) {
19
+ const source = publicInputCapture.requireInputObject(props, "props");
20
+ const registryValue = publicInputCapture.readInputProperty(source, "registry", "props.registry", checkpoint);
21
+ const sinkValue = publicInputCapture.readInputProperty(source, "sink", "props.sink", checkpoint);
22
+ const errorPolicyValue = publicInputCapture.readInputProperty(source, "errorPolicy", "props.errorPolicy", checkpoint);
23
+ const projectContextValue = publicInputCapture.readInputProperty(source, "projectContext", "props.projectContext", checkpoint);
24
+ const children = publicInputCapture.readInputProperty(source, "children", "props.children", checkpoint);
25
+ const protocol = adapterRegistryProtocol.captureAdapterRegistryProtocol(registryValue, checkpoint);
26
+ const patch = adapterConfiguration.captureAdapterConfigurationPatch(sinkValue, errorPolicyValue, projectContextValue, checkpoint);
27
+ const configuration = adapterConfiguration.resolveAdapterScopeConfiguration(parent?.generation.configuration, patch);
28
+ checkpoint();
29
+ const generation = adapterScope.createAdapterScopeGeneration(protocol, configuration);
30
+ return Object.freeze({
31
+ ok: true,
32
+ children,
33
+ contextValue: adapterContext.createAdapterContextValue(scope, generation),
34
+ });
35
+ }
36
+ /**
37
+ * Poskytne tree-local registry a adapter konfiguraci bez DOM wrapperu nebo Core dispose.
38
+ *
39
+ * @public
40
+ */
41
+ export function ExtensionRegistryProvider(props) {
42
+ const parent = adapterContext.useAdapterContext();
43
+ const [scope] = react.useState(createProviderScope);
44
+ const renderSerial = react.useRef(0);
45
+ renderSerial.current += 1;
46
+ const currentRenderSerial = renderSerial.current;
47
+ /** Ověří, že reentrantní host seam nezneplatnil právě probíhající capture. */
48
+ function checkpointProviderRender() {
49
+ if (renderSerial.current !== currentRenderSerial) {
50
+ throw new reactAdapterError.ReactAdapterError("REACT_ADAPTER_DISPOSED", "The provider render attempt is no longer current.", { details: { field: "provider.render", phase: "lifecycle" } });
51
+ }
52
+ }
53
+ let captured;
54
+ try {
55
+ captured = captureProviderRender(props, parent, scope, checkpointProviderRender);
56
+ }
57
+ catch (error) {
58
+ captured = Object.freeze({ ok: false, error });
59
+ }
60
+ const generation = captured.ok ? captured.contextValue.generation : undefined;
61
+ react.useEffect(
62
+ /** Committed provider lifecycle vlastní pouze adapter scope owner lease. */
63
+ function acquireProviderScope() {
64
+ if (generation === undefined || renderSerial.current !== currentRenderSerial) {
65
+ return undefined;
66
+ }
67
+ return scope.acquireOwner(generation);
68
+ }, [
69
+ scope,
70
+ generation?.defaultProtocol.rawRegistry,
71
+ generation?.defaultProtocol.registryId,
72
+ generation?.configuration.sink?.receiver,
73
+ generation?.configuration.sink?.report,
74
+ generation?.configuration.errorPolicy,
75
+ generation?.configuration.projectContext,
76
+ ]);
77
+ if (!captured.ok) {
78
+ throw captured.error;
79
+ }
80
+ return adapterContext.createAdapterContextProvider(captured.contextValue, captured.children);
81
+ }
82
+ //# sourceMappingURL=extension-registry-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-registry-provider.js","sourceRoot":"","sources":["../src/extension-registry-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,oBAAoB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,uBAAuB,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,kBAAkB,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAyC9D;;GAEG;AACH,SAAS,mBAAmB;IAC3B,OAAO,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC7B,KAAqC,EACrC,MAAsD,EACtD,KAAuC,EACvC,UAAsB;IAEtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CACzD,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,UAAU,CACV,CAAC;IACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,CACrD,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,CACV,CAAC;IACF,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,iBAAiB,CAC5D,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,UAAU,CACV,CAAC;IACF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,iBAAiB,CAC/D,MAAM,EACN,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,iBAAiB,CACpD,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,UAAU,CACS,CAAC;IACrB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,8BAA8B,CACtE,aAAa,EACb,UAAU,CACV,CAAC;IACF,MAAM,KAAK,GAAG,oBAAoB,CAAC,gCAAgC,CAClE,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,CACV,CAAC;IACF,MAAM,aAAa,GAAG,oBAAoB,CAAC,gCAAgC,CAC1E,MAAM,EAAE,UAAU,CAAC,aAAa,EAChC,KAAK,CACL,CAAC;IACF,UAAU,EAAE,CAAC;IACb,MAAM,UAAU,GAAG,YAAY,CAAC,4BAA4B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,EAAE,EAAE,IAAI;QACR,QAAQ;QACR,YAAY,EAAE,cAAc,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;KACzE,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACxC,KAAqC;IAErC,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1B,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC;IACjD,8EAA8E;IAC9E,SAAS,wBAAwB;QAChC,IAAI,YAAY,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAClD,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,CAC5C,wBAAwB,EACxB,mDAAmD,EACnD,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAC7D,CAAC;QACH,CAAC;IACF,CAAC;IAED,IAAI,QAAwB,CAAC;IAC7B,IAAI,CAAC;QACJ,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,KAAK,CAAC,SAAS;IACd,4EAA4E;IAC5E,SAAS,oBAAoB;QAC5B,IAAI,UAAU,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAC9E,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,EACD;QACC,KAAK;QACL,UAAU,EAAE,eAAe,CAAC,WAAW;QACvC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,UAAU,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ;QACxC,UAAU,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM;QACtC,UAAU,EAAE,aAAa,CAAC,WAAW;QACrC,UAAU,EAAE,aAAa,CAAC,cAAc;KACxC,CACD,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,QAAQ,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,OAAO,cAAc,CAAC,4BAA4B,CACjD,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,QAAQ,CACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Public React adapter contracts for typed components, managed-lazy descriptors,
3
+ * and authentic Core extension points.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ export { defineReactContributionComponent } from "./contribution-component.js";
8
+ export { ExtensionOutlet } from "./extension-outlet.js";
9
+ export { ExtensionRegistryProvider } from "./extension-registry-provider.js";
10
+ export { ReactAdapterError } from "./react-adapter-error.js";
11
+ export { defineReactExtensionPoint } from "./react-extension-point.js";
12
+ export { defineReactLazyContribution } from "./react-lazy-contribution.js";
13
+ export { useResolvedContributions } from "./resolved-contributions.js";
14
+ export type { ExtensionContributionProps, ExtensionContributionView, ReactContributionComponent, ResolvedContributionPlacement, } from "./contribution-component.js";
15
+ export type { ExtensionContributionErrorRenderState, ExtensionContributionLoadingRenderState, ExtensionContributionReadyRenderState, ExtensionContributionRenderStateBase, ExtensionEmptyRenderState, ExtensionOutletErrorEmission, ExtensionOutletProps, ExtensionOutletRetryEvent, ExtensionResolveErrorRenderState, } from "./extension-outlet.js";
16
+ export type { ExtensionRegistryProviderProps, } from "./extension-registry-provider.js";
17
+ export type { ReactAdapterDiagnosticEvent, ReactAdapterErrorEvent, ReactAdapterSink, ReactErrorAction, ReactErrorPolicy, ReadonlyContributionMetadata, ReadonlyPointMetadata, } from "./react-adapter-diagnostics.js";
18
+ export type { ReactAdapterErrorCode, ReactAdapterErrorPhase, } from "./react-adapter-error.js";
19
+ export type { AnyReactExtensionPoint, ReactExtensionPoint, ReactExtensionPointDefinition, } from "./react-extension-point.js";
20
+ export type { ReactContributionImplementation, ReactLazyContribution, ReactLazyContributionInput, ReactLazyContributionLoadInput, } from "./react-lazy-contribution.js";
21
+ export type { ExtensionOutletEmptyReason, ResolvedContributionsState, UseResolvedContributionsOptions, UseResolvedContributionsResult, } from "./resolved-contributions.js";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,YAAY,EACX,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACX,qCAAqC,EACrC,uCAAuC,EACvC,qCAAqC,EACrC,oCAAoC,EACpC,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,gCAAgC,GAChC,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACX,8BAA8B,GAC9B,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACX,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,GACrB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACX,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACX,sBAAsB,EACtB,mBAAmB,EACnB,6BAA6B,GAC7B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACX,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,GAC9B,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACX,0BAA0B,EAC1B,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,GAC9B,MAAM,6BAA6B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Public React adapter contracts for typed components, managed-lazy descriptors,
3
+ * and authentic Core extension points.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ export { defineReactContributionComponent } from "./contribution-component.js";
8
+ export { ExtensionOutlet } from "./extension-outlet.js";
9
+ export { ExtensionRegistryProvider } from "./extension-registry-provider.js";
10
+ export { ReactAdapterError } from "./react-adapter-error.js";
11
+ export { defineReactExtensionPoint } from "./react-extension-point.js";
12
+ export { defineReactLazyContribution } from "./react-lazy-contribution.js";
13
+ export { useResolvedContributions } from "./resolved-contributions.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,54 @@
1
+ /** Read-once zachycený diagnostický sink včetně původního receiveru. */
2
+ export interface CapturedReactAdapterSink {
3
+ /** Původní strukturální receiver host callbacku. */
4
+ readonly receiver: object;
5
+ /** Stabilní reference jediného známého sink callbacku. */
6
+ readonly report: (event: unknown) => unknown;
7
+ }
8
+ /** Interní error-policy callback před materializací veřejného event typu. */
9
+ export type CapturedReactErrorPolicy = (error: unknown) => unknown;
10
+ /** Interní context projector před materializací veřejného event typu. */
11
+ export type CapturedReactContextProjector = (context: unknown) => unknown;
12
+ /** Efektivní immutable konfigurace jednoho adapter scope generation. */
13
+ export interface AdapterScopeConfiguration {
14
+ /** Custom sink nebo absence znamenající package fallback. */
15
+ readonly sink: CapturedReactAdapterSink | undefined;
16
+ /** Custom contribution error policy nebo package default. */
17
+ readonly errorPolicy: CapturedReactErrorPolicy | undefined;
18
+ /** Optional bezpečná projekce host contextu do diagnostiky. */
19
+ readonly projectContext: CapturedReactContextProjector | undefined;
20
+ }
21
+ /** Tri-state patch zachovávající inheritance a explicitní null clear. */
22
+ export interface CapturedAdapterConfigurationPatch {
23
+ /** `undefined` dědí, `null` ruší custom sink. */
24
+ readonly sink: CapturedReactAdapterSink | null | undefined;
25
+ /** `undefined` dědí, `null` obnovuje package policy. */
26
+ readonly errorPolicy: CapturedReactErrorPolicy | null | undefined;
27
+ /** `undefined` dědí, `null` projector vypíná. */
28
+ readonly projectContext: CapturedReactContextProjector | null | undefined;
29
+ }
30
+ /** Lifecycle checkpoint spuštěný po každém nested public Getu. */
31
+ export type AdapterConfigurationCheckpoint = () => void;
32
+ /** Prázdná package konfigurace bez custom host callbacku. */
33
+ export declare const EMPTY_ADAPTER_SCOPE_CONFIGURATION: AdapterScopeConfiguration;
34
+ /**
35
+ * Zvaliduje již read-once zachycené hodnoty bez dalšího čtení parent options.
36
+ */
37
+ export declare function captureAdapterConfigurationPatch(sinkValue: unknown, errorPolicyValue: unknown, projectContextValue: unknown, checkpoint: AdapterConfigurationCheckpoint): CapturedAdapterConfigurationPatch;
38
+ /**
39
+ * Vyřeší každou config osu samostatně nad nearest provider konfigurací.
40
+ */
41
+ export declare function resolveAdapterScopeConfiguration(parent: AdapterScopeConfiguration | undefined, patch: CapturedAdapterConfigurationPatch): AdapterScopeConfiguration;
42
+ /**
43
+ * Porovná dvě efektivní konfigurace pouze přes zachycené capability reference.
44
+ */
45
+ export declare function isSameAdapterScopeConfiguration(left: AdapterScopeConfiguration, right: AdapterScopeConfiguration): boolean;
46
+ /**
47
+ * Vybere explicitní registry bez silent fallbacku nebo nearest provider default.
48
+ */
49
+ export declare function resolveAdapterRegistryInput(explicitRegistry: unknown, inheritedRegistry: unknown | undefined): unknown;
50
+ /**
51
+ * Zavolá zachycený sink s původním receiverem; výsledek vlastní vyšší pipeline.
52
+ */
53
+ export declare function callCapturedReactAdapterSink(sink: CapturedReactAdapterSink, event: unknown): unknown;
54
+ //# sourceMappingURL=adapter-configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-configuration.d.ts","sourceRoot":"","sources":["../../src/internal/adapter-configuration.ts"],"names":[],"mappings":"AAGA,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACxC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC7C;AAED,6EAA6E;AAC7E,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAEnE,yEAAyE;AACzE,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAE1E,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACpD,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC3D,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,6BAA6B,GAAG,SAAS,CAAC;CACnE;AAED,yEAAyE;AACzE,MAAM,WAAW,iCAAiC;IACjD,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3D,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClE,iDAAiD;IACjD,QAAQ,CAAC,cAAc,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1E;AAED,kEAAkE;AAClE,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC;AAExD,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,EAAE,yBAI9C,CAAC;AAqDH;;GAEG;AACH,wBAAgB,gCAAgC,CAC/C,SAAS,EAAE,OAAO,EAClB,gBAAgB,EAAE,OAAO,EACzB,mBAAmB,EAAE,OAAO,EAC5B,UAAU,EAAE,8BAA8B,GACxC,iCAAiC,CAYnC;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,yBAAyB,GAAG,SAAS,EAC7C,KAAK,EAAE,iCAAiC,GACtC,yBAAyB,CAU3B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,yBAAyB,EAC/B,KAAK,EAAE,yBAAyB,GAC9B,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,EAAE,OAAO,GAAG,SAAS,GACpC,OAAO,CAaT;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,OAAO,GACZ,OAAO,CAET"}
@@ -0,0 +1,89 @@
1
+ import * as publicInputCapture from "./public-input-capture.js";
2
+ import * as reactAdapterError from "../react-adapter-error.js";
3
+ /** Prázdná package konfigurace bez custom host callbacku. */
4
+ export const EMPTY_ADAPTER_SCOPE_CONFIGURATION = Object.freeze({
5
+ sink: undefined,
6
+ errorPolicy: undefined,
7
+ projectContext: undefined,
8
+ });
9
+ /**
10
+ * Zachytí optional sink a jeho jediný známý callback se správným receiverem.
11
+ */
12
+ function captureSink(value, checkpoint) {
13
+ if (value === undefined || value === null) {
14
+ return value;
15
+ }
16
+ const receiver = publicInputCapture.requireInputObject(value, "options.sink");
17
+ const report = publicInputCapture.readInputProperty(receiver, "report", "options.sink.report", checkpoint);
18
+ if (typeof report !== "function") {
19
+ return publicInputCapture.throwInvalidCapturedArgument("options.sink.report", "options.sink.report must be callable.");
20
+ }
21
+ return Object.freeze({
22
+ receiver,
23
+ report: report,
24
+ });
25
+ }
26
+ /**
27
+ * Ověří optional callable configuration bez čtení dalších public polí.
28
+ */
29
+ function captureOptionalCallback(value, field) {
30
+ if (value === undefined || value === null) {
31
+ return value;
32
+ }
33
+ if (typeof value !== "function") {
34
+ return publicInputCapture.throwInvalidCapturedArgument(`options.${field}`, `options.${field} must be callable.`);
35
+ }
36
+ return value;
37
+ }
38
+ /**
39
+ * Zvaliduje již read-once zachycené hodnoty bez dalšího čtení parent options.
40
+ */
41
+ export function captureAdapterConfigurationPatch(sinkValue, errorPolicyValue, projectContextValue, checkpoint) {
42
+ return Object.freeze({
43
+ sink: captureSink(sinkValue, checkpoint),
44
+ errorPolicy: captureOptionalCallback(errorPolicyValue, "errorPolicy"),
45
+ projectContext: captureOptionalCallback(projectContextValue, "projectContext"),
46
+ });
47
+ }
48
+ /**
49
+ * Vyřeší každou config osu samostatně nad nearest provider konfigurací.
50
+ */
51
+ export function resolveAdapterScopeConfiguration(parent, patch) {
52
+ return Object.freeze({
53
+ sink: patch.sink === undefined ? parent?.sink : patch.sink ?? undefined,
54
+ errorPolicy: patch.errorPolicy === undefined
55
+ ? parent?.errorPolicy
56
+ : patch.errorPolicy ?? undefined,
57
+ projectContext: patch.projectContext === undefined
58
+ ? parent?.projectContext
59
+ : patch.projectContext ?? undefined,
60
+ });
61
+ }
62
+ /**
63
+ * Porovná dvě efektivní konfigurace pouze přes zachycené capability reference.
64
+ */
65
+ export function isSameAdapterScopeConfiguration(left, right) {
66
+ return left.sink?.receiver === right.sink?.receiver
67
+ && left.sink?.report === right.sink?.report
68
+ && left.errorPolicy === right.errorPolicy
69
+ && left.projectContext === right.projectContext;
70
+ }
71
+ /**
72
+ * Vybere explicitní registry bez silent fallbacku nebo nearest provider default.
73
+ */
74
+ export function resolveAdapterRegistryInput(explicitRegistry, inheritedRegistry) {
75
+ if (explicitRegistry !== undefined) {
76
+ return explicitRegistry;
77
+ }
78
+ if (inheritedRegistry !== undefined) {
79
+ return inheritedRegistry;
80
+ }
81
+ throw new reactAdapterError.ReactAdapterError("REACT_REGISTRY_NOT_PROVIDED", "No extension registry was provided.", { details: { field: "options.registry", phase: "configuration" } });
82
+ }
83
+ /**
84
+ * Zavolá zachycený sink s původním receiverem; výsledek vlastní vyšší pipeline.
85
+ */
86
+ export function callCapturedReactAdapterSink(sink, event) {
87
+ return Reflect.apply(sink.report, sink.receiver, [event]);
88
+ }
89
+ //# sourceMappingURL=adapter-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-configuration.js","sourceRoot":"","sources":["../../src/internal/adapter-configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as react from "react";
2
+ import * as adapterScope from "./adapter-scope.js";
3
+ /**
4
+ * Immutable provider value oddělující stabilní scope od aktuální generation.
5
+ */
6
+ export interface AdapterContextValue {
7
+ /** Stabilní tree-local vlastník bridge a lifecycle zdrojů. */
8
+ readonly scope: adapterScope.AdapterScopeRuntime;
9
+ /** Aktuální provider registry a inherited konfigurace. */
10
+ readonly generation: adapterScope.AdapterScopeGeneration;
11
+ }
12
+ /**
13
+ * Vytvoří frozen Context value pro jeden provider render.
14
+ */
15
+ export declare function createAdapterContextValue(scope: adapterScope.AdapterScopeRuntime, generation: adapterScope.AdapterScopeGeneration): AdapterContextValue;
16
+ /**
17
+ * Vrátí nearest provider hodnotu při zachování standardního React Hook pořadí.
18
+ */
19
+ export declare function useAdapterContext(): AdapterContextValue | undefined;
20
+ /**
21
+ * Vystaví interní Context provider bez přidání host DOM elementu.
22
+ */
23
+ export declare function createAdapterContextProvider(value: AdapterContextValue, children: react.ReactNode): react.ReactElement;
24
+ //# sourceMappingURL=adapter-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-context.d.ts","sourceRoot":"","sources":["../../src/internal/adapter-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC;IACjD,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,sBAAsB,CAAC;CACzD;AAKD;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,YAAY,CAAC,mBAAmB,EACvC,UAAU,EAAE,YAAY,CAAC,sBAAsB,GAC7C,mBAAmB,CAErB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,GACvB,KAAK,CAAC,YAAY,CAEpB"}
@@ -0,0 +1,23 @@
1
+ import * as react from "react";
2
+ import * as adapterScope from "./adapter-scope.js";
3
+ /** Modulově lokální Context capability bez process-global registry mapy. */
4
+ const adapterContext = react.createContext(undefined);
5
+ /**
6
+ * Vytvoří frozen Context value pro jeden provider render.
7
+ */
8
+ export function createAdapterContextValue(scope, generation) {
9
+ return Object.freeze({ scope, generation });
10
+ }
11
+ /**
12
+ * Vrátí nearest provider hodnotu při zachování standardního React Hook pořadí.
13
+ */
14
+ export function useAdapterContext() {
15
+ return react.useContext(adapterContext);
16
+ }
17
+ /**
18
+ * Vystaví interní Context provider bez přidání host DOM elementu.
19
+ */
20
+ export function createAdapterContextProvider(value, children) {
21
+ return react.createElement(adapterContext.Provider, { value }, children);
22
+ }
23
+ //# sourceMappingURL=adapter-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-context.js","sourceRoot":"","sources":["../../src/internal/adapter-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAYnD,4EAA4E;AAC5E,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAkC,SAAS,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,KAAuC,EACvC,UAA+C;IAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,KAA0B,EAC1B,QAAyB;IAEzB,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC1E,CAAC"}