@adaas/a-concept 0.1.55 → 0.1.57

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
@@ -2622,6 +2622,7 @@ type A_TYPES__A_InjectDecorator_Meta = Array<{
2622
2622
  parent?: {
2623
2623
  layerOffset?: number;
2624
2624
  };
2625
+ flat?: boolean;
2625
2626
  create?: boolean;
2626
2627
  instructions?: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>;
2627
2628
  }>;
@@ -2773,6 +2774,17 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2773
2774
  * Configuration options for the scope
2774
2775
  */
2775
2776
  config?: Partial<A_TYPES__ScopeConfig>);
2777
+ /**
2778
+ * Generator to iterate through all parent scopes
2779
+ */
2780
+ parents(): Generator<A_Scope>;
2781
+ /**
2782
+ * This method is used to retrieve a parent scope at a specific level
2783
+ *
2784
+ * @param level
2785
+ * @returns
2786
+ */
2787
+ parentAtLevel(level: number): A_Scope | undefined;
2776
2788
  /**
2777
2789
  * Determines which initializer method to use based on the type of the first parameter.
2778
2790
  *
@@ -2916,6 +2928,41 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2916
2928
  * Provide a string to check if a component, entity or fragment with the provided name is available in the scope
2917
2929
  */
2918
2930
  constructor: string): boolean;
2931
+ /**
2932
+ * This method is used to check if the component is available in the scope
2933
+ *
2934
+ * [!] Note that this method checks for the component ONLY in the current scope
2935
+ *
2936
+ * @param component
2937
+ * @returns
2938
+ */
2939
+ hasFlat<T extends A_Component>(
2940
+ /**
2941
+ * Provide a component constructor to check if it's available in the scope
2942
+ */
2943
+ component: A_TYPES__Component_Constructor<T>): boolean;
2944
+ hasFlat<T extends A_Entity>(
2945
+ /**
2946
+ * Provide an entity constructor to check if it's available in the scope
2947
+ *
2948
+ * [!] Note that entities are unique per aseid, so this method checks if there's at least one entity of the provided type in the scope
2949
+ */
2950
+ entity: A_TYPES__Entity_Constructor<T>): boolean;
2951
+ hasFlat<T extends A_Fragment>(
2952
+ /**
2953
+ * Provide a fragment constructor to check if it's available in the scope
2954
+ */
2955
+ fragment: A_TYPES__Fragment_Constructor<T>): boolean;
2956
+ hasFlat<T extends A_Error>(
2957
+ /**
2958
+ * Provide an error constructor to check if it's available in the scope
2959
+ */
2960
+ error: A_TYPES__Error_Constructor<T>): boolean;
2961
+ hasFlat(
2962
+ /**
2963
+ * Provide a string to check if a component, entity or fragment with the provided name is available in the scope
2964
+ */
2965
+ constructor: string): boolean;
2919
2966
  /**
2920
2967
  * Merges two scopes into a new one
2921
2968
  *
@@ -2956,6 +3003,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2956
3003
  * This method should resolve all instances of the components, or entities within the scope, by provided parent class
2957
3004
  * So in case of providing a base class it should return all instances that extends this base class
2958
3005
  *
3006
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3007
+ *
2959
3008
  * @param component
2960
3009
  */
2961
3010
  resolveAll<T extends A_Component>(
@@ -2974,6 +3023,30 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2974
3023
  */
2975
3024
  entity: A_TYPES__Entity_Constructor<T>): Array<T>;
2976
3025
  resolveAll<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): Array<T>;
3026
+ /**
3027
+ * This method should resolve all instances of the components, or entities within the scope, by provided parent class
3028
+ * So in case of providing a base class it should return all instances that extends this base class
3029
+ *
3030
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3031
+ *
3032
+ * @param component
3033
+ */
3034
+ resolveFlatAll<T extends A_Component>(
3035
+ /**
3036
+ * Provide a component constructor to resolve its instance from the scope
3037
+ */
3038
+ component: A_TYPES__Component_Constructor<T>): Array<T>;
3039
+ resolveFlatAll<T extends A_Fragment>(
3040
+ /**
3041
+ * Provide a fragment constructor to resolve its instance from the scope
3042
+ */
3043
+ fragment: A_TYPES__Fragment_Constructor<T>): Array<T>;
3044
+ resolveFlatAll<T extends A_Entity>(
3045
+ /**
3046
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3047
+ */
3048
+ entity: A_TYPES__Entity_Constructor<T>): Array<T>;
3049
+ resolveFlatAll<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): Array<T>;
2977
3050
  /**
2978
3051
  * This method allows to resolve/inject a component, fragment or entity from the scope
2979
3052
  * Depending on the provided parameters it can resolve:
@@ -3043,15 +3116,93 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3043
3116
  * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3044
3117
  */
3045
3118
  param1: InstanceType<T>): T | Array<T> | undefined;
