f4ded6d8f7
lifecycle.ts forwards init (@ng-org/web) and initNg (@ng-org/orm) to the injected SDK; index re-exports the SDK types (ShapeType, BaseType, Schema, DeepSignalSet, NG) so consumers import everything from @ng-eventually/client. Type re-exports are erased at build → no runtime @ng-org import added (no duplicate SDK copy). @ng-org added as devDependencies (typecheck only) + peerDependencies. EventuallyConfig accepts init/initNg. Typecheck + 4 tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
853 B
TypeScript
23 lines
853 B
TypeScript
/**
|
|
* Lifecycle re-exports — SDK-shaped forwarders so the app imports `init` /
|
|
* `initNg` from `@ng-eventually/client` rather than from `@ng-org/*`. They
|
|
* delegate to the REAL functions injected at `configure()`. Passthrough today;
|
|
* a hook point later (e.g. opening the shared wallet on `init`).
|
|
*/
|
|
|
|
import { getConfig } from "./polyfill";
|
|
|
|
/** Forwards to the real `@ng-org/web` `init`. */
|
|
export function init(...args: any[]): any {
|
|
const f = getConfig().init;
|
|
if (!f) throw new Error("[ng-eventually] init() not injected — pass it to configure()");
|
|
return f(...args);
|
|
}
|
|
|
|
/** Forwards to the real `@ng-org/orm` `initNg` (ORM signals). */
|
|
export function initNg(...args: any[]): any {
|
|
const f = getConfig().initNg;
|
|
if (!f) throw new Error("[ng-eventually] initNg() not injected — pass it to configure()");
|
|
return f(...args);
|
|
}
|