lilact 0.7.6 → 0.7.7

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.
@@ -3,4 +3,4 @@
3
3
  <p>Lilact jsx parser doesn't rely on the Lilact itself, and can be used by other engines. The easiest way
4
4
  is using the <code>bin/transpile.js</code> script. It has its own help.</p>
5
5
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">jsx</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">appendSourcemap</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">blocks_info</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">counter</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">labels</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">discardComments</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">factory</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">fragment</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">injectTraceLabels</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">mappings</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">never</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">path</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = {}</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>The transpiled javascript code.</p>
6
- <aside class="tsd-sources"><ul><li>Defined in jsx.js:937</li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Lilact</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
6
+ <aside class="tsd-sources"><ul><li>Defined in jsx.js:944</li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Lilact</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -118,10 +118,6 @@ __webpack_require__.r(__webpack_exports__);
118
118
  // Works almosr perfectly so far (all observed bugs except 1 are fixed), works
119
119
  // even on nasty things like the compressed version of tensorflow.js! Feel free
120
120
  // to report any bugs, and please include a testable example. Thanks! :)
121
- //
122
- // note: until an efficient fix is found, make sure the slashes inside
123
- // a regexp are escaped, even if they work without escaping.
124
-
125
121
 
126
122
  // todo: injected string try catchs should be generated by a function
127
123
 
@@ -157,16 +153,22 @@ function lookAhead(f, code, index, ...args)
157
153
 
158
154
  function parseRegex(code, index, container)
159
155
  {
160
- // previous token can only be(end with) ;=,([{}!^~&|:?*-+\\/<> or directive or
156
+ // previous token can only be(end with) ;=,([{}!^~&|:?*%-+/<> or directive or
161
157
  // the slash can only be the first character
162
158
  // the backward scan automatically passes for i=0
163
159
 
160
+ // if there is endline before starting /, then the previous token can also be ) and ]
161
+
164
162
  // todo: i have doubts about including preprocessorDelimiter
165
163
 
166
164
  let i = index;
167
- const dels = `;=,([{}!^~&|:?*-+\\/<>${transpilerConfig.preprocessorDelimiter}`;
165
+ const dels = `;=,([{}!^~&|:?*%-+/<>${transpilerConfig.preprocessorDelimiter}`;
168
166
  while(--i>0) {
169
- if( ' \t\n\r'.indexOf(code[i])!==-1 ) continue;
167
+ if( ' \t\r'.indexOf(code[i])!==-1 ) continue;
168
+ if(code[i]==='\n' ) {
169
+ dels+=")]";
170
+ continue;
171
+ }
170
172
  if( dels.indexOf(code[i])!==-1 ) break;
171
173
  return;
172
174
  }
@@ -182,11 +184,16 @@ function parseRegex(code, index, container)
182
184
  case '\n':
183
185
  return;
184
186
  case '/':
185
- b.end = index+1;
186
- if(container) container.children.push(b);
187
- return b;
188
- case '\\':
189
- index++;
187
+ // we proceed and try to parse the possible regexp , if it is a valid regexp, done,
188
+ // if not, that slash can be inside a regexp so we continue. until we reach an endline.
189
+ try {
190
+ eval("const x="+code.slice(b.begin, index+1));
191
+ b.end = index+1;
192
+ if(container) container.children.push(b);
193
+ return b;
194
+ }
195
+ catch(e) {}
196
+
190
197
  default:
191
198
  index++;
192
199
  }
@@ -558,7 +565,7 @@ function parseXML(code, index, container)
558
565
  skip_spaces();
559
566
  }
560
567
 
561
- let av; // attribute value
568
+ let av;
562
569
 