3119
+ /**
3120
+ * This polymorphic method allows to resolve/inject a component, fragment or entity from the scope
3121
+ * Depending on the provided parameters it can resolve:
3122
+ * - A single component/fragment/entity by its constructor or name
3123
+ * - An array of components/fragments/entities by providing an array of constructors
3124
+ * - An entity or an array of entities by providing the entity constructor and query instructions
3125
+ *
3126
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3127
+ *
3128
+ * @param component
3129
+ */
3130
+ resolveFlat<T extends A_Component>(
3131
+ /**
3132
+ * Provide a component constructor to resolve its instance from the scope
3133
+ */
3134
+ component: A_TYPES__Component_Constructor<T>): T | undefined;
3135
+ resolveFlat<T extends A_TYPES__Component_Constructor[]>(
3136
+ /**
3137
+ * Provide an array of component constructors to resolve their instances from the scope
3138
+ */
3139
+ components: [...T]): Array<InstanceType<T[number]>> | undefined;
3140
+ resolveFlat<T extends A_Fragment>(
3141
+ /**
3142
+ * Provide a fragment constructor to resolve its instance from the scope
3143
+ */
3144
+ fragment: A_TYPES__Fragment_Constructor<T>): T | undefined;
3145
+ resolveFlat<T extends A_TYPES__Fragment_Constructor[]>(
3146
+ /**
3147
+ * Provide an array of fragment constructors to resolve their instances from the scope
3148
+ */
3149
+ fragments: [...T]): Array<InstanceType<T[number]>> | undefined;
3150
+ resolveFlat<T extends A_Entity>(
3151
+ /**
3152
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3153
+ */
3154
+ entity: A_TYPES__Entity_Constructor<T>): T | undefined;
3155
+ resolveFlat<T extends A_Entity>(
3156
+ /**
3157
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3158
+ */
3159
+ entity: A_TYPES__Entity_Constructor<T>,
3160
+ /**
3161
+ * Provide optional instructions to find a specific entity or a set of entities
3162
+ */
3163
+ instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>): Array<T>;
3164
+ resolveFlat<T extends A_Scope>(
3165
+ /**
3166
+ * Uses only in case of resolving a single entity
3167
+ *
3168
+ * Provide an entity constructor to resolve its instance from the scope
3169
+ */
3170
+ scope: A_TYPES__Scope_Constructor<T>): T | undefined;
3171
+ resolveFlat<T extends A_Error>(
3172
+ /**
3173
+ * Uses only in case of resolving a single entity
3174
+ *
3175
+ * Provide an entity constructor to resolve its instance from the scope
3176
+ */
3177
+ scope: A_TYPES__Error_Constructor<T>): T | undefined;
3178
+ resolveFlat<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): T | undefined;
3179
+ resolveFlat<T extends A_TYPES__ScopeResolvableComponents>(
3180
+ /**
3181
+ * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3182
+ */
3183
+ param1: A_TYPES__InjectableConstructors): T | Array<T> | undefined;
3184
+ resolveFlat<T extends A_TYPES__ScopeLinkedConstructors>(
3185
+ /**
3186
+ * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3187
+ */
3188
+ param1: InstanceType<T>): T | Array<T> | undefined;
3046
3189
  /**
3047
3190
  * This method is used internally to resolve a component, fragment or entity by its constructor name
3048
3191
  *
3049
3192
  * [!] Note that this method checks for the component, fragment or entity in the current scope and all parent scopes
3193
+ * [!!] Note: No parent scopes are checked
3050
3194
  *
3051
3195
  * @param name - name of the component, fragment or entity to resolve (constructor name for components and fragments, static entity property for entities, static code property for commands)
3052
3196
  * @returns
3053
3197
  */
3054
3198
  private resolveByName;
3199
+ /**
3200
+ * Resolves a component, fragment or entity from the scope without checking parent scopes
3201
+ *
3202
+ * @param component
3203
+ * @param instructions
3204
+ */
3205
+ private resolveFlatOnce;
3055
3206
  /**
3056
3207
  * This method is used internally to resolve a single component, fragment or entity from the scope
3057
3208
  *
@@ -3060,11 +3211,22 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3060
3211
  * @returns
3061
3212
  */
3062
3213
  private resolveOnce;
3214
+ /**
3215
+ * Resolves the issuer of the scope by provided constructor
3216
+ *
3217
+ * [!] Note that this method checks ONLY for the direct issuer of the scope
3218
+ * [!!] No parent scopes are checked
3219
+ *
3220
+ *
3221
+ * @param ctor
3222
+ * @returns
3223
+ */
3063
3224
  private resolveIssuer;
3064
3225
  /**
3065
3226
  * This method is used internally to resolve a single entity from the scope based on the provided instructions
3066
3227
  *
3067
3228
  * [!] Note that this method can return either a single entity or an array of entities depending on the instructions provided
3229
+ * [!!] Note: No parent scopes are checked
3068
3230
  *
3069
3231
  * @param entity
3070
3232
  * @param instructions
@@ -3074,6 +3236,9 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3074
3236
  /**
3075
3237
  * This method is used internally to resolve a single error from the scope
3076
3238
  *
3239
+ * [!] Note that errors are singleton instances within the scope
3240
+ * [!!] No parent scopes are checked
3241
+ *
3077
3242
  * @param error
3078
3243
  * @returns
3079
3244
  */
@@ -3081,6 +3246,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3081
3246
  /**
3082
3247
  * This method is used internally to resolve a single fragment from the scope
3083
3248
  *
3249
+ * [!] Note that this method checks for the fragment in the current scope and all parent scopes
3250
+ *
3084
3251
  * @param fragment
3085
3252
  * @returns
3086
3253
  */
@@ -3095,6 +3262,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3095
3262
  /**
3096
3263
  * This method is used internally to resolve a single component from the scope
3097
3264
  *
3265
+ * [!!] Note: No parent scopes are checked
3266
+ *
3098
3267
  * @param component
3099
3268
  * @returns
3100
3269
  */
@@ -3888,6 +4057,7 @@ type A_TYPES__A_Dependency_LoadDecoratorReturn<T = any> = (target: T, propertyKe
3888
4057
  */
3889
4058
  type A_TYPES__A_Dependency_DefaultDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3890
4059
  type A_TYPES__A_Dependency_ParentDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
4060
+ type A_TYPES__A_Dependency_FlatDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3891
4061
 
3892
4062
  /**
3893
4063
  * Should indicate which Default is required
@@ -3898,6 +4068,11 @@ declare function A_Dependency_Default(
3898
4068
  */
3899
4069
  ...args: any[]): A_TYPES__A_Dependency_DefaultDecoratorReturn;
3900
4070
 
4071
+ /**
4072
+ * Should indicate which dependency is required
4073
+ */
4074
+ declare function A_Dependency_Flat(): A_TYPES__A_Dependency_FlatDecoratorReturn;
4075
+
3901
4076
  /**
3902
4077
  * Should indicate which Load is required
3903
4078
  */
