pareto 0.55.0 → 0.57.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 (234) hide show
  1. package/auto.dist/index.d.ts +3 -3
  2. package/auto.dist/index.js +5 -5
  3. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.api.js +1 -1
  4. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.implementation.js +1 -1
  5. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.provided_interface_glossary.d.ts +522 -249
  6. package/auto.dist/public/{cosmos__2__pareto → modules/pareto2typescript}/auto.provided_interface_glossary.js +1 -1
  7. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.provided_interface_glossary.shadow.d.ts +4 -0
  8. package/auto.dist/public/modules/pareto2typescript/auto.provided_interface_glossary.shadow.js +3 -0
  9. package/auto.dist/public/modules/pareto2typescript/implementations/serializeCompilationUnit.alg.js +563 -0
  10. package/auto.dist/public/{cosmos__2__pareto → modules/pareto2typescript}/index.js +1 -1
  11. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/auto.api.d.ts +1 -1
  12. package/auto.dist/public/{cosmos__2__pareto → modules/typescript__naming}/auto.api.js +1 -1
  13. package/auto.dist/public/modules/typescript__naming/auto.implementation.d.ts +2 -0
  14. package/auto.dist/public/modules/typescript__naming/auto.implementation.js +6 -0
  15. package/auto.dist/public/modules/typescript__naming/auto.provided_interface_glossary.d.ts +9 -0
  16. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/auto.provided_interface_glossary.js +1 -1
  17. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/auto.provided_interface_glossary.shadow.d.ts +1 -1
  18. package/auto.dist/public/modules/typescript__naming/auto.provided_interface_glossary.shadow.js +3 -0
  19. package/auto.dist/public/modules/typescript__naming/implementations/createIdentifier.alg.d.ts +2 -0
  20. package/auto.dist/public/modules/typescript__naming/implementations/createIdentifier.alg.js +248 -0
  21. package/auto.dist/public/{pareto__2__typescript → modules/typescript__naming}/index.js +1 -1
  22. package/auto.dist/public/modules/typescript__serialize/auto.api.d.ts +8 -0
  23. package/auto.dist/public/{fountain__pen → modules/typescript__serialize}/auto.api.js +1 -1
  24. package/auto.dist/public/modules/typescript__serialize/auto.implementation.d.ts +4 -0
  25. package/auto.dist/public/modules/typescript__serialize/auto.implementation.js +10 -0
  26. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.d.ts +11 -0
  27. package/auto.dist/public/{pareto__2__typescript → modules/typescript__serialize}/auto.provided_interface_glossary.js +1 -1
  28. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.shadow.d.ts +11 -0
  29. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.shadow.js +3 -0
  30. package/auto.dist/public/modules/typescript__serialize/implementations/createApostrophedString.alg.d.ts +2 -0
  31. package/auto.dist/public/modules/typescript__serialize/implementations/createApostrophedString.alg.js +62 -0
  32. package/auto.dist/public/modules/typescript__serialize/implementations/createBacktickedString.alg.d.ts +2 -0
  33. package/auto.dist/public/modules/typescript__serialize/implementations/createBacktickedString.alg.js +62 -0
  34. package/auto.dist/public/modules/typescript__serialize/implementations/createQuotedString.alg.d.ts +2 -0
  35. package/auto.dist/public/modules/typescript__serialize/implementations/createQuotedString.alg.js +45 -0
  36. package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.d.ts +0 -0
  37. package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.js +20 -0
  38. package/auto.dist/public/{fountain__pen → modules/typescript__serialize}/index.js +1 -1
  39. package/auto.pareto/$.data.ts +8 -13
  40. package/auto.pareto/auto.dependencies/index.ts +6 -4
  41. package/auto.pareto/auto.dependencies/pareto-pure/$.data.ts +60 -0
  42. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/index.ts +7 -0
  43. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/$.data.ts +58 -0
  44. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/api.data.ts +26 -0
  45. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/glossary.data.ts +76 -0
  46. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/array/api.data.ts +21 -0
  47. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/array/glossary.data.ts +60 -0
  48. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/boolean/api.data.ts +21 -0
  49. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/boolean/glossary.data.ts +45 -0
  50. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/build/api.data.ts +25 -0
  51. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/build/glossary.data.ts +133 -0
  52. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/collation/api.data.ts +15 -0
  53. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/collation/glossary.data.ts +34 -0
  54. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/dictionary/api.data.ts +60 -0
  55. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/dictionary/glossary.data.ts +130 -0
  56. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/filesystem/api.data.ts +19 -0
  57. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/filesystem/glossary.data.ts +189 -0
  58. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/foreach/api.data.ts +25 -0
  59. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/foreach/glossary.data.ts +78 -0
  60. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/http/api.data.ts +16 -0
  61. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/http/glossary.data.ts +69 -0
  62. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/json/api.data.ts +16 -0
  63. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/json/glossary.data.ts +51 -0
  64. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/nested/api.data.ts +15 -0
  65. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/nested/glossary.data.ts +29 -0
  66. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/api.data.ts +18 -0
  67. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/glossary.data.ts +40 -0
  68. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/path/api.data.ts +19 -0
  69. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/path/glossary.data.ts +35 -0
  70. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/resolve/api.data.ts +20 -0
  71. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/resolve/glossary.data.ts +84 -0
  72. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/string/api.data.ts +26 -0
  73. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/string/glossary.data.ts +75 -0
  74. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/tostring/api.data.ts +19 -0
  75. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-impure-library/modules/tostring/glossary.data.ts +42 -0
  76. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/$.data.ts +46 -0
  77. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/arithmetic/api.data.ts +19 -0
  78. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/arithmetic/glossary.data.ts +76 -0
  79. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +19 -0
  80. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/array/glossary.data.ts +52 -0
  81. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/boolean/api.data.ts +21 -0
  82. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/boolean/glossary.data.ts +45 -0
  83. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/build/api.data.ts +25 -0
  84. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/build/glossary.data.ts +133 -0
  85. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/dictionary/api.data.ts +49 -0
  86. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/dictionary/glossary.data.ts +119 -0
  87. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/json/api.data.ts +15 -0
  88. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts +47 -0
  89. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +15 -0
  90. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/nested/glossary.data.ts +29 -0
  91. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +15 -0
  92. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +52 -0
  93. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +17 -0
  94. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +39 -0
  95. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/tostring/api.data.ts +19 -0
  96. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/tostring/glossary.data.ts +42 -0
  97. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/res-typescript/$.data.ts +35 -0
  98. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/res-typescript/modules/naming/api.data.ts +15 -0
  99. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/res-typescript/modules/naming/glossary.data.ts +34 -0
  100. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/res-typescript/modules/serialize/api.data.ts +18 -0
  101. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/res-typescript/modules/serialize/glossary.data.ts +42 -0
  102. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.cosmos_type_system.data.ts +19 -12
  103. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.cosmos_typescript.data.ts +122 -0
  104. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.grammar.data.ts +262 -0
  105. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.liana.data.ts +1955 -0
  106. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.pareto.data.ts +430 -259
  107. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.tendril.data.ts +1139 -0
  108. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.tendril_resolved.data.ts +1025 -0
  109. package/auto.pareto/auto.dependencies/pareto-pure/modules/cosmos2pareto/api.data.ts +17 -0
  110. package/auto.pareto/{modules → auto.dependencies/pareto-pure/modules}/cosmos2pareto/glossary.data.ts +6 -14
  111. package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen/api.data.ts +19 -0
  112. package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen/glossary.data.ts +55 -0
  113. package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/api.data.ts +24 -0
  114. package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/glossary.data.ts +48 -0
  115. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2cosmos_type_system/api.data.ts +16 -0
  116. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2cosmos_type_system/glossary.data.ts +73 -0
  117. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2pareto/api.data.ts +16 -0
  118. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2pareto/glossary.data.ts +33 -0
  119. package/auto.pareto/auto.dependencies/pareto-pure/modules/testresult/api.data.ts +26 -0
  120. package/auto.pareto/auto.dependencies/pareto-pure/modules/testresult/glossary.data.ts +144 -0
  121. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/$.data.ts +1 -1
  122. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/api.data.ts +2 -2
  123. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/glossary.data.ts +1 -1
  124. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/array/api.data.ts +2 -2
  125. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/array/glossary.data.ts +1 -1
  126. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/boolean/api.data.ts +2 -2
  127. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/boolean/glossary.data.ts +1 -1
  128. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/build/api.data.ts +2 -2
  129. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/build/glossary.data.ts +1 -1
  130. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/api.data.ts +2 -2
  131. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/glossary.data.ts +1 -1
  132. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/dictionary/api.data.ts +2 -2
  133. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/dictionary/glossary.data.ts +1 -1
  134. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/api.data.ts +2 -2
  135. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/glossary.data.ts +1 -1
  136. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/api.data.ts +2 -2
  137. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/glossary.data.ts +1 -1
  138. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/api.data.ts +2 -2
  139. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/glossary.data.ts +1 -1
  140. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/json/api.data.ts +2 -2
  141. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/json/glossary.data.ts +1 -1
  142. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/nested/api.data.ts +2 -2
  143. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/nested/glossary.data.ts +1 -1
  144. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/api.data.ts +2 -2
  145. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/numerical_predicates/glossary.data.ts +1 -1
  146. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/api.data.ts +2 -2
  147. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/glossary.data.ts +1 -1
  148. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/api.data.ts +2 -2
  149. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/glossary.data.ts +1 -1
  150. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/api.data.ts +2 -2
  151. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/glossary.data.ts +1 -1
  152. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/tostring/api.data.ts +2 -2
  153. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/tostring/glossary.data.ts +1 -1
  154. package/auto.pareto/auto.dependencies/pareto-standard-library/$.data.ts +46 -0
  155. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/arithmetic/api.data.ts +19 -0
  156. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/arithmetic/glossary.data.ts +76 -0
  157. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +19 -0
  158. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/glossary.data.ts +52 -0
  159. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/boolean/api.data.ts +21 -0
  160. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/boolean/glossary.data.ts +45 -0
  161. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/build/api.data.ts +25 -0
  162. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/build/glossary.data.ts +133 -0
  163. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/dictionary/api.data.ts +49 -0
  164. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/dictionary/glossary.data.ts +119 -0
  165. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/api.data.ts +15 -0
  166. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts +47 -0
  167. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +15 -0
  168. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/glossary.data.ts +29 -0
  169. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +15 -0
  170. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +52 -0
  171. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +17 -0
  172. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +39 -0
  173. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/api.data.ts +19 -0
  174. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/glossary.data.ts +42 -0
  175. package/auto.pareto/auto.dependencies/pareto-subatomic-library/$.data.ts +36 -0
  176. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/array/api.data.ts +23 -0
  177. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/array/glossary.data.ts +88 -0
  178. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/dictionary/api.data.ts +27 -0
  179. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/dictionary/glossary.data.ts +82 -0
  180. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/json/api.data.ts +16 -0
  181. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/json/glossary.data.ts +51 -0
  182. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/numerical_predicates/api.data.ts +18 -0
  183. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/numerical_predicates/glossary.data.ts +40 -0
  184. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/string/api.data.ts +42 -0
  185. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/string/glossary.data.ts +109 -0
  186. package/auto.pareto/auto.dependencies/res-typescript/$.data.ts +1 -1
  187. package/auto.pareto/auto.dependencies/res-typescript/modules/naming/api.data.ts +2 -2
  188. package/auto.pareto/auto.dependencies/res-typescript/modules/naming/glossary.data.ts +1 -1
  189. package/auto.pareto/auto.dependencies/res-typescript/modules/serialize/api.data.ts +2 -2
  190. package/auto.pareto/auto.dependencies/res-typescript/modules/serialize/glossary.data.ts +1 -1
  191. package/auto.pareto/modules/pareto2typescript/api.data.ts +11 -14
  192. package/auto.pareto/modules/pareto2typescript/glossary.data.ts +36 -25
  193. package/auto.pareto/modules/typescript_naming/api.data.ts +28 -0
  194. package/auto.pareto/modules/typescript_naming/glossary.data.ts +34 -0
  195. package/auto.pareto/modules/typescript_serialize/api.data.ts +17 -0
  196. package/auto.pareto/modules/typescript_serialize/glossary.data.ts +36 -0
  197. package/package.json +6 -5
  198. package/auto.dist/public/cosmos__2__pareto/auto.api.d.ts +0 -6
  199. package/auto.dist/public/cosmos__2__pareto/auto.implementation.d.ts +0 -2
  200. package/auto.dist/public/cosmos__2__pareto/auto.implementation.js +0 -6
  201. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.d.ts +0 -3045
  202. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.shadow.d.ts +0 -29
  203. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.shadow.js +0 -3
  204. package/auto.dist/public/cosmos__2__pareto/implementations/library2ParetoComparators.alg.d.ts +0 -2
  205. package/auto.dist/public/cosmos__2__pareto/implementations/library2ParetoComparators.alg.js +0 -359
  206. package/auto.dist/public/fountain__pen/auto.implementation.d.ts +0 -2
  207. package/auto.dist/public/fountain__pen/auto.implementation.js +0 -6
  208. package/auto.dist/public/fountain__pen/auto.provided_interface_glossary.d.ts +0 -29
  209. package/auto.dist/public/fountain__pen/auto.provided_interface_glossary.shadow.js +0 -3
  210. package/auto.dist/public/fountain__pen/implementations/serialize.alg.d.ts +0 -2
  211. package/auto.dist/public/fountain__pen/implementations/serialize.alg.js +0 -98
  212. package/auto.dist/public/glossaries/cosmos__type__system.d.ts +0 -1760
  213. package/auto.dist/public/glossaries/cosmos__type__system.js +0 -3
  214. package/auto.dist/public/glossaries/cosmos__type__system.shadow.d.ts +0 -8
  215. package/auto.dist/public/glossaries/cosmos__type__system.shadow.js +0 -3
  216. package/auto.dist/public/glossaries/pareto.d.ts +0 -1267
  217. package/auto.dist/public/glossaries/pareto.js +0 -3
  218. package/auto.dist/public/glossaries/pareto.shadow.d.ts +0 -8
  219. package/auto.dist/public/glossaries/pareto.shadow.js +0 -3
  220. package/auto.dist/public/pareto__2__typescript/auto.provided_interface_glossary.shadow.js +0 -3
  221. package/auto.dist/public/pareto__2__typescript/implementations/serializeCompilationUnit.alg.js +0 -510
  222. package/auto.dist/public/shorthands/cosmos.d.ts +0 -50
  223. package/auto.dist/public/shorthands/cosmos.js +0 -512
  224. package/auto.dist/public/shorthands/pareto.d.ts +0 -48
  225. package/auto.dist/public/shorthands/pareto.js +0 -241
  226. package/auto.pareto/modules/cosmos2pareto/api.data.ts +0 -18
  227. package/auto.pareto/modules/fountain_pen/api.data.ts +0 -17
  228. package/auto.pareto/modules/fountain_pen/glossary.data.ts +0 -32
  229. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.api.d.ts +0 -0
  230. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.implementation.d.ts +0 -0
  231. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/implementations/serializeCompilationUnit.alg.d.ts +0 -0
  232. /package/auto.dist/public/{cosmos__2__pareto → modules/pareto2typescript}/index.d.ts +0 -0
  233. /package/auto.dist/public/{fountain__pen → modules/typescript__naming}/index.d.ts +0 -0
  234. /package/auto.dist/public/{pareto__2__typescript → modules/typescript__serialize}/index.d.ts +0 -0
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3NhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2Nvc21vc19fMl9fcGFyZXRvL2F1dG8ucHJvdmlkZWRfaW50ZXJmYWNlX2dsb3NzYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3NhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL21vZHVsZXMvcGFyZXRvMnR5cGVzY3JpcHQvYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3NhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -8,11 +8,15 @@ export declare namespace I {
8
8
  export declare namespace IMP {
9
9
  namespace fp {
10
10
  namespace A {
11
+ type Indent = ($: null) => null;
11
12
  type Serialize = ($: null) => null;
13
+ type Stream = ($: null) => null;
12
14
  }
13
15
  namespace D {
14
16
  }
15
17
  namespace I {
18
+ type Indented__Lines = null;
19
+ type Lines = null;
16
20
  }
17
21
  namespace IMP {
18
22
  }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3Nhcnkuc2hhZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9tb2R1bGVzL3BhcmV0bzJ0eXBlc2NyaXB0L2F1dG8ucHJvdmlkZWRfaW50ZXJmYWNlX2dsb3NzYXJ5LnNoYWRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,563 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.$$ = void 0;
37
+ const pa = __importStar(require("pareto-core-alg"));
38
+ const pd = __importStar(require("pareto-core-dev"));
39
+ const g_fp = __importStar(require("pareto-pure/auto.dist/public/modules/fountain__pen"));
40
+ const a_psl = __importStar(require("pareto-standard-library"));
41
+ const a_psub = __importStar(require("pareto-subatomic-library"));
42
+ const a_ts_serialize = __importStar(require("../../typescript__serialize"));
43
+ const a_ts_naming = __importStar(require("../../typescript__naming"));
44
+ const $$ = () => {
45
+ const serializeFP = g_fp.serialize(null, null);
46
+ const indentx = g_fp.indent(null, null);
47
+ const decorateWithKeys = a_psl.dictionary.decorateDictionaryEntriesWithKey(null, null);
48
+ const flatten = a_psl.nested.flatten(null, null);
49
+ const append = a_psl.array.append(null, null);
50
+ const isEmpty = a_psub.dictionary.isEmpty(null, null);
51
+ const createTypeIdentifier = a_ts_naming.createIdentifier(null, null);
52
+ const createSymbolIdentifier = a_ts_naming.createIdentifier(null, null);
53
+ const createNamespaceIdentifier = a_ts_naming.createIdentifier(null, null);
54
+ const createBacktickedString = a_ts_serialize.createBacktickedString(null, null);
55
+ const createApostrophedString = a_ts_serialize.createApostrophedString(null, null);
56
+ const createQuotedString = a_ts_serialize.createQuotedString(null, null);
57
+ const enrich = a_psub.array.enrichWithPositionInformation(null, null);
58
+ // function enrich<T>($: pt.Dictionary<T>): pt.Dictionary<EnrichedEntry<T>> {
59
+ // const out: { [key: string]: EnrichedEntry<T> } = {}
60
+ // edfe($, {
61
+ // 'onEmpty': () => {
62
+ // },
63
+ // 'onNotEmpty': ($c) => {
64
+ // $c(($) => {
65
+ // out[$.key] = $
66
+ // })
67
+ // }
68
+ // })
69
+ // return pa.wrapRawDictionary(out)
70
+ // }
71
+ function reduceDictionary($, seed, cb) {
72
+ let intermediate = seed;
73
+ $.__forEach((a, b) => a < b, ($) => {
74
+ intermediate = cb($, intermediate);
75
+ });
76
+ return intermediate;
77
+ }
78
+ function toArray($) {
79
+ //FIXME ordering
80
+ return $.__reduce((a, b) => a.key < b.key ? -1 : a.key < b.key ? 1 : 0, pa.emptyArray(), ($, current) => append({ 'array': current, 'element': $ }));
81
+ }
82
+ function multiple($) {
83
+ return ['multiple', pa.wrapRawArray($)];
84
+ }
85
+ function nothing() {
86
+ return ['none', null];
87
+ }
88
+ function dictionary($) {
89
+ return ['multiple', toArray($)];
90
+ }
91
+ function array($) {
92
+ return ['multiple', $];
93
+ }
94
+ function nestedLine($) {
95
+ return ['single', ['nested line', flatten(multiple($))]];
96
+ }
97
+ function indent($) {
98
+ return ['single', ['indent', flatten(multiple($))]];
99
+ }
100
+ function snippet($) {
101
+ return ['single', ['snippet', $]];
102
+ }
103
+ function line($) {
104
+ return ['single', ['line', $]];
105
+ }
106
+ return ($) => {
107
+ return pa.cc($['compilation unit'], ($) => {
108
+ function Compilation__Unit($) {
109
+ return multiple([
110
+ line(`import * as _T from 'pareto-core-types'`),
111
+ line(`import * as _A from 'pareto-core-alg'`),
112
+ line(`import * as _D from 'pareto-core-dev'`),
113
+ line(``),
114
+ dictionary(decorateWithKeys($.imports).map(($) => line(`import * as _I_${createTypeIdentifier($.key)} from ${createQuotedString($.value.path)}`))),
115
+ isEmpty($.imports) ? nothing() : line(``),
116
+ Namespace($['root namespace']),
117
+ line(``),
118
+ ]);
119
+ }
120
+ function Namespace($) {
121
+ return multiple([
122
+ dictionary(decorateWithKeys($.namespaces).map(($) => multiple([
123
+ line(``),
124
+ nestedLine([
125
+ snippet(`export namespace ${createNamespaceIdentifier($.key)} {`),
126
+ indent([
127
+ Namespace($.value)
128
+ ]),
129
+ snippet(`}`),
130
+ ]),
131
+ ]))),
132
+ dictionary(decorateWithKeys($.types).map(($) => multiple([
133
+ line(``),
134
+ nestedLine([
135
+ snippet(`export type ${createTypeIdentifier($.key)}`),
136
+ Type__Parameters($.value['type parameters']),
137
+ snippet(` = `),
138
+ Type($.value.type)
139
+ ])
140
+ ]))),
141
+ Variables($.variables, { 'is global': true }),
142
+ ]);
143
+ }
144
+ function Variables($, $p) {
145
+ return multiple([
146
+ dictionary(decorateWithKeys($).map(($) => multiple([
147
+ line(``),
148
+ nestedLine([
149
+ snippet(`${$p['is global'] ? `export ` : ``}const $v_${createSymbolIdentifier($.key)} = `),
150
+ Expression($.value.expression),
151
+ ])
152
+ ]))),
153
+ ]);
154
+ }
155
+ function Type__Arguments($) {
156
+ return isEmpty($)
157
+ ? nothing()
158
+ : multiple([
159
+ snippet(`<`),
160
+ array(enrich(toArray($)).map(($) => multiple([
161
+ Type($.value),
162
+ snippet(`${$.isLast ? `` : `, `}`)
163
+ ]))),
164
+ snippet(`>`),
165
+ ]);
166
+ }
167
+ function Type__Parameters($) {
168
+ return isEmpty($)
169
+ ? nothing()
170
+ : multiple([
171
+ snippet(`<`),
172
+ dictionary(decorateWithKeys($).map(($) => snippet(`_P_${createTypeIdentifier($.key)}, `))),
173
+ snippet(`>`)
174
+ ]);
175
+ }
176
+ function Function__Signature($, $p) {
177
+ return multiple([
178
+ Type__Parameters($['type parameters']),
179
+ snippet(`(`),
180
+ indent([
181
+ nestedLine([
182
+ snippet(`$: `),
183
+ Type($['context parameter']),
184
+ snippet(`,`)
185
+ ]),
186
+ isEmpty($.parameters)
187
+ ? nothing()
188
+ : multiple([
189
+ nestedLine([
190
+ snippet(`$p: {`),
191
+ indent([
192
+ dictionary(decorateWithKeys($['parameters']).map(($) => nestedLine([
193
+ snippet(`${createApostrophedString($.key)}: `),
194
+ Type($.value)
195
+ ]))),
196
+ ]),
197
+ snippet(`}`)
198
+ ]),
199
+ ]),
200
+ ]),
201
+ snippet(`)${$p['return type token']} `),
202
+ $['return type'].map(($) => Type($), () => snippet(`void`))
203
+ ]);
204
+ }
205
+ function Type($) {
206
+ switch ($[0]) {
207
+ case 'array': return pa.ss($, ($) => multiple([
208
+ snippet(`_T.Array<`),
209
+ Type($),
210
+ snippet(`>`)
211
+ ]));
212
+ case 'boolean': return pa.ss($, ($) => snippet(`boolean`));
213
+ case 'dictionary': return pa.ss($, ($) => multiple([
214
+ snippet(`_T.Dictionary<`),
215
+ Type($),
216
+ snippet(`>`)
217
+ ]));
218
+ case 'group': return pa.ss($, ($) => isEmpty($.members)
219
+ ? snippet(`null`) //for improved type checking (an empty object has strange effects, it is accepted as anything)
220
+ : multiple([
221
+ snippet(`{`),
222
+ indent([
223
+ dictionary(decorateWithKeys($.members).map(($) => nestedLine([
224
+ snippet(`${createApostrophedString($.key)}: `),
225
+ Type($.value),
226
+ ])))
227
+ ]),
228
+ snippet(`}`),
229
+ ]));
230
+ case 'function': return pa.ss($, ($) => Function__Signature($, { 'return type token': ` =>` }));
231
+ case 'null': return pa.ss($, ($) => snippet(`null`));
232
+ case 'number': return pa.ss($, ($) => snippet(`number`));
233
+ case 'optional': return pa.ss($, ($) => multiple([
234
+ snippet(`_T.OptionalValue<`),
235
+ Type($),
236
+ snippet(`>`)
237
+ ]));
238
+ case 'parameter selection': return pa.ss($, ($) => snippet(`_P_${createTypeIdentifier($)}`));
239
+ case 'string': return pa.ss($, ($) => snippet(`string`));
240
+ case 'tagged union': return pa.ss($, ($) => multiple([
241
+ indent([
242
+ dictionary(decorateWithKeys($).map(($) => nestedLine([
243
+ snippet(`| [ ${createApostrophedString($.key)}, `),
244
+ Type($.value),
245
+ snippet(`]`)
246
+ ])))
247
+ ])
248
+ ]));
249
+ case 'type selection': return pa.ss($, ($) => multiple([
250
+ $.import.map(($) => snippet(`_I_${createTypeIdentifier($)}.`), () => nothing()),
251
+ array($['namespace path'].map(($) => snippet(`${createTypeIdentifier($)}.`))),
252
+ snippet(`${createTypeIdentifier($.type)}`),
253
+ Type__Arguments($['type arguments']),
254
+ ]));
255
+ default: return pa.au($[0]);
256
+ }
257
+ }
258
+ function Statement__Block($) {
259
+ return multiple([
260
+ snippet(`{`),
261
+ indent([
262
+ Naked_Statement__Block($)
263
+ ]),
264
+ snippet(`}`),
265
+ ]);
266
+ }
267
+ /**
268
+ *
269
+ * this function produces a block that is not wrapped in curly braces
270
+ */
271
+ function Naked_Statement__Block($) {
272
+ return multiple([
273
+ Variables($.variables, { 'is global': false }),
274
+ array($.statements.map(($) => nestedLine([
275
+ snippet(``),
276
+ pa.cc($, ($) => {
277
+ switch ($[0]) {
278
+ case 'assignment': return pa.ss($, ($) => multiple([
279
+ Expression($.selection),
280
+ snippet(` = `),
281
+ Expression($.expression),
282
+ ]));
283
+ case 'change context': return pa.ss($, ($) => multiple([
284
+ snippet(`_A.cc(`),
285
+ Expression($['new context selection']),
286
+ snippet(`, ($) => `),
287
+ Statement__Block($['sub statement block']),
288
+ snippet(`)`)
289
+ ]));
290
+ case 'debug': return pa.ss($, ($) => snippet(`_D.logDebugMessage(${createBacktickedString($)})`));
291
+ case 'expression': return pa.ss($, ($) => Expression($));
292
+ case 'if': return pa.ss($, ($) => multiple([
293
+ snippet(`if (`),
294
+ Expression($.condition),
295
+ snippet(`) `),
296
+ Statement__Block($['if block']),
297
+ $.else.map(($) => multiple([
298
+ snippet(` else `),
299
+ Statement__Block($)
300
+ ]), () => nothing())
301
+ ]));
302
+ case 'return': return pa.ss($, ($) => multiple([
303
+ snippet(`return `),
304
+ Expression($.expression),
305
+ ]));
306
+ case 'sub block': return pa.ss($, ($) => Statement__Block($));
307
+ case 'switch': return pa.ss($, ($) => {
308
+ const select = $.select;
309
+ return multiple([
310
+ snippet(`switch (`),
311
+ Expression($.select),
312
+ snippet(`[0]) {`),
313
+ indent([
314
+ dictionary(decorateWithKeys($.cases).map(($) => nestedLine([
315
+ snippet(`case ${createApostrophedString($.key)}: {`),
316
+ indent([
317
+ nestedLine([
318
+ snippet(`_A.ss(`),
319
+ Expression(select),
320
+ snippet(`, ($) => `),
321
+ Statement__Block($.value),
322
+ snippet(`)`),
323
+ ]),
324
+ line(`break`)
325
+ ]),
326
+ snippet(`}`)
327
+ ]))),
328
+ nestedLine([
329
+ snippet(`default: `),
330
+ $.default.map(($) => Statement__Block($), () => multiple([
331
+ snippet(`_A.au(`),
332
+ Expression($.select),
333
+ snippet(`[0])`)
334
+ ]))
335
+ ])
336
+ ]),
337
+ snippet(`}`)
338
+ ]);
339
+ });
340
+ default: return pa.au($[0]);
341
+ }
342
+ })
343
+ ]))),
344
+ ]);
345
+ }
346
+ function Expression($) {
347
+ switch ($[0]) {
348
+ case 'flow': return pa.ss($, ($) => pa.cc($, ($) => {
349
+ switch ($[0]) {
350
+ case 'block': return pa.ss($, ($) => multiple([
351
+ snippet(`_A.cc($, ($) => `), //FIXME this should be a _A.block(...)
352
+ Statement__Block($),
353
+ snippet(`)`)
354
+ ]));
355
+ case 'change context': return pa.ss($, ($) => multiple([
356
+ snippet(`_A.cc(`),
357
+ Expression($['new context selection']),
358
+ snippet(`, ($) => `),
359
+ Expression($['sub expression']),
360
+ snippet(`)`)
361
+ ]));
362
+ case 'implement me': return pa.ss($, ($) => snippet(`_D.implementMe(${createBacktickedString($)})`));
363
+ case 'panic': return pa.ss($, ($) => snippet(`_A.panic(${createBacktickedString($)})`));
364
+ default: return pa.au($[0]);
365
+ }
366
+ }));
367
+ case 'literal': return pa.ss($, ($) => pa.cc($, ($) => {
368
+ switch ($[0]) {
369
+ case 'array': return pa.ss($, ($) => multiple([
370
+ snippet(`_A.wrapRawArray([`),
371
+ indent([
372
+ array($.map(($) => multiple([
373
+ nestedLine([
374
+ Expression($),
375
+ snippet(`,`)
376
+ ]),
377
+ ])))
378
+ ]),
379
+ snippet(`])`)
380
+ ]));
381
+ case 'boolean': return pa.ss($, ($) => pa.cc($, ($) => {
382
+ switch ($[0]) {
383
+ case 'false': return pa.ss($, ($) => snippet(`false`));
384
+ case 'true': return pa.ss($, ($) => snippet(`true`));
385
+ default: return pa.au($[0]);
386
+ }
387
+ }));
388
+ case 'dictionary': return pa.ss($, ($) => multiple([
389
+ snippet(`_A.wrapRawDictionary({`),
390
+ indent([
391
+ dictionary(decorateWithKeys($).map(($) => multiple([
392
+ nestedLine([
393
+ snippet(`${createQuotedString($.key)}: `),
394
+ Expression($.value),
395
+ snippet(`,`)
396
+ ]),
397
+ ])))
398
+ ]),
399
+ snippet(`})`)
400
+ ]));
401
+ case 'function': return pa.ss($, ($) => multiple([
402
+ pa.cc($['temp signature help'], ($) => {
403
+ switch ($[0]) {
404
+ case 'has additional parameters': return pa.ss($, ($) => snippet(`($, $p)`));
405
+ case 'has no additional parameters': return pa.ss($, ($) => snippet(`($)`));
406
+ case 'typed': return pa.ss($, ($) => Function__Signature($, { 'return type token': `:` }));
407
+ default: return pa.au($[0]);
408
+ }
409
+ }),
410
+ snippet(` => `),
411
+ Statement__Block($.block),
412
+ ]));
413
+ case 'group': return pa.ss($, ($) => multiple([
414
+ snippet(`{`),
415
+ indent([
416
+ dictionary(decorateWithKeys($).map(($) => multiple([
417
+ nestedLine([
418
+ snippet(`${createApostrophedString($.key)}: `),
419
+ Expression($.value),
420
+ snippet(`,`)
421
+ ]),
422
+ ])))
423
+ ]),
424
+ snippet(`}`)
425
+ ]));
426
+ case 'null': return pa.ss($, ($) => snippet(`null`));
427
+ case 'number': return pa.ss($, ($) => snippet(`${$}`));
428
+ case 'optional': return pa.ss($, ($) => pa.cc($, ($) => {
429
+ switch ($[0]) {
430
+ case 'not set': return pa.ss($, ($) => snippet(`_A.notSet()`));
431
+ case 'set': return pa.ss($, ($) => multiple([
432
+ snippet(`_A.set(`),
433
+ Expression($),
434
+ snippet(`)`),
435
+ ]));
436
+ default: return pa.au($[0]);
437
+ }
438
+ }));
439
+ case 'tagged union': return pa.ss($, ($) => multiple([
440
+ snippet(`[${createApostrophedString($.state)}, `),
441
+ Expression($.data),
442
+ snippet(`]`)
443
+ ]));
444
+ case 'string': return pa.ss($, ($) => snippet(`${createQuotedString($)}`));
445
+ default: return pa.au($[0]);
446
+ }
447
+ }));
448
+ case 'map': return pa.ss($, ($) => pa.cc($, ($) => {
449
+ const $v_selection = $.selection;
450
+ return multiple([
451
+ pa.cc($.type, ($) => {
452
+ switch ($[0]) {
453
+ case 'array': return pa.ss($, ($) => pd.implementMe(`ARRAY`));
454
+ case 'boolean': return pa.ss($, ($) => multiple([]));
455
+ case 'dictionary': return pa.ss($, ($) => pd.implementMe(`DICTIONARY`));
456
+ case 'optional': return pa.ss($, ($) => pd.implementMe(`OPTIONAL`));
457
+ case 'tagged union': return pa.ss($, ($) => {
458
+ return multiple([
459
+ snippet(`_A.cc($, ($) => {`), //FIXME this should be a _A.block(...)
460
+ indent([
461
+ nestedLine([
462
+ snippet(`switch (`),
463
+ Expression($v_selection),
464
+ snippet(`[0]) {`),
465
+ indent([
466
+ dictionary(decorateWithKeys($.cases).map(($) => nestedLine([
467
+ snippet(`case ${createApostrophedString($.key)}: return _A.ss(`),
468
+ Expression($v_selection),
469
+ snippet(`, ($) => `),
470
+ Expression($.value),
471
+ snippet(`)`),
472
+ ]))),
473
+ nestedLine([
474
+ snippet(`default: return `),
475
+ $.default.map(($) => Expression($), () => multiple([
476
+ snippet(`_A.au(`),
477
+ Expression($v_selection),
478
+ snippet(`[0])`)
479
+ ]))
480
+ ])
481
+ ]),
482
+ snippet(`}`)
483
+ ])
484
+ ]),
485
+ snippet(`})`),
486
+ ]);
487
+ });
488
+ default: return pa.au($[0]);
489
+ }
490
+ })
491
+ ]);
492
+ }));
493
+ case 'reduce': return pa.ss($, ($) => multiple([
494
+ Expression($.selection),
495
+ snippet(`.reduce(`),
496
+ indent([
497
+ nestedLine([
498
+ Expression($.initial),
499
+ snippet(`,`)
500
+ ]),
501
+ nestedLine([
502
+ Expression($.callback),
503
+ ])
504
+ ]),
505
+ snippet(`)`)
506
+ ]));
507
+ case 'selection': return pa.ss($, ($) => multiple([
508
+ pa.cc($.start, ($) => {
509
+ switch ($[0]) {
510
+ case 'context': return pa.ss($, ($) => snippet(`$`));
511
+ case 'parameter': return pa.ss($, ($) => snippet(`$p[${createApostrophedString($)}]`));
512
+ case 'seed': return pa.ss($, ($) => snippet(`seed`));
513
+ case 'variable': return pa.ss($, ($) => multiple([
514
+ $.import.map(($) => snippet(`_I_${createTypeIdentifier($)}.`), () => nothing()),
515
+ array($['namespace path'].map(($) => snippet(`${createTypeIdentifier($)}.`))),
516
+ snippet(`$v_${createSymbolIdentifier($.variable)}`)
517
+ ]));
518
+ default: return pa.au($[0]);
519
+ }
520
+ }),
521
+ array($.tail.map(($) => pa.cc($, ($) => {
522
+ switch ($[0]) {
523
+ case 'call': return pa.ss($, ($) => multiple([
524
+ Type__Arguments($['type arguments']),
525
+ snippet(`(`),
526
+ indent([
527
+ nestedLine([
528
+ Expression($.context),
529
+ snippet(`, `)
530
+ ]),
531
+ isEmpty($.arguments)
532
+ ? nothing()
533
+ : nestedLine([
534
+ snippet(`{`),
535
+ indent([
536
+ dictionary(decorateWithKeys($.arguments).map(($) => nestedLine([
537
+ snippet(`${createApostrophedString($.key)}: `),
538
+ Expression($.value),
539
+ snippet(`,`)
540
+ ])))
541
+ ]),
542
+ snippet(`}`)
543
+ ])
544
+ ]),
545
+ snippet(`)`),
546
+ ]));
547
+ case 'member selection': return pa.ss($, ($) => snippet(`[${createApostrophedString($)}]`));
548
+ default: return pa.au($[0]);
549
+ }
550
+ })))
551
+ ]));
552
+ default: return pa.au($[0]);
553
+ }
554
+ }
555
+ return indentx({
556
+ 'lines': serializeFP(flatten(Compilation__Unit($))),
557
+ 'indentation': ` `
558
+ });
559
+ });
560
+ };
561
+ };
562
+ exports.$$ = $$;
563
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplQ29tcGlsYXRpb25Vbml0LmFsZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvbW9kdWxlcy9wYXJldG8ydHlwZXNjcmlwdC9pbXBsZW1lbnRhdGlvbnMvc2VyaWFsaXplQ29tcGlsYXRpb25Vbml0LmFsZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBcUM7QUFFckMsb0RBQXFDO0FBSXJDLHlGQUEwRTtBQUUxRSwrREFBZ0Q7QUFDaEQsaUVBQWtEO0FBQ2xELDRFQUE2RDtBQUM3RCxzRUFBdUQ7QUFNaEQsTUFBTSxFQUFFLEdBQWlDLEdBQUcsRUFBRTtJQUVqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUV2QyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNoRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3JELE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRSxNQUFNLHNCQUFzQixHQUFHLFdB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