@visactor/vrender-core 0.17.0-alpha.1 → 0.17.0-alpha.2

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 (206) hide show
  1. package/cjs/allocator/canvas-allocate.d.ts +2 -0
  2. package/cjs/allocator/canvas-allocate.js +12 -6
  3. package/cjs/allocator/canvas-allocate.js.map +1 -1
  4. package/cjs/common/inversify/annotation/inject.d.ts +1 -0
  5. package/cjs/common/inversify/annotation/inject.js +10 -0
  6. package/cjs/common/inversify/annotation/inject.js.map +1 -0
  7. package/cjs/common/inversify/annotation/inject_base.d.ts +14 -0
  8. package/cjs/common/inversify/annotation/inject_base.js +39 -0
  9. package/cjs/common/inversify/annotation/inject_base.js.map +1 -0
  10. package/cjs/common/inversify/annotation/injectable.d.ts +1 -0
  11. package/cjs/common/{inversify-lite/annotation/post_construct.js → inversify/annotation/injectable.js} +15 -5
  12. package/cjs/common/inversify/annotation/injectable.js.map +1 -0
  13. package/cjs/common/inversify/annotation/multi_inject.d.ts +1 -0
  14. package/cjs/common/inversify/annotation/multi_inject.js +10 -0
  15. package/cjs/common/inversify/annotation/multi_inject.js.map +1 -0
  16. package/cjs/common/inversify/annotation/named.d.ts +1 -0
  17. package/cjs/common/inversify/annotation/named.js +14 -0
  18. package/cjs/common/inversify/annotation/named.js.map +1 -0
  19. package/cjs/common/inversify/binding.d.ts +18 -0
  20. package/cjs/common/inversify/binding.js +26 -0
  21. package/cjs/common/inversify/binding.js.map +1 -0
  22. package/cjs/common/inversify/container.d.ts +28 -0
  23. package/cjs/common/inversify/container.js +155 -0
  24. package/cjs/common/inversify/container.js.map +1 -0
  25. package/cjs/common/inversify/cotainer-module.d.ts +6 -0
  26. package/cjs/common/inversify/cotainer-module.js +16 -0
  27. package/cjs/common/inversify/cotainer-module.js.map +1 -0
  28. package/cjs/common/inversify/index.d.ts +7 -0
  29. package/cjs/common/inversify/index.js +75 -0
  30. package/cjs/common/inversify/index.js.map +1 -0
  31. package/cjs/common/inversify/interfaces.d.ts +218 -0
  32. package/cjs/common/inversify/interfaces.js +6 -0
  33. package/cjs/common/inversify/interfaces.js.map +1 -0
  34. package/cjs/common/inversify/literal_types.d.ts +5 -0
  35. package/cjs/common/inversify/literal_types.js +34 -0
  36. package/cjs/common/inversify/literal_types.js.map +1 -0
  37. package/cjs/common/inversify/meta-data.d.ts +6 -0
  38. package/cjs/common/inversify/meta-data.js +19 -0
  39. package/cjs/common/inversify/meta-data.js.map +1 -0
  40. package/cjs/common/inversify/metadata_keys.d.ts +12 -0
  41. package/cjs/common/inversify/metadata_keys.js +15 -0
  42. package/cjs/common/inversify/metadata_keys.js.map +1 -0
  43. package/cjs/common/inversify/metadata_reader.d.ts +6 -0
  44. package/cjs/common/inversify/metadata_reader.js +28 -0
  45. package/cjs/common/inversify/metadata_reader.js.map +1 -0
  46. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +10 -0
  47. package/cjs/common/inversify/syntax/binding_in_syntax.js +29 -0
  48. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +1 -0
  49. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +12 -0
  50. package/cjs/common/inversify/syntax/binding_to_syntax.js +40 -0
  51. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +1 -0
  52. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +2 -0
  53. package/cjs/common/inversify/syntax/constraint_helpers.js +18 -0
  54. package/cjs/common/inversify/syntax/constraint_helpers.js.map +1 -0
  55. package/cjs/common/inversify-lite/index.d.ts +1 -8
  56. package/cjs/common/inversify-lite/index.js +1 -64
  57. package/cjs/common/inversify-lite/index.js.map +1 -1
  58. package/cjs/common/utils.d.ts +1 -0
  59. package/cjs/common/utils.js +10 -1
  60. package/cjs/common/utils.js.map +1 -1
  61. package/cjs/core/global.d.ts +2 -0
  62. package/cjs/core/global.js +4 -3
  63. package/cjs/core/global.js.map +1 -1
  64. package/cjs/core/graphic-utils.d.ts +5 -2
  65. package/cjs/core/graphic-utils.js +14 -4
  66. package/cjs/core/graphic-utils.js.map +1 -1
  67. package/cjs/core/stage.d.ts +4 -1
  68. package/cjs/core/stage.js +26 -22
  69. package/cjs/core/stage.js.map +1 -1
  70. package/cjs/core/window.js +2 -2
  71. package/cjs/core/window.js.map +1 -1
  72. package/cjs/graphic/builtin-symbol/index.d.ts +1 -0
  73. package/cjs/graphic/builtin-symbol/index.js +8 -2
  74. package/cjs/graphic/builtin-symbol/index.js.map +1 -1
  75. package/cjs/graphic/config.js +4 -1
  76. package/cjs/graphic/config.js.map +1 -1
  77. package/cjs/graphic/richtext/paragraph.js +12 -11
  78. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  79. package/cjs/graphic/symbol.js +3 -2
  80. package/cjs/graphic/symbol.js.map +1 -1
  81. package/cjs/graphic/text.d.ts +1 -0
  82. package/cjs/graphic/text.js +93 -7
  83. package/cjs/graphic/text.js.map +1 -1
  84. package/cjs/graphic/wrap-text.js +6 -5
  85. package/cjs/graphic/wrap-text.js.map +1 -1
  86. package/cjs/interface/global.d.ts +1 -0
  87. package/cjs/interface/global.js.map +1 -1
  88. package/cjs/interface/graphic/richText.d.ts +1 -1
  89. package/cjs/interface/graphic/richText.js.map +1 -1
  90. package/cjs/interface/graphic/text.d.ts +4 -1
  91. package/cjs/interface/graphic/text.js.map +1 -1
  92. package/cjs/render/contributions/render/draw-contribution.d.ts +2 -0
  93. package/cjs/render/contributions/render/draw-contribution.js +18 -9
  94. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  95. package/cjs/render/contributions/render/line-render.d.ts +1 -0
  96. package/cjs/render/contributions/render/line-render.js +21 -6
  97. package/cjs/render/contributions/render/line-render.js.map +1 -1
  98. package/cjs/render/contributions/render/text-render.js +12 -10
  99. package/cjs/render/contributions/render/text-render.js.map +1 -1
  100. package/dist/index.js +611 -1515
  101. package/dist/index.min.js +1 -1
  102. package/es/allocator/canvas-allocate.d.ts +2 -0
  103. package/es/allocator/canvas-allocate.js +12 -6
  104. package/es/allocator/canvas-allocate.js.map +1 -1
  105. package/es/common/inversify/annotation/inject.d.ts +1 -0
  106. package/es/common/inversify/annotation/inject.js +6 -0
  107. package/es/common/inversify/annotation/inject.js.map +1 -0
  108. package/es/common/inversify/annotation/inject_base.d.ts +14 -0
  109. package/es/common/inversify/annotation/inject_base.js +29 -0
  110. package/es/common/inversify/annotation/inject_base.js.map +1 -0
  111. package/es/common/inversify/annotation/injectable.d.ts +1 -0
  112. package/es/common/inversify/annotation/injectable.js +10 -0
  113. package/es/common/inversify/annotation/injectable.js.map +1 -0
  114. package/es/common/inversify/annotation/multi_inject.d.ts +1 -0
  115. package/es/common/inversify/annotation/multi_inject.js +6 -0
  116. package/es/common/inversify/annotation/multi_inject.js.map +1 -0
  117. package/es/common/inversify/annotation/named.d.ts +1 -0
  118. package/es/common/inversify/annotation/named.js +10 -0
  119. package/es/common/inversify/annotation/named.js.map +1 -0
  120. package/es/common/inversify/binding.d.ts +18 -0
  121. package/es/common/inversify/binding.js +22 -0
  122. package/es/common/inversify/binding.js.map +1 -0
  123. package/es/common/inversify/container.d.ts +28 -0
  124. package/es/common/inversify/container.js +155 -0
  125. package/es/common/inversify/container.js.map +1 -0
  126. package/es/common/inversify/cotainer-module.d.ts +6 -0
  127. package/es/common/inversify/cotainer-module.js +8 -0
  128. package/es/common/inversify/cotainer-module.js.map +1 -0
  129. package/es/common/inversify/index.d.ts +7 -0
  130. package/es/common/inversify/index.js +14 -0
  131. package/es/common/inversify/index.js.map +1 -0
  132. package/es/common/inversify/interfaces.d.ts +218 -0
  133. package/es/common/inversify/interfaces.js +2 -0
  134. package/es/common/inversify/interfaces.js.map +1 -0
  135. package/es/common/inversify/literal_types.d.ts +5 -0
  136. package/es/common/inversify/literal_types.js +20 -0
  137. package/es/common/inversify/literal_types.js.map +1 -0
  138. package/es/common/inversify/meta-data.d.ts +6 -0
  139. package/es/common/inversify/meta-data.js +11 -0
  140. package/es/common/inversify/meta-data.js.map +1 -0
  141. package/es/common/inversify/metadata_keys.d.ts +12 -0
  142. package/es/common/inversify/metadata_keys.js +28 -0
  143. package/es/common/inversify/metadata_keys.js.map +1 -0
  144. package/es/common/inversify/metadata_reader.d.ts +6 -0
  145. package/es/common/inversify/metadata_reader.js +18 -0
  146. package/es/common/inversify/metadata_reader.js.map +1 -0
  147. package/es/common/inversify/syntax/binding_in_syntax.d.ts +10 -0
  148. package/es/common/inversify/syntax/binding_in_syntax.js +24 -0
  149. package/es/common/inversify/syntax/binding_in_syntax.js.map +1 -0
  150. package/es/common/inversify/syntax/binding_to_syntax.d.ts +12 -0
  151. package/es/common/inversify/syntax/binding_to_syntax.js +36 -0
  152. package/es/common/inversify/syntax/binding_to_syntax.js.map +1 -0
  153. package/es/common/inversify/syntax/constraint_helpers.d.ts +2 -0
  154. package/es/common/inversify/syntax/constraint_helpers.js +16 -0
  155. package/es/common/inversify/syntax/constraint_helpers.js.map +1 -0
  156. package/es/common/inversify-lite/index.d.ts +1 -8
  157. package/es/common/inversify-lite/index.js +1 -15
  158. package/es/common/inversify-lite/index.js.map +1 -1
  159. package/es/common/utils.d.ts +1 -0
  160. package/es/common/utils.js +8 -1
  161. package/es/common/utils.js.map +1 -1
  162. package/es/core/global.d.ts +2 -0
  163. package/es/core/global.js +4 -2
  164. package/es/core/global.js.map +1 -1
  165. package/es/core/graphic-utils.d.ts +5 -2
  166. package/es/core/graphic-utils.js +14 -4
  167. package/es/core/graphic-utils.js.map +1 -1
  168. package/es/core/stage.d.ts +4 -1
  169. package/es/core/stage.js +27 -23
  170. package/es/core/stage.js.map +1 -1
  171. package/es/core/window.js +3 -3
  172. package/es/core/window.js.map +1 -1
  173. package/es/graphic/builtin-symbol/index.d.ts +1 -0
  174. package/es/graphic/builtin-symbol/index.js +8 -0
  175. package/es/graphic/builtin-symbol/index.js.map +1 -1
  176. package/es/graphic/config.js +4 -1
  177. package/es/graphic/config.js.map +1 -1
  178. package/es/graphic/richtext/paragraph.js +5 -2
  179. package/es/graphic/richtext/paragraph.js.map +1 -1
  180. package/es/graphic/symbol.js +4 -3
  181. package/es/graphic/symbol.js.map +1 -1
  182. package/es/graphic/text.d.ts +1 -0
  183. package/es/graphic/text.js +90 -9
  184. package/es/graphic/text.js.map +1 -1
  185. package/es/graphic/wrap-text.js +6 -4
  186. package/es/graphic/wrap-text.js.map +1 -1
  187. package/es/interface/global.d.ts +1 -0
  188. package/es/interface/global.js.map +1 -1
  189. package/es/interface/graphic/richText.d.ts +1 -1
  190. package/es/interface/graphic/richText.js.map +1 -1
  191. package/es/interface/graphic/text.d.ts +4 -1
  192. package/es/interface/graphic/text.js.map +1 -1
  193. package/es/render/contributions/render/draw-contribution.d.ts +2 -0
  194. package/es/render/contributions/render/draw-contribution.js +18 -9
  195. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  196. package/es/render/contributions/render/line-render.d.ts +1 -0
  197. package/es/render/contributions/render/line-render.js +21 -6
  198. package/es/render/contributions/render/line-render.js.map +1 -1
  199. package/es/render/contributions/render/text-render.js +13 -9
  200. package/es/render/contributions/render/text-render.js.map +1 -1
  201. package/package.json +6 -4
  202. package/cjs/common/inversify-lite/annotation/post_construct.d.ts +0 -4
  203. package/cjs/common/inversify-lite/annotation/post_construct.js.map +0 -1
  204. package/es/common/inversify-lite/annotation/post_construct.d.ts +0 -4
  205. package/es/common/inversify-lite/annotation/post_construct.js +0 -10
  206. package/es/common/inversify-lite/annotation/post_construct.js.map +0 -1
