@soundscript/soundscript 0.1.12 → 0.1.15

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 (441) hide show
  1. package/package.json +15 -6
  2. package/project-transform/index.js +2 -0
  3. package/project-transform/index.ts +8 -0
  4. package/project-transform/src/annotation_syntax.js +948 -0
  5. package/project-transform/src/annotation_syntax.ts +1217 -0
  6. package/project-transform/src/build_package.js +475 -0
  7. package/project-transform/src/build_package.ts +683 -0
  8. package/project-transform/src/bundled/portable-web-globals.d.ts +153 -0
  9. package/project-transform/src/bundled/runtime_externs.js +220 -0
  10. package/project-transform/src/bundled/runtime_externs.ts +237 -0
  11. package/project-transform/src/bundled/sound-libs/lib.decorators.d.ts +385 -0
  12. package/project-transform/src/bundled/sound-libs/lib.decorators.legacy.d.ts +22 -0
  13. package/project-transform/src/bundled/sound-libs/lib.dom.asynciterable.d.ts +42 -0
  14. package/project-transform/src/bundled/sound-libs/lib.dom.d.ts +39440 -0
  15. package/project-transform/src/bundled/sound-libs/lib.es2015.collection.d.ts +149 -0
  16. package/project-transform/src/bundled/sound-libs/lib.es2015.core.d.ts +657 -0
  17. package/project-transform/src/bundled/sound-libs/lib.es2015.d.ts +28 -0
  18. package/project-transform/src/bundled/sound-libs/lib.es2015.generator.d.ts +77 -0
  19. package/project-transform/src/bundled/sound-libs/lib.es2015.iterable.d.ts +616 -0
  20. package/project-transform/src/bundled/sound-libs/lib.es2015.promise.d.ts +80 -0
  21. package/project-transform/src/bundled/sound-libs/lib.es2015.proxy.d.ts +128 -0
  22. package/project-transform/src/bundled/sound-libs/lib.es2015.reflect.d.ts +144 -0
  23. package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.d.ts +46 -0
  24. package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.wellknown.d.ts +170 -0
  25. package/project-transform/src/bundled/sound-libs/lib.es2016.array.include.d.ts +116 -0
  26. package/project-transform/src/bundled/sound-libs/lib.es2016.d.ts +21 -0
  27. package/project-transform/src/bundled/sound-libs/lib.es2017.arraybuffer.d.ts +21 -0
  28. package/project-transform/src/bundled/sound-libs/lib.es2017.d.ts +26 -0
  29. package/project-transform/src/bundled/sound-libs/lib.es2017.date.d.ts +31 -0
  30. package/project-transform/src/bundled/sound-libs/lib.es2017.object.d.ts +49 -0
  31. package/project-transform/src/bundled/sound-libs/lib.es2017.string.d.ts +45 -0
  32. package/project-transform/src/bundled/sound-libs/lib.es2017.typedarrays.d.ts +53 -0
  33. package/project-transform/src/bundled/sound-libs/lib.es2018.asyncgenerator.d.ts +77 -0
  34. package/project-transform/src/bundled/sound-libs/lib.es2018.asynciterable.d.ts +57 -0
  35. package/project-transform/src/bundled/sound-libs/lib.es2018.d.ts +24 -0
  36. package/project-transform/src/bundled/sound-libs/lib.es2018.promise.d.ts +30 -0
  37. package/project-transform/src/bundled/sound-libs/lib.es2018.regexp.d.ts +37 -0
  38. package/project-transform/src/bundled/sound-libs/lib.es2019.array.d.ts +79 -0
  39. package/project-transform/src/bundled/sound-libs/lib.es2019.d.ts +24 -0
  40. package/project-transform/src/bundled/sound-libs/lib.es2019.object.d.ts +47 -0
  41. package/project-transform/src/bundled/sound-libs/lib.es2019.string.d.ts +37 -0
  42. package/project-transform/src/bundled/sound-libs/lib.es2019.symbol.d.ts +24 -0
  43. package/project-transform/src/bundled/sound-libs/lib.es2020.bigint.d.ts +765 -0
  44. package/project-transform/src/bundled/sound-libs/lib.es2020.d.ts +27 -0
  45. package/project-transform/src/bundled/sound-libs/lib.es2020.date.d.ts +42 -0
  46. package/project-transform/src/bundled/sound-libs/lib.es2020.number.d.ts +28 -0
  47. package/project-transform/src/bundled/sound-libs/lib.es2020.promise.d.ts +49 -0
  48. package/project-transform/src/bundled/sound-libs/lib.es2020.string.d.ts +44 -0
  49. package/project-transform/src/bundled/sound-libs/lib.es2020.symbol.wellknown.d.ts +41 -0
  50. package/project-transform/src/bundled/sound-libs/lib.es2021.d.ts +23 -0
  51. package/project-transform/src/bundled/sound-libs/lib.es2021.promise.d.ts +48 -0
  52. package/project-transform/src/bundled/sound-libs/lib.es2021.string.d.ts +33 -0
  53. package/project-transform/src/bundled/sound-libs/lib.es2021.weakref.d.ts +78 -0
  54. package/project-transform/src/bundled/sound-libs/lib.es2022.array.d.ts +121 -0
  55. package/project-transform/src/bundled/sound-libs/lib.es2022.d.ts +25 -0
  56. package/project-transform/src/bundled/sound-libs/lib.es2022.error.d.ts +75 -0
  57. package/project-transform/src/bundled/sound-libs/lib.es2022.object.d.ts +26 -0
  58. package/project-transform/src/bundled/sound-libs/lib.es2022.regexp.d.ts +39 -0
  59. package/project-transform/src/bundled/sound-libs/lib.es2022.string.d.ts +25 -0
  60. package/project-transform/src/bundled/sound-libs/lib.es2023.array.d.ts +924 -0
  61. package/project-transform/src/bundled/sound-libs/lib.es2023.collection.d.ts +21 -0
  62. package/project-transform/src/bundled/sound-libs/lib.es2023.d.ts +22 -0
  63. package/project-transform/src/bundled/sound-libs/lib.es2024.arraybuffer.d.ts +65 -0
  64. package/project-transform/src/bundled/sound-libs/lib.es2024.collection.d.ts +29 -0
  65. package/project-transform/src/bundled/sound-libs/lib.es2024.d.ts +26 -0
  66. package/project-transform/src/bundled/sound-libs/lib.es2024.object.d.ts +33 -0
  67. package/project-transform/src/bundled/sound-libs/lib.es2024.promise.d.ts +35 -0
  68. package/project-transform/src/bundled/sound-libs/lib.es2024.regexp.d.ts +25 -0
  69. package/project-transform/src/bundled/sound-libs/lib.es2024.string.d.ts +29 -0
  70. package/project-transform/src/bundled/sound-libs/lib.es5.d.ts +4924 -0
  71. package/project-transform/src/bundled/sound_stdlib.js +142 -0
  72. package/project-transform/src/bundled/sound_stdlib.ts +180 -0
  73. package/project-transform/src/checker/analyze_project.js +1361 -0
  74. package/project-transform/src/checker/analyze_project.ts +2246 -0
  75. package/project-transform/src/checker/diagnostics.js +112 -0
  76. package/project-transform/src/checker/diagnostics.ts +222 -0
  77. package/project-transform/src/checker/engine/context.js +235 -0
  78. package/project-transform/src/checker/engine/context.ts +340 -0
  79. package/project-transform/src/checker/engine/diagnostic_codes.js +72 -0
  80. package/project-transform/src/checker/engine/diagnostic_codes.ts +95 -0
  81. package/project-transform/src/checker/engine/facts.js +35 -0
  82. package/project-transform/src/checker/engine/facts.ts +48 -0
  83. package/project-transform/src/checker/engine/types.js +1 -0
  84. package/project-transform/src/checker/engine/types.ts +485 -0
  85. package/project-transform/src/checker/proof_escape_hatch_diagnostics.js +104 -0
  86. package/project-transform/src/checker/proof_escape_hatch_diagnostics.ts +173 -0
  87. package/project-transform/src/checker/rules/async_surface.js +231 -0
  88. package/project-transform/src/checker/rules/async_surface.ts +335 -0
  89. package/project-transform/src/checker/rules/class_lifecycle.js +798 -0
  90. package/project-transform/src/checker/rules/class_lifecycle.ts +1276 -0
  91. package/project-transform/src/checker/rules/directive_validation.js +571 -0
  92. package/project-transform/src/checker/rules/directive_validation.ts +938 -0
  93. package/project-transform/src/checker/rules/directives.js +23 -0
  94. package/project-transform/src/checker/rules/directives.ts +25 -0
  95. package/project-transform/src/checker/rules/flow.js +202 -0
  96. package/project-transform/src/checker/rules/flow.ts +333 -0
  97. package/project-transform/src/checker/rules/flow_facts.js +601 -0
  98. package/project-transform/src/checker/rules/flow_facts.ts +978 -0
  99. package/project-transform/src/checker/rules/flow_invalidation.js +1119 -0
  100. package/project-transform/src/checker/rules/flow_invalidation.ts +2150 -0
  101. package/project-transform/src/checker/rules/flow_shared.js +2822 -0
  102. package/project-transform/src/checker/rules/flow_shared.ts +4383 -0
  103. package/project-transform/src/checker/rules/foreign_boundary.js +120 -0
  104. package/project-transform/src/checker/rules/foreign_boundary.ts +196 -0
  105. package/project-transform/src/checker/rules/foreign_projection.js +279 -0
  106. package/project-transform/src/checker/rules/foreign_projection.ts +425 -0
  107. package/project-transform/src/checker/rules/generated_helpers.js +13 -0
  108. package/project-transform/src/checker/rules/generated_helpers.ts +18 -0
  109. package/project-transform/src/checker/rules/index.js +35 -0
  110. package/project-transform/src/checker/rules/index.ts +49 -0
  111. package/project-transform/src/checker/rules/namespace_object.js +845 -0
  112. package/project-transform/src/checker/rules/namespace_object.ts +1224 -0
  113. package/project-transform/src/checker/rules/non_ordinary_recovery.js +1328 -0
  114. package/project-transform/src/checker/rules/non_ordinary_recovery.ts +2391 -0
  115. package/project-transform/src/checker/rules/null_prototype.js +3 -0
  116. package/project-transform/src/checker/rules/null_prototype.ts +6 -0
  117. package/project-transform/src/checker/rules/overloads.js +181 -0
  118. package/project-transform/src/checker/rules/overloads.ts +317 -0
  119. package/project-transform/src/checker/rules/predicate_verification.js +691 -0
  120. package/project-transform/src/checker/rules/predicate_verification.ts +1088 -0
  121. package/project-transform/src/checker/rules/prototype_hardening.js +237 -0
  122. package/project-transform/src/checker/rules/prototype_hardening.ts +343 -0
  123. package/project-transform/src/checker/rules/receiver_discipline.js +263 -0
  124. package/project-transform/src/checker/rules/receiver_discipline.ts +356 -0
  125. package/project-transform/src/checker/rules/relations.js +6861 -0
  126. package/project-transform/src/checker/rules/relations.ts +12158 -0
  127. package/project-transform/src/checker/rules/resolved_builtins.js +274 -0
  128. package/project-transform/src/checker/rules/resolved_builtins.ts +438 -0
  129. package/project-transform/src/checker/rules/trust.js +217 -0
  130. package/project-transform/src/checker/rules/trust.ts +301 -0
  131. package/project-transform/src/checker/rules/type_guards.js +173 -0
  132. package/project-transform/src/checker/rules/type_guards.ts +257 -0
  133. package/project-transform/src/checker/rules/universal.js +17 -0
  134. package/project-transform/src/checker/rules/universal.ts +22 -0
  135. package/project-transform/src/checker/rules/unsafe_value_origin.js +80 -0
  136. package/project-transform/src/checker/rules/unsafe_value_origin.ts +125 -0
  137. package/project-transform/src/checker/rules/unsound_imports.js +218 -0
  138. package/project-transform/src/checker/rules/unsound_imports.ts +301 -0
  139. package/project-transform/src/checker/rules/unsound_syntax.js +1695 -0
  140. package/project-transform/src/checker/rules/unsound_syntax.ts +2540 -0
  141. package/project-transform/src/checker/rules/value_types.js +206 -0
  142. package/project-transform/src/checker/rules/value_types.ts +407 -0
  143. package/project-transform/src/checker/timing.js +43 -0
  144. package/project-transform/src/checker/timing.ts +78 -0
  145. package/project-transform/src/checker/unsupported_feature_messages.js +337 -0
  146. package/project-transform/src/checker/unsupported_feature_messages.ts +531 -0
  147. package/project-transform/src/cli.js +892 -0
  148. package/project-transform/src/cli.ts +1476 -0
  149. package/project-transform/src/compiler/compile_project.js +319 -0
  150. package/project-transform/src/compiler/compile_project.ts +508 -0
  151. package/project-transform/src/compiler/errors.js +10 -0
  152. package/project-transform/src/compiler/errors.ts +29 -0
  153. package/project-transform/src/compiler/ir.js +1 -0
  154. package/project-transform/src/compiler/ir.ts +1526 -0
  155. package/project-transform/src/compiler/lower.js +30550 -0
  156. package/project-transform/src/compiler/lower.ts +43645 -0
  157. package/project-transform/src/compiler/lower_arrays.js +140 -0
  158. package/project-transform/src/compiler/lower_arrays.ts +190 -0
  159. package/project-transform/src/compiler/lower_strings.js +121 -0
  160. package/project-transform/src/compiler/lower_strings.ts +198 -0
  161. package/project-transform/src/compiler/lower_tagged.js +329 -0
  162. package/project-transform/src/compiler/lower_tagged.ts +427 -0
  163. package/project-transform/src/compiler/lower_views.js +171 -0
  164. package/project-transform/src/compiler/lower_views.ts +251 -0
  165. package/project-transform/src/compiler/object_keys.js +25 -0
  166. package/project-transform/src/compiler/object_keys.ts +35 -0
  167. package/project-transform/src/compiler/runtime_ir.js +30 -0
  168. package/project-transform/src/compiler/runtime_ir.ts +727 -0
  169. package/project-transform/src/compiler/tagged_boundary.js +18 -0
  170. package/project-transform/src/compiler/tagged_boundary.ts +37 -0
  171. package/project-transform/src/compiler/toolchain.js +170 -0
  172. package/project-transform/src/compiler/toolchain.ts +229 -0
  173. package/project-transform/src/compiler/unicode_case_data.js +2102 -0
  174. package/project-transform/src/compiler/unicode_case_data.ts +2112 -0
  175. package/project-transform/src/compiler/wasm_js_host_runtime.js +656 -0
  176. package/project-transform/src/compiler/wasm_js_host_runtime.ts +762 -0
  177. package/project-transform/src/compiler/wat_arrays.js +3132 -0
  178. package/project-transform/src/compiler/wat_arrays.ts +3768 -0
  179. package/project-transform/src/compiler/wat_emitter.js +17952 -0
  180. package/project-transform/src/compiler/wat_emitter.ts +22812 -0
  181. package/project-transform/src/compiler/wat_strings.js +129 -0
  182. package/project-transform/src/compiler/wat_strings.ts +187 -0
  183. package/project-transform/src/compiler/wat_tagged.js +548 -0
  184. package/project-transform/src/compiler/wat_tagged.ts +674 -0
  185. package/project-transform/src/compiler_generator_runner.js +153 -0
  186. package/project-transform/src/compiler_generator_runner.ts +171 -0
  187. package/project-transform/src/compiler_object_test_helpers.js +69 -0
  188. package/project-transform/src/compiler_object_test_helpers.ts +96 -0
  189. package/project-transform/src/compiler_promise_runner.js +2116 -0
  190. package/project-transform/src/compiler_promise_runner.ts +2184 -0
  191. package/project-transform/src/compiler_test_helpers.js +854 -0
  192. package/project-transform/src/compiler_test_helpers.ts +1087 -0
  193. package/project-transform/src/config.js +568 -0
  194. package/project-transform/src/config.ts +892 -0
  195. package/project-transform/src/diagnostic_metadata.js +67 -0
  196. package/project-transform/src/diagnostic_metadata.ts +99 -0
  197. package/project-transform/src/diagnostic_reference.js +1368 -0
  198. package/project-transform/src/diagnostic_reference.ts +1523 -0
  199. package/project-transform/src/editor_diagnostics_worker.js +176 -0
  200. package/project-transform/src/editor_diagnostics_worker.ts +250 -0
  201. package/project-transform/src/editor_projection.js +224 -0
  202. package/project-transform/src/editor_projection.ts +421 -0
  203. package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.js +47 -0
  204. package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.ts +72 -0
  205. package/project-transform/src/frontend/builtin_macro_support.js +842 -0
  206. package/project-transform/src/frontend/builtin_macro_support.ts +1386 -0
  207. package/project-transform/src/frontend/builtin_macros.js +409 -0
  208. package/project-transform/src/frontend/builtin_macros.ts +542 -0
  209. package/project-transform/src/frontend/component_poc_runtime.js +279 -0
  210. package/project-transform/src/frontend/component_poc_runtime.ts +372 -0
  211. package/project-transform/src/frontend/css_macro.js +148 -0
  212. package/project-transform/src/frontend/css_macro.ts +222 -0
  213. package/project-transform/src/frontend/derive_macros.js +2072 -0
  214. package/project-transform/src/frontend/derive_macros.ts +3188 -0
  215. package/project-transform/src/frontend/embedded_fragment_support.js +106 -0
  216. package/project-transform/src/frontend/embedded_fragment_support.ts +172 -0
  217. package/project-transform/src/frontend/error_normalization.js +403 -0
  218. package/project-transform/src/frontend/error_normalization.ts +832 -0
  219. package/project-transform/src/frontend/error_stdlib_support.js +1 -0
  220. package/project-transform/src/frontend/error_stdlib_support.ts +6 -0
  221. package/project-transform/src/frontend/expand_project.js +169 -0
  222. package/project-transform/src/frontend/expand_project.ts +248 -0
  223. package/project-transform/src/frontend/format_soundscript.js +297 -0
  224. package/project-transform/src/frontend/format_soundscript.ts +582 -0
  225. package/project-transform/src/frontend/graphql_macro.js +174 -0
  226. package/project-transform/src/frontend/graphql_macro.ts +253 -0
  227. package/project-transform/src/frontend/hash_context.js +83 -0
  228. package/project-transform/src/frontend/hash_context.ts +113 -0
  229. package/project-transform/src/frontend/hkt_macro.js +448 -0
  230. package/project-transform/src/frontend/hkt_macro.ts +897 -0
  231. package/project-transform/src/frontend/import_binding_usage.js +190 -0
  232. package/project-transform/src/frontend/import_binding_usage.ts +277 -0
  233. package/project-transform/src/frontend/macro_advanced_backend_adapter.js +58 -0
  234. package/project-transform/src/frontend/macro_advanced_backend_adapter.ts +123 -0
  235. package/project-transform/src/frontend/macro_advanced_context.js +826 -0
  236. package/project-transform/src/frontend/macro_advanced_context.ts +1102 -0
  237. package/project-transform/src/frontend/macro_advanced_output.js +21 -0
  238. package/project-transform/src/frontend/macro_advanced_output.ts +41 -0
  239. package/project-transform/src/frontend/macro_api.js +353 -0
  240. package/project-transform/src/frontend/macro_api.ts +1722 -0
  241. package/project-transform/src/frontend/macro_api_internal.js +35 -0
  242. package/project-transform/src/frontend/macro_api_internal.ts +80 -0
  243. package/project-transform/src/frontend/macro_api_module_support.js +39 -0
  244. package/project-transform/src/frontend/macro_api_module_support.ts +65 -0
  245. package/project-transform/src/frontend/macro_backend_adapter.js +272 -0
  246. package/project-transform/src/frontend/macro_backend_adapter.ts +420 -0
  247. package/project-transform/src/frontend/macro_context.js +816 -0
  248. package/project-transform/src/frontend/macro_context.ts +1105 -0
  249. package/project-transform/src/frontend/macro_debug.js +99 -0
  250. package/project-transform/src/frontend/macro_debug.ts +157 -0
  251. package/project-transform/src/frontend/macro_definition_support.js +28 -0
  252. package/project-transform/src/frontend/macro_definition_support.ts +73 -0
  253. package/project-transform/src/frontend/macro_errors.js +40 -0
  254. package/project-transform/src/frontend/macro_errors.ts +70 -0
  255. package/project-transform/src/frontend/macro_expander.js +919 -0
  256. package/project-transform/src/frontend/macro_expander.ts +1611 -0
  257. package/project-transform/src/frontend/macro_factory_support.js +176 -0
  258. package/project-transform/src/frontend/macro_factory_support.ts +263 -0
  259. package/project-transform/src/frontend/macro_host_ast_internal.js +64 -0
  260. package/project-transform/src/frontend/macro_host_ast_internal.ts +109 -0
  261. package/project-transform/src/frontend/macro_index.js +27 -0
  262. package/project-transform/src/frontend/macro_index.ts +50 -0
  263. package/project-transform/src/frontend/macro_loader.js +281 -0
  264. package/project-transform/src/frontend/macro_loader.ts +506 -0
  265. package/project-transform/src/frontend/macro_operand_semantics.js +838 -0
  266. package/project-transform/src/frontend/macro_operand_semantics.ts +1489 -0
  267. package/project-transform/src/frontend/macro_output.js +54 -0
  268. package/project-transform/src/frontend/macro_output.ts +123 -0
  269. package/project-transform/src/frontend/macro_parser.js +611 -0
  270. package/project-transform/src/frontend/macro_parser.ts +832 -0
  271. package/project-transform/src/frontend/macro_resolver.js +69 -0
  272. package/project-transform/src/frontend/macro_resolver.ts +125 -0
  273. package/project-transform/src/frontend/macro_rewrite.js +285 -0
  274. package/project-transform/src/frontend/macro_rewrite.ts +442 -0
  275. package/project-transform/src/frontend/macro_runtime_support.js +232 -0
  276. package/project-transform/src/frontend/macro_runtime_support.ts +324 -0
  277. package/project-transform/src/frontend/macro_scanner.js +393 -0
  278. package/project-transform/src/frontend/macro_scanner.ts +455 -0
  279. package/project-transform/src/frontend/macro_semantic_backend_adapter.js +87 -0
  280. package/project-transform/src/frontend/macro_semantic_backend_adapter.ts +166 -0
  281. package/project-transform/src/frontend/macro_semantic_context.js +5 -0
  282. package/project-transform/src/frontend/macro_semantic_context.ts +12 -0
  283. package/project-transform/src/frontend/macro_semantic_output.js +24 -0
  284. package/project-transform/src/frontend/macro_semantic_output.ts +47 -0
  285. package/project-transform/src/frontend/macro_semantic_types.js +1 -0
  286. package/project-transform/src/frontend/macro_semantic_types.ts +98 -0
  287. package/project-transform/src/frontend/macro_semantics.js +1172 -0
  288. package/project-transform/src/frontend/macro_semantics.ts +1502 -0
  289. package/project-transform/src/frontend/macro_site_kind_support.js +164 -0
  290. package/project-transform/src/frontend/macro_site_kind_support.ts +255 -0
  291. package/project-transform/src/frontend/macro_syntax_internal.js +1950 -0
  292. package/project-transform/src/frontend/macro_syntax_internal.ts +3338 -0
  293. package/project-transform/src/frontend/macro_templates.js +57 -0
  294. package/project-transform/src/frontend/macro_templates.ts +143 -0
  295. package/project-transform/src/frontend/macro_test_helpers.js +82 -0
  296. package/project-transform/src/frontend/macro_test_helpers.ts +136 -0
  297. package/project-transform/src/frontend/macro_types.js +1 -0
  298. package/project-transform/src/frontend/macro_types.ts +103 -0
  299. package/project-transform/src/frontend/macro_vm.js +39 -0
  300. package/project-transform/src/frontend/macro_vm.ts +113 -0
  301. package/project-transform/src/frontend/match_macro.js +885 -0
  302. package/project-transform/src/frontend/match_macro.ts +1220 -0
  303. package/project-transform/src/frontend/numeric_normalization.js +824 -0
  304. package/project-transform/src/frontend/numeric_normalization.ts +1380 -0
  305. package/project-transform/src/frontend/numeric_prelude.js +278 -0
  306. package/project-transform/src/frontend/numeric_prelude.ts +370 -0
  307. package/project-transform/src/frontend/project_frontend.js +2396 -0
  308. package/project-transform/src/frontend/project_frontend.ts +3776 -0
  309. package/project-transform/src/frontend/project_macro_support.js +1401 -0
  310. package/project-transform/src/frontend/project_macro_support.ts +2137 -0
  311. package/project-transform/src/frontend/sql_macro.js +175 -0
  312. package/project-transform/src/frontend/sql_macro.ts +254 -0
  313. package/project-transform/src/frontend/sql_stdlib_support.js +1 -0
  314. package/project-transform/src/frontend/sql_stdlib_support.ts +6 -0
  315. package/project-transform/src/frontend/std_package_support.js +228 -0
  316. package/project-transform/src/frontend/std_package_support.ts +400 -0
  317. package/project-transform/src/frontend/value_normalization.js +306 -0
  318. package/project-transform/src/frontend/value_normalization.ts +599 -0
  319. package/project-transform/src/lsp/project_service.js +4771 -0
  320. package/project-transform/src/lsp/project_service.ts +7580 -0
  321. package/project-transform/src/lsp/protocol.js +9 -0
  322. package/project-transform/src/lsp/protocol.ts +38 -0
  323. package/project-transform/src/lsp/server.js +355 -0
  324. package/project-transform/src/lsp/server.ts +671 -0
  325. package/project-transform/src/lsp/session.js +49 -0
  326. package/project-transform/src/lsp/session.ts +48 -0
  327. package/project-transform/src/lsp/timing.js +43 -0
  328. package/project-transform/src/lsp/timing.ts +76 -0
  329. package/project-transform/src/lsp/transport.js +205 -0
  330. package/project-transform/src/lsp/transport.ts +253 -0
  331. package/project-transform/src/lsp_main.js +5 -0
  332. package/project-transform/src/lsp_main.ts +7 -0
  333. package/project-transform/src/macros.d.ts +1 -0
  334. package/project-transform/src/macros.js +1 -0
  335. package/project-transform/src/macros.ts +1 -0
  336. package/project-transform/src/main.js +24 -0
  337. package/project-transform/src/main.ts +28 -0
  338. package/project-transform/src/platform/host.js +264 -0
  339. package/project-transform/src/platform/host.ts +343 -0
  340. package/project-transform/src/platform/path.js +8 -0
  341. package/project-transform/src/platform/path.ts +20 -0
  342. package/project-transform/src/public_macro_api/macro_api.d.ts +1054 -0
  343. package/project-transform/src/public_macro_api/macro_semantic_types.d.ts +66 -0
  344. package/project-transform/src/public_macro_api/macro_types.d.ts +70 -0
  345. package/project-transform/src/run_program.js +14 -0
  346. package/project-transform/src/run_program.ts +33 -0
  347. package/project-transform/src/runtime/materialize.js +371 -0
  348. package/project-transform/src/runtime/materialize.ts +502 -0
  349. package/project-transform/src/runtime/on_demand.js +203 -0
  350. package/project-transform/src/runtime/on_demand.ts +305 -0
  351. package/project-transform/src/runtime/source_maps.js +205 -0
  352. package/project-transform/src/runtime/source_maps.ts +297 -0
  353. package/project-transform/src/runtime/transform.js +148 -0
  354. package/project-transform/src/runtime/transform.ts +295 -0
  355. package/project-transform/src/service/types.js +1 -0
  356. package/project-transform/src/service/types.ts +22 -0
  357. package/project-transform/src/soundscript_packages.js +477 -0
  358. package/project-transform/src/soundscript_packages.ts +754 -0
  359. package/project-transform/src/soundscript_runtime_specifiers.js +88 -0
  360. package/project-transform/src/soundscript_runtime_specifiers.ts +96 -0
  361. package/project-transform/src/stdlib/async.d.ts +81 -0
  362. package/project-transform/src/stdlib/async.js +213 -0
  363. package/project-transform/src/stdlib/async.ts +315 -0
  364. package/project-transform/src/stdlib/codec.d.ts +32 -0
  365. package/project-transform/src/stdlib/codec.js +30 -0
  366. package/project-transform/src/stdlib/codec.ts +76 -0
  367. package/project-transform/src/stdlib/compare.d.ts +28 -0
  368. package/project-transform/src/stdlib/compare.js +115 -0
  369. package/project-transform/src/stdlib/compare.ts +151 -0
  370. package/project-transform/src/stdlib/css.d.ts +16 -0
  371. package/project-transform/src/stdlib/css.js +9 -0
  372. package/project-transform/src/stdlib/css.ts +28 -0
  373. package/project-transform/src/stdlib/debug.d.ts +2 -0
  374. package/project-transform/src/stdlib/debug.js +9 -0
  375. package/project-transform/src/stdlib/debug.ts +10 -0
  376. package/project-transform/src/stdlib/decode.d.ts +86 -0
  377. package/project-transform/src/stdlib/decode.js +254 -0
  378. package/project-transform/src/stdlib/decode.ts +390 -0
  379. package/project-transform/src/stdlib/derive.d.ts +6 -0
  380. package/project-transform/src/stdlib/derive.js +7 -0
  381. package/project-transform/src/stdlib/derive.ts +7 -0
  382. package/project-transform/src/stdlib/encode.d.ts +100 -0
  383. package/project-transform/src/stdlib/encode.js +130 -0
  384. package/project-transform/src/stdlib/encode.ts +259 -0
  385. package/project-transform/src/stdlib/failures.d.ts +23 -0
  386. package/project-transform/src/stdlib/failures.js +41 -0
  387. package/project-transform/src/stdlib/failures.ts +64 -0
  388. package/project-transform/src/stdlib/fetch.d.ts +67 -0
  389. package/project-transform/src/stdlib/fetch.js +5 -0
  390. package/project-transform/src/stdlib/fetch.ts +11 -0
  391. package/project-transform/src/stdlib/graphql.d.ts +16 -0
  392. package/project-transform/src/stdlib/graphql.js +9 -0
  393. package/project-transform/src/stdlib/graphql.ts +28 -0
  394. package/project-transform/src/stdlib/hash.d.ts +34 -0
  395. package/project-transform/src/stdlib/hash.js +110 -0
  396. package/project-transform/src/stdlib/hash.ts +188 -0
  397. package/project-transform/src/stdlib/hkt.d.ts +40 -0
  398. package/project-transform/src/stdlib/hkt.js +3 -0
  399. package/project-transform/src/stdlib/hkt.ts +41 -0
  400. package/project-transform/src/stdlib/index.d.ts +9 -0
  401. package/project-transform/src/stdlib/index.js +15 -0
  402. package/project-transform/src/stdlib/index.ts +23 -0
  403. package/project-transform/src/stdlib/json.d.ts +125 -0
  404. package/project-transform/src/stdlib/json.js +764 -0
  405. package/project-transform/src/stdlib/json.ts +1034 -0
  406. package/project-transform/src/stdlib/match.d.ts +11 -0
  407. package/project-transform/src/stdlib/match.js +13 -0
  408. package/project-transform/src/stdlib/match.ts +26 -0
  409. package/project-transform/src/stdlib/numerics.d.ts +523 -0
  410. package/project-transform/src/stdlib/numerics.js +1356 -0
  411. package/project-transform/src/stdlib/numerics.ts +1937 -0
  412. package/project-transform/src/stdlib/random.d.ts +19 -0
  413. package/project-transform/src/stdlib/random.js +3 -0
  414. package/project-transform/src/stdlib/random.ts +5 -0
  415. package/project-transform/src/stdlib/result.d.ts +68 -0
  416. package/project-transform/src/stdlib/result.js +139 -0
  417. package/project-transform/src/stdlib/result.ts +248 -0
  418. package/project-transform/src/stdlib/sql.d.ts +22 -0
  419. package/project-transform/src/stdlib/sql.js +23 -0
  420. package/project-transform/src/stdlib/sql.ts +53 -0
  421. package/project-transform/src/stdlib/text.d.ts +24 -0
  422. package/project-transform/src/stdlib/text.js +3 -0
  423. package/project-transform/src/stdlib/text.ts +4 -0
  424. package/project-transform/src/stdlib/thunk.d.ts +2 -0
  425. package/project-transform/src/stdlib/thunk.js +9 -0
  426. package/project-transform/src/stdlib/thunk.ts +15 -0
  427. package/project-transform/src/stdlib/typeclasses.d.ts +57 -0
  428. package/project-transform/src/stdlib/typeclasses.js +78 -0
  429. package/project-transform/src/stdlib/typeclasses.ts +173 -0
  430. package/project-transform/src/stdlib/url.d.ts +37 -0
  431. package/project-transform/src/stdlib/url.js +3 -0
  432. package/project-transform/src/stdlib/url.ts +4 -0
  433. package/project-transform/src/stdlib/value.d.ts +9 -0
  434. package/project-transform/src/stdlib/value.js +104 -0
  435. package/project-transform/src/stdlib/value.ts +133 -0
  436. package/project-transform/src/test_installed_stdlib.js +147 -0
  437. package/project-transform/src/test_installed_stdlib.ts +245 -0
  438. package/project-transform/src/test_macro_package_fixture.js +50 -0
  439. package/project-transform/src/test_macro_package_fixture.ts +68 -0
  440. package/project-transform/src/value_deep_safe.js +191 -0
  441. package/project-transform/src/value_deep_safe.ts +273 -0
