inversify 6.0.2 → 6.1.0

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 (273) hide show
  1. package/CHANGELOG.md +95 -81
  2. package/LICENSE +22 -22
  3. package/README.md +311 -309
  4. package/amd/annotation/decorator_utils.js +119 -114
  5. package/amd/annotation/inject.js +31 -27
  6. package/amd/annotation/inject_base.js +16 -17
  7. package/amd/annotation/injectable.js +40 -37
  8. package/amd/annotation/lazy_service_identifier.js +4 -15
  9. package/amd/annotation/multi_inject.js +31 -27
  10. package/amd/annotation/named.js +32 -29
  11. package/amd/annotation/optional.js +32 -29
  12. package/amd/annotation/post_construct.js +32 -28
  13. package/amd/annotation/pre_destroy.js +32 -28
  14. package/amd/annotation/property_event_decorator.js +16 -17
  15. package/amd/annotation/tagged.js +8 -9
  16. package/amd/annotation/target_name.js +35 -32
  17. package/amd/annotation/unmanaged.js +35 -32
  18. package/amd/bindings/binding.js +40 -39
  19. package/amd/bindings/binding_count.js +11 -10
  20. package/amd/constants/error_msgs.js +74 -64
  21. package/amd/constants/literal_types.js +28 -28
  22. package/amd/constants/metadata_keys.js +28 -28
  23. package/amd/container/container.js +762 -719
  24. package/amd/container/container_module.js +21 -21
  25. package/amd/container/container_snapshot.js +20 -20
  26. package/amd/container/lookup.js +132 -127
  27. package/amd/container/module_activation_store.js +51 -53
  28. package/amd/interfaces/interfaces.js +4 -10
  29. package/amd/inversify.js +57 -55
  30. package/amd/planning/context.js +19 -19
  31. package/amd/planning/metadata.js +45 -41
  32. package/amd/planning/metadata_reader.js +49 -43
  33. package/amd/planning/plan.js +13 -13
  34. package/amd/planning/planner.js +184 -163
  35. package/amd/planning/queryable_string.js +33 -30
  36. package/amd/planning/reflection_utils.js +55 -157
  37. package/amd/planning/request.js +24 -26
  38. package/amd/planning/target.js +111 -101
  39. package/amd/resolution/instantiation.js +219 -211
  40. package/amd/resolution/resolver.js +234 -222
  41. package/amd/scope/scope.js +93 -93
  42. package/amd/syntax/binding_in_syntax.js +24 -24
  43. package/amd/syntax/binding_in_when_on_syntax.js +75 -75
  44. package/amd/syntax/binding_on_syntax.js +20 -20
  45. package/amd/syntax/binding_to_syntax.js +116 -105
  46. package/amd/syntax/binding_when_on_syntax.js +65 -65
  47. package/amd/syntax/binding_when_syntax.js +107 -102
  48. package/amd/syntax/constraint_helpers.js +66 -61
  49. package/amd/utils/async.js +17 -17
  50. package/amd/utils/binding_utils.js +86 -77
  51. package/amd/utils/clonable.js +11 -12
  52. package/amd/utils/exceptions.js +46 -42
  53. package/amd/utils/factory_type.js +11 -11
  54. package/amd/utils/id.js +9 -10
  55. package/amd/utils/js.js +18 -19
  56. package/amd/utils/serialization.js +135 -129
  57. package/es/annotation/decorator_utils.js +90 -88
  58. package/es/annotation/inject.js +4 -4
  59. package/es/annotation/inject_base.js +14 -14
  60. package/es/annotation/injectable.js +13 -13
  61. package/es/annotation/lazy_service_identifier.js +1 -10
  62. package/es/annotation/multi_inject.js +4 -4
  63. package/es/annotation/named.js +7 -7
  64. package/es/annotation/optional.js +7 -7
  65. package/es/annotation/post_construct.js +5 -5
  66. package/es/annotation/pre_destroy.js +5 -5
  67. package/es/annotation/property_event_decorator.js +13 -13
  68. package/es/annotation/tagged.js +6 -6
  69. package/es/annotation/target_name.js +10 -10
  70. package/es/annotation/unmanaged.js +10 -10
  71. package/es/bindings/binding.js +37 -36
  72. package/es/bindings/binding_count.js +6 -5
  73. package/es/constants/error_msgs.js +62 -52
  74. package/es/constants/literal_types.js +21 -21
  75. package/es/constants/metadata_keys.js +23 -23
  76. package/es/container/container.js +746 -707
  77. package/es/container/container_module.js +17 -17
  78. package/es/container/container_snapshot.js +15 -15
  79. package/es/container/lookup.js +105 -104
  80. package/es/container/module_activation_store.js +47 -49
  81. package/es/interfaces/interfaces.js +1 -5
  82. package/es/inversify.js +23 -25
  83. package/es/planning/context.js +15 -15
  84. package/es/planning/metadata.js +17 -17
  85. package/es/planning/metadata_reader.js +21 -19
  86. package/es/planning/plan.js +8 -8
  87. package/es/planning/planner.js +165 -147
  88. package/es/planning/queryable_string.js +28 -25
  89. package/es/planning/reflection_utils.js +27 -135
  90. package/es/planning/request.js +20 -22
  91. package/es/planning/target.js +87 -81
  92. package/es/resolution/instantiation.js +195 -190
  93. package/es/resolution/resolver.js +214 -205
  94. package/es/scope/scope.js +88 -88
  95. package/es/syntax/binding_in_syntax.js +21 -21
  96. package/es/syntax/binding_in_when_on_syntax.js +73 -73
  97. package/es/syntax/binding_on_syntax.js +16 -16
  98. package/es/syntax/binding_to_syntax.js +91 -84
  99. package/es/syntax/binding_when_on_syntax.js +62 -62
  100. package/es/syntax/binding_when_syntax.js +104 -99
  101. package/es/syntax/constraint_helpers.js +36 -35
  102. package/es/utils/async.js +12 -11
  103. package/es/utils/binding_utils.js +58 -53
  104. package/es/utils/clonable.js +7 -7
  105. package/es/utils/exceptions.js +16 -16
  106. package/es/utils/factory_type.js +6 -6
  107. package/es/utils/id.js +5 -5
  108. package/es/utils/js.js +13 -13
  109. package/es/utils/serialization.js +103 -100
  110. package/es6/annotation/decorator_utils.js +114 -109
  111. package/es6/annotation/inject.js +30 -26
  112. package/es6/annotation/inject_base.js +17 -18
  113. package/es6/annotation/injectable.js +38 -35
  114. package/es6/annotation/lazy_service_identifier.js +2 -12
  115. package/es6/annotation/multi_inject.js +30 -26
  116. package/es6/annotation/named.js +32 -29
  117. package/es6/annotation/optional.js +32 -29
  118. package/es6/annotation/post_construct.js +31 -27
  119. package/es6/annotation/pre_destroy.js +31 -27
  120. package/es6/annotation/property_event_decorator.js +15 -16
  121. package/es6/annotation/tagged.js +8 -9
  122. package/es6/annotation/target_name.js +35 -32
  123. package/es6/annotation/unmanaged.js +35 -32
  124. package/es6/bindings/binding.js +39 -38
  125. package/es6/bindings/binding_count.js +9 -8
  126. package/es6/constants/error_msgs.js +58 -53
  127. package/es6/constants/literal_types.js +26 -26
  128. package/es6/constants/metadata_keys.js +26 -26
  129. package/es6/container/container.js +541 -520
  130. package/es6/container/container_module.js +18 -18
  131. package/es6/container/container_snapshot.js +15 -15
  132. package/es6/container/lookup.js +125 -120
  133. package/es6/container/module_activation_store.js +49 -51
  134. package/es6/interfaces/interfaces.js +2 -8
  135. package/es6/inversify.js +76 -76
  136. package/es6/planning/context.js +17 -17
  137. package/es6/planning/metadata.js +42 -38
  138. package/es6/planning/metadata_reader.js +44 -38
  139. package/es6/planning/plan.js +10 -10
  140. package/es6/planning/planner.js +191 -170
  141. package/es6/planning/queryable_string.js +30 -27
  142. package/es6/planning/reflection_utils.js +53 -155
  143. package/es6/planning/request.js +22 -24
  144. package/es6/planning/target.js +105 -99
  145. package/es6/resolution/instantiation.js +158 -151
  146. package/es6/resolution/resolver.js +193 -187
  147. package/es6/scope/scope.js +57 -57
  148. package/es6/syntax/binding_in_syntax.js +23 -23
  149. package/es6/syntax/binding_in_when_on_syntax.js +75 -75
  150. package/es6/syntax/binding_on_syntax.js +18 -18
  151. package/es6/syntax/binding_to_syntax.js +110 -105
  152. package/es6/syntax/binding_when_on_syntax.js +64 -64
  153. package/es6/syntax/binding_when_syntax.js +84 -79
  154. package/es6/syntax/constraint_helpers.js +63 -58
  155. package/es6/utils/async.js +15 -15
  156. package/es6/utils/binding_utils.js +79 -68
  157. package/es6/utils/clonable.js +9 -10
  158. package/es6/utils/exceptions.js +44 -40
  159. package/es6/utils/factory_type.js +9 -9
  160. package/es6/utils/id.js +7 -8
  161. package/es6/utils/js.js +15 -16
  162. package/es6/utils/serialization.js +132 -126
  163. package/lib/annotation/decorator_utils.d.ts +16 -16
  164. package/lib/annotation/decorator_utils.js +118 -113
  165. package/lib/annotation/inject.d.ts +5 -2
  166. package/lib/annotation/inject.js +30 -26
  167. package/lib/annotation/inject_base.d.ts +4 -3
  168. package/lib/annotation/inject_base.js +17 -18
  169. package/lib/annotation/injectable.d.ts +2 -2
  170. package/lib/annotation/injectable.js +38 -35
  171. package/lib/annotation/lazy_service_identifier.d.ts +3 -7
  172. package/lib/annotation/lazy_service_identifier.js +2 -13
  173. package/lib/annotation/multi_inject.d.ts +5 -2
  174. package/lib/annotation/multi_inject.js +30 -26
  175. package/lib/annotation/named.d.ts +2 -2
  176. package/lib/annotation/named.js +32 -29
  177. package/lib/annotation/optional.d.ts +2 -2
  178. package/lib/annotation/optional.js +32 -29
  179. package/lib/annotation/post_construct.d.ts +4 -4
  180. package/lib/annotation/post_construct.js +31 -27
  181. package/lib/annotation/pre_destroy.d.ts +4 -4
  182. package/lib/annotation/pre_destroy.js +31 -27
  183. package/lib/annotation/property_event_decorator.d.ts +4 -4
  184. package/lib/annotation/property_event_decorator.js +15 -16
  185. package/lib/annotation/tagged.d.ts +2 -2
  186. package/lib/annotation/tagged.js +8 -9
  187. package/lib/annotation/target_name.d.ts +3 -3
  188. package/lib/annotation/target_name.js +35 -32
  189. package/lib/annotation/unmanaged.d.ts +3 -3
  190. package/lib/annotation/unmanaged.js +35 -32
  191. package/lib/bindings/binding.d.ts +20 -20
  192. package/lib/bindings/binding.js +40 -39
  193. package/lib/bindings/binding_count.d.ts +5 -5
  194. package/lib/bindings/binding_count.js +9 -8
  195. package/lib/constants/error_msgs.d.ts +30 -32
  196. package/lib/constants/error_msgs.js +72 -62
  197. package/lib/constants/literal_types.d.ts +5 -5
  198. package/lib/constants/literal_types.js +26 -26
  199. package/lib/constants/metadata_keys.d.ts +13 -13
  200. package/lib/constants/metadata_keys.js +26 -26
  201. package/lib/container/container.d.ts +73 -73
  202. package/lib/container/container.js +772 -729
  203. package/lib/container/container_module.d.ts +11 -11
  204. package/lib/container/container_module.js +20 -20
  205. package/lib/container/container_snapshot.d.ts +10 -10
  206. package/lib/container/container_snapshot.js +18 -18
  207. package/lib/container/lookup.d.ts +17 -16
  208. package/lib/container/lookup.js +131 -126
  209. package/lib/container/module_activation_store.d.ts +10 -10
  210. package/lib/container/module_activation_store.js +50 -52
  211. package/lib/interfaces/interfaces.d.ts +269 -284
  212. package/lib/interfaces/interfaces.js +2 -8
  213. package/lib/inversify.d.ts +24 -25
  214. package/lib/inversify.js +76 -76
  215. package/lib/planning/context.d.ts +11 -11
  216. package/lib/planning/context.js +18 -18
  217. package/lib/planning/metadata.d.ts +8 -8
  218. package/lib/planning/metadata.js +43 -39
  219. package/lib/planning/metadata_reader.d.ts +6 -6
  220. package/lib/planning/metadata_reader.js +47 -41
  221. package/lib/planning/plan.d.ts +7 -7
  222. package/lib/planning/plan.js +11 -11
  223. package/lib/planning/planner.d.ts +5 -5
  224. package/lib/planning/planner.js +192 -171
  225. package/lib/planning/queryable_string.d.ts +10 -11
  226. package/lib/planning/queryable_string.js +31 -28
  227. package/lib/planning/reflection_utils.d.ts +5 -5
  228. package/lib/planning/reflection_utils.js +55 -159
  229. package/lib/planning/request.d.ts +14 -14
  230. package/lib/planning/request.js +23 -25
  231. package/lib/planning/target.d.ts +23 -23
  232. package/lib/planning/target.js +113 -103
  233. package/lib/resolution/instantiation.d.ts +3 -3
  234. package/lib/resolution/instantiation.js +220 -212
  235. package/lib/resolution/resolver.d.ts +3 -3
  236. package/lib/resolution/resolver.js +239 -227
  237. package/lib/scope/scope.d.ts +3 -3
  238. package/lib/scope/scope.js +93 -93
  239. package/lib/syntax/binding_in_syntax.d.ts +9 -9
  240. package/lib/syntax/binding_in_syntax.js +24 -24
  241. package/lib/syntax/binding_in_when_on_syntax.d.ts +29 -29
  242. package/lib/syntax/binding_in_when_on_syntax.js +76 -76
  243. package/lib/syntax/binding_on_syntax.d.ts +8 -8
  244. package/lib/syntax/binding_on_syntax.js +19 -19
  245. package/lib/syntax/binding_to_syntax.d.ts +18 -18
  246. package/lib/syntax/binding_to_syntax.js +117 -106
  247. package/lib/syntax/binding_when_on_syntax.d.ts +25 -25
  248. package/lib/syntax/binding_when_on_syntax.js +65 -65
  249. package/lib/syntax/binding_when_syntax.d.ts +21 -21
  250. package/lib/syntax/binding_when_syntax.js +107 -102
  251. package/lib/syntax/constraint_helpers.d.ts +6 -6
  252. package/lib/syntax/constraint_helpers.js +65 -60
  253. package/lib/tsconfig.tsbuildinfo +1 -1
  254. package/lib/utils/async.d.ts +3 -3
  255. package/lib/utils/async.js +15 -15
  256. package/lib/utils/binding_utils.d.ts +4 -4
  257. package/lib/utils/binding_utils.js +87 -78
  258. package/lib/utils/clonable.d.ts +3 -3
  259. package/lib/utils/clonable.js +9 -10
  260. package/lib/utils/exceptions.d.ts +2 -2
  261. package/lib/utils/exceptions.js +44 -40
  262. package/lib/utils/factory_type.d.ts +5 -5
  263. package/lib/utils/factory_type.js +9 -9
  264. package/lib/utils/id.d.ts +2 -2
  265. package/lib/utils/id.js +7 -8
  266. package/lib/utils/js.d.ts +1 -1
  267. package/lib/utils/js.js +16 -17
  268. package/lib/utils/serialization.d.ts +10 -10
  269. package/lib/utils/serialization.js +133 -127
  270. package/package.json +74 -61
  271. package/.nyc_output/16b95af9-19b9-451c-8475-9a8585677128.json +0 -1
  272. package/.nyc_output/processinfo/16b95af9-19b9-451c-8475-9a8585677128.json +0 -1
  273. package/.nyc_output/processinfo/index.json +0 -1
