@halospv3/hce.shared-config 3.4.6-develop.1 → 3.4.6-develop.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 (289) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +1 -1
  3. package/mjs/CaseInsensitiveMap.d.mts +15 -0
  4. package/mjs/CaseInsensitiveMap.d.mts.map +1 -0
  5. package/mjs/CaseInsensitiveMap.mjs +2 -33
  6. package/mjs/CaseInsensitiveMap.mjs.map +1 -1
  7. package/mjs/commitlintConfig.d.mts +15 -0
  8. package/mjs/commitlintConfig.d.mts.map +1 -0
  9. package/mjs/commitlintConfig.mjs +2 -13
  10. package/mjs/commitlintConfig.mjs.map +1 -1
  11. package/mjs/debug.d.mts +9 -0
  12. package/mjs/debug.d.mts.map +1 -0
  13. package/mjs/debug.mjs +2 -9
  14. package/mjs/debug.mjs.map +1 -1
  15. package/mjs/dotnet/GithubNugetRegistryInfo.d.mts +42 -0
  16. package/mjs/dotnet/GithubNugetRegistryInfo.d.mts.map +1 -0
  17. package/mjs/dotnet/GithubNugetRegistryInfo.mjs +2 -43
  18. package/mjs/dotnet/GithubNugetRegistryInfo.mjs.map +1 -1
  19. package/mjs/dotnet/GitlabNugetRegistryInfo.d.mts +65 -0
  20. package/mjs/dotnet/GitlabNugetRegistryInfo.d.mts.map +1 -0
  21. package/mjs/dotnet/GitlabNugetRegistryInfo.mjs +2 -99
  22. package/mjs/dotnet/GitlabNugetRegistryInfo.mjs.map +1 -1
  23. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.mts +1 -0
  24. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs +2 -44
  25. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs.map +1 -1
  26. package/mjs/dotnet/MSBuildProject.d.mts +267 -0
  27. package/mjs/dotnet/MSBuildProject.d.mts.map +1 -0
  28. package/mjs/dotnet/MSBuildProject.mjs +3 -490
  29. package/mjs/dotnet/MSBuildProject.mjs.map +1 -1
  30. package/mjs/dotnet/MSBuildProjectProperties.d.mts +172 -0
  31. package/mjs/dotnet/MSBuildProjectProperties.d.mts.map +1 -0
  32. package/mjs/dotnet/MSBuildProjectProperties.mjs +2 -260
  33. package/mjs/dotnet/MSBuildProjectProperties.mjs.map +1 -1
  34. package/mjs/dotnet/NugetProjectProperties.d.mts +381 -0
  35. package/mjs/dotnet/NugetProjectProperties.d.mts.map +1 -0
  36. package/mjs/dotnet/NugetProjectProperties.mjs +2 -577
  37. package/mjs/dotnet/NugetProjectProperties.mjs.map +1 -1
  38. package/mjs/dotnet/NugetRegistryInfo.d.mts +387 -0
  39. package/mjs/dotnet/NugetRegistryInfo.d.mts.map +1 -0
  40. package/mjs/dotnet/NugetRegistryInfo.mjs +4 -752
  41. package/mjs/dotnet/NugetRegistryInfo.mjs.map +1 -1
  42. package/mjs/dotnet/helpers.d.mts +66 -0
  43. package/mjs/dotnet/helpers.d.mts.map +1 -0
  44. package/mjs/dotnet/helpers.mjs +2 -354
  45. package/mjs/dotnet/helpers.mjs.map +1 -1
  46. package/mjs/dotnet/index.d.mts +8 -0
  47. package/mjs/dotnet/index.mjs +1 -9
  48. package/mjs/dotnet.d.mts +8 -0
  49. package/mjs/dotnet.mjs +1 -9
  50. package/mjs/eslintConfig.d.mts +7 -0
  51. package/mjs/eslintConfig.d.mts.map +1 -0
  52. package/mjs/eslintConfig.mjs +2 -64
  53. package/mjs/eslintConfig.mjs.map +1 -1
  54. package/mjs/index.d.mts +2 -0
  55. package/mjs/index.mjs +1 -4
  56. package/mjs/insertPlugins.d.mts +22 -0
  57. package/mjs/insertPlugins.d.mts.map +1 -0
  58. package/mjs/insertPlugins.mjs +2 -73
  59. package/mjs/insertPlugins.mjs.map +1 -1
  60. package/mjs/semantic-release__commit-analyzer.d.mts +44 -0
  61. package/mjs/semantic-release__commit-analyzer.d.mts.map +1 -0
  62. package/mjs/semantic-release__exec.d.mts +17 -0
  63. package/mjs/semantic-release__exec.d.mts.map +1 -0
  64. package/mjs/semantic-release__git.d.mts +83 -0
  65. package/mjs/semantic-release__git.d.mts.map +1 -0
  66. package/mjs/semantic-release__github.d.mts +141 -0
  67. package/mjs/semantic-release__github.d.mts.map +1 -0
  68. package/mjs/semanticReleaseConfig.d.mts +94 -0
  69. package/mjs/semanticReleaseConfig.d.mts.map +1 -0
  70. package/mjs/semanticReleaseConfig.mjs +2 -63
  71. package/mjs/semanticReleaseConfig.mjs.map +1 -1
  72. package/mjs/semanticReleaseConfigDotnet.d.mts +96 -0
  73. package/mjs/semanticReleaseConfigDotnet.d.mts.map +1 -0
  74. package/mjs/semanticReleaseConfigDotnet.mjs +7 -274
  75. package/mjs/semanticReleaseConfigDotnet.mjs.map +1 -1
  76. package/mjs/setupGitPluginSpec.d.mts +18 -0
  77. package/mjs/setupGitPluginSpec.d.mts.map +1 -0
  78. package/mjs/setupGitPluginSpec.default.d.mts +13 -0
  79. package/mjs/setupGitPluginSpec.default.d.mts.map +1 -0
  80. package/mjs/setupGitPluginSpec.default.mjs +4 -0
  81. package/mjs/setupGitPluginSpec.default.mjs.map +1 -0
  82. package/mjs/setupGitPluginSpec.mjs +2 -144
  83. package/mjs/setupGitPluginSpec.mjs.map +1 -1
  84. package/mjs/utils/Exact.d.mts +18 -0
  85. package/mjs/utils/Exact.d.mts.map +1 -0
  86. package/mjs/utils/Exact.mjs +2 -75
  87. package/mjs/utils/Exact.mjs.map +1 -1
  88. package/mjs/utils/GracefulRecursion.d.mts +14 -0
  89. package/mjs/utils/GracefulRecursion.d.mts.map +1 -0
  90. package/mjs/utils/env.d.mts +28 -0
  91. package/mjs/utils/env.d.mts.map +1 -0
  92. package/mjs/utils/env.mjs +2 -47
  93. package/mjs/utils/env.mjs.map +1 -1
  94. package/mjs/utils/execAsync.d.mts +40 -0
  95. package/mjs/utils/execAsync.d.mts.map +1 -0
  96. package/mjs/utils/execAsync.mjs +10 -59
  97. package/mjs/utils/execAsync.mjs.map +1 -1
  98. package/mjs/utils/isError.d.mts +14 -0
  99. package/mjs/utils/isError.d.mts.map +1 -0
  100. package/mjs/utils/isError.mjs +2 -19
  101. package/mjs/utils/isError.mjs.map +1 -1
  102. package/mjs/utils/miscTypes.d.mts +16 -0
  103. package/mjs/utils/miscTypes.d.mts.map +1 -0
  104. package/mjs/utils/miscTypes.mjs +2 -10
  105. package/mjs/utils/miscTypes.mjs.map +1 -1
  106. package/mjs/utils/reflection/FunctionLike.d.mts +17 -0
  107. package/mjs/utils/reflection/FunctionLike.d.mts.map +1 -0
  108. package/mjs/utils/reflection/GetterDescriptor.d.mts +11 -0
  109. package/mjs/utils/reflection/GetterDescriptor.d.mts.map +1 -0
  110. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mts +26 -0
  111. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mts.map +1 -0
  112. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mts +17 -0
  113. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mts.map +1 -0
  114. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mts +18 -0
  115. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mts.map +1 -0
  116. package/mjs/utils/reflection/OwnKeyOf.d.mts +15 -0
  117. package/mjs/utils/reflection/OwnKeyOf.d.mts.map +1 -0
  118. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mts +15 -0
  119. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mts.map +1 -0
  120. package/mjs/utils/reflection/PropertyDescriptorMap.d.mts +13 -0
  121. package/mjs/utils/reflection/PropertyDescriptorMap.d.mts.map +1 -0
  122. package/mjs/utils/reflection/filterForGetters.d.mts +11 -0
  123. package/mjs/utils/reflection/filterForGetters.d.mts.map +1 -0
  124. package/mjs/utils/reflection/filterForGetters.mjs +2 -27
  125. package/mjs/utils/reflection/filterForGetters.mjs.map +1 -1
  126. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.mts +26 -0
  127. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.mts.map +1 -0
  128. package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs +2 -34
  129. package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs.map +1 -1
  130. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.mts +51 -0
  131. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.mts.map +1 -0
  132. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs +2 -72
  133. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs.map +1 -1
  134. package/mjs/utils/reflection/getPrototypeChainOf.d.mts +19 -0
  135. package/mjs/utils/reflection/getPrototypeChainOf.d.mts.map +1 -0
  136. package/mjs/utils/reflection/getPrototypeChainOf.mjs +2 -55
  137. package/mjs/utils/reflection/getPrototypeChainOf.mjs.map +1 -1
  138. package/mjs/utils/reflection/getPrototypeOf.d.mts +12 -0
  139. package/mjs/utils/reflection/getPrototypeOf.d.mts.map +1 -0
  140. package/mjs/utils/reflection/getPrototypeOf.mjs +2 -10
  141. package/mjs/utils/reflection/getPrototypeOf.mjs.map +1 -1
  142. package/mjs/utils/reflection/inheritance.d.mts +173 -0
  143. package/mjs/utils/reflection/inheritance.d.mts.map +1 -0
  144. package/mjs/utils/reflection/inheritance.mjs +2 -148
  145. package/mjs/utils/reflection/inheritance.mjs.map +1 -1
  146. package/mjs/utils/reflection/isConstructor.d.mts +20 -0
  147. package/mjs/utils/reflection/isConstructor.d.mts.map +1 -0
  148. package/mjs/utils/reflection/isConstructor.mjs +2 -63
  149. package/mjs/utils/reflection/isConstructor.mjs.map +1 -1
  150. package/mjs/utils/reflection/isGetterDescriptor.d.mts +13 -0
  151. package/mjs/utils/reflection/isGetterDescriptor.d.mts.map +1 -0
  152. package/mjs/utils/reflection/isGetterDescriptor.mjs +2 -12
  153. package/mjs/utils/reflection/isGetterDescriptor.mjs.map +1 -1
  154. package/mjs/utils/reflection/listOwnGetters.d.mts +29 -0
  155. package/mjs/utils/reflection/listOwnGetters.d.mts.map +1 -0
  156. package/mjs/utils/reflection/listOwnGetters.mjs +2 -39
  157. package/mjs/utils/reflection/listOwnGetters.mjs.map +1 -1
  158. package/mjs/utils/reflection.d.mts +18 -0
  159. package/mjs/utils/reflection.mjs +1 -10
  160. package/package.json +99 -62
  161. package/src/debug.ts +1 -0
  162. package/src/dotnet/GithubNugetRegistryInfo.ts +4 -4
  163. package/src/dotnet/GitlabNugetRegistryInfo.ts +5 -5
  164. package/src/dotnet/IsNextVersionAlreadyPublished.cli.ts +2 -1
  165. package/src/dotnet/MSBuildProject.ts +7 -6
  166. package/src/dotnet/MSBuildProjectProperties.ts +4 -3
  167. package/src/dotnet/NugetProjectProperties.ts +4 -4
  168. package/src/dotnet/NugetRegistryInfo.ts +9 -8
  169. package/src/dotnet/helpers.ts +5 -4
  170. package/src/dotnet/index.ts +8 -8
  171. package/src/dotnet.ts +1 -1
  172. package/src/index.ts +1 -1
  173. package/src/semanticReleaseConfig.ts +5 -1
  174. package/src/semanticReleaseConfigDotnet.ts +10 -8
  175. package/src/setupGitPluginSpec.default.ts +22 -0
  176. package/src/setupGitPluginSpec.ts +4 -21
  177. package/src/tsconfig.json +1 -2
  178. package/src/utils/execAsync.ts +1 -1
  179. package/src/utils/reflection/InstancePropertyDescriptorMap.d.ts +1 -1
  180. package/src/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.ts +2 -2
  181. package/src/utils/reflection/OwnGetterDescriptorMap.d.ts +2 -2
  182. package/src/utils/reflection/filterForGetters.ts +5 -5
  183. package/src/utils/reflection/getOwnPropertyDescriptors.ts +4 -4
  184. package/src/utils/reflection/getOwnPropertyDescriptorsRecursively.ts +12 -12
  185. package/src/utils/reflection/getPrototypeChainOf.ts +5 -5
  186. package/src/utils/reflection/getPrototypeOf.ts +1 -1
  187. package/src/utils/reflection/inheritance.ts +5 -5
  188. package/src/utils/reflection/isGetterDescriptor.ts +1 -1
  189. package/src/utils/reflection/listOwnGetters.ts +6 -6
  190. package/src/utils/reflection.ts +17 -17
  191. package/tsconfig.base.json +2 -2
  192. package/mjs/CaseInsensitiveMap.d.ts +0 -12
  193. package/mjs/CaseInsensitiveMap.d.ts.map +0 -1
  194. package/mjs/commitlintConfig.d.ts +0 -12
  195. package/mjs/commitlintConfig.d.ts.map +0 -1
  196. package/mjs/debug.d.ts +0 -6
  197. package/mjs/debug.d.ts.map +0 -1
  198. package/mjs/dotnet/GithubNugetRegistryInfo.d.ts +0 -38
  199. package/mjs/dotnet/GithubNugetRegistryInfo.d.ts.map +0 -1
  200. package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts +0 -61
  201. package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts.map +0 -1
  202. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts +0 -2
  203. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts.map +0 -1
  204. package/mjs/dotnet/MSBuildProject.d.ts +0 -264
  205. package/mjs/dotnet/MSBuildProject.d.ts.map +0 -1
  206. package/mjs/dotnet/MSBuildProjectProperties.d.ts +0 -170
  207. package/mjs/dotnet/MSBuildProjectProperties.d.ts.map +0 -1
  208. package/mjs/dotnet/NugetProjectProperties.d.ts +0 -379
  209. package/mjs/dotnet/NugetProjectProperties.d.ts.map +0 -1
  210. package/mjs/dotnet/NugetRegistryInfo.d.ts +0 -384
  211. package/mjs/dotnet/NugetRegistryInfo.d.ts.map +0 -1
  212. package/mjs/dotnet/helpers.d.ts +0 -63
  213. package/mjs/dotnet/helpers.d.ts.map +0 -1
  214. package/mjs/dotnet/index.d.ts +0 -9
  215. package/mjs/dotnet/index.d.ts.map +0 -1
  216. package/mjs/dotnet/index.mjs.map +0 -1
  217. package/mjs/dotnet.d.ts +0 -2
  218. package/mjs/dotnet.d.ts.map +0 -1
  219. package/mjs/dotnet.mjs.map +0 -1
  220. package/mjs/eslintConfig.d.ts +0 -4
  221. package/mjs/eslintConfig.d.ts.map +0 -1
  222. package/mjs/index.d.ts +0 -3
  223. package/mjs/index.d.ts.map +0 -1
  224. package/mjs/index.mjs.map +0 -1
  225. package/mjs/insertPlugins.d.ts +0 -18
  226. package/mjs/insertPlugins.d.ts.map +0 -1
  227. package/mjs/semantic-release__commit-analyzer.d.mjs +0 -2
  228. package/mjs/semantic-release__commit-analyzer.d.mjs.map +0 -1
  229. package/mjs/semantic-release__exec.d.mjs +0 -2
  230. package/mjs/semantic-release__exec.d.mjs.map +0 -1
  231. package/mjs/semantic-release__git.d.mjs +0 -2
  232. package/mjs/semantic-release__git.d.mjs.map +0 -1
  233. package/mjs/semantic-release__github.d.mjs +0 -2
  234. package/mjs/semantic-release__github.d.mjs.map +0 -1
  235. package/mjs/semanticReleaseConfig.d.ts +0 -97
  236. package/mjs/semanticReleaseConfig.d.ts.map +0 -1
  237. package/mjs/semanticReleaseConfigDotnet.d.ts +0 -112
  238. package/mjs/semanticReleaseConfigDotnet.d.ts.map +0 -1
  239. package/mjs/setupGitPluginSpec.d.ts +0 -22
  240. package/mjs/setupGitPluginSpec.d.ts.map +0 -1
  241. package/mjs/utils/Exact.d.ts +0 -20
  242. package/mjs/utils/Exact.d.ts.map +0 -1
  243. package/mjs/utils/GracefulRecursion.d.mjs +0 -2
  244. package/mjs/utils/GracefulRecursion.d.mjs.map +0 -1
  245. package/mjs/utils/env.d.ts +0 -24
  246. package/mjs/utils/env.d.ts.map +0 -1
  247. package/mjs/utils/execAsync.d.ts +0 -37
  248. package/mjs/utils/execAsync.d.ts.map +0 -1
  249. package/mjs/utils/isError.d.ts +0 -11
  250. package/mjs/utils/isError.d.ts.map +0 -1
  251. package/mjs/utils/miscTypes.d.ts +0 -12
  252. package/mjs/utils/miscTypes.d.ts.map +0 -1
  253. package/mjs/utils/reflection/FunctionLike.d.mjs +0 -2
  254. package/mjs/utils/reflection/FunctionLike.d.mjs.map +0 -1
  255. package/mjs/utils/reflection/GetterDescriptor.d.mjs +0 -2
  256. package/mjs/utils/reflection/GetterDescriptor.d.mjs.map +0 -1
  257. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs +0 -2
  258. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs.map +0 -1
  259. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs +0 -2
  260. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs.map +0 -1
  261. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs +0 -2
  262. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs.map +0 -1
  263. package/mjs/utils/reflection/OwnKeyOf.d.mjs +0 -2
  264. package/mjs/utils/reflection/OwnKeyOf.d.mjs.map +0 -1
  265. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs +0 -2
  266. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs.map +0 -1
  267. package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs +0 -2
  268. package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs.map +0 -1
  269. package/mjs/utils/reflection/filterForGetters.d.ts +0 -7
  270. package/mjs/utils/reflection/filterForGetters.d.ts.map +0 -1
  271. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts +0 -22
  272. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts.map +0 -1
  273. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts +0 -56
  274. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts.map +0 -1
  275. package/mjs/utils/reflection/getPrototypeChainOf.d.ts +0 -16
  276. package/mjs/utils/reflection/getPrototypeChainOf.d.ts.map +0 -1
  277. package/mjs/utils/reflection/getPrototypeOf.d.ts +0 -8
  278. package/mjs/utils/reflection/getPrototypeOf.d.ts.map +0 -1
  279. package/mjs/utils/reflection/inheritance.d.ts +0 -180
  280. package/mjs/utils/reflection/inheritance.d.ts.map +0 -1
  281. package/mjs/utils/reflection/isConstructor.d.ts +0 -17
  282. package/mjs/utils/reflection/isConstructor.d.ts.map +0 -1
  283. package/mjs/utils/reflection/isGetterDescriptor.d.ts +0 -9
  284. package/mjs/utils/reflection/isGetterDescriptor.d.ts.map +0 -1
  285. package/mjs/utils/reflection/listOwnGetters.d.ts +0 -26
  286. package/mjs/utils/reflection/listOwnGetters.d.ts.map +0 -1
  287. package/mjs/utils/reflection.d.ts +0 -18
  288. package/mjs/utils/reflection.d.ts.map +0 -1
  289. package/mjs/utils/reflection.mjs.map +0 -1
