1
0
mirror of https://github.com/jaandrle/deka-dom-el synced 2025-07-03 05:02:15 +02:00

Replaces defined with name/host

This commit is contained in:
2025-03-17 09:47:09 +01:00
parent 3301a6600c
commit 992370b4e3
14 changed files with 57 additions and 107 deletions

View File

@ -41,19 +41,6 @@ function observedAttributes(instance, observedAttribute2) {
function kebabToCamel(name) {
return name.replace(/-./g, (x) => x[1].toUpperCase());
}
var Defined = class extends Error {
constructor() {
super();
const [curr, ...rest] = this.stack.split("\n");
const curr_file = curr.slice(curr.indexOf("@"), curr.indexOf(".js:") + 4);
const curr_lib = curr_file.includes("src/helpers.js") ? "src/" : curr_file;
this.stack = rest.find((l) => !l.includes(curr_lib)) || curr;
}
get compact() {
const { stack } = this;
return stack.slice(0, stack.indexOf("@") + 1) + "\u2026" + stack.slice(stack.lastIndexOf("/"));
}
};
// src/dom-lib/common.js
var enviroment = {
@ -303,7 +290,7 @@ var store_abort = /* @__PURE__ */ new WeakMap();
var scope = {
/**
* Gets the current scope
* @returns {Object} Current scope context
* @returns {typeof scopes[number]} Current scope context
*/
get current() {
return scopes[scopes.length - 1];
@ -652,7 +639,7 @@ function wrapMethod(obj, method, apply) {
}
// src/memo.js
var memoMark = "__dde_memo";
var memoMark = "__dde_memo_of";
var memo_scope = [];
function memo(key, generator) {
if (!memo_scope.length) return generator(key);
@ -661,11 +648,11 @@ function memo(key, generator) {
return after(k, hasOwn(cache, k) ? cache[k] : generator(key));
}
memo.isScope = function(obj) {
return obj[memoMark];
return Boolean(obj[memoMark]);
};
memo.scope = function memoScope(fun, { signal: signal2, onlyLast } = {}) {
memo.scope = function memoScopeCreate(fun, { signal: signal2, onlyLast } = {}) {
let cache = oCreate();
function memoScope2(...args) {
function memoScope(...args) {
if (signal2 && signal2.aborted)
return fun.apply(this, args);
let cache_local = onlyLast ? cache : oCreate();
@ -680,10 +667,10 @@ memo.scope = function memoScope(fun, { signal: signal2, onlyLast } = {}) {
cache = cache_local;
return out;
}
memoScope2[memoMark] = true;
memoScope2.clear = () => cache = oCreate();
if (signal2) signal2.addEventListener("abort", memoScope2.clear);
return memoScope2;
memoScope[memoMark] = fun;
memoScope.clear = () => cache = oCreate();
if (signal2) signal2.addEventListener("abort", memoScope.clear);
return memoScope;
};
// src/signals-lib/helpers.js
@ -801,11 +788,11 @@ signal.clear = function(...signals2) {
var key_reactive = "__dde_reactive";
signal.el = function(s, map) {
map = memo.isScope(map) ? map : memo.scope(map, { onlyLast: true });
const mark_start = createElement.mark({ type: "reactive", source: new Defined().compact }, true);
const { current } = scope, { scope: sc } = current;
const mark_start = createElement.mark({ type: "reactive", component: sc && sc.name || "" }, true);
const mark_end = mark_start.end;
const out = enviroment.D.createDocumentFragment();
out.append(mark_start, mark_end);
const { current } = scope;
const reRenderReactiveElement = (v) => {
if (!mark_start.parentNode || !mark_end.parentNode)
return removeSignalListener(s, reRenderReactiveElement);
@ -949,7 +936,6 @@ function toSignal(s, value, actions, readonly = false) {
onclear,
host,
listeners: /* @__PURE__ */ new Set(),
defined: new Defined().stack,
readonly
}),
enumerable: false,

File diff suppressed because one or more lines are too long

18
dist/esm.js vendored
View File

@ -274,7 +274,7 @@ var store_abort = /* @__PURE__ */ new WeakMap();
var scope = {
/**
* Gets the current scope
* @returns {Object} Current scope context
* @returns {typeof scopes[number]} Current scope context
*/
get current() {
return scopes[scopes.length - 1];
@ -623,7 +623,7 @@ function wrapMethod(obj, method, apply) {
}
// src/memo.js
var memoMark = "__dde_memo";
var memoMark = "__dde_memo_of";
var memo_scope = [];
function memo(key, generator) {
if (!memo_scope.length) return generator(key);
@ -632,11 +632,11 @@ function memo(key, generator) {
return after(k, hasOwn(cache, k) ? cache[k] : generator(key));
}
memo.isScope = function(obj) {
return obj[memoMark];
return Boolean(obj[memoMark]);
};
memo.scope = function memoScope(fun, { signal, onlyLast } = {}) {
memo.scope = function memoScopeCreate(fun, { signal, onlyLast } = {}) {
let cache = oCreate();
function memoScope2(...args) {
function memoScope(...args) {
if (signal && signal.aborted)
return fun.apply(this, args);
let cache_local = onlyLast ? cache : oCreate();
@ -651,10 +651,10 @@ memo.scope = function memoScope(fun, { signal, onlyLast } = {}) {
cache = cache_local;
return out;
}
memoScope2[memoMark] = true;
memoScope2.clear = () => cache = oCreate();
if (signal) signal.addEventListener("abort", memoScope2.clear);
return memoScope2;
memoScope[memoMark] = fun;
memoScope.clear = () => cache = oCreate();
if (signal) signal.addEventListener("abort", memoScope.clear);
return memoScope;
};
export {
assign,

2
dist/esm.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -86,19 +86,6 @@ var DDE = (() => {
function kebabToCamel(name) {
return name.replace(/-./g, (x) => x[1].toUpperCase());
}
var Defined = class extends Error {
constructor() {
super();
const [curr, ...rest] = this.stack.split("\n");
const curr_file = curr.slice(curr.indexOf("@"), curr.indexOf(".js:") + 4);
const curr_lib = curr_file.includes("src/helpers.js") ? "src/" : curr_file;
this.stack = rest.find((l) => !l.includes(curr_lib)) || curr;
}
get compact() {
const { stack } = this;
return stack.slice(0, stack.indexOf("@") + 1) + "\u2026" + stack.slice(stack.lastIndexOf("/"));
}
};
// src/dom-lib/common.js
var enviroment = {
@ -348,7 +335,7 @@ var DDE = (() => {
var scope = {
/**
* Gets the current scope
* @returns {Object} Current scope context
* @returns {typeof scopes[number]} Current scope context
*/
get current() {
return scopes[scopes.length - 1];
@ -697,7 +684,7 @@ var DDE = (() => {
}
// src/memo.js
var memoMark = "__dde_memo";
var memoMark = "__dde_memo_of";
var memo_scope = [];
function memo(key, generator) {
if (!memo_scope.length) return generator(key);
@ -706,11 +693,11 @@ var DDE = (() => {
return after(k, hasOwn(cache, k) ? cache[k] : generator(key));
}
memo.isScope = function(obj) {
return obj[memoMark];
return Boolean(obj[memoMark]);
};
memo.scope = function memoScope(fun, { signal: signal2, onlyLast } = {}) {
memo.scope = function memoScopeCreate(fun, { signal: signal2, onlyLast } = {}) {
let cache = oCreate();
function memoScope2(...args) {
function memoScope(...args) {
if (signal2 && signal2.aborted)
return fun.apply(this, args);
let cache_local = onlyLast ? cache : oCreate();
@ -725,10 +712,10 @@ var DDE = (() => {
cache = cache_local;
return out;
}
memoScope2[memoMark] = true;
memoScope2.clear = () => cache = oCreate();
if (signal2) signal2.addEventListener("abort", memoScope2.clear);
return memoScope2;
memoScope[memoMark] = fun;
memoScope.clear = () => cache = oCreate();
if (signal2) signal2.addEventListener("abort", memoScope.clear);
return memoScope;
};
// src/signals-lib/helpers.js
@ -846,11 +833,11 @@ var DDE = (() => {
var key_reactive = "__dde_reactive";
signal.el = function(s, map) {
map = memo.isScope(map) ? map : memo.scope(map, { onlyLast: true });
const mark_start = createElement.mark({ type: "reactive", source: new Defined().compact }, true);
const { current } = scope, { scope: sc } = current;
const mark_start = createElement.mark({ type: "reactive", component: sc && sc.name || "" }, true);
const mark_end = mark_start.end;
const out = enviroment.D.createDocumentFragment();
out.append(mark_start, mark_end);
const { current } = scope;
const reRenderReactiveElement = (v) => {
if (!mark_start.parentNode || !mark_end.parentNode)
return removeSignalListener(s, reRenderReactiveElement);
@ -994,7 +981,6 @@ var DDE = (() => {
onclear,
host,
listeners: /* @__PURE__ */ new Set(),
defined: new Defined().stack,
readonly
}),
enumerable: false,

File diff suppressed because one or more lines are too long

18
dist/iife.js vendored
View File

@ -316,7 +316,7 @@ var DDE = (() => {
var scope = {
/**
* Gets the current scope
* @returns {Object} Current scope context
* @returns {typeof scopes[number]} Current scope context
*/
get current() {
return scopes[scopes.length - 1];
@ -665,7 +665,7 @@ var DDE = (() => {
}
// src/memo.js
var memoMark = "__dde_memo";
var memoMark = "__dde_memo_of";
var memo_scope = [];
function memo(key, generator) {
if (!memo_scope.length) return generator(key);
@ -674,11 +674,11 @@ var DDE = (() => {
return after(k, hasOwn(cache, k) ? cache[k] : generator(key));
}
memo.isScope = function(obj) {
return obj[memoMark];
return Boolean(obj[memoMark]);
};
memo.scope = function memoScope(fun, { signal, onlyLast } = {}) {
memo.scope = function memoScopeCreate(fun, { signal, onlyLast } = {}) {
let cache = oCreate();
function memoScope2(...args) {
function memoScope(...args) {
if (signal && signal.aborted)
return fun.apply(this, args);
let cache_local = onlyLast ? cache : oCreate();
@ -693,10 +693,10 @@ var DDE = (() => {
cache = cache_local;
return out;
}
memoScope2[memoMark] = true;
memoScope2.clear = () => cache = oCreate();
if (signal) signal.addEventListener("abort", memoScope2.clear);
return memoScope2;
memoScope[memoMark] = fun;
memoScope.clear = () => cache = oCreate();
if (signal) signal.addEventListener("abort", memoScope.clear);
return memoScope;
};
return __toCommonJS(index_exports);
})();

2
dist/iife.min.js vendored

File diff suppressed because one or more lines are too long