@fossa-app/bridge 0.1.6 → 0.1.8

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 (265) hide show
  1. package/dist/Models/ApiModels.d.ts +199 -0
  2. package/dist/Models/ApiModels.js +350 -0
  3. package/dist/Models/ApiModels.js.map +1 -0
  4. package/dist/Services/Clients/BranchClient.d.ts +16 -0
  5. package/dist/Services/Clients/BranchClient.js +54 -0
  6. package/dist/Services/Clients/BranchClient.js.map +1 -0
  7. package/dist/Services/Clients/CompanyClient.d.ts +13 -0
  8. package/dist/Services/Clients/CompanyClient.js +38 -0
  9. package/dist/Services/Clients/CompanyClient.js.map +1 -0
  10. package/dist/Services/Clients/CompanyLicenseClient.d.ts +10 -0
  11. package/dist/Services/Clients/CompanyLicenseClient.js +30 -0
  12. package/dist/Services/Clients/CompanyLicenseClient.js.map +1 -0
  13. package/dist/Services/Clients/CompanySettingsClient.d.ts +13 -0
  14. package/dist/Services/Clients/CompanySettingsClient.js +38 -0
  15. package/dist/Services/Clients/CompanySettingsClient.js.map +1 -0
  16. package/dist/Services/Clients/DepartmentClient.d.ts +16 -0
  17. package/dist/Services/Clients/DepartmentClient.js +54 -0
  18. package/dist/Services/Clients/DepartmentClient.js.map +1 -0
  19. package/dist/Services/Clients/EmployeeClient.d.ts +18 -0
  20. package/dist/Services/Clients/EmployeeClient.js +63 -0
  21. package/dist/Services/Clients/EmployeeClient.js.map +1 -0
  22. package/dist/Services/Clients/IdentityClient.d.ts +9 -0
  23. package/dist/Services/Clients/IdentityClient.js +26 -0
  24. package/dist/Services/Clients/IdentityClient.js.map +1 -0
  25. package/dist/Services/Clients/SystemLicenseClient.d.ts +9 -0
  26. package/dist/Services/Clients/SystemLicenseClient.js +26 -0
  27. package/dist/Services/Clients/SystemLicenseClient.js.map +1 -0
  28. package/dist/Services/Endpoints.d.ts +10 -0
  29. package/dist/Services/Endpoints.js +14 -0
  30. package/dist/Services/Endpoints.js.map +1 -0
  31. package/dist/Services/IHttpTransport.d.ts +6 -0
  32. package/dist/Services/IHttpTransport.js +3 -0
  33. package/dist/Services/IHttpTransport.js.map +1 -0
  34. package/dist/Services/UrlHelpers.d.ts +25 -0
  35. package/dist/Services/UrlHelpers.js +103 -0
  36. package/dist/Services/UrlHelpers.js.map +1 -0
  37. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Array.d.ts +125 -0
  38. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Array.js +1371 -0
  39. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Array.js.map +1 -0
  40. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Async.d.ts +27 -0
  41. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Async.js +172 -0
  42. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Async.js.map +1 -0
  43. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/AsyncBuilder.d.ts +59 -0
  44. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/AsyncBuilder.js +194 -0
  45. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/AsyncBuilder.js.map +1 -0
  46. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BigInt.d.ts +129 -0
  47. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BigInt.js +428 -0
  48. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BigInt.js.map +1 -0
  49. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BitConverter.d.ts +27 -0
  50. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BitConverter.js +165 -0
  51. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/BitConverter.js.map +1 -0
  52. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Boolean.d.ts +3 -0
  53. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Boolean.js +27 -0
  54. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Boolean.js.map +1 -0
  55. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Char.d.ts +66 -0
  56. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Char.js +271 -0
  57. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Char.js.map +1 -0
  58. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Choice.d.ts +121 -0
  59. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Choice.js +231 -0
  60. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Choice.js.map +1 -0
  61. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/CollectionUtil.d.ts +8 -0
  62. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/CollectionUtil.js +192 -0
  63. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/CollectionUtil.js.map +1 -0
  64. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/ConditionalWeakTable.d.ts +9 -0
  65. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/ConditionalWeakTable.js +26 -0
  66. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/ConditionalWeakTable.js.map +1 -0
  67. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Date.d.ts +70 -0
  68. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Date.js +812 -0
  69. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Date.js.map +1 -0
  70. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOffset.d.ts +65 -0
  71. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOffset.js +345 -0
  72. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOffset.js.map +1 -0
  73. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOnly.d.ts +18 -0
  74. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOnly.js +143 -0
  75. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/DateOnly.js.map +1 -0
  76. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Decimal.d.ts +63 -0
  77. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Decimal.js +322 -0
  78. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Decimal.js.map +1 -0
  79. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Double.d.ts +11 -0
  80. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Double.js +60 -0
  81. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Double.js.map +1 -0
  82. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Encoding.d.ts +12 -0
  83. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Encoding.js +178 -0
  84. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Encoding.js.map +1 -0
  85. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Event.d.ts +31 -0
  86. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Event.js +109 -0
  87. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Event.js.map +1 -0
  88. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Collections.d.ts +7 -0
  89. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Collections.js +53 -0
  90. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Collections.js.map +1 -0
  91. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.CompilerServices.d.ts +12 -0
  92. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.CompilerServices.js +38 -0
  93. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.CompilerServices.js.map +1 -0
  94. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.d.ts +30 -0
  95. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.js +185 -0
  96. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/FSharp.Core.js.map +1 -0
  97. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Global.d.ts +45 -0
  98. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Global.js +33 -0
  99. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Global.js.map +1 -0
  100. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Guid.d.ts +10 -0
  101. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Guid.js +152 -0
  102. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Guid.js.map +1 -0
  103. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Int32.d.ts +29 -0
  104. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Int32.js +148 -0
  105. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Int32.js.map +1 -0
  106. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/List.d.ts +143 -0
  107. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/List.js +1404 -0
  108. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/List.js.map +1 -0
  109. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Long.d.ts +3 -0
  110. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Long.js +52 -0
  111. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Long.js.map +1 -0
  112. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MailboxProcessor.d.ts +25 -0
  113. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MailboxProcessor.js +104 -0
  114. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MailboxProcessor.js.map +1 -0
  115. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Map.d.ts +178 -0
  116. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Map.js +1525 -0
  117. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Map.js.map +1 -0
  118. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MapUtil.d.ts +12 -0
  119. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MapUtil.js +141 -0
  120. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MapUtil.js.map +1 -0
  121. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableMap.d.ts +52 -0
  122. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableMap.js +355 -0
  123. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableMap.js.map +1 -0
  124. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableSet.d.ts +39 -0
  125. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableSet.js +246 -0
  126. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/MutableSet.js.map +1 -0
  127. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Native.d.ts +3 -0
  128. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Native.js +18 -0
  129. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Native.js.map +1 -0
  130. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Numeric.d.ts +20 -0
  131. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Numeric.js +87 -0
  132. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Numeric.js.map +1 -0
  133. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Observable.d.ts +32 -0
  134. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Observable.js +128 -0
  135. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Observable.js.map +1 -0
  136. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Option.d.ts +29 -0
  137. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Option.js +127 -0
  138. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Option.js.map +1 -0
  139. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Random.d.ts +38 -0
  140. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Random.js +186 -0
  141. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Random.js.map +1 -0
  142. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Range.d.ts +12 -0
  143. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Range.js +56 -0
  144. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Range.js.map +1 -0
  145. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Reflection.d.ts +119 -0
  146. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Reflection.js +529 -0
  147. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Reflection.js.map +1 -0
  148. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/RegExp.d.ts +10 -0
  149. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/RegExp.js +144 -0
  150. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/RegExp.js.map +1 -0
  151. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Result.d.ts +38 -0
  152. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Result.js +191 -0
  153. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Result.js.map +1 -0
  154. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq.d.ts +164 -0
  155. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq.js +1501 -0
  156. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq.js.map +1 -0
  157. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq2.d.ts +18 -0
  158. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq2.js +129 -0
  159. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Seq2.js.map +1 -0
  160. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Set.d.ts +190 -0
  161. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Set.js +1931 -0
  162. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Set.js.map +1 -0
  163. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/String.d.ts +59 -0
  164. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/String.js +677 -0
  165. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/String.js.map +1 -0
  166. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Collections.Generic.d.ts +85 -0
  167. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Collections.Generic.js +390 -0
  168. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Collections.Generic.js.map +1 -0
  169. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Text.d.ts +40 -0
  170. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Text.js +204 -0
  171. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.Text.js.map +1 -0
  172. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.d.ts +121 -0
  173. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.js +367 -0
  174. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/System.js.map +1 -0
  175. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeOnly.d.ts +15 -0
  176. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeOnly.js +138 -0
  177. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeOnly.js.map +1 -0
  178. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeSpan.d.ts +35 -0
  179. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeSpan.js +210 -0
  180. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/TimeSpan.js.map +1 -0
  181. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Timer.d.ts +19 -0
  182. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Timer.js +72 -0
  183. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Timer.js.map +1 -0
  184. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Types.d.ts +51 -0
  185. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Types.js +205 -0
  186. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Types.js.map +1 -0
  187. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Unicode.13.0.0.d.ts +2 -0
  188. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Unicode.13.0.0.js +8 -0
  189. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Unicode.13.0.0.js.map +1 -0
  190. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Uri.d.ts +32 -0
  191. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Uri.js +170 -0
  192. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Uri.js.map +1 -0
  193. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Util.d.ts +243 -0
  194. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Util.js +903 -0
  195. package/dist/fable_modules/fable-library-ts.5.0.0-rc.1/Util.js.map +1 -0
  196. package/package.json +5 -2
  197. package/.build.ps1 +0 -308
  198. package/.gitattributes +0 -43
  199. package/.github/dependabot.yml +0 -38
  200. package/.github/release-drafter.yml +0 -52
  201. package/.github/workflows/cicd.yml +0 -87
  202. package/.github/workflows/lint.yml +0 -34
  203. package/.github/workflows/release-drafter.yml +0 -27
  204. package/Bridge.slnx +0 -8
  205. package/Directory.Build.props +0 -25
  206. package/Images/Icon.png +0 -0
  207. package/build.ps1 +0 -11
  208. package/dotnet-tools.json +0 -27
  209. package/format.ps1 +0 -11
  210. package/gig.ps1 +0 -17
  211. package/global.json +0 -6
  212. package/lint.ps1 +0 -20
  213. package/pack.ps1 +0 -11
  214. package/publish.ps1 +0 -11
  215. package/restore.ps1 +0 -11
  216. package/src/Bridge/Bridge.fsproj +0 -26
  217. package/src/Bridge/Models/ApiModels.fs +0 -142
  218. package/src/Bridge/Services/Clients/BranchClient.fs +0 -46
  219. package/src/Bridge/Services/Clients/CompanyClient.fs +0 -24
  220. package/src/Bridge/Services/Clients/CompanyLicenseClient.fs +0 -17
  221. package/src/Bridge/Services/Clients/CompanySettingsClient.fs +0 -24
  222. package/src/Bridge/Services/Clients/DepartmentClient.fs +0 -48
  223. package/src/Bridge/Services/Clients/EmployeeClient.fs +0 -71
  224. package/src/Bridge/Services/Clients/IdentityClient.fs +0 -11
  225. package/src/Bridge/Services/Clients/SystemLicenseClient.fs +0 -11
  226. package/src/Bridge/Services/Endpoints.fs +0 -13
  227. package/src/Bridge/Services/IHttpTransport.fs +0 -10
  228. package/src/Bridge/Services/UrlHelpers.fs +0 -18
  229. package/src/Bridge/bin/Release/net10.0/Fossa.Bridge.deps.json +0 -98
  230. package/src/Bridge/bin/Release/net10.0/Fossa.Bridge.xml +0 -6
  231. package/src/Bridge/obj/Bridge.fsproj.nuget.dgspec.json +0 -357
  232. package/src/Bridge/obj/Bridge.fsproj.nuget.g.props +0 -29
  233. package/src/Bridge/obj/Bridge.fsproj.nuget.g.targets +0 -2
  234. package/src/Bridge/obj/Release/Fossa.Bridge.0.1.6.nuspec +0 -31
  235. package/src/Bridge/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +0 -3
  236. package/src/Bridge/obj/Release/net10.0/Bridge.AssemblyInfo.fs +0 -20
  237. package/src/Bridge/obj/Release/net10.0/Bridge.fsproj.FileListAbsolute.txt +0 -14
  238. package/src/Bridge/obj/Release/net10.0/Bridge.sourcelink.json +0 -1
  239. package/src/Bridge/obj/Release/net10.0/Fossa.Bridge.xml +0 -6
  240. package/src/Bridge/obj/Release/net10.0/ILLink.Substitutions.xml +0 -15
  241. package/src/Bridge/obj/project.assets.json +0 -501
  242. package/src/Directory.Build.props +0 -23
  243. package/test.ps1 +0 -11
  244. package/tests/Bridge.Tests/Bridge.Tests.fsproj +0 -19
  245. package/tests/Bridge.Tests/Main.fs +0 -7
  246. package/tests/Bridge.Tests/UrlHelpersTests.fs +0 -33
  247. package/tests/Bridge.Tests/bin/Release/net10.0/.msCoverageSourceRootsMapping_Fossa.Bridge.Tests +0 -0
  248. package/tests/Bridge.Tests/bin/Release/net10.0/Fossa.Bridge.Tests +0 -0
  249. package/tests/Bridge.Tests/bin/Release/net10.0/Fossa.Bridge.Tests.deps.json +0 -819
  250. package/tests/Bridge.Tests/bin/Release/net10.0/Fossa.Bridge.Tests.runtimeconfig.json +0 -14
  251. package/tests/Bridge.Tests/bin/Release/net10.0/Fossa.Bridge.xml +0 -6
  252. package/tests/Bridge.Tests/obj/Bridge.Tests.fsproj.nuget.dgspec.json +0 -712
  253. package/tests/Bridge.Tests/obj/Bridge.Tests.fsproj.nuget.g.props +0 -30
  254. package/tests/Bridge.Tests/obj/Bridge.Tests.fsproj.nuget.g.targets +0 -11
  255. package/tests/Bridge.Tests/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +0 -3
  256. package/tests/Bridge.Tests/obj/Release/net10.0/Bridge.T.A317E392.Up2Date +0 -0
  257. package/tests/Bridge.Tests/obj/Release/net10.0/Bridge.Tests.AssemblyInfo.fs +0 -19
  258. package/tests/Bridge.Tests/obj/Release/net10.0/Bridge.Tests.fsproj.FileListAbsolute.txt +0 -190
  259. package/tests/Bridge.Tests/obj/Release/net10.0/Bridge.Tests.sourcelink.json +0 -1
  260. package/tests/Bridge.Tests/obj/Release/net10.0/ILLink.Substitutions.xml +0 -15
  261. package/tests/Bridge.Tests/obj/Release/net10.0/apphost +0 -0
  262. package/tests/Bridge.Tests/obj/project.assets.json +0 -2144
  263. package/trigger.ps1 +0 -32
  264. package/tsconfig.json +0 -18
  265. package/version.ps1 +0 -11
