@marko/runtime-tags 0.1.11 → 0.1.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.
package/dist/debug/dom.js CHANGED
@@ -804,7 +804,7 @@ function walkInternal(walkCodes, scope, currentWalkIndex) {
804
804
  } else if (value2 >= 97 /* Over */) {
805
805
  value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */;
806
806
  while (value2--) {
807
- !walker.nextSibling() && !walker.nextNode();
807
+ walker.nextSibling();
808
808
  }
809
809
  } else if (value2 >= 67 /* Next */) {
810
810
  value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */;
@@ -884,7 +884,7 @@ function initRenderer(renderer, scope) {
884
884
  }
885
885
  function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
886
886
  return (scope, attrsOrOp) => {
887
- const renderer = scope[nodeAccessor + "(" /* ConditionalRenderer */];
887
+ let renderer = scope[nodeAccessor + "(" /* ConditionalRenderer */];
888
888
  if (!renderer || renderer === renderBody || attrsOrOp === DIRTY) {
889
889
  return;
890
890
  }
@@ -900,17 +900,20 @@ function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
900
900
  elementAccessor,
901
901
  renderBody && bindRenderer(scope, renderBody)
902
902
  );
903
- } else if (renderer.___args) {
904
- const attributes = attrsOrOp();
905
- renderer.___args(
906
- childScope,
907
- inputIsArgs ? attributes : [
908
- renderBody ? {
909
- ...attributes,
910
- renderBody: bindRenderer(scope, renderBody)
911
- } : attributes
912
- ]
913
- );
903
+ } else {
904
+ renderer = renderer.default ? renderer.default._ : renderer._ || renderer;
905
+ if (renderer.___args) {
906
+ const attributes = attrsOrOp();
907
+ renderer.___args(
908
+ childScope,
909
+ inputIsArgs ? attributes : [
910
+ renderBody ? {
911
+ ...attributes,
912
+ renderBody: bindRenderer(scope, renderBody)
913
+ } : attributes
914
+ ]
915
+ );
916
+ }
914
917
  }
915
918
  };
916
919
  }
@@ -728,7 +728,7 @@ function walkInternal(walkCodes, scope, currentWalkIndex) {
728
728
  } else if (value2 >= 97 /* Over */) {
729
729
  value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */;
730
730
  while (value2--) {
731
- !walker.nextSibling() && !walker.nextNode();
731
+ walker.nextSibling();
732
732
  }
733
733
  } else if (value2 >= 67 /* Next */) {
734
734
  value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */;
@@ -808,7 +808,7 @@ function initRenderer(renderer, scope) {
808
808
  }
809
809
  function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
810
810
  return (scope, attrsOrOp) => {
811
- const renderer = scope[nodeAccessor + "(" /* ConditionalRenderer */];
811
+ let renderer = scope[nodeAccessor + "(" /* ConditionalRenderer */];
812
812
  if (!renderer || renderer === renderBody || attrsOrOp === DIRTY) {
813
813
  return;
814
814
  }
@@ -824,17 +824,20 @@ function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
824
824
  elementAccessor,
825
825
  renderBody && bindRenderer(scope, renderBody)
826
826
  );
827
- } else if (renderer.___args) {
828
- const attributes = attrsOrOp();
829
- renderer.___args(
830
- childScope,
831
- inputIsArgs ? attributes : [
832
- renderBody ? {
833
- ...attributes,
834
- renderBody: bindRenderer(scope, renderBody)
835
- } : attributes
836
- ]
837
- );
827
+ } else {
828
+ renderer = renderer.default ? renderer.default._ : renderer._ || renderer;
829
+ if (renderer.___args) {
830
+ const attributes = attrsOrOp();
831
+ renderer.___args(
832
+ childScope,
833
+ inputIsArgs ? attributes : [
834
+ renderBody ? {
835
+ ...attributes,
836
+ renderBody: bindRenderer(scope, renderBody)
837
+ } : attributes
838
+ ]
839
+ );
840
+ }
838
841
  }
839
842
  };
840
843
  }
@@ -1968,15 +1968,13 @@ var DEFAULT_RENDER_ID = "_";
1968
1968
 
1969
1969
  // src/html/dynamic-tag.ts
1970
1970
  var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;
