goscript 0.0.6 → 0.0.8

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 (128) hide show
  1. package/README.md +22 -7
  2. package/builtin/builtin.ts +31 -21
  3. package/compiler/compile_expr.go +6 -2
  4. package/compiler/compile_stmt.go +15 -26
  5. package/dist/builtin/builtin.d.ts +1 -1
  6. package/dist/builtin/builtin.js +29 -18
  7. package/dist/builtin/builtin.js.map +1 -1
  8. package/dist/compliance/tests/array_literal/array_literal.gs.d.ts +1 -0
  9. package/dist/compliance/tests/array_literal/array_literal.gs.js +14 -0
  10. package/dist/compliance/tests/array_literal/array_literal.gs.js.map +1 -0
  11. package/dist/compliance/tests/async_basic/async_basic.gs.d.ts +1 -0
  12. package/dist/compliance/tests/async_basic/async_basic.gs.js +24 -0
  13. package/dist/compliance/tests/async_basic/async_basic.gs.js.map +1 -0
  14. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.d.ts +1 -0
  15. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.js +16 -0
  16. package/dist/compliance/tests/basic_arithmetic/basic_arithmetic.gs.js.map +1 -0
  17. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.d.ts +1 -0
  18. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.js +14 -0
  19. package/dist/compliance/tests/boolean_logic/boolean_logic.gs.js.map +1 -0
  20. package/dist/compliance/tests/channel_basic/channel_basic.gs.d.ts +1 -0
  21. package/dist/compliance/tests/channel_basic/channel_basic.gs.js +14 -0
  22. package/dist/compliance/tests/channel_basic/channel_basic.gs.js.map +1 -0
  23. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.d.ts +1 -0
  24. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js +23 -0
  25. package/dist/compliance/tests/composite_literal_assignment/composite_literal_assignment.gs.js.map +1 -0
  26. package/dist/compliance/tests/constants/constants.gs.d.ts +1 -0
  27. package/dist/compliance/tests/constants/constants.gs.js +16 -0
  28. package/dist/compliance/tests/constants/constants.gs.js.map +1 -0
  29. package/dist/compliance/tests/copy_independence/copy_independence.gs.d.ts +1 -0
  30. package/dist/compliance/tests/copy_independence/copy_independence.gs.js +31 -0
  31. package/dist/compliance/tests/copy_independence/copy_independence.gs.js.map +1 -0
  32. package/dist/compliance/tests/float64/float64.gs.d.ts +1 -0
  33. package/dist/compliance/tests/float64/float64.gs.js +23 -0
  34. package/dist/compliance/tests/float64/float64.gs.js.map +1 -0
  35. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.d.ts +1 -0
  36. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.js +10 -0
  37. package/dist/compliance/tests/for_loop_basic/for_loop_basic.gs.js.map +1 -0
  38. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.d.ts +1 -0
  39. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.js +11 -0
  40. package/dist/compliance/tests/for_loop_condition_only/for_loop_condition_only.gs.js.map +1 -0
  41. package/dist/compliance/tests/for_loop_condition_only/main.gs.d.ts +1 -0
  42. package/dist/compliance/tests/for_loop_condition_only/main.gs.js +10 -0
  43. package/dist/compliance/tests/for_loop_condition_only/main.gs.js.map +1 -0
  44. package/dist/compliance/tests/for_range/for_range.gs.d.ts +1 -0
  45. package/dist/compliance/tests/for_range/for_range.gs.js +39 -0
  46. package/dist/compliance/tests/for_range/for_range.gs.js.map +1 -0
  47. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.d.ts +1 -0
  48. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.js +15 -0
  49. package/dist/compliance/tests/for_range_index_use/for_range_index_use.gs.js.map +1 -0
  50. package/dist/compliance/tests/func_literal/func_literal.gs.d.ts +1 -0
  51. package/dist/compliance/tests/func_literal/func_literal.gs.js +10 -0
  52. package/dist/compliance/tests/func_literal/func_literal.gs.js.map +1 -0
  53. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.d.ts +10 -0
  54. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js +26 -0
  55. package/dist/compliance/tests/function_call_result_assignment/function_call_result_assignment.gs.js.map +1 -0
  56. package/dist/compliance/tests/if_statement/if_statement.gs.d.ts +1 -0
  57. package/dist/compliance/tests/if_statement/if_statement.gs.js +13 -0
  58. package/dist/compliance/tests/if_statement/if_statement.gs.js.map +1 -0
  59. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.d.ts +1 -0
  60. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js +26 -0
  61. package/dist/compliance/tests/interface_to_interface_type_assertion/interface_to_interface_type_assertion.gs.js.map +1 -0
  62. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.d.ts +1 -0
  63. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js +26 -0
  64. package/dist/compliance/tests/interface_type_assertion/interface_type_assertion.gs.js.map +1 -0
  65. package/dist/compliance/tests/map_support/map_support.gs.d.ts +1 -0
  66. package/dist/compliance/tests/map_support/map_support.gs.js +88 -0
  67. package/dist/compliance/tests/map_support/map_support.gs.js.map +1 -0
  68. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.d.ts +1 -0
  69. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js +22 -0
  70. package/dist/compliance/tests/method_call_on_pointer_receiver/method_call_on_pointer_receiver.gs.js.map +1 -0
  71. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.d.ts +1 -0
  72. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js +30 -0
  73. package/dist/compliance/tests/method_call_on_pointer_via_value/method_call_on_pointer_via_value.gs.js.map +1 -0
  74. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.d.ts +1 -0
  75. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js +19 -0
  76. package/dist/compliance/tests/method_call_on_value_receiver/method_call_on_value_receiver.gs.js.map +1 -0
  77. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.d.ts +1 -0
  78. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js +30 -0
  79. package/dist/compliance/tests/method_call_on_value_via_pointer/method_call_on_value_via_pointer.gs.js.map +1 -0
  80. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.d.ts +1 -0
  81. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.js +17 -0
  82. package/dist/compliance/tests/multiple_return_values/multiple_return_values.gs.js.map +1 -0
  83. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.d.ts +1 -0
  84. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js +26 -0
  85. package/dist/compliance/tests/pointer_assignment_no_copy/pointer_assignment_no_copy.gs.js.map +1 -0
  86. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.d.ts +1 -0
  87. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js +24 -0
  88. package/dist/compliance/tests/pointer_composite_literal_assignment/pointer_composite_literal_assignment.gs.js.map +1 -0
  89. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.d.ts +1 -0
  90. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js +19 -0
  91. package/dist/compliance/tests/pointer_deref_multiassign/pointer_deref_multiassign.gs.js.map +1 -0
  92. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.d.ts +1 -0
  93. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js +18 -0
  94. package/dist/compliance/tests/pointer_initialization/pointer_initialization.gs.js.map +1 -0
  95. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.d.ts +1 -0
  96. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js +27 -0
  97. package/dist/compliance/tests/select_receive_on_closed_channel_no_default/select_receive_on_closed_channel_no_default.gs.js.map +1 -0
  98. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.d.ts +1 -0
  99. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.js +29 -0
  100. package/dist/compliance/tests/select_send_on_full_buffered_channel_with_default/select_send_on_full_buffered_channel_with_default.gs.js.map +1 -0
  101. package/dist/compliance/tests/select_statement/select_statement.gs.d.ts +1 -0
  102. package/dist/compliance/tests/select_statement/select_statement.gs.js +209 -0
  103. package/dist/compliance/tests/select_statement/select_statement.gs.js.map +1 -0
  104. package/dist/compliance/tests/simple/simple.gs.d.ts +1 -0
  105. package/dist/compliance/tests/simple/simple.gs.js +6 -0
  106. package/dist/compliance/tests/simple/simple.gs.js.map +1 -0
  107. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.d.ts +1 -0
  108. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js +22 -0
  109. package/dist/compliance/tests/simple_deref_assignment/simple_deref_assignment.gs.js.map +1 -0
  110. package/dist/compliance/tests/slices/slices.gs.d.ts +1 -0
  111. package/dist/compliance/tests/slices/slices.gs.js +21 -0
  112. package/dist/compliance/tests/slices/slices.gs.js.map +1 -0
  113. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.d.ts +1 -0
  114. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js +17 -0
  115. package/dist/compliance/tests/string_rune_conversion/string_rune_conversion.gs.js.map +1 -0
  116. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.d.ts +1 -0
  117. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js +16 -0
  118. package/dist/compliance/tests/struct_field_access/struct_field_access.gs.js.map +1 -0
  119. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.d.ts +1 -0
  120. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js +27 -0
  121. package/dist/compliance/tests/struct_value_init_clone/struct_value_init_clone.gs.js.map +1 -0
  122. package/dist/compliance/tests/switch_statement/switch_statement.gs.d.ts +1 -0
  123. package/dist/compliance/tests/switch_statement/switch_statement.gs.js +76 -0
  124. package/dist/compliance/tests/switch_statement/switch_statement.gs.js.map +1 -0
  125. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.d.ts +1 -0
  126. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js +29 -0
  127. package/dist/compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.js.map +1 -0
  128. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ // Generated file based on value_type_copy_behavior.go
