motely-wasm 17.2.3 → 17.3.1

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 (399) hide show
  1. package/Motely.Wasm.csproj +21 -0
  2. package/Program.cs +152 -0
  3. package/README.md +122 -43
  4. package/bin/Debug/net10.0/browser-wasm/Bootsharp.Common.dll +0 -0
  5. package/bin/Debug/net10.0/browser-wasm/Bootsharp.FileSystem.dll +0 -0
  6. package/bin/Debug/net10.0/browser-wasm/Bootsharp.Inject.dll +0 -0
  7. package/bin/Debug/net10.0/browser-wasm/Bootsharp.dll +0 -0
  8. package/bin/Debug/net10.0/browser-wasm/JetBrains.Annotations.dll +0 -0
  9. package/bin/Debug/net10.0/browser-wasm/Microsoft.CSharp.dll +0 -0
  10. package/bin/Debug/net10.0/browser-wasm/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  11. package/bin/Debug/net10.0/browser-wasm/Microsoft.Extensions.DependencyInjection.dll +0 -0
  12. package/bin/Debug/net10.0/browser-wasm/Microsoft.VisualBasic.Core.dll +0 -0
  13. package/bin/Debug/net10.0/browser-wasm/Microsoft.VisualBasic.dll +0 -0
  14. package/bin/Debug/net10.0/browser-wasm/Microsoft.Win32.Primitives.dll +0 -0
  15. package/bin/Debug/net10.0/browser-wasm/Microsoft.Win32.Registry.dll +0 -0
  16. package/bin/Debug/net10.0/browser-wasm/SixLabors.ImageSharp.dll +0 -0
  17. package/bin/Debug/net10.0/browser-wasm/System.AppContext.dll +0 -0
  18. package/bin/Debug/net10.0/browser-wasm/System.Buffers.dll +0 -0
  19. package/bin/Debug/net10.0/browser-wasm/System.Collections.Concurrent.dll +0 -0
  20. package/bin/Debug/net10.0/browser-wasm/System.Collections.Immutable.dll +0 -0
  21. package/bin/Debug/net10.0/browser-wasm/System.Collections.NonGeneric.dll +0 -0
  22. package/bin/Debug/net10.0/browser-wasm/System.Collections.Specialized.dll +0 -0
  23. package/bin/Debug/net10.0/browser-wasm/System.Collections.dll +0 -0
  24. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.Annotations.dll +0 -0
  25. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.DataAnnotations.dll +0 -0
  26. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.EventBasedAsync.dll +0 -0
  27. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.Primitives.dll +0 -0
  28. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.TypeConverter.dll +0 -0
  29. package/bin/Debug/net10.0/browser-wasm/System.ComponentModel.dll +0 -0
  30. package/bin/Debug/net10.0/browser-wasm/System.Configuration.dll +0 -0
  31. package/bin/Debug/net10.0/browser-wasm/System.Console.dll +0 -0
  32. package/bin/Debug/net10.0/browser-wasm/System.Core.dll +0 -0
  33. package/bin/Debug/net10.0/browser-wasm/System.Data.Common.dll +0 -0
  34. package/bin/Debug/net10.0/browser-wasm/System.Data.DataSetExtensions.dll +0 -0
  35. package/bin/Debug/net10.0/browser-wasm/System.Data.dll +0 -0
  36. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.Contracts.dll +0 -0
  37. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.Debug.dll +0 -0
  38. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.DiagnosticSource.dll +0 -0
  39. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.FileVersionInfo.dll +0 -0
  40. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.Process.dll +0 -0
  41. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.StackTrace.dll +0 -0
  42. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  43. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.Tools.dll +0 -0
  44. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.TraceSource.dll +0 -0
  45. package/bin/Debug/net10.0/browser-wasm/System.Diagnostics.Tracing.dll +0 -0
  46. package/bin/Debug/net10.0/browser-wasm/System.Drawing.Primitives.dll +0 -0
  47. package/bin/Debug/net10.0/browser-wasm/System.Drawing.dll +0 -0
  48. package/bin/Debug/net10.0/browser-wasm/System.Dynamic.Runtime.dll +0 -0
  49. package/bin/Debug/net10.0/browser-wasm/System.Formats.Asn1.dll +0 -0
  50. package/bin/Debug/net10.0/browser-wasm/System.Formats.Tar.dll +0 -0
  51. package/bin/Debug/net10.0/browser-wasm/System.Globalization.Calendars.dll +0 -0
  52. package/bin/Debug/net10.0/browser-wasm/System.Globalization.Extensions.dll +0 -0
  53. package/bin/Debug/net10.0/browser-wasm/System.Globalization.dll +0 -0
  54. package/bin/Debug/net10.0/browser-wasm/System.IO.Compression.Brotli.dll +0 -0
  55. package/bin/Debug/net10.0/browser-wasm/System.IO.Compression.FileSystem.dll +0 -0
  56. package/bin/Debug/net10.0/browser-wasm/System.IO.Compression.ZipFile.dll +0 -0
  57. package/bin/Debug/net10.0/browser-wasm/System.IO.Compression.dll +0 -0
  58. package/bin/Debug/net10.0/browser-wasm/System.IO.FileSystem.AccessControl.dll +0 -0
  59. package/bin/Debug/net10.0/browser-wasm/System.IO.FileSystem.DriveInfo.dll +0 -0
  60. package/bin/Debug/net10.0/browser-wasm/System.IO.FileSystem.Primitives.dll +0 -0
  61. package/bin/Debug/net10.0/browser-wasm/System.IO.FileSystem.Watcher.dll +0 -0
  62. package/bin/Debug/net10.0/browser-wasm/System.IO.FileSystem.dll +0 -0
  63. package/bin/Debug/net10.0/browser-wasm/System.IO.IsolatedStorage.dll +0 -0
  64. package/bin/Debug/net10.0/browser-wasm/System.IO.MemoryMappedFiles.dll +0 -0
  65. package/bin/Debug/net10.0/browser-wasm/System.IO.Pipelines.dll +0 -0
  66. package/bin/Debug/net10.0/browser-wasm/System.IO.Pipes.AccessControl.dll +0 -0
  67. package/bin/Debug/net10.0/browser-wasm/System.IO.Pipes.dll +0 -0
  68. package/bin/Debug/net10.0/browser-wasm/System.IO.UnmanagedMemoryStream.dll +0 -0
  69. package/bin/Debug/net10.0/browser-wasm/System.IO.dll +0 -0
  70. package/bin/Debug/net10.0/browser-wasm/System.Linq.AsyncEnumerable.dll +0 -0
  71. package/bin/Debug/net10.0/browser-wasm/System.Linq.Expressions.dll +0 -0
  72. package/bin/Debug/net10.0/browser-wasm/System.Linq.Parallel.dll +0 -0
  73. package/bin/Debug/net10.0/browser-wasm/System.Linq.Queryable.dll +0 -0
  74. package/bin/Debug/net10.0/browser-wasm/System.Linq.dll +0 -0
  75. package/bin/Debug/net10.0/browser-wasm/System.Memory.dll +0 -0
  76. package/bin/Debug/net10.0/browser-wasm/System.Net.Http.Json.dll +0 -0
  77. package/bin/Debug/net10.0/browser-wasm/System.Net.Http.dll +0 -0
  78. package/bin/Debug/net10.0/browser-wasm/System.Net.HttpListener.dll +0 -0
  79. package/bin/Debug/net10.0/browser-wasm/System.Net.Mail.dll +0 -0
  80. package/bin/Debug/net10.0/browser-wasm/System.Net.NameResolution.dll +0 -0
  81. package/bin/Debug/net10.0/browser-wasm/System.Net.NetworkInformation.dll +0 -0
  82. package/bin/Debug/net10.0/browser-wasm/System.Net.Ping.dll +0 -0
  83. package/bin/Debug/net10.0/browser-wasm/System.Net.Primitives.dll +0 -0
  84. package/bin/Debug/net10.0/browser-wasm/System.Net.Quic.dll +0 -0
  85. package/bin/Debug/net10.0/browser-wasm/System.Net.Requests.dll +0 -0
  86. package/bin/Debug/net10.0/browser-wasm/System.Net.Security.dll +0 -0
  87. package/bin/Debug/net10.0/browser-wasm/System.Net.ServerSentEvents.dll +0 -0
  88. package/bin/Debug/net10.0/browser-wasm/System.Net.ServicePoint.dll +0 -0
  89. package/bin/Debug/net10.0/browser-wasm/System.Net.Sockets.dll +0 -0
  90. package/bin/Debug/net10.0/browser-wasm/System.Net.WebClient.dll +0 -0
  91. package/bin/Debug/net10.0/browser-wasm/System.Net.WebHeaderCollection.dll +0 -0
  92. package/bin/Debug/net10.0/browser-wasm/System.Net.WebProxy.dll +0 -0
  93. package/bin/Debug/net10.0/browser-wasm/System.Net.WebSockets.Client.dll +0 -0
  94. package/bin/Debug/net10.0/browser-wasm/System.Net.WebSockets.dll +0 -0
  95. package/bin/Debug/net10.0/browser-wasm/System.Net.dll +0 -0
  96. package/bin/Debug/net10.0/browser-wasm/System.Numerics.Vectors.dll +0 -0
  97. package/bin/Debug/net10.0/browser-wasm/System.Numerics.dll +0 -0
  98. package/bin/Debug/net10.0/browser-wasm/System.ObjectModel.dll +0 -0
  99. package/bin/Debug/net10.0/browser-wasm/System.Private.CoreLib.dll +0 -0
  100. package/bin/Debug/net10.0/browser-wasm/System.Private.DataContractSerialization.dll +0 -0
  101. package/bin/Debug/net10.0/browser-wasm/System.Private.Uri.dll +0 -0
  102. package/bin/Debug/net10.0/browser-wasm/System.Private.Xml.Linq.dll +0 -0
  103. package/bin/Debug/net10.0/browser-wasm/System.Private.Xml.dll +0 -0
  104. package/bin/Debug/net10.0/browser-wasm/System.Reflection.DispatchProxy.dll +0 -0
  105. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Emit.ILGeneration.dll +0 -0
  106. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Emit.Lightweight.dll +0 -0
  107. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Emit.dll +0 -0
  108. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Extensions.dll +0 -0
  109. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Metadata.dll +0 -0
  110. package/bin/Debug/net10.0/browser-wasm/System.Reflection.Primitives.dll +0 -0
  111. package/bin/Debug/net10.0/browser-wasm/System.Reflection.TypeExtensions.dll +0 -0
  112. package/bin/Debug/net10.0/browser-wasm/System.Reflection.dll +0 -0
  113. package/bin/Debug/net10.0/browser-wasm/System.Resources.Reader.dll +0 -0
  114. package/bin/Debug/net10.0/browser-wasm/System.Resources.ResourceManager.dll +0 -0
  115. package/bin/Debug/net10.0/browser-wasm/System.Resources.Writer.dll +0 -0
  116. package/bin/Debug/net10.0/browser-wasm/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  117. package/bin/Debug/net10.0/browser-wasm/System.Runtime.CompilerServices.VisualC.dll +0 -0
  118. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Extensions.dll +0 -0
  119. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Handles.dll +0 -0
  120. package/bin/Debug/net10.0/browser-wasm/System.Runtime.InteropServices.JavaScript.dll +0 -0
  121. package/bin/Debug/net10.0/browser-wasm/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  122. package/bin/Debug/net10.0/browser-wasm/System.Runtime.InteropServices.dll +0 -0
  123. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Intrinsics.dll +0 -0
  124. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Loader.dll +0 -0
  125. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Numerics.dll +0 -0
  126. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Serialization.Formatters.dll +0 -0
  127. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Serialization.Json.dll +0 -0
  128. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Serialization.Primitives.dll +0 -0
  129. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Serialization.Xml.dll +0 -0
  130. package/bin/Debug/net10.0/browser-wasm/System.Runtime.Serialization.dll +0 -0
  131. package/bin/Debug/net10.0/browser-wasm/System.Runtime.dll +0 -0
  132. package/bin/Debug/net10.0/browser-wasm/System.Security.AccessControl.dll +0 -0
  133. package/bin/Debug/net10.0/browser-wasm/System.Security.Claims.dll +0 -0
  134. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.Algorithms.dll +0 -0
  135. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.Cng.dll +0 -0
  136. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.Csp.dll +0 -0
  137. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.Encoding.dll +0 -0
  138. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.OpenSsl.dll +0 -0
  139. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.Primitives.dll +0 -0
  140. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.X509Certificates.dll +0 -0
  141. package/bin/Debug/net10.0/browser-wasm/System.Security.Cryptography.dll +0 -0
  142. package/bin/Debug/net10.0/browser-wasm/System.Security.Principal.Windows.dll +0 -0
  143. package/bin/Debug/net10.0/browser-wasm/System.Security.Principal.dll +0 -0
  144. package/bin/Debug/net10.0/browser-wasm/System.Security.SecureString.dll +0 -0
  145. package/bin/Debug/net10.0/browser-wasm/System.Security.dll +0 -0
  146. package/bin/Debug/net10.0/browser-wasm/System.ServiceModel.Web.dll +0 -0
  147. package/bin/Debug/net10.0/browser-wasm/System.ServiceProcess.dll +0 -0
  148. package/bin/Debug/net10.0/browser-wasm/System.Text.Encoding.CodePages.dll +0 -0
  149. package/bin/Debug/net10.0/browser-wasm/System.Text.Encoding.Extensions.dll +0 -0
  150. package/bin/Debug/net10.0/browser-wasm/System.Text.Encoding.dll +0 -0
  151. package/bin/Debug/net10.0/browser-wasm/System.Text.Encodings.Web.dll +0 -0
  152. package/bin/Debug/net10.0/browser-wasm/System.Text.Json.dll +0 -0
  153. package/bin/Debug/net10.0/browser-wasm/System.Text.RegularExpressions.dll +0 -0
  154. package/bin/Debug/net10.0/browser-wasm/System.Threading.AccessControl.dll +0 -0
  155. package/bin/Debug/net10.0/browser-wasm/System.Threading.Channels.dll +0 -0
  156. package/bin/Debug/net10.0/browser-wasm/System.Threading.Overlapped.dll +0 -0
  157. package/bin/Debug/net10.0/browser-wasm/System.Threading.Tasks.Dataflow.dll +0 -0
  158. package/bin/Debug/net10.0/browser-wasm/System.Threading.Tasks.Extensions.dll +0 -0
  159. package/bin/Debug/net10.0/browser-wasm/System.Threading.Tasks.Parallel.dll +0 -0
  160. package/bin/Debug/net10.0/browser-wasm/System.Threading.Tasks.dll +0 -0
  161. package/bin/Debug/net10.0/browser-wasm/System.Threading.Thread.dll +0 -0
  162. package/bin/Debug/net10.0/browser-wasm/System.Threading.ThreadPool.dll +0 -0
  163. package/bin/Debug/net10.0/browser-wasm/System.Threading.Timer.dll +0 -0
  164. package/bin/Debug/net10.0/browser-wasm/System.Threading.dll +0 -0
  165. package/bin/Debug/net10.0/browser-wasm/System.Transactions.Local.dll +0 -0
  166. package/bin/Debug/net10.0/browser-wasm/System.Transactions.dll +0 -0
  167. package/bin/Debug/net10.0/browser-wasm/System.ValueTuple.dll +0 -0
  168. package/bin/Debug/net10.0/browser-wasm/System.Web.HttpUtility.dll +0 -0
  169. package/bin/Debug/net10.0/browser-wasm/System.Web.dll +0 -0
  170. package/bin/Debug/net10.0/browser-wasm/System.Windows.dll +0 -0
  171. package/bin/Debug/net10.0/browser-wasm/System.Xml.Linq.dll +0 -0
  172. package/bin/Debug/net10.0/browser-wasm/System.Xml.ReaderWriter.dll +0 -0
  173. package/bin/Debug/net10.0/browser-wasm/System.Xml.Serialization.dll +0 -0
  174. package/bin/Debug/net10.0/browser-wasm/System.Xml.XDocument.dll +0 -0
  175. package/bin/Debug/net10.0/browser-wasm/System.Xml.XPath.XDocument.dll +0 -0
  176. package/bin/Debug/net10.0/browser-wasm/System.Xml.XPath.dll +0 -0
  177. package/bin/Debug/net10.0/browser-wasm/System.Xml.XmlDocument.dll +0 -0
  178. package/bin/Debug/net10.0/browser-wasm/System.Xml.XmlSerializer.dll +0 -0
  179. package/bin/Debug/net10.0/browser-wasm/System.Xml.dll +0 -0
  180. package/bin/Debug/net10.0/browser-wasm/System.dll +0 -0
  181. package/bin/Debug/net10.0/browser-wasm/WindowsBase.dll +0 -0
  182. package/bin/Debug/net10.0/browser-wasm/YamlDotNet.dll +0 -0
  183. package/bin/Debug/net10.0/browser-wasm/corebindings.c +298 -0
  184. package/bin/Debug/net10.0/browser-wasm/dotnet.d.ts +785 -0
  185. package/bin/Debug/net10.0/browser-wasm/dotnet.diagnostics.js +4 -0
  186. package/bin/Debug/net10.0/browser-wasm/dotnet.diagnostics.js.map +1 -0
  187. package/bin/Debug/net10.0/browser-wasm/dotnet.es6.extpost.js +2 -0
  188. package/bin/Debug/net10.0/browser-wasm/dotnet.es6.lib.js +143 -0
  189. package/bin/Debug/net10.0/browser-wasm/dotnet.es6.pre.js +3 -0
  190. package/bin/Debug/net10.0/browser-wasm/dotnet.js +4 -0
  191. package/bin/Debug/net10.0/browser-wasm/dotnet.js.map +1 -0
  192. package/bin/Debug/net10.0/browser-wasm/dotnet.native.js +16 -0
  193. package/bin/Debug/net10.0/browser-wasm/dotnet.native.js.symbols +8701 -0
  194. package/bin/Debug/net10.0/browser-wasm/dotnet.native.wasm +0 -0
  195. package/bin/Debug/net10.0/browser-wasm/dotnet.runtime.js +4 -0
  196. package/bin/Debug/net10.0/browser-wasm/dotnet.runtime.js.map +1 -0
  197. package/bin/Debug/net10.0/browser-wasm/driver.c +587 -0
  198. package/bin/Debug/net10.0/browser-wasm/emcc-default.rsp +0 -0
  199. package/bin/Debug/net10.0/browser-wasm/emcc-link.rsp +17 -0
  200. package/bin/Debug/net10.0/browser-wasm/gc-common.h +73 -0
  201. package/bin/Debug/net10.0/browser-wasm/icudt.dat +0 -0
  202. package/bin/Debug/net10.0/browser-wasm/icudt_CJK.dat +0 -0
  203. package/bin/Debug/net10.0/browser-wasm/icudt_EFIGS.dat +0 -0
  204. package/bin/Debug/net10.0/browser-wasm/icudt_no_CJK.dat +0 -0
  205. package/bin/Debug/net10.0/browser-wasm/libSystem.Globalization.Native.a +0 -0
  206. package/bin/Debug/net10.0/browser-wasm/libSystem.IO.Compression.Native.a +0 -0
  207. package/bin/Debug/net10.0/browser-wasm/libSystem.Native.a +0 -0
  208. package/bin/Debug/net10.0/browser-wasm/libbrotlicommon.a +0 -0
  209. package/bin/Debug/net10.0/browser-wasm/libbrotlidec.a +0 -0
  210. package/bin/Debug/net10.0/browser-wasm/libbrotlienc.a +0 -0
  211. package/bin/Debug/net10.0/browser-wasm/libicudata.a +0 -0
  212. package/bin/Debug/net10.0/browser-wasm/libicui18n.a +0 -0
  213. package/bin/Debug/net10.0/browser-wasm/libicuuc.a +0 -0
  214. package/bin/Debug/net10.0/browser-wasm/libmono-component-debugger-static.a +0 -0
  215. package/bin/Debug/net10.0/browser-wasm/libmono-component-debugger-stub-static.a +0 -0
  216. package/bin/Debug/net10.0/browser-wasm/libmono-component-diagnostics_tracing-static.a +0 -0
  217. package/bin/Debug/net10.0/browser-wasm/libmono-component-diagnostics_tracing-stub-static.a +0 -0
  218. package/bin/Debug/net10.0/browser-wasm/libmono-component-hot_reload-static.a +0 -0
  219. package/bin/Debug/net10.0/browser-wasm/libmono-component-hot_reload-stub-static.a +0 -0
  220. package/bin/Debug/net10.0/browser-wasm/libmono-component-marshal-ilgen-static.a +0 -0
  221. package/bin/Debug/net10.0/browser-wasm/libmono-component-marshal-ilgen-stub-static.a +0 -0
  222. package/bin/Debug/net10.0/browser-wasm/libmono-ee-interp.a +0 -0
  223. package/bin/Debug/net10.0/browser-wasm/libmono-icall-table.a +0 -0
  224. package/bin/Debug/net10.0/browser-wasm/libmono-profiler-aot.a +0 -0
  225. package/bin/Debug/net10.0/browser-wasm/libmono-profiler-browser.a +0 -0
  226. package/bin/Debug/net10.0/browser-wasm/libmono-profiler-log.a +0 -0
  227. package/bin/Debug/net10.0/browser-wasm/libmono-wasm-eh-js.a +0 -0
  228. package/bin/Debug/net10.0/browser-wasm/libmono-wasm-eh-wasm.a +0 -0
  229. package/bin/Debug/net10.0/browser-wasm/libmono-wasm-nosimd.a +0 -0
  230. package/bin/Debug/net10.0/browser-wasm/libmono-wasm-simd.a +0 -0
  231. package/bin/Debug/net10.0/browser-wasm/libmonosgen-2.0.a +0 -0
  232. package/bin/Debug/net10.0/browser-wasm/libz.a +0 -0
  233. package/bin/Debug/net10.0/browser-wasm/mscorlib.dll +0 -0
  234. package/bin/Debug/net10.0/browser-wasm/netstandard.dll +0 -0
  235. package/bin/Debug/net10.0/browser-wasm/package.json +44 -0
  236. package/bin/Debug/net10.0/browser-wasm/pinvoke.c +94 -0
  237. package/bin/Debug/net10.0/browser-wasm/pinvoke.h +62 -0
  238. package/bin/Debug/net10.0/browser-wasm/runtime.c +433 -0
  239. package/bin/Debug/net10.0/browser-wasm/runtime.h +23 -0
  240. package/bin/Debug/net10.0/browser-wasm/wasm-bundled-timezones.a +0 -0
  241. package/bin/Debug/net10.0/browser-wasm/wasm-config.h +13 -0
  242. package/bin/Debug/net10.0/browser-wasm/wasm-props.json +25 -0
  243. package/bin/Release/net10.0/browser-wasm/Bootsharp.Common.dll +0 -0
  244. package/bin/Release/net10.0/browser-wasm/Bootsharp.FileSystem.dll +0 -0
  245. package/bin/Release/net10.0/browser-wasm/Bootsharp.Inject.dll +0 -0
  246. package/bin/Release/net10.0/browser-wasm/Bootsharp.dll +0 -0
  247. package/bin/Release/net10.0/browser-wasm/JetBrains.Annotations.dll +0 -0
  248. package/bin/Release/net10.0/browser-wasm/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  249. package/bin/Release/net10.0/browser-wasm/Microsoft.Extensions.DependencyInjection.dll +0 -0
  250. package/bin/Release/net10.0/browser-wasm/Motely.Wasm.deps.json +204 -0
  251. package/bin/Release/net10.0/browser-wasm/Motely.Wasm.dll +0 -0
  252. package/bin/Release/net10.0/browser-wasm/Motely.Wasm.runtimeconfig.json +48 -0
  253. package/bin/Release/net10.0/browser-wasm/Motely.dll +0 -0
  254. package/bin/Release/net10.0/browser-wasm/Motely.pdb +0 -0
  255. package/bin/Release/net10.0/browser-wasm/SixLabors.ImageSharp.dll +0 -0
  256. package/bin/Release/net10.0/browser-wasm/YamlDotNet.dll +0 -0
  257. package/bin/Release/net10.0/browser-wasm/native/dotnet.diagnostics.js +4 -0
  258. package/bin/Release/net10.0/browser-wasm/native/dotnet.js +4 -0
  259. package/bin/Release/net10.0/browser-wasm/native/dotnet.native.js +16 -0
  260. package/bin/Release/net10.0/browser-wasm/native/dotnet.native.wasm +0 -0
  261. package/bin/Release/net10.0/browser-wasm/native/dotnet.runtime.js +4 -0
  262. package/bin/Release/net10.0/browser-wasm/publish/Motely.Wasm.deps.json +204 -0
  263. package/bin/Release/net10.0/browser-wasm/publish/Motely.Wasm.runtimeconfig.json +48 -0
  264. package/bin/Release/net10.0/browser-wasm/publish/Motely.pdb +0 -0
  265. package/bin/Release/net10.0/browser-wasm/publish/dotnet.diagnostics.js +4 -0
  266. package/{dotnet → bin/Release/net10.0/browser-wasm/publish}/dotnet.native.js +1 -1
  267. package/bin/{dotnet.native.wasm → Release/net10.0/browser-wasm/publish/dotnet.native.wasm} +0 -0
  268. package/{exports.d.mts → bin/Release/net10.0/browser-wasm/publish/exports.d.mts} +1 -0
  269. package/bin/Release/net10.0/browser-wasm/publish/exports.mjs +25 -0
  270. package/bin/Release/net10.0/browser-wasm/publish/generated/bootsharp/file-system.g.d.mts +68 -0
  271. package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/bootsharp/file-system.g.mjs +6 -6
  272. package/{imports.d.mts → bin/Release/net10.0/browser-wasm/publish/generated/imports.g.d.mts} +1 -1
  273. package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/imports.g.mjs +1 -3
  274. package/bin/Release/net10.0/browser-wasm/publish/generated/index.g.d.mts +24 -0
  275. package/bin/Release/net10.0/browser-wasm/publish/generated/index.g.mjs +28 -0
  276. package/bin/Release/net10.0/browser-wasm/publish/generated/instances.g.mjs +69 -0
  277. package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/motely/analysis.g.d.mts +1 -1
  278. package/bin/Release/net10.0/browser-wasm/publish/generated/motely/filters.g.d.mts +16 -0
  279. package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/motely/filters.g.mjs +2 -2
  280. package/bin/Release/net10.0/browser-wasm/publish/generated/motely.g.d.mts +199 -0
  281. package/bin/Release/net10.0/browser-wasm/publish/generated/motely.g.mjs +64 -0
  282. package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/serialization.g.mjs +25 -99
  283. package/bin/Release/net10.0/browser-wasm/publish/imports.d.mts +5 -0
  284. package/bin/Release/net10.0/browser-wasm/publish/imports.mjs +23 -0
  285. package/{index.d.mts → bin/Release/net10.0/browser-wasm/publish/index.d.mts} +1 -1
  286. package/bin/Release/net10.0/browser-wasm/publish/index.mjs +13 -0
  287. package/obj/Debug/net10.0/browser-wasm/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs +4 -0
  288. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.AssemblyInfo.cs +23 -0
  289. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.AssemblyInfoInputs.cache +1 -0
  290. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.GeneratedMSBuildEditorConfig.editorconfig +23 -0
  291. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.GlobalUsings.g.cs +8 -0
  292. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.assets.cache +0 -0
  293. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.csproj.AssemblyReference.cache +0 -0
  294. package/obj/Debug/net10.0/browser-wasm/Motely.Wasm.csproj.FileListAbsolute.txt +244 -0
  295. package/obj/Motely.Wasm.csproj.nuget.dgspec.json +812 -0
  296. package/obj/Motely.Wasm.csproj.nuget.g.props +24 -0
  297. package/obj/Motely.Wasm.csproj.nuget.g.targets +6 -0
  298. package/obj/Release/net10.0/browser-wasm/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs +4 -0
  299. package/obj/Release/net10.0/browser-wasm/Motely.W.E9C36C08.Up2Date +0 -0
  300. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.AssemblyInfo.cs +23 -0
  301. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.AssemblyInfoInputs.cache +1 -0
  302. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.GeneratedMSBuildEditorConfig.editorconfig +23 -0
  303. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.GlobalUsings.g.cs +8 -0
  304. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.assets.cache +0 -0
  305. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.csproj.AssemblyReference.cache +0 -0
  306. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.csproj.CoreCompileInputs.cache +1 -0
  307. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.csproj.FileListAbsolute.txt +24 -0
  308. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.deps.json +204 -0
  309. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.dll +0 -0
  310. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.genpublishdeps.cache +1 -0
  311. package/obj/Release/net10.0/browser-wasm/Motely.Wasm.genruntimeconfig.cache +1 -0
  312. package/obj/Release/net10.0/browser-wasm/PublishOutputs.7e4e19bcb2.txt +4 -0
  313. package/obj/Release/net10.0/browser-wasm/bootsharp/Instances.g.cs +49 -0
  314. package/obj/Release/net10.0/browser-wasm/bootsharp/Interop.g.cs +109 -0
  315. package/obj/Release/net10.0/browser-wasm/bootsharp/Modules.g.cs +24 -0
  316. package/obj/Release/net10.0/browser-wasm/bootsharp/Serializer.g.cs +347 -0
  317. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.0.bc +0 -0
  318. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.0.o +0 -0
  319. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.1.bc +0 -0
  320. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.1.o +0 -0
  321. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.10.bc +0 -0
  322. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.10.o +0 -0
  323. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.11.bc +0 -0
  324. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.11.o +0 -0
  325. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.12.bc +0 -0
  326. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.12.o +0 -0
  327. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.13.bc +0 -0
  328. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.13.o +0 -0
  329. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.14.bc +0 -0
  330. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.14.o +0 -0
  331. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.15.bc +0 -0
  332. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.15.o +0 -0
  333. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.2.bc +0 -0
  334. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.2.o +0 -0
  335. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.3.bc +0 -0
  336. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.3.o +0 -0
  337. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.4.bc +0 -0
  338. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.4.o +0 -0
  339. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.5.bc +0 -0
  340. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.5.o +0 -0
  341. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.6.bc +0 -0
  342. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.6.o +0 -0
  343. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.7.bc +0 -0
  344. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.7.o +0 -0
  345. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.8.bc +0 -0
  346. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.8.o +0 -0
  347. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.9.bc +0 -0
  348. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.9.o +0 -0
  349. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.exports +74 -0
  350. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.external.o +0 -0
  351. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.ilc.rsp +456 -0
  352. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.o +0 -0
  353. package/obj/Release/net10.0/browser-wasm/native/Motely.Wasm.results.txt +18 -0
  354. package/obj/Release/net10.0/browser-wasm/native/link.rsp +46 -0
  355. package/obj/Release/net10.0/browser-wasm/ref/Motely.Wasm.dll +0 -0
  356. package/obj/Release/net10.0/browser-wasm/refint/Motely.Wasm.dll +0 -0
  357. package/obj/project.assets.json +1795 -0
  358. package/obj/project.nuget.cache +19 -0
  359. package/package.json +13 -20
  360. package/exports.mjs +0 -6
  361. package/generated/bootsharp/file-system.g.d.mts +0 -193
  362. package/generated/common.g.mjs +0 -8
  363. package/generated/imports.g.d.mts +0 -2
  364. package/generated/index.g.d.mts +0 -30
  365. package/generated/index.g.mjs +0 -34
  366. package/generated/instances.g.mjs +0 -20
  367. package/generated/motely/filters.g.d.mts +0 -10
  368. package/generated/motely/wasm.g.d.mts +0 -55
  369. package/generated/motely/wasm.g.mjs +0 -13
  370. package/generated/motely.g.d.mts +0 -145
  371. package/generated/motely.g.mjs +0 -12
  372. package/imports.mjs +0 -6
  373. package/index.mjs +0 -63
  374. package/jaml.schema.json +0 -1194
  375. package/sync-version.mjs +0 -25
  376. /package/{boot.d.mts → bin/Release/net10.0/browser-wasm/publish/boot.d.mts} +0 -0
  377. /package/{boot.mjs → bin/Release/net10.0/browser-wasm/publish/boot.mjs} +0 -0
  378. /package/{config.d.mts → bin/Release/net10.0/browser-wasm/publish/config.d.mts} +0 -0
  379. /package/{config.mjs → bin/Release/net10.0/browser-wasm/publish/config.mjs} +0 -0
  380. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/dotnet.d.ts +0 -0
  381. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/dotnet.g.d.ts +0 -0
  382. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/dotnet.native.d.ts +0 -0
  383. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/dotnet.runtime.d.ts +0 -0
  384. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/index.d.mts +0 -0
  385. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish/dotnet}/index.mjs +0 -0
  386. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish}/dotnet.js +0 -0
  387. /package/{dotnet → bin/Release/net10.0/browser-wasm/publish}/dotnet.runtime.js +0 -0
  388. /package/{event.d.mts → bin/Release/net10.0/browser-wasm/publish/event.d.mts} +0 -0
  389. /package/{event.mjs → bin/Release/net10.0/browser-wasm/publish/event.mjs} +0 -0
  390. /package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/resources.g.d.mts +0 -0
  391. /package/{generated → bin/Release/net10.0/browser-wasm/publish/generated}/resources.g.mjs +0 -0
  392. /package/{instances.d.mts → bin/Release/net10.0/browser-wasm/publish/instances.d.mts} +0 -0
  393. /package/{instances.mjs → bin/Release/net10.0/browser-wasm/publish/instances.mjs} +0 -0
  394. /package/{resources.d.mts → bin/Release/net10.0/browser-wasm/publish/resources.d.mts} +0 -0
  395. /package/{resources.mjs → bin/Release/net10.0/browser-wasm/publish/resources.mjs} +0 -0
  396. /package/{runtime.d.mts → bin/Release/net10.0/browser-wasm/publish/runtime.d.mts} +0 -0
  397. /package/{runtime.mjs → bin/Release/net10.0/browser-wasm/publish/runtime.mjs} +0 -0
  398. /package/{serialization.d.mts → bin/Release/net10.0/browser-wasm/publish/serialization.d.mts} +0 -0
  399. /package/{serialization.mjs → bin/Release/net10.0/browser-wasm/publish/serialization.mjs} +0 -0