563
570
  switch(code[index]) {
564
571
  case '\'':
@@ -1239,7 +1246,7 @@ function transpileJSX( jsx, {
1239
1246
 
1240
1247
 
1241
1248
 
1242
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9qc3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2pzeC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QkM7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7Q0FFQTtDQUNBOztDQUVBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7OztDQUdBOzs7O0NBSUE7aUNBQ2dDOzs7OztFQUsvQjtFQUNBOzhCQUM0Qjs7OztxQ0FJTzs7Ozs7OzttQkFPbEI7Q0FDbEI7YUFDWTtJQUNULElBQUk7Ozs7OztvQkFNWTtDQUNuQjtFQUNDO0VBQ0E7RUFDQTs7RUFFQTs7OztPQUlLLFFBQVE7S0FDVixrQkFBbUI7S0FDbkIsYUFBYzs7OztZQUlQOzs7OztPQUtMLG9CQUFvQjs7U0FFbEIsS0FBSzs7Ozs7TUFLUixtQ0FBbUM7Ozs7Ozs7Ozs7c0JBVW5CO0NBQ3JCO1lBQ1c7Ozs7O0lBS1IseUNBQXlDO29CQUN6Qjs7Ozs7OztPQU9iLG9CQUFvQjs7O1NBR2xCLEtBQUs7OztNQUdSLHNDQUFzQzs7T0FFckMsbUNBQW1DOzs7Ozs7TUFNcEMsZ0JBQWdCOztPQUVmLG1DQUFtQzs7Ozs7Ozs7OztZQVU5Qjs7Ozt3QkFJWTtDQUN2Qjs7T0FFTTtHQUNIOztFQUVGOzs7Ozs7SUFNRSxTQUFTO2FBQ0E7Ozs7OzswQkFNYSxtQkFBb0IsQUFBRDs7OztLQUl4QyxtQ0FBbUM7Ozs7T0FJakM7OztRQUdDLFVBQVc7OztLQUdkLFdBQVc7Y0FDRjs7Ozs7O3VCQU1TLHFCQUFzQixBQUFEOzs7TUFHdEMsbUNBQW1DOzs7OztZQUs3Qjs7OztDQUlYO0NBQ0E7OzJCQUUwQjtDQUMxQjs7O3lDQUd3QyxnQkFBZ0I7Ozs7O3NCQUtuQyxVQUFVO3NCQUNWO3NC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
1249
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9qc3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2pzeC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QkM7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7Q0FFQTtDQUNBOztDQUVBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0NBRUE7Ozs7Q0FJQTtpQ0FDZ0M7Ozs7O0VBSy9CO0VBQ0E7OEJBQzRCOzs7O3FDQUlPOzs7Ozs7O21CQU9sQjtDQUNsQjthQUNZO0lBQ1QsSUFBSTs7Ozs7O29CQU1ZO0NBQ25CO0VBQ0M7RUFDQTtFQUNBOztFQUVBOztFQUVBOzs7O09BSUssUUFBUTtLQUNWLGdCQUFpQjtLQUNqQixrQkFBa0I7Ozs7S0FJbEIsYUFBYzs7OztZQUlQOzs7OztPQUtMLG9CQUFvQjs7U0FFbEIsS0FBSzs7OztJQUlWO0lBQ0E7UUFDSTtTQUNDLHFCQUFzQjs7T0FFeEIsbUNBQW1DOzs7U0FHakMsSUFBSTs7Ozs7Ozs7c0JBUVM7Q0FDckI7WUFDVzs7Ozs7SUFLUix5Q0FBeUM7b0JBQ3pCOzs7Ozs7O09BT2Isb0JBQW9COzs7U0FHbEIsS0FBSzs7O01BR1Isc0NBQXNDOztPQUVyQyxtQ0FBbUM7Ozs7OztNQU1wQyxnQkFBZ0I7O09BRWYsbUNBQW1DOzs7Ozs7Ozs7O1lBVTlCOzs7O3dCQUlZO0NBQ3ZCOztPQUVNO0dBQ0g7O0VBRUY7Ozs7OztJQU1FLFNBQVM7YUFDQTs7Ozs7OzBCQU1hLG1CQUFvQixBQUFEOzs7O0tBSXhDLG1DQUFtQzs7OztPQUlqQzs7O1FBR0MsVUFBVzs7O0tBR2QsV0FBVztjQUNGOzs7Ozs7dUJBTVMscUJBQXNCLEFBQUQ7OztNQUd0QyxtQ0FBbUM7Ozs7O1lBSzdCOzs7O0NBSVg7Q0FDQTs7MkJBRTBCO0NB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
1243
1250
 
1244
1251
  /***/ }),
1245
1252
 
@@ -7678,7 +7685,7 @@ function NavLink({
7678
7685
  function compilePath(pattern) {
7679
7686
  const paramNames = [];
7680
7687
  // escape regex and replace :param and *
7681
- let regexSource = "^" + pattern.replace(/\/+$/,"").replace(/([.+?^=!:${}()|[\]\/\\])/g, "\\$1")
7688
+ let regexSource = "^" + pattern.replace(/\/+$/,"").replace(/([.+?^=!:${}()|[\]/\\])/g, "\\$1")
7682
7689
  .replace(/\\\:([A-Za-z0-9_]+)/g, (_, name) => {
7683
7690
  paramNames.push(name);
7684
7691
  return "([^/]+)";