@geexcode/geex-angular 0.0.2 → 0.0.3

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/dist/index.d.mts CHANGED
@@ -74,6 +74,7 @@ interface UiModule extends GeexModule {
74
74
  activeRoutedComponent?: any;
75
75
  }
76
76
  type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
77
+ init: () => Promise<any>;
77
78
  tenant: TenantModule;
78
79
  auth: AuthModule;
79
80
  identity: IdentityModule;
@@ -81,11 +82,19 @@ type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
81
82
  settings: SettingsModule;
82
83
  ui: UiModule;
83
84
  } & TExtensionModules;
84
- type GeexModule<TExtension = any> = {} & TExtension;
85
+ type GeexModule<TExtension = any> = {
86
+ /**
87
+ * A module combines both reactive state (signals) and business logic methods.
88
+ * Concrete modules can extend this interface to expose their own signals & methods.
89
+ * This empty base exists mainly for typing convenience and future extension.
90
+ */
91
+ init?: () => Promise<any>;
92
+ } & TExtension;
85
93
 
86
94
  type GeexOverrides<TExtensionModules extends Record<string, GeexModule> = {}> = Partial<GeexModules<TExtensionModules>>;
87
95
  declare let geex: GeexModules;
88
96
  declare let Geex: InjectionToken<{
97
+ init: () => Promise<any>;
89
98
  tenant: TenantModule;
90
99
  auth: AuthModule;
91
100
  identity: IdentityModule;
package/dist/index.d.ts CHANGED
@@ -74,6 +74,7 @@ interface UiModule extends GeexModule {
74
74
  activeRoutedComponent?: any;
75
75
  }
76
76
  type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
77
+ init: () => Promise<any>;
77
78
  tenant: TenantModule;
78
79
  auth: AuthModule;
79
80
  identity: IdentityModule;
@@ -81,11 +82,19 @@ type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
81
82
  settings: SettingsModule;
82
83
  ui: UiModule;
83
84
  } & TExtensionModules;
84
- type GeexModule<TExtension = any> = {} & TExtension;
85
+ type GeexModule<TExtension = any> = {
86
+ /**
87
+ * A module combines both reactive state (signals) and business logic methods.
88
+ * Concrete modules can extend this interface to expose their own signals & methods.
89
+ * This empty base exists mainly for typing convenience and future extension.
90
+ */
91
+ init?: () => Promise<any>;
92
+ } & TExtension;
85
93
 
86
94
  type GeexOverrides<TExtensionModules extends Record<string, GeexModule> = {}> = Partial<GeexModules<TExtensionModules>>;
87
95
  declare let geex: GeexModules;
88
96
  declare let Geex: InjectionToken<{
97
+ init: () => Promise<any>;
89
98
  tenant: TenantModule;
90
99
  auth: AuthModule;
91
100
  identity: IdentityModule;
package/dist/index.js CHANGED
@@ -174,6 +174,17 @@ var Geex = new import_core2.InjectionToken("Geex");
174
174
  function configGeex(injector, overrides) {
175
175
  (0, import_core2.runInInjectionContext)(injector, () => {
176
176
  const modules = {
177
+ init: async () => {
178
+ const entries = Object.entries(modules).filter(([key]) => key !== "init");
179
+ await Promise.all(
180
+ entries.map(async ([, mod]) => {
181
+ const maybeInit = mod.init;
182
+ if (typeof maybeInit === "function") {
183
+ await maybeInit();
184
+ }
185
+ })
186
+ );
187
+ },
177
188
  tenant: createTenantModule(injector),
178
189
  auth: createAuthModule(injector),
179
190
  identity: createIdentityModule(injector),
package/dist/index.mjs CHANGED
@@ -137,6 +137,17 @@ var Geex = new InjectionToken("Geex");
137
137
  function configGeex(injector, overrides) {
138
138
  runInInjectionContext2(injector, () => {
139
139
  const modules = {
140
+ init: async () => {
141
+ const entries = Object.entries(modules).filter(([key]) => key !== "init");
142
+ await Promise.all(
143
+ entries.map(async ([, mod]) => {
144
+ const maybeInit = mod.init;
145
+ if (typeof maybeInit === "function") {
146
+ await maybeInit();
147
+ }
148
+ })
149
+ );
150
+ },
140
151
  tenant: createTenantModule(injector),
141
152
  auth: createAuthModule(injector),
142
153
  identity: createIdentityModule(injector),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geexcode/geex-angular",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Angular adapter for Geex core.",
5
5
  "module": "dist/index.js",
6
6
  "main": "dist/index.cjs",