@@ -3951,6 +4126,13 @@ declare class A_Dependency {
3951
4126
  * @returns
3952
4127
  */
3953
4128
  static get Parent(): typeof A_Dependency_Parent;
4129
+ /**
4130
+ * Allows to indicate that the dependency should be resolved in a flat manner
4131
+ * Only in the same scope, without going up to parent scopes
4132
+ *
4133
+ * @returns
4134
+ */
4135
+ static get Flat(): typeof A_Dependency_Flat;
3954
4136
  protected _name: string;
3955
4137
  /**
3956
4138
  * Class instances allows to indentify dependencies by name and use them for better type checking
@@ -4379,4 +4561,4 @@ declare class A_TypeGuards {
4379
4561
  static isErrorSerializedType<T extends A_TYPES__Error_Serialized>(param: any): param is T;
4380
4562
  }
4381
4563
 
4382
- export { ASEID, ASEID_Error, A_Abstraction, A_AbstractionError, A_Abstraction_Extend, A_CONSTANTS__DEFAULT_ENV_VARIABLES, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION, A_Caller, A_CallerError, A_CommonHelper, A_Component, A_ComponentMeta, A_Concept, A_ConceptMeta, A_Container, A_ContainerMeta, A_Context, A_ContextError, A_Dependency, A_DependencyError, A_Dependency_Default, A_Dependency_Load, A_Dependency_Require, A_Entity, A_EntityError, A_EntityMeta, A_Error, A_Feature, A_FeatureError, A_Feature_Define, A_Feature_Extend, A_FormatterHelper, A_Fragment, type A_ID_TYPES__TimeId_Parts, A_IdentityHelper, A_Inject, A_InjectError, A_Meta, A_Scope, A_ScopeError, A_Stage, A_StageError, A_StepManagerError, A_StepsManager, type A_TYPES_ScopeDependentComponents, type A_TYPES_ScopeIndependentComponents, type A_TYPES_StageExecutionBehavior, type A_TYPES__ASEID_Constructor, type A_TYPES__ASEID_ConstructorConfig, type A_TYPES__ASEID_JSON, type A_TYPES__A_Dependency_DefaultDecoratorReturn, type A_TYPES__A_Dependency_LoadDecoratorReturn, type A_TYPES__A_Dependency_ParentDecoratorReturn, type A_TYPES__A_Dependency_RequireDecoratorReturn, type A_TYPES__A_InjectDecoratorDescriptor, type A_TYPES__A_InjectDecoratorReturn, type A_TYPES__A_InjectDecorator_EntityInjectionInstructions, type A_TYPES__A_InjectDecorator_EntityInjectionPagination, type A_TYPES__A_InjectDecorator_EntityInjectionQuery, type A_TYPES__A_InjectDecorator_Meta, type A_TYPES__A_StageStep, type A_TYPES__A_StageStepProcessingExtraParams, A_TYPES__A_Stage_Status, type A_TYPES__AbstractionAvailableComponents, type A_TYPES__AbstractionDecoratorConfig, type A_TYPES__AbstractionDecoratorDescriptor, type A_TYPES__Abstraction_Constructor, type A_TYPES__Abstraction_Init, type A_TYPES__Abstraction_Serialized, type A_TYPES__CallerComponent, type A_TYPES__Caller_Constructor, type A_TYPES__Caller_Init, type A_TYPES__Caller_Serialized, type A_TYPES__ComponentMeta, type A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey, type A_TYPES__Component_Constructor, type A_TYPES__Component_Init, type A_TYPES__Component_Serialized, type A_TYPES__ConceptAbstraction, type A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptAbstractions, type A_TYPES__ConceptENVVariables, A_TYPES__ConceptMetaKey, type A_TYPES__Concept_Constructor, type A_TYPES__Concept_Init, type A_TYPES__Concept_Serialized, type A_TYPES__ContainerMeta, type A_TYPES__ContainerMetaExtension, A_TYPES__ContainerMetaKey, type A_TYPES__Container_Constructor, type A_TYPES__Container_Init, type A_TYPES__Container_Serialized, type A_TYPES__ContextEnvironment, type A_TYPES__DeepPartial, type A_TYPES__Dictionary, A_TYPES__EntityFeatures, type A_TYPES__EntityMeta, A_TYPES__EntityMetaKey, type A_TYPES__Entity_Constructor, type A_TYPES__Entity_Init, type A_TYPES__Entity_Serialized, type A_TYPES__Error_Constructor, type A_TYPES__Error_Init, type A_TYPES__Error_Serialized, type A_TYPES__ExtractNested, type A_TYPES__ExtractProperties, type A_TYPES__FeatureAvailableComponents, type A_TYPES__FeatureAvailableConstructors, type A_TYPES__FeatureDefineDecoratorConfig, type A_TYPES__FeatureDefineDecoratorDescriptor, type A_TYPES__FeatureDefineDecoratorMeta, type A_TYPES__FeatureDefineDecoratorTarget, type A_TYPES__FeatureDefineDecoratorTemplateItem, type A_TYPES__FeatureError_Init, type A_TYPES__FeatureExtendDecoratorConfig, type A_TYPES__FeatureExtendDecoratorDescriptor, type A_TYPES__FeatureExtendDecoratorMeta, type A_TYPES__FeatureExtendDecoratorScopeConfig, type A_TYPES__FeatureExtendDecoratorScopeItem, type A_TYPES__FeatureExtendDecoratorTarget, type A_TYPES__FeatureExtendableMeta, A_TYPES__FeatureState, type A_TYPES__Feature_Constructor, type A_TYPES__Feature_Init, type A_TYPES__Feature_InitWithComponent, type A_TYPES__Feature_InitWithTemplate, type A_TYPES__Feature_Serialized, type A_TYPES__Fragment_Constructor, type A_TYPES__Fragment_Init, type A_TYPES__Fragment_Serialized, type A_TYPES__IEntity, type A_TYPES__InjectableConstructors, type A_TYPES__InjectableTargets, type A_TYPES__MetaLinkedComponentConstructors, type A_TYPES__MetaLinkedComponents, type A_TYPES__NonObjectPaths, type A_TYPES__ObjectKeyEnum, type A_TYPES__Paths, type A_TYPES__PathsToObject, type A_TYPES__Required, type A_TYPES__ScopeConfig, type A_TYPES__ScopeLinkedComponents, type A_TYPES__ScopeLinkedConstructors, type A_TYPES__ScopeResolvableComponents, type A_TYPES__Scope_Constructor, type A_TYPES__Scope_Init, type A_TYPES__Scope_Serialized, type A_TYPES__Stage_Serialized, type A_TYPES__UnionToIntersection, A_TypeGuards };
4564
+ export { ASEID, ASEID_Error, A_Abstraction, A_AbstractionError, A_Abstraction_Extend, A_CONSTANTS__DEFAULT_ENV_VARIABLES, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION, A_Caller, A_CallerError, A_CommonHelper, A_Component, A_ComponentMeta, A_Concept, A_ConceptMeta, A_Container, A_ContainerMeta, A_Context, A_ContextError, A_Dependency, A_DependencyError, A_Dependency_Default, A_Dependency_Load, A_Dependency_Require, A_Entity, A_EntityError, A_EntityMeta, A_Error, A_Feature, A_FeatureError, A_Feature_Define, A_Feature_Extend, A_FormatterHelper, A_Fragment, type A_ID_TYPES__TimeId_Parts, A_IdentityHelper, A_Inject, A_InjectError, A_Meta, A_Scope, A_ScopeError, A_Stage, A_StageError, A_StepManagerError, A_StepsManager, type A_TYPES_ScopeDependentComponents, type A_TYPES_ScopeIndependentComponents, type A_TYPES_StageExecutionBehavior, type A_TYPES__ASEID_Constructor, type A_TYPES__ASEID_ConstructorConfig, type A_TYPES__ASEID_JSON, type A_TYPES__A_Dependency_DefaultDecoratorReturn, type A_TYPES__A_Dependency_FlatDecoratorReturn, type A_TYPES__A_Dependency_LoadDecoratorReturn, type A_TYPES__A_Dependency_ParentDecoratorReturn, type A_TYPES__A_Dependency_RequireDecoratorReturn, type A_TYPES__A_InjectDecoratorDescriptor, type A_TYPES__A_InjectDecoratorReturn, type A_TYPES__A_InjectDecorator_EntityInjectionInstructions, type A_TYPES__A_InjectDecorator_EntityInjectionPagination, type A_TYPES__A_InjectDecorator_EntityInjectionQuery, type A_TYPES__A_InjectDecorator_Meta, type A_TYPES__A_StageStep, type A_TYPES__A_StageStepProcessingExtraParams, A_TYPES__A_Stage_Status, type A_TYPES__AbstractionAvailableComponents, type A_TYPES__AbstractionDecoratorConfig, type A_TYPES__AbstractionDecoratorDescriptor, type A_TYPES__Abstraction_Constructor, type A_TYPES__Abstraction_Init, type A_TYPES__Abstraction_Serialized, type A_TYPES__CallerComponent, type A_TYPES__Caller_Constructor, type A_TYPES__Caller_Init, type A_TYPES__Caller_Serialized, type A_TYPES__ComponentMeta, type A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey, type A_TYPES__Component_Constructor, type A_TYPES__Component_Init, type A_TYPES__Component_Serialized, type A_TYPES__ConceptAbstraction, type A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptAbstractions, type A_TYPES__ConceptENVVariables, A_TYPES__ConceptMetaKey, type A_TYPES__Concept_Constructor, type A_TYPES__Concept_Init, type A_TYPES__Concept_Serialized, type A_TYPES__ContainerMeta, type A_TYPES__ContainerMetaExtension, A_TYPES__ContainerMetaKey, type A_TYPES__Container_Constructor, type A_TYPES__Container_Init, type A_TYPES__Container_Serialized, type A_TYPES__ContextEnvironment, type A_TYPES__DeepPartial, type A_TYPES__Dictionary, A_TYPES__EntityFeatures, type A_TYPES__EntityMeta, A_TYPES__EntityMetaKey, type A_TYPES__Entity_Constructor, type A_TYPES__Entity_Init, type A_TYPES__Entity_Serialized, type A_TYPES__Error_Constructor, type A_TYPES__Error_Init, type A_TYPES__Error_Serialized, type A_TYPES__ExtractNested, type A_TYPES__ExtractProperties, type A_TYPES__FeatureAvailableComponents, type A_TYPES__FeatureAvailableConstructors, type A_TYPES__FeatureDefineDecoratorConfig, type A_TYPES__FeatureDefineDecoratorDescriptor, type A_TYPES__FeatureDefineDecoratorMeta, type A_TYPES__FeatureDefineDecoratorTarget, type A_TYPES__FeatureDefineDecoratorTemplateItem, type A_TYPES__FeatureError_Init, type A_TYPES__FeatureExtendDecoratorConfig, type A_TYPES__FeatureExtendDecoratorDescriptor, type A_TYPES__FeatureExtendDecoratorMeta, type A_TYPES__FeatureExtendDecoratorScopeConfig, type A_TYPES__FeatureExtendDecoratorScopeItem, type A_TYPES__FeatureExtendDecoratorTarget, type A_TYPES__FeatureExtendableMeta, A_TYPES__FeatureState, type A_TYPES__Feature_Constructor, type A_TYPES__Feature_Init, type A_TYPES__Feature_InitWithComponent, type A_TYPES__Feature_InitWithTemplate, type A_TYPES__Feature_Serialized, type A_TYPES__Fragment_Constructor, type A_TYPES__Fragment_Init, type A_TYPES__Fragment_Serialized, type A_TYPES__IEntity, type A_TYPES__InjectableConstructors, type A_TYPES__InjectableTargets, type A_TYPES__MetaLinkedComponentConstructors, type A_TYPES__MetaLinkedComponents, type A_TYPES__NonObjectPaths, type A_TYPES__ObjectKeyEnum, type A_TYPES__Paths, type A_TYPES__PathsToObject, type A_TYPES__Required, type A_TYPES__ScopeConfig, type A_TYPES__ScopeLinkedComponents, type A_TYPES__ScopeLinkedConstructors, type A_TYPES__ScopeResolvableComponents, type A_TYPES__Scope_Constructor, type A_TYPES__Scope_Init, type A_TYPES__Scope_Serialized, type A_TYPES__Stage_Serialized, type A_TYPES__UnionToIntersection, A_TypeGuards };
package/dist/index.d.ts CHANGED
@@ -2622,6 +2622,7 @@ type A_TYPES__A_InjectDecorator_Meta = Array<{
2622
2622
  parent?: {
2623
2623
  layerOffset?: number;
2624
2624
  };
2625
+ flat?: boolean;
2625
2626
  create?: boolean;
2626
2627
  instructions?: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>;
2627
2628
  }>;
@@ -2773,6 +2774,17 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2773
2774
  * Configuration options for the scope
2774
2775
  */
2775
2776
  config?: Partial<A_TYPES__ScopeConfig>);