@@ -0,0 +1,21 @@
1
+ <Project Sdk="Microsoft.NET.Sdk">
2
+ <PropertyGroup>
3
+ <TargetFramework>net10.0</TargetFramework>
4
+ <RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
5
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
6
+ <IsPackable>false</IsPackable>
7
+ <BootsharpName>motely-wasm</BootsharpName>
8
+ <BootsharpPublishDirectory>$(MSBuildProjectDirectory)\..\motely-wasm</BootsharpPublishDirectory>
9
+ </PropertyGroup>
10
+
11
+ <ItemGroup>
12
+ <PackageReference Include="Bootsharp" />
13
+ <PackageReference Include="Bootsharp.Inject" />
14
+ <PackageReference Include="Bootsharp.FileSystem" />
15
+ <PackageReference Include="Microsoft.Extensions.DependencyInjection" />
16
+ </ItemGroup>
17
+
18
+ <ItemGroup>
19
+ <ProjectReference Include="..\Motely\Motely.csproj" />
20
+ </ItemGroup>
21
+ </Project>
package/Program.cs ADDED
@@ -0,0 +1,152 @@
1
+ using Bootsharp;
2
+ using Bootsharp.FileSystem;
3
+ using Bootsharp.Inject;
4
+ using Microsoft.Extensions.DependencyInjection;
5
+ using Motely;
6
+ using Motely.Analysis;
7
+ using Motely.Filters;
8
+ using Motely.Filters.Native;
9
+ using System.Reflection;
10
+ using System.Text;
11
+
12
+ [assembly: Preferences(Space = [@"^Motely\.Wasm\.Program$", "Motely"])]
13
+
14
+ namespace Motely.Wasm;
15
+
16
+ public static partial class Program
17
+ {
18
+ private static IServiceProvider services = null!;
19
+ private static readonly Dictionary<string, IFileSystem> MountedFileSystems = new(StringComparer.Ordinal);
20
+ private static readonly MotelyFileWatcher FileWatcher = new();
21
+
22
+ [Export]
23
+ public static event Action<IReadOnlyList<Change>>? OnFileChanges;
24
+
25
+ [Export]
26
+ public static event Action<string>? OnSeedMatch;
27
+
28
+ [Export]
29
+ public static event Action<MotelyScoredSeedResult>? OnScoredResult;
30
+
31
+ [Export]
32
+ public static event Action<MotelyProgress>? OnProgress;
33
+
34
+ public static void Main()
35
+ {
36
+ services = new ServiceCollection()
37
+ .AddBootsharp()
38
+ .BuildServiceProvider();
39
+ }
40
+
41
+ [Export]
42
+ public static string Version() =>
43
+ typeof(MotelyDeck).Assembly
44
+ .GetCustomAttribute<AssemblyInformationalVersionAttribute>()!
45
+ .InformationalVersion;
46
+
47
+ [Export]
48
+ public static string ValidateJaml(string jaml)
49
+ {
50
+ if (!JamlConfigLoader.TryLoad(jaml, out var config, out var error))
51
+ return error ?? "Invalid JAML.";
52
+ try
53
+ {
54
+ JamlSearchBuilder.EnsureRunnablePlan(config);
55
+ return "valid";
56
+ }
57
+ catch (Exception ex)
58
+ {
59
+ return ex.Message;
60
+ }
61
+ }
62
+
63
+ [Export]
64
+ public static string ExplainJaml(string jaml)
65
+ {
66
+ if (!JamlConfigLoader.TryLoad(jaml, out var config, out var error))
67
+ throw new InvalidOperationException(error ?? "Invalid JAML.");
68
+ return config.HasAnyClauses ? JamlSearchBuilder.ExplainPlan(config) : "";
69
+ }
70
+
71
+ [Export]
72
+ public static JamlSearchPlan CreatePlan(string jaml)
73
+ {
74
+ if (!JamlConfigLoader.TryLoad(jaml, out var config, out var error))
75
+ throw new InvalidOperationException(error ?? "Invalid JAML.");
76
+ return JamlSearchBuilder.CreatePlan(config);
77
+ }
78
+
79
+ [Export]
80
+ public static MotelyJamlyzerResult AnalyzeJamlSeeds(string jaml, string[] seeds) =>
81
+ MotelyJamlyzer.AnalyzeSeeds(new(jaml, seeds));
82
+
83
+ [Export]
84
+ public static IMotelySearchSettingsInterop CreateSearch(string jaml)
85
+ {
86
+ if (!JamlConfigLoader.TryLoad(jaml, out var config, out var error))
87
+ throw new InvalidOperationException(error ?? "Invalid JAML.");
88
+ return AttachInteropCallbacks(JamlSearchBuilder.CreateSettings(config));
89
+ }
90
+
91
+ [Export]
92
+ public static IMotelySearchSettingsInterop CreateSearchSettings() =>
93
+ AttachInteropCallbacks(
94
+ new MotelySearchSettings<PassthroughFilterDesc.PassthroughFilter>(
95
+ new PassthroughFilterDesc()
96
+ )
97
+ );
98
+
99
+ [Export]
100
+ public static async Task<string?> PickRoot(PickOptions? options = null) =>
101
+ await Mounter().PickRoot(options);
102
+
103
+ [Export]
104
+ public static async Task<string> MountRoot(string root, MountOptions? options = null)
105
+ {
106
+ var fs = await Mounter().Mount(root, FileWatcher, options);
107
+ MountedFileSystems[root] = fs;
108
+ return root;
109
+ }
110
+
111
+ [Export]
112
+ public static async Task UnmountRoot(string root)
113
+ {
114
+ MountedFileSystems.Remove(root);
115
+ await Mounter().Unmount(root);
116
+ }
117
+
118
+ [Export]
119
+ public static async Task<string> ReadTextFile(string root, string uri)
120
+ {
121
+ var bytes = await GetFileSystem(root).ReadFile(uri);
122
+ return Encoding.UTF8.GetString(bytes);
123
+ }
124
+
125
+ [Export]
126
+ public static async Task WriteTextFile(string root, string uri, string text) =>
127
+ await GetFileSystem(root).WriteFile(uri, Encoding.UTF8.GetBytes(text));
128
+
129
+ private static IFileMounter Mounter() => services.GetRequiredService<IFileMounter>();
130
+
131
+ private static IMotelySearchSettingsInterop AttachInteropCallbacks(IMotelySearchSettings settings) =>
132
+ (IMotelySearchSettingsInterop)settings
133
+ .WithSeedMatchCallback(seed => OnSeedMatch?.Invoke(seed))
134
+ .WithScoredResultCallback(tally =>
135
+ OnScoredResult?.Invoke(MotelyScoredSeedResult.FromTally(in tally))
136
+ )
137
+ .WithProgressCallback(p => OnProgress?.Invoke(p));
138
+
139
+ private static IFileSystem GetFileSystem(string root) =>
140
+ MountedFileSystems.TryGetValue(root, out var fs)
141
+ ? fs
142
+ : throw new InvalidOperationException($"File system root '{root}' is not mounted.");
143
+
144
+ private sealed class MotelyFileWatcher : IFileWatcher
145
+ {
146
+ public Task HandleFileChanges(IReadOnlyList<Change> changes)
147
+ {
148
+ OnFileChanges?.Invoke(changes);
149
+ return Task.CompletedTask;
150
+ }
151
+ }
152
+ }
package/README.md CHANGED
@@ -1,65 +1,144 @@
1
- # Motely.Wasm
1
+ # motely-wasm
2
2
 
