@geexcode/geex-angular 0.0.1 → 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 +20 -3
- package/dist/index.d.ts +20 -3
- package/dist/index.js +15 -1
- package/dist/index.mjs +17 -4
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WritableSignal, Injector, Provider } from '@angular/core';
|
|
1
|
+
import { WritableSignal, InjectionToken, Injector, Provider } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
|
|
4
4
|
interface Tenant {
|
|
@@ -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,10 +82,26 @@ type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
|
|
|
81
82
|
settings: SettingsModule;
|
|
82
83
|
ui: UiModule;
|
|
83
84
|
} & TExtensionModules;
|
|
84
|
-
type GeexModule<TExtension = any> = {
|
|
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;
|
|
96
|
+
declare let Geex: InjectionToken<{
|
|
97
|
+
init: () => Promise<any>;
|
|
98
|
+
tenant: TenantModule;
|
|
99
|
+
auth: AuthModule;
|
|
100
|
+
identity: IdentityModule;
|
|
101
|
+
messaging: MessagingModule;
|
|
102
|
+
settings: SettingsModule;
|
|
103
|
+
ui: UiModule;
|
|
104
|
+
}>;
|
|
88
105
|
/**
|
|
89
106
|
* Initialize geex singleton with concrete dependencies
|
|
90
107
|
* @param deps Required runtime services
|
|
@@ -94,4 +111,4 @@ declare function configGeex<TExtensionModules extends Record<string, GeexModule>
|
|
|
94
111
|
|
|
95
112
|
declare function provideGeex(injector: any, overrides?: GeexOverrides): Provider[];
|
|
96
113
|
|
|
97
|
-
export { type GeexOverrides, configGeex, geex, provideGeex };
|
|
114
|
+
export { Geex, type GeexOverrides, configGeex, geex, provideGeex };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WritableSignal, Injector, Provider } from '@angular/core';
|
|
1
|
+
import { WritableSignal, InjectionToken, Injector, Provider } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
|
|
4
4
|
interface Tenant {
|
|
@@ -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,10 +82,26 @@ type GeexModules<TExtensionModules extends Record<string, GeexModule> = {}> = {
|
|
|
81
82
|
settings: SettingsModule;
|
|
82
83
|
ui: UiModule;
|
|
83
84
|
} & TExtensionModules;
|
|
84
|
-
type GeexModule<TExtension = any> = {
|
|
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;
|
|
96
|
+
declare let Geex: InjectionToken<{
|
|
97
|
+
init: () => Promise<any>;
|
|
98
|
+
tenant: TenantModule;
|
|
99
|
+
auth: AuthModule;
|
|
100
|
+
identity: IdentityModule;
|
|
101
|
+
messaging: MessagingModule;
|
|
102
|
+
settings: SettingsModule;
|
|
103
|
+
ui: UiModule;
|
|
104
|
+
}>;
|
|
88
105
|
/**
|
|
89
106
|
* Initialize geex singleton with concrete dependencies
|
|
90
107
|
* @param deps Required runtime services
|
|
@@ -94,4 +111,4 @@ declare function configGeex<TExtensionModules extends Record<string, GeexModule>
|
|
|
94
111
|
|
|
95
112
|
declare function provideGeex(injector: any, overrides?: GeexOverrides): Provider[];
|
|
96
113
|
|
|
97
|
-
export { type GeexOverrides, configGeex, geex, provideGeex };
|
|
114
|
+
export { Geex, type GeexOverrides, configGeex, geex, provideGeex };
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
|
+
Geex: () => Geex,
|
|
33
34
|
configGeex: () => configGeex,
|
|
34
35
|
geex: () => geex,
|
|
35
36
|
provideGeex: () => provideGeex
|
|
@@ -169,9 +170,21 @@ function createUiModule(injector) {
|
|
|
169
170
|
|
|
170
171
|
// src/geex.ts
|
|
171
172
|
var geex;
|
|
173
|
+
var Geex = new import_core2.InjectionToken("Geex");
|
|
172
174
|
function configGeex(injector, overrides) {
|
|
173
175
|
(0, import_core2.runInInjectionContext)(injector, () => {
|
|
174
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
|
+
},
|
|
175
188
|
tenant: createTenantModule(injector),
|
|
176
189
|
auth: createAuthModule(injector),
|
|
177
190
|
identity: createIdentityModule(injector),
|
|
@@ -195,11 +208,12 @@ function provideGeex(injector, overrides) {
|
|
|
195
208
|
configGeex(injector, overrides);
|
|
196
209
|
return [
|
|
197
210
|
{ provide: GEEX_CONFIG, useValue: { injector, overrides } },
|
|
198
|
-
{ provide:
|
|
211
|
+
{ provide: Geex, useExisting: geex }
|
|
199
212
|
];
|
|
200
213
|
}
|
|
201
214
|
// Annotate the CommonJS export names for ESM import in node:
|
|
202
215
|
0 && (module.exports = {
|
|
216
|
+
Geex,
|
|
203
217
|
configGeex,
|
|
204
218
|
geex,
|
|
205
219
|
provideGeex
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./chunk-EBO3CZXG.mjs";
|
|
2
2
|
|
|
3
3
|
// src/geex.ts
|
|
4
|
-
import { runInInjectionContext as runInInjectionContext2 } from "@angular/core";
|
|
4
|
+
import { InjectionToken, runInInjectionContext as runInInjectionContext2 } from "@angular/core";
|
|
5
5
|
|
|
6
6
|
// src/modules.ts
|
|
7
7
|
import { Apollo } from "apollo-angular";
|
|
@@ -133,9 +133,21 @@ function createUiModule(injector) {
|
|
|
133
133
|
|
|
134
134
|
// src/geex.ts
|
|
135
135
|
var geex;
|
|
136
|
+
var Geex = new InjectionToken("Geex");
|
|
136
137
|
function configGeex(injector, overrides) {
|
|
137
138
|
runInInjectionContext2(injector, () => {
|
|
138
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
|
+
},
|
|
139
151
|
tenant: createTenantModule(injector),
|
|
140
152
|
auth: createAuthModule(injector),
|
|
141
153
|
identity: createIdentityModule(injector),
|
|
@@ -151,18 +163,19 @@ function configGeex(injector, overrides) {
|
|
|
151
163
|
}
|
|
152
164
|
|
|
153
165
|
// src/tokens.ts
|
|
154
|
-
import { InjectionToken } from "@angular/core";
|
|
155
|
-
var GEEX_CONFIG = new
|
|
166
|
+
import { InjectionToken as InjectionToken2 } from "@angular/core";
|
|
167
|
+
var GEEX_CONFIG = new InjectionToken2("GEEX_CONFIG");
|
|
156
168
|
|
|
157
169
|
// src/provide-geex.ts
|
|
158
170
|
function provideGeex(injector, overrides) {
|
|
159
171
|
configGeex(injector, overrides);
|
|
160
172
|
return [
|
|
161
173
|
{ provide: GEEX_CONFIG, useValue: { injector, overrides } },
|
|
162
|
-
{ provide:
|
|
174
|
+
{ provide: Geex, useExisting: geex }
|
|
163
175
|
];
|
|
164
176
|
}
|
|
165
177
|
export {
|
|
178
|
+
Geex,
|
|
166
179
|
configGeex,
|
|
167
180
|
geex,
|
|
168
181
|
provideGeex
|