New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

linkedom

Package Overview
Dependencies
Maintainers
1
Versions
214
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

linkedom - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

26

cjs/html/html-button-element.js
'use strict';
const {booleanAttribute} = require('../utils.js');
const {booleanAttribute, registerHTMLClass} = require('../utils.js');
const {HTMLElement} = require('./html-element.js');
const tagName = 'button';
/**

@@ -9,14 +11,20 @@ * @implements globalThis.HTMLButtonElement

class HTMLButtonElement extends HTMLElement {
constructor(ownerDocument, localName = 'button') {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
/* c8 ignore stop */
}
exports.HTMLButtonElement = HTMLButtonElement
registerHTMLClass(tagName, HTMLButtonElement);
exports.HTMLButtonElement = HTMLButtonElement;
'use strict';
const {booleanAttribute} = require('../utils.js');
const {booleanAttribute, registerHTMLClass} = require('../utils.js');
const {HTMLElement} = require('./html-element.js');
const tagName = 'input';
/**

@@ -9,14 +11,24 @@ * @implements globalThis.HTMLInputElement

class HTMLInputElement extends HTMLElement {
constructor(ownerDocument, localName = 'input') {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get placeholder() { return this.getAttribute('placeholder'); }
set placeholder(value) { this.setAttribute('placeholder', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
/* c8 ignore stop */
}
exports.HTMLInputElement = HTMLInputElement
registerHTMLClass(tagName, HTMLInputElement);
exports.HTMLInputElement = HTMLInputElement;
'use strict';
const {booleanAttribute, registerHTMLClass} = require('../utils.js');
const {HTMLElement} = require('./html-element.js');
const tagName = 'select';
/**

@@ -8,6 +11,17 @@ * @implements globalThis.HTMLSelectElement

class HTMLSelectElement extends HTMLElement {
constructor(ownerDocument, localName = 'select') {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
/* c8 ignore stop */
}
exports.HTMLSelectElement = HTMLSelectElement
registerHTMLClass(tagName, HTMLSelectElement);
exports.HTMLSelectElement = HTMLSelectElement;

@@ -15,11 +15,19 @@ 'use strict';

