skill-universe 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/README.md +24 -0
  2. package/bin/skillc.mjs +3 -0
  3. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache +0 -0
  4. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache_inline +0 -0
  5. package/build/dev/javascript/argv/_gleam_artefacts/argv.cache_meta +0 -0
  6. package/build/dev/javascript/argv/argv.erl +12 -0
  7. package/build/dev/javascript/argv/argv.mjs +31 -0
  8. package/build/dev/javascript/argv/argv_ffi.erl +27 -0
  9. package/build/dev/javascript/argv/argv_ffi.mjs +20 -0
  10. package/build/dev/javascript/argv/gleam.mjs +1 -0
  11. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache +0 -0
  12. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache_inline +0 -0
  13. package/build/dev/javascript/filepath/_gleam_artefacts/filepath.cache_meta +0 -0
  14. package/build/dev/javascript/filepath/filepath.erl +425 -0
  15. package/build/dev/javascript/filepath/filepath.mjs +529 -0
  16. package/build/dev/javascript/filepath/filepath_ffi.erl +9 -0
  17. package/build/dev/javascript/filepath/filepath_ffi.mjs +6 -0
  18. package/build/dev/javascript/filepath/gleam.mjs +1 -0
  19. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache +0 -0
  20. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_inline +0 -0
  21. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bit_array.cache_meta +0 -0
  22. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache +0 -0
  23. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_inline +0 -0
  24. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bool.cache_meta +0 -0
  25. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache +0 -0
  26. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache_inline +0 -0
  27. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@bytes_tree.cache_meta +0 -0
  28. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache +0 -0
  29. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_inline +0 -0
  30. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dict.cache_meta +0 -0
  31. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache +0 -0
  32. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_inline +0 -0
  33. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic.cache_meta +0 -0
  34. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache +0 -0
  35. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache_inline +0 -0
  36. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@dynamic@decode.cache_meta +0 -0
  37. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache +0 -0
  38. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache_inline +0 -0
  39. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@float.cache_meta +0 -0
  40. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache +0 -0
  41. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache_inline +0 -0
  42. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@function.cache_meta +0 -0
  43. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache +0 -0
  44. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache_inline +0 -0
  45. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@int.cache_meta +0 -0
  46. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache +0 -0
  47. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache_inline +0 -0
  48. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@io.cache_meta +0 -0
  49. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache +0 -0
  50. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache_inline +0 -0
  51. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@list.cache_meta +0 -0
  52. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache +0 -0
  53. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache_inline +0 -0
  54. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@option.cache_meta +0 -0
  55. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache +0 -0
  56. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache_inline +0 -0
  57. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@order.cache_meta +0 -0
  58. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache +0 -0
  59. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_inline +0 -0
  60. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@pair.cache_meta +0 -0
  61. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache +0 -0
  62. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache_inline +0 -0
  63. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@result.cache_meta +0 -0
  64. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache +0 -0
  65. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache_inline +0 -0
  66. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@set.cache_meta +0 -0
  67. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache +0 -0
  68. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache_inline +0 -0
  69. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string.cache_meta +0 -0
  70. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache +0 -0
  71. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache_inline +0 -0
  72. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@string_tree.cache_meta +0 -0
  73. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache +0 -0
  74. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_inline +0 -0
  75. package/build/dev/javascript/gleam_stdlib/_gleam_artefacts/gleam@uri.cache_meta +0 -0
  76. package/build/dev/javascript/gleam_stdlib/dict.mjs +710 -0
  77. package/build/dev/javascript/gleam_stdlib/gleam/bit_array.mjs +285 -0
  78. package/build/dev/javascript/gleam_stdlib/gleam/bool.mjs +313 -0
  79. package/build/dev/javascript/gleam_stdlib/gleam/bytes_tree.mjs +225 -0
  80. package/build/dev/javascript/gleam_stdlib/gleam/dict.mjs +456 -0
  81. package/build/dev/javascript/gleam_stdlib/gleam/dynamic/decode.mjs +985 -0
  82. package/build/dev/javascript/gleam_stdlib/gleam/dynamic.mjs +35 -0
  83. package/build/dev/javascript/gleam_stdlib/gleam/float.mjs +572 -0
  84. package/build/dev/javascript/gleam_stdlib/gleam/function.mjs +6 -0
  85. package/build/dev/javascript/gleam_stdlib/gleam/int.mjs +832 -0
  86. package/build/dev/javascript/gleam_stdlib/gleam/io.mjs +8 -0
  87. package/build/dev/javascript/gleam_stdlib/gleam/list.mjs +3160 -0
  88. package/build/dev/javascript/gleam_stdlib/gleam/option.mjs +418 -0
  89. package/build/dev/javascript/gleam_stdlib/gleam/order.mjs +178 -0
  90. package/build/dev/javascript/gleam_stdlib/gleam/pair.mjs +102 -0
  91. package/build/dev/javascript/gleam_stdlib/gleam/result.mjs +480 -0
  92. package/build/dev/javascript/gleam_stdlib/gleam/set.mjs +416 -0
  93. package/build/dev/javascript/gleam_stdlib/gleam/string.mjs +723 -0
  94. package/build/dev/javascript/gleam_stdlib/gleam/string_tree.mjs +133 -0
  95. package/build/dev/javascript/gleam_stdlib/gleam/uri.mjs +1155 -0
  96. package/build/dev/javascript/gleam_stdlib/gleam.mjs +1 -0
  97. package/build/dev/javascript/gleam_stdlib/gleam@bit_array.erl +347 -0
  98. package/build/dev/javascript/gleam_stdlib/gleam@bool.erl +352 -0
  99. package/build/dev/javascript/gleam_stdlib/gleam@bytes_tree.erl +211 -0
  100. package/build/dev/javascript/gleam_stdlib/gleam@dict.erl +521 -0
  101. package/build/dev/javascript/gleam_stdlib/gleam@dynamic.erl +106 -0
  102. package/build/dev/javascript/gleam_stdlib/gleam@dynamic@decode.erl +1112 -0
  103. package/build/dev/javascript/gleam_stdlib/gleam@float.erl +764 -0
  104. package/build/dev/javascript/gleam_stdlib/gleam@function.erl +18 -0
  105. package/build/dev/javascript/gleam_stdlib/gleam@int.erl +1004 -0
  106. package/build/dev/javascript/gleam_stdlib/gleam@io.erl +80 -0
  107. package/build/dev/javascript/gleam_stdlib/gleam@list.erl +2832 -0
  108. package/build/dev/javascript/gleam_stdlib/gleam@option.erl +413 -0
  109. package/build/dev/javascript/gleam_stdlib/gleam@order.erl +200 -0
  110. package/build/dev/javascript/gleam_stdlib/gleam@pair.erl +110 -0
  111. package/build/dev/javascript/gleam_stdlib/gleam@result.erl +532 -0
  112. package/build/dev/javascript/gleam_stdlib/gleam@set.erl +433 -0
  113. package/build/dev/javascript/gleam_stdlib/gleam@string.erl +1012 -0
  114. package/build/dev/javascript/gleam_stdlib/gleam@string_tree.erl +207 -0
  115. package/build/dev/javascript/gleam_stdlib/gleam@uri.erl +1049 -0
  116. package/build/dev/javascript/gleam_stdlib/gleam_stdlib.erl +529 -0
  117. package/build/dev/javascript/gleam_stdlib/gleam_stdlib.mjs +1050 -0
  118. package/build/dev/javascript/gleam_version +1 -0
  119. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache +0 -0
  120. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache_inline +0 -0
  121. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit.cache_meta +0 -0
  122. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache +0 -0
  123. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache_inline +0 -0
  124. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@gleam_panic.cache_meta +0 -0
  125. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache +0 -0
  126. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache_inline +0 -0
  127. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@internal@reporting.cache_meta +0 -0
  128. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache +0 -0
  129. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache_inline +0 -0
  130. package/build/dev/javascript/gleeunit/_gleam_artefacts/gleeunit@should.cache_meta +0 -0
  131. package/build/dev/javascript/gleeunit/gleam.mjs +1 -0
  132. package/build/dev/javascript/gleeunit/gleeunit/internal/gleam_panic.mjs +180 -0
  133. package/build/dev/javascript/gleeunit/gleeunit/internal/gleeunit_gleam_panic_ffi.erl +49 -0
  134. package/build/dev/javascript/gleeunit/gleeunit/internal/gleeunit_gleam_panic_ffi.mjs +91 -0
  135. package/build/dev/javascript/gleeunit/gleeunit/internal/reporting.mjs +256 -0
  136. package/build/dev/javascript/gleeunit/gleeunit/should.mjs +135 -0
  137. package/build/dev/javascript/gleeunit/gleeunit.erl +89 -0
  138. package/build/dev/javascript/gleeunit/gleeunit.mjs +62 -0
  139. package/build/dev/javascript/gleeunit/gleeunit@internal@gleam_panic.erl +56 -0
  140. package/build/dev/javascript/gleeunit/gleeunit@internal@reporting.erl +343 -0
  141. package/build/dev/javascript/gleeunit/gleeunit@should.erl +153 -0
  142. package/build/dev/javascript/gleeunit/gleeunit_ffi.erl +21 -0
  143. package/build/dev/javascript/gleeunit/gleeunit_ffi.mjs +100 -0
  144. package/build/dev/javascript/gleeunit/gleeunit_progress.erl +72 -0
  145. package/build/dev/javascript/prelude.mjs +1575 -0
  146. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache +0 -0
  147. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache_inline +0 -0
  148. package/build/dev/javascript/simplifile/_gleam_artefacts/simplifile.cache_meta +0 -0
  149. package/build/dev/javascript/simplifile/gleam.mjs +1 -0
  150. package/build/dev/javascript/simplifile/simplifile.erl +893 -0
  151. package/build/dev/javascript/simplifile/simplifile.mjs +893 -0
  152. package/build/dev/javascript/simplifile/simplifile_erl.erl +244 -0
  153. package/build/dev/javascript/simplifile/simplifile_js.mjs +400 -0
  154. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache +0 -0
  155. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_inline +0 -0
  156. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_meta +0 -0
  157. package/build/dev/javascript/skillc/_gleam_artefacts/cli_test.cache_warnings +0 -0
  158. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache +0 -0
  159. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_inline +0 -0
  160. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_meta +0 -0
  161. package/build/dev/javascript/skillc/_gleam_artefacts/compiler_test.cache_warnings +0 -0
  162. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache +0 -0
  163. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_inline +0 -0
  164. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_meta +0 -0
  165. package/build/dev/javascript/skillc/_gleam_artefacts/config_test.cache_warnings +0 -0
  166. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache +0 -0
  167. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_inline +0 -0
  168. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_meta +0 -0
  169. package/build/dev/javascript/skillc/_gleam_artefacts/importer_test.cache_warnings +0 -0
  170. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache +0 -0
  171. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_inline +0 -0
  172. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_meta +0 -0
  173. package/build/dev/javascript/skillc/_gleam_artefacts/parser_test.cache_warnings +0 -0
  174. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache +0 -0
  175. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_inline +0 -0
  176. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_meta +0 -0
  177. package/build/dev/javascript/skillc/_gleam_artefacts/path_test.cache_warnings +0 -0
  178. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache +0 -0
  179. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_inline +0 -0
  180. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_meta +0 -0
  181. package/build/dev/javascript/skillc/_gleam_artefacts/provider_test.cache_warnings +0 -0
  182. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache +0 -0
  183. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_inline +0 -0
  184. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_meta +0 -0
  185. package/build/dev/javascript/skillc/_gleam_artefacts/registry_test.cache_warnings +0 -0
  186. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache +0 -0
  187. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_inline +0 -0
  188. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_meta +0 -0
  189. package/build/dev/javascript/skillc/_gleam_artefacts/scaffold_test.cache_warnings +0 -0
  190. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache +0 -0
  191. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_inline +0 -0
  192. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_meta +0 -0
  193. package/build/dev/javascript/skillc/_gleam_artefacts/skillc.cache_warnings +0 -0
  194. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache +0 -0
  195. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_inline +0 -0
  196. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_meta +0 -0
  197. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@compiler.cache_warnings +0 -0
  198. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache +0 -0
  199. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_inline +0 -0
  200. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_meta +0 -0
  201. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@config.cache_warnings +0 -0
  202. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache +0 -0
  203. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_inline +0 -0
  204. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_meta +0 -0
  205. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@error.cache_warnings +0 -0
  206. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache +0 -0
  207. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_inline +0 -0
  208. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_meta +0 -0
  209. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@fs.cache_warnings +0 -0
  210. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache +0 -0
  211. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_inline +0 -0
  212. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_meta +0 -0
  213. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@importer.cache_warnings +0 -0
  214. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache +0 -0
  215. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_inline +0 -0
  216. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_meta +0 -0
  217. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@parser.cache_warnings +0 -0
  218. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache +0 -0
  219. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_inline +0 -0
  220. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_meta +0 -0
  221. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@path.cache_warnings +0 -0
  222. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache +0 -0
  223. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_inline +0 -0
  224. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_meta +0 -0
  225. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@platform.cache_warnings +0 -0
  226. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache +0 -0
  227. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_inline +0 -0
  228. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_meta +0 -0
  229. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@provider.cache_warnings +0 -0
  230. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache +0 -0
  231. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_inline +0 -0
  232. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_meta +0 -0
  233. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@registry.cache_warnings +0 -0
  234. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache +0 -0
  235. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_inline +0 -0
  236. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_meta +0 -0
  237. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@scaffold.cache_warnings +0 -0
  238. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache +0 -0
  239. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_inline +0 -0
  240. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_meta +0 -0
  241. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@semver.cache_warnings +0 -0
  242. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache +0 -0
  243. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_inline +0 -0
  244. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_meta +0 -0
  245. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@shell.cache_warnings +0 -0
  246. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache +0 -0
  247. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_inline +0 -0
  248. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_meta +0 -0
  249. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@template.cache_warnings +0 -0
  250. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache +0 -0
  251. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_inline +0 -0
  252. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_meta +0 -0
  253. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@types.cache_warnings +0 -0
  254. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache +0 -0
  255. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_inline +0 -0
  256. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_meta +0 -0
  257. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@version_constraint.cache_warnings +0 -0
  258. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache +0 -0
  259. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_inline +0 -0
  260. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_meta +0 -0
  261. package/build/dev/javascript/skillc/_gleam_artefacts/skillc@yaml.cache_warnings +0 -0
  262. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache +0 -0
  263. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_inline +0 -0
  264. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_meta +0 -0
  265. package/build/dev/javascript/skillc/_gleam_artefacts/skillc_test.cache_warnings +0 -0
  266. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache +0 -0
  267. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_inline +0 -0
  268. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_meta +0 -0
  269. package/build/dev/javascript/skillc/_gleam_artefacts/template_test.cache_warnings +0 -0
  270. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache +0 -0
  271. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_inline +0 -0
  272. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_meta +0 -0
  273. package/build/dev/javascript/skillc/_gleam_artefacts/version_constraint_test.cache_warnings +0 -0
  274. package/build/dev/javascript/skillc/cli_test.mjs +461 -0
  275. package/build/dev/javascript/skillc/compiler_test.mjs +3089 -0
  276. package/build/dev/javascript/skillc/config_test.mjs +308 -0
  277. package/build/dev/javascript/skillc/gleam.main.mjs +2 -0
  278. package/build/dev/javascript/skillc/gleam.mjs +1 -0
  279. package/build/dev/javascript/skillc/importer_test.mjs +1643 -0
  280. package/build/dev/javascript/skillc/parser_test.mjs +1601 -0
  281. package/build/dev/javascript/skillc/path_test.mjs +26 -0
  282. package/build/dev/javascript/skillc/provider_test.mjs +221 -0
  283. package/build/dev/javascript/skillc/registry_test.mjs +359 -0
  284. package/build/dev/javascript/skillc/scaffold_test.mjs +405 -0
  285. package/build/dev/javascript/skillc/skillc/compiler.mjs +724 -0
  286. package/build/dev/javascript/skillc/skillc/config.mjs +172 -0
  287. package/build/dev/javascript/skillc/skillc/error.mjs +145 -0
  288. package/build/dev/javascript/skillc/skillc/fs.mjs +40 -0
  289. package/build/dev/javascript/skillc/skillc/importer.mjs +975 -0
  290. package/build/dev/javascript/skillc/skillc/parser.mjs +427 -0
  291. package/build/dev/javascript/skillc/skillc/path.mjs +52 -0
  292. package/build/dev/javascript/skillc/skillc/platform.mjs +44 -0
  293. package/build/dev/javascript/skillc/skillc/provider.mjs +86 -0
  294. package/build/dev/javascript/skillc/skillc/registry.mjs +701 -0
  295. package/build/dev/javascript/skillc/skillc/scaffold.mjs +117 -0
  296. package/build/dev/javascript/skillc/skillc/semver.mjs +293 -0
  297. package/build/dev/javascript/skillc/skillc/shell.mjs +14 -0
  298. package/build/dev/javascript/skillc/skillc/template.mjs +1177 -0
  299. package/build/dev/javascript/skillc/skillc/types.mjs +249 -0
  300. package/build/dev/javascript/skillc/skillc/version_constraint.mjs +290 -0
  301. package/build/dev/javascript/skillc/skillc/yaml.mjs +51 -0
  302. package/build/dev/javascript/skillc/skillc.mjs +873 -0
  303. package/build/dev/javascript/skillc/skillc_ffi.mjs +30 -0
  304. package/build/dev/javascript/skillc/skillc_test.mjs +5 -0
  305. package/build/dev/javascript/skillc/template_test.mjs +1638 -0
  306. package/build/dev/javascript/skillc/version_constraint_test.mjs +1325 -0
  307. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache +0 -0
  308. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache_inline +0 -0
  309. package/build/dev/javascript/yay/_gleam_artefacts/yay.cache_meta +0 -0
  310. package/build/dev/javascript/yay/gleam.mjs +1 -0
  311. package/build/dev/javascript/yay/yaml_ffi.erl +106 -0
  312. package/build/dev/javascript/yay/yaml_ffi.mjs +373 -0
  313. package/build/dev/javascript/yay/yay.erl +1218 -0
  314. package/build/dev/javascript/yay/yay.mjs +1403 -0
  315. package/package.json +28 -0
  316. package/src/skillc/compiler.gleam +561 -0
  317. package/src/skillc/config.gleam +91 -0
  318. package/src/skillc/error.gleam +37 -0
  319. package/src/skillc/fs.gleam +31 -0
  320. package/src/skillc/importer.gleam +709 -0
  321. package/src/skillc/parser.gleam +279 -0
  322. package/src/skillc/path.gleam +30 -0
  323. package/src/skillc/platform.gleam +25 -0
  324. package/src/skillc/provider.gleam +58 -0
  325. package/src/skillc/registry.gleam +472 -0
  326. package/src/skillc/scaffold.gleam +112 -0
  327. package/src/skillc/semver.gleam +165 -0
  328. package/src/skillc/shell.gleam +12 -0
  329. package/src/skillc/template.gleam +885 -0
  330. package/src/skillc/types.gleam +93 -0
  331. package/src/skillc/version_constraint.gleam +163 -0
  332. package/src/skillc/yaml.gleam +27 -0
  333. package/src/skillc.gleam +466 -0
  334. package/src/skillc_ffi.mjs +30 -0
