marko 6.0.79 → 6.0.81

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 (39) hide show
  1. package/dist/debug/dom.js +8 -0
  2. package/dist/debug/dom.mjs +8 -0
  3. package/dist/debug/html.js +261 -252
  4. package/dist/debug/html.mjs +259 -252
  5. package/dist/dom/signals.d.ts +7 -0
  6. package/dist/dom.d.ts +1 -1
  7. package/dist/dom.js +6 -0
  8. package/dist/dom.mjs +6 -0
  9. package/dist/html/compat.d.ts +1 -1
  10. package/dist/html/dynamic-tag.d.ts +1 -1
  11. package/dist/html/writer.d.ts +3 -0
  12. package/dist/html.d.ts +1 -1
  13. package/dist/html.js +168 -157
  14. package/dist/html.mjs +166 -157
  15. package/dist/translator/index.js +2183 -1900
  16. package/dist/translator/util/binding-prop-tree.d.ts +8 -0
  17. package/dist/translator/util/entry-builder.d.ts +0 -1
  18. package/dist/translator/util/generate-uid.d.ts +2 -1
  19. package/dist/translator/util/is-event-or-change-handler.d.ts +1 -0
  20. package/dist/translator/util/known-tag.d.ts +23 -0
  21. package/dist/translator/util/nested-attribute-tags.d.ts +1 -0
  22. package/dist/translator/util/optional.d.ts +2 -1
  23. package/dist/translator/util/references.d.ts +9 -4
  24. package/dist/translator/util/sections.d.ts +8 -5
  25. package/dist/translator/util/serialize-guard.d.ts +5 -0
  26. package/dist/translator/util/serialize-reasons.d.ts +13 -18
  27. package/dist/translator/util/set-tag-sections-downstream.d.ts +4 -0
  28. package/dist/translator/util/signals.d.ts +2 -1
  29. package/dist/translator/util/walks.d.ts +1 -1
  30. package/dist/translator/util/writer.d.ts +7 -3
  31. package/dist/translator/visitors/function.d.ts +4 -0
  32. package/dist/translator/visitors/program/html.d.ts +0 -4
  33. package/dist/translator/visitors/program/index.d.ts +10 -17
  34. package/dist/translator/visitors/tag/custom-tag.d.ts +0 -12
  35. package/dist/translator/visitors/tag/dynamic-tag.d.ts +2 -0
  36. package/package.json +2 -2
  37. package/tags/debug.d.marko +1 -1
  38. package/tags/log.d.marko +1 -1
  39. package/tags/do.d.marko +0 -5
@@ -0,0 +1,8 @@
1
+ import { type Binding } from "./references";
2
+ export type BindingPropTree = {
3
+ binding: Binding;
4
+ props: {
5
+ [prop: string]: BindingPropTree;
6
+ } | undefined;
7
+ };
8
+ export declare function getBindingPropTree(binding: Binding): BindingPropTree;
@@ -3,7 +3,6 @@ declare module "@marko/compiler/dist/types" {
3
3
  interface ProgramExtra {
4
4
  needsCompat?: boolean;
5
5
  isInteractive?: boolean;
6
- hasInteractiveChild?: boolean;
7
6
  }
8
7
  }
