pseudo-dom 0.7.0 → 0.8.0
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.
- package/README.md +262 -236
- package/browser/pseudo-dom.js +628 -548
- package/browser/pseudo-dom.min.js +1 -1
- package/dist/classes/PseudoHTMLDocument.d.ts +41 -67
- package/dist/classes/PseudoHTMLDocument.js +74 -144
- package/dist/classes/PseudoHTMLDocument.min.js +1 -1
- package/dist/factories/cssSelectAdapter.d.ts +23 -23
- package/dist/factories/cssSelectAdapter.js +87 -87
- package/dist/factories/query.d.ts +33 -33
- package/dist/factories/query.js +66 -66
- package/dist/functions/getElementById.d.ts +13 -0
- package/dist/functions/getElementById.js +33 -0
- package/dist/functions/getElementById.min.js +1 -0
- package/dist/interfaces/PseudoDocument.d.ts +25 -0
- package/dist/interfaces/PseudoDocumentFragment.d.ts +10 -3
- package/dist/interfaces/PseudoElement.d.ts +702 -702
- package/dist/services/DocumentFragmentService.d.ts +21 -13
- package/dist/services/DocumentFragmentService.js +42 -24
- package/dist/services/DocumentFragmentService.min.js +1 -1
- package/dist/services/DocumentService.d.ts +28 -1
- package/dist/services/DocumentService.js +64 -15
- package/dist/services/DocumentService.min.js +1 -1
- package/dist/services/ElementService.d.ts +191 -191
- package/dist/services/ElementService.js +426 -426
- package/dist/services/HTMLCollectionService.d.ts +54 -54
- package/dist/services/HTMLCollectionService.js +92 -92
- package/dist/services/NodeService.d.ts +297 -297
- package/dist/services/NodeService.js +721 -721
- package/package.json +2 -2
- package/dist/classes.d.ts +0 -20
- package/dist/classes.js +0 -31
- package/dist/classes.min.js +0 -1
- package/dist/factories/generateNode.d.ts +0 -32
- package/dist/factories/generateNode.js +0 -85
- package/dist/factories/generateNode.min.js +0 -1
- package/dist/factories.d.ts +0 -11
- package/dist/factories.js +0 -27
- package/dist/factories.min.js +0 -1
- package/dist/functions.d.ts +0 -5
- package/dist/functions.js +0 -23
- package/dist/functions.min.js +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pseudo-dom",
|
|
3
3
|
"description": "Mock the DOM on the server side for managing state and testing",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"types": "dist/main.d.ts",
|
|
7
7
|
"author": "Joshua Heagle",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"watch:test": "gulp watchTest"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"collect-your-stuff": "^2.1.
|
|
21
|
+
"collect-your-stuff": "^2.1.2",
|
|
22
22
|
"core-js": "^3.50.0",
|
|
23
23
|
"css-select": "^6.0.0",
|
|
24
24
|
"si-funciona": "^2.6.1"
|
package/dist/classes.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file All of the Pseudo Dom classes for replicating DOM structure.
|
|
3
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
4
|
-
* @version 1.0.0
|
|
5
|
-
*/
|
|
6
|
-
import { EventService as PseudoEvent } from './services/EventService';
|
|
7
|
-
import PseudoEventTarget from './services/EventTargetService';
|
|
8
|
-
import { NodeService as PseudoNode } from './services/NodeService';
|
|
9
|
-
import { ElementService as PseudoElement } from './services/ElementService';
|
|
10
|
-
import { HTMLElementService as PseudoHTMLElement } from './services/HTMLElementService';
|
|
11
|
-
import PseudoHTMLDocument from './classes/PseudoHTMLDocument';
|
|
12
|
-
declare const _default: {
|
|
13
|
-
PseudoEvent: typeof PseudoEvent;
|
|
14
|
-
PseudoEventTarget: typeof PseudoEventTarget;
|
|
15
|
-
PseudoNode: typeof PseudoNode;
|
|
16
|
-
PseudoElement: typeof PseudoElement;
|
|
17
|
-
PseudoHTMLElement: typeof PseudoHTMLElement;
|
|
18
|
-
PseudoHTMLDocument: typeof PseudoHTMLDocument;
|
|
19
|
-
};
|
|
20
|
-
export default _default;
|
package/dist/classes.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @file All of the Pseudo Dom classes for replicating DOM structure.
|
|
5
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
6
|
-
* @version 1.0.0
|
|
7
|
-
*/
|
|
8
|
-
const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
9
|
-
return mod && mod.__esModule
|
|
10
|
-
? mod
|
|
11
|
-
: {
|
|
12
|
-
default: mod
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(exports, '__esModule', {
|
|
16
|
-
value: true
|
|
17
|
-
})
|
|
18
|
-
const EventService_1 = require('./services/EventService')
|
|
19
|
-
const EventTargetService_1 = __importDefault(require('./services/EventTargetService'))
|
|
20
|
-
const NodeService_1 = require('./services/NodeService')
|
|
21
|
-
const ElementService_1 = require('./services/ElementService')
|
|
22
|
-
const HTMLElementService_1 = require('./services/HTMLElementService')
|
|
23
|
-
const PseudoHTMLDocument_1 = __importDefault(require('./classes/PseudoHTMLDocument'))
|
|
24
|
-
exports.default = {
|
|
25
|
-
PseudoEvent: EventService_1.EventService,
|
|
26
|
-
PseudoEventTarget: EventTargetService_1.default,
|
|
27
|
-
PseudoNode: NodeService_1.NodeService,
|
|
28
|
-
PseudoElement: ElementService_1.ElementService,
|
|
29
|
-
PseudoHTMLElement: HTMLElementService_1.HTMLElementService,
|
|
30
|
-
PseudoHTMLDocument: PseudoHTMLDocument_1.default
|
|
31
|
-
}
|
package/dist/classes.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const EventService_1=require("./services/EventService"),EventTargetService_1=__importDefault(require("./services/EventTargetService")),NodeService_1=require("./services/NodeService"),ElementService_1=require("./services/ElementService"),HTMLElementService_1=require("./services/HTMLElementService"),PseudoHTMLDocument_1=__importDefault(require("./classes/PseudoHTMLDocument"));exports.default={PseudoEvent:EventService_1.EventService,PseudoEventTarget:EventTargetService_1.default,PseudoNode:NodeService_1.NodeService,PseudoElement:ElementService_1.ElementService,PseudoHTMLElement:HTMLElementService_1.HTMLElementService,PseudoHTMLDocument:PseudoHTMLDocument_1.default};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { TreeLinker } from 'collect-your-stuff/dist/collections/linked-tree-list/TreeLinker';
|
|
2
|
-
import { NodeService } from '../services/NodeService';
|
|
3
|
-
import { PseudoNode } from '../interfaces/PseudoNode';
|
|
4
|
-
import { PseudoElement } from '../interfaces/PseudoElement';
|
|
5
|
-
/**
|
|
6
|
-
* A node which is stored in a TreeLinker (for example by a list built from an array of values). It finds its siblings
|
|
7
|
-
* from that linker, and its parent from the linker's parent when it has not been given one by appendChild.
|
|
8
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
9
|
-
* @class
|
|
10
|
-
* @augments NodeService
|
|
11
|
-
*/
|
|
12
|
-
export declare class LinkedNode extends NodeService {
|
|
13
|
-
/**
|
|
14
|
-
* @param {TreeLinker} linker The linker holding this node
|
|
15
|
-
* @param {string|null} value The value of the node
|
|
16
|
-
* @constructor
|
|
17
|
-
*/
|
|
18
|
-
constructor(linker: TreeLinker, value?: string | null);
|
|
19
|
-
get isConnected(): boolean;
|
|
20
|
-
get parentNode(): PseudoNode | null;
|
|
21
|
-
get parentElement(): PseudoElement | null;
|
|
22
|
-
}
|
|
23
|
-
export declare class NodeFactory extends TreeLinker {
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Create a TreeLinker class whose linkers each store a node (a LinkedNode) as their data, this can be used to build a
|
|
27
|
-
* tree (or list) of nodes from plain values.
|
|
28
|
-
* @function generateNode
|
|
29
|
-
* @returns {Function} The NodeFactory class (a TreeLinker) to use as the linker class
|
|
30
|
-
*/
|
|
31
|
-
declare const generateNode: () => typeof NodeFactory;
|
|
32
|
-
export default generateNode;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
4
|
-
require('core-js/modules/esnext.iterator.reduce.js')
|
|
5
|
-
Object.defineProperty(exports, '__esModule', {
|
|
6
|
-
value: true
|
|
7
|
-
})
|
|
8
|
-
exports.NodeFactory = exports.LinkedNode = void 0
|
|
9
|
-
const TreeLinker_1 = require('collect-your-stuff/dist/collections/linked-tree-list/TreeLinker')
|
|
10
|
-
const NodeService_1 = require('../services/NodeService')
|
|
11
|
-
/**
|
|
12
|
-
* A node which is stored in a TreeLinker (for example by a list built from an array of values). It finds its siblings
|
|
13
|
-
* from that linker, and its parent from the linker's parent when it has not been given one by appendChild.
|
|
14
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
15
|
-
* @class
|
|
16
|
-
* @augments NodeService
|
|
17
|
-
*/
|
|
18
|
-
class LinkedNode extends NodeService_1.NodeService {
|
|
19
|
-
/**
|
|
20
|
-
* @param {TreeLinker} linker The linker holding this node
|
|
21
|
-
* @param {string|null} value The value of the node
|
|
22
|
-
* @constructor
|
|
23
|
-
*/
|
|
24
|
-
constructor (linker, value = '') {
|
|
25
|
-
super()
|
|
26
|
-
this.listLinker = linker
|
|
27
|
-
this.nodeValue = value
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
get isConnected () {
|
|
31
|
-
return !!this.parentNode
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
get parentNode () {
|
|
35
|
-
if (this.parent) {
|
|
36
|
-
return this.parent
|
|
37
|
-
}
|
|
38
|
-
const parentLinker = this.listLinker ? this.listLinker.parent : null
|
|
39
|
-
return parentLinker ? parentLinker.data : null
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
get parentElement () {
|
|
43
|
-
const parent = this.parentNode
|
|
44
|
-
return parent && parent.nodeType === NodeService_1.NodeService.ELEMENT_NODE ? parent : null
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.LinkedNode = LinkedNode
|
|
48
|
-
class NodeFactory extends TreeLinker_1.TreeLinker {}
|
|
49
|
-
exports.NodeFactory = NodeFactory
|
|
50
|
-
/**
|
|
51
|
-
* Create a TreeLinker class whose linkers each store a node (a LinkedNode) as their data, this can be used to build a
|
|
52
|
-
* tree (or list) of nodes from plain values.
|
|
53
|
-
* @function generateNode
|
|
54
|
-
* @returns {Function} The NodeFactory class (a TreeLinker) to use as the linker class
|
|
55
|
-
*/
|
|
56
|
-
const generateNode = () => {
|
|
57
|
-
NodeFactory.fromArray = (values = [], LinkerClass = NodeFactory) => values.reduce((list, element) => {
|
|
58
|
-
if (typeof element !== 'object') {
|
|
59
|
-
element = {
|
|
60
|
-
data: element
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const newElement = new LinkerClass(Object.assign({}, element, {
|
|
64
|
-
prev: list.tail
|
|
65
|
-
}))
|
|
66
|
-
newElement.data = new LinkedNode(newElement, element.data)
|
|
67
|
-
if (list.head === null) {
|
|
68
|
-
return {
|
|
69
|
-
head: newElement,
|
|
70
|
-
tail: newElement
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
list.tail.next = newElement
|
|
74
|
-
newElement.prev = list.tail
|
|
75
|
-
return {
|
|
76
|
-
head: list.head,
|
|
77
|
-
tail: newElement
|
|
78
|
-
}
|
|
79
|
-
}, {
|
|
80
|
-
head: null,
|
|
81
|
-
tail: null
|
|
82
|
-
})
|
|
83
|
-
return NodeFactory
|
|
84
|
-
}
|
|
85
|
-
exports.default = generateNode
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.NodeFactory=exports.LinkedNode=void 0;const TreeLinker_1=require("collect-your-stuff/dist/collections/linked-tree-list/TreeLinker"),NodeService_1=require("../services/NodeService");class LinkedNode extends NodeService_1.NodeService{constructor(e,t=""){super(),this.listLinker=e,this.nodeValue=t}get isConnected(){return!!this.parentNode}get parentNode(){if(this.parent)return this.parent;const e=this.listLinker?this.listLinker.parent:null;return e?e.data:null}get parentElement(){const e=this.parentNode;return e&&e.nodeType===NodeService_1.NodeService.ELEMENT_NODE?e:null}}exports.LinkedNode=LinkedNode;class NodeFactory extends TreeLinker_1.TreeLinker{}exports.NodeFactory=NodeFactory;const generateNode=()=>(NodeFactory.fromArray=(e=[],t=NodeFactory)=>e.reduce((e,r)=>{"object"!=typeof r&&(r={data:r});const o=new t(Object.assign({},r,{prev:e.tail}));return o.data=new LinkedNode(o,r.data),null===e.head?{head:o,tail:o}:(e.tail.next=o,o.prev=e.tail,{head:e.head,tail:o})},{head:null,tail:null}),NodeFactory);exports.default=generateNode;
|
package/dist/factories.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
generateNode: () => typeof import("./factories/generateNode").NodeFactory;
|
|
3
|
-
nodeListFactory: (innerList?: import("collect-your-stuff/dist/collections/linked-tree-list/TreeLinker").TreeLinker | null) => import("./classes/PseudoNodeList").PseudoNodeList;
|
|
4
|
-
createEvent: (type: string, init?: {
|
|
5
|
-
[option: string]: any;
|
|
6
|
-
}, { browser, trusted }?: import("./factories/createEvent").CreateEventOptions) => import("./main").PseudoEvent;
|
|
7
|
-
eventDefaults: {
|
|
8
|
-
[type: string]: import("./factories/eventDefaults").EventDefinition;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
package/dist/factories.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
4
|
-
return mod && mod.__esModule
|
|
5
|
-
? mod
|
|
6
|
-
: {
|
|
7
|
-
default: mod
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(exports, '__esModule', {
|
|
11
|
-
value: true
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* @file All of the Pseudo Dom Helper functions for generating DOM objects.
|
|
15
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
16
|
-
* @version 1.0.0
|
|
17
|
-
*/
|
|
18
|
-
const generateNode_1 = __importDefault(require('./factories/generateNode'))
|
|
19
|
-
const generateNodeList_1 = __importDefault(require('./factories/generateNodeList'))
|
|
20
|
-
const createEvent_1 = __importDefault(require('./factories/createEvent'))
|
|
21
|
-
const eventDefaults_1 = __importDefault(require('./factories/eventDefaults'))
|
|
22
|
-
exports.default = {
|
|
23
|
-
generateNode: generateNode_1.default,
|
|
24
|
-
nodeListFactory: generateNodeList_1.default,
|
|
25
|
-
createEvent: createEvent_1.default,
|
|
26
|
-
eventDefaults: eventDefaults_1.default
|
|
27
|
-
}
|
package/dist/factories.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const generateNode_1=__importDefault(require("./factories/generateNode")),generateNodeList_1=__importDefault(require("./factories/generateNodeList")),createEvent_1=__importDefault(require("./factories/createEvent")),eventDefaults_1=__importDefault(require("./factories/eventDefaults"));exports.default={generateNode:generateNode_1.default,nodeListFactory:generateNodeList_1.default,createEvent:createEvent_1.default,eventDefaults:eventDefaults_1.default};
|
package/dist/functions.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
getParentNodes: (node: import("./interfaces/PseudoEventTarget").PseudoEventTarget | import("./interfaces/PseudoNode").PseudoNode | any) => Array<import("./interfaces/PseudoNode").PseudoNode>;
|
|
3
|
-
getParentNodesFromAttribute: (attr: string, value: boolean | number | string, node: import("./interfaces/PseudoEventTarget").PseudoEventTarget | import("./interfaces/PseudoNode").PseudoNode | any) => Array<import("./interfaces/PseudoNode").PseudoNode>;
|
|
4
|
-
};
|
|
5
|
-
export default _default;
|
package/dist/functions.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
4
|
-
return mod && mod.__esModule
|
|
5
|
-
? mod
|
|
6
|
-
: {
|
|
7
|
-
default: mod
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
Object.defineProperty(exports, '__esModule', {
|
|
11
|
-
value: true
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* @file Helper functions for managing interactions with DOM classes
|
|
15
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
16
|
-
* @version 1.0.0
|
|
17
|
-
*/
|
|
18
|
-
const getParentNodes_1 = __importDefault(require('./functions/getParentNodes'))
|
|
19
|
-
const getParentNodesFromAttribute_1 = __importDefault(require('./functions/getParentNodesFromAttribute'))
|
|
20
|
-
exports.default = {
|
|
21
|
-
getParentNodes: getParentNodes_1.default,
|
|
22
|
-
getParentNodesFromAttribute: getParentNodesFromAttribute_1.default
|
|
23
|
-
}
|
package/dist/functions.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __importDefault=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const getParentNodes_1=__importDefault(require("./functions/getParentNodes")),getParentNodesFromAttribute_1=__importDefault(require("./functions/getParentNodesFromAttribute"));exports.default={getParentNodes:getParentNodes_1.default,getParentNodesFromAttribute:getParentNodesFromAttribute_1.default};
|