2777
+ /**
2778
+ * Generator to iterate through all parent scopes
2779
+ */
2780
+ parents(): Generator<A_Scope>;
2781
+ /**
2782
+ * This method is used to retrieve a parent scope at a specific level
2783
+ *
2784
+ * @param level
2785
+ * @returns
2786
+ */
2787
+ parentAtLevel(level: number): A_Scope | undefined;
2776
2788
  /**
2777
2789
  * Determines which initializer method to use based on the type of the first parameter.
2778
2790
  *
@@ -2916,6 +2928,41 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2916
2928
  * Provide a string to check if a component, entity or fragment with the provided name is available in the scope
2917
2929
  */
2918
2930
  constructor: string): boolean;
2931
+ /**
2932
+ * This method is used to check if the component is available in the scope
2933
+ *
2934
+ * [!] Note that this method checks for the component ONLY in the current scope
2935
+ *
2936
+ * @param component
2937
+ * @returns
2938
+ */
2939
+ hasFlat<T extends A_Component>(
2940
+ /**
2941
+ * Provide a component constructor to check if it's available in the scope
2942
+ */
2943
+ component: A_TYPES__Component_Constructor<T>): boolean;
2944
+ hasFlat<T extends A_Entity>(
2945
+ /**
2946
+ * Provide an entity constructor to check if it's available in the scope
2947
+ *
2948
+ * [!] Note that entities are unique per aseid, so this method checks if there's at least one entity of the provided type in the scope
2949
+ */
2950
+ entity: A_TYPES__Entity_Constructor<T>): boolean;
2951
+ hasFlat<T extends A_Fragment>(
2952
+ /**
2953
+ * Provide a fragment constructor to check if it's available in the scope
2954
+ */
2955
+ fragment: A_TYPES__Fragment_Constructor<T>): boolean;
2956
+ hasFlat<T extends A_Error>(
2957
+ /**
2958
+ * Provide an error constructor to check if it's available in the scope
2959
+ */
2960
+ error: A_TYPES__Error_Constructor<T>): boolean;
2961
+ hasFlat(
2962
+ /**
2963
+ * Provide a string to check if a component, entity or fragment with the provided name is available in the scope
2964
+ */
2965
+ constructor: string): boolean;
2919
2966
  /**
2920
2967
  * Merges two scopes into a new one
2921
2968
  *
@@ -2956,6 +3003,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2956
3003
  * This method should resolve all instances of the components, or entities within the scope, by provided parent class
2957
3004
  * So in case of providing a base class it should return all instances that extends this base class
2958
3005
  *
3006
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3007
+ *
2959
3008
  * @param component
2960
3009
  */
