@common-stack/server-core 7.2.1-alpha.47 → 7.2.1-alpha.49

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 (82) hide show
  1. package/lib/__tests__/connector-inngest-arrays.test.d.ts +1 -0
  2. package/lib/connector/__tests__/container-connector.test.d.ts +2 -0
  3. package/lib/connector/__tests__/context-connector.test.d.ts +1 -0
  4. package/lib/connector/__tests__/fixtures/preferenfces/sample-settings.d.ts +98 -0
  5. package/lib/connector/__tests__/fixtures/sample-roles-permissions/account-api/permission-contribution.d.ts +90 -0
  6. package/lib/connector/__tests__/graphql-middleware.test.d.ts +1 -0
  7. package/lib/connector/__tests__/permissions.test.d.ts +1 -0
  8. package/lib/connector/__tests__/policies.test.d.ts +1 -0
  9. package/lib/connector/__tests__/preferences.test.d.ts +1 -0
  10. package/lib/connector/__tests__/roles-update-connector.test.d.ts +1 -0
  11. package/lib/connector/__tests__/rules-connector.test.d.ts +1 -0
  12. package/lib/connector/__tests__/samples/graphql/types/person_entity_type.d.ts +2 -0
  13. package/lib/connector/__tests__/samples/graphql/types/person_search_type.d.ts +2 -0
  14. package/lib/connector/__tests__/samples/graphql/types/vendor_type.d.ts +2 -0
  15. package/lib/connector/__tests__/schema-connector.test.d.ts +1 -0
  16. package/lib/connector/__tests__/service-connector.test.d.ts +2 -0
  17. package/lib/connector/__tests__/websocket-connector.test.d.ts +1 -0
  18. package/lib/connector/connector.d.ts +619 -0
  19. package/lib/connector/connector.js +470 -0
  20. package/lib/connector/connector.js.map +1 -0
  21. package/lib/connector/index.d.ts +1 -0
  22. package/lib/constants/directives.d.ts +1 -0
  23. package/lib/constants/directives.js +1 -0
  24. package/lib/constants/directives.js.map +1 -0
  25. package/lib/constants/index.d.ts +2 -0
  26. package/lib/constants/types.d.ts +8 -0
  27. package/lib/constants/types.js +8 -0
  28. package/lib/constants/types.js.map +1 -0
  29. package/lib/index.d.ts +6 -0
  30. package/lib/index.js +1 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/interfaces/connector.d.ts +36 -0
  33. package/lib/interfaces/datasource.d.ts +14 -0
  34. package/lib/interfaces/index.d.ts +7 -0
  35. package/lib/interfaces/mongo-migration.d.ts +17 -0
  36. package/lib/interfaces/permissions.d.ts +5 -0
  37. package/lib/interfaces/policies.d.ts +5 -0
  38. package/lib/interfaces/roles.d.ts +8 -0
  39. package/lib/interfaces/rules.d.ts +12 -0
  40. package/lib/interfaces/rules.js +6 -0
  41. package/lib/interfaces/rules.js.map +1 -0
  42. package/lib/interfaces/store.d.ts +3 -0
  43. package/lib/logger/index.d.ts +1 -0
  44. package/lib/logger/logger.d.ts +2 -0
  45. package/lib/logger/logger.js +5 -0
  46. package/lib/logger/logger.js.map +1 -0
  47. package/lib/moleculer-generation/__tests__/integration-proxy-moleculer.test.d.ts +6 -0
  48. package/lib/moleculer-generation/__tests__/moleculerEventHandler.test.d.ts +5 -0
  49. package/lib/moleculer-generation/__tests__/serviceGenerationUtils.test.d.ts +5 -0
  50. package/lib/moleculer-generation/__tests__/typedMoleculerService.test.d.ts +5 -0
  51. package/lib/moleculer-generation/__tests__/typedProxyService.test.d.ts +5 -0
  52. package/lib/moleculer-generation/generateAllServiceSchemas.cjs +628 -0
  53. package/lib/moleculer-generation/index.d.ts +16 -0
  54. package/lib/moleculer-generation/moleculerEventHandler.d.ts +73 -0
  55. package/lib/moleculer-generation/moleculerEventHandler.js +91 -0
  56. package/lib/moleculer-generation/moleculerEventHandler.js.map +1 -0
  57. package/lib/moleculer-generation/serviceGenerationUtils.d.ts +100 -0
  58. package/lib/moleculer-generation/serviceGenerationUtils.js +156 -0
  59. package/lib/moleculer-generation/serviceGenerationUtils.js.map +1 -0
  60. package/lib/moleculer-generation/typedMoleculerService.d.ts +502 -0
  61. package/lib/moleculer-generation/typedMoleculerService.js +685 -0
  62. package/lib/moleculer-generation/typedMoleculerService.js.map +1 -0
  63. package/lib/moleculer-generation/typedProxyService.d.ts +119 -0
  64. package/lib/moleculer-generation/typedProxyService.js +226 -0
  65. package/lib/moleculer-generation/typedProxyService.js.map +1 -0
  66. package/lib/moleculer-generation/zodToMoleculer.d.ts +45 -0
  67. package/lib/moleculer-generation/zodToMoleculer.js +120 -0
  68. package/lib/moleculer-generation/zodToMoleculer.js.map +1 -0
  69. package/lib/utils/extract-tenant-id.d.ts +1 -0
  70. package/lib/utils/extract-tenant-id.js +4 -0
  71. package/lib/utils/extract-tenant-id.js.map +1 -0
  72. package/lib/utils/generate-query-cache-key.d.ts +11 -0
  73. package/lib/utils/generate-query-cache-key.js +13 -0
  74. package/lib/utils/generate-query-cache-key.js.map +1 -0
  75. package/lib/utils/get-directive-args-from-schema.d.ts +13 -0
  76. package/lib/utils/get-directive-args-from-schema.js +25 -0
  77. package/lib/utils/get-directive-args-from-schema.js.map +1 -0
  78. package/lib/utils/index.d.ts +4 -0
  79. package/lib/utils/preferences.d.ts +87 -0
  80. package/lib/utils/preferences.js +40 -0
  81. package/lib/utils/preferences.js.map +1 -0
  82. package/package.json +3 -3