get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get placeholder() { return this.getAttribute('placeholder'); }
set placeholder(value) { this.setAttribute('placeholder', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
get value() { return this.textContent; }
set value(content) { this.textContent = content; }
/* c8 ignore stop */
}
exports.HTMLTextAreaElement = HTMLTextAreaElement

@@ -26,0 +34,0 @@ registerHTMLClass(tagName, HTMLTextAreaElement);

@@ -1,19 +0,28 @@

import {booleanAttribute} from '../utils.js';
import {booleanAttribute, registerHTMLClass} from '../utils.js';
import {HTMLElement} from './html-element.js';
const tagName = 'button';
/**
* @implements globalThis.HTMLButtonElement
*/
export class HTMLButtonElement extends HTMLElement {
constructor(ownerDocument, localName = 'button') {
class HTMLButtonElement extends HTMLElement {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
/* c8 ignore stop */
}
registerHTMLClass(tagName, HTMLButtonElement);
export {HTMLButtonElement};

@@ -1,4 +0,6 @@

import {booleanAttribute} from '../utils.js';
import {booleanAttribute, registerHTMLClass} from '../utils.js';
import {HTMLElement} from './html-element.js';
const tagName = 'input';
/**

@@ -8,13 +10,23 @@ * @implements globalThis.HTMLInputElement

export class HTMLInputElement extends HTMLElement {
constructor(ownerDocument, localName = 'input') {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get placeholder() { return this.getAttribute('placeholder'); }
set placeholder(value) { this.setAttribute('placeholder', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
/* c8 ignore stop */
}
registerHTMLClass(tagName, HTMLInputElement);
export {HTMLInputElement};

@@ -0,10 +1,25 @@

import {booleanAttribute, registerHTMLClass} from '../utils.js';
import {HTMLElement} from './html-element.js';
const tagName = 'select';
/**
* @implements globalThis.HTMLSelectElement
*/
export class HTMLSelectElement extends HTMLElement {
constructor(ownerDocument, localName = 'select') {
class HTMLSelectElement extends HTMLElement {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
/* c8 ignore stop */
}
registerHTMLClass(tagName, HTMLSelectElement);
export {HTMLSelectElement};

@@ -9,3 +9,3 @@ import {booleanAttribute, registerHTMLClass} from '../utils.js';

*/
export class HTMLTextAreaElement extends TextElement {
class HTMLTextAreaElement extends TextElement {
constructor(ownerDocument, localName = tagName) {

@@ -15,9 +15,18 @@ super(ownerDocument, localName);

get disabled() {
return booleanAttribute.get(this, 'disabled');
}
/* c8 ignore start */
get disabled() { return booleanAttribute.get(this, 'disabled'); }
set disabled(value) { booleanAttribute.set(this, 'disabled', value); }
set disabled(value) {
booleanAttribute.set(this, 'disabled', value);
}
get name() { return this.getAttribute('name'); }
set name(value) { this.setAttribute('name', value); }
get placeholder() { return this.getAttribute('placeholder'); }
set placeholder(value) { this.setAttribute('placeholder', value); }
get type() { return this.getAttribute('type'); }
set type(value) { this.setAttribute('type', value); }
get value() { return this.textContent; }
set value(content) { this.textContent = content; }
/* c8 ignore stop */
}

@@ -24,0 +33,0 @@

{
"name": "linkedom",
"version": "0.2.1",
"version": "0.2.2",
"description": "A triple-linked lists based DOM implementation",

@@ -5,0 +5,0 @@ "main": "./cjs/index.js",

@@ -65,43 +65,2 @@ # 🔗 linkedom

## Parsing VS Node Types
This module parses, and works, only with the following `nodeType`:
* `ELEMENT_NODE`
* `ATTRIBUTE_NODE`
* `TEXT_NODE`
* `COMMENT_NODE`
* `DOCUMENT_NODE`
* `DOCUMENT_FRAGMENT_NODE`
Everything else, at least for the time being, is considered *YAGNI*, and it won't likely ever land in this project, as there's no goal to replicate deprecated features of this aged Web.
## Benchmarks
To run the benchmark locally, please follow these commands:
```sh
git clone https://github.com/WebReflection/linkedom.git
cd linkedom/test
npm i
cd ..
npm i
npm run benchmark
```
Following a couple of (outdated) benchmark results example.
### benchmark:dom
![benchmark output example](./linkedom-benchmark-dom.jpg)
### benchmark:html
![benchmark output example](./linkedom-benchmark-html.jpg)
## How does it work?

@@ -117,6 +76,6 @@

Node: ← node →
Attr<Node>: ← attr → ↑ ownerElement
Text<Node>: ← text → ↑ parentNode
Comment<Node>: ← comment → ↑ parentNode
Element<Node>: ← start ↔ end → ↑ parentNode
Attr<Node>: ← attr → ↑ ownerElement?
Text<Node>: ← text → ↑ parentNode?
Comment<Node>: ← comment → ↑ parentNode?
Element<Node>: ← start ↔ end → ↑ parentNode?

@@ -164,1 +123,41 @@ Fragment<Element>: start ↔ end

## Parsing VS Node Types
This module parses, and works, only with the following `nodeType`:
* `ELEMENT_NODE`
* `ATTRIBUTE_NODE`
* `TEXT_NODE`
* `COMMENT_NODE`
* `DOCUMENT_NODE`
* `DOCUMENT_FRAGMENT_NODE`
Everything else, at least for the time being, is considered *YAGNI*, and it won't likely ever land in this project, as there's no goal to replicate deprecated features of this aged Web.
## Benchmarks
To run the benchmark locally, please follow these commands:
```sh
git clone https://github.com/WebReflection/linkedom.git
cd linkedom/test
npm i
cd ..
npm i
npm run benchmark
```
Following a couple of (outdated) benchmark results example.
### benchmark:dom
![benchmark output example](./linkedom-benchmark-dom.jpg)
### benchmark:html
![benchmark output example](./linkedom-benchmark-html.jpg)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc