rip-lang 2.8.5 → 2.8.7

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.
package/README.md CHANGED
@@ -9,9 +9,9 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-2.8.5-blue.svg" alt="Version"></a>
12
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-2.8.7-blue.svg" alt="Version"></a>
13
13
  <a href="#zero-dependencies"><img src="https://img.shields.io/badge/dependencies-ZERO-brightgreen.svg" alt="Dependencies"></a>
14
- <a href="#"><img src="https://img.shields.io/badge/tests-1021%2F1021-brightgreen.svg" alt="Tests"></a>
14
+ <a href="#"><img src="https://img.shields.io/badge/tests-1098%2F1098-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
16
16
  </p>
17
17
 
@@ -122,6 +122,8 @@ State, computed values, and effects as language operators:
122
122
  | `=~` | `str =~ /Hello, (\w+)/` | Match (captures in `_`) |
123
123
  | `[//, n]` | `str[/Hello, (\w+)/, 1]` | Extract capture n |
124
124
  | `.new()` | `Dog.new()` | Ruby-style constructor |
125
+ | `or return` | `x = get() or return err` | Guard clause (Ruby-style) |
126
+ | `?? throw` | `x = get() ?? throw err` | Nullish guard (null/undefined only) |
125
127
 
126
128
  **Optional chaining** — Both CoffeeScript and ES6 styles are supported:
127
129
 
@@ -261,7 +263,7 @@ rip file.rip # Run
261
263
  rip -c file.rip # Compile
262
264
  rip -t file.rip # Tokens
263
265
  rip -s file.rip # S-expressions
264
- bun run test # 1021 tests
266
+ bun run test # 1098 tests
265
267
  bun run parser # Rebuild parser
266
268
  bun run browser # Build browser bundle
267
269
  ```