2
+ // Updated when compliance tests are re-run, DO NOT EDIT!
3
+ class MyStruct {
4
+ MyInt = 0;
5
+ MyString = "";
6
+ myBool = false;
7
+ constructor(init) { if (init)
8
+ Object.assign(this, init); }
9
+ clone() { return Object.assign(Object.create(MyStruct.prototype), this); }
10
+ }
11
+ export async function main() {
12
+ let dereferencedStructCopy = new MyStruct({ MyString: "original" });
13
+ // === Value-Type Copy Behavior ===
14
+ // Assigning a struct (value type) creates independent copies.
15
+ let valueCopy1 = dereferencedStructCopy.clone();
16
+ let valueCopy2 = dereferencedStructCopy.clone();
17
+ let pointerCopy = dereferencedStructCopy;
18
+ // Modifications to one copy do not affect others or the original.
19
+ valueCopy1.MyString = "value copy 1";
20
+ dereferencedStructCopy.MyString = "original dereferenced copy modified"; // Modify the source of the copies
21
+ valueCopy2.MyString = "value copy 2";
22
+ // Expected: "value copy 1"
23
+ console.log("valueCopy1: Expected: value copy 1, Actual: " + valueCopy1.MyString);
24
+ // Expected: "original dereferenced copy modified"
25
+ console.log("dereferencedStructCopy (modified after copies were made): Expected: original dereferenced copy modified, Actual: " + dereferencedStructCopy.MyString);
26
+ // Expected: "value copy 2"
27
+ console.log("valueCopy2: Expected: value copy 2, Actual: " + valueCopy2.MyString);
28
+ }
29
+ //# sourceMappingURL=value_type_copy_behavior.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value_type_copy_behavior.gs.js","sourceRoot":"","sources":["../../../../compliance/tests/value_type_copy_behavior/value_type_copy_behavior.gs.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AAIzD,MAAM,QAAQ;IACN,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAW,EAAE,CAAC;IACrB,MAAM,GAAY,KAAK,CAAC;IAEhC,YAAY,IAAwB,IAAI,IAAI,IAAI;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC,CAAC;IAC9E,KAAK,KAAe,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACzB,IAAI,sBAAsB,GAAG,IAAI,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,mCAAmC;IACnC,8DAA8D;IAC9D,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAC/C,IAAI,WAAW,GAAG,sBAAsB,CAAA;IACxC,kEAAkE;IAClE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,sBAAsB,CAAC,QAAQ,GAAG,qCAAqC,CAAA,CAAC,kCAAkC;IAC1G,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAA;IACpC,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjF,kDAAkD;IAClD,OAAO,CAAC,GAAG,CAAC,mHAAmH,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAClK,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAClF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goscript",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Go to TypeScript compiler",
5
5
  "bin": {
6
6
  "goscript": "./cmd/goscript/main.js"