@scriptc/compiler 0.0.12 → 0.0.13

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 (46) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +141 -15
  2. package/dist/backend/cc.d.ts +8 -0
  3. package/dist/backend/cc.js +12 -0
  4. package/dist/backend/cc.js.map +1 -1
  5. package/dist/backend/emission/emit-exprs.js +138 -12
  6. package/dist/backend/emission/emit-exprs.js.map +1 -1
  7. package/dist/backend/llvm/emitter.js +43 -6
  8. package/dist/backend/llvm/emitter.js.map +1 -1
  9. package/dist/frontend/lowering/crypto-tables.d.ts +7 -0
  10. package/dist/frontend/lowering/crypto-tables.js +139 -0
  11. package/dist/frontend/lowering/crypto-tables.js.map +1 -0
  12. package/dist/frontend/lowering/lower-builtins.d.ts +38 -20
  13. package/dist/frontend/lowering/lower-builtins.js +111 -39
  14. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  15. package/dist/frontend/lowering/lower-calls.js +8 -0
  16. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  17. package/dist/frontend/lowering/lower-classes.js +10 -2
  18. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  19. package/dist/frontend/lowering/lower-exprs.js +69 -7
  20. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  21. package/dist/frontend/lowering/lower-modules.js +1 -1
  22. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  23. package/dist/frontend/lowering/lower-server.d.ts +21 -0
  24. package/dist/frontend/lowering/lower-server.js +267 -12
  25. package/dist/frontend/lowering/lower-server.js.map +1 -1
  26. package/dist/frontend/lowering/lower-stmts.js +4 -4
  27. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  28. package/dist/frontend/lowering/lower-stream.js +1 -1
  29. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  30. package/dist/frontend/lowering/lowerer.d.ts +21 -3
  31. package/dist/frontend/lowering/lowerer.js +48 -8
  32. package/dist/frontend/lowering/lowerer.js.map +1 -1
  33. package/dist/frontend/lowering/surfaces.d.ts +6 -0
  34. package/dist/frontend/lowering/surfaces.js +76 -0
  35. package/dist/frontend/lowering/surfaces.js.map +1 -1
  36. package/dist/frontend/types.js +12 -0
  37. package/dist/frontend/types.js.map +1 -1
  38. package/dist/index.js +6 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/ir/nodes.d.ts +99 -9
  41. package/dist/ir/nodes.js +52 -1
  42. package/dist/ir/nodes.js.map +1 -1
  43. package/dist/ir/validate.js +52 -4
  44. package/dist/ir/validate.js.map +1 -1
  45. package/package.json +2 -2
  46. package/surface-manifest.json +286 -1
@@ -17,7 +17,7 @@ import { STREAM_API_MEMBERS, STREAM_PROP_MEMBERS, UNDERSCORE_METHODS, lowerStrea
17
17
  import { emitOverrideShapeReason, emitSpecSuperForward, emitterRooted, lowerEmitterSuperCall } from "./lower-emitter.js";
18
18
  import { declSymbolOf } from "./lower-modules.js";
19
19
  import { uniqueSymbolKeyOf } from "./lower-exprs.js";
20
- import { lowerHttpServerNew } from "./lower-server.js";
20
+ import { lowerHttpAgentNew, lowerHttpServerNew } from "./lower-server.js";
21
21
  import { ambientNsRootOf, ambientUndefReadType, ambientUndefVarRootOf, ambientUndefinedFnSymbolOf, fenceEarlyAliasUse, fenceEarlyNsMemberRef, nsMemberIdentOf, nsUndefRead } from "./lower-namespaces.js";
22
22
  import { mixinResultBindingClassOf } from "./lower-mixins.js";
23
23
  /** The KEY symbol behind a LATE-BOUND (`__@name@id`) property: resolved
@@ -4377,6 +4377,14 @@ export function lowerNew(L, expr) {
4377
4377
  if (httpServer)
4378
4378
  return httpServer;
4379
4379
  }
4380
+ // `new http.Agent(opts?)` / `new https.Agent(opts?)` — the Agent
4381
+ // handle (lower-server): getName/destroy/counters through the dyn
4382
+ // handle ops, requests thread it via the agent option.
4383
+ {
4384
+ const agent = lowerHttpAgentNew(L, expr);
4385
+ if (agent)
4386
+ return agent;
4387
+ }
4380
4388
  if (ts.isIdentifier(expr.expression)) {
4381
4389
  // `import C = N.C; new C()` — the alias's own source-order guards
4382
4390
  // (a no-op for every non-import= binding).
@@ -5018,7 +5026,7 @@ export function lowerNew(L, expr) {
5018
5026
  // of the generic construction rejection.
5019
5027
  {
5020
5028
  const STDLIB_CTOR_HINTS = {
5021
- Agent: "constructing an http Agent (compiled clients dial one connection per request and close it with the response — pass agent: false for Node's one-shot semantics, or omit the option)",
5029
+ Agent: "constructing an http Agent through an indirect class binding (spell the construction on the module binding — new http.Agent(...)/new https.Agent(...) or the named Agent import — which lowers to the Agent handle)",
5022
5030
  };
5023
5031
  const ctorName = ts.isIdentifier(expr.expression)
5024
5032
  ? expr.expression