package/CHANGELOG.md CHANGED
@@ -1,81 +1,95 @@
1
- # Changelog
2
- All notable changes to this project from 5.0.0 forward will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
-
7
- ## [Unreleased]
8
-
9
- ### Added
10
-
11
- ### Changed
12
-
13
- ### Fixed
14
- property injection tagged as @optional no longer overrides default values with `undefined`.
15
-
16
- ## [6.0.2]
17
-
18
- ### Added
19
- Brought tests up to 100% Code Coverage
20
-
21
- ### Changed
22
- LazyIdentfier Tests
23
- Removed browser test pipeline, browserify, karma (#1542)
24
- Update all dependencies except typescript (#1531)
25
-
26
- ### Fixed
27
- Less than 100% code coverage
28
- Use default class property for @optional injected properties (#1467)
29
- Remove circular import (#1516)
30
- Fix strict type checking on @unmanaged decorator (#1499)
31
- Fix typo (LazyServiceIdentifer -> LazyServiceIdentifier) (#1483)
32
- Fix typo (circular dependency error message) (#1485)
33
-
34
- ## [6.0.1] - 2021-10-14
35
- ### Added
36
- - add API method for check dependency only in current container
37
- - createTaggedDecorator #1343
38
- - Async bindings #1132
39
- - Async binding resolution (getAllAsync, getAllNamedAsync, getAllTaggedAsync, getAsync, getNamedAsync, getTaggedAsync, rebindAsync, unbindAsync, unbindAllAsync, unloadAsync) #1132
40
- - Global onActivation / onDeactivation #1132
41
- - Parent/Child onActivation / onDeactivation #1132
42
- - Module onActivation / onDeactivation #1132
43
- - Added @preDestroy decorator #1132
44
-
45
- ### Changed
46
- - @postConstruct can target an asyncronous function #1132
47
- - Singleton scoped services cache resolved values once the result promise is fulfilled #1320
48
-
49
- ### Fixed
50
- - only inject decorator can be applied to setters #1342
51
- - Container.resolve should resolve in that container #1338
52
-
53
- ## [5.1.1] - 2021-04-25
54
- -Fix pre-publish for build artifacts
55
-
56
- ## [5.1.0] - 2021-04-25
57
- ### Added
58
- - Upgrade information for v4.x to v5.x
59
-
60
- ### Changed
61
- - Update BindingToSyntax with `.toAutoNamedFactory()`.
62
-
63
- ### Fixed
64
- - Fix `Target.isTagged()` to exclude `optional` from tag injections #1190.
65
- - Update `toConstructor`, `toFactory`, `toFunction`, `toAutoFactory`, `toProvider` and `toConstantValue` to have singleton scope #1297.
66
- - Fix injection on optional properties when targeting ES6 #928
67
-
68
- ## [5.0.1] - 2018-10-17
69
- ### Added
70
- - Updating constructor injection wiki document with concrete injection example #922
71
-
72
- ### Changed
73
- - Change GUID to incremented counter for better performance #882
74
-
75
- ### Fixed
76
- - fix broken compilation by adding `.toString()` so symbols serialization #893
77
- - Fix problem with applying options on Container.resolve (fix #914) #915
78
- - Fixed documentation issues
79
-
80
- ## [4.14.0] - 2018-10-16
81
- Deprecated - Replaced by 5.0.1
1
+ # Changelog
2
+ All notable changes to this project from 5.0.0 forward will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ### Added
10
+
11
+ ### Changed
12
+
13
+ ### Fixed
14
+
15
+ ## [6.1.0]
16
+
17
+ ### Changed
18
+ - Updated `ServiceIdentifier` to rely on `Function` instead of `Abstract<T>`.
19
+ - `injectable` decorator is no longer required.
20
+
21
+ ### Fixed
22
+ - Fixed `Target.getNameTag` with the right type: `number | string | symbol`.
23
+
24
+ ## [6.0.3]
25
+
26
+ ### Fixed
27
+ property injection tagged as @optional no longer overrides default values with `undefined`.
28
+ Updated `targetName` to be a valid `typescript@5` decorator.
29
+
30
+ ## [6.0.2]
31
+
32
+ ### Added
33
+ Brought tests up to 100% Code Coverage
34
+
35
+ ### Changed
36
+ LazyIdentfier Tests
37
+ Removed browser test pipeline, browserify, karma (#1542)
38
+ Update all dependencies except typescript (#1531)
39
+
40
+ ### Fixed
41
+ Less than 100% code coverage
42
+ Use default class property for @optional injected properties (#1467)
43
+ Remove circular import (#1516)
44
+ Fix strict type checking on @unmanaged decorator (#1499)
45
+ Fix typo (LazyServiceIdentifer -> LazyServiceIdentifier) (#1483)
46
+ Fix typo (circular dependency error message) (#1485)
47
+
48
+ ## [6.0.1] - 2021-10-14
49
+ ### Added
50
+ - add API method for check dependency only in current container
51
+ - createTaggedDecorator #1343
52
+ - Async bindings #1132
53
+ - Async binding resolution (getAllAsync, getAllNamedAsync, getAllTaggedAsync, getAsync, getNamedAsync, getTaggedAsync, rebindAsync, unbindAsync, unbindAllAsync, unloadAsync) #1132
54
+ - Global onActivation / onDeactivation #1132
55
+ - Parent/Child onActivation / onDeactivation #1132
56
+ - Module onActivation / onDeactivation #1132
57
+ - Added @preDestroy decorator #1132
58
+
59
+ ### Changed
60
+ - @postConstruct can target an asyncronous function #1132
61
+ - Singleton scoped services cache resolved values once the result promise is fulfilled #1320
62
+
63
+ ### Fixed
64
+ - only inject decorator can be applied to setters #1342
65
+ - Container.resolve should resolve in that container #1338
66
+
67
+ ## [5.1.1] - 2021-04-25
68
+ -Fix pre-publish for build artifacts
69
+
70
+ ## [5.1.0] - 2021-04-25
71
+ ### Added
72
+ - Upgrade information for v4.x to v5.x
73
+
74
+ ### Changed
75
+ - Update BindingToSyntax with `.toAutoNamedFactory()`.
76
+
77
+ ### Fixed
78
+ - Fix `Target.isTagged()` to exclude `optional` from tag injections #1190.
79
+ - Update `toConstructor`, `toFactory`, `toFunction`, `toAutoFactory`, `toProvider` and `toConstantValue` to have singleton scope #1297.
80
+ - Fix injection on optional properties when targeting ES6 #928
81
+
82
+ ## [5.0.1] - 2018-10-17
83
+ ### Added
84
+ - Updating constructor injection wiki document with concrete injection example #922
85
+
86
+ ### Changed
87
+ - Change GUID to incremented counter for better performance #882
88
+
89
+ ### Fixed
90
+ - fix broken compilation by adding `.toString()` so symbols serialization #893
91
+ - Fix problem with applying options on Container.resolve (fix #914) #915
92
+ - Fixed documentation issues
93
+
94
+ ## [4.14.0] - 2018-10-16
95
+ Deprecated - Replaced by 5.0.1
package/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2015-2017 Remo H. Jansen
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015-2017 Remo H. Jansen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+