2961
3010
  resolveAll<T extends A_Component>(
@@ -2974,6 +3023,30 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
2974
3023
  */
2975
3024
  entity: A_TYPES__Entity_Constructor<T>): Array<T>;
2976
3025
  resolveAll<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): Array<T>;
3026
+ /**
3027
+ * This method should resolve all instances of the components, or entities within the scope, by provided parent class
3028
+ * So in case of providing a base class it should return all instances that extends this base class
3029
+ *
3030
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3031
+ *
3032
+ * @param component
3033
+ */
3034
+ resolveFlatAll<T extends A_Component>(
3035
+ /**
3036
+ * Provide a component constructor to resolve its instance from the scope
3037
+ */
3038
+ component: A_TYPES__Component_Constructor<T>): Array<T>;
3039
+ resolveFlatAll<T extends A_Fragment>(
3040
+ /**
3041
+ * Provide a fragment constructor to resolve its instance from the scope
3042
+ */
3043
+ fragment: A_TYPES__Fragment_Constructor<T>): Array<T>;
3044
+ resolveFlatAll<T extends A_Entity>(
3045
+ /**
3046
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3047
+ */
3048
+ entity: A_TYPES__Entity_Constructor<T>): Array<T>;
3049
+ resolveFlatAll<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): Array<T>;
2977
3050
  /**
2978
3051
  * This method allows to resolve/inject a component, fragment or entity from the scope
2979
3052
  * Depending on the provided parameters it can resolve:
@@ -3043,15 +3116,93 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3043
3116
  * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3044
3117
  */
3045
3118
  param1: InstanceType<T>): T | Array<T> | undefined;