@@ -0,0 +1,218 @@
1
+ import { FactoryType } from '../utils/factory_type';
2
+ export declare namespace interfaces {
3
+ type DynamicValue<T> = (context: interfaces.Context) => T;
4
+ type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];
5
+ type BindingScope = 'Singleton' | 'Transient' | 'Request';
6
+ type BindingType = 'ConstantValue' | 'Constructor' | 'DynamicValue' | 'Factory' | 'Function' | 'Instance' | 'Invalid' | 'Provider';
7
+ type TargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';
8
+ interface BindingScopeEnum {
9
+ Singleton: interfaces.BindingScope;
10
+ Transient: interfaces.BindingScope;
11
+ }
12
+ interface BindingTypeEnum {
13
+ ConstantValue: interfaces.BindingType;
14
+ Constructor: interfaces.BindingType;
15
+ DynamicValue: interfaces.BindingType;
16
+ Factory: interfaces.BindingType;
17
+ Function: interfaces.BindingType;
18
+ Instance: interfaces.BindingType;
19
+ Invalid: interfaces.BindingType;
20
+ Provider: interfaces.BindingType;
21
+ }
22
+ interface TargetTypeEnum {
23
+ ConstructorArgument: interfaces.TargetType;
24
+ ClassProperty: interfaces.TargetType;
25
+ Variable: interfaces.TargetType;
26
+ }
27
+ type Newable<T> = new (...args: any[]) => T;
28
+ type Instance<T> = T & Record<string, () => void>;
29
+ interface Abstract<T> {
30
+ prototype: T;
31
+ }
32
+ type ServiceIdentifier<T = unknown> = string | symbol | Newable<T> | Abstract<T>;
33
+ interface Clonable<T> {
34
+ clone(): T;
35
+ }
36
+ type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;
37
+ type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;
38
+ interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {
39
+ id: number;
40
+ moduleId: ContainerModuleBase['id'];
41
+ activated: boolean;
42
+ serviceIdentifier: ServiceIdentifier<TActivated>;
43
+ constraint: ConstraintFunction;
44
+ dynamicValue: DynamicValue<TActivated> | null;
45
+ scope: BindingScope;
46
+ type: BindingType;
47
+ implementationType: Newable<TActivated> | TActivated | null;
48
+ factory: FactoryCreator<unknown> | null;
49
+ provider: ProviderCreator<unknown> | null;
50
+ cache: null | TActivated | Promise<TActivated>;
51
+ }
52
+ type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;
53
+ type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (...args: U) => SimpleFactory<T, V>;
54
+ type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = SimpleFactory<T, U> | MultiFactory<T, U, V>;
55
+ type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (context: Context) => Factory<T, U, V>;
56
+ type AutoNamedFactory<T> = SimpleFactory<T, [string]>;
57
+ type AutoFactory<T> = SimpleFactory<T, []>;
58
+ type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>;
59
+ interface FactoryDetails {
60
+ factoryType: FactoryType;
61
+ factory: FactoryTypeFunction | null;
62
+ }
63
+ type Provider<T> = (...args: any[]) => ((...args: any[]) => Promise<T>) | Promise<T>;
64
+ type ProviderCreator<T> = (context: Context) => Provider<T>;
65
+ interface NextArgs<T = unknown> {
66
+ avoidConstraints: boolean;
67
+ contextInterceptor: (contexts: Context) => Context;
68
+ isMultiInject: boolean;
69
+ targetType: TargetType;
70
+ serviceIdentifier: interfaces.ServiceIdentifier<T>;
71
+ key?: string | number | symbol | undefined;
72
+ value?: unknown;
73
+ }
74
+ type Next = (args: NextArgs) => unknown | unknown[];
75
+ type Middleware = (next: Next) => Next;
76
+ type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;
77
+ interface Context {
78
+ id: number;
79
+ container: Container;
80
+ plan: Plan;
81
+ currentRequest: Request;
82
+ addPlan(plan: Plan): void;
83
+ setCurrentRequest(request: Request): void;
84
+ }
85
+ type MetadataOrMetadataArray = Metadata | Metadata[];
86
+ interface Metadata<TValue = unknown> {
87
+ key: string | number | symbol;
88
+ value: TValue;
89
+ }
90
+ interface Plan {
91
+ parentContext: Context;
92
+ rootRequest: Request;
93
+ }
94
+ interface QueryableString {
95
+ contains(searchString: string): boolean;
96
+ equals(compareString: string): boolean;
97
+ value(): string;
98
+ }
99
+ type ResolveRequestHandler = (request: interfaces.Request) => unknown;
100
+ type RequestScope = Map<unknown, unknown>;
101
+ interface Request {
102
+ id: number;
103
+ serviceIdentifier: ServiceIdentifier;
104
+ parentContext: Context;
105
+ parentRequest: Request | null;
106
+ childRequests: Request[];
107
+ target: Target;
108
+ bindings: Binding<unknown>[];
109
+ requestScope: RequestScope | null;
110
+ addChildRequest(serviceIdentifier: ServiceIdentifier, bindings: Binding<unknown> | Binding<unknown>[], target: Target): Request;
111
+ }
112
+ interface Target {
113
+ id: number;
114
+ serviceIdentifier: ServiceIdentifier;
115
+ type: TargetType;
116
+ name: QueryableString;
117
+ identifier: string | symbol;
118
+ metadata: Metadata[];
119
+ getNamedTag(): interfaces.Metadata<string> | null;
120
+ getCustomTags(): interfaces.Metadata[] | null;
121
+ hasTag(key: string | number | symbol): boolean;
122
+ isArray(): boolean;
123
+ matchesArray(name: interfaces.ServiceIdentifier): boolean;
124
+ isNamed(): boolean;
125
+ isTagged(): boolean;
126
+ isOptional(): boolean;
127
+ matchesNamedTag(name: string): boolean;
128
+ matchesTag(key: string | number | symbol): (value: unknown) => boolean;
129
+ }
130
+ interface ContainerOptions {
131
+ autoBindInjectable?: boolean;
132
+ defaultScope?: BindingScope | undefined;
133
+ skipBaseClassChecks?: boolean;
134
+ }
135
+ interface Container {
136
+ id: number;
137
+ parent: Container | null;
138
+ options: ContainerOptions;
139
+ bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;
140
+ rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;
141
+ unbind(serviceIdentifier: ServiceIdentifier): void;
142
+ unbindAll(): void;
143
+ isBound(serviceIdentifier: ServiceIdentifier): boolean;
144
+ isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;
145
+ isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;
146
+ isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;
147
+ get<T>(serviceIdentifier: ServiceIdentifier<T>): T;
148
+ getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;
149
+ getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;
150
+ getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];
151
+ getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];
152
+ getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];
153
+ getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;
154
+ resolve<T>(constructorFunction: interfaces.Newable<T>): T;
155
+ load(...modules: ContainerModule[]): void;
156
+ unload(...modules: ContainerModuleBase[]): void;
157
+ applyCustomMetadataReader(metadataReader: MetadataReader): void;
158
+ }
159
+ type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;
160
+ type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;
161
+ type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;
162
+ type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;
163
+ type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;
164
+ interface ContainerModuleBase {
165
+ id: number;
166
+ }
167
+ interface ContainerModule extends ContainerModuleBase {
168
+ registry: ContainerModuleCallBack;
169
+ }
170
+ interface ModuleActivationHandlers {
171
+ onActivations: Lookup<BindingActivation<unknown>>;
172
+ onDeactivations: Lookup<BindingDeactivation<unknown>>;
173
+ }
174
+ type ContainerModuleCallBack = (bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => void;
175
+ interface Lookup<T> extends Clonable<Lookup<T>> {
176
+ add(serviceIdentifier: ServiceIdentifier, value: T): void;
177
+ getMap(): Map<interfaces.ServiceIdentifier, T[]>;
178
+ get(serviceIdentifier: ServiceIdentifier): T[];
179
+ remove(serviceIdentifier: interfaces.ServiceIdentifier): void;
180
+ removeByCondition(condition: (item: T) => boolean): T[];
181
+ removeIntersection(lookup: interfaces.Lookup<T>): void;
182
+ hasKey(serviceIdentifier: ServiceIdentifier): boolean;
183
+ clone(): Lookup<T>;
184
+ traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;
185
+ }
186
+ interface BindingOnSyntax<T> {
187
+ }
188
+ interface BindingInSyntax<T> {
189
+ inSingletonScope(): BindingInSyntax<T>;
190
+ inTransientScope(): BindingInSyntax<T>;
191
+ whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;
192
+ }
193
+ interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingInSyntax<T> {
194
+ }
195
+ interface BindingToSyntax<T> {
196
+ to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;
197
+ toSelf(): BindingInWhenOnSyntax<T>;
198
+ toConstantValue(value: T): BindingInWhenOnSyntax<T>;
199
+ toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;
200
+ toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(factory: FactoryCreator<T2, T3, T4>): BindingInWhenOnSyntax<T>;
201
+ toService(service: ServiceIdentifier<T>): void;
202
+ }
203
+ interface ConstraintFunction {
204
+ metaData?: Metadata;
205
+ (request: Request | null): boolean;
206
+ }
207
+ interface MetadataReader {
208
+ getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;
209
+ getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;
210
+ }
211
+ interface MetadataMap {
212
+ [propertyNameOrArgumentIndex: string | symbol]: Metadata[];
213
+ }
214
+ interface ConstructorMetadata {
215
+ compilerGeneratedMetadata: NewableFunction[] | undefined;
216
+ userGeneratedMetadata: MetadataMap;
217
+ }
218
+ }
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/interfaces.ts"],"names":[],"mappings":"","file":"interfaces.js","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\nimport { FactoryType } from '../utils/factory_type';\n\nexport namespace interfaces {\n export type DynamicValue<T> = (context: interfaces.Context) => T;\n export type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];\n\n export type BindingScope = 'Singleton' | 'Transient' | 'Request';\n\n export type BindingType =\n | 'ConstantValue'\n | 'Constructor'\n | 'DynamicValue'\n | 'Factory'\n | 'Function'\n | 'Instance'\n | 'Invalid'\n | 'Provider';\n\n export type TargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';\n\n export interface BindingScopeEnum {\n Singleton: interfaces.BindingScope;\n Transient: interfaces.BindingScope;\n }\n\n export interface BindingTypeEnum {\n ConstantValue: interfaces.BindingType;\n Constructor: interfaces.BindingType;\n DynamicValue: interfaces.BindingType;\n Factory: interfaces.BindingType;\n Function: interfaces.BindingType;\n Instance: interfaces.BindingType;\n Invalid: interfaces.BindingType;\n Provider: interfaces.BindingType;\n }\n\n export interface TargetTypeEnum {\n ConstructorArgument: interfaces.TargetType;\n ClassProperty: interfaces.TargetType;\n Variable: interfaces.TargetType;\n }\n\n export type Newable<T> = new (...args: any[]) => T;\n\n export type Instance<T> = T & Record<string, () => void>;\n\n export interface Abstract<T> {\n prototype: T;\n }\n\n export type ServiceIdentifier<T = unknown> = string | symbol | Newable<T> | Abstract<T>;\n\n export interface Clonable<T> {\n clone(): T;\n }\n\n export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;\n\n export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;\n\n export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {\n id: number;\n moduleId: ContainerModuleBase['id'];\n activated: boolean;\n serviceIdentifier: ServiceIdentifier<TActivated>;\n constraint: ConstraintFunction;\n dynamicValue: DynamicValue<TActivated> | null;\n scope: BindingScope;\n type: BindingType;\n implementationType: Newable<TActivated> | TActivated | null;\n factory: FactoryCreator<unknown> | null;\n provider: ProviderCreator<unknown> | null;\n // onActivation: BindingActivation<TActivated> | null;\n // onDeactivation: BindingDeactivation<TActivated> | null;\n cache: null | TActivated | Promise<TActivated>;\n }\n\n export type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;\n\n export type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n ...args: U\n ) => SimpleFactory<T, V>;\n\n export type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> =\n | SimpleFactory<T, U>\n | MultiFactory<T, U, V>;\n\n export type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n context: Context\n ) => Factory<T, U, V>;\n\n export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;\n\n export type AutoFactory<T> = SimpleFactory<T, []>;\n\n export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>;\n\n export interface FactoryDetails {\n factoryType: FactoryType;\n factory: FactoryTypeFunction | null;\n }\n\n export type Provider<T> = (...args: any[]) => ((...args: any[]) => Promise<T>) | Promise<T>;\n\n export type ProviderCreator<T> = (context: Context) => Provider<T>;\n\n export interface NextArgs<T = unknown> {\n avoidConstraints: boolean;\n contextInterceptor: (contexts: Context) => Context;\n isMultiInject: boolean;\n targetType: TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\n key?: string | number | symbol | undefined;\n value?: unknown;\n }\n\n export type Next = (args: NextArgs) => unknown | unknown[];\n\n export type Middleware = (next: Next) => Next;\n\n export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;\n\n export interface Context {\n id: number;\n container: Container;\n plan: Plan;\n currentRequest: Request;\n addPlan(plan: Plan): void;\n setCurrentRequest(request: Request): void;\n }\n\n export type MetadataOrMetadataArray = Metadata | Metadata[];\n\n export interface Metadata<TValue = unknown> {\n key: string | number | symbol;\n value: TValue;\n }\n\n export interface Plan {\n parentContext: Context;\n rootRequest: Request;\n }\n\n export interface QueryableString {\n // startsWith(searchString: string): boolean;\n // endsWith(searchString: string): boolean;\n contains(searchString: string): boolean;\n equals(compareString: string): boolean;\n value(): string;\n }\n\n export type ResolveRequestHandler = (request: interfaces.Request) => unknown;\n\n export type RequestScope = Map<unknown, unknown>;\n\n export interface Request {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n parentContext: Context;\n parentRequest: Request | null;\n childRequests: Request[];\n target: Target;\n bindings: Binding<unknown>[];\n requestScope: RequestScope | null;\n addChildRequest(\n serviceIdentifier: ServiceIdentifier,\n bindings: Binding<unknown> | Binding<unknown>[],\n target: Target\n ): Request;\n }\n\n export interface Target {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n type: TargetType;\n name: QueryableString;\n identifier: string | symbol;\n metadata: Metadata[];\n getNamedTag(): interfaces.Metadata<string> | null;\n getCustomTags(): interfaces.Metadata[] | null;\n hasTag(key: string | number | symbol): boolean;\n isArray(): boolean;\n matchesArray(name: interfaces.ServiceIdentifier): boolean;\n isNamed(): boolean;\n isTagged(): boolean;\n isOptional(): boolean;\n matchesNamedTag(name: string): boolean;\n matchesTag(key: string | number | symbol): (value: unknown) => boolean;\n }\n\n export interface ContainerOptions {\n autoBindInjectable?: boolean;\n defaultScope?: BindingScope | undefined;\n skipBaseClassChecks?: boolean;\n }\n\n export interface Container {\n id: number;\n parent: Container | null;\n options: ContainerOptions;\n bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;\n // rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>;\n unbind(serviceIdentifier: ServiceIdentifier): void;\n // unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;\n unbindAll(): void;\n // unbindAllAsync(): Promise<void>;\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\n isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\n get<T>(serviceIdentifier: ServiceIdentifier<T>): T;\n getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;\n getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;\n getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];\n getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];\n getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];\n getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;\n // getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;\n // getTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T>;\n // getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T[]>;\n // getAllTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T[]>;\n // getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>;\n // onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;\n // onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;\n resolve<T>(constructorFunction: interfaces.Newable<T>): T;\n load(...modules: ContainerModule[]): void;\n // loadAsync(...modules: AsyncContainerModule[]): Promise<void>;\n unload(...modules: ContainerModuleBase[]): void;\n // unloadAsync(...modules: ContainerModuleBase[]): Promise<void>;\n applyCustomMetadataReader(metadataReader: MetadataReader): void;\n // applyMiddleware(...middleware: Middleware[]): void;\n // snapshot(): void;\n // restore(): void;\n // createChild(): Container;\n }\n\n export type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;\n\n export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;\n\n export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;\n\n export interface ContainerModuleBase {\n id: number;\n }\n\n export interface ContainerModule extends ContainerModuleBase {\n registry: ContainerModuleCallBack;\n }\n\n export interface ModuleActivationHandlers {\n onActivations: Lookup<BindingActivation<unknown>>;\n onDeactivations: Lookup<BindingDeactivation<unknown>>;\n }\n\n // export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {\n // addDeactivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onDeactivation: interfaces.BindingDeactivation<unknown>\n // ): void;\n // addActivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onActivation: interfaces.BindingActivation<unknown>\n // ): void;\n // remove(moduleId: ContainerModuleBase['id']): ModuleActivationHandlers;\n // }\n\n export type ContainerModuleCallBack = (\n bind: interfaces.Bind,\n unbind: interfaces.Unbind,\n isBound: interfaces.IsBound,\n rebind: interfaces.Rebind\n // unbindAsync: interfaces.UnbindAsync,\n // onActivation: interfaces.Container['onActivation'],\n // onDeactivation: interfaces.Container['onDeactivation']\n ) => void;\n\n // export interface ContainerSnapshot {\n // bindings: Lookup<Binding<unknown>>;\n // activations: Lookup<BindingActivation<unknown>>;\n // deactivations: Lookup<BindingDeactivation<unknown>>;\n // middleware: Next | null;\n // moduleActivationStore: interfaces.ModuleActivationStore;\n // }\n\n export interface Lookup<T> extends Clonable<Lookup<T>> {\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\n getMap(): Map<interfaces.ServiceIdentifier, T[]>;\n get(serviceIdentifier: ServiceIdentifier): T[];\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\n removeByCondition(condition: (item: T) => boolean): T[];\n removeIntersection(lookup: interfaces.Lookup<T>): void;\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\n clone(): Lookup<T>;\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\n }\n\n export interface BindingOnSyntax<T> {\n // onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;\n // onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;\n }\n\n // export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> {}\n\n export interface BindingInSyntax<T> {\n inSingletonScope(): BindingInSyntax<T>;\n inTransientScope(): BindingInSyntax<T>;\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // inRequestScope(): BindingInSyntax<T>;\n }\n\n export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingInSyntax<T> {}\n\n export interface BindingToSyntax<T> {\n to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;\n toSelf(): BindingInWhenOnSyntax<T>;\n toConstantValue(value: T): BindingInWhenOnSyntax<T>;\n toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;\n toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(\n factory: FactoryCreator<T2, T3, T4>\n ): BindingInWhenOnSyntax<T>;\n toService(service: ServiceIdentifier<T>): void;\n }\n\n export interface ConstraintFunction {\n metaData?: Metadata;\n (request: Request | null): boolean;\n }\n\n export interface MetadataReader {\n getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;\n getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;\n }\n\n export interface MetadataMap {\n [propertyNameOrArgumentIndex: string | symbol]: Metadata[];\n }\n\n export interface ConstructorMetadata {\n compilerGeneratedMetadata: NewableFunction[] | undefined;\n userGeneratedMetadata: MetadataMap;\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { interfaces } from './interfaces';
2
+ declare const BindingScopeEnum: interfaces.BindingScopeEnum;
3
+ declare const BindingTypeEnum: interfaces.BindingTypeEnum;
4
+ declare const TargetTypeEnum: interfaces.TargetTypeEnum;
5
+ export { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };
@@ -0,0 +1,20 @@
1
+ const BindingScopeEnum = {
2
+ Singleton: "Singleton",
3
+ Transient: "Transient"
4
+ }, BindingTypeEnum = {
5
+ ConstantValue: "ConstantValue",
6
+ Constructor: "Constructor",
7
+ DynamicValue: "DynamicValue",
8
+ Factory: "Factory",
9
+ Function: "Function",
10
+ Instance: "Instance",
11
+ Invalid: "Invalid",
12
+ Provider: "Provider"
13
+ }, TargetTypeEnum = {
14
+ ClassProperty: "ClassProperty",
15
+ ConstructorArgument: "ConstructorArgument",
16
+ Variable: "Variable"
17
+ };
18
+
19
+ export { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };
20
+ //# sourceMappingURL=literal_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/literal_types.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAgC;IACpD,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,eAAe,GAA+B;IAClD,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,cAAc,GAA8B;IAChD,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC","file":"literal_types.js","sourcesContent":["import type { interfaces } from './interfaces';\n\nconst BindingScopeEnum: interfaces.BindingScopeEnum = {\n Singleton: 'Singleton',\n Transient: 'Transient'\n};\n\nconst BindingTypeEnum: interfaces.BindingTypeEnum = {\n ConstantValue: 'ConstantValue',\n Constructor: 'Constructor',\n DynamicValue: 'DynamicValue',\n Factory: 'Factory',\n Function: 'Function',\n Instance: 'Instance',\n Invalid: 'Invalid',\n Provider: 'Provider'\n};\n\nconst TargetTypeEnum: interfaces.TargetTypeEnum = {\n ClassProperty: 'ClassProperty',\n ConstructorArgument: 'ConstructorArgument',\n Variable: 'Variable'\n};\n\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };\n"]}
@@ -0,0 +1,6 @@
1
+ export declare class Metadata {
2
+ key: string | number | symbol;
3
+ value: unknown;
4
+ constructor(key: string | number | symbol, value: unknown);
5
+ toString(): string;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { NAMED_TAG } from "./metadata_keys";
2
+
3
+ export class Metadata {
4
+ constructor(key, value) {
5
+ this.key = key, this.value = value;
6
+ }
7
+ toString() {
8
+ return this.key === NAMED_TAG ? `named: ${String(this.value).toString()} ` : `tagged: { key:${this.key.toString()}, value: ${String(this.value)} }`;
9
+ }
10
+ }
11
+ //# sourceMappingURL=meta-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/meta-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,QAAQ;IAInB,YAAY,GAA6B,EAAE,KAAc;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1B,OAAO,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;SACnD;QACD,OAAO,iBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAChF,CAAC;CACF","file":"meta-data.js","sourcesContent":["import { NAMED_TAG } from './metadata_keys';\n\nexport class Metadata {\n key: string | number | symbol;\n value: unknown;\n\n constructor(key: string | number | symbol, value: unknown) {\n this.key = key;\n this.value = value;\n }\n\n toString() {\n if (this.key === NAMED_TAG) {\n return `named: ${String(this.value).toString()} `;\n }\n return `tagged: { key:${this.key.toString()}, value: ${String(this.value)} }`;\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export declare const NAMED_TAG = "named";
2
+ export declare const NAME_TAG = "name";
3
+ export declare const UNMANAGED_TAG = "unmanaged";
4
+ export declare const OPTIONAL_TAG = "optional";
5
+ export declare const INJECT_TAG = "inject";
6
+ export declare const MULTI_INJECT_TAG = "multi_inject";
7
+ export declare const TAGGED = "inversify:tagged";
8
+ export declare const TAGGED_PROP = "inversify:tagged_props";
9
+ export declare const PARAM_TYPES = "inversify:paramtypes";
10
+ export declare const DESIGN_PARAM_TYPES = "design:paramtypes";
11
+ export declare const PRE_DESTROY = "pre_destroy";
12
+ export declare const NON_CUSTOM_TAG_KEYS: string[];
@@ -0,0 +1,28 @@
1
+ export const NAMED_TAG = "named";
2
+
3
+ export const NAME_TAG = "name";
4
+
5
+ export const UNMANAGED_TAG = "unmanaged";
6
+
7
+ export const OPTIONAL_TAG = "optional";
8
+
9
+ export const INJECT_TAG = "inject";
10
+
11
+ export const MULTI_INJECT_TAG = "multi_inject";
12
+
13
+ export const TAGGED = "inversify:tagged";
14
+
15
+ export const TAGGED_PROP = "inversify:tagged_props";
16
+
17
+ export const PARAM_TYPES = "inversify:paramtypes";
18
+
19
+ export const DESIGN_PARAM_TYPES = "design:paramtypes";
20
+
21
+ export const PRE_DESTROY = "pre_destroy";
22
+
23
+ function getNonCustomTagKeys() {
24
+ return [ "inject", "multi_inject", "name", "unmanaged", "named", "optional" ];
25
+ }
26
+
27
+ export const NON_CUSTOM_TAG_KEYS = getNonCustomTagKeys();
28
+ //# sourceMappingURL=metadata_keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/metadata_keys.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAGjC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAGzC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAGvC,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAGnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAG/C,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAGzC,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAGpD,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAGlD,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAGtD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AAEzC,SAAS,mBAAmB;IAC1B,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAa,mBAAmB,EAAE,CAAC","file":"metadata_keys.js","sourcesContent":["// Used for named bindings\nexport const NAMED_TAG = 'named';\n\n// The name of the target at design time\nexport const NAME_TAG = 'name';\n\n// The for unmanaged injections (in base classes when using inheritance)\nexport const UNMANAGED_TAG = 'unmanaged';\n\n// The for optional injections\nexport const OPTIONAL_TAG = 'optional';\n\n// The type of the binding at design time\nexport const INJECT_TAG = 'inject';\n\n// The type of the binding at design type for multi-injections\nexport const MULTI_INJECT_TAG = 'multi_inject';\n\n// used to store constructor arguments tags\nexport const TAGGED = 'inversify:tagged';\n\n// used to store class properties tags\nexport const TAGGED_PROP = 'inversify:tagged_props';\n\n// used to store types to be injected\nexport const PARAM_TYPES = 'inversify:paramtypes';\n\n// used to access design time types\nexport const DESIGN_PARAM_TYPES = 'design:paramtypes';\n\n// used to identify preDestroy functions\nexport const PRE_DESTROY = 'pre_destroy';\n\nfunction getNonCustomTagKeys(): string[] {\n return [INJECT_TAG, MULTI_INJECT_TAG, NAME_TAG, UNMANAGED_TAG, NAMED_TAG, OPTIONAL_TAG];\n}\n\nexport const NON_CUSTOM_TAG_KEYS: string[] = getNonCustomTagKeys();\n"]}
@@ -0,0 +1,6 @@
1
+ import type { interfaces } from './interfaces';
2
+ declare class MetadataReader implements interfaces.MetadataReader {
3
+ getConstructorMetadata(constructorFunc: NewableFunction): interfaces.ConstructorMetadata;
4
+ getPropertiesMetadata(constructorFunc: NewableFunction): interfaces.MetadataMap;
5
+ }
6
+ export { MetadataReader };
@@ -0,0 +1,18 @@
1
+ import Reflect from "../Reflect-metadata";
2
+
3
+ import { PARAM_TYPES, TAGGED } from "./metadata_keys";
4
+
5
+ class MetadataReader {
6
+ getConstructorMetadata(constructorFunc) {
7
+ return {
8
+ compilerGeneratedMetadata: Reflect.getMetadata(PARAM_TYPES, constructorFunc),
9
+ userGeneratedMetadata: Reflect.getMetadata(TAGGED, constructorFunc) || {}
10
+ };
11
+ }
12
+ getPropertiesMetadata(constructorFunc) {
13
+ throw new Error("暂未实现");
14
+ }
15
+ }
16
+
17
+ export { MetadataReader };
18
+ //# sourceMappingURL=metadata_reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/metadata_reader.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAe,MAAM,iBAAiB,CAAC;AAEnE,MAAM,cAAc;IAClB,sBAAsB,CAAC,eAAgC;QAErD,MAAM,yBAAyB,GAAI,OAAe,CAAC,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAG7F,MAAM,qBAAqB,GAAI,OAAe,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEpF,OAAO;YACL,yBAAyB;YACzB,qBAAqB,EAAE,qBAAqB,IAAI,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,eAAgC;QAIpD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC","file":"metadata_reader.js","sourcesContent":["import type { interfaces } from './interfaces';\nimport Reflect from '../Reflect-metadata';\nimport { PARAM_TYPES, TAGGED, TAGGED_PROP } from './metadata_keys';\n\nclass MetadataReader implements interfaces.MetadataReader {\n getConstructorMetadata(constructorFunc: NewableFunction): interfaces.ConstructorMetadata {\n // TypeScript compiler generated annotations\n const compilerGeneratedMetadata = (Reflect as any).getMetadata(PARAM_TYPES, constructorFunc);\n\n // User generated constructor annotations\n const userGeneratedMetadata = (Reflect as any).getMetadata(TAGGED, constructorFunc);\n\n return {\n compilerGeneratedMetadata,\n userGeneratedMetadata: userGeneratedMetadata || {}\n };\n }\n\n getPropertiesMetadata(constructorFunc: NewableFunction): interfaces.MetadataMap {\n // // User generated properties annotations\n // const userGeneratedMetadata = (Reflect as any).getMetadata(TAGGED_PROP, constructorFunc) || [];\n // return userGeneratedMetadata;\n throw new Error('暂未实现');\n }\n}\n\nexport { MetadataReader };\n"]}
@@ -0,0 +1,10 @@
1
+ import type { interfaces } from '../interfaces';
2
+ declare class BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {
3
+ private _binding;
4
+ constructor(binding: interfaces.Binding<T>);
5
+ inRequestScope(): interfaces.BindingInSyntax<T>;
6
+ inSingletonScope(): interfaces.BindingInSyntax<T>;
7
+ inTransientScope(): interfaces.BindingInSyntax<T>;
8
+ whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T>;
9
+ }
10
+ export { BindingInSyntax };
@@ -0,0 +1,24 @@
1
+ import { BindingScopeEnum } from "../literal_types";
2
+
3
+ import { namedConstraint } from "./constraint_helpers";
4
+
5
+ class BindingInSyntax {
6
+ constructor(binding) {
7
+ this._binding = binding;
8
+ }
9
+ inRequestScope() {
10
+ throw new Error("暂未实现");
11
+ }
12
+ inSingletonScope() {
13
+ return this._binding.scope = BindingScopeEnum.Singleton, this;
14
+ }
15
+ inTransientScope() {
16
+ return this._binding.scope = BindingScopeEnum.Transient, this;
17
+ }
18
+ whenTargetNamed(name) {
19
+ return this._binding.constraint = namedConstraint(name), this;
20
+ }
21
+ }
22
+
23
+ export { BindingInSyntax };
24
+ //# sourceMappingURL=binding_in_syntax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/syntax/binding_in_syntax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,eAAe;IAGnB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,cAAc;QAGZ,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAA8B;QAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC","file":"binding_in_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces';\nimport { BindingScopeEnum } from '../literal_types';\nimport { namedConstraint } from './constraint_helpers';\n\nclass BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n inRequestScope(): interfaces.BindingInSyntax<T> {\n // this._binding.scope = BindingScopeEnum.Request;\n // return new BindingWhenOnSyntax<T>(this._binding);\n throw new Error('暂未实现');\n }\n\n inSingletonScope(): interfaces.BindingInSyntax<T> {\n this._binding.scope = BindingScopeEnum.Singleton;\n return this;\n }\n\n inTransientScope(): interfaces.BindingInSyntax<T> {\n this._binding.scope = BindingScopeEnum.Transient;\n return this;\n }\n\n whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = namedConstraint(name);\n return this;\n }\n}\n\nexport { BindingInSyntax };\n"]}
@@ -0,0 +1,12 @@
1
+ import type { interfaces } from '../interfaces';
2
+ declare class BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {
3
+ private _binding;
4
+ constructor(binding: interfaces.Binding<T>);
5
+ to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T>;
6
+ toSelf(): interfaces.BindingInWhenOnSyntax<T>;
7
+ toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T>;
8
+ toConstantValue(value: T): interfaces.BindingInSyntax<T>;
9
+ toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingInWhenOnSyntax<T>;
10
+ toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void;
11
+ }
12
+ export { BindingToSyntax };
@@ -0,0 +1,36 @@
1
+ import { BindingScopeEnum, BindingTypeEnum } from "../literal_types";
2
+
3
+ import { BindingInSyntax } from "./binding_in_syntax";
4
+
5
+ class BindingToSyntax {
6
+ constructor(binding) {
7
+ this._binding = binding;
8
+ }
9
+ to(constructor) {
10
+ return this._binding.type = BindingTypeEnum.Instance, this._binding.implementationType = constructor,
11
+ new BindingInSyntax(this._binding);
12
+ }
13
+ toSelf() {
14
+ const self = this._binding.serviceIdentifier;
15
+ return this.to(self);
16
+ }
17
+ toDynamicValue(func) {
18
+ return this._binding.type = BindingTypeEnum.DynamicValue, this._binding.cache = null,
19
+ this._binding.dynamicValue = func, this._binding.implementationType = null, new BindingInSyntax(this._binding);
20
+ }
21
+ toConstantValue(value) {
22
+ return this._binding.type = BindingTypeEnum.ConstantValue, this._binding.cache = value,
23
+ this._binding.dynamicValue = null, this._binding.implementationType = null, this._binding.scope = BindingScopeEnum.Singleton,
24
+ new BindingInSyntax(this._binding);
25
+ }
26
+ toFactory(factory) {
27
+ return this._binding.type = BindingTypeEnum.Factory, this._binding.factory = factory,
28
+ this._binding.scope = BindingScopeEnum.Singleton, new BindingInSyntax(this._binding);
29
+ }
30
+ toService(service) {
31
+ this.toDynamicValue((context => context.container.get(service)));
32
+ }
33
+ }
34
+
35
+ export { BindingToSyntax };
36
+ //# sourceMappingURL=binding_to_syntax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/syntax/binding_to_syntax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,eAAe;IAMnB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,EAAE,CAAC,WAAkC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC/C,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAW,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,IAAgC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,KAAQ;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAK,OAAsC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,OAAyE;QACjF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAI,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC","file":"binding_to_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces';\nimport { BindingScopeEnum, BindingTypeEnum } from '../literal_types';\nimport { BindingInSyntax } from './binding_in_syntax';\n\nclass BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInSyntax<T>(this._binding);\n }\n\n toSelf(): interfaces.BindingInWhenOnSyntax<T> {\n const self = this._binding.serviceIdentifier;\n return this.to(self as any);\n }\n\n toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new BindingInSyntax<T>(this._binding);\n }\n\n toConstantValue(value: T): interfaces.BindingInSyntax<T> {\n this._binding.type = BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingInSyntax<T>(this._binding);\n }\n\n toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingInSyntax<T>(this._binding);\n }\n\n toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\n this.toDynamicValue(context => context.container.get<T>(service));\n }\n}\n\nexport { BindingToSyntax };\n"]}
@@ -0,0 +1,2 @@
1
+ import type { interfaces } from '../interfaces';
2
+ export declare const namedConstraint: (value: unknown) => interfaces.ConstraintFunction;
@@ -0,0 +1,16 @@
1
+ import { Metadata } from "../meta-data";
2
+
3
+ import { NAMED_TAG } from "../metadata_keys";
4
+
5
+ const taggedConstraint = key => value => {
6
+ const constraint = request => {
7
+ if (null == request || null == request.constructorArgsMetadata) return !1;
8
+ const constructorArgsMetadata = request.constructorArgsMetadata;
9
+ for (let i = 0; i < constructorArgsMetadata.length; i++) if (constructorArgsMetadata[i].key === key && constructorArgsMetadata[i].value === value) return !0;
10
+ return !1;
11
+ };
12
+ return constraint.metaData = new Metadata(key, value), constraint;
13
+ };
14
+
15
+ export const namedConstraint = taggedConstraint(NAMED_TAG);
16
+ //# sourceMappingURL=constraint_helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/inversify/syntax/constraint_helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,gBAAgB,GAAG,CAAC,GAA6B,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,EAAE;IAC7E,MAAM,UAAU,GAAkC,CAAC,OAAY,EAAE,EAAE;QACjE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,uBAAuB,IAAI,IAAI,EAAE;YAC9D,OAAO,KAAK,CAAC;SACd;QACD,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;gBACxF,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAGF,UAAU,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE/C,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC","file":"constraint_helpers.js","sourcesContent":["import type { interfaces } from '../interfaces';\nimport { Metadata } from '../meta-data';\nimport { NAMED_TAG } from '../metadata_keys';\n\nconst taggedConstraint = (key: string | number | symbol) => (value: unknown) => {\n const constraint: interfaces.ConstraintFunction = (request: any) => {\n if (request == null || request.constructorArgsMetadata == null) {\n return false;\n }\n const constructorArgsMetadata = request.constructorArgsMetadata;\n for (let i = 0; i < constructorArgsMetadata.length; i++) {\n if (constructorArgsMetadata[i].key === key && constructorArgsMetadata[i].value === value) {\n return true;\n }\n }\n return false;\n };\n // request !== null && request.target !== null && request.target.matchesTag(key)(value);\n\n constraint.metaData = new Metadata(key, value);\n\n return constraint;\n};\n\nexport const namedConstraint = taggedConstraint(NAMED_TAG);\n"]}
@@ -1,8 +1 @@
1
- export { ContainerModule } from './container/container_module';
2
- export { inject } from './annotation/inject';
3
- export { multiInject } from './annotation/multi_inject';
4
- export { injectable } from './annotation/injectable';
5
- export { named } from './annotation/named';
6
- export { Container } from './container/container';
7
- export { postConstruct } from './annotation/post_construct';
8
- export * from './interfaces/interfaces';
1
+ export * from '../inversify';
@@ -1,16 +1,2 @@
1
- export { ContainerModule } from "./container/container_module";
2
-
3
- export { inject } from "./annotation/inject";
4
-
5
- export { multiInject } from "./annotation/multi_inject";
6
-
7
- export { injectable } from "./annotation/injectable";
8
-
9
- export { named } from "./annotation/named";
10
-
11
- export { Container } from "./container/container";
12
-
13
- export { postConstruct } from "./annotation/post_construct";
14
-
15
- export * from "./interfaces/interfaces";
1
+ export * from "../inversify";
16
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,cAAc,yBAAyB,CAAC","file":"index.js","sourcesContent":["/**\n * 该文件夹下所有文件来源于inversify\n * https://github.com/inversify/InversifyJS\n * The MIT License (MIT)\n\nCopyright (c) 2015-2017 Remo H. Jansen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nexport { ContainerModule } from './container/container_module';\nexport { inject } from './annotation/inject';\nexport { multiInject } from './annotation/multi_inject';\nexport { injectable } from './annotation/injectable';\nexport { named } from './annotation/named';\nexport { Container } from './container/container';\nexport { postConstruct } from './annotation/post_construct';\nexport * from './interfaces/interfaces';\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/index.ts"],"names":[],"mappings":"AAmCA,cAAc,cAAc,CAAC","file":"index.js","sourcesContent":["// /**\n// * 该文件夹下所有文件来源于inversify\n// * https://github.com/inversify/InversifyJS\n// * The MIT License (MIT)\n\n// Copyright (c) 2015-2017 Remo H. Jansen\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n// */\n\n// export { ContainerModule } from './container/container_module';\n// export { inject } from './annotation/inject';\n// export { multiInject } from './annotation/multi_inject';\n// export { injectable } from './annotation/injectable';\n// export { named } from './annotation/named';\n// export { Container } from './container/container';\n// // export { postConstruct } from './annotation/post_construct';\n// export * from './interfaces/interfaces';\n\nexport * from '../inversify';\n"]}
@@ -38,3 +38,4 @@ export declare class RafBasedSTO {
38
38
  appendDuration(d: number): void;
39
39
  }
40
40
  export declare const rafBasedSto: RafBasedSTO;
41
+ export declare const calculateLineHeight: (lineHeight: string | number, fontSize: number) => number;
@@ -1,4 +1,4 @@
1
- import { isBoolean, halfPi, pi, pi2, sin, cos, isArray, pointAt, Point } from "@visactor/vutils";
1
+ import { isBoolean, halfPi, pi, pi2, sin, cos, isArray, pointAt, Point, isString } from "@visactor/vutils";
2
2
 
3
3
  export var Edge;
4
4
 
@@ -140,4 +140,11 @@ export class RafBasedSTO {
140
140
  RafBasedSTO.TimeOut = 1e3 / 60;
141
141
 
142
142
  export const rafBasedSto = new RafBasedSTO;
143
+
144
+ export const calculateLineHeight = (lineHeight, fontSize) => {
145
+ if (isString(lineHeight) && "%" === lineHeight[lineHeight.length - 1]) {
146
+ return fontSize * (Number.parseFloat(lineHeight.substring(0, lineHeight.length - 1)) / 100);
147
+ }
148
+ return lineHeight;
149
+ };
143
150
  //# sourceMappingURL=utils.js.map