1
0
mirror of https://github.com/jaandrle/deka-dom-el synced 2025-07-02 04:32:14 +02:00

3 Commits

Author SHA1 Message Date
8415f5cf6f adjust package size limits 2025-03-17 15:14:56 +01:00
7e3b54153d 🐛 fixes #41 2025-03-17 15:14:39 +01:00
04f93345f8 🐛 📺 npm pkg fix 2025-03-17 14:39:15 +01:00
12 changed files with 47 additions and 47 deletions

View File

@ -41,6 +41,11 @@ function observedAttributes(instance, observedAttribute2) {
function kebabToCamel(name) { function kebabToCamel(name) {
return name.replace(/-./g, (x) => x[1].toUpperCase()); return name.replace(/-./g, (x) => x[1].toUpperCase());
} }
function requestIdle() {
return new Promise(function(resolve) {
(globalThis.requestIdleCallback || requestAnimationFrame)(resolve);
});
}
// src/dom-lib/common.js // src/dom-lib/common.js
var enviroment = { var enviroment = {
@ -179,11 +184,6 @@ function connectionsChangesObserverConstructor() {
is_observing = false; is_observing = false;
observer.disconnect(); observer.disconnect();
} }
function requestIdle() {
return new Promise(function(resolve) {
(requestIdleCallback || requestAnimationFrame)(resolve);
});
}
async function collectChildren(element) { async function collectChildren(element) {
if (store.size > 30) if (store.size > 30)
await requestIdle(); await requestIdle();
@ -824,7 +824,7 @@ signal.el = function(s, map) {
}; };
function requestCleanUpReactives(host) { function requestCleanUpReactives(host) {
if (!host || !host[key_reactive]) return; if (!host || !host[key_reactive]) return;
(requestIdleCallback || setTimeout)(function() { requestIdle().then(function() {
host[key_reactive] = host[key_reactive].filter(([s, el]) => el.isConnected ? true : (removeSignalListener(...s), false)); host[key_reactive] = host[key_reactive].filter(([s, el]) => el.isConnected ? true : (removeSignalListener(...s), false));
}); });
} }

File diff suppressed because one or more lines are too long

10
dist/esm.js vendored
View File

@ -25,6 +25,11 @@ function onAbort(signal, listener) {
signal.removeEventListener("abort", listener); signal.removeEventListener("abort", listener);
}; };
} }
function requestIdle() {
return new Promise(function(resolve) {
(globalThis.requestIdleCallback || requestAnimationFrame)(resolve);
});
}
// src/dom-lib/common.js // src/dom-lib/common.js
var enviroment = { var enviroment = {
@ -163,11 +168,6 @@ function connectionsChangesObserverConstructor() {
is_observing = false; is_observing = false;
observer.disconnect(); observer.disconnect();
} }
function requestIdle() {
return new Promise(function(resolve) {
(requestIdleCallback || requestAnimationFrame)(resolve);
});
}
async function collectChildren(element) { async function collectChildren(element) {
if (store.size > 30) if (store.size > 30)
await requestIdle(); await requestIdle();

2
dist/esm.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -86,6 +86,11 @@ var DDE = (() => {
function kebabToCamel(name) { function kebabToCamel(name) {
return name.replace(/-./g, (x) => x[1].toUpperCase()); return name.replace(/-./g, (x) => x[1].toUpperCase());
} }
function requestIdle() {
return new Promise(function(resolve) {
(globalThis.requestIdleCallback || requestAnimationFrame)(resolve);
});
}
// src/dom-lib/common.js // src/dom-lib/common.js
var enviroment = { var enviroment = {
@ -224,11 +229,6 @@ var DDE = (() => {
is_observing = false; is_observing = false;
observer.disconnect(); observer.disconnect();
} }
function requestIdle() {
return new Promise(function(resolve) {
(requestIdleCallback || requestAnimationFrame)(resolve);
});
}
async function collectChildren(element) { async function collectChildren(element) {
if (store.size > 30) if (store.size > 30)
await requestIdle(); await requestIdle();
@ -869,7 +869,7 @@ var DDE = (() => {
}; };
function requestCleanUpReactives(host) { function requestCleanUpReactives(host) {
if (!host || !host[key_reactive]) return; if (!host || !host[key_reactive]) return;
(requestIdleCallback || setTimeout)(function() { requestIdle().then(function() {
host[key_reactive] = host[key_reactive].filter(([s, el]) => el.isConnected ? true : (removeSignalListener(...s), false)); host[key_reactive] = host[key_reactive].filter(([s, el]) => el.isConnected ? true : (removeSignalListener(...s), false));
}); });
} }

File diff suppressed because one or more lines are too long

10
dist/iife.js vendored
View File

@ -67,6 +67,11 @@ var DDE = (() => {
signal.removeEventListener("abort", listener); signal.removeEventListener("abort", listener);
}; };
} }
function requestIdle() {
return new Promise(function(resolve) {
(globalThis.requestIdleCallback || requestAnimationFrame)(resolve);
});
}
// src/dom-lib/common.js // src/dom-lib/common.js
var enviroment = { var enviroment = {
@ -205,11 +210,6 @@ var DDE = (() => {
is_observing = false; is_observing = false;
observer.disconnect(); observer.disconnect();
} }
function requestIdle() {
return new Promise(function(resolve) {
(requestIdleCallback || requestAnimationFrame)(resolve);
});
}
async function collectChildren(element) { async function collectChildren(element) {
if (store.size > 30) if (store.size > 30)
await requestIdle(); await requestIdle();

2
dist/iife.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
"homepage": "https://github.com/jaandrle/deka-dom-el", "homepage": "https://github.com/jaandrle/deka-dom-el",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git@github.com:jaandrle/deka-dom-el.git" "url": "git+ssh://git@github.com/jaandrle/deka-dom-el.git"
}, },
"bugs": { "bugs": {
"url": "https://github.com/jaandrle/deka-dom-el/issues" "url": "https://github.com/jaandrle/deka-dom-el/issues"
@ -61,25 +61,25 @@
"size-limit": [ "size-limit": [
{ {
"path": "./index.js", "path": "./index.js",
"limit": "10.5 kB", "limit": "10 kB",
"gzip": false, "gzip": false,
"brotli": false "brotli": false
}, },
{ {
"path": "./signals.js", "path": "./signals.js",
"limit": "12.5 kB", "limit": "12.2 kB",
"gzip": false, "gzip": false,
"brotli": false "brotli": false
}, },
{ {
"path": "./index-with-signals.js", "path": "./index-with-signals.js",
"limit": "15 kB", "limit": "14.75 kB",
"gzip": false, "gzip": false,
"brotli": false "brotli": false
}, },
{ {
"path": "./index-with-signals.js", "path": "./index-with-signals.js",
"limit": "5.5 kB" "limit": "5.25 kB"
} }
], ],
"modifyEsbuildConfig": { "modifyEsbuildConfig": {

View File

@ -1,5 +1,5 @@
import { enviroment as env, evc, evd } from './common.js'; import { enviroment as env, evc, evd } from './common.js';
import { isInstance } from "../helpers.js"; import { isInstance, requestIdle } from "../helpers.js";
/** /**
* Connection changes observer for tracking element connection/disconnection * Connection changes observer for tracking element connection/disconnection
@ -149,15 +149,6 @@ function connectionsChangesObserverConstructor(){
observer.disconnect(); observer.disconnect();
} }
//TODO: remount support?
/**
* Schedule a task during browser idle time
* @returns {Promise<void>} Promise that resolves when browser is idle
*/
function requestIdle(){ return new Promise(function(resolve){
(requestIdleCallback || requestAnimationFrame)(resolve);
}); }
/** /**
* Collects child elements from the store that are contained by the given element * Collects child elements from the store that are contained by the given element
* @param {Element} element - Parent element * @param {Element} element - Parent element

View File

@ -68,3 +68,12 @@ export function observedAttributes(instance, observedAttribute){
* @returns {string} The camelCase string * @returns {string} The camelCase string
*/ */
function kebabToCamel(name){ return name.replace(/-./g, x=> x[1].toUpperCase()); } function kebabToCamel(name){ return name.replace(/-./g, x=> x[1].toUpperCase()); }
/**
* Schedule a task during browser idle time
* @returns {Promise<void>} Promise that resolves when browser is idle
*/
export function requestIdle(){ return new Promise(function(resolve){
(globalThis.requestIdleCallback || requestAnimationFrame)(resolve);
});
}

View File

@ -1,6 +1,6 @@
import { queueSignalWrite, mark } from "./helpers.js"; import { queueSignalWrite, mark } from "./helpers.js";
export { mark }; export { mark };
import { hasOwn, oCreate, oAssign } from "../helpers.js"; import { hasOwn, oCreate, oAssign, requestIdle } from "../helpers.js";
const Signal = oCreate(null, { const Signal = oCreate(null, {
get: { value(){ return read(this); } }, get: { value(){ return read(this); } },
@ -214,7 +214,7 @@ signal.el= function(s, map){
*/ */
function requestCleanUpReactives(host){ function requestCleanUpReactives(host){
if(!host || !host[key_reactive]) return; if(!host || !host[key_reactive]) return;
(requestIdleCallback || setTimeout)(function(){ requestIdle().then(function(){
host[key_reactive]= host[key_reactive] host[key_reactive]= host[key_reactive]
.filter(([ s, el ])=> el.isConnected ? true : (removeSignalListener(...s), false)); .filter(([ s, el ])=> el.isConnected ? true : (removeSignalListener(...s), false));
}); });