3
- Bootsharp host for the browser/JavaScript Motely package. It keeps all Bootsharp attributes, dependency injection, and JavaScript interop concerns out of the core `Motely` library.
3
+ WebAssembly package for [Motely](https://github.com/nathanialph/jammyseedfinder) the Balatro seed search engine powered by JAML (Jammy YAML filter language).
4
4
 
5
- ## Build
5
+ ## Install
6
6
 
7
- ```powershell
8
- dotnet publish Motely.Wasm/Motely.Wasm.csproj -c Debug
7
+ ```sh
8
+ npm install motely-wasm
9
9
  ```
10
10
 
11
- Debug publishes use the regular .NET browser WASM toolchain and are the quickest way to verify the contract. Release publishes enable Bootsharp's NativeAOT-LLVM path; install Binaryen's `wasm-opt` for fully optimized release output.
11
+ ## Quick start
12
12
 
13
- Bootsharp alpha packages are resolved from user-level NuGet feeds. The sponsor-only `Bootsharp.FileSystem` extension is consumed from a local Bootsharp Extra checkout through the `BootsharpExtraRoot` MSBuild property. Set it in your environment or user-local MSBuild props; do not commit personal drive paths.
13
+ ```js
14
+ import motely from "motely-wasm";
15
+ import { Motely } from "motely-wasm/index";
16
+
17
+ // Boot the runtime, pointing at wherever your package assets are served
18
+ await motely.boot("/node_modules/motely-wasm");
19
+
20
+ // Subscribe to results before starting
21
+ Motely.onSeedMatch.subscribe(seed => console.log("match:", seed));
22
+ Motely.onProgress.subscribe(p => console.log(`${p.percentComplete.toFixed(1)}%`));
23
+
24
+ // Build and run a search
25
+ const search = Motely.createSearch(`
26
+ ante-1:
27
+ jokers:
28
+ - Joker
29
+ `).withSequentialSearch()
30
+ .createSearch();
14
31
 
15
- The generated ES module is written to `motely-wasm/`:
32
+ search.runSearchUntilCompletion();
33
+ ```
34
+
35
+ ## Booting
16
36
 
17
- - `motely-wasm/index.mjs` and generated bindings
18
- - `motely-wasm/package.json`
19
- - `motely-wasm/bin/` runtime and WASM binaries
37
+ `boot(resources, options?)` initializes the .NET WASM runtime. Call it once before any `Motely.*` API.
38
+
39
+ ```js
40
+ import motely, { BootStatus } from "motely-wasm";
20
41
 
21
- Bootsharp writes the ES module package skeleton during publish. `Motely.Wasm/sync-package.mjs` runs immediately afterward to add the Motely npm metadata, version, README, schema export, and publish hooks.
42
+ // From a URL base path (all .wasm / assembly files served from there)
43
+ await motely.boot("/assets/motely-wasm");
22
44
 
23
- ## JavaScript Usage
45
+ // Check status
46
+ console.log(motely.getStatus()); // BootStatus.Booted
47
+ ```
24
48
 
25
- Bootsharp 0.8's browser boot API takes the runtime resource root directly. File-system imports must be wired before booting when the JAML library APIs are used:
49
+ ## JAML API
26
50
 
27
51
  ```js
28
- import bootsharp, { Motely } from "./motely-wasm/index.mjs";
29
- import { IFileMounter } from "./motely-wasm/bootsharp/file-system.g.mjs";
30
- import * as fs from "@rewaffle/bootsharp-file-system";
31
-
32
- fs.init(IFileMounter);
33
- await bootsharp.boot("/bin");
34
-
35
- const version = Motely.version();
36
- const result = Motely.loadJaml(`
37
- must:
38
- - joker: Blueprint
39
- antes: [1]
40
- `);
41
- if (!result.ok) console.error(result.error);
52
+ import { Motely } from "motely-wasm/index";
53
+
54
+ // Validate a JAML filter string — returns "" on success, error message on failure
55
+ const error = Motely.validateJaml(jaml);
56
+
57
+ // Get a human-readable explanation of what a JAML filter does
58
+ const explanation = Motely.explainJaml(jaml);
59
+
60
+ // Inspect the search plan (tally column count, CSV header, labels)
61
+ const plan = Motely.createPlan(jaml);
62
+
63
+ // Analyze specific seeds against a JAML filter
64
+ const result = Motely.analyzeJamlSeeds(jaml, ["ABCD1234", "XYZ99"]);
65
+
66
+ // Engine version string
67
+ console.log(Motely.version());
42
68
  ```
43
69
 
44
- When serving from the repository root, `/bin` must resolve to `motely-wasm/bin`. If the module is hosted under a subpath, pass that subpath's binary root, for example `await bootsharp.boot("/motely-wasm/bin")`.
70
+ ## Running a search
45
71
 
46
- Node usage is not supported: Bootsharp boots by `fetch()`ing wasm/assemblies, and Node's built-in `fetch` does not handle `file://`. Serve the package over HTTP, or run in a real browser.
72
+ ```js
73
+ import { Motely } from "motely-wasm/index";
74
+ import { MotelyDeck, MotelyStake } from "motely-wasm/motely";
47
75
 
48
- ## Exported Contract
76
+ Motely.onSeedMatch.subscribe(seed => { /* handle match */ });
77
+ Motely.onScoredResult.subscribe(result => { /* result.seed, result.score, result.tallies */ });
78
+ Motely.onProgress.subscribe(progress => { /* progress.percentComplete, .seedsPerMillisecond, … */ });
49
79
 
50
- The generated `Motely` namespace currently exposes these JAML helpers:
80
+ const settings = Motely.createSearchSettings()
81
+ .withDeck(MotelyDeck.Red)
82
+ .withStake(MotelyStake.White)
83
+ .withSequentialSearch() // enumerate all seeds in order
84
+ // .withRandomSearch(10_000) // or pick N random seeds
85
+ // .withListSearch(seeds, count) // or supply a seed list
86
+ .withProgressReportIntervalMs(500n);
51
87
 
52
- - `version()` string (assembly informational version)
53
- - `loadJaml(yaml)` → `{ ok: boolean, error: string | null }`
54
- - `explainJaml(yaml)` → `{ ok: boolean, error: string | null, explanation: string | null }`
88
+ const search = settings.createSearch();
55
89
 
56
- And these file-system helpers backed by `Bootsharp.FileSystem`:
90
+ // Synchronous (blocks until done fine in a Worker)
91
+ search.runSearchUntilCompletion();
57
92
 
58
- - `pickRoot(options?)` `Promise<string | null>`
59
- - `mountRoot(root, options?)` → `Promise<string>`
60
- - `unmountRoot(root)` → `Promise<void>`
61
- - `readTextFile(root, uri)` → `Promise<string>`
62
- - `writeTextFile(root, uri, text)` → `Promise<void>`
63
- - `onFileChanges` — event of `Change[]`
93
+ // Async (yields between batches)
94
+ await search.runSearchAsync(undefined);
95
+ ```
64
96
 
65
- Search and seed analysis are not yet exported. `analyzeSeed`, `analyzeJamlSeed`, `analyzeJamlSeeds`, and `searchJamlPage` are planned; track them in `Motely.Wasm/Program.cs` before relying on them.
97
+ ## Events
98
+
99
+ | Event | Payload |
100
+ |---|---|
101
+ | `Motely.onSeedMatch` | `string` — matching seed |
102
+ | `Motely.onScoredResult` | `{ seed, score, tallies }` |
103
+ | `Motely.onProgress` | `MotelyProgress` |
104
+ | `Motely.onFileChanges` | `FileSystem.Change[]` |
105
+
106
+ Subscribe and unsubscribe:
107
+
108
+ ```js
109
+ const handler = seed => console.log(seed);
110
+ Motely.onSeedMatch.subscribe(handler);
111
+ Motely.onSeedMatch.unsubscribe(handler);
112
+ ```
113
+
114
+ ## Submodule exports
115
+
116
+ | Import path | Contents |
117
+ |---|---|
118
+ | `motely-wasm` | `boot`, `exit`, `getStatus`, `BootStatus`, `manifest` |
119
+ | `motely-wasm/index` | `Motely` namespace (main API) |
120
+ | `motely-wasm/motely` | Types: `MotelyDeck`, `MotelyStake`, `MotelyTag`, `MotelyVoucher`, `MotelyBossBlind`, `MotelyBoosterPack`, enums |
121
+ | `motely-wasm/motely/filters` | `JamlAesthetic`, `JamlSearchPlan` |
122
+ | `motely-wasm/motely/analysis` | `MotelyJamlyzerResult` |
123
+ | `motely-wasm/bootsharp/file-system` | File system interop (browser OPFS) |
124
+
125
+ ## Using in a Web Worker
126
+
127
+ The WASM runtime is single-threaded. For non-blocking UI, run searches in a Worker:
128
+
129
+ ```js
130
+ // worker.js
131
+ import motely from "motely-wasm";
132
+ import { Motely } from "motely-wasm/index";
133
+
134
+ await motely.boot("/assets/motely-wasm");
135
+
136
+ Motely.onSeedMatch.subscribe(seed => postMessage({ type: "match", seed }));
137
+ Motely.onProgress.subscribe(p => postMessage({ type: "progress", p }));
138
+
139
+ self.onmessage = async ({ data }) => {
140
+ const search = Motely.createSearch(data.jaml).withSequentialSearch().createSearch();
141
+ await search.runSearchAsync(undefined);
142
+ postMessage({ type: "done" });
143
+ };
144
+ ```