1971
- function dynamicTagInput(tag, input, renderBody) {
1971
+ function dynamicTagInput(scope, tag, input, renderBody, tagVar) {
1972
1972
  if (!tag && !renderBody) return void 0;
1973
- const futureScopeId = peekNextScopeId();
1974
- const futureScope = peekNextScope();
1975
- write(`${markResumeScopeStart(futureScopeId)}`);
1976
- writeScope(futureScopeId, futureScope);
1973
+ const scopeId = getScopeId(scope);
1974
+ write(`${markResumeScopeStart(scopeId)}`);
1975
+ writeScope(scopeId, scope);
1977
1976
  if (!tag) {
1978
- renderBody();
1979
- return futureScope;
1977
+ return renderBody();
1980
1978
  }
1981
1979
  if (typeof tag === "string") {
1982
1980
  nextScopeId();
@@ -1989,7 +1987,7 @@ function dynamicTagInput(tag, input, renderBody) {
1989
1987
  `A renderBody was provided for a "${tag}" tag, which cannot have children.`
1990
1988
  );
1991
1989
  }
1992
- return futureScope;
1990
+ return null;
1993
1991
  }
1994
1992
  const renderer = getDynamicRenderer(tag);
1995
1993
  if (true) {
@@ -1997,22 +1995,20 @@ function dynamicTagInput(tag, input, renderBody) {
1997
1995
  throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);
1998
1996
  }
1999
1997
  }
2000
- renderer(renderBody ? { ...input, renderBody } : input);
2001
- return futureScope;
1998
+ return renderer(renderBody ? { ...input, renderBody } : input, tagVar);
2002
1999
  }
2003
- function dynamicTagArgs(tag, args) {
2000
+ function dynamicTagArgs(scope, tag, args) {
2004
2001
  if (!tag) return void 0;
2005
- const futureScopeId = peekNextScopeId();
2006
- const futureScope = peekNextScope();
2007
- write(`${markResumeScopeStart(futureScopeId)}`);
2008
- writeScope(futureScopeId, futureScope);
2002
+ const scopeId = getScopeId(scope);
2003
+ write(`${markResumeScopeStart(scopeId)}`);
2004
+ writeScope(scopeId, scope);
2009
2005
  if (typeof tag === "string") {
2010
2006
  nextScopeId();
2011
2007
  write(`<${tag}${attrs(args[0])}>`);
2012
2008
  if (!voidElementsReg.test(tag)) {
2013
2009
  write(`</${tag}>`);
2014
2010
  }
2015
- return futureScope;
2011
+ return void 0;
2016
2012
  }
2017
2013
  const renderer = getDynamicRenderer(tag);
2018
2014
  if (true) {
@@ -2020,8 +2016,7 @@ function dynamicTagArgs(tag, args) {
2020
2016
  throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);
2021
2017
  }
2022
2018
  }
2023
- renderer(...args);
2024
- return futureScope;
2019
+ return renderer(...args);
2025
2020
  }
2026
2021
  var getDynamicRenderer = (tag) => tag._ || tag.renderBody || tag;
2027
2022
  var createRenderer = (fn) => fn;
@@ -1913,15 +1913,13 @@ var DEFAULT_RENDER_ID = "_";
1913
1913
 
1914
1914
  // src/html/dynamic-tag.ts
1915
1915
  var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;
1916
- function dynamicTagInput(tag, input, renderBody) {
1916
+ function dynamicTagInput(scope, tag, input, renderBody, tagVar) {
1917
1917
  if (!tag && !renderBody) return void 0;
1918
- const futureScopeId = peekNextScopeId();
1919
- const futureScope = peekNextScope();
1920
- write(`${markResumeScopeStart(futureScopeId)}`);
1921
- writeScope(futureScopeId, futureScope);
1918
+ const scopeId = getScopeId(scope);
1919
+ write(`${markResumeScopeStart(scopeId)}`);
1920
+ writeScope(scopeId, scope);
1922
1921
  if (!tag) {
1923
- renderBody();
1924
- return futureScope;
1922
+ return renderBody();
1925
1923
  }
1926
1924
  if (typeof tag === "string") {
1927
1925
  nextScopeId();
@@ -1934,7 +1932,7 @@ function dynamicTagInput(tag, input, renderBody) {
1934
1932
  `A renderBody was provided for a "${tag}" tag, which cannot have children.`
1935
1933
  );
1936
1934
  }
1937
- return futureScope;
1935
+ return null;
1938
1936
  }
1939
1937
  const renderer = getDynamicRenderer(tag);
1940
1938
  if (true) {
@@ -1942,22 +1940,20 @@ function dynamicTagInput(tag, input, renderBody) {
1942
1940
  throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);
1943
1941
  }
1944
1942
  }
1945
- renderer(renderBody ? { ...input, renderBody } : input);
1946
- return futureScope;
1943
+ return renderer(renderBody ? { ...input, renderBody } : input, tagVar);
1947
1944
  }