3119
+ /**
3120
+ * This polymorphic method allows to resolve/inject a component, fragment or entity from the scope
3121
+ * Depending on the provided parameters it can resolve:
3122
+ * - A single component/fragment/entity by its constructor or name
3123
+ * - An array of components/fragments/entities by providing an array of constructors
3124
+ * - An entity or an array of entities by providing the entity constructor and query instructions
3125
+ *
3126
+ * [!] Applicable for the current scope ONLY, no parent scopes are checked
3127
+ *
3128
+ * @param component
3129
+ */
3130
+ resolveFlat<T extends A_Component>(
3131
+ /**
3132
+ * Provide a component constructor to resolve its instance from the scope
3133
+ */
3134
+ component: A_TYPES__Component_Constructor<T>): T | undefined;
3135
+ resolveFlat<T extends A_TYPES__Component_Constructor[]>(
3136
+ /**
3137
+ * Provide an array of component constructors to resolve their instances from the scope
3138
+ */
3139
+ components: [...T]): Array<InstanceType<T[number]>> | undefined;
3140
+ resolveFlat<T extends A_Fragment>(
3141
+ /**
3142
+ * Provide a fragment constructor to resolve its instance from the scope
3143
+ */
3144
+ fragment: A_TYPES__Fragment_Constructor<T>): T | undefined;
3145
+ resolveFlat<T extends A_TYPES__Fragment_Constructor[]>(
3146
+ /**
3147
+ * Provide an array of fragment constructors to resolve their instances from the scope
3148
+ */
3149
+ fragments: [...T]): Array<InstanceType<T[number]>> | undefined;
3150
+ resolveFlat<T extends A_Entity>(
3151
+ /**
3152
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3153
+ */
3154
+ entity: A_TYPES__Entity_Constructor<T>): T | undefined;
3155
+ resolveFlat<T extends A_Entity>(
3156
+ /**
3157
+ * Provide an entity constructor to resolve its instance or an array of instances from the scope
3158
+ */
3159
+ entity: A_TYPES__Entity_Constructor<T>,
3160
+ /**
3161
+ * Provide optional instructions to find a specific entity or a set of entities
3162
+ */
3163
+ instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>): Array<T>;
3164
+ resolveFlat<T extends A_Scope>(
3165
+ /**
3166
+ * Uses only in case of resolving a single entity
3167
+ *
3168
+ * Provide an entity constructor to resolve its instance from the scope
3169
+ */
3170
+ scope: A_TYPES__Scope_Constructor<T>): T | undefined;
3171
+ resolveFlat<T extends A_Error>(
3172
+ /**
3173
+ * Uses only in case of resolving a single entity
3174
+ *
3175
+ * Provide an entity constructor to resolve its instance from the scope
3176
+ */
3177
+ scope: A_TYPES__Error_Constructor<T>): T | undefined;
3178
+ resolveFlat<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): T | undefined;
3179
+ resolveFlat<T extends A_TYPES__ScopeResolvableComponents>(
3180
+ /**
3181
+ * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3182
+ */
3183
+ param1: A_TYPES__InjectableConstructors): T | Array<T> | undefined;
3184
+ resolveFlat<T extends A_TYPES__ScopeLinkedConstructors>(
3185
+ /**
3186
+ * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
3187
+ */
3188
+ param1: InstanceType<T>): T | Array<T> | undefined;
3046
3189
  /**
3047
3190
  * This method is used internally to resolve a component, fragment or entity by its constructor name
3048
3191
  *
3049
3192
  * [!] Note that this method checks for the component, fragment or entity in the current scope and all parent scopes
3193
+ * [!!] Note: No parent scopes are checked
3050
3194
  *
3051
3195
  * @param name - name of the component, fragment or entity to resolve (constructor name for components and fragments, static entity property for entities, static code property for commands)
3052
3196
  * @returns
3053
3197
  */
3054
3198
  private resolveByName;
3199
+ /**
3200
+ * Resolves a component, fragment or entity from the scope without checking parent scopes
3201
+ *
3202
+ * @param component
3203
+ * @param instructions
3204
+ */
3205
+ private resolveFlatOnce;
3055
3206
  /**
3056
3207
  * This method is used internally to resolve a single component, fragment or entity from the scope
3057
3208
  *
@@ -3060,11 +3211,22 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3060
3211
  * @returns
3061
3212
  */
3062
3213
  private resolveOnce;
3214
+ /**
3215
+ * Resolves the issuer of the scope by provided constructor
3216
+ *
3217
+ * [!] Note that this method checks ONLY for the direct issuer of the scope
3218
+ * [!!] No parent scopes are checked
3219
+ *
3220
+ *
3221
+ * @param ctor
3222
+ * @returns
3223
+ */
3063
3224
  private resolveIssuer;
3064
3225
  /**
3065
3226
  * This method is used internally to resolve a single entity from the scope based on the provided instructions
3066
3227
  *
3067
3228
  * [!] Note that this method can return either a single entity or an array of entities depending on the instructions provided
3229
+ * [!!] Note: No parent scopes are checked
3068
3230
  *
3069
3231
  * @param entity
3070
3232
  * @param instructions
@@ -3074,6 +3236,9 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3074
3236
  /**
3075
3237
  * This method is used internally to resolve a single error from the scope
3076
3238
  *
3239
+ * [!] Note that errors are singleton instances within the scope
3240
+ * [!!] No parent scopes are checked
3241
+ *
3077
3242
  * @param error
3078
3243
  * @returns
3079
3244
  */
@@ -3081,6 +3246,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3081
3246
  /**
3082
3247
  * This method is used internally to resolve a single fragment from the scope
3083
3248
  *
3249
+ * [!] Note that this method checks for the fragment in the current scope and all parent scopes
3250
+ *
3084
3251
  * @param fragment
3085
3252
  * @returns
3086
3253
  */
@@ -3095,6 +3262,8 @@ declare class A_Scope<_MetaItems extends Record<string, any> = any, _ComponentTy
3095
3262
  /**
3096
3263
  * This method is used internally to resolve a single component from the scope
3097
3264
  *
3265
+ * [!!] Note: No parent scopes are checked
3266
+ *
3098
3267
  * @param component
3099
3268
  * @returns
3100
3269
  */
@@ -3888,6 +4057,7 @@ type A_TYPES__A_Dependency_LoadDecoratorReturn<T = any> = (target: T, propertyKe
3888
4057
  */
3889
4058
  type A_TYPES__A_Dependency_DefaultDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3890
4059
  type A_TYPES__A_Dependency_ParentDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
4060
+ type A_TYPES__A_Dependency_FlatDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3891
4061
 
3892
4062
  /**
3893
4063
  * Should indicate which Default is required
@@ -3898,6 +4068,11 @@ declare function A_Dependency_Default(
3898
4068
  */
3899
4069
  ...args: any[]): A_TYPES__A_Dependency_DefaultDecoratorReturn;
3900
4070
 
4071
+ /**
4072
+ * Should indicate which dependency is required
4073
+ */
4074
+ declare function A_Dependency_Flat(): A_TYPES__A_Dependency_FlatDecoratorReturn;
4075
+
3901
4076
  /**
3902
4077
  * Should indicate which Load is required
3903
4078
  */
