rip-lang 3.17.2 → 3.17.4

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.
Binary file
@@ -32,7 +32,8 @@ cursor --install-extension ./print-latest.vsix
32
32
 
33
33
  <h2>Versions</h2>
34
34
  <ul>
35
- <li><a href="./print-1.0.15.vsix"><code>print-1.0.15.vsix</code></a></li>
35
+ <li><a href="./print-1.0.16.vsix"><code>print-1.0.16.vsix</code></a></li>
36
+ <li><a href="./print-1.0.15.vsix"><code>print-1.0.15.vsix</code></a></li>
36
37
  <li><a href="./print-1.0.14.vsix"><code>print-1.0.14.vsix</code></a></li>
37
38
  <li><a href="./print-1.0.13.vsix"><code>print-1.0.13.vsix</code></a></li>
38
39
  </ul>
@@ -32,7 +32,8 @@ cursor --install-extension ./rip-latest.vsix
32
32
 
33
33
  <h2>Versions</h2>
34
34
  <ul>
35
- <li><a href="./vscode-rip-0.7.1.vsix"><code>vscode-rip-0.7.1.vsix</code></a></li>
35
+ <li><a href="./vscode-rip-0.8.0.vsix"><code>vscode-rip-0.8.0.vsix</code></a></li>
36
+ <li><a href="./vscode-rip-0.7.1.vsix"><code>vscode-rip-0.7.1.vsix</code></a></li>
36
37
  <li><a href="./vscode-rip-0.7.0.vsix"><code>vscode-rip-0.7.0.vsix</code></a></li>
37
38
  <li><a href="./vscode-rip-0.6.0.vsix"><code>vscode-rip-0.6.0.vsix</code></a></li>
38
39
  <li><a href="./rip-0.5.15.vsix"><code>rip-0.5.15.vsix</code></a></li>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rip-lang",
3
- "version": "3.17.2",
3
+ "version": "3.17.4",
4
4
  "description": "A modern language that compiles to JavaScript",
5
5
  "type": "module",
6
6
  "main": "src/compiler.js",
package/src/lexer.js CHANGED
@@ -1391,7 +1391,11 @@ export class Lexer {
1391
1391
  this.emit('.', '.');
1392
1392
  return 2;
1393
1393
  }
1394
- else if (val === '::') { tag = 'TYPE_ANNOTATION'; this.inTypeAnnotation = true; }
1394
+ else if (val === '::') {
1395
+ // `::` is prototype access (handled above when followed by an identifier).
1396
+ // Type annotations use a single `:` (e.g. `x: T`, `def f(a: T): R`).
1397
+ syntaxError("type annotations use a single ':' (e.g. `x: number`), not '::'", {row: this.row, col: this.col, len: 2});
1398
+ }
1395
1399
  // Reactive and binding operators
1396
1400
  else if (val === '~=') tag = 'COMPUTED_ASSIGN';
1397
1401
  else if (val === ':=') tag = 'REACTIVE_ASSIGN';
@@ -904,6 +904,13 @@ class __SchemaDef {
904
904
  // a non-enumerable accessor so order.user_id and order.userId read
905
905
  // the same slot — useful when DB column names leak into user code
906
906
  // via raw SQL helpers.
907
+ //
908
+ // Temporal values arrive already decoded by the adapter: @rip-lang/db
909
+ // decodes date/datetime columns to real `Date` at the wire boundary
910
+ // (naive TIMESTAMP is read as UTC), so hydrate stores them verbatim —
911
+ // do NOT add a decode here. That keeps a single decode seam and honors
912
+ // the `date`/`datetime` -> `Date` .d.ts contract. (`_coerceDates` below
913
+ // is parse-only, for JSON/HTTP input — it never runs on this path.)
907
914
  const data = {};
908
915
  for (let i = 0; i < columns.length; i++) {
909
916
  data[__schemaCamel(columns[i].name)] = row[i];
@@ -992,6 +992,13 @@ class __SchemaDef {
992
992
  // a non-enumerable accessor so order.user_id and order.userId read
993
993
  // the same slot — useful when DB column names leak into user code
994
994
  // via raw SQL helpers.
995
+ //
996
+ // Temporal values arrive already decoded by the adapter: @rip-lang/db
997
+ // decodes date/datetime columns to real \`Date\` at the wire boundary
998
+ // (naive TIMESTAMP is read as UTC), so hydrate stores them verbatim —
999
+ // do NOT add a decode here. That keeps a single decode seam and honors
1000
+ // the \`date\`/\`datetime\` -> \`Date\` .d.ts contract. (\`_coerceDates\` below
1001
+ // is parse-only, for JSON/HTTP input — it never runs on this path.)
995
1002
  const data = {};
996
1003
  for (let i = 0; i < columns.length; i++) {
997
1004
  data[__schemaCamel(columns[i].name)] = row[i];