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,529 @@
1
+ import * as $bool from "../gleam_stdlib/gleam/bool.mjs";
2
+ import * as $list from "../gleam_stdlib/gleam/list.mjs";
3
+ import * as $option from "../gleam_stdlib/gleam/option.mjs";
4
+ import { None, Some } from "../gleam_stdlib/gleam/option.mjs";
5
+ import * as $result from "../gleam_stdlib/gleam/result.mjs";
6
+ import * as $string from "../gleam_stdlib/gleam/string.mjs";
7
+ import { is_windows } from "./filepath_ffi.mjs";
8
+ import { Ok, Error, toList, Empty as $Empty, prepend as listPrepend, isEqual } from "./gleam.mjs";
9
+
10
+ const codepoint_slash = 47;
11
+
12
+ const codepoint_backslash = 92;
13
+
14
+ const codepoint_colon = 58;
15
+
16
+ const codepoint_a = 65;
17
+
18
+ const codepoint_z = 90;
19
+
20
+ const codepoint_a_up = 97;
21
+
22
+ const codepoint_z_up = 122;
23
+
24
+ function relative(loop$path) {
25
+ while (true) {
26
+ let path = loop$path;
27
+ if (path.startsWith("/")) {
28
+ let path$1 = path.slice(1);
29
+ loop$path = path$1;
30
+ } else {
31
+ return path;
32
+ }
33
+ }
34
+ }
35
+
36
+ function remove_trailing_slash(path) {
37
+ let $ = $string.ends_with(path, "/");
38
+ if ($) {
39
+ return $string.drop_end(path, 1);
40
+ } else {
41
+ return path;
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Join two paths together.
47
+ *
48
+ * This function does not expand `..` or `.` segments, use the `expand`
49
+ * function to do this.
50
+ *
51
+ * ## Examples
52
+ *
53
+ * ```gleam
54
+ * join("/usr/local", "bin")
55
+ * // -> "/usr/local/bin"
56
+ * ```
57
+ */
58
+ export function join(left, right) {
59
+ let _block;
60
+ if (right === "/") {
61
+ _block = left;
62
+ } else if (right.startsWith("/")) {
63
+ if (left === "") {
64
+ _block = relative(right);
65
+ } else if (left === "/") {
66
+ _block = right;
67
+ } else {
68
+ let _pipe = remove_trailing_slash(left);
69
+ let _pipe$1 = $string.append(_pipe, "/");
70
+ _block = $string.append(_pipe$1, relative(right));
71
+ }
72
+ } else if (left === "") {
73
+ _block = relative(right);
74
+ } else if (left === "/") {
75
+ _block = left + right;
76
+ } else {
77
+ let _pipe = remove_trailing_slash(left);
78
+ let _pipe$1 = $string.append(_pipe, "/");
79
+ _block = $string.append(_pipe$1, relative(right));
80
+ }
81
+ let _pipe = _block;
82
+ return remove_trailing_slash(_pipe);
83
+ }
84
+
85
+ /**
86
+ * Split a path into its segments, using `/` as the path separator.
87
+ *
88
+ * Typically you would want to use `split` instead of this function, but if you
89
+ * want non-Windows path behaviour on a Windows system then you can use this
90
+ * function.
91
+ *
92
+ * ## Examples
93
+ *
94
+ * ```gleam
95
+ * split("/usr/local/bin", "bin")
96
+ * // -> ["/", "usr", "local", "bin"]
97
+ * ```
98
+ */
99
+ export function split_unix(path) {
100
+ let _block;
101
+ let $ = $string.split(path, "/");
102
+ if ($ instanceof $Empty) {
103
+ _block = $;
104
+ } else {
105
+ let $1 = $.tail;
106
+ if ($1 instanceof $Empty) {
107
+ let $2 = $.head;
108
+ if ($2 === "") {
109
+ _block = toList([]);
110
+ } else {
111
+ _block = $;
112
+ }
113
+ } else {
114
+ let $2 = $.head;
115
+ if ($2 === "") {
116
+ let rest = $1;
117
+ _block = listPrepend("/", rest);
118
+ } else {
119
+ _block = $;
120
+ }
121
+ }
122
+ }
123
+ let _pipe = _block;
124
+ return $list.filter(_pipe, (x) => { return x !== ""; });
125
+ }
126
+
127
+ function get_directory_name(loop$path, loop$acc, loop$segment) {
128
+ while (true) {
129
+ let path = loop$path;
130
+ let acc = loop$acc;
131
+ let segment = loop$segment;
132
+ if (path instanceof $Empty) {
133
+ return acc;
134
+ } else {
135
+ let $ = path.head;
136
+ if ($ === "/") {
137
+ let rest = path.tail;
138
+ loop$path = rest;
139
+ loop$acc = acc + segment;
140
+ loop$segment = "/";
141
+ } else {
142
+ let first = $;
143
+ let rest = path.tail;
144
+ loop$path = rest;
145
+ loop$acc = acc;
146
+ loop$segment = segment + first;
147
+ }
148
+ }
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Get the directory name of a path, that is the path without the file name.
154
+ *
155
+ * ## Examples
156
+ *
157
+ * ```gleam
158
+ * directory_name("/usr/local/bin")
159
+ * // -> "/usr/local"
160
+ * ```
161
+ */
162
+ export function directory_name(path) {
163
+ let path$1 = remove_trailing_slash(path);
164
+ if (path$1.startsWith("/")) {
165
+ let rest = path$1.slice(1);
166
+ return get_directory_name($string.to_graphemes(rest), "/", "");
167
+ } else {
168
+ return get_directory_name($string.to_graphemes(path$1), "", "");
169
+ }
170
+ }
171
+
172
+ /**
173
+ * Check if a path is absolute.
174
+ *
175
+ * ## Examples
176
+ *
177
+ * ```gleam
178
+ * is_absolute("/usr/local/bin")
179
+ * // -> True
180
+ * ```
181
+ *
182
+ * ```gleam
183
+ * is_absolute("usr/local/bin")
184
+ * // -> False
185
+ * ```
186
+ */
187
+ export function is_absolute(path) {
188
+ return $string.starts_with(path, "/");
189
+ }
190
+
191
+ function expand_segments(loop$path, loop$base) {
192
+ while (true) {
193
+ let path = loop$path;
194
+ let base = loop$base;
195
+ if (path instanceof $Empty) {
196
+ return new Ok($string.join($list.reverse(base), "/"));
197
+ } else if (base instanceof $Empty) {
198
+ let $ = path.head;
199
+ if ($ === "..") {
200
+ return new Error(undefined);
201
+ } else if ($ === ".") {
202
+ let path$1 = path.tail;
203
+ loop$path = path$1;
204
+ loop$base = base;
205
+ } else {
206
+ let s = $;
207
+ let path$1 = path.tail;
208
+ loop$path = path$1;
209
+ loop$base = listPrepend(s, base);
210
+ }
211
+ } else {
212
+ let $ = base.tail;
213
+ if ($ instanceof $Empty) {
214
+ let $1 = path.head;
215
+ if ($1 === "..") {
216
+ let $2 = base.head;
217
+ if ($2 === "") {
218
+ return new Error(undefined);
219
+ } else {
220
+ let path$1 = path.tail;
221
+ let base$1 = $;
222
+ loop$path = path$1;
223
+ loop$base = base$1;
224
+ }
225
+ } else if ($1 === ".") {
226
+ let path$1 = path.tail;
227
+ loop$path = path$1;
228
+ loop$base = base;
229
+ } else {
230
+ let s = $1;
231
+ let path$1 = path.tail;
232
+ loop$path = path$1;
233
+ loop$base = listPrepend(s, base);
234
+ }
235
+ } else {
236
+ let $1 = path.head;
237
+ if ($1 === "..") {
238
+ let path$1 = path.tail;
239
+ let base$1 = $;
240
+ loop$path = path$1;
241
+ loop$base = base$1;
242
+ } else if ($1 === ".") {
243
+ let path$1 = path.tail;
244
+ loop$path = path$1;
245
+ loop$base = base;
246
+ } else {
247
+ let s = $1;
248
+ let path$1 = path.tail;
249
+ loop$path = path$1;
250
+ loop$base = listPrepend(s, base);
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+
257
+ function root_slash_to_empty(segments) {
258
+ if (segments instanceof $Empty) {
259
+ return segments;
260
+ } else {
261
+ let $ = segments.head;
262
+ if ($ === "/") {
263
+ let rest = segments.tail;
264
+ return listPrepend("", rest);
265
+ } else {
266
+ return segments;
267
+ }
268
+ }
269
+ }
270
+
271
+ function pop_windows_drive_specifier(path) {
272
+ let start = $string.slice(path, 0, 3);
273
+ let codepoints = $string.to_utf_codepoints(start);
274
+ let $ = $list.map(codepoints, $string.utf_codepoint_to_int);
275
+ if ($ instanceof $Empty) {
276
+ return [new None(), path];
277
+ } else {
278
+ let $1 = $.tail;
279
+ if ($1 instanceof $Empty) {
280
+ return [new None(), path];
281
+ } else {
282
+ let $2 = $1.tail;
283
+ if ($2 instanceof $Empty) {
284
+ return [new None(), path];
285
+ } else {
286
+ let $3 = $2.tail;
287
+ if ($3 instanceof $Empty) {
288
+ let drive = $.head;
289
+ let colon = $1.head;
290
+ let slash = $2.head;
291
+ if (
292
+ (((slash === 47) || (slash === 92)) && (colon === 58)) && (((drive >= 65) && (drive <= 90)) || ((drive >= 97) && (drive <= 122)))
293
+ ) {
294
+ let drive_letter = $string.slice(path, 0, 1);
295
+ let drive$1 = $string.lowercase(drive_letter) + ":/";
296
+ let path$1 = $string.drop_start(path, 3);
297
+ return [new Some(drive$1), path$1];
298
+ } else {
299
+ return [new None(), path];
300
+ }
301
+ } else {
302
+ return [new None(), path];
303
+ }
304
+ }
305
+ }
306
+ }
307
+ }
308
+
309
+ /**
310
+ * Split a path into its segments, using `/` and `\` as the path separators. If
311
+ * there is a drive letter at the start of the path then it is lowercased.
312
+ *
313
+ * Typically you would want to use `split` instead of this function, but if you
314
+ * want Windows path behaviour on a non-Windows system then you can use this
315
+ * function.
316
+ *
317
+ * ## Examples
318
+ *
319
+ * ```gleam
320
+ * split("/usr/local/bin", "bin")
321
+ * // -> ["/", "usr", "local", "bin"]
322
+ * ```
323
+ */
324
+ export function split_windows(path) {
325
+ let $ = pop_windows_drive_specifier(path);
326
+ let drive;
327
+ let path$1;
328
+ drive = $[0];
329
+ path$1 = $[1];
330
+ let _block;
331
+ let _pipe = $string.split(path$1, "/");
332
+ _block = $list.flat_map(
333
+ _pipe,
334
+ (_capture) => { return $string.split(_capture, "\\"); },
335
+ );
336
+ let segments = _block;
337
+ let _block$1;
338
+ if (drive instanceof Some) {
339
+ let drive$1 = drive[0];
340
+ _block$1 = listPrepend(drive$1, segments);
341
+ } else {
342
+ _block$1 = segments;
343
+ }
344
+ let segments$1 = _block$1;
345
+ if (segments$1 instanceof $Empty) {
346
+ return segments$1;
347
+ } else {
348
+ let $1 = segments$1.tail;
349
+ if ($1 instanceof $Empty) {
350
+ let $2 = segments$1.head;
351
+ if ($2 === "") {
352
+ return toList([]);
353
+ } else {
354
+ return segments$1;
355
+ }
356
+ } else {
357
+ let $2 = segments$1.head;
358
+ if ($2 === "") {
359
+ let rest = $1;
360
+ return listPrepend("/", rest);
361
+ } else {
362
+ return segments$1;
363
+ }
364
+ }
365
+ }
366
+ }
367
+
368
+ /**
369
+ * Split a path into its segments.
370
+ *
371
+ * When running on Windows both `/` and `\` are treated as path separators, and
372
+ * if the path starts with a drive letter then the drive letter then it is
373
+ * lowercased.
374
+ *
375
+ * ## Examples
376
+ *
377
+ * ```gleam
378
+ * split("/usr/local/bin", "bin")
379
+ * // -> ["/", "usr", "local", "bin"]
380
+ * ```
381
+ */
382
+ export function split(path) {
383
+ let $ = is_windows();
384
+ if ($) {
385
+ return split_windows(path);
386
+ } else {
387
+ return split_unix(path);
388
+ }
389
+ }
390
+
391
+ /**
392
+ * Get the base name of a path, that is the name of the file without the
393
+ * containing directory.
394
+ *
395
+ * ## Examples
396
+ *
397
+ * ```gleam
398
+ * base_name("/usr/local/bin")
399
+ * // -> "bin"
400
+ * ```
401
+ */
402
+ export function base_name(path) {
403
+ return $bool.guard(
404
+ path === "/",
405
+ "",
406
+ () => {
407
+ let _pipe = path;
408
+ let _pipe$1 = split(_pipe);
409
+ let _pipe$2 = $list.last(_pipe$1);
410
+ return $result.unwrap(_pipe$2, "");
411
+ },
412
+ );
413
+ }
414
+
415
+ /**
416
+ * Get the file extension of a path.
417
+ *
418
+ * ## Examples
419
+ *
420
+ * ```gleam
421
+ * extension("src/main.gleam")
422
+ * // -> Ok("gleam")
423
+ * ```
424
+ *
425
+ * ```gleam
426
+ * extension("package.tar.gz")
427
+ * // -> Ok("gz")
428
+ * ```
429
+ */
430
+ export function extension(path) {
431
+ let file = base_name(path);
432
+ let $ = $string.split(file, ".");
433
+ if ($ instanceof $Empty) {
434
+ return new Error(undefined);
435
+ } else {
436
+ let $1 = $.tail;
437
+ if ($1 instanceof $Empty) {
438
+ let rest = $1;
439
+ return $list.last(rest);
440
+ } else {
441
+ let $2 = $1.tail;
442
+ if ($2 instanceof $Empty) {
443
+ let $3 = $.head;
444
+ if ($3 === "") {
445
+ return new Error(undefined);
446
+ } else {
447
+ let extension$1 = $1.head;
448
+ return new Ok(extension$1);
449
+ }
450
+ } else {
451
+ let rest = $1;
452
+ return $list.last(rest);
453
+ }
454
+ }
455
+ }
456
+ }
457
+
458
+ /**
459
+ * Remove the extension from a file, if it has any.
460
+ *
461
+ * ## Examples
462
+ *
463
+ * ```gleam
464
+ * strip_extension("src/main.gleam")
465
+ * // -> "src/main"
466
+ * ```
467
+ *
468
+ * ```gleam
469
+ * strip_extension("package.tar.gz")
470
+ * // -> "package.tar"
471
+ * ```
472
+ *
473
+ * ```gleam
474
+ * strip_extension("src/gleam")
475
+ * // -> "src/gleam"
476
+ * ```
477
+ */
478
+ export function strip_extension(path) {
479
+ let $ = extension(path);
480
+ if ($ instanceof Ok) {
481
+ let extension$1 = $[0];
482
+ return $string.drop_end(path, $string.length(extension$1) + 1);
483
+ } else {
484
+ return path;
485
+ }
486
+ }
487
+
488
+ /**
489
+ * Expand `..` and `.` segments in a path.
490
+ *
491
+ * If the path has a `..` segment that would go up past the root of the path
492
+ * then an error is returned. This may be useful to example to ensure that a
493
+ * path specified by a user does not go outside of a directory.
494
+ *
495
+ * If the path is absolute then the result will always be absolute.
496
+ *
497
+ * ## Examples
498
+ *
499
+ * ```gleam
500
+ * expand("/usr/local/../bin")
501
+ * // -> Ok("/usr/bin")
502
+ * ```
503
+ *
504
+ * ```gleam
505
+ * expand("/tmp/../..")
506
+ * // -> Error(Nil)
507
+ * ```
508
+ *
509
+ * ```gleam
510
+ * expand("src/../..")
511
+ * // -> Error("..")
512
+ * ```
513
+ */
514
+ export function expand(path) {
515
+ let is_absolute$1 = is_absolute(path);
516
+ let _block;
517
+ let _pipe = path;
518
+ let _pipe$1 = split(_pipe);
519
+ let _pipe$2 = root_slash_to_empty(_pipe$1);
520
+ let _pipe$3 = expand_segments(_pipe$2, toList([]));
521
+ _block = $result.map(_pipe$3, remove_trailing_slash);
522
+ let result = _block;
523
+ let $ = is_absolute$1 && (isEqual(result, new Ok("")));
524
+ if ($) {
525
+ return new Ok("/");
526
+ } else {
527
+ return result;
528
+ }
529
+ }
@@ -0,0 +1,9 @@
1
+ -module(filepath_ffi).
2
+
3
+ -export([is_windows/0]).
4
+
5
+ is_windows() ->
6
+ case os:type() of
7
+ {win32, _} -> true;
8
+ _ -> false
9
+ end.
@@ -0,0 +1,6 @@
1
+ export function is_windows() {
2
+ return (
3
+ globalThis?.process?.platform === "win32" ||
4
+ globalThis?.Deno?.build?.os === "windows"
5
+ );
6
+ }
@@ -0,0 +1 @@
1
+ export * from "../prelude.mjs";