1948
- function dynamicTagArgs(tag, args) {
1945
+ function dynamicTagArgs(scope, tag, args) {
1949
1946
  if (!tag) return void 0;
1950
- const futureScopeId = peekNextScopeId();
1951
- const futureScope = peekNextScope();
1952
- write(`${markResumeScopeStart(futureScopeId)}`);
1953
- writeScope(futureScopeId, futureScope);
1947
+ const scopeId = getScopeId(scope);
1948
+ write(`${markResumeScopeStart(scopeId)}`);
1949
+ writeScope(scopeId, scope);
1954
1950
  if (typeof tag === "string") {
1955
1951
  nextScopeId();
1956
1952
  write(`<${tag}${attrs(args[0])}>`);
1957
1953
  if (!voidElementsReg.test(tag)) {
1958
1954
  write(`</${tag}>`);
1959
1955
  }
1960
- return futureScope;
1956
+ return void 0;
1961
1957
  }
1962
1958
  const renderer = getDynamicRenderer(tag);
1963
1959
  if (true) {
@@ -1965,8 +1961,7 @@ function dynamicTagArgs(tag, args) {
1965
1961
  throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);
1966
1962
  }
1967
1963
  }
1968
- renderer(...args);
1969
- return futureScope;
1964
+ return renderer(...args);
1970
1965
  }
1971
1966
  var getDynamicRenderer = (tag) => tag._ || tag.renderBody || tag;
1972
1967
  var createRenderer = (fn) => fn;
package/dist/dom.js CHANGED
@@ -528,7 +528,7 @@ function walkInternal(walkCodes, scope, currentWalkIndex) {
528
528
  walker.nextSibling();
529
529
  } else if (value2 >= 97 /* Over */)
530
530
  for (value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */; value2--; )
531
- !walker.nextSibling() && walker.nextNode();
531
+ walker.nextSibling();
532
532
  else if (value2 >= 67 /* Next */)
533
533
  for (value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */; value2--; )
534
534
  walker.nextNode();
@@ -581,7 +581,7 @@ function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
581
581
  0,
582
582
  renderBody && bindRenderer(scope, renderBody)
583
583
  );