@@ -0,0 +1,80 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+ /// <reference no-default-lib="true"/>
17
+
18
+ interface PromiseConstructor {
19
+ /**
20
+ * A reference to the prototype.
21
+ */
22
+ readonly prototype: Promise<unknown>;
23
+
24
+ /**
25
+ * Creates a new Promise.
26
+ * @param executor A callback used to initialize the promise. This callback is passed two arguments:
27
+ * a resolve callback used to resolve the promise with a value or the result of another promise,
28
+ * and a reject callback used to reject the promise with a provided reason or error.
29
+ */
30
+ new <T>(executor: (resolve: (value: T | Promise<T>) => void, reject: (reason?: unknown) => void) => void): Promise<T>;
31
+
32
+ /**
33
+ * Creates a Promise that is resolved with an array of results when all of the provided Promises
34
+ * resolve, or rejected when any Promise is rejected.
35
+ * @param values An array of Promises.
36
+ * @returns A new Promise.
37
+ */
38
+ all<T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>;
39
+
40
+ // see: lib.es2015.iterable.d.ts
41
+ // all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;
42
+
43
+ /**
44
+ * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
45
+ * or rejected.
46
+ * @param values An array of Promises.
47
+ * @returns A new Promise.
48
+ */
49
+ race<T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
50
+
51
+ // see: lib.es2015.iterable.d.ts
52
+ // race<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
53
+
54
+ /**
55
+ * Creates a new rejected promise for the provided reason.
56
+ * @param reason The reason the promise was rejected.
57
+ * @returns A new rejected Promise.
58
+ */
59
+ reject<T = never>(reason?: unknown): Promise<T>;
60
+
61
+ /**
62
+ * Creates a new resolved promise.
63
+ * @returns A resolved promise.
64
+ */
65
+ resolve(): Promise<void>;
66
+ /**
67
+ * Creates a new resolved promise for the provided value.
68
+ * @param value A promise.
69
+ * @returns A promise whose internal state matches the provided promise.
70
+ */
71
+ resolve<T>(value: T): Promise<Awaited<T>>;
72
+ /**
73
+ * Creates a new resolved promise for the provided value.
74
+ * @param value A promise.
75
+ * @returns A promise whose internal state matches the provided promise.
76
+ */
77
+ resolve<T>(value: T | Promise<T>): Promise<Awaited<T>>;
78
+ }
79
+
80
+ declare var Promise: PromiseConstructor;
@@ -0,0 +1,128 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ interface ProxyHandler<T extends object> {
20
+ /**
21
+ * A trap method for a function call.
22
+ * @param target The original callable object which is being proxied.
23
+ */
24
+ apply?(target: T, thisArg: unknown, argArray: unknown[]): unknown;
25
+
26
+ /**
27
+ * A trap for the `new` operator.
28
+ * @param target The original object which is being proxied.
29
+ * @param newTarget The constructor that was originally called.
30
+ */
31
+ construct?(target: T, argArray: unknown[], newTarget: Function): object;
32
+
33
+ /**
34
+ * A trap for `Object.defineProperty()`.
35
+ * @param target The original object which is being proxied.
36
+ * @returns A `Boolean` indicating whether or not the property has been defined.
37
+ */
38
+ defineProperty?(target: T, property: string | symbol, attributes: PropertyDescriptor): boolean;
39
+
40
+ /**
41
+ * A trap for the `delete` operator.
42
+ * @param target The original object which is being proxied.
43
+ * @param p The name or `Symbol` of the property to delete.
44
+ * @returns A `Boolean` indicating whether or not the property was deleted.
45
+ */
46
+ deleteProperty?(target: T, p: string | symbol): boolean;
47
+
48
+ /**
49
+ * A trap for getting a property value.
50
+ * @param target The original object which is being proxied.
51
+ * @param p The name or `Symbol` of the property to get.
52
+ * @param receiver The proxy or an object that inherits from the proxy.
53
+ */
54
+ get?(target: T, p: string | symbol, receiver: unknown): unknown;
55
+
56
+ /**
57
+ * A trap for `Object.getOwnPropertyDescriptor()`.
58
+ * @param target The original object which is being proxied.
59
+ * @param p The name of the property whose description should be retrieved.
60
+ */
61
+ getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined;
62
+
63
+ /**
64
+ * A trap for the `[[GetPrototypeOf]]` internal method.
65
+ * @param target The original object which is being proxied.
66
+ */
67
+ getPrototypeOf?(target: T): object | null;
68
+
69
+ /**
70
+ * A trap for the `in` operator.
71
+ * @param target The original object which is being proxied.
72
+ * @param p The name or `Symbol` of the property to check for existence.
73
+ */
74
+ has?(target: T, p: string | symbol): boolean;
75
+
76
+ /**
77
+ * A trap for `Object.isExtensible()`.
78
+ * @param target The original object which is being proxied.
79
+ */
80
+ isExtensible?(target: T): boolean;
81
+
82
+ /**
83
+ * A trap for `Reflect.ownKeys()`.
84
+ * @param target The original object which is being proxied.
85
+ */
86
+ ownKeys?(target: T): ArrayLike<string | symbol>;
87
+
88
+ /**
89
+ * A trap for `Object.preventExtensions()`.
90
+ * @param target The original object which is being proxied.
91
+ */
92
+ preventExtensions?(target: T): boolean;
93
+
94
+ /**
95
+ * A trap for setting a property value.
96
+ * @param target The original object which is being proxied.
97
+ * @param p The name or `Symbol` of the property to set.
98
+ * @param receiver The object to which the assignment was originally directed.
99
+ * @returns A `Boolean` indicating whether or not the property was set.
100
+ */
101
+ set?(target: T, p: string | symbol, newValue: unknown, receiver: unknown): boolean;
102
+
103
+ /**
104
+ * A trap for `Object.setPrototypeOf()`.
105
+ * @param target The original object which is being proxied.
106
+ * @param newPrototype The object's new prototype or `null`.
107
+ */
108
+ setPrototypeOf?(target: T, v: object | null): boolean;
109
+ }
110
+
111
+ interface ProxyConstructor {
112
+ /**
113
+ * Creates a revocable Proxy object.
114
+ * @param target A target object to wrap with Proxy.
115
+ * @param handler An object whose properties define the behavior of Proxy when an operation is attempted on it.
116
+ */
117
+ revocable<T extends object>(target: T, handler: ProxyHandler<T>): { proxy: T; revoke: () => void; };
118
+
119
+ /**
120
+ * Creates a Proxy object. The Proxy object allows you to create an object that can be used in place of the
121
+ * original object, but which may redefine fundamental Object operations like getting, setting, and defining
122
+ * properties. Proxy objects are commonly used to log property accesses, validate, format, or sanitize inputs.
123
+ * @param target A target object to wrap with Proxy.
124
+ * @param handler An object whose properties define the behavior of Proxy when an operation is attempted on it.
125
+ */
126
+ new <T extends object>(target: T, handler: ProxyHandler<T>): T;
127
+ }
128
+ declare var Proxy: ProxyConstructor;
@@ -0,0 +1,144 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ declare namespace Reflect {
20
+ /**
21
+ * Calls the function with the specified object as the this value
22
+ * and the elements of specified array as the arguments.
23
+ * @param target The function to call.
24
+ * @param thisArgument The object to be used as the this object.
25
+ * @param argumentsList An array of argument values to be passed to the function.
26
+ */
27
+ function apply<T, A extends readonly unknown[], R>(
28
+ target: (this: T, ...args: A) => R,
29
+ thisArgument: T,
30
+ argumentsList: Readonly<A>,
31
+ ): R;
32
+ function apply(target: Function, thisArgument: unknown, argumentsList: ArrayLike<unknown>): unknown;
33
+
34
+ /**
35
+ * Constructs the target with the elements of specified array as the arguments
36
+ * and the specified constructor as the `new.target` value.
37
+ * @param target The constructor to invoke.
38
+ * @param argumentsList An array of argument values to be passed to the constructor.
39
+ * @param newTarget The constructor to be used as the `new.target` object.
40
+ */
41
+ function construct<A extends readonly unknown[], R>(
42
+ target: new (...args: A) => R,
43
+ argumentsList: Readonly<A>,
44
+ newTarget?: new (...args: unknown[]) => unknown,
45
+ ): R;
46
+ function construct(target: Function, argumentsList: ArrayLike<unknown>, newTarget?: Function): unknown;
47
+
48
+ /**
49
+ * Adds a property to an object, or modifies attributes of an existing property.
50
+ * @param target Object on which to add or modify the property. This can be a native JavaScript object
51
+ * (that is, a user-defined object or a built in object) or a DOM object.
52
+ * @param propertyKey The property name.
53
+ * @param attributes Descriptor for the property. It can be for a data property or an accessor property.
54
+ */
55
+ function defineProperty(target: object, propertyKey: PropertyKey, attributes: PropertyDescriptor & ThisType<unknown>): boolean;
56
+
57
+ /**
58
+ * Removes a property from an object, equivalent to `delete target[propertyKey]`,
59
+ * except it won't throw if `target[propertyKey]` is non-configurable.
60
+ * @param target Object from which to remove the own property.
61
+ * @param propertyKey The property name.
62
+ */
63
+ function deleteProperty(target: object, propertyKey: PropertyKey): boolean;
64
+
65
+ /**
66
+ * Gets the property of target, equivalent to `target[propertyKey]` when `receiver === target`.
67
+ * @param target Object that contains the property on itself or in its prototype chain.
68
+ * @param propertyKey The property name.
69
+ * @param receiver The reference to use as the `this` value in the getter function,
70
+ * if `target[propertyKey]` is an accessor property.
71
+ */
72
+ function get<T extends object, P extends PropertyKey>(
73
+ target: T,
74
+ propertyKey: P,
75
+ receiver?: unknown,
76
+ ): unknown;
77
+
78
+ /**
79
+ * Gets the own property descriptor of the specified object.
80
+ * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype.
81
+ * @param target Object that contains the property.
82
+ * @param propertyKey The property name.
83
+ */
84
+ function getOwnPropertyDescriptor<T extends object, P extends PropertyKey>(
85
+ target: T,
86
+ propertyKey: P,
87
+ ): TypedPropertyDescriptor<unknown> | undefined;
88
+
89
+ /**
90
+ * Returns the prototype of an object.
91
+ * @param target The object that references the prototype.
92
+ */
93
+ function getPrototypeOf(target: object): object | null;
94
+
95
+ /**
96
+ * Equivalent to `propertyKey in target`.
97
+ * @param target Object that contains the property on itself or in its prototype chain.
98
+ * @param propertyKey Name of the property.
99
+ */
100
+ function has(target: object, propertyKey: PropertyKey): boolean;
101
+
102
+ /**
103
+ * Returns a value that indicates whether new properties can be added to an object.
104
+ * @param target Object to test.
105
+ */
106
+ function isExtensible(target: object): boolean;
107
+
108
+ /**
109
+ * Returns the string and symbol keys of the own properties of an object. The own properties of an object
110
+ * are those that are defined directly on that object, and are not inherited from the object's prototype.
111
+ * @param target Object that contains the own properties.
112
+ */
113
+ function ownKeys(target: object): (string | symbol)[];
114
+
115
+ /**
116
+ * Prevents the addition of new properties to an object.
117
+ * @param target Object to make non-extensible.
118
+ * @return Whether the object has been made non-extensible.
119
+ */
120
+ function preventExtensions(target: object): boolean;
121
+
122
+ /**
123
+ * Sets the property of target, equivalent to `target[propertyKey] = value` when `receiver === target`.
124
+ * @param target Object that contains the property on itself or in its prototype chain.
125
+ * @param propertyKey Name of the property.
126
+ * @param receiver The reference to use as the `this` value in the setter function,
127
+ * if `target[propertyKey]` is an accessor property.
128
+ */
129
+ function set<T extends object, P extends PropertyKey>(
130
+ target: T,
131
+ propertyKey: P,
132
+ value: P extends keyof T ? T[P] : unknown,
133
+ receiver?: unknown,
134
+ ): boolean;
135
+ function set(target: object, propertyKey: PropertyKey, value: unknown, receiver?: unknown): boolean;
136
+
137
+ /**
138
+ * Sets the prototype of a specified object o to object proto.
139
+ * @param target The object to change its prototype.
140
+ * @param proto The value of the new prototype.
141
+ * @return Whether setting the prototype was successful.
142
+ */
143
+ function setPrototypeOf(target: object, proto: object | null): boolean;
144
+ }
@@ -0,0 +1,46 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ interface SymbolConstructor {
20
+ /**
21
+ * A reference to the prototype.
22
+ */
23
+ readonly prototype: Symbol;
24
+
25
+ /**
26
+ * Returns a new unique Symbol value.
27
+ * @param description Description of the new Symbol object.
28
+ */
29
+ (description?: string | number): symbol;
30
+
31
+ /**
32
+ * Returns a Symbol object from the global symbol registry matching the given key if found.
33
+ * Otherwise, returns a new symbol with this key.
34
+ * @param key key to search for.
35
+ */
36
+ for(key: string): symbol;
37
+
38
+ /**
39
+ * Returns a key from the global symbol registry matching the given Symbol if found.
40
+ * Otherwise, returns a undefined.
41
+ * @param sym Symbol to find the key for.
42
+ */
43
+ keyFor(sym: symbol): string | undefined;
44
+ }
45
+
46
+ declare var Symbol: SymbolConstructor;
@@ -0,0 +1,170 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+ /// <reference no-default-lib="true"/>
17
+
18
+ /// <reference lib="es2015.symbol" />
19
+
20
+ interface SymbolConstructor {
21
+ readonly hasInstance: unique symbol;
22
+ readonly isConcatSpreadable: unique symbol;
23
+ readonly match: unique symbol;
24
+ readonly replace: unique symbol;
25
+ readonly search: unique symbol;
26
+ readonly species: unique symbol;
27
+ readonly split: unique symbol;
28
+ readonly toPrimitive: unique symbol;
29
+ readonly toStringTag: unique symbol;
30
+ readonly unscopables: unique symbol;
31
+ }
32
+
33
+ interface Symbol {
34
+ [Symbol.toPrimitive](hint: string): symbol;
35
+ readonly [Symbol.toStringTag]: string;
36
+ }
37
+
38
+ interface Array<T> {
39
+ readonly [Symbol.unscopables]: {
40
+ [K in keyof unknown[]]?: boolean;
41
+ };
42
+ }
43
+
44
+ interface ReadonlyArray<T> {
45
+ readonly [Symbol.unscopables]: {
46
+ [K in keyof readonly unknown[]]?: boolean;
47
+ };
48
+ }
49
+
50
+ interface Date {
51
+ [Symbol.toPrimitive](hint: "default"): string;
52
+ [Symbol.toPrimitive](hint: "string"): string;
53
+ [Symbol.toPrimitive](hint: "number"): number;
54
+ [Symbol.toPrimitive](hint: string): string | number;
55
+ }
56
+
57
+ interface Map<K, V> {
58
+ readonly [Symbol.toStringTag]: string;
59
+ }
60
+
61
+ interface WeakMap<K extends WeakKey, V> {
62
+ readonly [Symbol.toStringTag]: string;
63
+ }
64
+
65
+ interface Set<T> {
66
+ readonly [Symbol.toStringTag]: string;
67
+ }
68
+
69
+ interface WeakSet<T extends WeakKey> {
70
+ readonly [Symbol.toStringTag]: string;
71
+ }
72
+
73
+ interface JSON {
74
+ readonly [Symbol.toStringTag]: string;
75
+ }
76
+
77
+ interface Function {
78
+ [Symbol.hasInstance](value: unknown): boolean;
79
+ }
80
+
81
+ interface GeneratorFunction {
82
+ readonly [Symbol.toStringTag]: string;
83
+ }
84
+
85
+ interface Math {
86
+ readonly [Symbol.toStringTag]: string;
87
+ }
88
+
89
+ interface Promise<T> {
90
+ readonly [Symbol.toStringTag]: string;
91
+ }
92
+
93
+ interface PromiseConstructor {
94
+ readonly [Symbol.species]: PromiseConstructor;
95
+ }
96
+
97
+ interface RegExp {
98
+ [Symbol.match](string: string): RegExpMatchArray | null;
99
+ [Symbol.replace](string: string, replaceValue: string): string;
100
+ [Symbol.search](string: string): number;
101
+ [Symbol.split](string: string, limit?: number): string[];
102
+ }
103
+
104
+ interface RegExpConstructor {
105
+ readonly [Symbol.species]: RegExpConstructor;
106
+ }
107
+
108
+ interface String {
109
+ match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null;
110
+ replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string;
111
+ search(searcher: { [Symbol.search](string: string): number; }): number;
112
+ split(splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[];
113
+ }
114
+
115
+ interface ArrayBuffer {
116
+ readonly [Symbol.toStringTag]: "ArrayBuffer";
117
+ }
118
+
119
+ interface DataView<TArrayBuffer extends ArrayBufferLike> {
120
+ readonly [Symbol.toStringTag]: string;
121
+ }
122
+
123
+ interface Int8Array<TArrayBuffer extends ArrayBufferLike> {
124
+ readonly [Symbol.toStringTag]: "Int8Array";
125
+ }
126
+
127
+ interface Uint8Array<TArrayBuffer extends ArrayBufferLike> {
128
+ readonly [Symbol.toStringTag]: "Uint8Array";
129
+ }
130
+
131
+ interface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {
132
+ readonly [Symbol.toStringTag]: "Uint8ClampedArray";
133
+ }
134
+
135
+ interface Int16Array<TArrayBuffer extends ArrayBufferLike> {
136
+ readonly [Symbol.toStringTag]: "Int16Array";
137
+ }
138
+
139
+ interface Uint16Array<TArrayBuffer extends ArrayBufferLike> {
140
+ readonly [Symbol.toStringTag]: "Uint16Array";
141
+ }
142
+
143
+ interface Int32Array<TArrayBuffer extends ArrayBufferLike> {
144
+ readonly [Symbol.toStringTag]: "Int32Array";
145
+ }
146
+
147
+ interface Uint32Array<TArrayBuffer extends ArrayBufferLike> {
148
+ readonly [Symbol.toStringTag]: "Uint32Array";
149
+ }
150
+
151
+ interface Float32Array<TArrayBuffer extends ArrayBufferLike> {
152
+ readonly [Symbol.toStringTag]: "Float32Array";
153
+ }
154
+
155
+ interface Float64Array<TArrayBuffer extends ArrayBufferLike> {
156
+ readonly [Symbol.toStringTag]: "Float64Array";
157
+ }
158
+
159
+ interface ArrayConstructor {
160
+ readonly [Symbol.species]: ArrayConstructor;
161
+ }
162
+ interface MapConstructor {
163
+ readonly [Symbol.species]: MapConstructor;
164
+ }
165
+ interface SetConstructor {
166
+ readonly [Symbol.species]: SetConstructor;
167
+ }
168
+ interface ArrayBufferConstructor {
169
+ readonly [Symbol.species]: ArrayBufferConstructor;
170
+ }
@@ -0,0 +1,116 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ interface Array<T> {
20
+ /**
21
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
22
+ * @param searchElement The element to search for.
23
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
24
+ */
25
+ includes(searchElement: T, fromIndex?: number): boolean;
26
+ }
27
+
28
+ interface ReadonlyArray<T> {
29
+ /**
30
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
31
+ * @param searchElement The element to search for.
32
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
33
+ */
34
+ includes(searchElement: T, fromIndex?: number): boolean;
35
+ }
36
+
37
+ interface Int8Array<TArrayBuffer extends ArrayBufferLike> {
38
+ /**
39
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
40
+ * @param searchElement The element to search for.
41
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
42
+ */
43
+ includes(searchElement: number, fromIndex?: number): boolean;
44
+ }
45
+
46
+ interface Uint8Array<TArrayBuffer extends ArrayBufferLike> {
47
+ /**
48
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
49
+ * @param searchElement The element to search for.
50
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
51
+ */
52
+ includes(searchElement: number, fromIndex?: number): boolean;
53
+ }
54
+
55
+ interface Uint8ClampedArray<TArrayBuffer extends ArrayBufferLike> {
56
+ /**
57
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
58
+ * @param searchElement The element to search for.
59
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
60
+ */
61
+ includes(searchElement: number, fromIndex?: number): boolean;
62
+ }
63
+
64
+ interface Int16Array<TArrayBuffer extends ArrayBufferLike> {
65
+ /**
66
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
67
+ * @param searchElement The element to search for.
68
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
69
+ */
70
+ includes(searchElement: number, fromIndex?: number): boolean;
71
+ }
72
+
73
+ interface Uint16Array<TArrayBuffer extends ArrayBufferLike> {
74
+ /**
75
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
76
+ * @param searchElement The element to search for.
77
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
78
+ */
79
+ includes(searchElement: number, fromIndex?: number): boolean;
80
+ }
81
+
82
+ interface Int32Array<TArrayBuffer extends ArrayBufferLike> {
83
+ /**
84
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
85
+ * @param searchElement The element to search for.
86
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
87
+ */
88
+ includes(searchElement: number, fromIndex?: number): boolean;
89
+ }
90
+
91
+ interface Uint32Array<TArrayBuffer extends ArrayBufferLike> {
92
+ /**
93
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
94
+ * @param searchElement The element to search for.
95
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
96
+ */
97
+ includes(searchElement: number, fromIndex?: number): boolean;
98
+ }
99
+
100
+ interface Float32Array<TArrayBuffer extends ArrayBufferLike> {
101
+ /**
102
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
103
+ * @param searchElement The element to search for.
104
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
105
+ */
106
+ includes(searchElement: number, fromIndex?: number): boolean;
107
+ }
108
+
109
+ interface Float64Array<TArrayBuffer extends ArrayBufferLike> {
110
+ /**
111
+ * Determines whether an array includes a certain element, returning true or false as appropriate.
112
+ * @param searchElement The element to search for.
113
+ * @param fromIndex The position in this array at which to begin searching for searchElement.
114
+ */
115
+ includes(searchElement: number, fromIndex?: number): boolean;
116
+ }