marko 6.0.82 → 6.0.83

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.
@@ -0,0 +1,2 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export declare function bodyToTextLiteral(body: t.MarkoTagBody): t.StringLiteral | t.TemplateLiteral;
@@ -6,11 +6,13 @@ interface KnownExprs {
6
6
  known?: Record<string, KnownExprs>;
7
7
  value?: t.NodeExtra;
8
8
  }
9
+ declare const kContentSection: unique symbol;
9
10
  declare const kChildScopeBinding: unique symbol;
10
11
  declare const kChildOffsetScopeBinding: unique symbol;
11
12
  declare const kKnownExprs: unique symbol;
12
13
  declare module "@marko/compiler/dist/types" {
13
14
  interface MarkoTagExtra {
15
+ [kContentSection]?: Section;
14
16
  [kChildScopeBinding]?: Binding;
15
17
  [kChildOffsetScopeBinding]?: Binding;
16
18
  [kKnownExprs]?: KnownExprs;
@@ -20,4 +22,5 @@ export declare function knownTagAnalyze(tag: t.NodePath<t.MarkoTag>, contentSect
20
22
  export declare function knownTagTranslateHTML(tag: t.NodePath<t.MarkoTag>, tagIdentifier: t.Expression, contentSection: Section, propTree: BindingPropTree | undefined): void;
21
23
  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
24
  export declare function getTagRelativePath(tag: t.NodePath<t.MarkoTag>): string;
25
+ export declare function finalizeKnownTags(section: Section): void;
23
26
  export {};
@@ -10,6 +10,7 @@ export declare class Sorted<T> {
10
10
  find<U extends NonNullable<T>>(data: Opt<U>, item: U): U | undefined;
11
11
  has<U extends NonNullable<T>>(data: Opt<U>, item: U): boolean;
12
12
  findIndex<U extends NonNullable<T>>(data: Opt<U>, item: U): number;
13
+ groupBy<U extends NonNullable<T>, K>(data: Opt<U>, cb: (item: U) => K): Map<K, OneMany<U>>;
13
14
  isSuperset<U extends NonNullable<T>>(superset: Opt<U>, subset: Opt<U>): boolean;
14
15
  }
15
16
  export declare function push<T>(data: Opt<T>, item: T): OneMany<T>;
@@ -25,4 +26,3 @@ export declare function filterMap<T, R>(data: Opt<T>, cb: (item: T) => undefined
25
26
  export declare function findSorted<T>(compare: Compare<T>, data: T[], item: T): T | undefined;
26
27
  export declare function findIndexSorted<T>(compare: Compare<T>, data: T[], item: T): number;
27
28
  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>>;
@@ -96,7 +96,7 @@ export declare function compareSources(a: Sources, b: Sources): number;
96
96
  export declare function mergeSources(a: undefined | Sources, b: undefined | Sources): Sources | undefined;
97
97
  export declare const bindingUtil: Sorted<Binding>;
98
98
  export declare function dropReferences(node: t.Node | t.Node[]): void;
99
- export declare function getCanonicalBinding(binding?: Binding): Binding | undefined;
99
+ export declare function getCanonicalBinding(binding: Binding): Binding;
100
100
  export declare function getAllTagReferenceNodes(tag: t.MarkoTag, referenceNodes?: t.Node[]): t.Node[];
101
101
  export declare function getScopeAccessorLiteral(binding: Binding, includeId?: boolean): t.StringLiteral | t.NumericLiteral;
102
102
  export declare function getScopeAccessor(binding: Binding, includeId?: boolean): string;
@@ -105,7 +105,6 @@ export declare function getDebugScopeAccess(binding: Binding): {
105
105
  access: string;
106
106
  };
107
107
  export declare function getDebugName(binding: Binding): string;
108
- export declare function getInputDebugName(binding: InputBinding): string;
109
108
  export declare function getSectionInstancesAccessor(section: Section): string;
110
109
  export declare function getSectionInstancesAccessorLiteral(section: Section): t.StringLiteral | t.NumericLiteral | undefined;
111
110
  export declare function getReadReplacement(node: t.Identifier | t.MemberExpression): t.Node | undefined;
@@ -1,9 +1,16 @@
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";
4
3
  import { Sorted } from "./optional";
5
- import { type Binding, type InputBinding, type ParamBinding, type ReferencedBindings } from "./references";
6
- import type { SerializeReason } from "./serialize-reasons";
4
+ import { type Binding, type InputBinding, type ParamBinding, type ReferencedBindings, type Sources } from "./references";
5
+ import { type SerializeReason } from "./serialize-reasons";
6
+ export interface ParamSerializeReasonGroup {
7
+ id: symbol;
8
+ reason: NonNullable<Sources["param"]>;
9
+ }
10
+ export type ParamSerializeReasonGroups = [
11
+ ParamSerializeReasonGroup,
12
+ ...ParamSerializeReasonGroup[]
13
+ ];
7
14
  export declare enum ContentType {
8
15
  Comment = 0,
9
16
  Dynamic = 1,
@@ -71,3 +78,6 @@ export declare function getDynamicClosureIndex(closure: Binding, closureSection:
71
78
  export declare function getDirectClosures(section: Section): import("./optional").Opt<Binding>;
72
79
  export declare function isSameOrChildSection(section: Section, other: Section): boolean;
73
80
  export declare function getCommonSection(section: Section, other: Section): Section;
81
+ export declare function finalizeParamSerializeReasonGroups(section: Section): void;
82
+ export declare function getParamReasonGroupIndex(section: Section, reason: ParamSerializeReasonGroup["reason"]): number;
83
+ export declare function groupParamsBySection(params: Sources["param"]): Map<Section, import("./optional").OneMany<InputBinding | ParamBinding>>;
@@ -1,5 +1,5 @@
1
1
  import { types as t } from "@marko/compiler";
2
- import type { SerializeReason, SerializeReasons } from "./serialize-reasons";
2
+ import { type SerializeReason, type SerializeReasons } from "./serialize-reasons";
3
3
  export declare function getSerializeGuard(reason: undefined | SerializeReason, optional: boolean): t.Expression | undefined;
4
4
  export declare function getSerializeGuardForAny(reasons: undefined | SerializeReasons, optional: boolean): t.Expression | undefined;
5
5
  export declare function getExprIfSerialized<T extends undefined | SerializeReason, U extends t.Expression>(reason: T, expr: U): T extends {} ? U : undefined;
@@ -18,7 +18,7 @@ export declare function isReasonDynamic(reason: undefined | SerializeReason): re
18
18
  };
19
19
  export declare function getSerializeReason(section: Section, prop?: Binding | AccessorProp | symbol, prefix?: AccessorPrefix | symbol): SerializeReason | undefined;
20
20
  export declare function getSerializeSourcesForExpr(expr: t.NodeExtra): Sources | undefined;
21
- export declare function getSerializeSourcesForExprs(exprs: Opt<t.NodeExtra>): Sources | undefined;
21
+ export declare function getSerializeSourcesForExprs(exprs: Opt<t.NodeExtra> | boolean): true | Sources | undefined;
22
22
  export declare function getSerializeSourcesForRef(ref: ReferencedBindings): Sources | undefined;
23
23
  export declare function mergeSerializeReasons(a: SerializeReason, b: undefined | SerializeReason): SerializeReason;
24
24
  export declare function mergeSerializeReasons(a: undefined | SerializeReason, b: SerializeReason): SerializeReason;
@@ -1,4 +1,5 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import type { Binding } from "./references";
3
+ import { type Section } from "./sections";
3
4
  export declare function setTagDownstream(tag: t.NodePath<t.MarkoTag>, binding: undefined | false | Binding): void;
4
- export declare function finalizeTagDownstreams(): void;
5
+ export declare function finalizeTagDownstreams(section: Section): void;
@@ -1,11 +1,14 @@
1
1
  import { types as t } from "@marko/compiler";
2
2
  import { type BindingPropTree } from "../../util/binding-prop-tree";
3
3
  import { type Sources } from "../../util/references";
4
- import { type Section } from "../../util/sections";
5
4
  export type ParamSerializeReason = NonNullable<Sources["param"]>;
5
+ export interface ParamSerializeReasonGroup {
6
+ id: symbol;
7
+ reason: ParamSerializeReason;
8
+ }
6
9
  export type ParamSerializeReasonGroups = [
7
- ParamSerializeReason,
8
- ...ParamSerializeReason[]
10
+ ParamSerializeReasonGroup,
11
+ ...ParamSerializeReasonGroup[]
9
12
  ];
10
13
  export declare let cleanIdentifier: t.Identifier;
11
14
  export declare let scopeIdentifier: t.Identifier;
@@ -37,4 +40,3 @@ declare const _default: {
37
40
  };
38
41
  };
39
42
  export default _default;
40
- export declare function resolveSerializeReasonId(paramReasonGroups: NonNullable<Section["paramReasonGroups"]>, reason: ParamSerializeReason): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "6.0.82",
3
+ "version": "6.0.83",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
package/tags-html.d.ts CHANGED
@@ -225,9 +225,7 @@ declare global {
225
225
  }
226
226
 
227
227
  namespace CSS {
228
- export interface Properties
229
- extends csstype.PropertiesHyphen,
230
- csstype.Properties {}
228
+ export interface Properties extends csstype.PropertiesHyphen {}
231
229
  }
232
230
 
233
231
  namespace HTML {