apollo-elements/apollo-elements

View on GitHub
patches/stampino+0.6.2.patch

Summary

Maintainability
Test Coverage
diff --git a/node_modules/stampino/package.json b/node_modules/stampino/package.json
index f4814aa..8a865ff 100644
--- a/node_modules/stampino/package.json
+++ b/node_modules/stampino/package.json
@@ -16,8 +16,8 @@
     "demo": "wds --node-resolve"
   },
   "dependencies": {
-    "jexpr": "^1.0.0-pre.2",
-    "lit-html": "^2.0.0-rc.2",
+    "jexpr": "^1.0.0-pre.4",
+    "lit-html": "^2.1.1",
     "trusted-types": "^2.0.0"
   },
   "devDependencies": {
diff --git a/node_modules/stampino/stampino.d.ts b/node_modules/stampino/stampino.d.ts
index f568dea..6bb303e 100644
--- a/node_modules/stampino/stampino.d.ts
+++ b/node_modules/stampino/stampino.d.ts
@@ -1,5 +1,3 @@
-import { Template } from 'lit-html';
-import { CompiledTemplate, CompiledTemplateResult } from 'lit-html';
 export interface TemplateFunction {
     (model: object): unknown;
 }
@@ -53,15 +51,5 @@ export declare const render: (template: HTMLTemplateElement, container: HTMLElem
  * @param renderers
  * @returns
  */
-export declare const evaluateTemplate: (template: HTMLTemplateElement, model: any, handlers?: TemplateHandlers, renderers?: Renderers) => CompiledTemplateResult;
-declare type TemplatePart = Template['parts'][0];
-declare type StampinoTemplatePart = TemplatePart & {
-    update: PartUpdater;
-};
-declare type PartUpdater = (model: object, handlers: TemplateHandlers, blocks: Renderers) => unknown;
-interface StampinoTemplate extends CompiledTemplate {
-    parts: Array<StampinoTemplatePart>;
-    renderers: Renderers;
-}
-export declare const getLitTemplate: (template: HTMLTemplateElement) => StampinoTemplate;
+export declare const evaluateTemplate: (template: HTMLTemplateElement, model: any, handlers?: TemplateHandlers, renderers?: Renderers) => TemplateHandler;
 export {};
diff --git a/node_modules/stampino/stampino.js b/node_modules/stampino/stampino.js
index 3021718..8a10fa5 100644
--- a/node_modules/stampino/stampino.js
+++ b/node_modules/stampino/stampino.js
@@ -1,7 +1,7 @@
 import { render as renderLit, nothing } from 'lit-html';
 import { parse, Parser, EvalAstFactory } from 'jexpr';
-import { _Σ } from 'lit-html/private-ssr-support.js';
-const { AttributePart, PropertyPart, BooleanAttributePart, EventPart } = _Σ;
+import { _$LH } from 'lit-html/private-ssr-support.js';
+const { AttributePart, PropertyPart, BooleanAttributePart, EventPart } = _$LH;
 const astFactory = new EvalAstFactory();
 const expressionCache = new Map();
 const toCamelCase = (s) => s.replace(/-(-|\w)/g, (_, p1) => p1.toUpperCase());
@@ -245,9 +245,7 @@ const makeLitTemplate = (template) => {
                 const attributeNames = element.getAttributeNames();
                 for (const attributeName of attributeNames) {
                     const attributeValue = element.getAttribute(attributeName);
-                    // TODO: use alternative to negative lookbehind
-                    // (but it's so convenient!)
-                    const splitValue = attributeValue.split(/(?<!\\){{(.*?)(?:(?<!\\)}})/g);
+                    const splitValue = attributeValue.split(/(?!\\){{(.*?)(?:(?!\\)}})/g);
                     if (splitValue.length === 1) {
                         continue;
                     }
@@ -290,7 +288,7 @@ const makeLitTemplate = (template) => {
         else if (node.nodeType === Node.TEXT_NODE) {
             const textNode = node;
             const text = textNode.textContent;
-            const strings = text.split(/(?<!\\){{(.*?)(?:(?<!\\)}})/g);
+            const strings = text.split(/(?!\\){{(.*?)(?:(?!\\)}})/g);
             if (strings.length > 1) {
                 textNode.textContent = strings[0].replace('\\{{', '{{');
             }