@@ -0,0 +1,1931 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FSharpSet = exports.SetTreeModule_SetIterator$1 = exports.SetTreeNode$1 = exports.SetTreeLeaf$1 = void 0;
4
+ exports.SetTreeLeaf$1_$reflection = SetTreeLeaf$1_$reflection;
5
+ exports.SetTreeLeaf$1_$ctor_2B595 = SetTreeLeaf$1_$ctor_2B595;
6
+ exports.SetTreeLeaf$1__get_Key = SetTreeLeaf$1__get_Key;
7
+ exports.SetTreeNode$1_$reflection = SetTreeNode$1_$reflection;
8
+ exports.SetTreeNode$1_$ctor_5F465FC9 = SetTreeNode$1_$ctor_5F465FC9;
9
+ exports.SetTreeNode$1__get_Left = SetTreeNode$1__get_Left;
10
+ exports.SetTreeNode$1__get_Right = SetTreeNode$1__get_Right;
11
+ exports.SetTreeNode$1__get_Height = SetTreeNode$1__get_Height;
12
+ exports.SetTreeModule_empty = SetTreeModule_empty;
13
+ exports.SetTreeModule_countAux = SetTreeModule_countAux;
14
+ exports.SetTreeModule_count = SetTreeModule_count;
15
+ exports.SetTreeModule_mk = SetTreeModule_mk;
16
+ exports.SetTreeModule_rebalance = SetTreeModule_rebalance;
17
+ exports.SetTreeModule_add = SetTreeModule_add;
18
+ exports.SetTreeModule_balance = SetTreeModule_balance;
19
+ exports.SetTreeModule_split = SetTreeModule_split;
20
+ exports.SetTreeModule_spliceOutSuccessor = SetTreeModule_spliceOutSuccessor;
21
+ exports.SetTreeModule_remove = SetTreeModule_remove;
22
+ exports.SetTreeModule_mem = SetTreeModule_mem;
23
+ exports.SetTreeModule_iter = SetTreeModule_iter;
24
+ exports.SetTreeModule_foldBackOpt = SetTreeModule_foldBackOpt;
25
+ exports.SetTreeModule_foldBack = SetTreeModule_foldBack;
26
+ exports.SetTreeModule_foldOpt = SetTreeModule_foldOpt;
27
+ exports.SetTreeModule_fold = SetTreeModule_fold;
28
+ exports.SetTreeModule_forall = SetTreeModule_forall;
29
+ exports.SetTreeModule_exists = SetTreeModule_exists;
30
+ exports.SetTreeModule_subset = SetTreeModule_subset;
31
+ exports.SetTreeModule_properSubset = SetTreeModule_properSubset;
32
+ exports.SetTreeModule_filterAux = SetTreeModule_filterAux;
33
+ exports.SetTreeModule_filter = SetTreeModule_filter;
34
+ exports.SetTreeModule_diffAux = SetTreeModule_diffAux;
35
+ exports.SetTreeModule_diff = SetTreeModule_diff;
36
+ exports.SetTreeModule_union = SetTreeModule_union;
37
+ exports.SetTreeModule_intersectionAux = SetTreeModule_intersectionAux;
38
+ exports.SetTreeModule_intersection = SetTreeModule_intersection;
39
+ exports.SetTreeModule_partition1 = SetTreeModule_partition1;
40
+ exports.SetTreeModule_partitionAux = SetTreeModule_partitionAux;
41
+ exports.SetTreeModule_partition = SetTreeModule_partition;
42
+ exports.SetTreeModule_minimumElementAux = SetTreeModule_minimumElementAux;
43
+ exports.SetTreeModule_minimumElementOpt = SetTreeModule_minimumElementOpt;
44
+ exports.SetTreeModule_maximumElementAux = SetTreeModule_maximumElementAux;
45
+ exports.SetTreeModule_maximumElementOpt = SetTreeModule_maximumElementOpt;
46
+ exports.SetTreeModule_minimumElement = SetTreeModule_minimumElement;
47
+ exports.SetTreeModule_maximumElement = SetTreeModule_maximumElement;
48
+ exports.SetTreeModule_SetIterator$1_$reflection = SetTreeModule_SetIterator$1_$reflection;
49
+ exports.SetTreeModule_collapseLHS = SetTreeModule_collapseLHS;
50
+ exports.SetTreeModule_mkIterator = SetTreeModule_mkIterator;
51
+ exports.SetTreeModule_notStarted = SetTreeModule_notStarted;
52
+ exports.SetTreeModule_alreadyFinished = SetTreeModule_alreadyFinished;
53
+ exports.SetTreeModule_current = SetTreeModule_current;
54
+ exports.SetTreeModule_moveNext = SetTreeModule_moveNext;
55
+ exports.SetTreeModule_mkIEnumerator = SetTreeModule_mkIEnumerator;
56
+ exports.SetTreeModule_compareStacks = SetTreeModule_compareStacks;
57
+ exports.SetTreeModule_compare = SetTreeModule_compare;
58
+ exports.SetTreeModule_choose = SetTreeModule_choose;
59
+ exports.SetTreeModule_toList = SetTreeModule_toList;
60
+ exports.SetTreeModule_copyToArray = SetTreeModule_copyToArray;
61
+ exports.SetTreeModule_toArray = SetTreeModule_toArray;
62
+ exports.SetTreeModule_mkFromEnumerator = SetTreeModule_mkFromEnumerator;
63
+ exports.SetTreeModule_ofArray = SetTreeModule_ofArray;
64
+ exports.SetTreeModule_ofList = SetTreeModule_ofList;
65
+ exports.SetTreeModule_ofSeq = SetTreeModule_ofSeq;
66
+ exports.FSharpSet_$reflection = FSharpSet_$reflection;
67
+ exports.FSharpSet_$ctor = FSharpSet_$ctor;
68
+ exports.FSharpSet__get_Comparer = FSharpSet__get_Comparer;
69
+ exports.FSharpSet__get_Tree = FSharpSet__get_Tree;
70
+ exports.FSharpSet_Empty = FSharpSet_Empty;
71
+ exports.FSharpSet__Add = FSharpSet__Add;
72
+ exports.FSharpSet__Remove = FSharpSet__Remove;
73
+ exports.FSharpSet__get_Count = FSharpSet__get_Count;
74
+ exports.FSharpSet__Contains = FSharpSet__Contains;
75
+ exports.FSharpSet__Iterate = FSharpSet__Iterate;
76
+ exports.FSharpSet__Fold = FSharpSet__Fold;
77
+ exports.FSharpSet__get_IsEmpty = FSharpSet__get_IsEmpty;
78
+ exports.FSharpSet__Partition = FSharpSet__Partition;
79
+ exports.FSharpSet__Filter = FSharpSet__Filter;
80
+ exports.FSharpSet__Map = FSharpSet__Map;
81
+ exports.FSharpSet__Exists = FSharpSet__Exists;
82
+ exports.FSharpSet__ForAll = FSharpSet__ForAll;
83
+ exports.FSharpSet_op_Subtraction = FSharpSet_op_Subtraction;
84
+ exports.FSharpSet_op_Addition = FSharpSet_op_Addition;
85
+ exports.FSharpSet_Intersection = FSharpSet_Intersection;
86
+ exports.FSharpSet_IntersectionMany = FSharpSet_IntersectionMany;
87
+ exports.FSharpSet_Equality = FSharpSet_Equality;
88
+ exports.FSharpSet_Compare = FSharpSet_Compare;
89
+ exports.FSharpSet__get_Choose = FSharpSet__get_Choose;
90
+ exports.FSharpSet__get_MinimumElement = FSharpSet__get_MinimumElement;
91
+ exports.FSharpSet__get_MaximumElement = FSharpSet__get_MaximumElement;
92
+ exports.FSharpSet__IsSubsetOf = FSharpSet__IsSubsetOf;
93
+ exports.FSharpSet__IsSupersetOf = FSharpSet__IsSupersetOf;
94
+ exports.FSharpSet__IsProperSubsetOf = FSharpSet__IsProperSubsetOf;
95
+ exports.FSharpSet__IsProperSupersetOf = FSharpSet__IsProperSupersetOf;
96
+ exports.FSharpSet__ToList = FSharpSet__ToList;
97
+ exports.FSharpSet__ToArray = FSharpSet__ToArray;
98
+ exports.FSharpSet__ComputeHashCode = FSharpSet__ComputeHashCode;
99
+ exports.isEmpty = isEmpty;
100
+ exports.contains = contains;
101
+ exports.add = add;
102
+ exports.singleton = singleton;
103
+ exports.remove = remove;
104
+ exports.union = union;
105
+ exports.unionMany = unionMany;
106
+ exports.intersect = intersect;
107
+ exports.intersectMany = intersectMany;
108
+ exports.iterate = iterate;
109
+ exports.empty = empty;
110
+ exports.forAll = forAll;
111
+ exports.exists = exists;
112
+ exports.filter = filter;
113
+ exports.partition = partition;
114
+ exports.fold = fold;
115
+ exports.foldBack = foldBack;
116
+ exports.map = map;
117
+ exports.count = count;
118
+ exports.ofList = ofList;
119
+ exports.ofArray = ofArray;
120
+ exports.toList = toList;
121
+ exports.toArray = toArray;
122
+ exports.toSeq = toSeq;
123
+ exports.ofSeq = ofSeq;
124
+ exports.difference = difference;
125
+ exports.isSubset = isSubset;
126
+ exports.isSuperset = isSuperset;
127
+ exports.isProperSubset = isProperSubset;
128
+ exports.isProperSuperset = isProperSuperset;
129
+ exports.minElement = minElement;
130
+ exports.maxElement = maxElement;
131
+ exports.unionWith = unionWith;
132
+ exports.newMutableSetWith = newMutableSetWith;
133
+ exports.intersectWith = intersectWith;
134
+ exports.exceptWith = exceptWith;
135
+ exports.isSubsetOf = isSubsetOf;
136
+ exports.isSupersetOf = isSupersetOf;
137
+ exports.isProperSubsetOf = isProperSubsetOf;
138
+ exports.isProperSupersetOf = isProperSupersetOf;
139
+ const Reflection_ts_1 = require("./Reflection.js");
140
+ const Option_ts_1 = require("./Option.js");
141
+ const Util_ts_1 = require("./Util.js");
142
+ const Types_ts_1 = require("./Types.js");
143
+ const List_ts_1 = require("./List.js");
144
+ const Array_ts_1 = require("./Array.js");
145
+ const String_ts_1 = require("./String.js");
146
+ const System_ts_1 = require("./System.js");
147
+ const Seq_ts_1 = require("./Seq.js");
148
+ const MutableSet_ts_1 = require("./MutableSet.js");
149
+ class SetTreeLeaf$1 {
150
+ constructor(k) {
151
+ this.k = k;
152
+ }
153
+ }
154
+ exports.SetTreeLeaf$1 = SetTreeLeaf$1;
155
+ function SetTreeLeaf$1_$reflection(gen0) {
156
+ return (0, Reflection_ts_1.class_type)("Set.SetTreeLeaf`1", [gen0], SetTreeLeaf$1);
157
+ }
158
+ function SetTreeLeaf$1_$ctor_2B595(k) {
159
+ return new SetTreeLeaf$1(k);
160
+ }
161
+ function SetTreeLeaf$1__get_Key(_) {
162
+ return _.k;
163
+ }
164
+ class SetTreeNode$1 extends SetTreeLeaf$1 {
165
+ constructor(v, left, right, h) {
166
+ super(v);
167
+ this.left = left;
168
+ this.right = right;
169
+ this.h = (h | 0);
170
+ }
171
+ }
172
+ exports.SetTreeNode$1 = SetTreeNode$1;
173
+ function SetTreeNode$1_$reflection(gen0) {
174
+ return (0, Reflection_ts_1.class_type)("Set.SetTreeNode`1", [gen0], SetTreeNode$1, SetTreeLeaf$1_$reflection(gen0));
175
+ }
176
+ function SetTreeNode$1_$ctor_5F465FC9(v, left, right, h) {
177
+ return new SetTreeNode$1(v, left, right, h);
178
+ }
179
+ function SetTreeNode$1__get_Left(_) {
180
+ return _.left;
181
+ }
182
+ function SetTreeNode$1__get_Right(_) {
183
+ return _.right;
184
+ }
185
+ function SetTreeNode$1__get_Height(_) {
186
+ return _.h | 0;
187
+ }
188
+ function SetTreeModule_empty() {
189
+ return undefined;
190
+ }
191
+ function SetTreeModule_countAux(t_mut, acc_mut) {
192
+ SetTreeModule_countAux: while (true) {
193
+ const t = t_mut, acc = acc_mut;
194
+ if (t != null) {
195
+ const t2 = (0, Option_ts_1.value)(t);
196
+ if (t2 instanceof SetTreeNode$1) {
197
+ const tn = t2;
198
+ t_mut = SetTreeNode$1__get_Left(tn);
199
+ acc_mut = SetTreeModule_countAux(SetTreeNode$1__get_Right(tn), acc + 1);
200
+ continue SetTreeModule_countAux;
201
+ }
202
+ else {
203
+ return (acc + 1) | 0;
204
+ }
205
+ }
206
+ else {
207
+ return acc | 0;
208
+ }
209
+ break;
210
+ }
211
+ }
212
+ function SetTreeModule_count(s) {
213
+ return SetTreeModule_countAux(s, 0) | 0;
214
+ }
215
+ function SetTreeModule_mk(l, k, r) {
216
+ let tn = undefined, tn_1 = undefined;
217
+ let hl;
218
+ const t = l;
219
+ if (t != null) {
220
+ const t2 = (0, Option_ts_1.value)(t);
221
+ hl = ((t2 instanceof SetTreeNode$1) ? ((tn = t2, SetTreeNode$1__get_Height(tn))) : 1);
222
+ }
223
+ else {
224
+ hl = 0;
225
+ }
226
+ let hr;
227
+ const t_1 = r;
228
+ if (t_1 != null) {
229
+ const t2_1 = (0, Option_ts_1.value)(t_1);
230
+ hr = ((t2_1 instanceof SetTreeNode$1) ? ((tn_1 = t2_1, SetTreeNode$1__get_Height(tn_1))) : 1);
231
+ }
232
+ else {
233
+ hr = 0;
234
+ }
235
+ const m = ((hl < hr) ? hr : hl) | 0;
236
+ if (m === 0) {
237
+ return SetTreeLeaf$1_$ctor_2B595(k);
238
+ }
239
+ else {
240
+ return SetTreeNode$1_$ctor_5F465FC9(k, l, r, m + 1);
241
+ }
242
+ }
243
+ function SetTreeModule_rebalance(t1, v, t2) {
244
+ let tn = undefined, tn_1 = undefined, t_2 = undefined, t2_3 = undefined, tn_2 = undefined, t_3 = undefined, t2_4 = undefined, tn_3 = undefined;
245
+ let t1h;
246
+ const t = t1;
247
+ if (t != null) {
248
+ const t2_1 = (0, Option_ts_1.value)(t);
249
+ t1h = ((t2_1 instanceof SetTreeNode$1) ? ((tn = t2_1, SetTreeNode$1__get_Height(tn))) : 1);
250
+ }
251
+ else {
252
+ t1h = 0;
253
+ }
254
+ let t2h;
255
+ const t_1 = t2;
256
+ if (t_1 != null) {
257
+ const t2_2 = (0, Option_ts_1.value)(t_1);
258
+ t2h = ((t2_2 instanceof SetTreeNode$1) ? ((tn_1 = t2_2, SetTreeNode$1__get_Height(tn_1))) : 1);
259
+ }
260
+ else {
261
+ t2h = 0;
262
+ }
263
+ if (t2h > (t1h + 2)) {
264
+ const matchValue = (0, Option_ts_1.value)(t2);
265
+ if (matchValue instanceof SetTreeNode$1) {
266
+ const t2$0027 = matchValue;
267
+ if (((t_2 = SetTreeNode$1__get_Left(t2$0027), (t_2 != null) ? ((t2_3 = (0, Option_ts_1.value)(t_2), (t2_3 instanceof SetTreeNode$1) ? ((tn_2 = t2_3, SetTreeNode$1__get_Height(tn_2))) : 1)) : 0)) > (t1h + 1)) {
268
+ const matchValue_1 = (0, Option_ts_1.value)(SetTreeNode$1__get_Left(t2$0027));
269
+ if (matchValue_1 instanceof SetTreeNode$1) {
270
+ const t2l = matchValue_1;
271
+ return SetTreeModule_mk(SetTreeModule_mk(t1, v, SetTreeNode$1__get_Left(t2l)), SetTreeLeaf$1__get_Key(t2l), SetTreeModule_mk(SetTreeNode$1__get_Right(t2l), SetTreeLeaf$1__get_Key(t2$0027), SetTreeNode$1__get_Right(t2$0027)));
272
+ }
273
+ else {
274
+ throw new Util_ts_1.Exception("internal error: Set.rebalance");
275
+ }
276
+ }
277
+ else {
278
+ return SetTreeModule_mk(SetTreeModule_mk(t1, v, SetTreeNode$1__get_Left(t2$0027)), SetTreeLeaf$1__get_Key(t2$0027), SetTreeNode$1__get_Right(t2$0027));
279
+ }
280
+ }
281
+ else {
282
+ throw new Util_ts_1.Exception("internal error: Set.rebalance");
283
+ }
284
+ }
285
+ else if (t1h > (t2h + 2)) {
286
+ const matchValue_2 = (0, Option_ts_1.value)(t1);
287
+ if (matchValue_2 instanceof SetTreeNode$1) {
288
+ const t1$0027 = matchValue_2;
289
+ if (((t_3 = SetTreeNode$1__get_Right(t1$0027), (t_3 != null) ? ((t2_4 = (0, Option_ts_1.value)(t_3), (t2_4 instanceof SetTreeNode$1) ? ((tn_3 = t2_4, SetTreeNode$1__get_Height(tn_3))) : 1)) : 0)) > (t2h + 1)) {
290
+ const matchValue_3 = (0, Option_ts_1.value)(SetTreeNode$1__get_Right(t1$0027));
291
+ if (matchValue_3 instanceof SetTreeNode$1) {
292
+ const t1r = matchValue_3;
293
+ return SetTreeModule_mk(SetTreeModule_mk(SetTreeNode$1__get_Left(t1$0027), SetTreeLeaf$1__get_Key(t1$0027), SetTreeNode$1__get_Left(t1r)), SetTreeLeaf$1__get_Key(t1r), SetTreeModule_mk(SetTreeNode$1__get_Right(t1r), v, t2));
294
+ }
295
+ else {
296
+ throw new Util_ts_1.Exception("internal error: Set.rebalance");
297
+ }
298
+ }
299
+ else {
300
+ return SetTreeModule_mk(SetTreeNode$1__get_Left(t1$0027), SetTreeLeaf$1__get_Key(t1$0027), SetTreeModule_mk(SetTreeNode$1__get_Right(t1$0027), v, t2));
301
+ }
302
+ }
303
+ else {
304
+ throw new Util_ts_1.Exception("internal error: Set.rebalance");
305
+ }
306
+ }
307
+ else {
308
+ return SetTreeModule_mk(t1, v, t2);
309
+ }
310
+ }
311
+ function SetTreeModule_add(comparer, k, t) {
312
+ if (t != null) {
313
+ const t2 = (0, Option_ts_1.value)(t);
314
+ const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;
315
+ if (t2 instanceof SetTreeNode$1) {
316
+ const tn = t2;
317
+ if (c < 0) {
318
+ return SetTreeModule_rebalance(SetTreeModule_add(comparer, k, SetTreeNode$1__get_Left(tn)), SetTreeLeaf$1__get_Key(tn), SetTreeNode$1__get_Right(tn));
319
+ }
320
+ else if (c === 0) {
321
+ return t;
322
+ }
323
+ else {
324
+ return SetTreeModule_rebalance(SetTreeNode$1__get_Left(tn), SetTreeLeaf$1__get_Key(tn), SetTreeModule_add(comparer, k, SetTreeNode$1__get_Right(tn)));
325
+ }
326
+ }
327
+ else {
328
+ const c_1 = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;
329
+ if (c_1 < 0) {
330
+ return SetTreeNode$1_$ctor_5F465FC9(k, SetTreeModule_empty(), t, 2);
331
+ }
332
+ else if (c_1 === 0) {
333
+ return t;
334
+ }
335
+ else {
336
+ return SetTreeNode$1_$ctor_5F465FC9(k, t, SetTreeModule_empty(), 2);
337
+ }
338
+ }
339
+ }
340
+ else {
341
+ return SetTreeLeaf$1_$ctor_2B595(k);
342
+ }
343
+ }
344
+ function SetTreeModule_balance(comparer, t1, k, t2) {
345
+ if (t1 != null) {
346
+ const t1$0027 = (0, Option_ts_1.value)(t1);
347
+ if (t2 != null) {
348
+ const t2$0027 = (0, Option_ts_1.value)(t2);
349
+ if (t1$0027 instanceof SetTreeNode$1) {
350
+ const t1n = t1$0027;
351
+ if (t2$0027 instanceof SetTreeNode$1) {
352
+ const t2n = t2$0027;
353
+ if ((SetTreeNode$1__get_Height(t1n) + 2) < SetTreeNode$1__get_Height(t2n)) {
354
+ return SetTreeModule_rebalance(SetTreeModule_balance(comparer, t1, k, SetTreeNode$1__get_Left(t2n)), SetTreeLeaf$1__get_Key(t2n), SetTreeNode$1__get_Right(t2n));
355
+ }
356
+ else if ((SetTreeNode$1__get_Height(t2n) + 2) < SetTreeNode$1__get_Height(t1n)) {
357
+ return SetTreeModule_rebalance(SetTreeNode$1__get_Left(t1n), SetTreeLeaf$1__get_Key(t1n), SetTreeModule_balance(comparer, SetTreeNode$1__get_Right(t1n), k, t2));
358
+ }
359
+ else {
360
+ return SetTreeModule_mk(t1, k, t2);
361
+ }
362
+ }
363
+ else {
364
+ return SetTreeModule_add(comparer, k, SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2$0027), t1));
365
+ }
366
+ }
367
+ else {
368
+ return SetTreeModule_add(comparer, k, SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t1$0027), t2));
369
+ }
370
+ }
371
+ else {
372
+ return SetTreeModule_add(comparer, k, t1);
373
+ }
374
+ }
375
+ else {
376
+ return SetTreeModule_add(comparer, k, t2);
377
+ }
378
+ }
379
+ function SetTreeModule_split(comparer, pivot, t) {
380
+ if (t != null) {
381
+ const t2 = (0, Option_ts_1.value)(t);
382
+ if (t2 instanceof SetTreeNode$1) {
383
+ const tn = t2;
384
+ const c = comparer.Compare(pivot, SetTreeLeaf$1__get_Key(tn)) | 0;
385
+ if (c < 0) {
386
+ const patternInput = SetTreeModule_split(comparer, pivot, SetTreeNode$1__get_Left(tn));
387
+ return [patternInput[0], patternInput[1], SetTreeModule_balance(comparer, patternInput[2], SetTreeLeaf$1__get_Key(tn), SetTreeNode$1__get_Right(tn))];
388
+ }
389
+ else if (c === 0) {
390
+ return [SetTreeNode$1__get_Left(tn), true, SetTreeNode$1__get_Right(tn)];
391
+ }
392
+ else {
393
+ const patternInput_1 = SetTreeModule_split(comparer, pivot, SetTreeNode$1__get_Right(tn));
394
+ return [SetTreeModule_balance(comparer, SetTreeNode$1__get_Left(tn), SetTreeLeaf$1__get_Key(tn), patternInput_1[0]), patternInput_1[1], patternInput_1[2]];
395
+ }
396
+ }
397
+ else {
398
+ const c_1 = comparer.Compare(SetTreeLeaf$1__get_Key(t2), pivot) | 0;
399
+ if (c_1 < 0) {
400
+ return [t, false, SetTreeModule_empty()];
401
+ }
402
+ else if (c_1 === 0) {
403
+ return [SetTreeModule_empty(), true, SetTreeModule_empty()];
404
+ }
405
+ else {
406
+ return [SetTreeModule_empty(), false, t];
407
+ }
408
+ }
409
+ }
410
+ else {
411
+ return [SetTreeModule_empty(), false, SetTreeModule_empty()];
412
+ }
413
+ }
414
+ function SetTreeModule_spliceOutSuccessor(t) {
415
+ if (t != null) {
416
+ const t2 = (0, Option_ts_1.value)(t);
417
+ if (t2 instanceof SetTreeNode$1) {
418
+ const tn = t2;
419
+ if (SetTreeNode$1__get_Left(tn) == null) {
420
+ return [SetTreeLeaf$1__get_Key(tn), SetTreeNode$1__get_Right(tn)];
421
+ }
422
+ else {
423
+ const patternInput = SetTreeModule_spliceOutSuccessor(SetTreeNode$1__get_Left(tn));
424
+ return [patternInput[0], SetTreeModule_mk(patternInput[1], SetTreeLeaf$1__get_Key(tn), SetTreeNode$1__get_Right(tn))];
425
+ }
426
+ }
427
+ else {
428
+ return [SetTreeLeaf$1__get_Key(t2), SetTreeModule_empty()];
429
+ }
430
+ }
431
+ else {
432
+ throw new Util_ts_1.Exception("internal error: Set.spliceOutSuccessor");
433
+ }
434
+ }
435
+ function SetTreeModule_remove(comparer, k, t) {
436
+ if (t != null) {
437
+ const t2 = (0, Option_ts_1.value)(t);
438
+ const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;
439
+ if (t2 instanceof SetTreeNode$1) {
440
+ const tn = t2;
441
+ if (c < 0) {
442
+ return SetTreeModule_rebalance(SetTreeModule_remove(comparer, k, SetTreeNode$1__get_Left(tn)), SetTreeLeaf$1__get_Key(tn), SetTreeNode$1__get_Right(tn));
443
+ }
444
+ else if (c === 0) {
445
+ if (SetTreeNode$1__get_Left(tn) == null) {
446
+ return SetTreeNode$1__get_Right(tn);
447
+ }
448
+ else if (SetTreeNode$1__get_Right(tn) == null) {
449
+ return SetTreeNode$1__get_Left(tn);
450
+ }
451
+ else {
452
+ const patternInput = SetTreeModule_spliceOutSuccessor(SetTreeNode$1__get_Right(tn));
453
+ return SetTreeModule_mk(SetTreeNode$1__get_Left(tn), patternInput[0], patternInput[1]);
454
+ }
455
+ }
456
+ else {
457
+ return SetTreeModule_rebalance(SetTreeNode$1__get_Left(tn), SetTreeLeaf$1__get_Key(tn), SetTreeModule_remove(comparer, k, SetTreeNode$1__get_Right(tn)));
458
+ }
459
+ }
460
+ else if (c === 0) {
461
+ return SetTreeModule_empty();
462
+ }
463
+ else {
464
+ return t;
465
+ }
466
+ }
467
+ else {
468
+ return t;
469
+ }
470
+ }
471
+ function SetTreeModule_mem(comparer_mut, k_mut, t_mut) {
472
+ SetTreeModule_mem: while (true) {
473
+ const comparer = comparer_mut, k = k_mut, t = t_mut;
474
+ if (t != null) {
475
+ const t2 = (0, Option_ts_1.value)(t);
476
+ const c = comparer.Compare(k, SetTreeLeaf$1__get_Key(t2)) | 0;
477
+ if (t2 instanceof SetTreeNode$1) {
478
+ const tn = t2;
479
+ if (c < 0) {
480
+ comparer_mut = comparer;
481
+ k_mut = k;
482
+ t_mut = SetTreeNode$1__get_Left(tn);
483
+ continue SetTreeModule_mem;
484
+ }
485
+ else if (c === 0) {
486
+ return true;
487
+ }
488
+ else {
489
+ comparer_mut = comparer;
490
+ k_mut = k;
491
+ t_mut = SetTreeNode$1__get_Right(tn);
492
+ continue SetTreeModule_mem;
493
+ }
494
+ }
495
+ else {
496
+ return c === 0;
497
+ }
498
+ }
499
+ else {
500
+ return false;
501
+ }
502
+ break;
503
+ }
504
+ }
505
+ function SetTreeModule_iter(f_mut, t_mut) {
506
+ SetTreeModule_iter: while (true) {
507
+ const f = f_mut, t = t_mut;
508
+ if (t != null) {
509
+ const t2 = (0, Option_ts_1.value)(t);
510
+ if (t2 instanceof SetTreeNode$1) {
511
+ const tn = t2;
512
+ SetTreeModule_iter(f, SetTreeNode$1__get_Left(tn));
513
+ f(SetTreeLeaf$1__get_Key(tn));
514
+ f_mut = f;
515
+ t_mut = SetTreeNode$1__get_Right(tn);
516
+ continue SetTreeModule_iter;
517
+ }
518
+ else {
519
+ f(SetTreeLeaf$1__get_Key(t2));
520
+ }
521
+ }
522
+ break;
523
+ }
524
+ }
525
+ function SetTreeModule_foldBackOpt(f_mut, t_mut, x_mut) {
526
+ SetTreeModule_foldBackOpt: while (true) {
527
+ const f = f_mut, t = t_mut, x = x_mut;
528
+ if (t != null) {
529
+ const t2 = (0, Option_ts_1.value)(t);
530
+ if (t2 instanceof SetTreeNode$1) {
531
+ const tn = t2;
532
+ f_mut = f;
533
+ t_mut = SetTreeNode$1__get_Left(tn);
534
+ x_mut = f(SetTreeLeaf$1__get_Key(tn), SetTreeModule_foldBackOpt(f, SetTreeNode$1__get_Right(tn), x));
535
+ continue SetTreeModule_foldBackOpt;
536
+ }
537
+ else {
538
+ return f(SetTreeLeaf$1__get_Key(t2), x);
539
+ }
540
+ }
541
+ else {
542
+ return x;
543
+ }
544
+ break;
545
+ }
546
+ }
547
+ function SetTreeModule_foldBack(f, m, x) {
548
+ return SetTreeModule_foldBackOpt(f, m, x);
549
+ }
550
+ function SetTreeModule_foldOpt(f_mut, x_mut, t_mut) {
551
+ SetTreeModule_foldOpt: while (true) {
552
+ const f = f_mut, x = x_mut, t = t_mut;
553
+ if (t != null) {
554
+ const t2 = (0, Option_ts_1.value)(t);
555
+ if (t2 instanceof SetTreeNode$1) {
556
+ const tn = t2;
557
+ f_mut = f;
558
+ x_mut = f(SetTreeModule_foldOpt(f, x, SetTreeNode$1__get_Left(tn)), SetTreeLeaf$1__get_Key(tn));
559
+ t_mut = SetTreeNode$1__get_Right(tn);
560
+ continue SetTreeModule_foldOpt;
561
+ }
562
+ else {
563
+ return f(x, SetTreeLeaf$1__get_Key(t2));
564
+ }
565
+ }
566
+ else {
567
+ return x;
568
+ }
569
+ break;
570
+ }
571
+ }
572
+ function SetTreeModule_fold(f, x, m) {
573
+ return SetTreeModule_foldOpt(f, x, m);
574
+ }
575
+ function SetTreeModule_forall(f_mut, t_mut) {
576
+ SetTreeModule_forall: while (true) {
577
+ const f = f_mut, t = t_mut;
578
+ if (t != null) {
579
+ const t2 = (0, Option_ts_1.value)(t);
580
+ if (t2 instanceof SetTreeNode$1) {
581
+ const tn = t2;
582
+ if (f(SetTreeLeaf$1__get_Key(tn)) && SetTreeModule_forall(f, SetTreeNode$1__get_Left(tn))) {
583
+ f_mut = f;
584
+ t_mut = SetTreeNode$1__get_Right(tn);
585
+ continue SetTreeModule_forall;
586
+ }
587
+ else {
588
+ return false;
589
+ }
590
+ }
591
+ else {
592
+ return f(SetTreeLeaf$1__get_Key(t2));
593
+ }
594
+ }
595
+ else {
596
+ return true;
597
+ }
598
+ break;
599
+ }
600
+ }
601
+ function SetTreeModule_exists(f_mut, t_mut) {
602
+ SetTreeModule_exists: while (true) {
603
+ const f = f_mut, t = t_mut;
604
+ if (t != null) {
605
+ const t2 = (0, Option_ts_1.value)(t);
606
+ if (t2 instanceof SetTreeNode$1) {
607
+ const tn = t2;
608
+ if (f(SetTreeLeaf$1__get_Key(tn)) ? true : SetTreeModule_exists(f, SetTreeNode$1__get_Left(tn))) {
609
+ return true;
610
+ }
611
+ else {
612
+ f_mut = f;
613
+ t_mut = SetTreeNode$1__get_Right(tn);
614
+ continue SetTreeModule_exists;
615
+ }
616
+ }
617
+ else {
618
+ return f(SetTreeLeaf$1__get_Key(t2));
619
+ }
620
+ }
621
+ else {
622
+ return false;
623
+ }
624
+ break;
625
+ }
626
+ }
627
+ function SetTreeModule_subset(comparer, a, b) {
628
+ return SetTreeModule_forall((x) => SetTreeModule_mem(comparer, x, b), a);
629
+ }
630
+ function SetTreeModule_properSubset(comparer, a, b) {
631
+ if (SetTreeModule_forall((x) => SetTreeModule_mem(comparer, x, b), a)) {
632
+ return SetTreeModule_exists((x_1) => !SetTreeModule_mem(comparer, x_1, a), b);
633
+ }
634
+ else {
635
+ return false;
636
+ }
637
+ }
638
+ function SetTreeModule_filterAux(comparer_mut, f_mut, t_mut, acc_mut) {
639
+ SetTreeModule_filterAux: while (true) {
640
+ const comparer = comparer_mut, f = f_mut, t = t_mut, acc = acc_mut;
641
+ if (t != null) {
642
+ const t2 = (0, Option_ts_1.value)(t);
643
+ if (t2 instanceof SetTreeNode$1) {
644
+ const tn = t2;
645
+ const acc_1 = f(SetTreeLeaf$1__get_Key(tn)) ? SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(tn), acc) : acc;
646
+ comparer_mut = comparer;
647
+ f_mut = f;
648
+ t_mut = SetTreeNode$1__get_Left(tn);
649
+ acc_mut = SetTreeModule_filterAux(comparer, f, SetTreeNode$1__get_Right(tn), acc_1);
650
+ continue SetTreeModule_filterAux;
651
+ }
652
+ else if (f(SetTreeLeaf$1__get_Key(t2))) {
653
+ return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc);
654
+ }
655
+ else {
656
+ return acc;
657
+ }
658
+ }
659
+ else {
660
+ return acc;
661
+ }
662
+ break;
663
+ }
664
+ }
665
+ function SetTreeModule_filter(comparer, f, s) {
666
+ return SetTreeModule_filterAux(comparer, f, s, SetTreeModule_empty());
667
+ }
668
+ function SetTreeModule_diffAux(comparer_mut, t_mut, acc_mut) {
669
+ SetTreeModule_diffAux: while (true) {
670
+ const comparer = comparer_mut, t = t_mut, acc = acc_mut;
671
+ if (acc == null) {
672
+ return acc;
673
+ }
674
+ else if (t != null) {
675
+ const t2 = (0, Option_ts_1.value)(t);
676
+ if (t2 instanceof SetTreeNode$1) {
677
+ const tn = t2;
678
+ comparer_mut = comparer;
679
+ t_mut = SetTreeNode$1__get_Left(tn);
680
+ acc_mut = SetTreeModule_diffAux(comparer, SetTreeNode$1__get_Right(tn), SetTreeModule_remove(comparer, SetTreeLeaf$1__get_Key(tn), acc));
681
+ continue SetTreeModule_diffAux;
682
+ }
683
+ else {
684
+ return SetTreeModule_remove(comparer, SetTreeLeaf$1__get_Key(t2), acc);
685
+ }
686
+ }
687
+ else {
688
+ return acc;
689
+ }
690
+ break;
691
+ }
692
+ }
693
+ function SetTreeModule_diff(comparer, a, b) {
694
+ return SetTreeModule_diffAux(comparer, b, a);
695
+ }
696
+ function SetTreeModule_union(comparer, t1, t2) {
697
+ if (t1 != null) {
698
+ const t1$0027 = (0, Option_ts_1.value)(t1);
699
+ if (t2 != null) {
700
+ const t2$0027 = (0, Option_ts_1.value)(t2);
701
+ if (t1$0027 instanceof SetTreeNode$1) {
702
+ const t1n = t1$0027;
703
+ if (t2$0027 instanceof SetTreeNode$1) {
704
+ const t2n = t2$0027;
705
+ if (SetTreeNode$1__get_Height(t1n) > SetTreeNode$1__get_Height(t2n)) {
706
+ const patternInput = SetTreeModule_split(comparer, SetTreeLeaf$1__get_Key(t1n), t2);
707
+ return SetTreeModule_balance(comparer, SetTreeModule_union(comparer, SetTreeNode$1__get_Left(t1n), patternInput[0]), SetTreeLeaf$1__get_Key(t1n), SetTreeModule_union(comparer, SetTreeNode$1__get_Right(t1n), patternInput[2]));
708
+ }
709
+ else {
710
+ const patternInput_1 = SetTreeModule_split(comparer, SetTreeLeaf$1__get_Key(t2n), t1);
711
+ return SetTreeModule_balance(comparer, SetTreeModule_union(comparer, SetTreeNode$1__get_Left(t2n), patternInput_1[0]), SetTreeLeaf$1__get_Key(t2n), SetTreeModule_union(comparer, SetTreeNode$1__get_Right(t2n), patternInput_1[2]));
712
+ }
713
+ }
714
+ else {
715
+ return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2$0027), t1);
716
+ }
717
+ }
718
+ else {
719
+ return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t1$0027), t2);
720
+ }
721
+ }
722
+ else {
723
+ return t1;
724
+ }
725
+ }
726
+ else {
727
+ return t2;
728
+ }
729
+ }
730
+ function SetTreeModule_intersectionAux(comparer_mut, b_mut, t_mut, acc_mut) {
731
+ SetTreeModule_intersectionAux: while (true) {
732
+ const comparer = comparer_mut, b = b_mut, t = t_mut, acc = acc_mut;
733
+ if (t != null) {
734
+ const t2 = (0, Option_ts_1.value)(t);
735
+ if (t2 instanceof SetTreeNode$1) {
736
+ const tn = t2;
737
+ const acc_1 = SetTreeModule_intersectionAux(comparer, b, SetTreeNode$1__get_Right(tn), acc);
738
+ const acc_2 = SetTreeModule_mem(comparer, SetTreeLeaf$1__get_Key(tn), b) ? SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(tn), acc_1) : acc_1;
739
+ comparer_mut = comparer;
740
+ b_mut = b;
741
+ t_mut = SetTreeNode$1__get_Left(tn);
742
+ acc_mut = acc_2;
743
+ continue SetTreeModule_intersectionAux;
744
+ }
745
+ else if (SetTreeModule_mem(comparer, SetTreeLeaf$1__get_Key(t2), b)) {
746
+ return SetTreeModule_add(comparer, SetTreeLeaf$1__get_Key(t2), acc);
747
+ }
748
+ else {
749
+ return acc;
750
+ }
751
+ }
752
+ else {
753
+ return acc;
754
+ }
755
+ break;
756
+ }
757
+ }
758
+ function SetTreeModule_intersection(comparer, a, b) {
759
+ return SetTreeModule_intersectionAux(comparer, b, a, SetTreeModule_empty());
760
+ }
761
+ function SetTreeModule_partition1(comparer, f, k, acc1, acc2) {
762
+ if (f(k)) {
763
+ return [SetTreeModule_add(comparer, k, acc1), acc2];
764
+ }
765
+ else {
766
+ return [acc1, SetTreeModule_add(comparer, k, acc2)];
767
+ }
768
+ }
769
+ function SetTreeModule_partitionAux(comparer_mut, f_mut, t_mut, acc__mut, acc__1_mut) {
770
+ SetTreeModule_partitionAux: while (true) {
771
+ const comparer = comparer_mut, f = f_mut, t = t_mut, acc_ = acc__mut, acc__1 = acc__1_mut;
772
+ const acc = [acc_, acc__1];
773
+ if (t != null) {
774
+ const t2 = (0, Option_ts_1.value)(t);
775
+ if (t2 instanceof SetTreeNode$1) {
776
+ const tn = t2;
777
+ const acc_1 = SetTreeModule_partitionAux(comparer, f, SetTreeNode$1__get_Right(tn), acc[0], acc[1]);
778
+ const acc_4 = SetTreeModule_partition1(comparer, f, SetTreeLeaf$1__get_Key(tn), acc_1[0], acc_1[1]);
779
+ comparer_mut = comparer;
780
+ f_mut = f;
781
+ t_mut = SetTreeNode$1__get_Left(tn);
782
+ acc__mut = acc_4[0];
783
+ acc__1_mut = acc_4[1];
784
+ continue SetTreeModule_partitionAux;
785
+ }
786
+ else {
787
+ return SetTreeModule_partition1(comparer, f, SetTreeLeaf$1__get_Key(t2), acc[0], acc[1]);
788
+ }
789
+ }
790
+ else {
791
+ return acc;
792
+ }
793
+ break;
794
+ }
795
+ }
796
+ function SetTreeModule_partition(comparer, f, s) {
797
+ return SetTreeModule_partitionAux(comparer, f, s, SetTreeModule_empty(), SetTreeModule_empty());
798
+ }
799
+ function SetTreeModule_minimumElementAux(t_mut, n_mut) {
800
+ SetTreeModule_minimumElementAux: while (true) {
801
+ const t = t_mut, n = n_mut;
802
+ if (t != null) {
803
+ const t2 = (0, Option_ts_1.value)(t);
804
+ if (t2 instanceof SetTreeNode$1) {
805
+ const tn = t2;
806
+ t_mut = SetTreeNode$1__get_Left(tn);
807
+ n_mut = SetTreeLeaf$1__get_Key(tn);
808
+ continue SetTreeModule_minimumElementAux;
809
+ }
810
+ else {
811
+ return SetTreeLeaf$1__get_Key(t2);
812
+ }
813
+ }
814
+ else {
815
+ return n;
816
+ }
817
+ break;
818
+ }
819
+ }
820
+ function SetTreeModule_minimumElementOpt(t) {
821
+ if (t != null) {
822
+ const t2 = (0, Option_ts_1.value)(t);
823
+ if (t2 instanceof SetTreeNode$1) {
824
+ const tn = t2;
825
+ return (0, Option_ts_1.some)(SetTreeModule_minimumElementAux(SetTreeNode$1__get_Left(tn), SetTreeLeaf$1__get_Key(tn)));
826
+ }
827
+ else {
828
+ return (0, Option_ts_1.some)(SetTreeLeaf$1__get_Key(t2));
829
+ }
830
+ }
831
+ else {
832
+ return undefined;
833
+ }
834
+ }
835
+ function SetTreeModule_maximumElementAux(t_mut, n_mut) {
836
+ SetTreeModule_maximumElementAux: while (true) {
837
+ const t = t_mut, n = n_mut;
838
+ if (t != null) {
839
+ const t2 = (0, Option_ts_1.value)(t);
840
+ if (t2 instanceof SetTreeNode$1) {
841
+ const tn = t2;
842
+ t_mut = SetTreeNode$1__get_Right(tn);
843
+ n_mut = SetTreeLeaf$1__get_Key(tn);
844
+ continue SetTreeModule_maximumElementAux;
845
+ }
846
+ else {
847
+ return SetTreeLeaf$1__get_Key(t2);
848
+ }
849
+ }
850
+ else {
851
+ return n;
852
+ }
853
+ break;
854
+ }
855
+ }
856
+ function SetTreeModule_maximumElementOpt(t) {
857
+ if (t != null) {
858
+ const t2 = (0, Option_ts_1.value)(t);
859
+ if (t2 instanceof SetTreeNode$1) {
860
+ const tn = t2;
861
+ return (0, Option_ts_1.some)(SetTreeModule_maximumElementAux(SetTreeNode$1__get_Right(tn), SetTreeLeaf$1__get_Key(tn)));
862
+ }
863
+ else {
864
+ return (0, Option_ts_1.some)(SetTreeLeaf$1__get_Key(t2));
865
+ }
866
+ }
867
+ else {
868
+ return undefined;
869
+ }
870
+ }
871
+ function SetTreeModule_minimumElement(s) {
872
+ const matchValue = SetTreeModule_minimumElementOpt(s);
873
+ if (matchValue == null) {
874
+ throw new Util_ts_1.Exception("Set contains no elements");
875
+ }
876
+ else {
877
+ return (0, Option_ts_1.value)(matchValue);
878
+ }
879
+ }
880
+ function SetTreeModule_maximumElement(s) {
881
+ const matchValue = SetTreeModule_maximumElementOpt(s);
882
+ if (matchValue == null) {
883
+ throw new Util_ts_1.Exception("Set contains no elements");
884
+ }
885
+ else {
886
+ return (0, Option_ts_1.value)(matchValue);
887
+ }
888
+ }
889
+ class SetTreeModule_SetIterator$1 extends Types_ts_1.Record {
890
+ constructor(stack, started) {
891
+ super();
892
+ this.stack = stack;
893
+ this.started = started;
894
+ }
895
+ }
896
+ exports.SetTreeModule_SetIterator$1 = SetTreeModule_SetIterator$1;
897
+ function SetTreeModule_SetIterator$1_$reflection(gen0) {
898
+ return (0, Reflection_ts_1.record_type)("Set.SetTreeModule.SetIterator`1", [gen0], SetTreeModule_SetIterator$1, () => [["stack", (0, Reflection_ts_1.list_type)((0, Reflection_ts_1.option_type)(SetTreeLeaf$1_$reflection(gen0)))], ["started", Reflection_ts_1.bool_type]]);
899
+ }
900
+ function SetTreeModule_collapseLHS(stack_mut) {
901
+ SetTreeModule_collapseLHS: while (true) {
902
+ const stack = stack_mut;
903
+ if (!(0, List_ts_1.isEmpty)(stack)) {
904
+ const x = (0, List_ts_1.head)(stack);
905
+ const rest = (0, List_ts_1.tail)(stack);
906
+ if (x != null) {
907
+ const x2 = (0, Option_ts_1.value)(x);
908
+ if (x2 instanceof SetTreeNode$1) {
909
+ const xn = x2;
910
+ stack_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(xn), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(xn)), SetTreeNode$1__get_Right(xn)], rest);
911
+ continue SetTreeModule_collapseLHS;
912
+ }
913
+ else {
914
+ return stack;
915
+ }
916
+ }
917
+ else {
918
+ stack_mut = rest;
919
+ continue SetTreeModule_collapseLHS;
920
+ }
921
+ }
922
+ else {
923
+ return (0, List_ts_1.empty)();
924
+ }
925
+ break;
926
+ }
927
+ }
928
+ function SetTreeModule_mkIterator(s) {
929
+ return new SetTreeModule_SetIterator$1(SetTreeModule_collapseLHS((0, List_ts_1.singleton)(s)), false);
930
+ }
931
+ function SetTreeModule_notStarted() {
932
+ throw new Util_ts_1.Exception("Enumeration not started");
933
+ }
934
+ function SetTreeModule_alreadyFinished() {
935
+ throw new Util_ts_1.Exception("Enumeration already started");
936
+ }
937
+ function SetTreeModule_current(i) {
938
+ if (i.started) {
939
+ const matchValue = i.stack;
940
+ if ((0, List_ts_1.isEmpty)(matchValue)) {
941
+ return SetTreeModule_alreadyFinished();
942
+ }
943
+ else if ((0, List_ts_1.head)(matchValue) != null) {
944
+ const t = (0, Option_ts_1.value)((0, List_ts_1.head)(matchValue));
945
+ return SetTreeLeaf$1__get_Key(t);
946
+ }
947
+ else {
948
+ throw new Util_ts_1.Exception("Please report error: Set iterator, unexpected stack for current");
949
+ }
950
+ }
951
+ else {
952
+ return SetTreeModule_notStarted();
953
+ }
954
+ }
955
+ function SetTreeModule_moveNext(i) {
956
+ if (i.started) {
957
+ const matchValue = i.stack;
958
+ if (!(0, List_ts_1.isEmpty)(matchValue)) {
959
+ if ((0, List_ts_1.head)(matchValue) != null) {
960
+ const t = (0, Option_ts_1.value)((0, List_ts_1.head)(matchValue));
961
+ if (t instanceof SetTreeNode$1) {
962
+ throw new Util_ts_1.Exception("Please report error: Set iterator, unexpected stack for moveNext");
963
+ }
964
+ else {
965
+ i.stack = SetTreeModule_collapseLHS((0, List_ts_1.tail)(matchValue));
966
+ return !(0, List_ts_1.isEmpty)(i.stack);
967
+ }
968
+ }
969
+ else {
970
+ throw new Util_ts_1.Exception("Please report error: Set iterator, unexpected stack for moveNext");
971
+ }
972
+ }
973
+ else {
974
+ return false;
975
+ }
976
+ }
977
+ else {
978
+ i.started = true;
979
+ return !(0, List_ts_1.isEmpty)(i.stack);
980
+ }
981
+ }
982
+ function SetTreeModule_mkIEnumerator(s) {
983
+ let i = SetTreeModule_mkIterator(s);
984
+ return {
985
+ "System.Collections.Generic.IEnumerator`1.get_Current"() {
986
+ return SetTreeModule_current(i);
987
+ },
988
+ "System.Collections.IEnumerator.get_Current"() {
989
+ return SetTreeModule_current(i);
990
+ },
991
+ "System.Collections.IEnumerator.MoveNext"() {
992
+ return SetTreeModule_moveNext(i);
993
+ },
994
+ "System.Collections.IEnumerator.Reset"() {
995
+ i = SetTreeModule_mkIterator(s);
996
+ },
997
+ Dispose() {
998
+ },
999
+ };
1000
+ }
1001
+ /**
1002
+ * Set comparison. Note this can be expensive.
1003
+ */
1004
+ function SetTreeModule_compareStacks(comparer_mut, l1_mut, l2_mut) {
1005
+ SetTreeModule_compareStacks: while (true) {
1006
+ const comparer = comparer_mut, l1 = l1_mut, l2 = l2_mut;
1007
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1008
+ if (!(0, List_ts_1.isEmpty)(l2)) {
1009
+ if ((0, List_ts_1.head)(l2) != null) {
1010
+ if ((0, List_ts_1.head)(l1) != null) {
1011
+ const x1_3 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1012
+ const x2_3 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1013
+ if (x1_3 instanceof SetTreeNode$1) {
1014
+ const x1n_2 = x1_3;
1015
+ if (SetTreeNode$1__get_Left(x1n_2) == null) {
1016
+ if (x2_3 instanceof SetTreeNode$1) {
1017
+ const x2n_2 = x2_3;
1018
+ if (SetTreeNode$1__get_Left(x2n_2) == null) {
1019
+ const c = comparer.Compare(SetTreeLeaf$1__get_Key(x1n_2), SetTreeLeaf$1__get_Key(x2n_2)) | 0;
1020
+ if (c !== 0) {
1021
+ return c | 0;
1022
+ }
1023
+ else {
1024
+ comparer_mut = comparer;
1025
+ l1_mut = (0, List_ts_1.cons)(SetTreeNode$1__get_Right(x1n_2), (0, List_ts_1.tail)(l1));
1026
+ l2_mut = (0, List_ts_1.cons)(SetTreeNode$1__get_Right(x2n_2), (0, List_ts_1.tail)(l2));
1027
+ continue SetTreeModule_compareStacks;
1028
+ }
1029
+ }
1030
+ else {
1031
+ let matchResult = undefined, t1_6 = undefined, x1_4 = undefined, t2_6 = undefined, x2_4 = undefined;
1032
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1033
+ if ((0, List_ts_1.head)(l1) != null) {
1034
+ matchResult = 0;
1035
+ t1_6 = (0, List_ts_1.tail)(l1);
1036
+ x1_4 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1037
+ }
1038
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1039
+ if ((0, List_ts_1.head)(l2) != null) {
1040
+ matchResult = 1;
1041
+ t2_6 = (0, List_ts_1.tail)(l2);
1042
+ x2_4 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1043
+ }
1044
+ else {
1045
+ matchResult = 2;
1046
+ }
1047
+ }
1048
+ else {
1049
+ matchResult = 2;
1050
+ }
1051
+ }
1052
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1053
+ if ((0, List_ts_1.head)(l2) != null) {
1054
+ matchResult = 1;
1055
+ t2_6 = (0, List_ts_1.tail)(l2);
1056
+ x2_4 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1057
+ }
1058
+ else {
1059
+ matchResult = 2;
1060
+ }
1061
+ }
1062
+ else {
1063
+ matchResult = 2;
1064
+ }
1065
+ switch (matchResult) {
1066
+ case 0:
1067
+ if (x1_4 instanceof SetTreeNode$1) {
1068
+ const x1n_3 = x1_4;
1069
+ comparer_mut = comparer;
1070
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x1n_3), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x1n_3), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1n_3), 0)], t1_6);
1071
+ l2_mut = l2;
1072
+ continue SetTreeModule_compareStacks;
1073
+ }
1074
+ else {
1075
+ comparer_mut = comparer;
1076
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_4))], t1_6);
1077
+ l2_mut = l2;
1078
+ continue SetTreeModule_compareStacks;
1079
+ }
1080
+ case 1:
1081
+ if (x2_4 instanceof SetTreeNode$1) {
1082
+ const x2n_3 = x2_4;
1083
+ comparer_mut = comparer;
1084
+ l1_mut = l1;
1085
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x2n_3), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x2n_3), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2n_3), 0)], t2_6);
1086
+ continue SetTreeModule_compareStacks;
1087
+ }
1088
+ else {
1089
+ comparer_mut = comparer;
1090
+ l1_mut = l1;
1091
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_4))], t2_6);
1092
+ continue SetTreeModule_compareStacks;
1093
+ }
1094
+ default:
1095
+ throw new Util_ts_1.Exception("unexpected state in SetTree.compareStacks");
1096
+ }
1097
+ }
1098
+ }
1099
+ else {
1100
+ const c_1 = comparer.Compare(SetTreeLeaf$1__get_Key(x1n_2), SetTreeLeaf$1__get_Key(x2_3)) | 0;
1101
+ if (c_1 !== 0) {
1102
+ return c_1 | 0;
1103
+ }
1104
+ else {
1105
+ comparer_mut = comparer;
1106
+ l1_mut = (0, List_ts_1.cons)(SetTreeNode$1__get_Right(x1n_2), (0, List_ts_1.tail)(l1));
1107
+ l2_mut = (0, List_ts_1.cons)(SetTreeModule_empty(), (0, List_ts_1.tail)(l2));
1108
+ continue SetTreeModule_compareStacks;
1109
+ }
1110
+ }
1111
+ }
1112
+ else {
1113
+ let matchResult_1 = undefined, t1_7 = undefined, x1_5 = undefined, t2_7 = undefined, x2_5 = undefined;
1114
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1115
+ if ((0, List_ts_1.head)(l1) != null) {
1116
+ matchResult_1 = 0;
1117
+ t1_7 = (0, List_ts_1.tail)(l1);
1118
+ x1_5 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1119
+ }
1120
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1121
+ if ((0, List_ts_1.head)(l2) != null) {
1122
+ matchResult_1 = 1;
1123
+ t2_7 = (0, List_ts_1.tail)(l2);
1124
+ x2_5 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1125
+ }
1126
+ else {
1127
+ matchResult_1 = 2;
1128
+ }
1129
+ }
1130
+ else {
1131
+ matchResult_1 = 2;
1132
+ }
1133
+ }
1134
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1135
+ if ((0, List_ts_1.head)(l2) != null) {
1136
+ matchResult_1 = 1;
1137
+ t2_7 = (0, List_ts_1.tail)(l2);
1138
+ x2_5 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1139
+ }
1140
+ else {
1141
+ matchResult_1 = 2;
1142
+ }
1143
+ }
1144
+ else {
1145
+ matchResult_1 = 2;
1146
+ }
1147
+ switch (matchResult_1) {
1148
+ case 0:
1149
+ if (x1_5 instanceof SetTreeNode$1) {
1150
+ const x1n_4 = x1_5;
1151
+ comparer_mut = comparer;
1152
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x1n_4), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x1n_4), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1n_4), 0)], t1_7);
1153
+ l2_mut = l2;
1154
+ continue SetTreeModule_compareStacks;
1155
+ }
1156
+ else {
1157
+ comparer_mut = comparer;
1158
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_5))], t1_7);
1159
+ l2_mut = l2;
1160
+ continue SetTreeModule_compareStacks;
1161
+ }
1162
+ case 1:
1163
+ if (x2_5 instanceof SetTreeNode$1) {
1164
+ const x2n_4 = x2_5;
1165
+ comparer_mut = comparer;
1166
+ l1_mut = l1;
1167
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x2n_4), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x2n_4), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2n_4), 0)], t2_7);
1168
+ continue SetTreeModule_compareStacks;
1169
+ }
1170
+ else {
1171
+ comparer_mut = comparer;
1172
+ l1_mut = l1;
1173
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_5))], t2_7);
1174
+ continue SetTreeModule_compareStacks;
1175
+ }
1176
+ default:
1177
+ throw new Util_ts_1.Exception("unexpected state in SetTree.compareStacks");
1178
+ }
1179
+ }
1180
+ }
1181
+ else if (x2_3 instanceof SetTreeNode$1) {
1182
+ const x2n_5 = x2_3;
1183
+ if (SetTreeNode$1__get_Left(x2n_5) == null) {
1184
+ const c_2 = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2n_5)) | 0;
1185
+ if (c_2 !== 0) {
1186
+ return c_2 | 0;
1187
+ }
1188
+ else {
1189
+ comparer_mut = comparer;
1190
+ l1_mut = (0, List_ts_1.cons)(SetTreeModule_empty(), (0, List_ts_1.tail)(l1));
1191
+ l2_mut = (0, List_ts_1.cons)(SetTreeNode$1__get_Right(x2n_5), (0, List_ts_1.tail)(l2));
1192
+ continue SetTreeModule_compareStacks;
1193
+ }
1194
+ }
1195
+ else {
1196
+ let matchResult_2 = undefined, t1_8 = undefined, x1_6 = undefined, t2_8 = undefined, x2_6 = undefined;
1197
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1198
+ if ((0, List_ts_1.head)(l1) != null) {
1199
+ matchResult_2 = 0;
1200
+ t1_8 = (0, List_ts_1.tail)(l1);
1201
+ x1_6 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1202
+ }
1203
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1204
+ if ((0, List_ts_1.head)(l2) != null) {
1205
+ matchResult_2 = 1;
1206
+ t2_8 = (0, List_ts_1.tail)(l2);
1207
+ x2_6 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1208
+ }
1209
+ else {
1210
+ matchResult_2 = 2;
1211
+ }
1212
+ }
1213
+ else {
1214
+ matchResult_2 = 2;
1215
+ }
1216
+ }
1217
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1218
+ if ((0, List_ts_1.head)(l2) != null) {
1219
+ matchResult_2 = 1;
1220
+ t2_8 = (0, List_ts_1.tail)(l2);
1221
+ x2_6 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1222
+ }
1223
+ else {
1224
+ matchResult_2 = 2;
1225
+ }
1226
+ }
1227
+ else {
1228
+ matchResult_2 = 2;
1229
+ }
1230
+ switch (matchResult_2) {
1231
+ case 0:
1232
+ if (x1_6 instanceof SetTreeNode$1) {
1233
+ const x1n_5 = x1_6;
1234
+ comparer_mut = comparer;
1235
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x1n_5), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x1n_5), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1n_5), 0)], t1_8);
1236
+ l2_mut = l2;
1237
+ continue SetTreeModule_compareStacks;
1238
+ }
1239
+ else {
1240
+ comparer_mut = comparer;
1241
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_6))], t1_8);
1242
+ l2_mut = l2;
1243
+ continue SetTreeModule_compareStacks;
1244
+ }
1245
+ case 1:
1246
+ if (x2_6 instanceof SetTreeNode$1) {
1247
+ const x2n_6 = x2_6;
1248
+ comparer_mut = comparer;
1249
+ l1_mut = l1;
1250
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x2n_6), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x2n_6), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2n_6), 0)], t2_8);
1251
+ continue SetTreeModule_compareStacks;
1252
+ }
1253
+ else {
1254
+ comparer_mut = comparer;
1255
+ l1_mut = l1;
1256
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_6))], t2_8);
1257
+ continue SetTreeModule_compareStacks;
1258
+ }
1259
+ default:
1260
+ throw new Util_ts_1.Exception("unexpected state in SetTree.compareStacks");
1261
+ }
1262
+ }
1263
+ }
1264
+ else {
1265
+ const c_3 = comparer.Compare(SetTreeLeaf$1__get_Key(x1_3), SetTreeLeaf$1__get_Key(x2_3)) | 0;
1266
+ if (c_3 !== 0) {
1267
+ return c_3 | 0;
1268
+ }
1269
+ else {
1270
+ comparer_mut = comparer;
1271
+ l1_mut = (0, List_ts_1.tail)(l1);
1272
+ l2_mut = (0, List_ts_1.tail)(l2);
1273
+ continue SetTreeModule_compareStacks;
1274
+ }
1275
+ }
1276
+ }
1277
+ else {
1278
+ const x2 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1279
+ let matchResult_3 = undefined, t1_2 = undefined, x1 = undefined, t2_2 = undefined, x2_1 = undefined;
1280
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1281
+ if ((0, List_ts_1.head)(l1) != null) {
1282
+ matchResult_3 = 0;
1283
+ t1_2 = (0, List_ts_1.tail)(l1);
1284
+ x1 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1285
+ }
1286
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1287
+ if ((0, List_ts_1.head)(l2) != null) {
1288
+ matchResult_3 = 1;
1289
+ t2_2 = (0, List_ts_1.tail)(l2);
1290
+ x2_1 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1291
+ }
1292
+ else {
1293
+ matchResult_3 = 2;
1294
+ }
1295
+ }
1296
+ else {
1297
+ matchResult_3 = 2;
1298
+ }
1299
+ }
1300
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1301
+ if ((0, List_ts_1.head)(l2) != null) {
1302
+ matchResult_3 = 1;
1303
+ t2_2 = (0, List_ts_1.tail)(l2);
1304
+ x2_1 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1305
+ }
1306
+ else {
1307
+ matchResult_3 = 2;
1308
+ }
1309
+ }
1310
+ else {
1311
+ matchResult_3 = 2;
1312
+ }
1313
+ switch (matchResult_3) {
1314
+ case 0:
1315
+ if (x1 instanceof SetTreeNode$1) {
1316
+ const x1n = x1;
1317
+ comparer_mut = comparer;
1318
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x1n), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x1n), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1n), 0)], t1_2);
1319
+ l2_mut = l2;
1320
+ continue SetTreeModule_compareStacks;
1321
+ }
1322
+ else {
1323
+ comparer_mut = comparer;
1324
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1))], t1_2);
1325
+ l2_mut = l2;
1326
+ continue SetTreeModule_compareStacks;
1327
+ }
1328
+ case 1:
1329
+ if (x2_1 instanceof SetTreeNode$1) {
1330
+ const x2n = x2_1;
1331
+ comparer_mut = comparer;
1332
+ l1_mut = l1;
1333
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x2n), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x2n), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2n), 0)], t2_2);
1334
+ continue SetTreeModule_compareStacks;
1335
+ }
1336
+ else {
1337
+ comparer_mut = comparer;
1338
+ l1_mut = l1;
1339
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_1))], t2_2);
1340
+ continue SetTreeModule_compareStacks;
1341
+ }
1342
+ default:
1343
+ throw new Util_ts_1.Exception("unexpected state in SetTree.compareStacks");
1344
+ }
1345
+ }
1346
+ }
1347
+ else if ((0, List_ts_1.head)(l1) != null) {
1348
+ const x1_1 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1349
+ let matchResult_4 = undefined, t1_4 = undefined, x1_2 = undefined, t2_4 = undefined, x2_2 = undefined;
1350
+ if (!(0, List_ts_1.isEmpty)(l1)) {
1351
+ if ((0, List_ts_1.head)(l1) != null) {
1352
+ matchResult_4 = 0;
1353
+ t1_4 = (0, List_ts_1.tail)(l1);
1354
+ x1_2 = (0, Option_ts_1.value)((0, List_ts_1.head)(l1));
1355
+ }
1356
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1357
+ if ((0, List_ts_1.head)(l2) != null) {
1358
+ matchResult_4 = 1;
1359
+ t2_4 = (0, List_ts_1.tail)(l2);
1360
+ x2_2 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1361
+ }
1362
+ else {
1363
+ matchResult_4 = 2;
1364
+ }
1365
+ }
1366
+ else {
1367
+ matchResult_4 = 2;
1368
+ }
1369
+ }
1370
+ else if (!(0, List_ts_1.isEmpty)(l2)) {
1371
+ if ((0, List_ts_1.head)(l2) != null) {
1372
+ matchResult_4 = 1;
1373
+ t2_4 = (0, List_ts_1.tail)(l2);
1374
+ x2_2 = (0, Option_ts_1.value)((0, List_ts_1.head)(l2));
1375
+ }
1376
+ else {
1377
+ matchResult_4 = 2;
1378
+ }
1379
+ }
1380
+ else {
1381
+ matchResult_4 = 2;
1382
+ }
1383
+ switch (matchResult_4) {
1384
+ case 0:
1385
+ if (x1_2 instanceof SetTreeNode$1) {
1386
+ const x1n_1 = x1_2;
1387
+ comparer_mut = comparer;
1388
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x1n_1), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x1n_1), SetTreeModule_empty(), SetTreeNode$1__get_Right(x1n_1), 0)], t1_4);
1389
+ l2_mut = l2;
1390
+ continue SetTreeModule_compareStacks;
1391
+ }
1392
+ else {
1393
+ comparer_mut = comparer;
1394
+ l1_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x1_2))], t1_4);
1395
+ l2_mut = l2;
1396
+ continue SetTreeModule_compareStacks;
1397
+ }
1398
+ case 1:
1399
+ if (x2_2 instanceof SetTreeNode$1) {
1400
+ const x2n_1 = x2_2;
1401
+ comparer_mut = comparer;
1402
+ l1_mut = l1;
1403
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeNode$1__get_Left(x2n_1), SetTreeNode$1_$ctor_5F465FC9(SetTreeLeaf$1__get_Key(x2n_1), SetTreeModule_empty(), SetTreeNode$1__get_Right(x2n_1), 0)], t2_4);
1404
+ continue SetTreeModule_compareStacks;
1405
+ }
1406
+ else {
1407
+ comparer_mut = comparer;
1408
+ l1_mut = l1;
1409
+ l2_mut = (0, List_ts_1.ofArrayWithTail)([SetTreeModule_empty(), SetTreeLeaf$1_$ctor_2B595(SetTreeLeaf$1__get_Key(x2_2))], t2_4);
1410
+ continue SetTreeModule_compareStacks;
1411
+ }
1412
+ default:
1413
+ throw new Util_ts_1.Exception("unexpected state in SetTree.compareStacks");
1414
+ }
1415
+ }
1416
+ else {
1417
+ comparer_mut = comparer;
1418
+ l1_mut = (0, List_ts_1.tail)(l1);
1419
+ l2_mut = (0, List_ts_1.tail)(l2);
1420
+ continue SetTreeModule_compareStacks;
1421
+ }
1422
+ }
1423
+ else {
1424
+ return 1;
1425
+ }
1426
+ }
1427
+ else if ((0, List_ts_1.isEmpty)(l2)) {
1428
+ return 0;
1429
+ }
1430
+ else {
1431
+ return -1;
1432
+ }
1433
+ break;
1434
+ }
1435
+ }
1436
+ function SetTreeModule_compare(comparer, t1, t2) {
1437
+ if (t1 == null) {
1438
+ if (t2 == null) {
1439
+ return 0;
1440
+ }
1441
+ else {
1442
+ return -1;
1443
+ }
1444
+ }
1445
+ else if (t2 == null) {
1446
+ return 1;
1447
+ }
1448
+ else {
1449
+ return SetTreeModule_compareStacks(comparer, (0, List_ts_1.singleton)(t1), (0, List_ts_1.singleton)(t2)) | 0;
1450
+ }
1451
+ }
1452
+ function SetTreeModule_choose(s) {
1453
+ return SetTreeModule_minimumElement(s);
1454
+ }
1455
+ function SetTreeModule_toList(t) {
1456
+ const loop = (t$0027_mut, acc_mut) => {
1457
+ loop: while (true) {
1458
+ const t$0027 = t$0027_mut, acc = acc_mut;
1459
+ if (t$0027 != null) {
1460
+ const t2 = (0, Option_ts_1.value)(t$0027);
1461
+ if (t2 instanceof SetTreeNode$1) {
1462
+ const tn = t2;
1463
+ t$0027_mut = SetTreeNode$1__get_Left(tn);
1464
+ acc_mut = (0, List_ts_1.cons)(SetTreeLeaf$1__get_Key(tn), loop(SetTreeNode$1__get_Right(tn), acc));
1465
+ continue loop;
1466
+ }
1467
+ else {
1468
+ return (0, List_ts_1.cons)(SetTreeLeaf$1__get_Key(t2), acc);
1469
+ }
1470
+ }
1471
+ else {
1472
+ return acc;
1473
+ }
1474
+ break;
1475
+ }
1476
+ };
1477
+ return loop(t, (0, List_ts_1.empty)());
1478
+ }
1479
+ function SetTreeModule_copyToArray(s, arr, i) {
1480
+ let j = i;
1481
+ SetTreeModule_iter((x) => {
1482
+ (0, Array_ts_1.setItem)(arr, j, x);
1483
+ j = ((j + 1) | 0);
1484
+ }, s);
1485
+ }
1486
+ function SetTreeModule_toArray(s) {
1487
+ const n = SetTreeModule_count(s) | 0;
1488
+ const res = (0, Array_ts_1.fill)(new Array(n), 0, n, null);
1489
+ SetTreeModule_copyToArray(s, res, 0);
1490
+ return res;
1491
+ }
1492
+ function SetTreeModule_mkFromEnumerator(comparer_mut, acc_mut, e_mut) {
1493
+ SetTreeModule_mkFromEnumerator: while (true) {
1494
+ const comparer = comparer_mut, acc = acc_mut, e = e_mut;
1495
+ if (e["System.Collections.IEnumerator.MoveNext"]()) {
1496
+ comparer_mut = comparer;
1497
+ acc_mut = SetTreeModule_add(comparer, e["System.Collections.Generic.IEnumerator`1.get_Current"](), acc);
1498
+ e_mut = e;
1499
+ continue SetTreeModule_mkFromEnumerator;
1500
+ }
1501
+ else {
1502
+ return acc;
1503
+ }
1504
+ break;
1505
+ }
1506
+ }
1507
+ function SetTreeModule_ofArray(comparer, l) {
1508
+ return (0, Array_ts_1.fold)((acc, k) => SetTreeModule_add(comparer, k, acc), SetTreeModule_empty(), l);
1509
+ }
1510
+ function SetTreeModule_ofList(comparer, l) {
1511
+ return (0, List_ts_1.fold)((acc, k) => SetTreeModule_add(comparer, k, acc), SetTreeModule_empty(), l);
1512
+ }
1513
+ function SetTreeModule_ofSeq(comparer, c) {
1514
+ if ((0, Util_ts_1.isArrayLike)(c)) {
1515
+ return SetTreeModule_ofArray(comparer, c);
1516
+ }
1517
+ else if (c instanceof List_ts_1.FSharpList) {
1518
+ return SetTreeModule_ofList(comparer, c);
1519
+ }
1520
+ else {
1521
+ const ie = (0, Util_ts_1.getEnumerator)(c);
1522
+ try {
1523
+ return SetTreeModule_mkFromEnumerator(comparer, SetTreeModule_empty(), ie);
1524
+ }
1525
+ finally {
1526
+ (0, Util_ts_1.disposeSafe)(ie);
1527
+ }
1528
+ }
1529
+ }
1530
+ class FSharpSet {
1531
+ constructor(comparer, tree) {
1532
+ this.comparer = comparer;
1533
+ this.tree = tree;
1534
+ }
1535
+ GetHashCode() {
1536
+ const this$ = this;
1537
+ return FSharpSet__ComputeHashCode(this$) | 0;
1538
+ }
1539
+ Equals(other) {
1540
+ let that = undefined;
1541
+ const this$ = this;
1542
+ return (other instanceof FSharpSet) && ((that = other, SetTreeModule_compare(FSharpSet__get_Comparer(this$), FSharpSet__get_Tree(this$), FSharpSet__get_Tree(that)) === 0));
1543
+ }
1544
+ toString() {
1545
+ const this$ = this;
1546
+ return ("set [" + (0, String_ts_1.join)("; ", this$)) + "]";
1547
+ }
1548
+ get [Symbol.toStringTag]() {
1549
+ return "FSharpSet";
1550
+ }
1551
+ toJSON() {
1552
+ const this$ = this;
1553
+ return Array.from(this$);
1554
+ }
1555
+ CompareTo(other) {
1556
+ let that = undefined;
1557
+ const this$ = this;
1558
+ return ((other instanceof FSharpSet) ? ((that = other, SetTreeModule_compare(FSharpSet__get_Comparer(this$), FSharpSet__get_Tree(this$), FSharpSet__get_Tree(that)))) : 1) | 0;
1559
+ }
1560
+ "System.Collections.Generic.ICollection`1.Add2B595"(x) {
1561
+ throw (0, System_ts_1.NotSupportedException_$ctor_Z721C83C5)("ReadOnlyCollection");
1562
+ }
1563
+ "System.Collections.Generic.ICollection`1.Clear"() {
1564
+ throw (0, System_ts_1.NotSupportedException_$ctor_Z721C83C5)("ReadOnlyCollection");
1565
+ }
1566
+ "System.Collections.Generic.ICollection`1.Remove2B595"(x) {
1567
+ throw (0, System_ts_1.NotSupportedException_$ctor_Z721C83C5)("ReadOnlyCollection");
1568
+ }
1569
+ "System.Collections.Generic.ICollection`1.Contains2B595"(x) {
1570
+ const s = this;
1571
+ return SetTreeModule_mem(FSharpSet__get_Comparer(s), x, FSharpSet__get_Tree(s));
1572
+ }
1573
+ "System.Collections.Generic.ICollection`1.CopyToZ3B4C077E"(arr, i) {
1574
+ const s = this;
1575
+ SetTreeModule_copyToArray(FSharpSet__get_Tree(s), arr, i);
1576
+ }
1577
+ "System.Collections.Generic.ICollection`1.get_IsReadOnly"() {
1578
+ return true;
1579
+ }
1580
+ "System.Collections.Generic.ICollection`1.get_Count"() {
1581
+ const s = this;
1582
+ return FSharpSet__get_Count(s) | 0;
1583
+ }
1584
+ "System.Collections.Generic.IReadOnlyCollection`1.get_Count"() {
1585
+ const s = this;
1586
+ return FSharpSet__get_Count(s) | 0;
1587
+ }
1588
+ GetEnumerator() {
1589
+ const s = this;
1590
+ return SetTreeModule_mkIEnumerator(FSharpSet__get_Tree(s));
1591
+ }
1592
+ [Symbol.iterator]() {
1593
+ return (0, Util_ts_1.toIterator)((0, Util_ts_1.getEnumerator)(this));
1594
+ }
1595
+ "System.Collections.IEnumerable.GetEnumerator"() {
1596
+ const s = this;
1597
+ return SetTreeModule_mkIEnumerator(FSharpSet__get_Tree(s));
1598
+ }
1599
+ get size() {
1600
+ const s = this;
1601
+ return FSharpSet__get_Count(s) | 0;
1602
+ }
1603
+ add(k) {
1604
+ const s = this;
1605
+ throw new Util_ts_1.Exception("Set cannot be mutated");
1606
+ return s;
1607
+ }
1608
+ clear() {
1609
+ throw new Util_ts_1.Exception("Set cannot be mutated");
1610
+ }
1611
+ delete(k) {
1612
+ throw new Util_ts_1.Exception("Set cannot be mutated");
1613
+ return false;
1614
+ }
1615
+ has(k) {
1616
+ const s = this;
1617
+ return FSharpSet__Contains(s, k);
1618
+ }
1619
+ keys() {
1620
+ const s = this;
1621
+ return (0, Seq_ts_1.map)((x) => x, s);
1622
+ }
1623
+ values() {
1624
+ const s = this;
1625
+ return (0, Seq_ts_1.map)((x) => x, s);
1626
+ }
1627
+ entries() {
1628
+ const s = this;
1629
+ return (0, Seq_ts_1.map)((v) => [v, v], s);
1630
+ }
1631
+ forEach(f, thisArg) {
1632
+ const s = this;
1633
+ (0, Seq_ts_1.iterate)((x) => {
1634
+ f(x, x, s);
1635
+ }, s);
1636
+ }
1637
+ }
1638
+ exports.FSharpSet = FSharpSet;
1639
+ function FSharpSet_$reflection(gen0) {
1640
+ return (0, Reflection_ts_1.class_type)("Set.FSharpSet", [gen0], FSharpSet);
1641
+ }
1642
+ function FSharpSet_$ctor(comparer, tree) {
1643
+ return new FSharpSet(comparer, tree);
1644
+ }
1645
+ function FSharpSet__get_Comparer(set$) {
1646
+ return set$.comparer;
1647
+ }
1648
+ function FSharpSet__get_Tree(set$) {
1649
+ return set$.tree;
1650
+ }
1651
+ function FSharpSet_Empty(comparer) {
1652
+ return FSharpSet_$ctor(comparer, SetTreeModule_empty());
1653
+ }
1654
+ function FSharpSet__Add(s, value) {
1655
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_add(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s)));
1656
+ }
1657
+ function FSharpSet__Remove(s, value) {
1658
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_remove(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s)));
1659
+ }
1660
+ function FSharpSet__get_Count(s) {
1661
+ return SetTreeModule_count(FSharpSet__get_Tree(s)) | 0;
1662
+ }
1663
+ function FSharpSet__Contains(s, value) {
1664
+ return SetTreeModule_mem(FSharpSet__get_Comparer(s), value, FSharpSet__get_Tree(s));
1665
+ }
1666
+ function FSharpSet__Iterate(s, x) {
1667
+ SetTreeModule_iter(x, FSharpSet__get_Tree(s));
1668
+ }
1669
+ function FSharpSet__Fold(s, f, z) {
1670
+ const f_1 = f;
1671
+ return SetTreeModule_fold((x, z_1) => f_1(z_1, x), z, FSharpSet__get_Tree(s));
1672
+ }
1673
+ function FSharpSet__get_IsEmpty(s) {
1674
+ return FSharpSet__get_Tree(s) == null;
1675
+ }
1676
+ function FSharpSet__Partition(s, f) {
1677
+ if (FSharpSet__get_Tree(s) == null) {
1678
+ return [s, s];
1679
+ }
1680
+ else {
1681
+ const patternInput = SetTreeModule_partition(FSharpSet__get_Comparer(s), f, FSharpSet__get_Tree(s));
1682
+ return [FSharpSet_$ctor(FSharpSet__get_Comparer(s), patternInput[0]), FSharpSet_$ctor(FSharpSet__get_Comparer(s), patternInput[1])];
1683
+ }
1684
+ }
1685
+ function FSharpSet__Filter(s, f) {
1686
+ if (FSharpSet__get_Tree(s) == null) {
1687
+ return s;
1688
+ }
1689
+ else {
1690
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(s), SetTreeModule_filter(FSharpSet__get_Comparer(s), f, FSharpSet__get_Tree(s)));
1691
+ }
1692
+ }
1693
+ function FSharpSet__Map(s, f, comparer) {
1694
+ return FSharpSet_$ctor(comparer, SetTreeModule_fold((acc, k) => SetTreeModule_add(comparer, f(k), acc), SetTreeModule_empty(), FSharpSet__get_Tree(s)));
1695
+ }
1696
+ function FSharpSet__Exists(s, f) {
1697
+ return SetTreeModule_exists(f, FSharpSet__get_Tree(s));
1698
+ }
1699
+ function FSharpSet__ForAll(s, f) {
1700
+ return SetTreeModule_forall(f, FSharpSet__get_Tree(s));
1701
+ }
1702
+ function FSharpSet_op_Subtraction(set1, set2) {
1703
+ if (FSharpSet__get_Tree(set1) == null) {
1704
+ return set1;
1705
+ }
1706
+ else if (FSharpSet__get_Tree(set2) == null) {
1707
+ return set1;
1708
+ }
1709
+ else {
1710
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(set1), SetTreeModule_diff(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2)));
1711
+ }
1712
+ }
1713
+ function FSharpSet_op_Addition(set1, set2) {
1714
+ if (FSharpSet__get_Tree(set2) == null) {
1715
+ return set1;
1716
+ }
1717
+ else if (FSharpSet__get_Tree(set1) == null) {
1718
+ return set2;
1719
+ }
1720
+ else {
1721
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(set1), SetTreeModule_union(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2)));
1722
+ }
1723
+ }
1724
+ function FSharpSet_Intersection(a, b) {
1725
+ if (FSharpSet__get_Tree(b) == null) {
1726
+ return b;
1727
+ }
1728
+ else if (FSharpSet__get_Tree(a) == null) {
1729
+ return a;
1730
+ }
1731
+ else {
1732
+ return FSharpSet_$ctor(FSharpSet__get_Comparer(a), SetTreeModule_intersection(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b)));
1733
+ }
1734
+ }
1735
+ function FSharpSet_IntersectionMany(sets) {
1736
+ return (0, Seq_ts_1.reduce)(FSharpSet_Intersection, sets);
1737
+ }
1738
+ function FSharpSet_Equality(a, b) {
1739
+ return SetTreeModule_compare(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b)) === 0;
1740
+ }
1741
+ function FSharpSet_Compare(a, b) {
1742
+ return SetTreeModule_compare(FSharpSet__get_Comparer(a), FSharpSet__get_Tree(a), FSharpSet__get_Tree(b)) | 0;
1743
+ }
1744
+ function FSharpSet__get_Choose(x) {
1745
+ return SetTreeModule_choose(FSharpSet__get_Tree(x));
1746
+ }
1747
+ function FSharpSet__get_MinimumElement(x) {
1748
+ return SetTreeModule_minimumElement(FSharpSet__get_Tree(x));
1749
+ }
1750
+ function FSharpSet__get_MaximumElement(x) {
1751
+ return SetTreeModule_maximumElement(FSharpSet__get_Tree(x));
1752
+ }
1753
+ function FSharpSet__IsSubsetOf(x, otherSet) {
1754
+ return SetTreeModule_subset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(x), FSharpSet__get_Tree(otherSet));
1755
+ }
1756
+ function FSharpSet__IsSupersetOf(x, otherSet) {
1757
+ return SetTreeModule_subset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(otherSet), FSharpSet__get_Tree(x));
1758
+ }
1759
+ function FSharpSet__IsProperSubsetOf(x, otherSet) {
1760
+ return SetTreeModule_properSubset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(x), FSharpSet__get_Tree(otherSet));
1761
+ }
1762
+ function FSharpSet__IsProperSupersetOf(x, otherSet) {
1763
+ return SetTreeModule_properSubset(FSharpSet__get_Comparer(x), FSharpSet__get_Tree(otherSet), FSharpSet__get_Tree(x));
1764
+ }
1765
+ function FSharpSet__ToList(x) {
1766
+ return SetTreeModule_toList(FSharpSet__get_Tree(x));
1767
+ }
1768
+ function FSharpSet__ToArray(x) {
1769
+ return SetTreeModule_toArray(FSharpSet__get_Tree(x));
1770
+ }
1771
+ function FSharpSet__ComputeHashCode(this$) {
1772
+ let res = 0;
1773
+ const enumerator = (0, Util_ts_1.getEnumerator)(this$);
1774
+ try {
1775
+ while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
1776
+ const x_1 = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
1777
+ res = ((((res << 1) + (0, Util_ts_1.structuralHash)(x_1)) + 631) | 0);
1778
+ }
1779
+ }
1780
+ finally {
1781
+ (0, Util_ts_1.disposeSafe)(enumerator);
1782
+ }
1783
+ return Math.abs(res) | 0;
1784
+ }
1785
+ function isEmpty(set$) {
1786
+ return FSharpSet__get_IsEmpty(set$);
1787
+ }
1788
+ function contains(element, set$) {
1789
+ return FSharpSet__Contains(set$, element);
1790
+ }
1791
+ function add(value, set$) {
1792
+ return FSharpSet__Add(set$, value);
1793
+ }
1794
+ function singleton(value, comparer) {
1795
+ return FSharpSet__Add(FSharpSet_Empty(comparer), value);
1796
+ }
1797
+ function remove(value, set$) {
1798
+ return FSharpSet__Remove(set$, value);
1799
+ }
1800
+ function union(set1, set2) {
1801
+ return FSharpSet_op_Addition(set1, set2);
1802
+ }
1803
+ function unionMany(sets, comparer) {
1804
+ return (0, Seq_ts_1.fold)(FSharpSet_op_Addition, FSharpSet_Empty(comparer), sets);
1805
+ }
1806
+ function intersect(set1, set2) {
1807
+ return FSharpSet_Intersection(set1, set2);
1808
+ }
1809
+ function intersectMany(sets) {
1810
+ return FSharpSet_IntersectionMany(sets);
1811
+ }
1812
+ function iterate(action, set$) {
1813
+ FSharpSet__Iterate(set$, action);
1814
+ }
1815
+ function empty(comparer) {
1816
+ return FSharpSet_Empty(comparer);
1817
+ }
1818
+ function forAll(predicate, set$) {
1819
+ return FSharpSet__ForAll(set$, predicate);
1820
+ }
1821
+ function exists(predicate, set$) {
1822
+ return FSharpSet__Exists(set$, predicate);
1823
+ }
1824
+ function filter(predicate, set$) {
1825
+ return FSharpSet__Filter(set$, predicate);
1826
+ }
1827
+ function partition(predicate, set$) {
1828
+ return FSharpSet__Partition(set$, predicate);
1829
+ }
1830
+ function fold(folder, state, set$) {
1831
+ return SetTreeModule_fold(folder, state, FSharpSet__get_Tree(set$));
1832
+ }
1833
+ function foldBack(folder, set$, state) {
1834
+ return SetTreeModule_foldBack(folder, FSharpSet__get_Tree(set$), state);
1835
+ }
1836
+ function map(mapping, set$, comparer) {
1837
+ return FSharpSet__Map(set$, mapping, comparer);
1838
+ }
1839
+ function count(set$) {
1840
+ return FSharpSet__get_Count(set$) | 0;
1841
+ }
1842
+ function ofList(elements, comparer) {
1843
+ return FSharpSet_$ctor(comparer, SetTreeModule_ofSeq(comparer, elements));
1844
+ }
1845
+ function ofArray(array, comparer) {
1846
+ return FSharpSet_$ctor(comparer, SetTreeModule_ofArray(comparer, array));
1847
+ }
1848
+ function toList(set$) {
1849
+ return FSharpSet__ToList(set$);
1850
+ }
1851
+ function toArray(set$) {
1852
+ return FSharpSet__ToArray(set$);
1853
+ }
1854
+ function toSeq(set$) {
1855
+ return (0, Seq_ts_1.map)((x) => x, set$);
1856
+ }
1857
+ function ofSeq(elements, comparer) {
1858
+ return FSharpSet_$ctor(comparer, SetTreeModule_ofSeq(comparer, elements));
1859
+ }
1860
+ function difference(set1, set2) {
1861
+ return FSharpSet_op_Subtraction(set1, set2);
1862
+ }
1863
+ function isSubset(set1, set2) {
1864
+ return SetTreeModule_subset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2));
1865
+ }
1866
+ function isSuperset(set1, set2) {
1867
+ return SetTreeModule_subset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set2), FSharpSet__get_Tree(set1));
1868
+ }
1869
+ function isProperSubset(set1, set2) {
1870
+ return SetTreeModule_properSubset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set1), FSharpSet__get_Tree(set2));
1871
+ }
1872
+ function isProperSuperset(set1, set2) {
1873
+ return SetTreeModule_properSubset(FSharpSet__get_Comparer(set1), FSharpSet__get_Tree(set2), FSharpSet__get_Tree(set1));
1874
+ }
1875
+ function minElement(set$) {
1876
+ return FSharpSet__get_MinimumElement(set$);
1877
+ }
1878
+ function maxElement(set$) {
1879
+ return FSharpSet__get_MaximumElement(set$);
1880
+ }
1881
+ function unionWith(s1, s2) {
1882
+ return (0, Seq_ts_1.fold)((acc, x) => acc.add(x), s1, s2);
1883
+ }
1884
+ function newMutableSetWith(s1, s2) {
1885
+ if (s1 instanceof MutableSet_ts_1.HashSet) {
1886
+ const s1_1 = s1;
1887
+ return (0, MutableSet_ts_1.HashSet_$ctor_Z6150332D)(s2, (0, MutableSet_ts_1.HashSet__get_Comparer)(s1_1));
1888
+ }
1889
+ else {
1890
+ return new Set(s2);
1891
+ }
1892
+ }
1893
+ function intersectWith(s1, s2) {
1894
+ const s2_1 = newMutableSetWith(s1, s2);
1895
+ (0, Seq_ts_1.iterate)((x) => {
1896
+ if (!s2_1.has(x)) {
1897
+ s1.delete(x);
1898
+ }
1899
+ }, s1.values());
1900
+ }
1901
+ function exceptWith(s1, s2) {
1902
+ (0, Seq_ts_1.iterate)((x) => {
1903
+ s1.delete(x);
1904
+ }, s2);
1905
+ }
1906
+ function isSubsetOf(s1, s2) {
1907
+ const s2_1 = newMutableSetWith(s1, s2);
1908
+ return (0, Seq_ts_1.forAll)((value) => s2_1.has(value), s1.values());
1909
+ }
1910
+ function isSupersetOf(s1, s2) {
1911
+ return (0, Seq_ts_1.forAll)((value) => s1.has(value), s2);
1912
+ }
1913
+ function isProperSubsetOf(s1, s2) {
1914
+ const s2_1 = newMutableSetWith(s1, s2);
1915
+ if (s2_1.size > s1.size) {
1916
+ return (0, Seq_ts_1.forAll)((value) => s2_1.has(value), s1.values());
1917
+ }
1918
+ else {
1919
+ return false;
1920
+ }
1921
+ }
1922
+ function isProperSupersetOf(s1, s2) {
1923
+ const s2_1 = (0, Seq_ts_1.cache)(s2);
1924
+ if ((0, Seq_ts_1.exists)((arg) => !s1.has(arg), s2_1)) {
1925
+ return (0, Seq_ts_1.forAll)((value_2) => s1.has(value_2), s2_1);
1926
+ }
1927
+ else {
1928
+ return false;
1929
+ }
1930
+ }
1931
+ //# sourceMappingURL=Set.js.map