9
8
  type EntryFile = t.BabelFile & {
@@ -1,6 +1,7 @@
1
1
  import { types as t } from "@marko/compiler";
2
+ import type { Section } from "./sections";
2
3
  export declare function generateUid(name?: string): string;
3
4
  export declare function generateUidIdentifier(name?: string): t.Identifier;
4
- export declare function getSharedUid(name: string): string;
5
+ export declare function getSharedUid(name: string, section?: Section): string;
5
6
  export declare function usedSharedUid(name: string): boolean;
6
7
  export declare function getSharedUidIdentifier(name: string): t.Identifier;
@@ -0,0 +1 @@
1
+ export declare function isEventOrChangeHandler(prop: string): boolean;
@@ -0,0 +1,23 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { BindingPropTree } from "./binding-prop-tree";
3
+ import { type Binding } from "./references";
4
+ import { type Section } from "./sections";
5
+ interface KnownExprs {
6
+ known?: Record<string, KnownExprs>;
7
+ value?: t.NodeExtra;
8
+ }
9
+ declare const kChildScopeBinding: unique symbol;
10
+ declare const kChildOffsetScopeBinding: unique symbol;
11
+ declare const kKnownExprs: unique symbol;
12
+ declare module "@marko/compiler/dist/types" {
13
+ interface MarkoTagExtra {
14
+ [kChildScopeBinding]?: Binding;
15
+ [kChildOffsetScopeBinding]?: Binding;
16
+ [kKnownExprs]?: KnownExprs;
17
+ }
18
+ }
19
+ export declare function knownTagAnalyze(tag: t.NodePath<t.MarkoTag>, contentSection: Section, propTree: BindingPropTree | undefined): void;
20
+ export declare function knownTagTranslateHTML(tag: t.NodePath<t.MarkoTag>, tagIdentifier: t.Expression, contentSection: Section, propTree: BindingPropTree | undefined): void;
21
+ export declare function knownTagTranslateDOM(tag: t.NodePath<t.MarkoTag>, propTree: BindingPropTree | undefined, getBindingIdentifier: (binding: Binding, preferedName?: string) => t.Identifier, callSetup: (section: Section, childBinding: Binding) => void): void;
22
+ export declare function getTagRelativePath(tag: t.NodePath<t.MarkoTag>): string;
23
+ export {};
@@ -5,6 +5,7 @@ export type AttrTagLookup = Record<string, {
5
5
  repeated: boolean;
6
6
  group: AttrTagNames;
7
7
  }>;
8
+ export type AttrTagGroup = AttrTagLookup[string]["group"];
8
9
  type AttrTagNames = string[];
9
10
  declare module "@marko/compiler/dist/types" {
10
11
  interface MarkoTagExtra {
@@ -12,7 +12,7 @@ export declare class Sorted<T> {
12
12
  findIndex<U extends NonNullable<T>>(data: Opt<U>, item: U): number;
13
13
  isSuperset<U extends NonNullable<T>>(superset: Opt<U>, subset: Opt<U>): boolean;
14
14
  }
15
- export declare function push<T>(data: Opt<T>, item: T): Opt<T>;
15
+ export declare function push<T>(data: Opt<T>, item: T): OneMany<T>;
16
16
  export declare function concat<T>(a: Opt<T>, b: Opt<T>): Opt<T>;
17
17
  export declare function size<T>(data: Opt<T>): number;
18
18
  export declare function filter<T>(data: Opt<T>, cb: (item: T) => boolean): Opt<T>;
@@ -25,3 +25,4 @@ export declare function filterMap<T, R>(data: Opt<T>, cb: (item: T) => undefined
25
25
  export declare function findSorted<T>(compare: Compare<T>, data: T[], item: T): T | undefined;
26
26
  export declare function findIndexSorted<T>(compare: Compare<T>, data: T[], item: T): number;
27
27
  export declare function addSorted<T, U extends T[]>(compare: Compare<T>, data: U, item: T): U;
28
+ export declare function groupBy<T, U>(data: Opt<T>, cb: (item: T) => U): Map<U, OneMany<T>>;
@@ -1,6 +1,7 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import { type Many, type Opt, Sorted } from "./optional";
3
3
  import { type Section } from "./sections";
4
+ import { type SerializeReason } from "./serialize-reasons";
4
5
  declare const kIsInvoked: unique symbol;
5
6
  export declare const kBranchSerializeReason: unique symbol;
6
7
  export type Aliases = undefined | Binding | {
@@ -17,7 +18,7 @@ export declare enum BindingType {
17
18
  }
18
19
  export interface Sources {
19
20
  state: Opt<Binding>;
20
- input: Opt<InputBinding>;
21
+ param: Opt<InputBinding | ParamBinding>;
21
22
  }
22
23
  export interface Binding {
23
24
  id: number;
@@ -43,6 +44,9 @@ export interface Binding {
43
44
  export interface InputBinding extends Binding {
44
45
  type: BindingType.input;
45
46
  }
47
+ export interface ParamBinding extends Binding {
48
+ type: BindingType.param;
49
+ }
46
50
  export type ReferencedBindings = Opt<Binding>;
47
51
  export type Intersection = Many<Binding>;
48
52
  type FnExtra = (t.FunctionExpressionExtra | t.ArrowFunctionExpressionExtra | t.FunctionDeclarationExtra) & {
@@ -87,7 +91,7 @@ export declare const intersectionMeta: WeakMap<Intersection, {
87
91
  scopeOffset: Binding | undefined;
88
92
  }>;
89
93
  export declare function setBindingDownstream(binding: Binding, expr: boolean | Opt<t.NodeExtra>): void;
90
- export declare function createSources(state: Sources["state"], input: Sources["input"]): Sources;
94
+ export declare function createSources(state: Sources["state"], param: Sources["param"]): Sources;
91
95
  export declare function compareSources(a: Sources, b: Sources): number;
92
96
  export declare function mergeSources(a: undefined | Sources, b: undefined | Sources): Sources | undefined;
93
97
  export declare const bindingUtil: Sorted<Binding>;
@@ -116,12 +120,13 @@ export interface AssignedBindingExtra extends ReferencedExtra {
116
120
  export declare function isAssignedBindingExtra(extra: t.NodeExtra | undefined): extra is AssignedBindingExtra;
117
121
  export interface RegisteredFnExtra extends ReferencedExtra {
118
122
  registerId: string;
123
+ registerReason: SerializeReason;
119
124
  name: string;
120
125
  referencesScope?: boolean;
121
126
  referencedBindingsInFunction: ReferencedBindings;
122
127
  }
123
128
  export declare function isRegisteredFnExtra(extra: t.NodeExtra | undefined): extra is RegisteredFnExtra;
124
129
  export declare function getCanonicalExtra<T extends t.NodeExtra>(extra: T): T;
125
- export declare function couldSerializeExtra(extra: t.NodeExtra): boolean;
126
- export declare function couldSerializeBinding(binding: Binding): boolean;
130
+ export declare function getAllSerializeReasonsForExtra(extra: t.NodeExtra): undefined | SerializeReason;
131
+ export declare function getAllSerializeReasonsForBinding(binding: Binding): undefined | SerializeReason;
127
132
  export {};
@@ -1,8 +1,9 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import type { AccessorPrefix } from "../../common/accessor.debug";
3
+ import type { ParamSerializeReasonGroups } from "../visitors/program";
3
4
  import { Sorted } from "./optional";
4
- import type { Binding, ReferencedBindings } from "./references";
5
- import { type SerializeReason } from "./serialize-reasons";
5
+ import { type Binding, type InputBinding, type ParamBinding, type ReferencedBindings } from "./references";
6
+ import type { SerializeReason } from "./serialize-reasons";
6
7
  export declare enum ContentType {
7
8
  Comment = 0,
8
9
  Dynamic = 1,
@@ -20,7 +21,7 @@ export interface Section {
20
21
  binding: Binding;
21
22
  prefix: AccessorPrefix;
22
23
  } | undefined;
23
- params: undefined | Binding;
24
+ params: undefined | ParamBinding | InputBinding;
24
25
  referencedLocalClosures: ReferencedBindings;
25
26
  referencedClosures: ReferencedBindings;
26
27
  referencedHoists: ReferencedBindings;
@@ -28,9 +29,11 @@ export interface Section {
28
29
  hoisted: ReferencedBindings;
29
30
  serializeReason: undefined | SerializeReason;
30
31
  serializeReasons: Map<symbol, SerializeReason>;
32
+ paramReasonGroups: ParamSerializeReasonGroups | undefined;
33
+ returnSerializeReason: SerializeReason | undefined;
31
34
  isHoistThrough: true | undefined;
32
35
  upstreamExpression: t.NodeExtra | undefined;
33
- downstreamBinding: Binding | undefined;
36
+ downstreamBinding: Binding | undefined | false;
34
37
  hasAbortSignal: boolean;
35
38
  isBranch: boolean;
36
39
  content: null | {
@@ -59,7 +62,7 @@ export declare const getScopeIdentifier: (section: Section, ignoreDefault?: bool
59
62
  export declare function forEachSection(fn: (section: Section) => void): void;
60
63
  export declare function forEachSectionReverse(fn: (section: Section) => void): void;
61
64
  export declare function getNodeContentType(path: t.NodePath<t.Statement>, extraMember: "startType" | "endType", contentInfo?: Section["content"]): ContentType | null;
62
- export declare const isSerializedSection: (section: Section) => boolean;
65
+ export declare function getSectionRegisterReasons(section: Section): false | SerializeReason | undefined;
63
66
  export declare function isSectionWithHoists(section: Section): boolean;
64
67
  export declare function isImmediateOwner(section: Section, binding: Binding): boolean;
65
68
  export declare function isDirectClosure(section: Section, closure: Binding): boolean;
@@ -0,0 +1,5 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { SerializeReason, SerializeReasons } from "./serialize-reasons";
3
+ export declare function getSerializeGuard(reason: undefined | SerializeReason, optional: boolean): t.Expression | undefined;
4
+ export declare function getSerializeGuardForAny(reasons: undefined | SerializeReasons, optional: boolean): t.Expression | undefined;
5
+ export declare function getExprIfSerialized<T extends undefined | SerializeReason, U extends t.Expression>(reason: T, expr: U): T extends {} ? U : undefined;
@@ -1,32 +1,27 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import { AccessorPrefix, AccessorProp } from "../../common/types";
3
- import { type Opt } from "./optional";
4
- import { type Binding, type ReferencedBindings, type Sources } from "./references";
3
+ import { type OneMany, type Opt } from "./optional";
4
+ import { type Binding, type InputBinding, type ParamBinding, type ReferencedBindings, type Sources } from "./references";
5
5
  import type { Section } from "./sections";
6
6
  export type SerializeReasons = true | [Sources, ...Sources[]];
7
7
  export type SerializeReason = true | Sources;
8
8
  export type SerializeKey = symbol & {
9
9
  __serialize_key__: 1;
10
10
  };
11
- export declare function forceOwnersSerialize(from: Section, to: Section, prop?: AccessorProp | symbol): void;
12
- export declare function addOwnersSerializeReason(from: Section, to: Section, reason: undefined | boolean | SerializeReason, prop?: AccessorProp | symbol): void;
13
- export declare function forceSectionSerialize(section: Section, prop?: AccessorProp | symbol): void;
14
- export declare function forceBindingSerialize(section: Section, binding: Binding, prefix?: AccessorPrefix | symbol): void;
15
- export declare function isSectionForceSerialized(section: Section, prop?: AccessorProp | symbol): boolean;
16
- export declare function isBindingForceSerialized(section: Section, binding: Binding, prefix?: AccessorPrefix | symbol): boolean;
17
- export declare function addSectionSerializeReasonExpr(section: Section, expr: undefined | boolean | Opt<t.NodeExtra>, prop?: AccessorProp | symbol): void;
18
- export declare function addBindingSerializeReasonExpr(section: Section, binding: Binding, expr: undefined | boolean | Opt<t.NodeExtra>, prefix?: AccessorPrefix | symbol): void;
19
- export declare function addSectionSerializeReasonRef(section: Section, ref: undefined | boolean | ReferencedBindings, prop?: AccessorProp | symbol): void;
20
- export declare function addBindingSerializeReasonRef(section: Section, binding: Binding, ref: undefined | boolean | ReferencedBindings, prefix?: AccessorPrefix | symbol): void;
21
- export declare function addSectionSerializeReason(section: Section, reason: undefined | false | SerializeReason, prop?: AccessorProp | symbol): void;
22
- export declare function addBindingSerializeReason(section: Section, binding: Binding, reason: undefined | false | SerializeReason, prefix?: AccessorPrefix | symbol): void;
23
- export declare function getSectionSerializeReason(section: Section, prop?: AccessorProp | symbol): SerializeReason | undefined;
24
- export declare function getBindingSerializeReason(section: Section, binding: Binding, prefix?: AccessorPrefix | symbol): SerializeReason | undefined;
25
- export declare function applySerializeReasonExprs(section: Section): void;
26
- export declare function finalizeSectionSerializeReasons(section: Section): void;
11
+ export declare function isForceSerialized(section: Section, prop?: Binding | AccessorProp | symbol, prefix?: AccessorPrefix | symbol): boolean;
12
+ export declare function addSerializeReason(section: Section, reason: undefined | false | SerializeReason, prop?: Binding | AccessorProp | symbol, prefix?: AccessorPrefix | symbol): void;
13
+ export declare function addSerializeExpr(section: Section, expr: boolean | Opt<t.NodeExtra>, prop?: Binding | AccessorProp | symbol, prefix?: AccessorPrefix | symbol): void;
14
+ export declare function addOwnerSerializeReason(from: Section, to: Section, reason: undefined | boolean | SerializeReason): void;
15
+ export declare function isReasonDynamic(reason: undefined | SerializeReason): reason is {
16
+ state: undefined;
17
+ param: OneMany<InputBinding | ParamBinding>;
18
+ };
19
+ export declare function getSerializeReason(section: Section, prop?: Binding | AccessorProp | symbol, prefix?: AccessorPrefix | symbol): SerializeReason | undefined;
27
20
  export declare function getSerializeSourcesForExpr(expr: t.NodeExtra): Sources | undefined;
28
21
  export declare function getSerializeSourcesForExprs(exprs: Opt<t.NodeExtra>): Sources | undefined;
29
22
  export declare function getSerializeSourcesForRef(ref: ReferencedBindings): Sources | undefined;
30
23
  export declare function mergeSerializeReasons(a: SerializeReason, b: undefined | SerializeReason): SerializeReason;
31
24
  export declare function mergeSerializeReasons(a: undefined | SerializeReason, b: SerializeReason): SerializeReason;
32
25
  export declare function mergeSerializeReasons(a: undefined | SerializeReason, b: undefined | SerializeReason): SerializeReason | undefined;
26
+ export declare function applySerializeExprs(section: Section): void;
27
+ export declare function finalizeSerializeReason(section: Section): void;
@@ -0,0 +1,4 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { Binding } from "./references";
3
+ export declare function setTagDownstream(tag: t.NodePath<t.MarkoTag>, binding: undefined | false | Binding): void;
4
+ export declare function finalizeTagDownstreams(): void;
@@ -8,7 +8,7 @@ export type Signal = {
8
8
  valueAccessor?: t.Expression;
9
9
  referencedBindings: ReferencedBindings;
10
10
  section: Section;
11
- build: undefined | (() => t.Expression);
11
+ build: undefined | (() => t.Expression | undefined);
12
12
  register?: boolean;
13
13
  values: Array<{
14
14
  signal: Signal;
@@ -34,6 +34,7 @@ export declare const getHTMLSectionStatements: (section: Section) => t.Statement
34
34
  export declare function getHoistFunctionIdentifier(hoistedBinding: Binding): t.Identifier;
35
35
  export declare function getSignal(section: Section, referencedBindings: ReferencedBindings, name?: string): Signal;
36
36
  export declare function initValue(binding: Binding, isLet?: boolean): Signal;
37
+ export declare function signalHasStatements(signal: Signal): boolean;
37
38
  export declare function getSignalFn(signal: Signal): t.Expression;
38
39
  export declare function subscribe(references: ReferencedBindings, subscriber: Signal): void;
39
40
  export declare function replaceNullishAndEmptyFunctionsWith0(args: (t.Expression | undefined | false)[]): t.Expression[];
@@ -9,7 +9,7 @@ type VisitCodes = WalkCode.Get | WalkCode.Inside | WalkCode.Replace | WalkCode.D
9
9
  export declare function enter(path: t.NodePath<any>): void;
10
10
  export declare function exit(path: t.NodePath<any>): void;
11
11
  export declare function enterShallow(path: t.NodePath<any>): void;
12
- export declare function injectWalks(tag: t.NodePath<t.MarkoTag>, expr: t.Expression): void;
12
+ export declare function injectWalks(tag: t.NodePath<t.MarkoTag>, expr: t.Expression | undefined): void;
13
13
  export declare function visit(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder | t.Program>, code: VisitCodes): void;
14
14
  export declare function getWalkString(section: Section): t.Expression | undefined;
15
15
  export {};
@@ -6,9 +6,13 @@ export declare function writeTo(path: t.NodePath<any>, trailer?: boolean): (strs
6
6
  export declare function consumeHTML(path: t.NodePath<any>): t.ExpressionStatement | undefined;
7
7
  export declare function flushBefore(path: t.NodePath<any>): void;
8
8
  export declare function flushInto(path: t.NodePath<t.MarkoTag> | t.NodePath<t.Program>): void;
9
- export declare function getSectionMeta(section: Section): {
10
- setup: t.Identifier | undefined;
9
+ interface SectionMeta {
10
+ setup: t.Expression | undefined;
11
11
  walks: t.Expression | undefined;
12
12
  writes: t.Expression | undefined;
13
- };
13
+ decls: t.VariableDeclarator[] | undefined;
14
+ }
15
+ export declare const getSectionMeta: (section: Section) => SectionMeta;
16
+ export declare function getSectionMetaIdentifiers(section: Section): SectionMeta;
14
17
  export declare function markNode(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder>, nodeBinding: Binding, reason: undefined | false | SerializeReason): void;
18
+ export {};
@@ -1,15 +1,19 @@
1
1
  import { types as t } from "@marko/compiler";
2
+ import { type SerializeReason } from "../util/serialize-reasons";
2
3
  declare module "@marko/compiler/dist/types" {
3
4
  interface FunctionDeclarationExtra {
4
5
  registerId?: string;
6
+ registerReason?: SerializeReason;
5
7
  name?: string;
6
8
  }
7
9
  interface FunctionExpressionExtra {
8
10
  registerId?: string;
11
+ registerReason?: SerializeReason;
9
12
  name?: string;
10
13
  }
11
14
  interface ArrowFunctionExpressionExtra {
12
15
  registerId?: string;
16
+ registerReason?: SerializeReason;
13
17
  name?: string;
14
18
  }
15
19
  }
@@ -1,9 +1,5 @@
1
1
  import { types as t } from "@marko/compiler";
2
- import type { SerializeReason, SerializeReasons } from "../../util/serialize-reasons";
3
2
  export declare function getTemplateContentName(): string;
4
- export declare function getSerializeGuard(reason: undefined | SerializeReason, optional: boolean): t.CallExpression | t.NumericLiteral | undefined;
5
- export declare function getSerializeGuardForAny(reasons: undefined | SerializeReasons, optional: boolean): t.Expression | undefined;
6
- export declare function getExprIfSerialized<T extends undefined | SerializeReason, U extends t.Expression>(reason: T, expr: U): T extends {} ? U : undefined;
7
3
  declare const _default: {
8
4
  translate: {
9
5
  exit(this: unknown, program: t.NodePath<t.Program>): void;
@@ -1,31 +1,24 @@
1
1
  import { types as t } from "@marko/compiler";
2
- import { type Binding, type Sources } from "../../util/references";
3
- export type InputSerializeReason = NonNullable<Sources["input"]>;
4
- export type InputSerializeReasons = [
5
- InputSerializeReason,
6
- ...InputSerializeReason[]
2
+ import { type BindingPropTree } from "../../util/binding-prop-tree";
3
+ import { type Sources } from "../../util/references";
4
+ import { type Section } from "../../util/sections";
5
+ export type ParamSerializeReason = NonNullable<Sources["param"]>;
6
+ export type ParamSerializeReasonGroups = [
7
+ ParamSerializeReason,
8
+ ...ParamSerializeReason[]
7
9
  ];
8
10
  export declare let cleanIdentifier: t.Identifier;
9
11
  export declare let scopeIdentifier: t.Identifier;
10
12
  export declare function isScopeIdentifier(node: t.Node): node is t.Identifier;
11
- export type TemplateExport = {
12
- id: string;
13
- binding: Binding;
14
- props: {
15
- [prop: string]: TemplateExport;
16
- } | undefined;
17
- };
18
- export type TemplateExports = TemplateExport["props"];
13
+ export type TemplateExports = BindingPropTree["props"];
19
14
  declare module "@marko/compiler/dist/types" {
20
15
  interface ProgramExtra {
21
- inputSerializeReasons?: InputSerializeReasons;
22
- returnSerializeReason?: InputSerializeReason | true;
23
16
  returnValueExpr?: t.NodeExtra;
24
17
  domExports?: {
25
18
  template: string;
26
19
  walks: string;
27
20
  setup: string;
28
- input: TemplateExport | undefined;
21
+ params: BindingPropTree | undefined;
29
22
  };
30
23
  }
31
24
  }
@@ -44,4 +37,4 @@ declare const _default: {
44
37
  };
45
38
  };
46
39
  export default _default;
47
- export declare function resolveSerializeReasonId(inputSerializeReasons: InputSerializeReasons, reason: InputSerializeReason): number;
40
+ export declare function resolveSerializeReasonId(paramReasonGroups: NonNullable<Section["paramReasonGroups"]>, reason: ParamSerializeReason): number;
@@ -1,15 +1,4 @@
1
1
  import { types as t } from "@marko/compiler";
2
- import { type Binding } from "../../util/references";
3
- declare const kChildScopeBinding: unique symbol;
4
- declare const kChildOffsetScopeBinding: unique symbol;
5
- declare const kChildInputSerializePropIds: unique symbol;
6
- declare module "@marko/compiler/dist/types" {
7
- interface MarkoTagExtra {
8
- [kChildScopeBinding]?: Binding;
9
- [kChildOffsetScopeBinding]?: Binding;
10
- [kChildInputSerializePropIds]?: [symbol, ...symbol[]];
11
- }
12
- }
13
2
  declare const _default: {
14
3
  analyze: {
15
4
  enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
@@ -21,4 +10,3 @@ declare const _default: {
21
10
  };
22
11
  export default _default;
23
12
  export declare function getTagRelativePath(tag: t.NodePath<t.MarkoTag>): string;
24
- export declare function getChildScopeBinding(path: t.NodePath<t.MarkoTag>): Binding;
@@ -1,11 +1,13 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import { type Binding } from "../../util/references";
3
+ import { type Section } from "../../util/sections";
3
4
  declare const kDOMBinding: unique symbol;
4
5
  declare const kChildOffsetScopeBinding: unique symbol;
5
6
  declare module "@marko/compiler/dist/types" {
6
7
  interface MarkoTagExtra {
7
8
  [kDOMBinding]?: Binding;
8
9
  [kChildOffsetScopeBinding]?: Binding;
10
+ defineBodySection?: Section;
9
11
  }
10
12
  }
11
13
  declare const _default: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "6.0.79",
3
+ "version": "6.0.81",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
@@ -48,7 +48,7 @@
48
48
  "build": "node -r ~ts ./scripts/bundle.ts"
49
49
  },
50
50
  "dependencies": {
51
- "@marko/compiler": "^5.39.39",
51
+ "@marko/compiler": "^5.39.40",
52
52
  "csstype": "^3.1.3",
53
53
  "magic-string": "^0.30.17"
54
54
  },
@@ -1,5 +1,5 @@
1
1
  /** File for types only, not actual implementation **/
2
2
 
3
3
  export interface Input {
4
- value?: unknown;
4
+ value?: any;
5
5
  }
package/tags/log.d.marko CHANGED
@@ -1,5 +1,5 @@
1
1
  /** File for types only, not actual implementation **/
2
2
 
3
3
  export interface Input {
4
- value: unknown;
4
+ value: any;
5
5
  }
package/tags/do.d.marko DELETED
@@ -1,5 +0,0 @@
1
- /** File for types only, not actual implementation **/
2
-
3
- export interface Input {
4
- value?(): unknown;
5
- }