@@ -0,0 +1,413 @@
1
+ -module(gleam@option).
2
+ -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
3
+ -define(FILEPATH, "src/gleam/option.gleam").
4
+ -export([all/1, is_some/1, is_none/1, to_result/2, from_result/1, unwrap/2, lazy_unwrap/2, map/2, flatten/1, then/2, 'or'/2, lazy_or/2, values/1]).
5
+ -export_type([option/1]).
6
+
7
+ -if(?OTP_RELEASE >= 27).
8
+ -define(MODULEDOC(Str), -moduledoc(Str)).
9
+ -define(DOC(Str), -doc(Str)).
10
+ -else.
11
+ -define(MODULEDOC(Str), -compile([])).
12
+ -define(DOC(Str), -compile([])).
13
+ -endif.
14
+
15
+ -type option(EL) :: {some, EL} | none.
16
+
17
+ -file("src/gleam/option.gleam", 59).
18
+ -spec reverse_and_prepend(list(FA), list(FA)) -> list(FA).
19
+ reverse_and_prepend(Prefix, Suffix) ->
20
+ case Prefix of
21
+ [] ->
22
+ Suffix;
23
+
24
+ [First | Rest] ->
25
+ reverse_and_prepend(Rest, [First | Suffix])
26
+ end.
27
+
28
+ -file("src/gleam/option.gleam", 44).
29
+ -spec all_loop(list(option(ER)), list(ER)) -> option(list(ER)).
30
+ all_loop(List, Acc) ->
31
+ case List of
32
+ [] ->
33
+ {some, lists:reverse(Acc)};
34
+
35
+ [none | _] ->
36
+ none;
37
+
38
+ [{some, First} | Rest] ->
39
+ all_loop(Rest, [First | Acc])
40
+ end.
41
+
42
+ -file("src/gleam/option.gleam", 40).
43
+ ?DOC(
44
+ " Combines a list of `Option`s into a single `Option`.\n"
45
+ " If all elements in the list are `Some` then returns a `Some` holding the list of values.\n"
46
+ " If any element is `None` then returns `None`.\n"
47
+ "\n"
48
+ " ## Examples\n"
49
+ "\n"
50
+ " ```gleam\n"
51
+ " all([Some(1), Some(2)])\n"
52
+ " // -> Some([1, 2])\n"
53
+ " ```\n"
54
+ "\n"
55
+ " ```gleam\n"
56
+ " all([Some(1), None])\n"
57
+ " // -> None\n"
58
+ " ```\n"
59
+ ).
60
+ -spec all(list(option(EM))) -> option(list(EM)).
61
+ all(List) ->
62
+ all_loop(List, []).
63
+
64
+ -file("src/gleam/option.gleam", 80).
65
+ ?DOC(
66
+ " Checks whether the `Option` is a `Some` value.\n"
67
+ "\n"
68
+ " ## Examples\n"
69
+ "\n"
70
+ " ```gleam\n"
71
+ " is_some(Some(1))\n"
72
+ " // -> True\n"
73
+ " ```\n"
74
+ "\n"
75
+ " ```gleam\n"
76
+ " is_some(None)\n"
77
+ " // -> False\n"
78
+ " ```\n"
79
+ ).
80
+ -spec is_some(option(any())) -> boolean().
81
+ is_some(Option) ->
82
+ Option /= none.
83
+
84
+ -file("src/gleam/option.gleam", 98).
85
+ ?DOC(
86
+ " Checks whether the `Option` is a `None` value.\n"
87
+ "\n"
88
+ " ## Examples\n"
89
+ "\n"
90
+ " ```gleam\n"
91
+ " is_none(Some(1))\n"
92
+ " // -> False\n"
93
+ " ```\n"
94
+ "\n"
95
+ " ```gleam\n"
96
+ " is_none(None)\n"
97
+ " // -> True\n"
98
+ " ```\n"
99
+ ).
100
+ -spec is_none(option(any())) -> boolean().
101
+ is_none(Option) ->
102
+ Option =:= none.
103
+
104
+ -file("src/gleam/option.gleam", 116).
105
+ ?DOC(
106
+ " Converts an `Option` type to a `Result` type.\n"
107
+ "\n"
108
+ " ## Examples\n"
109
+ "\n"
110
+ " ```gleam\n"
111
+ " to_result(Some(1), \"some_error\")\n"
112
+ " // -> Ok(1)\n"
113
+ " ```\n"
114
+ "\n"
115
+ " ```gleam\n"
116
+ " to_result(None, \"some_error\")\n"
117
+ " // -> Error(\"some_error\")\n"
118
+ " ```\n"
119
+ ).
120
+ -spec to_result(option(FI), FL) -> {ok, FI} | {error, FL}.
121
+ to_result(Option, E) ->
122
+ case Option of
123
+ {some, A} ->
124
+ {ok, A};
125
+
126
+ none ->
127
+ {error, E}
128
+ end.
129
+
130
+ -file("src/gleam/option.gleam", 137).
131
+ ?DOC(
132
+ " Converts a `Result` type to an `Option` type.\n"
133
+ "\n"
134
+ " ## Examples\n"
135
+ "\n"
136
+ " ```gleam\n"
137
+ " from_result(Ok(1))\n"
138
+ " // -> Some(1)\n"
139
+ " ```\n"
140
+ "\n"
141
+ " ```gleam\n"
142
+ " from_result(Error(\"some_error\"))\n"
143
+ " // -> None\n"
144
+ " ```\n"
145
+ ).
146
+ -spec from_result({ok, FO} | {error, any()}) -> option(FO).
147
+ from_result(Result) ->
148
+ case Result of
149
+ {ok, A} ->
150
+ {some, A};
151
+
152
+ {error, _} ->
153
+ none
154
+ end.
155
+
156
+ -file("src/gleam/option.gleam", 158).
157
+ ?DOC(
158
+ " Extracts the value from an `Option`, returning a default value if there is none.\n"
159
+ "\n"
160
+ " ## Examples\n"
161
+ "\n"
162
+ " ```gleam\n"
163
+ " unwrap(Some(1), 0)\n"
164
+ " // -> 1\n"
165
+ " ```\n"
166
+ "\n"
167
+ " ```gleam\n"
168
+ " unwrap(None, 0)\n"
169
+ " // -> 0\n"
170
+ " ```\n"
171
+ ).
172
+ -spec unwrap(option(FT), FT) -> FT.
173
+ unwrap(Option, Default) ->
174
+ case Option of
175
+ {some, X} ->
176
+ X;
177
+
178
+ none ->
179
+ Default
180
+ end.
181
+
182
+ -file("src/gleam/option.gleam", 179).
183
+ ?DOC(
184
+ " Extracts the value from an `Option`, evaluating the default function if the option is `None`.\n"
185
+ "\n"
186
+ " ## Examples\n"
187
+ "\n"
188
+ " ```gleam\n"
189
+ " lazy_unwrap(Some(1), fn() { 0 })\n"
190
+ " // -> 1\n"
191
+ " ```\n"
192
+ "\n"
193
+ " ```gleam\n"
194
+ " lazy_unwrap(None, fn() { 0 })\n"
195
+ " // -> 0\n"
196
+ " ```\n"
197
+ ).
198
+ -spec lazy_unwrap(option(FV), fun(() -> FV)) -> FV.
199
+ lazy_unwrap(Option, Default) ->
200
+ case Option of
201
+ {some, X} ->
202
+ X;
203
+
204
+ none ->
205
+ Default()
206
+ end.
207
+
208
+ -file("src/gleam/option.gleam", 204).
209
+ ?DOC(
210
+ " Updates a value held within the `Some` of an `Option` by calling a given function\n"
211
+ " on it.\n"
212
+ "\n"
213
+ " If the `Option` is a `None` rather than `Some`, the function is not called and the\n"
214
+ " `Option` stays the same.\n"
215
+ "\n"
216
+ " ## Examples\n"
217
+ "\n"
218
+ " ```gleam\n"
219
+ " map(over: Some(1), with: fn(x) { x + 1 })\n"
220
+ " // -> Some(2)\n"
221
+ " ```\n"
222
+ "\n"
223
+ " ```gleam\n"
224
+ " map(over: None, with: fn(x) { x + 1 })\n"
225
+ " // -> None\n"
226
+ " ```\n"
227
+ ).
228
+ -spec map(option(FX), fun((FX) -> FZ)) -> option(FZ).
229
+ map(Option, Fun) ->
230
+ case Option of
231
+ {some, X} ->
232
+ {some, Fun(X)};
233
+
234
+ none ->
235
+ none
236
+ end.
237
+
238
+ -file("src/gleam/option.gleam", 230).
239
+ ?DOC(
240
+ " Merges a nested `Option` into a single layer.\n"
241
+ "\n"
242
+ " ## Examples\n"
243
+ "\n"
244
+ " ```gleam\n"
245
+ " flatten(Some(Some(1)))\n"
246
+ " // -> Some(1)\n"
247
+ " ```\n"
248
+ "\n"
249
+ " ```gleam\n"
250
+ " flatten(Some(None))\n"
251
+ " // -> None\n"
252
+ " ```\n"
253
+ "\n"
254
+ " ```gleam\n"
255
+ " flatten(None)\n"
256
+ " // -> None\n"
257
+ " ```\n"
258
+ ).
259
+ -spec flatten(option(option(GB))) -> option(GB).
260
+ flatten(Option) ->
261
+ case Option of
262
+ {some, X} ->
263
+ X;
264
+
265
+ none ->
266
+ none
267
+ end.
268
+
269
+ -file("src/gleam/option.gleam", 269).
270
+ ?DOC(
271
+ " Updates a value held within the `Some` of an `Option` by calling a given function\n"
272
+ " on it, where the given function also returns an `Option`. The two options are\n"
273
+ " then merged together into one `Option`.\n"
274
+ "\n"
275
+ " If the `Option` is a `None` rather than `Some` the function is not called and the\n"
276
+ " option stays the same.\n"
277
+ "\n"
278
+ " This function is the equivalent of calling `map` followed by `flatten`, and\n"
279
+ " it is useful for chaining together multiple functions that return `Option`.\n"
280
+ "\n"
281
+ " ## Examples\n"
282
+ "\n"
283
+ " ```gleam\n"
284
+ " then(Some(1), fn(x) { Some(x + 1) })\n"
285
+ " // -> Some(2)\n"
286
+ " ```\n"
287
+ "\n"
288
+ " ```gleam\n"
289
+ " then(Some(1), fn(x) { Some(#(\"a\", x)) })\n"
290
+ " // -> Some(#(\"a\", 1))\n"
291
+ " ```\n"
292
+ "\n"
293
+ " ```gleam\n"
294
+ " then(Some(1), fn(_) { None })\n"
295
+ " // -> None\n"
296
+ " ```\n"
297
+ "\n"
298
+ " ```gleam\n"
299
+ " then(None, fn(x) { Some(x + 1) })\n"
300
+ " // -> None\n"
301
+ " ```\n"
302
+ ).
303
+ -spec then(option(GF), fun((GF) -> option(GH))) -> option(GH).
304
+ then(Option, Fun) ->
305
+ case Option of
306
+ {some, X} ->
307
+ Fun(X);
308
+
309
+ none ->
310
+ none
311
+ end.
312
+
313
+ -file("src/gleam/option.gleam", 300).
314
+ ?DOC(
315
+ " Returns the first value if it is `Some`, otherwise returns the second value.\n"
316
+ "\n"
317
+ " ## Examples\n"
318
+ "\n"
319
+ " ```gleam\n"
320
+ " or(Some(1), Some(2))\n"
321
+ " // -> Some(1)\n"
322
+ " ```\n"
323
+ "\n"
324
+ " ```gleam\n"
325
+ " or(Some(1), None)\n"
326
+ " // -> Some(1)\n"
327
+ " ```\n"
328
+ "\n"
329
+ " ```gleam\n"
330
+ " or(None, Some(2))\n"
331
+ " // -> Some(2)\n"
332
+ " ```\n"
333
+ "\n"
334
+ " ```gleam\n"
335
+ " or(None, None)\n"
336
+ " // -> None\n"
337
+ " ```\n"
338
+ ).
339
+ -spec 'or'(option(GK), option(GK)) -> option(GK).
340
+ 'or'(First, Second) ->
341
+ case First of
342
+ {some, _} ->
343
+ First;
344
+
345
+ none ->
346
+ Second
347
+ end.
348
+
349
+ -file("src/gleam/option.gleam", 331).
350
+ ?DOC(
351
+ " Returns the first value if it is `Some`, otherwise evaluates the given function for a fallback value.\n"
352
+ "\n"
353
+ " ## Examples\n"
354
+ "\n"
355
+ " ```gleam\n"
356
+ " lazy_or(Some(1), fn() { Some(2) })\n"
357
+ " // -> Some(1)\n"
358
+ " ```\n"
359
+ "\n"
360
+ " ```gleam\n"
361
+ " lazy_or(Some(1), fn() { None })\n"
362
+ " // -> Some(1)\n"
363
+ " ```\n"
364
+ "\n"
365
+ " ```gleam\n"
366
+ " lazy_or(None, fn() { Some(2) })\n"
367
+ " // -> Some(2)\n"
368
+ " ```\n"
369
+ "\n"
370
+ " ```gleam\n"
371
+ " lazy_or(None, fn() { None })\n"
372
+ " // -> None\n"
373
+ " ```\n"
374
+ ).
375
+ -spec lazy_or(option(GO), fun(() -> option(GO))) -> option(GO).
376
+ lazy_or(First, Second) ->
377
+ case First of
378
+ {some, _} ->
379
+ First;
380
+
381
+ none ->
382
+ Second()
383
+ end.
384
+
385
+ -file("src/gleam/option.gleam", 352).
386
+ -spec values_loop(list(option(GW)), list(GW)) -> list(GW).
387
+ values_loop(List, Acc) ->
388
+ case List of
389
+ [] ->
390
+ lists:reverse(Acc);
391
+
392
+ [none | Rest] ->
393
+ values_loop(Rest, Acc);
394
+
395
+ [{some, First} | Rest@1] ->
396
+ values_loop(Rest@1, [First | Acc])
397
+ end.
398
+
399
+ -file("src/gleam/option.gleam", 348).
400
+ ?DOC(
401
+ " Given a list of `Option`s,\n"
402
+ " returns only the values inside `Some`.\n"
403
+ "\n"
404
+ " ## Examples\n"
405
+ "\n"
406
+ " ```gleam\n"
407
+ " values([Some(1), None, Some(3)])\n"
408
+ " // -> [1, 3]\n"
409
+ " ```\n"
410
+ ).
411
+ -spec values(list(option(GS))) -> list(GS).
412
+ values(Options) ->
413
+ values_loop(Options, []).
@@ -0,0 +1,200 @@
1
+ -module(gleam@order).
2
+ -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
3
+ -define(FILEPATH, "src/gleam/order.gleam").
4
+ -export([negate/1, to_int/1, compare/2, reverse/1, break_tie/2, lazy_break_tie/2]).
5
+ -export_type([order/0]).
6
+
7
+ -if(?OTP_RELEASE >= 27).
8
+ -define(MODULEDOC(Str), -moduledoc(Str)).
9
+ -define(DOC(Str), -doc(Str)).
10
+ -else.
11
+ -define(MODULEDOC(Str), -compile([])).
12
+ -define(DOC(Str), -compile([])).
13
+ -endif.
14
+
15
+ -type order() :: lt | eq | gt.
16
+
17
+ -file("src/gleam/order.gleam", 35).
18
+ ?DOC(
19
+ " Inverts an order, so less-than becomes greater-than and greater-than\n"
20
+ " becomes less-than.\n"
21
+ "\n"
22
+ " ## Examples\n"
23
+ "\n"
24
+ " ```gleam\n"
25
+ " negate(Lt)\n"
26
+ " // -> Gt\n"
27
+ " ```\n"
28
+ "\n"
29
+ " ```gleam\n"
30
+ " negate(Eq)\n"
31
+ " // -> Eq\n"
32
+ " ```\n"
33
+ "\n"
34
+ " ```gleam\n"
35
+ " negate(Gt)\n"
36
+ " // -> Lt\n"
37
+ " ```\n"
38
+ ).
39
+ -spec negate(order()) -> order().
40
+ negate(Order) ->
41
+ case Order of
42
+ lt ->
43
+ gt;
44
+
45
+ eq ->
46
+ eq;
47
+
48
+ gt ->
49
+ lt
50
+ end.
51
+
52
+ -file("src/gleam/order.gleam", 62).
53
+ ?DOC(
54
+ " Produces a numeric representation of the order.\n"
55
+ "\n"
56
+ " ## Examples\n"
57
+ "\n"
58
+ " ```gleam\n"
59
+ " to_int(Lt)\n"
60
+ " // -> -1\n"
61
+ " ```\n"
62
+ "\n"
63
+ " ```gleam\n"
64
+ " to_int(Eq)\n"
65
+ " // -> 0\n"
66
+ " ```\n"
67
+ "\n"
68
+ " ```gleam\n"
69
+ " to_int(Gt)\n"
70
+ " // -> 1\n"
71
+ " ```\n"
72
+ ).
73
+ -spec to_int(order()) -> integer().
74
+ to_int(Order) ->
75
+ case Order of
76
+ lt ->
77
+ -1;
78
+
79
+ eq ->
80
+ 0;
81
+
82
+ gt ->
83
+ 1
84
+ end.
85
+
86
+ -file("src/gleam/order.gleam", 79).
87
+ ?DOC(
88
+ " Compares two `Order` values to one another, producing a new `Order`.\n"
89
+ "\n"
90
+ " ## Examples\n"
91
+ "\n"
92
+ " ```gleam\n"
93
+ " compare(Eq, with: Lt)\n"
94
+ " // -> Gt\n"
95
+ " ```\n"
96
+ ).
97
+ -spec compare(order(), order()) -> order().
98
+ compare(A, B) ->
99
+ case {A, B} of
100
+ {X, Y} when X =:= Y ->
101
+ eq;
102
+
103
+ {lt, _} ->
104
+ lt;
105
+
106
+ {eq, gt} ->
107
+ lt;
108
+
109
+ {_, _} ->
110
+ gt
111
+ end.
112
+
113
+ -file("src/gleam/order.gleam", 100).
114
+ ?DOC(
115
+ " Inverts an ordering function, so less-than becomes greater-than and greater-than\n"
116
+ " becomes less-than.\n"
117
+ "\n"
118
+ " ## Examples\n"
119
+ "\n"
120
+ " ```gleam\n"
121
+ " import gleam/int\n"
122
+ " import gleam/list\n"
123
+ "\n"
124
+ " list.sort([1, 5, 4], by: reverse(int.compare))\n"
125
+ " // -> [5, 4, 1]\n"
126
+ " ```\n"
127
+ ).
128
+ -spec reverse(fun((I, I) -> order())) -> fun((I, I) -> order()).
129
+ reverse(Orderer) ->
130
+ fun(A, B) -> Orderer(B, A) end.
131
+
132
+ -file("src/gleam/order.gleam", 122).
133
+ ?DOC(
134
+ " Return a fallback `Order` in case the first argument is `Eq`.\n"
135
+ "\n"
136
+ " ## Examples\n"
137
+ "\n"
138
+ " ```gleam\n"
139
+ " import gleam/int\n"
140
+ "\n"
141
+ " break_tie(in: int.compare(1, 1), with: Lt)\n"
142
+ " // -> Lt\n"
143
+ " ```\n"
144
+ "\n"
145
+ " ```gleam\n"
146
+ " import gleam/int\n"
147
+ "\n"
148
+ " break_tie(in: int.compare(1, 0), with: Eq)\n"
149
+ " // -> Gt\n"
150
+ " ```\n"
151
+ ).
152
+ -spec break_tie(order(), order()) -> order().
153
+ break_tie(Order, Other) ->
154
+ case Order of
155
+ lt ->
156
+ Order;
157
+
158
+ gt ->
159
+ Order;
160
+
161
+ eq ->
162
+ Other
163
+ end.
164
+
165
+ -file("src/gleam/order.gleam", 151).
166
+ ?DOC(
167
+ " Invokes a fallback function returning an `Order` in case the first argument\n"
168
+ " is `Eq`.\n"
169
+ "\n"
170
+ " This can be useful when the fallback comparison might be expensive and it\n"
171
+ " needs to be delayed until strictly necessary.\n"
172
+ "\n"
173
+ " ## Examples\n"
174
+ "\n"
175
+ " ```gleam\n"
176
+ " import gleam/int\n"
177
+ "\n"
178
+ " lazy_break_tie(in: int.compare(1, 1), with: fn() { Lt })\n"
179
+ " // -> Lt\n"
180
+ " ```\n"
181
+ "\n"
182
+ " ```gleam\n"
183
+ " import gleam/int\n"
184
+ "\n"
185
+ " lazy_break_tie(in: int.compare(1, 0), with: fn() { Eq })\n"
186
+ " // -> Gt\n"
187
+ " ```\n"
188
+ ).
189
+ -spec lazy_break_tie(order(), fun(() -> order())) -> order().
190
+ lazy_break_tie(Order, Comparison) ->
191
+ case Order of
192
+ lt ->
193
+ Order;
194
+
195
+ gt ->
196
+ Order;
197
+
198
+ eq ->
199
+ Comparison()
200
+ end.
@@ -0,0 +1,110 @@
1
+ -module(gleam@pair).
2
+ -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
3
+ -define(FILEPATH, "src/gleam/pair.gleam").
4
+ -export([first/1, second/1, swap/1, map_first/2, map_second/2, new/2]).
5
+
6
+ -if(?OTP_RELEASE >= 27).
7
+ -define(MODULEDOC(Str), -moduledoc(Str)).
8
+ -define(DOC(Str), -doc(Str)).
9
+ -else.
10
+ -define(MODULEDOC(Str), -compile([])).
11
+ -define(DOC(Str), -compile([])).
12
+ -endif.
13
+
14
+ -file("src/gleam/pair.gleam", 10).
15
+ ?DOC(
16
+ " Returns the first element in a pair.\n"
17
+ "\n"
18
+ " ## Examples\n"
19
+ "\n"
20
+ " ```gleam\n"
21
+ " first(#(1, 2))\n"
22
+ " // -> 1\n"
23
+ " ```\n"
24
+ ).
25
+ -spec first({CMC, any()}) -> CMC.
26
+ first(Pair) ->
27
+ {A, _} = Pair,
28
+ A.
29
+
30
+ -file("src/gleam/pair.gleam", 24).
31
+ ?DOC(
32
+ " Returns the second element in a pair.\n"
33
+ "\n"
34
+ " ## Examples\n"
35
+ "\n"
36
+ " ```gleam\n"
37
+ " second(#(1, 2))\n"
38
+ " // -> 2\n"
39
+ " ```\n"
40
+ ).
41
+ -spec second({any(), CMF}) -> CMF.
42
+ second(Pair) ->
43
+ {_, A} = Pair,
44
+ A.
45
+
46
+ -file("src/gleam/pair.gleam", 38).
47
+ ?DOC(
48
+ " Returns a new pair with the elements swapped.\n"
49
+ "\n"
50
+ " ## Examples\n"
51
+ "\n"
52
+ " ```gleam\n"
53
+ " swap(#(1, 2))\n"
54
+ " // -> #(2, 1)\n"
55
+ " ```\n"
56
+ ).
57
+ -spec swap({CMG, CMH}) -> {CMH, CMG}.
58
+ swap(Pair) ->
59
+ {A, B} = Pair,
60
+ {B, A}.
61
+
62
+ -file("src/gleam/pair.gleam", 53).
63
+ ?DOC(
64
+ " Returns a new pair with the first element having had `with` applied to\n"
65
+ " it.\n"
66
+ "\n"
67
+ " ## Examples\n"
68
+ "\n"
69
+ " ```gleam\n"
70
+ " #(1, 2) |> map_first(fn(n) { n * 2 })\n"
71
+ " // -> #(2, 2)\n"
72
+ " ```\n"
73
+ ).
74
+ -spec map_first({CMI, CMJ}, fun((CMI) -> CMK)) -> {CMK, CMJ}.
75
+ map_first(Pair, Fun) ->
76
+ {A, B} = Pair,
77
+ {Fun(A), B}.
78
+
79
+ -file("src/gleam/pair.gleam", 68).
80
+ ?DOC(
81
+ " Returns a new pair with the second element having had `with` applied to\n"
82
+ " it.\n"
83
+ "\n"
84
+ " ## Examples\n"
85
+ "\n"
86
+ " ```gleam\n"
87
+ " #(1, 2) |> map_second(fn(n) { n * 2 })\n"
88
+ " // -> #(1, 4)\n"
89
+ " ```\n"
90
+ ).
91
+ -spec map_second({CML, CMM}, fun((CMM) -> CMN)) -> {CML, CMN}.
92
+ map_second(Pair, Fun) ->
93
+ {A, B} = Pair,
94
+ {A, Fun(B)}.
95
+
96
+ -file("src/gleam/pair.gleam", 83).
97
+ ?DOC(
98
+ " Returns a new pair with the given elements. This can also be done using the dedicated\n"
99
+ " syntax instead: `new(1, 2) == #(1, 2)`.\n"
100
+ "\n"
101
+ " ## Examples\n"
102
+ "\n"
103
+ " ```gleam\n"
104
+ " new(1, 2)\n"
105
+ " // -> #(1, 2)\n"
106
+ " ```\n"
107
+ ).
108
+ -spec new(CMO, CMP) -> {CMO, CMP}.
109
+ new(First, Second) ->
110
+ {First, Second}.