@@ -0,0 +1,172 @@
1
+ import { BaseClass, ClassLike } from "../utils/reflection/inheritance.mjs";
2
+ import { CaseInsensitiveMap } from "../CaseInsensitiveMap.mjs";
3
+ //#region src/dotnet/MSBuildProjectProperties.d.ts
4
+ /**
5
+ * Known properties. Additional properties may be added upon request.
6
+ *
7
+ * todo: add Reserved properties, Well-Known properties, Common properties, and more. Maybe as sub classes.
8
+ * See:
9
+ * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties?view=vs-2022 MSBuild Reserved and Well-known Properties}
10
+ * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022 Common MSBuild project properties}
11
+ * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props Microsoft.NET.Sdk}
12
+ * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/web-sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json#properties Microsoft.NET.Sdk.Web}
13
+ * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json Microsoft.NET.Sdk.Razor}
14
+ * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props-desktop Microsoft.NET.Sdk.Desktop}
15
+ */
16
+ declare class MSBuildProjectProperties {
17
+ /**
18
+ * Resolve the given path if it is not absolute. If the path exists, it is returned. Else, an Error is thrown.
19
+ * @param path The full file path of an MSBuild project.
20
+ * @returns The absolute path to the MSBuild project file.
21
+ * @throws {Error} if the path cannot be resolved to an existing file.
22
+ */
23
+ static GetFullPath(path: string): string;
24
+ /**
25
+ * Note: This method may remove elements from {@link properties}.\
26
+ * Try to get an element from {@link properties} by its {@link key}.
27
+ * If an element is found, it is removed and the value of the element is returned.
28
+ * Otherwise, `undefined` is returned.
29
+ * @param properties The CaseInsensitiveMap of properties passed to the constructor.
30
+ * @param key The key of the property to get from {@link properties}
31
+ * @returns If found, the value of the `[string, string]` tuple found in {@link properties}. Else, `undefined`.
32
+ */
33
+ protected static getAndForget(properties: CaseInsensitiveMap<string, string>, key: string): string | undefined;
34
+ private _msbuildProjectFullPath;
35
+ private _assemblyName;
36
+ private _baseIntermediateOutputPath;
37
+ private _baseOutputPath;
38
+ private _description;
39
+ private _intermediateOutputPath;
40
+ private _outDir;
41
+ private _outputPath;
42
+ private _runtimeIdentifier;
43
+ private _runtimeIdentifiers;
44
+ private _targetFramework;
45
+ private _targetFrameworks;
46
+ private _version;
47
+ private _versionPrefix;
48
+ private _versionSuffix;
49
+ constructor(msbuildProjectFullPath: string, properties: CaseInsensitiveMap<string, string>);
50
+ get MSBuildProjectFullPath(): string;
51
+ /**
52
+ * @returns The name of the assembly.
53
+ *
54
+ * Default: {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties#:~:text=MSBuildProjectDirectory,-Reserved MSBuildProjectDirectory}
55
+ */
56
+ get AssemblyName(): string;
57
+ /**
58
+ * @returns The top-level folder where all configuration-specific intermediate output
59
+ * folders are created. The default value is `obj\`.
60
+ * @example
61
+ * ```xml
62
+ * <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>
63
+ * ```
64
+ */
65
+ get BaseIntermediateOutputPath(): string;
66
+ /**
67
+ * @returns The base path for the output file.
68
+ * If it's set, MSBuild uses `OutputPath = $(BaseOutputPath)\$(Configuration)\`.
69
+ * @example ```xml
70
+ * <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
71
+ * ```
72
+ */
73
+ get BaseOutputPath(): string;
74
+ /**
75
+ * A long description for the assembly.
76
+ * If {@link NugetProperties.PackageDescription} is not specified, then this property is also used as the description of the package.
77
+ * @returns The value of the `Description` property.
78
+ */
79
+ get Description(): string;
80
+ /**
81
+ * @returns The full intermediate output path as derived from
82
+ * {@link BaseIntermediateOutputPath}, if no path is specified.
83
+ * @example "obj\\debug\\"
84
+ */
85
+ get IntermediateOutput(): string;
86
+ /**
87
+ * @returns The final output location for the project or solution.
88
+ * When you build a solution, OutDir can be used to gather multiple project outputs in one location.
89
+ * In addition, OutDir is included in AssemblySearchPaths used for resolving references.
90
+ * @example
91
+ * `bin/Debug`
92
+ */
93
+ get OutDir(): string;
94
+ /**
95
+ * @returns The path to the output directory, relative to the project
96
+ * directory.
97
+ * @example
98
+ * `bin/Debug`
99
+ * /// non-AnyCPU builds
100
+ * `bin/Debug/${Platform}`
101
+ */
102
+ get OutputPath(): string;
103
+ /**
104
+ * Set Version -OR- VersionPrefix.
105
+ * @returns The value of the `Version` property.
106
+ *
107
+ * Default: `"1.0.0"`
108
+ */
109
+ get Version(): string;
110
+ /**
111
+ * Set Version -OR- VersionPrefix.\
112
+ * Setting {@link NugetProperties.PackageVersion} overwrites {@link VersionPrefix}
113
+ * @returns The MAJOR.MINOR.PATCH string of the version.
114
+ * @see {@link VersionSuffix}
115
+ */
116
+ get VersionPrefix(): string;
117
+ /**
118
+ * The effect of this property on the package version depends on the values of the Version and VersionPrefix properties, as shown in the following table:
119
+ * | Properties with values | Package version |
120
+ * | ---------------------- | --------------- |
121
+ * | None | 1.0.0 |
122
+ * | Version | $(Version) |
123
+ * | VersionPrefix only | $(VersionPrefix) |
124
+ * | VersionSuffix only | 1.0.0-$(VersionSuffix) |
125
+ * | VersionPrefix and VersionSuffix | $(VersionPrefix)-$(VersionSuffix) |
126
+ * \
127
+ * Setting {@link PackageVersion} overwrites {@link VersionSuffix}
128
+ * @returns The string appended to the end of the MAJOR.MINOR.PATCH semver string (i.e. {@link VersionPrefix})
129
+ */
130
+ get VersionSuffix(): string;
131
+ /**
132
+ * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframework Target Framework}
133
+ * @see
134
+ * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks
135
+ * https://learn.microsoft.com/en-us/dotnet/standard/frameworks
136
+ */
137
+ get TargetFramework(): string;
138
+ /**
139
+ * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframeworks Target Frameworks} (plural)
140
+ * @see
141
+ * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks
142
+ * https://learn.microsoft.com/en-us/dotnet/standard/frameworks
143
+ */
144
+ get TargetFrameworks(): string;
145
+ /**
146
+ * @returns
147
+ * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifier `Runtime Identifier`} property lets you specify a single runtime
148
+ * > identifier (RID) for the project. The RID enables publishing a
149
+ * > self-contained deployment.
150
+ * @see
151
+ * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
152
+ */
153
+ get RuntimeIdentifier(): string;
154
+ /**
155
+ * @returns
156
+ * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifiers `RuntimeIdentifiers`} property lets you specify a
157
+ * > semicolon-delimited list of runtime identifiers (RIDs) for the project.
158
+ * > Use this property if you need to publish for multiple runtimes.
159
+ * > `RuntimeIdentifiers` is used at restore time to ensure the right assets
160
+ * > are in the graph.
161
+ * @see
162
+ * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
163
+ */
164
+ get RuntimeIdentifiers(): string;
165
+ }
166
+ type Class_MSBPP = ClassLike<BaseClass<typeof MSBuildProjectProperties & {
167
+ getAndForget: ProtectedMember<typeof MSBuildProjectProperties.getAndForget>;
168
+ }>>;
169
+ type ProtectedMember<T> = T;
170
+ //#endregion
171
+ export { Class_MSBPP, MSBuildProjectProperties };
172
+ //# sourceMappingURL=MSBuildProjectProperties.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSBuildProjectProperties.d.mts","names":[],"sources":["../../src/dotnet/MSBuildProjectProperties.ts"],"mappings":";;;;;;AAmBA;;;;;;;;;cAAa,wBAAA;;;;;;;SASJ,WAAA,CAAY,IAAA;;;;;;;;;;mBAiBF,YAAA,CACf,UAAA,EAAY,kBAAA,kBACZ,GAAA;EAAA,QAYM,uBAAA;EAAA,QACA,aAAA;EAAA,QACA,2BAAA;EAAA,QACA,eAAA;EAAA,QACA,YAAA;EAAA,QACA,uBAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QACA,kBAAA;EAAA,QACA,mBAAA;EAAA,QACA,gBAAA;EAAA,QACA,iBAAA;EAAA,QACA,QAAA;EAAA,QACA,cAAA;EAAA,QACA,cAAA;EAGR,WAAA,CACE,sBAAA,UACA,UAAA,EAAY,kBAAA;EAAA,IAiDV,sBAAA,CAAA;;;AAkKN;;;MAzJM,YAAA,CAAA;;;;;;;;;MAYA,0BAAA,CAAA;;;;;;;;MAWA,cAAA,CAAA;;;;;;MASA,WAAA,CAAA;;;;;;MASA,kBAAA,CAAA;;;;;;;;MAWA,MAAA,CAAA;;;;;;;;;MAYA,UAAA,CAAA;;;;;;;MAUA,OAAA,CAAA;;;;;;;MAUA,aAAA,CAAA;;;;;;;;;;;;;;MAiBA,aAAA,CAAA;;;;;;;MAUA,eAAA,CAAA;;;;;;;MAUA,gBAAA,CAAA;;;;;;;;;MAYA,iBAAA,CAAA;;;;;;;;;;;MAcA,kBAAA,CAAA;AAAA;AAAA,KAMM,WAAA,GAAc,SAAA,CAAU,SAAA,QAAiB,wBAAA;EAEnD,YAAA,EAAc,eAAA,QAAuB,wBAAA,CAAyB,YAAA;AAAA;AAAA,KAG3D,eAAA,MAAqB,CAAA"}
@@ -1,260 +1,2 @@
1
- import { strictEqual } from 'node:assert/strict';
2
- import { existsSync } from 'node:fs';
3
- import node_path from 'node:path';
4
- import { CaseInsensitiveMap } from '../CaseInsensitiveMap.mjs';
5
-
6
- /**
7
- * Known properties. Additional properties may be added upon request.
8
- *
9
- * todo: add Reserved properties, Well-Known properties, Common properties, and more. Maybe as sub classes.
10
- * See:
11
- * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties?view=vs-2022 MSBuild Reserved and Well-known Properties}
12
- * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022 Common MSBuild project properties}
13
- * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props Microsoft.NET.Sdk}
14
- * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/web-sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json#properties Microsoft.NET.Sdk.Web}
15
- * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json Microsoft.NET.Sdk.Razor}
16
- * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props-desktop Microsoft.NET.Sdk.Desktop}
17
- */
18
- class MSBuildProjectProperties {
19
- // #region static
20
-
21
- /**
22
- * Resolve the given path if it is not absolute. If the path exists, it is returned. Else, an Error is thrown.
23
- * @param path The full file path of an MSBuild project.
24
- * @returns The absolute path to the MSBuild project file.
25
- * @throws {Error} if the path cannot be resolved to an existing file.
26
- */
27
- static GetFullPath(path) {
28
- if (!node_path.isAbsolute(path)) path = node_path.resolve(path);
29
- if (!existsSync(path)) throw new Error(`${node_path.basename(path)} could not be found at "${path}"`);
30
- return path;
31
- }
32
-
33
- /**
34
- * Note: This method may remove elements from {@link properties}.\
35
- * Try to get an element from {@link properties} by its {@link key}.
36
- * If an element is found, it is removed and the value of the element is returned.
37
- * Otherwise, `undefined` is returned.
38
- * @param properties The CaseInsensitiveMap of properties passed to the constructor.
39
- * @param key The key of the property to get from {@link properties}
40
- * @returns If found, the value of the `[string, string]` tuple found in {@link properties}. Else, `undefined`.
41
- */
42
- static getAndForget(properties, key) {
43
- const v = properties.get(key);
44
- if (v !== undefined) properties.delete(key);
45
- return v;
46
- }
47
-
48
- // #endregion static
49
- // #endregion static
50
-
51
- // #region private
52
- _msbuildProjectFullPath;
53
- _assemblyName;
54
- _baseIntermediateOutputPath;
55
- _baseOutputPath;
56
- _description;
57
- _intermediateOutputPath;
58
- _outDir;
59
- _outputPath;
60
- _runtimeIdentifier;
61
- _runtimeIdentifiers;
62
- _targetFramework;
63
- _targetFrameworks;
64
- _version;
65
- _versionPrefix;
66
- _versionSuffix;
67
- // #endregion private
68
-
69
- constructor(msbuildProjectFullPath, properties) {
70
- // runtime type checks
71
- strictEqual(typeof msbuildProjectFullPath, 'string', new TypeError(`msbuildProjectFullPath should be a string, not ${typeof msbuildProjectFullPath}!`));
72
- strictEqual(properties instanceof CaseInsensitiveMap, true, `arg 'properties' should be instanceof ${CaseInsensitiveMap.name}`);
73
- strictEqual([...properties.keys()].every(v => typeof v === 'string'), true, 'all keys in arg \'properties\' should be strings');
74
- this._msbuildProjectFullPath = MPP.GetFullPath(msbuildProjectFullPath);
75
- this._assemblyName = MPP.getAndForget(properties, 'AssemblyName');
76
- this._description = MPP.getAndForget(properties, 'Description');
77
- this._outputPath = MPP.getAndForget(properties, 'OutputPath');
78
- this._runtimeIdentifier = MPP.getAndForget(properties, 'RuntimeIdentifier');
79
- this._runtimeIdentifiers = MPP.getAndForget(properties, 'RuntimeIdentifiers');
80
- this._targetFramework = MPP.getAndForget(properties, 'TargetFramework');
81
- this._targetFrameworks = MPP.getAndForget(properties, 'TargetFrameworks');
82
- this._version = MPP.getAndForget(properties, 'Version');
83
- this._versionPrefix = MPP.getAndForget(properties, 'VersionPrefix');
84
- this._versionSuffix = MPP.getAndForget(properties, 'VersionSuffix');
85
- // rest
86
- for (const key of properties.keys()) {
87
- const value = MPP.getAndForget(properties, key);
88
- if (value !== undefined) {
89
- Object.defineProperty(this, key, {
90
- value: value,
91
- writable: false,
92
- enumerable: true,
93
- configurable: true
94
- });
95
- }
96
- }
97
- }
98
- get MSBuildProjectFullPath() {
99
- return this._msbuildProjectFullPath ??= '';
100
- }
101
-
102
- /**
103
- * @returns The name of the assembly.
104
- *
105
- * Default: {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties#:~:text=MSBuildProjectDirectory,-Reserved MSBuildProjectDirectory}
106
- */
107
- get AssemblyName() {
108
- return this._assemblyName ??= '';
109
- }
110
-
111
- /**
112
- * @returns The top-level folder where all configuration-specific intermediate output
113
- * folders are created. The default value is `obj\`.
114
- * @example
115
- * ```xml
116
- * <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>
117
- * ```
118
- */
119
- get BaseIntermediateOutputPath() {
120
- return this._baseIntermediateOutputPath ??= '';
121
- }
122
-
123
- /**
124
- * @returns The base path for the output file.
125
- * If it's set, MSBuild uses `OutputPath = $(BaseOutputPath)\$(Configuration)\`.
126
- * @example ```xml
127
- * <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
128
- * ```
129
- */
130
- get BaseOutputPath() {
131
- return this._baseOutputPath ??= '';
132
- }
133
-
134
- /**
135
- * A long description for the assembly.
136
- * If {@link NugetProperties.PackageDescription} is not specified, then this property is also used as the description of the package.
137
- * @returns The value of the `Description` property.
138
- */
139
- get Description() {
140
- return this._description ??= '';
141
- }
142
-
143
- /**
144
- * @returns The full intermediate output path as derived from
145
- * {@link BaseIntermediateOutputPath}, if no path is specified.
146
- * @example "obj\\debug\\"
147
- */
148
- get IntermediateOutput() {
149
- return this._intermediateOutputPath ??= '';
150
- }
151
-
152
- /**
153
- * @returns The final output location for the project or solution.
154
- * When you build a solution, OutDir can be used to gather multiple project outputs in one location.
155
- * In addition, OutDir is included in AssemblySearchPaths used for resolving references.
156
- * @example
157
- * `bin/Debug`
158
- */
159
- get OutDir() {
160
- return this._outDir ??= '';
161
- }
162
-
163
- /**
164
- * @returns The path to the output directory, relative to the project
165
- * directory.
166
- * @example
167
- * `bin/Debug`
168
- * /// non-AnyCPU builds
169
- * `bin/Debug/${Platform}`
170
- */
171
- get OutputPath() {
172
- return this._outputPath ??= '';
173
- }
174
-
175
- /**
176
- * Set Version -OR- VersionPrefix.
177
- * @returns The value of the `Version` property.
178
- *
179
- * Default: `"1.0.0"`
180
- */
181
- get Version() {
182
- return this._version ??= '1.0.0';
183
- }
184
-
185
- /**
186
- * Set Version -OR- VersionPrefix.\
187
- * Setting {@link NugetProperties.PackageVersion} overwrites {@link VersionPrefix}
188
- * @returns The MAJOR.MINOR.PATCH string of the version.
189
- * @see {@link VersionSuffix}
190
- */
191
- get VersionPrefix() {
192
- return this._versionPrefix ??= '';
193
- }
194
-
195
- /**
196
- * The effect of this property on the package version depends on the values of the Version and VersionPrefix properties, as shown in the following table:
197
- * | Properties with values | Package version |
198
- * | ---------------------- | --------------- |
199
- * | None | 1.0.0 |
200
- * | Version | $(Version) |
201
- * | VersionPrefix only | $(VersionPrefix) |
202
- * | VersionSuffix only | 1.0.0-$(VersionSuffix) |
203
- * | VersionPrefix and VersionSuffix | $(VersionPrefix)-$(VersionSuffix) |
204
- * \
205
- * Setting {@link PackageVersion} overwrites {@link VersionSuffix}
206
- * @returns The string appended to the end of the MAJOR.MINOR.PATCH semver string (i.e. {@link VersionPrefix})
207
- */
208
- get VersionSuffix() {
209
- return this._versionSuffix ??= '';
210
- }
211
-
212
- /**
213
- * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframework Target Framework}
214
- * @see
215
- * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks
216
- * https://learn.microsoft.com/en-us/dotnet/standard/frameworks
217
- */
218
- get TargetFramework() {
219
- return this._targetFramework ??= '';
220
- }
221
-
222
- /**
223
- * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframeworks Target Frameworks} (plural)
224
- * @see
225
- * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks
226
- * https://learn.microsoft.com/en-us/dotnet/standard/frameworks
227
- */
228
- get TargetFrameworks() {
229
- return this._targetFrameworks ??= '';
230
- }
231
-
232
- /**
233
- * @returns
234
- * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifier `Runtime Identifier`} property lets you specify a single runtime
235
- * > identifier (RID) for the project. The RID enables publishing a
236
- * > self-contained deployment.
237
- * @see
238
- * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
239
- */
240
- get RuntimeIdentifier() {
241
- return this._runtimeIdentifier ??= '';
242
- }
243
-
244
- /**
245
- * @returns
246
- * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifiers `RuntimeIdentifiers`} property lets you specify a
247
- * > semicolon-delimited list of runtime identifiers (RIDs) for the project.
248
- * > Use this property if you need to publish for multiple runtimes.
249
- * > `RuntimeIdentifiers` is used at restore time to ensure the right assets
250
- * > are in the graph.
251
- * @see
252
- * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
253
- */
254
- get RuntimeIdentifiers() {
255
- return this._runtimeIdentifiers ??= '';
256
- }
257
- }
258
- const MPP = MSBuildProjectProperties;
259
- export { MSBuildProjectProperties };
260
- //# sourceMappingURL=MSBuildProjectProperties.mjs.map
1
+ import{CaseInsensitiveMap as e}from"../CaseInsensitiveMap.mjs";import*as t from"node:path";import{existsSync as n}from"node:fs";import{strictEqual as r}from"node:assert/strict";var i=class{static GetFullPath(e){if(t.isAbsolute(e)||(e=t.resolve(e)),!n(e))throw Error(`${t.basename(e)} could not be found at "${e}"`);return e}static getAndForget(e,t){let n=e.get(t);return n!==void 0&&e.delete(t),n}_msbuildProjectFullPath;_assemblyName;_baseIntermediateOutputPath;_baseOutputPath;_description;_intermediateOutputPath;_outDir;_outputPath;_runtimeIdentifier;_runtimeIdentifiers;_targetFramework;_targetFrameworks;_version;_versionPrefix;_versionSuffix;constructor(t,n){r(typeof t,`string`,TypeError(`msbuildProjectFullPath should be a string, not ${typeof t}!`)),r(n instanceof e,!0,`arg 'properties' should be instanceof ${e.name}`),r([...n.keys()].every(e=>typeof e==`string`),!0,`all keys in arg 'properties' should be strings`),this._msbuildProjectFullPath=a.GetFullPath(t),this._assemblyName=a.getAndForget(n,`AssemblyName`),this._description=a.getAndForget(n,`Description`),this._outputPath=a.getAndForget(n,`OutputPath`),this._runtimeIdentifier=a.getAndForget(n,`RuntimeIdentifier`),this._runtimeIdentifiers=a.getAndForget(n,`RuntimeIdentifiers`),this._targetFramework=a.getAndForget(n,`TargetFramework`),this._targetFrameworks=a.getAndForget(n,`TargetFrameworks`),this._version=a.getAndForget(n,`Version`),this._versionPrefix=a.getAndForget(n,`VersionPrefix`),this._versionSuffix=a.getAndForget(n,`VersionSuffix`);for(let e of n.keys()){let t=a.getAndForget(n,e);t!==void 0&&Object.defineProperty(this,e,{value:t,writable:!1,enumerable:!0,configurable:!0})}}get MSBuildProjectFullPath(){return this._msbuildProjectFullPath??=``}get AssemblyName(){return this._assemblyName??=``}get BaseIntermediateOutputPath(){return this._baseIntermediateOutputPath??=``}get BaseOutputPath(){return this._baseOutputPath??=``}get Description(){return this._description??=``}get IntermediateOutput(){return this._intermediateOutputPath??=``}get OutDir(){return this._outDir??=``}get OutputPath(){return this._outputPath??=``}get Version(){return this._version??=`1.0.0`}get VersionPrefix(){return this._versionPrefix??=``}get VersionSuffix(){return this._versionSuffix??=``}get TargetFramework(){return this._targetFramework??=``}get TargetFrameworks(){return this._targetFrameworks??=``}get RuntimeIdentifier(){return this._runtimeIdentifier??=``}get RuntimeIdentifiers(){return this._runtimeIdentifiers??=``}};const a=i;export{i as MSBuildProjectProperties};
2
+ //# sourceMappingURL=MSBuildProjectProperties.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSBuildProjectProperties.mjs","sources":["../../src/dotnet/MSBuildProjectProperties.ts"],"names":[],"mappings":";;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,wBAAwB,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,WAAW,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACnE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACzG,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE;AACvC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;AAC/C,IAAI,OAAO,CAAC;AACZ,EAAE;;AAEF;AACA;;AAEA;AACA,EAAE,uBAAuB;AACzB,EAAE,aAAa;AACf,EAAE,2BAA2B;AAC7B,EAAE,eAAe;AACjB,EAAE,YAAY;AACd,EAAE,uBAAuB;AACzB,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,kBAAkB;AACpB,EAAE,mBAAmB;AACrB,EAAE,gBAAgB;AAClB,EAAE,iBAAiB;AACnB,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE,cAAc;AAChB;;AAEA,EAAE,WAAW,CAAC,sBAAsB,EAAE,UAAU,EAAE;AAClD;AACA,IAAI,WAAW,CAAC,OAAO,sBAAsB,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,+CAA+C,EAAE,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3J,IAAI,WAAW,CAAC,UAAU,YAAY,kBAAkB,EAAE,IAAI,EAAE,CAAC,sCAAsC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AACnI,IAAI,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,kDAAkD,CAAC;AACnI,IAAI,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC;AAC1E,IAAI,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC;AACrE,IAAI,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC;AACnE,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC;AACjE,IAAI,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,mBAAmB,CAAC;AAC/E,IAAI,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,CAAC;AACjF,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,CAAC;AAC3E,IAAI,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC;AAC7E,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC;AAC3D,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC;AACvE,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC;AACvE;AACA,IAAI,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;AACzC,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;AACrD,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE;AAC/B,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;AACzC,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,QAAQ,EAAE,KAAK;AACzB,UAAU,UAAU,EAAE,IAAI;AAC1B,UAAU,YAAY,EAAE;AACxB,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,sBAAsB,GAAG;AAC/B,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,EAAE;AAC9C,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,EAAE;AACpC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,0BAA0B,GAAG;AACnC,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,EAAE;AAClD,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,cAAc,GAAG;AACvB,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,EAAE;AACtC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,WAAW,GAAG;AACpB,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,EAAE;AACnC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,kBAAkB,GAAG;AAC3B,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,EAAE;AAC9C,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE;AAC9B,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;AAClC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO;AACpC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,aAAa,GAAG;AACtB,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,EAAE;AACrC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,aAAa,GAAG;AACtB,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,EAAE;AACrC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,eAAe,GAAG;AACxB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,EAAE;AACvC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,gBAAgB,GAAG;AACzB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,EAAE;AACxC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,iBAAiB,GAAG;AAC1B,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,EAAE;AACzC,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,kBAAkB,GAAG;AAC3B,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,EAAE;AAC1C,EAAE;AACF;AACA,MAAM,GAAG,GAAG,wBAAwB;;;;"}
1
+ {"version":3,"file":"MSBuildProjectProperties.mjs","names":[],"sources":["../../src/dotnet/MSBuildProjectProperties.ts"],"sourcesContent":["import { strictEqual } from 'node:assert/strict';\nimport { existsSync } from 'node:fs';\n// eslint-disable-next-line unicorn/import-style\nimport * as node_path from 'node:path';\nimport { CaseInsensitiveMap } from '../CaseInsensitiveMap.ts';\nimport type { BaseClass, ClassLike } from '../utils/reflection.ts';\n\n/**\n * Known properties. Additional properties may be added upon request.\n *\n * todo: add Reserved properties, Well-Known properties, Common properties, and more. Maybe as sub classes.\n * See:\n * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties?view=vs-2022 MSBuild Reserved and Well-known Properties}\n * - {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022 Common MSBuild project properties}\n * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props Microsoft.NET.Sdk}\n * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/web-sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json#properties Microsoft.NET.Sdk.Web}\n * - {@link https://learn.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-8.0&toc=%2Fdotnet%2Fnavigate%2Ftools-diagnostics%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json Microsoft.NET.Sdk.Razor}\n * - {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props-desktop Microsoft.NET.Sdk.Desktop}\n */\nexport class MSBuildProjectProperties {\n // #region static\n\n /**\n * Resolve the given path if it is not absolute. If the path exists, it is returned. Else, an Error is thrown.\n * @param path The full file path of an MSBuild project.\n * @returns The absolute path to the MSBuild project file.\n * @throws {Error} if the path cannot be resolved to an existing file.\n */\n static GetFullPath(path: string): string {\n if (!node_path.isAbsolute(path))\n path = node_path.resolve(path);\n if (!existsSync(path))\n throw new Error(`${node_path.basename(path)} could not be found at \"${path}\"`);\n return path;\n }\n\n /**\n * Note: This method may remove elements from {@link properties}.\\\n * Try to get an element from {@link properties} by its {@link key}.\n * If an element is found, it is removed and the value of the element is returned.\n * Otherwise, `undefined` is returned.\n * @param properties The CaseInsensitiveMap of properties passed to the constructor.\n * @param key The key of the property to get from {@link properties}\n * @returns If found, the value of the `[string, string]` tuple found in {@link properties}. Else, `undefined`.\n */\n protected static getAndForget(\n properties: CaseInsensitiveMap<string, string>,\n key: string,\n ): string | undefined {\n const v: string | undefined = properties.get(key);\n if (v !== undefined)\n properties.delete(key);\n return v;\n }\n\n // #endregion static\n // #endregion static\n\n // #region private\n private _msbuildProjectFullPath: string | undefined;\n private _assemblyName: string | undefined;\n private _baseIntermediateOutputPath: string | undefined;\n private _baseOutputPath: string | undefined;\n private _description: string | undefined;\n private _intermediateOutputPath: string | undefined;\n private _outDir: string | undefined;\n private _outputPath: string | undefined;\n private _runtimeIdentifier: string | undefined;\n private _runtimeIdentifiers: string | undefined;\n private _targetFramework: string | undefined;\n private _targetFrameworks: string | undefined;\n private _version: string | undefined;\n private _versionPrefix: string | undefined;\n private _versionSuffix: string | undefined;\n // #endregion private\n\n constructor(\n msbuildProjectFullPath: string,\n properties: CaseInsensitiveMap<string, string>,\n ) {\n // runtime type checks\n strictEqual(\n typeof msbuildProjectFullPath,\n 'string',\n new TypeError(\n `msbuildProjectFullPath should be a string, not ${typeof msbuildProjectFullPath}!`,\n ),\n );\n strictEqual(\n properties instanceof CaseInsensitiveMap,\n true,\n `arg 'properties' should be instanceof ${CaseInsensitiveMap.name}`,\n );\n strictEqual(\n [...properties.keys()].every((v): v is string => typeof v === 'string'),\n true,\n 'all keys in arg \\'properties\\' should be strings',\n );\n\n this._msbuildProjectFullPath = MPP.GetFullPath(msbuildProjectFullPath);\n this._assemblyName = MPP.getAndForget(properties, 'AssemblyName');\n this._description = MPP.getAndForget(properties, 'Description');\n this._outputPath = MPP.getAndForget(properties, 'OutputPath');\n this._runtimeIdentifier = MPP.getAndForget(properties, 'RuntimeIdentifier');\n this._runtimeIdentifiers = MPP.getAndForget(\n properties,\n 'RuntimeIdentifiers',\n );\n this._targetFramework = MPP.getAndForget(properties, 'TargetFramework');\n this._targetFrameworks = MPP.getAndForget(properties, 'TargetFrameworks');\n this._version = MPP.getAndForget(properties, 'Version');\n this._versionPrefix = MPP.getAndForget(properties, 'VersionPrefix');\n this._versionSuffix = MPP.getAndForget(properties, 'VersionSuffix');\n // rest\n for (const key of properties.keys()) {\n const value = MPP.getAndForget(properties, key);\n if (value !== undefined) {\n Object.defineProperty(this, key, {\n value: value,\n writable: false,\n enumerable: true,\n configurable: true,\n });\n }\n }\n }\n\n get MSBuildProjectFullPath(): string {\n return this._msbuildProjectFullPath ??= '';\n }\n\n /**\n * @returns The name of the assembly.\n *\n * Default: {@link https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-reserved-and-well-known-properties#:~:text=MSBuildProjectDirectory,-Reserved MSBuildProjectDirectory}\n */\n get AssemblyName(): string {\n return this._assemblyName ??= '';\n }\n\n /**\n * @returns The top-level folder where all configuration-specific intermediate output\n * folders are created. The default value is `obj\\`.\n * @example\n * ```xml\n * <BaseIntermediateOutputPath>c:\\xyz\\obj\\</BaseIntermediateOutputPath>\n * ```\n */\n get BaseIntermediateOutputPath(): string {\n return this._baseIntermediateOutputPath ??= '';\n }\n\n /**\n * @returns The base path for the output file.\n * If it's set, MSBuild uses `OutputPath = $(BaseOutputPath)\\$(Configuration)\\`.\n * @example ```xml\n * <BaseOutputPath>c:\\xyz\\bin\\</BaseOutputPath>\n * ```\n */\n get BaseOutputPath(): string {\n return this._baseOutputPath ??= '';\n }\n\n /**\n * A long description for the assembly.\n * If {@link NugetProperties.PackageDescription} is not specified, then this property is also used as the description of the package.\n * @returns The value of the `Description` property.\n */\n get Description(): string {\n return this._description ??= '';\n }\n\n /**\n * @returns The full intermediate output path as derived from\n * {@link BaseIntermediateOutputPath}, if no path is specified.\n * @example \"obj\\\\debug\\\\\"\n */\n get IntermediateOutput(): string {\n return this._intermediateOutputPath ??= '';\n }\n\n /**\n * @returns The final output location for the project or solution.\n * When you build a solution, OutDir can be used to gather multiple project outputs in one location.\n * In addition, OutDir is included in AssemblySearchPaths used for resolving references.\n * @example\n * `bin/Debug`\n */\n get OutDir(): string {\n return this._outDir ??= '';\n }\n\n /**\n * @returns The path to the output directory, relative to the project\n * directory.\n * @example\n * `bin/Debug`\n * /// non-AnyCPU builds\n * `bin/Debug/${Platform}`\n */\n get OutputPath(): string {\n return this._outputPath ??= '';\n }\n\n /**\n * Set Version -OR- VersionPrefix.\n * @returns The value of the `Version` property.\n *\n * Default: `\"1.0.0\"`\n */\n get Version(): string {\n return this._version ??= '1.0.0';\n }\n\n /**\n * Set Version -OR- VersionPrefix.\\\n * Setting {@link NugetProperties.PackageVersion} overwrites {@link VersionPrefix}\n * @returns The MAJOR.MINOR.PATCH string of the version.\n * @see {@link VersionSuffix}\n */\n get VersionPrefix(): string {\n return this._versionPrefix ??= '';\n }\n\n /**\n * The effect of this property on the package version depends on the values of the Version and VersionPrefix properties, as shown in the following table:\n * | Properties with values | Package version |\n * | ---------------------- | --------------- |\n * | None | 1.0.0 |\n * | Version | $(Version) |\n * | VersionPrefix only | $(VersionPrefix) |\n * | VersionSuffix only | 1.0.0-$(VersionSuffix) |\n * | VersionPrefix and VersionSuffix | $(VersionPrefix)-$(VersionSuffix) |\n * \\\n * Setting {@link PackageVersion} overwrites {@link VersionSuffix}\n * @returns The string appended to the end of the MAJOR.MINOR.PATCH semver string (i.e. {@link VersionPrefix})\n */\n get VersionSuffix(): string {\n return this._versionSuffix ??= '';\n }\n\n /**\n * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframework Target Framework}\n * @see\n * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks\n * https://learn.microsoft.com/en-us/dotnet/standard/frameworks\n */\n get TargetFramework(): string {\n return this._targetFramework ??= '';\n }\n\n /**\n * @returns The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#targetframeworks Target Frameworks} (plural)\n * @see\n * https://learn.microsoft.com/en-us/nuget/reference/target-frameworks#supported-frameworks\n * https://learn.microsoft.com/en-us/dotnet/standard/frameworks\n */\n get TargetFrameworks(): string {\n return this._targetFrameworks ??= '';\n }\n\n /**\n * @returns\n * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifier `Runtime Identifier`} property lets you specify a single runtime\n * > identifier (RID) for the project. The RID enables publishing a\n * > self-contained deployment.\n * @see\n * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog\n */\n get RuntimeIdentifier(): string {\n return this._runtimeIdentifier ??= '';\n }\n\n /**\n * @returns\n * > The {@link https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#runtimeidentifiers `RuntimeIdentifiers`} property lets you specify a\n * > semicolon-delimited list of runtime identifiers (RIDs) for the project.\n * > Use this property if you need to publish for multiple runtimes.\n * > `RuntimeIdentifiers` is used at restore time to ensure the right assets\n * > are in the graph.\n * @see\n * https://learn.microsoft.com/en-us/dotnet/core/rid-catalog\n */\n get RuntimeIdentifiers(): string {\n return this._runtimeIdentifiers ??= '';\n }\n}\n\nconst MPP = MSBuildProjectProperties;\nexport type Class_MSBPP = ClassLike<BaseClass<typeof MSBuildProjectProperties & {\n // @ts-expect-error Property 'getAndForget' is protected and only accessible within class 'MSBuildProjectProperties' and its subclasses. ts(2445)\n getAndForget: ProtectedMember<typeof MSBuildProjectProperties.getAndForget>;\n}>>;\n\ntype ProtectedMember<T> = T;\n"],"mappings":"iLAmBA,IAAa,EAAb,KAAsC,CASpC,OAAO,YAAY,EAAsB,CAGvC,GAFK,EAAU,WAAW,EAAK,GAC7B,EAAO,EAAU,QAAQ,EAAK,EAC5B,CAAC,EAAW,EAAK,CACnB,MAAU,MAAM,GAAG,EAAU,SAAS,EAAK,CAAC,0BAA0B,EAAK,GAAG,CAChF,OAAO,EAYT,OAAiB,aACf,EACA,EACoB,CACpB,IAAM,EAAwB,EAAW,IAAI,EAAI,CAGjD,OAFI,IAAM,IAAA,IACR,EAAW,OAAO,EAAI,CACjB,EAOT,wBACA,cACA,4BACA,gBACA,aACA,wBACA,QACA,YACA,mBACA,oBACA,iBACA,kBACA,SACA,eACA,eAGA,YACE,EACA,EACA,CAEA,EACE,OAAO,EACP,SACI,UACF,kDAAkD,OAAO,EAAuB,GACjF,CACF,CACD,EACE,aAAsB,EACtB,GACA,yCAAyC,EAAmB,OAC7D,CACD,EACE,CAAC,GAAG,EAAW,MAAM,CAAC,CAAC,MAAO,GAAmB,OAAO,GAAM,SAAS,CACvE,GACA,iDACD,CAED,KAAK,wBAA0B,EAAI,YAAY,EAAuB,CACtE,KAAK,cAAgB,EAAI,aAAa,EAAY,eAAe,CACjE,KAAK,aAAe,EAAI,aAAa,EAAY,cAAc,CAC/D,KAAK,YAAc,EAAI,aAAa,EAAY,aAAa,CAC7D,KAAK,mBAAqB,EAAI,aAAa,EAAY,oBAAoB,CAC3E,KAAK,oBAAsB,EAAI,aAC7B,EACA,qBACD,CACD,KAAK,iBAAmB,EAAI,aAAa,EAAY,kBAAkB,CACvE,KAAK,kBAAoB,EAAI,aAAa,EAAY,mBAAmB,CACzE,KAAK,SAAW,EAAI,aAAa,EAAY,UAAU,CACvD,KAAK,eAAiB,EAAI,aAAa,EAAY,gBAAgB,CACnE,KAAK,eAAiB,EAAI,aAAa,EAAY,gBAAgB,CAEnE,IAAK,IAAM,KAAO,EAAW,MAAM,CAAE,CACnC,IAAM,EAAQ,EAAI,aAAa,EAAY,EAAI,CAC3C,IAAU,IAAA,IACZ,OAAO,eAAe,KAAM,EAAK,CACxB,QACP,SAAU,GACV,WAAY,GACZ,aAAc,GACf,CAAC,EAKR,IAAI,wBAAiC,CACnC,MAAO,MAAK,0BAA4B,GAQ1C,IAAI,cAAuB,CACzB,MAAO,MAAK,gBAAkB,GAWhC,IAAI,4BAAqC,CACvC,MAAO,MAAK,8BAAgC,GAU9C,IAAI,gBAAyB,CAC3B,MAAO,MAAK,kBAAoB,GAQlC,IAAI,aAAsB,CACxB,MAAO,MAAK,eAAiB,GAQ/B,IAAI,oBAA6B,CAC/B,MAAO,MAAK,0BAA4B,GAU1C,IAAI,QAAiB,CACnB,MAAO,MAAK,UAAY,GAW1B,IAAI,YAAqB,CACvB,MAAO,MAAK,cAAgB,GAS9B,IAAI,SAAkB,CACpB,MAAO,MAAK,WAAa,QAS3B,IAAI,eAAwB,CAC1B,MAAO,MAAK,iBAAmB,GAgBjC,IAAI,eAAwB,CAC1B,MAAO,MAAK,iBAAmB,GASjC,IAAI,iBAA0B,CAC5B,MAAO,MAAK,mBAAqB,GASnC,IAAI,kBAA2B,CAC7B,MAAO,MAAK,oBAAsB,GAWpC,IAAI,mBAA4B,CAC9B,MAAO,MAAK,qBAAuB,GAarC,IAAI,oBAA6B,CAC/B,MAAO,MAAK,sBAAwB,KAIxC,MAAM,EAAM"}