@@ -3951,6 +4126,13 @@ declare class A_Dependency {
3951
4126
  * @returns
3952
4127
  */
3953
4128
  static get Parent(): typeof A_Dependency_Parent;
4129
+ /**
4130
+ * Allows to indicate that the dependency should be resolved in a flat manner
4131
+ * Only in the same scope, without going up to parent scopes
4132
+ *
4133
+ * @returns
4134
+ */
4135
+ static get Flat(): typeof A_Dependency_Flat;
3954
4136
  protected _name: string;
3955
4137
  /**
3956
4138
  * Class instances allows to indentify dependencies by name and use them for better type checking
@@ -4379,4 +4561,4 @@ declare class A_TypeGuards {
4379
4561
  static isErrorSerializedType<T extends A_TYPES__Error_Serialized>(param: any): param is T;
4380
4562
  }
4381
4563
 
4382
- export { ASEID, ASEID_Error, A_Abstraction, A_AbstractionError, A_Abstraction_Extend, A_CONSTANTS__DEFAULT_ENV_VARIABLES, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION, A_Caller, A_CallerError, A_CommonHelper, A_Component, A_ComponentMeta, A_Concept, A_ConceptMeta, A_Container, A_ContainerMeta, A_Context, A_ContextError, A_Dependency, A_DependencyError, A_Dependency_Default, A_Dependency_Load, A_Dependency_Require, A_Entity, A_EntityError, A_EntityMeta, A_Error, A_Feature, A_FeatureError, A_Feature_Define, A_Feature_Extend, A_FormatterHelper, A_Fragment, type A_ID_TYPES__TimeId_Parts, A_IdentityHelper, A_Inject, A_InjectError, A_Meta, A_Scope, A_ScopeError, A_Stage, A_StageError, A_StepManagerError, A_StepsManager, type A_TYPES_ScopeDependentComponents, type A_TYPES_ScopeIndependentComponents, type A_TYPES_StageExecutionBehavior, type A_TYPES__ASEID_Constructor, type A_TYPES__ASEID_ConstructorConfig, type A_TYPES__ASEID_JSON, type A_TYPES__A_Dependency_DefaultDecoratorReturn, type A_TYPES__A_Dependency_LoadDecoratorReturn, type A_TYPES__A_Dependency_ParentDecoratorReturn, type A_TYPES__A_Dependency_RequireDecoratorReturn, type A_TYPES__A_InjectDecoratorDescriptor, type A_TYPES__A_InjectDecoratorReturn, type A_TYPES__A_InjectDecorator_EntityInjectionInstructions, type A_TYPES__A_InjectDecorator_EntityInjectionPagination, type A_TYPES__A_InjectDecorator_EntityInjectionQuery, type A_TYPES__A_InjectDecorator_Meta, type A_TYPES__A_StageStep, type A_TYPES__A_StageStepProcessingExtraParams, A_TYPES__A_Stage_Status, type A_TYPES__AbstractionAvailableComponents, type A_TYPES__AbstractionDecoratorConfig, type A_TYPES__AbstractionDecoratorDescriptor, type A_TYPES__Abstraction_Constructor, type A_TYPES__Abstraction_Init, type A_TYPES__Abstraction_Serialized, type A_TYPES__CallerComponent, type A_TYPES__Caller_Constructor, type A_TYPES__Caller_Init, type A_TYPES__Caller_Serialized, type A_TYPES__ComponentMeta, type A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey, type A_TYPES__Component_Constructor, type A_TYPES__Component_Init, type A_TYPES__Component_Serialized, type A_TYPES__ConceptAbstraction, type A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptAbstractions, type A_TYPES__ConceptENVVariables, A_TYPES__ConceptMetaKey, type A_TYPES__Concept_Constructor, type A_TYPES__Concept_Init, type A_TYPES__Concept_Serialized, type A_TYPES__ContainerMeta, type A_TYPES__ContainerMetaExtension, A_TYPES__ContainerMetaKey, type A_TYPES__Container_Constructor, type A_TYPES__Container_Init, type A_TYPES__Container_Serialized, type A_TYPES__ContextEnvironment, type A_TYPES__DeepPartial, type A_TYPES__Dictionary, A_TYPES__EntityFeatures, type A_TYPES__EntityMeta, A_TYPES__EntityMetaKey, type A_TYPES__Entity_Constructor, type A_TYPES__Entity_Init, type A_TYPES__Entity_Serialized, type A_TYPES__Error_Constructor, type A_TYPES__Error_Init, type A_TYPES__Error_Serialized, type A_TYPES__ExtractNested, type A_TYPES__ExtractProperties, type A_TYPES__FeatureAvailableComponents, type A_TYPES__FeatureAvailableConstructors, type A_TYPES__FeatureDefineDecoratorConfig, type A_TYPES__FeatureDefineDecoratorDescriptor, type A_TYPES__FeatureDefineDecoratorMeta, type A_TYPES__FeatureDefineDecoratorTarget, type A_TYPES__FeatureDefineDecoratorTemplateItem, type A_TYPES__FeatureError_Init, type A_TYPES__FeatureExtendDecoratorConfig, type A_TYPES__FeatureExtendDecoratorDescriptor, type A_TYPES__FeatureExtendDecoratorMeta, type A_TYPES__FeatureExtendDecoratorScopeConfig, type A_TYPES__FeatureExtendDecoratorScopeItem, type A_TYPES__FeatureExtendDecoratorTarget, type A_TYPES__FeatureExtendableMeta, A_TYPES__FeatureState, type A_TYPES__Feature_Constructor, type A_TYPES__Feature_Init, type A_TYPES__Feature_InitWithComponent, type A_TYPES__Feature_InitWithTemplate, type A_TYPES__Feature_Serialized, type A_TYPES__Fragment_Constructor, type A_TYPES__Fragment_Init, type A_TYPES__Fragment_Serialized, type A_TYPES__IEntity, type A_TYPES__InjectableConstructors, type A_TYPES__InjectableTargets, type A_TYPES__MetaLinkedComponentConstructors, type A_TYPES__MetaLinkedComponents, type A_TYPES__NonObjectPaths, type A_TYPES__ObjectKeyEnum, type A_TYPES__Paths, type A_TYPES__PathsToObject, type A_TYPES__Required, type A_TYPES__ScopeConfig, type A_TYPES__ScopeLinkedComponents, type A_TYPES__ScopeLinkedConstructors, type A_TYPES__ScopeResolvableComponents, type A_TYPES__Scope_Constructor, type A_TYPES__Scope_Init, type A_TYPES__Scope_Serialized, type A_TYPES__Stage_Serialized, type A_TYPES__UnionToIntersection, A_TypeGuards };
4564
+ export { ASEID, ASEID_Error, A_Abstraction, A_AbstractionError, A_Abstraction_Extend, A_CONSTANTS__DEFAULT_ENV_VARIABLES, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION, A_Caller, A_CallerError, A_CommonHelper, A_Component, A_ComponentMeta, A_Concept, A_ConceptMeta, A_Container, A_ContainerMeta, A_Context, A_ContextError, A_Dependency, A_DependencyError, A_Dependency_Default, A_Dependency_Load, A_Dependency_Require, A_Entity, A_EntityError, A_EntityMeta, A_Error, A_Feature, A_FeatureError, A_Feature_Define, A_Feature_Extend, A_FormatterHelper, A_Fragment, type A_ID_TYPES__TimeId_Parts, A_IdentityHelper, A_Inject, A_InjectError, A_Meta, A_Scope, A_ScopeError, A_Stage, A_StageError, A_StepManagerError, A_StepsManager, type A_TYPES_ScopeDependentComponents, type A_TYPES_ScopeIndependentComponents, type A_TYPES_StageExecutionBehavior, type A_TYPES__ASEID_Constructor, type A_TYPES__ASEID_ConstructorConfig, type A_TYPES__ASEID_JSON, type A_TYPES__A_Dependency_DefaultDecoratorReturn, type A_TYPES__A_Dependency_FlatDecoratorReturn, type A_TYPES__A_Dependency_LoadDecoratorReturn, type A_TYPES__A_Dependency_ParentDecoratorReturn, type A_TYPES__A_Dependency_RequireDecoratorReturn, type A_TYPES__A_InjectDecoratorDescriptor, type A_TYPES__A_InjectDecoratorReturn, type A_TYPES__A_InjectDecorator_EntityInjectionInstructions, type A_TYPES__A_InjectDecorator_EntityInjectionPagination, type A_TYPES__A_InjectDecorator_EntityInjectionQuery, type A_TYPES__A_InjectDecorator_Meta, type A_TYPES__A_StageStep, type A_TYPES__A_StageStepProcessingExtraParams, A_TYPES__A_Stage_Status, type A_TYPES__AbstractionAvailableComponents, type A_TYPES__AbstractionDecoratorConfig, type A_TYPES__AbstractionDecoratorDescriptor, type A_TYPES__Abstraction_Constructor, type A_TYPES__Abstraction_Init, type A_TYPES__Abstraction_Serialized, type A_TYPES__CallerComponent, type A_TYPES__Caller_Constructor, type A_TYPES__Caller_Init, type A_TYPES__Caller_Serialized, type A_TYPES__ComponentMeta, type A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey, type A_TYPES__Component_Constructor, type A_TYPES__Component_Init, type A_TYPES__Component_Serialized, type A_TYPES__ConceptAbstraction, type A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptAbstractions, type A_TYPES__ConceptENVVariables, A_TYPES__ConceptMetaKey, type A_TYPES__Concept_Constructor, type A_TYPES__Concept_Init, type A_TYPES__Concept_Serialized, type A_TYPES__ContainerMeta, type A_TYPES__ContainerMetaExtension, A_TYPES__ContainerMetaKey, type A_TYPES__Container_Constructor, type A_TYPES__Container_Init, type A_TYPES__Container_Serialized, type A_TYPES__ContextEnvironment, type A_TYPES__DeepPartial, type A_TYPES__Dictionary, A_TYPES__EntityFeatures, type A_TYPES__EntityMeta, A_TYPES__EntityMetaKey, type A_TYPES__Entity_Constructor, type A_TYPES__Entity_Init, type A_TYPES__Entity_Serialized, type A_TYPES__Error_Constructor, type A_TYPES__Error_Init, type A_TYPES__Error_Serialized, type A_TYPES__ExtractNested, type A_TYPES__ExtractProperties, type A_TYPES__FeatureAvailableComponents, type A_TYPES__FeatureAvailableConstructors, type A_TYPES__FeatureDefineDecoratorConfig, type A_TYPES__FeatureDefineDecoratorDescriptor, type A_TYPES__FeatureDefineDecoratorMeta, type A_TYPES__FeatureDefineDecoratorTarget, type A_TYPES__FeatureDefineDecoratorTemplateItem, type A_TYPES__FeatureError_Init, type A_TYPES__FeatureExtendDecoratorConfig, type A_TYPES__FeatureExtendDecoratorDescriptor, type A_TYPES__FeatureExtendDecoratorMeta, type A_TYPES__FeatureExtendDecoratorScopeConfig, type A_TYPES__FeatureExtendDecoratorScopeItem, type A_TYPES__FeatureExtendDecoratorTarget, type A_TYPES__FeatureExtendableMeta, A_TYPES__FeatureState, type A_TYPES__Feature_Constructor, type A_TYPES__Feature_Init, type A_TYPES__Feature_InitWithComponent, type A_TYPES__Feature_InitWithTemplate, type A_TYPES__Feature_Serialized, type A_TYPES__Fragment_Constructor, type A_TYPES__Fragment_Init, type A_TYPES__Fragment_Serialized, type A_TYPES__IEntity, type A_TYPES__InjectableConstructors, type A_TYPES__InjectableTargets, type A_TYPES__MetaLinkedComponentConstructors, type A_TYPES__MetaLinkedComponents, type A_TYPES__NonObjectPaths, type A_TYPES__ObjectKeyEnum, type A_TYPES__Paths, type A_TYPES__PathsToObject, type A_TYPES__Required, type A_TYPES__ScopeConfig, type A_TYPES__ScopeLinkedComponents, type A_TYPES__ScopeLinkedConstructors, type A_TYPES__ScopeResolvableComponents, type A_TYPES__Scope_Constructor, type A_TYPES__Scope_Init, type A_TYPES__Scope_Serialized, type A_TYPES__Stage_Serialized, type A_TYPES__UnionToIntersection, A_TypeGuards };