@@ -0,0 +1,619 @@
1
+ import { GraphQLRequestContext, type GraphQLRequestContextWillSendResponse } from '@apollo/server';
2
+ import { Container, interfaces } from 'inversify';
3
+ import type { Express } from 'express';
4
+ import type { ApolloServerPlugin } from '@apollo/server';
5
+ import { IAddPermissions, IAddPolicies, IDataSourceConfig, IDirectiveOptions, IGraphqlShieldRules, IMongoMigration, IOverwritePreference, IPreferences, IResolverOptions, IWebsocketConfig } from '../interfaces';
6
+ import { IRoleUpdate } from '../interfaces/roles';
7
+ export declare const featureCatalog: any;
8
+ export interface IFederationServiceOptions {
9
+ port: number;
10
+ config?: any;
11
+ }
12
+ export type FederationServiceDeclaration = (options: IFederationServiceOptions) => Promise<void>;
13
+ export type KeyGenerator = (context: GraphQLRequestContext<unknown>, cacheKey?: string) => string;
14
+ export type InvalidationKeyGenerator = (requestContext: GraphQLRequestContext<unknown>, responseContext: GraphQLRequestContextWillSendResponse<unknown>, cacheKey?: string) => string;
15
+ /**
16
+ * Feature Params that can be passed to Feature Module.
17
+ */
18
+ export type FeatureParams<T = any, S = any> = {
19
+ schema?: string | string[];
20
+ createRemoteSchemas?: Function | Function[];
21
+ createDirectivesFunc?: Function | Function[];
22
+ createResolversFunc?: Function | Function[];
23
+ createContextFunc?: Function | Function[];
24
+ postBindContainerFunc?: Function[];
25
+ postBindMicroServiceContainerFunc?: Function[];
26
+ /**
27
+ * @deprecated Use postBindMicroServiceContainerFunc instead
28
+ */
29
+ postBindHemraContainerFunc?: Function[];
30
+ createServiceFunc?: Function | Function[];
31
+ createDataSourceFunc?: Function | Function[];
32
+ createContainerFunc?: Function | Function[];
33
+ createMicroServiceContainerFunc?: Function | Function[];
34
+ /**
35
+ * @deprecated Use createMicroServiceContainerFunc instead
36
+ */
37
+ createHemeraContainerFunc?: Function | Function[];
38
+ createAsyncContainerFunc?: Function | Function[];
39
+ createAsyncMicroServiceContainerFunc?: Function | Function[];
40
+ /**
41
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
42
+ */
43
+ createAsyncHemeraContainerFunc?: Function | Function[];
44
+ preCreateServiceFunc?: Function | Function[];
45
+ postCreateServiceFunc?: Function | Function[];
46
+ preStartFunc?: Function | Function[];
47
+ postStartFunc?: Function | Function[];
48
+ microservicePreStartFunc?: Function | Function[];
49
+ microservicePostStartFunc?: Function | Function[];
50
+ addBrokerServiceClass?: Function | Function[];
51
+ /**
52
+ * @deprecated Use addBrokerServiceClass instead
53
+ */
54
+ addBrokerMainServiceClass?: Function | Function[];
55
+ /**
56
+ * @deprecated Use addBrokerServiceClass instead
57
+ */
58
+ addMainBrokerServiceClass?: Function | Function[];
59
+ addMicroserviceBrokerServiceClass?: Function | Function[];
60
+ /**
61
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
62
+ */
63
+ addBrokerClientServiceClass?: Function | Function[];
64
+ createWebsocketConfig?: IWebsocketConfig | IWebsocketConfig[];
65
+ updateContainerFunc?: any | any[];
66
+ createPreference?: IPreferences<T> | IPreferences<T>[];
67
+ overwritePreference?: IOverwritePreference | IOverwritePreference[];
68
+ /**
69
+ * Permissions Preferences
70
+ * @deprecated
71
+ */
72
+ addPermissions?: IAddPermissions<T>;
73
+ /**
74
+ * Policies Preferences
75
+ * @deprecated
76
+ */
77
+ addPolicies?: IAddPolicies<T>;
78
+ /**
79
+ * Roles to provide permissions to access resources.
80
+ * @deprecated
81
+ */
82
+ rolesUpdate?: IRoleUpdate<T>;
83
+ federation?: FederationServiceDeclaration | FederationServiceDeclaration[];
84
+ dataIdFromObject?: Function | Function[];
85
+ disposeFunc?: any | any[];
86
+ beforeware?: any | any[];
87
+ middleware?: any | any[];
88
+ graphqlMiddleware?: any | any[];
89
+ catalogInfo?: any | any[];
90
+ /**
91
+ * Graphql shields rules, a graphql middleware for authorization
92
+ * based on defined permissions
93
+ */
94
+ rules?: IGraphqlShieldRules;
95
+ registerExpressMiddlewareFunc?: RegisterExpressMiddlewareFunc | RegisterExpressMiddlewareFunc[];
96
+ apolloCacheKeyGeneratorFunc?: KeyGenerator | KeyGenerator[];
97
+ apolloInvalidateCacheKeyGeneratorFunc?: InvalidationKeyGenerator | InvalidationKeyGenerator[];
98
+ graphqlPlugins?: ApolloServerPlugin<any>[];
99
+ /**
100
+ * Inngest functions that can be registered from different modules
101
+ */
102
+ inngestFunctions?: Function | Function[];
103
+ };
104
+ type RegisterExpressMiddlewareFunc = (app: Express, container: Container) => void;
105
+ declare class Feature<T = any, S = any> {
106
+ schema: string[];
107
+ createRemoteSchemas?: Function | Function[];
108
+ createDirectivesFunc: Function[];
109
+ createResolversFunc: Function[];
110
+ createContextFunc: Function[];
111
+ createServiceFunc: Function[];
112
+ createContainerFunc: Function[];
113
+ postBindContainerFunc: Function[];
114
+ postBindMicroServiceContainerFunc: Function[];
115
+ /**
116
+ * @deprecated Use postBindMicroServiceContainerFunc instead
117
+ */
118
+ postBindHemraContainerFunc: Function[];
119
+ federation: FederationServiceDeclaration[];
120
+ createMicroServiceContainerFunc: Function[];
121
+ /**
122
+ * @deprecated Use createMicroServiceContainerFunc instead
123
+ */
124
+ createHemeraContainerFunc: Function[];
125
+ createAsyncContainerFunc: Function[];
126
+ createAsyncMicroServiceContainerFunc: Function[];
127
+ /**
128
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
129
+ */
130
+ createAsyncHemeraContainerFunc: Function[];
131
+ createDataSourceFunc: Function[];
132
+ preCreateServiceFunc: Function[];
133
+ postCreateServiceFunc: Function[];
134
+ preStartFunc: Function[];
135
+ postStartFunc: Function[];
136
+ microservicePreStartFunc: Function[];
137
+ microservicePostStartFunc: Function[];
138
+ addBrokerServiceClass: Function[];
139
+ /**
140
+ * @deprecated Use addBrokerServiceClass instead
141
+ */
142
+ addBrokerMainServiceClass: Function[];
143
+ /**
144
+ * @deprecated Use addBrokerServiceClass instead
145
+ */
146
+ addMainBrokerServiceClass: Function[];
147
+ addMicroserviceBrokerServiceClass: Function[];
148
+ /**
149
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
150
+ */
151
+ addBrokerClientServiceClass: Function[];
152
+ disposeFunc: any[];
153
+ updateContainerFunc: any[];
154
+ beforeware: Function[];
155
+ middleware: Function[];
156
+ graphqlMiddleware: Function[];
157
+ registerExpressMiddlewareFunc: RegisterExpressMiddlewareFunc[];
158
+ apolloCacheKeyGeneratorFunc: KeyGenerator[];
159
+ apolloInvalidateCacheKeyGeneratorFunc: InvalidationKeyGenerator[];
160
+ createWebsocketConfig: IWebsocketConfig[];
161
+ createPreference: IPreferences<T>[];
162
+ addPermissions?: IAddPermissions<T>;
163
+ addPolicies: IAddPolicies<T>;
164
+ rolesUpdate: IRoleUpdate<T>;
165
+ overwritePreference: IOverwritePreference[];
166
+ overwriteRole: IOverwritePreference[];
167
+ migrations?: Array<{
168
+ [id: string]: IMongoMigration;
169
+ }>;
170
+ graphqlPlugins?: ApolloServerPlugin<any>[];
171
+ inngestFunctions: Function[];
172
+ private _rules;
173
+ private services;
174
+ private container;
175
+ private hemeraContainer;
176
+ private dataSources;
177
+ constructor(feature?: FeatureParams<T>, ...features: Feature<T>[]);
178
+ get rules(): IGraphqlShieldRules;
179
+ get schemas(): string[];
180
+ /**
181
+ * Creates context
182
+ * @param req
183
+ * @param connectionParams
184
+ * @param webSocket
185
+ * @deprecated
186
+ */
187
+ createContext(req: any, connectionParams: any, webSocket?: any): Promise<any>;
188
+ /**
189
+ * If you need to attach service to Graphql Context, you can use this function.
190
+ * It should be called twice to get the context.
191
+ */
192
+ createServiceContext(options: any, updateOptions?: any): (req: any, connectionParams: any, webSocket?: any) => Promise<any>;
193
+ /**
194
+ * Its wrapper to container to get services
195
+ * @param container
196
+ */
197
+ createService(options: any, updateOptions?: any): Promise<any>;
198
+ /**
199
+ * Pre start action will be executed there.
200
+ *
201
+ */
202
+ preStart<S = unknown>(options: S): Promise<any[]>;
203
+ /**
204
+ * Post start actions will be executed here.
205
+ */
206
+ postStart<S = unknown>(options: S): Promise<any[]>;
207
+ /**
208
+ * Pre start action will be executed there.
209
+ *
210
+ */
211
+ microservicePreStart<S = unknown>(options: S): Promise<any[]>;
212
+ /**
213
+ * Post start actions will be executed here.
214
+ */
215
+ microservicePostStart<S = unknown>(options: S): Promise<any[]>;
216
+ createDataSource(options?: IDataSourceConfig<S>): any;
217
+ createResolvers(options?: IResolverOptions): any;
218
+ createDirectives(options?: IDirectiveOptions): any;
219
+ createContainers(options: any, containerOptions?: interfaces.ContainerOptions): Promise<any>;
220
+ /**
221
+ * Use createMicroserviceContainers instead
222
+ * @param options
223
+ * @deprecated Use createMicroserviceContainers instead
224
+ */
225
+ createHemeraContainers(options: any): Promise<any>;
226
+ /**
227
+ * Creates container for the microservice
228
+ *
229
+ * @param options
230
+ */
231
+ createMicroserviceContainers(options: any): Promise<any>;
232
+ updateContainers(options: any, updateOptions?: any): void;
233
+ loadMainMoleculerService({ container, broker, settings, }: {
234
+ container: Container;
235
+ broker: any;
236
+ settings: unknown;
237
+ }): void;
238
+ loadClientMoleculerService({ container, broker, settings, }: {
239
+ container: Container;
240
+ broker: any;
241
+ settings: unknown;
242
+ }): void;
243
+ createDefaultPreferences(): import("../interfaces").IPreferencesData<unknown>[];
244
+ get beforewares(): any[];
245
+ get middlewares(): any[];
246
+ get graphqlMiddlewares(): any[];
247
+ getPreferences<S = any>(): IPreferences<S>[];
248
+ getPreferencesObj<S>(): {
249
+ [n: number]: IPreferences<S>;
250
+ length: number;
251
+ toString(): string;
252
+ toLocaleString(): string;
253
+ toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
254
+ pop(): IPreferences<S>;
255
+ push(...items: IPreferences<S>[]): number;
256
+ concat(...items: ConcatArray<IPreferences<S>>[]): IPreferences<S>[];
257
+ concat(...items: (IPreferences<S> | ConcatArray<IPreferences<S>>)[]): IPreferences<S>[];
258
+ join(separator?: string): string;
259
+ reverse(): IPreferences<S>[];
260
+ shift(): IPreferences<S>;
261
+ slice(start?: number, end?: number): IPreferences<S>[];
262
+ sort(compareFn?: (a: IPreferences<S>, b: IPreferences<S>) => number): IPreferences<S>[];
263
+ splice(start: number, deleteCount?: number): IPreferences<S>[];
264
+ splice(start: number, deleteCount: number, ...items: IPreferences<S>[]): IPreferences<S>[];
265
+ unshift(...items: IPreferences<S>[]): number;
266
+ indexOf(searchElement: IPreferences<S>, fromIndex?: number): number;
267
+ lastIndexOf(searchElement: IPreferences<S>, fromIndex?: number): number;
268
+ every<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => value is S_1, thisArg?: any): this is S_1[];
269
+ every(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): boolean;
270
+ some(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): boolean;
271
+ forEach(callbackfn: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => void, thisArg?: any): void;
272
+ map<U>(callbackfn: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => U, thisArg?: any): U[];
273
+ filter<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => value is S_1, thisArg?: any): S_1[];
274
+ filter(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): IPreferences<S>[];
275
+ reduce(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>): IPreferences<S>;
276
+ reduce(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>, initialValue: IPreferences<S>): IPreferences<S>;
277
+ reduce<U>(callbackfn: (previousValue: U, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => U, initialValue: U): U;
278
+ reduceRight(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>): IPreferences<S>;
279
+ reduceRight(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>, initialValue: IPreferences<S>): IPreferences<S>;
280
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => U, initialValue: U): U;
281
+ find<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => value is S_1, thisArg?: any): S_1;
282
+ find(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): IPreferences<S>;
283
+ findIndex(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): number;
284
+ fill(value: IPreferences<S>, start?: number, end?: number): IPreferences<S>[];
285
+ copyWithin(target: number, start: number, end?: number): IPreferences<S>[];
286
+ entries(): ArrayIterator<[number, IPreferences<S>]>;
287
+ keys(): ArrayIterator<number>;
288
+ values(): ArrayIterator<IPreferences<S>>;
289
+ includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
290
+ flatMap<U, This = undefined>(callback: (this: This, value: IPreferences<S>, index: number, array: IPreferences<S>[]) => U | readonly U[], thisArg?: This): U[];
291
+ flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
292
+ at(index: number): IPreferences<S>;
293
+ [Symbol.iterator](): ArrayIterator<IPreferences<S>>;
294
+ [Symbol.unscopables]: {
295
+ [x: number]: boolean;
296
+ length?: boolean;
297
+ toString?: boolean;
298
+ toLocaleString?: boolean;
299
+ pop?: boolean;
300
+ push?: boolean;
301
+ concat?: boolean;
302
+ join?: boolean;
303
+ reverse?: boolean;
304
+ shift?: boolean;
305
+ slice?: boolean;
306
+ sort?: boolean;
307
+ splice?: boolean;
308
+ unshift?: boolean;
309
+ indexOf?: boolean;
310
+ lastIndexOf?: boolean;
311
+ every?: boolean;
312
+ some?: boolean;
313
+ forEach?: boolean;
314
+ map?: boolean;
315
+ filter?: boolean;
316
+ reduce?: boolean;
317
+ reduceRight?: boolean;
318
+ find?: boolean;
319
+ findIndex?: boolean;
320
+ fill?: boolean;
321
+ copyWithin?: boolean;
322
+ entries?: boolean;
323
+ keys?: boolean;
324
+ values?: boolean;
325
+ includes?: boolean;
326
+ flatMap?: boolean;
327
+ flat?: boolean;
328
+ at?: boolean;
329
+ [Symbol.iterator]?: boolean;
330
+ readonly [Symbol.unscopables]?: boolean;
331
+ };
332
+ };
333
+ getPermissionPreferences<T = any>(): IPreferences<T>[];
334
+ getPermissionPreferencesObj<T>(): {
335
+ [n: number]: IPreferences<T>;
336
+ length: number;
337
+ toString(): string;
338
+ toLocaleString(): string;
339
+ toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
340
+ pop(): IPreferences<T>;
341
+ push(...items: IPreferences<T>[]): number;
342
+ concat(...items: ConcatArray<IPreferences<T>>[]): IPreferences<T>[];
343
+ concat(...items: (IPreferences<T> | ConcatArray<IPreferences<T>>)[]): IPreferences<T>[];
344
+ join(separator?: string): string;
345
+ reverse(): IPreferences<T>[];
346
+ shift(): IPreferences<T>;
347
+ slice(start?: number, end?: number): IPreferences<T>[];
348
+ sort(compareFn?: (a: IPreferences<T>, b: IPreferences<T>) => number): IPreferences<T>[];
349
+ splice(start: number, deleteCount?: number): IPreferences<T>[];
350
+ splice(start: number, deleteCount: number, ...items: IPreferences<T>[]): IPreferences<T>[];
351
+ unshift(...items: IPreferences<T>[]): number;
352
+ indexOf(searchElement: IPreferences<T>, fromIndex?: number): number;
353
+ lastIndexOf(searchElement: IPreferences<T>, fromIndex?: number): number;
354
+ every<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => value is S_1, thisArg?: any): this is S_1[];
355
+ every(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): boolean;
356
+ some(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): boolean;
357
+ forEach(callbackfn: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => void, thisArg?: any): void;
358
+ map<U>(callbackfn: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => U, thisArg?: any): U[];
359
+ filter<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => value is S_1, thisArg?: any): S_1[];
360
+ filter(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): IPreferences<T>[];
361
+ reduce(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>): IPreferences<T>;
362
+ reduce(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>, initialValue: IPreferences<T>): IPreferences<T>;
363
+ reduce<U>(callbackfn: (previousValue: U, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => U, initialValue: U): U;
364
+ reduceRight(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>): IPreferences<T>;
365
+ reduceRight(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>, initialValue: IPreferences<T>): IPreferences<T>;
366
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => U, initialValue: U): U;
367
+ find<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => value is S_1, thisArg?: any): S_1;
368
+ find(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): IPreferences<T>;
369
+ findIndex(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): number;
370
+ fill(value: IPreferences<T>, start?: number, end?: number): IPreferences<T>[];
371
+ copyWithin(target: number, start: number, end?: number): IPreferences<T>[];
372
+ entries(): ArrayIterator<[number, IPreferences<T>]>;
373
+ keys(): ArrayIterator<number>;
374
+ values(): ArrayIterator<IPreferences<T>>;
375
+ includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
376
+ flatMap<U, This = undefined>(callback: (this: This, value: IPreferences<T>, index: number, array: IPreferences<T>[]) => U | readonly U[], thisArg?: This): U[];
377
+ flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
378
+ at(index: number): IPreferences<T>;
379
+ [Symbol.iterator](): ArrayIterator<IPreferences<T>>;
380
+ [Symbol.unscopables]: {
381
+ [x: number]: boolean;
382
+ length?: boolean;
383
+ toString?: boolean;
384
+ toLocaleString?: boolean;
385
+ pop?: boolean;
386
+ push?: boolean;
387
+ concat?: boolean;
388
+ join?: boolean;
389
+ reverse?: boolean;
390
+ shift?: boolean;
391
+ slice?: boolean;
392
+ sort?: boolean;
393
+ splice?: boolean;
394
+ unshift?: boolean;
395
+ indexOf?: boolean;
396
+ lastIndexOf?: boolean;
397
+ every?: boolean;
398
+ some?: boolean;
399
+ forEach?: boolean;
400
+ map?: boolean;
401
+ filter?: boolean;
402
+ reduce?: boolean;
403
+ reduceRight?: boolean;
404
+ find?: boolean;
405
+ findIndex?: boolean;
406
+ fill?: boolean;
407
+ copyWithin?: boolean;
408
+ entries?: boolean;
409
+ keys?: boolean;
410
+ values?: boolean;
411
+ includes?: boolean;
412
+ flatMap?: boolean;
413
+ flat?: boolean;
414
+ at?: boolean;
415
+ [Symbol.iterator]?: boolean;
416
+ readonly [Symbol.unscopables]?: boolean;
417
+ };
418
+ };
419
+ getPolicyPreferences<T = any>(): IPreferences<T>[];
420
+ getPolicyPreferencesObj<T>(): {
421
+ [n: number]: IPreferences<T>;
422
+ length: number;
423
+ toString(): string;
424
+ toLocaleString(): string;
425
+ toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
426
+ pop(): IPreferences<T>;
427
+ push(...items: IPreferences<T>[]): number;
428
+ concat(...items: ConcatArray<IPreferences<T>>[]): IPreferences<T>[];
429
+ concat(...items: (IPreferences<T> | ConcatArray<IPreferences<T>>)[]): IPreferences<T>[];
430
+ join(separator?: string): string;
431
+ reverse(): IPreferences<T>[];
432
+ shift(): IPreferences<T>;
433
+ slice(start?: number, end?: number): IPreferences<T>[];
434
+ sort(compareFn?: (a: IPreferences<T>, b: IPreferences<T>) => number): IPreferences<T>[];
435
+ splice(start: number, deleteCount?: number): IPreferences<T>[];
436
+ splice(start: number, deleteCount: number, ...items: IPreferences<T>[]): IPreferences<T>[];
437
+ unshift(...items: IPreferences<T>[]): number;
438
+ indexOf(searchElement: IPreferences<T>, fromIndex?: number): number;
439
+ lastIndexOf(searchElement: IPreferences<T>, fromIndex?: number): number;
440
+ every<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => value is S_1, thisArg?: any): this is S_1[];
441
+ every(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): boolean;
442
+ some(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): boolean;
443
+ forEach(callbackfn: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => void, thisArg?: any): void;
444
+ map<U>(callbackfn: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => U, thisArg?: any): U[];
445
+ filter<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => value is S_1, thisArg?: any): S_1[];
446
+ filter(predicate: (value: IPreferences<T>, index: number, array: IPreferences<T>[]) => unknown, thisArg?: any): IPreferences<T>[];
447
+ reduce(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>): IPreferences<T>;
448
+ reduce(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>, initialValue: IPreferences<T>): IPreferences<T>;
449
+ reduce<U>(callbackfn: (previousValue: U, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => U, initialValue: U): U;
450
+ reduceRight(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>): IPreferences<T>;
451
+ reduceRight(callbackfn: (previousValue: IPreferences<T>, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => IPreferences<T>, initialValue: IPreferences<T>): IPreferences<T>;
452
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: IPreferences<T>, currentIndex: number, array: IPreferences<T>[]) => U, initialValue: U): U;
453
+ find<S_1 extends IPreferences<T>>(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => value is S_1, thisArg?: any): S_1;
454
+ find(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): IPreferences<T>;
455
+ findIndex(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): number;
456
+ fill(value: IPreferences<T>, start?: number, end?: number): IPreferences<T>[];
457
+ copyWithin(target: number, start: number, end?: number): IPreferences<T>[];
458
+ entries(): ArrayIterator<[number, IPreferences<T>]>;
459
+ keys(): ArrayIterator<number>;
460
+ values(): ArrayIterator<IPreferences<T>>;
461
+ includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
462
+ flatMap<U, This = undefined>(callback: (this: This, value: IPreferences<T>, index: number, array: IPreferences<T>[]) => U | readonly U[], thisArg?: This): U[];
463
+ flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
464
+ at(index: number): IPreferences<T>;
465
+ [Symbol.iterator](): ArrayIterator<IPreferences<T>>;
466
+ [Symbol.unscopables]: {
467
+ [x: number]: boolean;
468
+ length?: boolean;
469
+ toString?: boolean;
470
+ toLocaleString?: boolean;
471
+ pop?: boolean;
472
+ push?: boolean;
473
+ concat?: boolean;
474
+ join?: boolean;
475
+ reverse?: boolean;
476
+ shift?: boolean;
477
+ slice?: boolean;
478
+ sort?: boolean;
479
+ splice?: boolean;
480
+ unshift?: boolean;
481
+ indexOf?: boolean;
482
+ lastIndexOf?: boolean;
483
+ every?: boolean;
484
+ some?: boolean;
485
+ forEach?: boolean;
486
+ map?: boolean;
487
+ filter?: boolean;
488
+ reduce?: boolean;
489
+ reduceRight?: boolean;
490
+ find?: boolean;
491
+ findIndex?: boolean;
492
+ fill?: boolean;
493
+ copyWithin?: boolean;
494
+ entries?: boolean;
495
+ keys?: boolean;
496
+ values?: boolean;
497
+ includes?: boolean;
498
+ flatMap?: boolean;
499
+ flat?: boolean;
500
+ at?: boolean;
501
+ [Symbol.iterator]?: boolean;
502
+ readonly [Symbol.unscopables]?: boolean;
503
+ };
504
+ };
505
+ getRoles(): {};
506
+ getRolesObj<S>(): {
507
+ [n: number]: IPreferences<S>;
508
+ length: number;
509
+ toString(): string;
510
+ toLocaleString(): string;
511
+ toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
512
+ pop(): IPreferences<S>;
513
+ push(...items: IPreferences<S>[]): number;
514
+ concat(...items: ConcatArray<IPreferences<S>>[]): IPreferences<S>[];
515
+ concat(...items: (IPreferences<S> | ConcatArray<IPreferences<S>>)[]): IPreferences<S>[];
516
+ join(separator?: string): string;
517
+ reverse(): IPreferences<S>[];
518
+ shift(): IPreferences<S>;
519
+ slice(start?: number, end?: number): IPreferences<S>[];
520
+ sort(compareFn?: (a: IPreferences<S>, b: IPreferences<S>) => number): IPreferences<S>[];
521
+ splice(start: number, deleteCount?: number): IPreferences<S>[];
522
+ splice(start: number, deleteCount: number, ...items: IPreferences<S>[]): IPreferences<S>[];
523
+ unshift(...items: IPreferences<S>[]): number;
524
+ indexOf(searchElement: IPreferences<S>, fromIndex?: number): number;
525
+ lastIndexOf(searchElement: IPreferences<S>, fromIndex?: number): number;
526
+ every<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => value is S_1, thisArg?: any): this is S_1[];
527
+ every(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): boolean;
528
+ some(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): boolean;
529
+ forEach(callbackfn: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => void, thisArg?: any): void;
530
+ map<U>(callbackfn: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => U, thisArg?: any): U[];
531
+ filter<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => value is S_1, thisArg?: any): S_1[];
532
+ filter(predicate: (value: IPreferences<S>, index: number, array: IPreferences<S>[]) => unknown, thisArg?: any): IPreferences<S>[];
533
+ reduce(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>): IPreferences<S>;
534
+ reduce(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>, initialValue: IPreferences<S>): IPreferences<S>;
535
+ reduce<U>(callbackfn: (previousValue: U, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => U, initialValue: U): U;
536
+ reduceRight(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>): IPreferences<S>;
537
+ reduceRight(callbackfn: (previousValue: IPreferences<S>, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => IPreferences<S>, initialValue: IPreferences<S>): IPreferences<S>;
538
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: IPreferences<S>, currentIndex: number, array: IPreferences<S>[]) => U, initialValue: U): U;
539
+ find<S_1 extends IPreferences<S>>(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => value is S_1, thisArg?: any): S_1;
540
+ find(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): IPreferences<S>;
541
+ findIndex(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): number;
542
+ fill(value: IPreferences<S>, start?: number, end?: number): IPreferences<S>[];
543
+ copyWithin(target: number, start: number, end?: number): IPreferences<S>[];
544
+ entries(): ArrayIterator<[number, IPreferences<S>]>;
545
+ keys(): ArrayIterator<number>;
546
+ values(): ArrayIterator<IPreferences<S>>;
547
+ includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
548
+ flatMap<U, This = undefined>(callback: (this: This, value: IPreferences<S>, index: number, array: IPreferences<S>[]) => U | readonly U[], thisArg?: This): U[];
549
+ flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
550
+ at(index: number): IPreferences<S>;
551
+ [Symbol.iterator](): ArrayIterator<IPreferences<S>>;
552
+ [Symbol.unscopables]: {
553
+ [x: number]: boolean;
554
+ length?: boolean;
555
+ toString?: boolean;
556
+ toLocaleString?: boolean;
557
+ pop?: boolean;
558
+ push?: boolean;
559
+ concat?: boolean;
560
+ join?: boolean;
561
+ reverse?: boolean;
562
+ shift?: boolean;
563
+ slice?: boolean;
564
+ sort?: boolean;
565
+ splice?: boolean;
566
+ unshift?: boolean;
567
+ indexOf?: boolean;
568
+ lastIndexOf?: boolean;
569
+ every?: boolean;
570
+ some?: boolean;
571
+ forEach?: boolean;
572
+ map?: boolean;
573
+ filter?: boolean;
574
+ reduce?: boolean;
575
+ reduceRight?: boolean;
576
+ find?: boolean;
577
+ findIndex?: boolean;
578
+ fill?: boolean;
579
+ copyWithin?: boolean;
580
+ entries?: boolean;
581
+ keys?: boolean;
582
+ values?: boolean;
583
+ includes?: boolean;
584
+ flatMap?: boolean;
585
+ flat?: boolean;
586
+ at?: boolean;
587
+ [Symbol.iterator]?: boolean;
588
+ readonly [Symbol.unscopables]?: boolean;
589
+ };
590
+ };
591
+ getWebsocketConfig(): IWebsocketConfig;
592
+ private convertArrayToObject;
593
+ registerExpressMiddleware(app: Express, container: Container): Promise<void[]>;
594
+ apolloCacheKeyGenerator(context: GraphQLRequestContext<unknown>, defaultCacheKey: string): string;
595
+ apolloInvalidateCacheKeyGenerator(requestContext: GraphQLRequestContext<unknown>, responseContext: GraphQLRequestContextWillSendResponse<unknown>, defaultCacheKey: string): string;
596
+ /**
597
+ * Load and register Inngest functions from all modules
598
+ * Similar to loadClientMoleculerService pattern
599
+ *
600
+ * @returns Array of all Inngest function instances ready for registration
601
+ */
602
+ loadInngestFunctions({ container, inngest, settings, }: {
603
+ container: Container;
604
+ inngest: any;
605
+ settings?: unknown;
606
+ }): any[];
607
+ /**
608
+ * Get a flat list of all Inngest functions for registration
609
+ * This is the main method used by the setup to register with Inngest
610
+ *
611
+ * @returns Flattened array of Inngest function instances
612
+ */
613
+ getInngestFunctionsForRegistration({ container, inngest, settings, }: {
614
+ container: Container;
615
+ inngest: any;
616
+ settings?: unknown;
617
+ }): any[];
618
+ }
619
+ export { Feature };