@barefootjs/jsx 0.20.0 → 0.21.0
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/dist/analyzer.d.ts.map +1 -1
- package/dist/builtin-lowering-plugins.d.ts.map +1 -1
- package/dist/date-lowering.d.ts +33 -0
- package/dist/date-lowering.d.ts.map +1 -0
- package/dist/index.js +441 -285
- package/dist/ir-to-client-js/emit-reactive.d.ts.map +1 -1
- package/dist/ir-to-client-js/imports.d.ts +2 -2
- package/dist/ir-to-client-js/imports.d.ts.map +1 -1
- package/dist/ir-to-client-js/types.d.ts +14 -1
- package/dist/ir-to-client-js/types.d.ts.map +1 -1
- package/dist/jsx-to-ir.d.ts.map +1 -1
- package/dist/rich-type-evidence.d.ts +11 -0
- package/dist/rich-type-evidence.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/date-lowering.test.ts +232 -0
- package/src/__tests__/rich-type-method-refusal.test.ts +21 -1
- package/src/analyzer.ts +19 -2
- package/src/builtin-lowering-plugins.ts +2 -1
- package/src/date-lowering.ts +117 -0
- package/src/ir-to-client-js/emit-reactive.ts +103 -2
- package/src/ir-to-client-js/imports.ts +4 -0
- package/src/ir-to-client-js/index.ts +2 -0
- package/src/ir-to-client-js/types.ts +15 -0
- package/src/jsx-to-ir.ts +128 -3
- package/src/rich-type-evidence.ts +2 -2
package/dist/analyzer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAA;AAK3B,OAAO,EACL,KAAK,eAAe,EAUrB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAA;AAK3B,OAAO,EACL,KAAK,eAAe,EAUrB,MAAM,uBAAuB,CAAA;AAqB9B;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAU/D;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAA;CAAE,GAAG,IAAI,CA8CpF;AAMD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,GACnB,eAAe,CA+IjB;AAugBD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAavE;AA+3CD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CA6BpE;AA2LD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAuCzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAelE;AAgrCD,eAAO,MAAM,wBAAwB,aAOnC,CAAA;AAkBF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CA0DV;AAcD,eAAO,MAAM,mBAAmB,aAG9B,CAAA;AAoRF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CA8CvE;AAMD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-lowering-plugins.d.ts","sourceRoot":"","sources":["../src/builtin-lowering-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"builtin-lowering-plugins.d.ts","sourceRoot":"","sources":["../src/builtin-lowering-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAM5D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,cAY7B,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,EAAE,SAAS,cAAc,EAAkC,CAAA;AAEhG;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Date` lowering plugin (#2274) — the first catalogued entry in the rich-type
|
|
3
|
+
* lowering seam #2273 left open (`rich-type-refusal.ts`'s module doc: "the
|
|
4
|
+
* seam #2274 and later plugins use to catalogue a rich-type API without
|
|
5
|
+
* touching this module"). A zero-arg call to one of `DATE_METHODS` on a
|
|
6
|
+
* receiver resolved (via `resolveReceiverType`) to a `Date`-typed prop lowers
|
|
7
|
+
* to a backend-neutral `helper-call` node on the `date` helper
|
|
8
|
+
* (`date(recv, op)`, spec/template-helpers.md); every adapter already renders
|
|
9
|
+
* `helper-call` generically (#2069), so no adapter-specific code is needed
|
|
10
|
+
* here — only the runtime `date` helper each backend ships.
|
|
11
|
+
*
|
|
12
|
+
* v1 scope is deliberately prop-rooted only: the matcher resolves receivers
|
|
13
|
+
* with `EMPTY_BINDINGS` (no loop-item / arrow-param context), mirroring
|
|
14
|
+
* `rich-type-refusal.ts`'s own top-level walk. A loop item's `.toISOString()`
|
|
15
|
+
* therefore stays BF021-refused rather than silently falling back to a
|
|
16
|
+
* generic (and wrong) lowering — widening to loop bindings is a deliberate
|
|
17
|
+
* future step, not an oversight.
|
|
18
|
+
*/
|
|
19
|
+
import type { LoweringPlugin } from './lowering-registry.ts';
|
|
20
|
+
/**
|
|
21
|
+
* Host rich-type names (`rich-type-evidence.ts`'s `HOST_RICH_TYPE_NAMES`)
|
|
22
|
+
* that additionally have a catalogued lowering — currently just `Date`.
|
|
23
|
+
* `analyzer.ts`'s `collectMemberTypes` widening keys off this set (not
|
|
24
|
+
* `HOST_RICH_TYPE_NAMES` wholesale) so a destructured prop only gets a real
|
|
25
|
+
* TypeInfo when a plugin actually exists to consume it; adding a future
|
|
26
|
+
* lowering (`Map`, …) is a one-line addition here, not a second gate to keep
|
|
27
|
+
* in sync.
|
|
28
|
+
*/
|
|
29
|
+
export declare const CATALOGUED_RICH_TYPE_NAMES: ReadonlySet<string>;
|
|
30
|
+
/** Zero-arg `Date.prototype` methods the `date` helper catalogues (spec/template-helpers.md). */
|
|
31
|
+
export declare const DATE_METHODS: ReadonlySet<string>;
|
|
32
|
+
export declare const datePlugin: LoweringPlugin;
|
|
33
|
+
//# sourceMappingURL=date-lowering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-lowering.d.ts","sourceRoot":"","sources":["../src/date-lowering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG1E;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAAqB,CAAA;AAEhF,iGAAiG;AACjG,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAS3C,CAAA;AAiEF,eAAO,MAAM,UAAU,EAAE,cAMxB,CAAA"}
|