584
- else if (renderer.d) {
584
+ else if (renderer = renderer.default ? renderer.default._ : renderer._ || renderer, renderer.d) {
585
585
  let attributes = attrsOrOp();
586
586
  renderer.d(
587
587
  childScope,
package/dist/dom.mjs CHANGED
@@ -455,7 +455,7 @@ function walkInternal(walkCodes, scope, currentWalkIndex) {
455
455
  walker.nextSibling();
456
456
  } else if (value2 >= 97 /* Over */)
457
457
  for (value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */; value2--; )
458
- !walker.nextSibling() && walker.nextNode();
458
+ walker.nextSibling();
459
459
  else if (value2 >= 67 /* Next */)
460
460
  for (value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */; value2--; )
461
461
  walker.nextNode();
@@ -508,7 +508,7 @@ function dynamicTagAttrs(nodeAccessor, renderBody, inputIsArgs) {
508
508
  0,
509
509
  renderBody && bindRenderer(scope, renderBody)
510
510
  );
511
- else if (renderer.d) {
511
+ else if (renderer = renderer.default ? renderer.default._ : renderer._ || renderer, renderer.d) {
512
512
  let attributes = attrsOrOp();
513
513
  renderer.d(
514
514
  childScope,
@@ -1,17 +1,12 @@
1
1
  import type { Renderer } from "../common/types";
2
2
  import type { ServerTemplate as Template } from "./template";
3
+ import { type PartialScope } from "./writer";
3
4
  interface RenderBodyObject {
4
5
  [x: PropertyKey]: unknown;
5
6
  renderBody: Renderer;
6
7
  }
7
- export declare function dynamicTagInput(tag: unknown | string | Renderer | RenderBodyObject | Template, input: Record<string, unknown>, renderBody?: () => void): {
8
- [x: string]: unknown;
9
- [x: number]: unknown;
10
- } | undefined;
11
- export declare function dynamicTagArgs(tag: unknown | string | Renderer | RenderBodyObject | Template, args: unknown[]): {
12
- [x: string]: unknown;
13
- [x: number]: unknown;
14
- } | undefined;
8
+ export declare function dynamicTagInput(scope: PartialScope, tag: unknown | string | Renderer | RenderBodyObject | Template, input: Record<string, unknown>, renderBody?: () => void, tagVar?: unknown): unknown;
9
+ export declare function dynamicTagArgs(scope: PartialScope, tag: unknown | string | Renderer | RenderBodyObject | Template, args: unknown[]): unknown;
15
10
  declare let getDynamicRenderer: (tag: unknown | string | Renderer | RenderBodyObject | Template) => Renderer;
16
11
  export declare let createRenderer: (fn: Renderer) => Renderer;
17
12
  export declare function patchDynamicTag(newGetDynamicRenderer: typeof getDynamicRenderer, newCreateRenderer: typeof createRenderer): void;
@@ -1,6 +1,6 @@
1
1
  import type { Accessor } from "../common/types";
2
2
  import { Serializer } from "./serializer";
3
- type PartialScope = Record<Accessor, unknown>;
3
+ export type PartialScope = Record<Accessor, unknown>;
4
4
  declare enum Mark {
5
5
  Placeholder = "!^",
6
6
  PlaceholderEnd = "!",
package/dist/html.js CHANGED
@@ -1283,15 +1283,19 @@ var DEFAULT_RUNTIME_ID = "M", DEFAULT_RENDER_ID = "_";
1283
1283
 
1284
1284
  // src/html/dynamic-tag.ts
1285
1285
  var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;
1286
- function dynamicTagInput(tag, input, renderBody) {
1286
+ function dynamicTagInput(scope, tag, input, renderBody, tagVar) {
1287
1287
  if (!tag && !renderBody) return;
1288
- let futureScopeId = peekNextScopeId(), futureScope = peekNextScope();
1289
- return write(`${markResumeScopeStart(futureScopeId)}`), writeScope(futureScopeId, futureScope), tag ? typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(input)}>`), voidElementsReg.test(tag) || (renderBody?.(), write(`</${tag}>`)), futureScope) : (getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input), futureScope) : (renderBody(), futureScope);
1288
+ let scopeId = getScopeId(scope);
1289
+ return write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), tag ? typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(input)}>`), voidElementsReg.test(tag) || (renderBody?.(), write(`</${tag}>`)), null) : getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input, tagVar) : renderBody();
1290
1290
  }
1291
- function dynamicTagArgs(tag, args) {
1291
+ function dynamicTagArgs(scope, tag, args) {
1292
1292
  if (!tag) return;
1293
- let futureScopeId = peekNextScopeId(), futureScope = peekNextScope();
1294
- return write(`${markResumeScopeStart(futureScopeId)}`), writeScope(futureScopeId, futureScope), typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(args[0])}>`), voidElementsReg.test(tag) || write(`</${tag}>`), futureScope) : (getDynamicRenderer(tag)(...args), futureScope);
1293
+ let scopeId = getScopeId(scope);
1294
+ if (write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), typeof tag == "string") {
1295
+ nextScopeId(), write(`<${tag}${attrs(args[0])}>`), voidElementsReg.test(tag) || write(`</${tag}>`);
1296
+ return;
1297
+ }
1298
+ return getDynamicRenderer(tag)(...args);
1295
1299
  }
1296
1300
  var getDynamicRenderer = (tag) => tag._ || tag.renderBody || tag, createRenderer = (fn) => fn;
1297
1301
  function patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {
package/dist/html.mjs CHANGED
@@ -1231,15 +1231,19 @@ var DEFAULT_RUNTIME_ID = "M", DEFAULT_RENDER_ID = "_";
1231
1231
 
1232
1232
  // src/html/dynamic-tag.ts
1233
1233
  var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;
1234
- function dynamicTagInput(tag, input, renderBody) {
1234
+ function dynamicTagInput(scope, tag, input, renderBody, tagVar) {
1235
1235
  if (!tag && !renderBody) return;
1236
- let futureScopeId = peekNextScopeId(), futureScope = peekNextScope();
1237
- return write(`${markResumeScopeStart(futureScopeId)}`), writeScope(futureScopeId, futureScope), tag ? typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(input)}>`), voidElementsReg.test(tag) || (renderBody?.(), write(`</${tag}>`)), futureScope) : (getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input), futureScope) : (renderBody(), futureScope);
1236
+ let scopeId = getScopeId(scope);
1237
+ return write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), tag ? typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(input)}>`), voidElementsReg.test(tag) || (renderBody?.(), write(`</${tag}>`)), null) : getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input, tagVar) : renderBody();
1238
1238
  }
1239
- function dynamicTagArgs(tag, args) {
1239
+ function dynamicTagArgs(scope, tag, args) {
1240
1240
  if (!tag) return;
1241
- let futureScopeId = peekNextScopeId(), futureScope = peekNextScope();
1242
- return write(`${markResumeScopeStart(futureScopeId)}`), writeScope(futureScopeId, futureScope), typeof tag == "string" ? (nextScopeId(), write(`<${tag}${attrs(args[0])}>`), voidElementsReg.test(tag) || write(`</${tag}>`), futureScope) : (getDynamicRenderer(tag)(...args), futureScope);
1241
+ let scopeId = getScopeId(scope);
1242
+ if (write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), typeof tag == "string") {
1243
+ nextScopeId(), write(`<${tag}${attrs(args[0])}>`), voidElementsReg.test(tag) || write(`</${tag}>`);
1244
+ return;
1245
+ }
1246
+ return getDynamicRenderer(tag)(...args);
1243
1247
  }
1244
1248
  var getDynamicRenderer = (tag) => tag._ || tag.renderBody || tag, createRenderer = (fn) => fn;
1245
1249
  function patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/runtime-tags",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",