netscape-bookmark-parser 1.1.4 → 1.2.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.
Files changed (122) hide show
  1. package/LICENSE +2 -2
  2. package/README-ja.md +108 -98
  3. package/README.md +108 -98
  4. package/dist/index.d.ts +240 -0
  5. package/dist/index.js +333 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/web.d.ts +241 -0
  8. package/dist/web.js +330 -0
  9. package/dist/web.js.map +1 -0
  10. package/package.json +58 -15
  11. package/esm/_dnt.polyfills.d.ts +0 -101
  12. package/esm/_dnt.polyfills.d.ts.map +0 -1
  13. package/esm/_dnt.polyfills.js +0 -127
  14. package/esm/_dnt.shims.d.ts +0 -6
  15. package/esm/_dnt.shims.d.ts.map +0 -1
  16. package/esm/_dnt.shims.js +0 -61
  17. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/build/deno-wasm/deno-wasm.d.ts +0 -14
  18. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/build/deno-wasm/deno-wasm.d.ts.map +0 -1
  19. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/build/deno-wasm/deno-wasm.js +0 -151
  20. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/deno-dom-wasm.d.ts +0 -23
  21. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/deno-dom-wasm.d.ts.map +0 -1
  22. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/deno-dom-wasm.js +0 -26
  23. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/api.d.ts +0 -24
  24. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/api.d.ts.map +0 -1
  25. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/api.js +0 -48
  26. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/constructor-lock.d.ts +0 -5
  27. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/constructor-lock.d.ts.map +0 -1
  28. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/constructor-lock.js +0 -4
  29. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/deserialize.d.ts +0 -4
  30. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/deserialize.d.ts.map +0 -1
  31. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/deserialize.js +0 -61
  32. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document-fragment.d.ts +0 -19
  33. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document-fragment.d.ts.map +0 -1
  34. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document-fragment.js +0 -110
  35. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document.d.ts +0 -68
  36. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document.d.ts.map +0 -1
  37. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document.js +0 -322
  38. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/dom-parser.d.ts +0 -6
  39. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/dom-parser.d.ts.map +0 -1
  40. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/dom-parser.js +0 -46
  41. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/element.d.ts +0 -127
  42. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/element.d.ts.map +0 -1
  43. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/element.js +0 -1068
  44. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/elements/html-template-element.d.ts +0 -29
  45. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/elements/html-template-element.d.ts.map +0 -1
  46. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/elements/html-template-element.js +0 -94
  47. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/html-collection.d.ts +0 -21
  48. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/html-collection.d.ts.map +0 -1
  49. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/html-collection.js +0 -80
  50. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node-list.d.ts +0 -23
  51. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node-list.d.ts.map +0 -1
  52. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node-list.js +0 -159
  53. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node.d.ts +0 -127
  54. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node.d.ts.map +0 -1
  55. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node.js +0 -629
  56. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/custom-api.d.ts +0 -6
  57. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/custom-api.d.ts.map +0 -1
  58. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/custom-api.js +0 -5
  59. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi-types.d.ts +0 -12
  60. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi-types.d.ts.map +0 -1
  61. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi-types.js +0 -2
  62. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi.d.ts +0 -90
  63. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/nwsapi.js +0 -1611
  65. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/selectors.d.ts +0 -16
  66. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/selectors.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/selectors.js +0 -28
  68. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle-types.d.ts +0 -8
  69. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle-types.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle-types.js +0 -2
  71. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle.d.ts +0 -7
  72. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/selectors/sizzle.js +0 -2061
  74. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/string-cache.d.ts +0 -3
  75. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/string-cache.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/string-cache.js +0 -10
  77. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils-types.d.ts +0 -13
  78. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils-types.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils-types.js +0 -8
  80. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils.d.ts +0 -31
  81. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/utils.js +0 -239
  83. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/parser.d.ts +0 -5
  84. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/parser.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/parser.js +0 -20
  86. package/esm/mod.d.ts +0 -10
  87. package/esm/mod.d.ts.map +0 -1
  88. package/esm/mod.js +0 -9
  89. package/esm/mod_web.d.ts +0 -9
  90. package/esm/mod_web.d.ts.map +0 -1
  91. package/esm/mod_web.js +0 -8
  92. package/esm/package.json +0 -3
  93. package/esm/src/BookmarksParser/BookmarksParser.d.ts +0 -130
  94. package/esm/src/BookmarksParser/BookmarksParser.d.ts.map +0 -1
  95. package/esm/src/BookmarksParser/BookmarksParser.js +0 -142
  96. package/esm/src/BookmarksParser/index.d.ts +0 -8
  97. package/esm/src/BookmarksParser/index.d.ts.map +0 -1
  98. package/esm/src/BookmarksParser/index.js +0 -7
  99. package/esm/src/BookmarksTree/BookmarksTree.d.ts +0 -118
  100. package/esm/src/BookmarksTree/BookmarksTree.d.ts.map +0 -1
  101. package/esm/src/BookmarksTree/BookmarksTree.js +0 -225
  102. package/esm/src/BookmarksTree/index.d.ts +0 -8
  103. package/esm/src/BookmarksTree/index.d.ts.map +0 -1
  104. package/esm/src/BookmarksTree/index.js +0 -7
  105. package/esm/src/deps.d.ts +0 -9
  106. package/esm/src/deps.d.ts.map +0 -1
  107. package/esm/src/deps.js +0 -7
  108. package/esm/src/web/BookmarksParser/BookmarksParser.d.ts +0 -130
  109. package/esm/src/web/BookmarksParser/BookmarksParser.d.ts.map +0 -1
  110. package/esm/src/web/BookmarksParser/BookmarksParser.js +0 -142
  111. package/esm/src/web/BookmarksParser/index.d.ts +0 -8
  112. package/esm/src/web/BookmarksParser/index.d.ts.map +0 -1
  113. package/esm/src/web/BookmarksParser/index.js +0 -7
  114. package/esm/src/web/BookmarksTree/BookmarksTree.d.ts +0 -118
  115. package/esm/src/web/BookmarksTree/BookmarksTree.d.ts.map +0 -1
  116. package/esm/src/web/BookmarksTree/BookmarksTree.js +0 -225
  117. package/esm/src/web/BookmarksTree/index.d.ts +0 -8
  118. package/esm/src/web/BookmarksTree/index.d.ts.map +0 -1
  119. package/esm/src/web/BookmarksTree/index.js +0 -7
  120. package/esm/src/web/deps.d.ts +0 -10
  121. package/esm/src/web/deps.d.ts.map +0 -1
  122. package/esm/src/web/deps.js +0 -9
@@ -1,29 +0,0 @@
1
- import { Node } from "../node.js";
2
- import { Element } from "../element.js";
3
- import { Document } from "../document.js";
4
- import { DocumentFragment } from "../document-fragment.js";
5
- import { CTOR_KEY } from "../../constructor-lock.js";
6
- export declare class HTMLTemplateElement extends Element {
7
- #private;
8
- /**
9
- * This blocks access to the .#contents property when the
10
- * super() constructor is running which invokes (our
11
- * overridden) _setParent() method. Without it, we get
12
- * the following error thrown:
13
- *
14
- * TypeError: Cannot read private member #content from
15
- * an object whose class did not declare it
16
- *
17
- * FIXME: Maybe find a cleaner way to do this
18
- */
19
- private __contentIsSet;
20
- constructor(parentNode: Node | null, attributes: [string, string][], key: typeof CTOR_KEY, content: DocumentFragment);
21
- get content(): DocumentFragment;
22
- _setOwnerDocument(document: Document | null): void;
23
- _shallowClone(): HTMLTemplateElement;
24
- cloneNode(deep?: boolean): HTMLTemplateElement;
25
- get innerHTML(): string;
26
- set innerHTML(html: string);
27
- get outerHTML(): string;
28
- }
29
- //# sourceMappingURL=html-template-element.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-template-element.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/elements/html-template-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,qBAAa,mBAAoB,SAAQ,OAAO;;IAC9C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc,CAAS;gBAI7B,UAAU,EAAE,IAAI,GAAG,IAAI,EACvB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC9B,GAAG,EAAE,OAAO,QAAQ,EACpB,OAAO,EAAE,gBAAgB;IAa3B,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAEQ,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ3C,aAAa,IAAI,mBAAmB;IAQpC,SAAS,CAAC,IAAI,UAAQ,GAAG,mBAAmB;IAarD,IAAa,SAAS,IAAI,MAAM,CAE/B;IAGD,IAAa,SAAS,CAAC,IAAI,EAAE,MAAM,EAqBlC;IAED,IAAa,SAAS,IAAI,MAAM,CAI/B;CACF"}
@@ -1,94 +0,0 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _HTMLTemplateElement_content;
13
- import { Element } from "../element.js";
14
- import { DocumentFragment } from "../document-fragment.js";
15
- import { getElementAttributesString, getOuterOrInnerHtml } from "../utils.js";
16
- import { fragmentNodesFromString } from "../../deserialize.js";
17
- import { CTOR_KEY } from "../../constructor-lock.js";
18
- export class HTMLTemplateElement extends Element {
19
- constructor(parentNode, attributes, key, content) {
20
- super("TEMPLATE", parentNode, attributes, key);
21
- /**
22
- * This blocks access to the .#contents property when the
23
- * super() constructor is running which invokes (our
24
- * overridden) _setParent() method. Without it, we get
25
- * the following error thrown:
26
- *
27
- * TypeError: Cannot read private member #content from
28
- * an object whose class did not declare it
29
- *
30
- * FIXME: Maybe find a cleaner way to do this
31
- */
32
- Object.defineProperty(this, "__contentIsSet", {
33
- enumerable: true,
34
- configurable: true,
35
- writable: true,
36
- value: false
37
- });
38
- _HTMLTemplateElement_content.set(this, null);
39
- __classPrivateFieldSet(this, _HTMLTemplateElement_content, content, "f");
40
- this.__contentIsSet = true;
41
- }
42
- get content() {
43
- return __classPrivateFieldGet(this, _HTMLTemplateElement_content, "f");
44
- }
45
- _setOwnerDocument(document) {
46
- super._setOwnerDocument(document);
47
- if (this.__contentIsSet) {
48
- this.content._setOwnerDocument(document);
49
- }
50
- }
51
- _shallowClone() {
52
- const frag = new DocumentFragment();
53
- const attributes = this
54
- .getAttributeNames()
55
- .map((name) => [name, this.getAttribute(name)]);
56
- return new HTMLTemplateElement(null, attributes, CTOR_KEY, frag);
57
- }
58
- cloneNode(deep = false) {
59
- const newNode = super.cloneNode(deep);
60
- if (deep) {
61
- const destContent = newNode.content;
62
- for (const child of this.content.childNodes) {
63
- destContent.appendChild(child.cloneNode(deep));
64
- }
65
- }
66
- return newNode;
67
- }
68
- get innerHTML() {
69
- return getOuterOrInnerHtml(this, false);
70
- }
71
- // Replace children in the `.content`
72
- set innerHTML(html) {
73
- const content = this.content;
74
- // Remove all children
75
- for (const child of content.childNodes) {
76
- child._setParent(null);
77
- }
78
- const mutator = content._getChildNodesMutator();
79
- mutator.splice(0, content.childNodes.length);
80
- // Parse HTML into new children
81
- if (html.length) {
82
- const parsed = fragmentNodesFromString(html, this.localName);
83
- mutator.push(...parsed.childNodes[0].childNodes);
84
- for (const child of content.childNodes) {
85
- child._setParent(content);
86
- child._setOwnerDocument(content.ownerDocument);
87
- }
88
- }
89
- }
90
- get outerHTML() {
91
- return `<template${getElementAttributesString(this)}>${this.innerHTML}</template>`;
92
- }
93
- }
94
- _HTMLTemplateElement_content = new WeakMap();
@@ -1,21 +0,0 @@
1
- import type { Element } from "./element.js";
2
- export declare const HTMLCollectionMutatorSym: unique symbol;
3
- export interface HTMLCollection {
4
- new (): HTMLCollection;
5
- readonly [index: number]: Element;
6
- readonly length: number;
7
- [Symbol.iterator](): Generator<Element>;
8
- item(index: number): Element;
9
- [HTMLCollectionMutatorSym](): HTMLCollectionMutator;
10
- }
11
- export interface HTMLCollectionPublic extends HTMLCollection {
12
- [HTMLCollectionMutatorSym]: never;
13
- }
14
- export interface HTMLCollectionMutator {
15
- push(...elements: Element[]): number;
16
- splice(start: number, deleteCount?: number, ...items: Element[]): Element[];
17
- indexOf(element: Element, fromIndex?: number | undefined): number;
18
- }
19
- export declare const HTMLCollection: HTMLCollection;
20
- export declare const HTMLCollectionPublic: HTMLCollectionPublic;
21
- //# sourceMappingURL=html-collection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-collection.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/html-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAc5C,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAsF3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,cAAc,CAAC;IACvB,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,CAAC,wBAAwB,CAAC,IAAI,qBAAqB,CAAC;CACrD;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAC5E,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;CACnE;AAED,eAAO,MAAM,cAAc,EAAI,cAAmC,CAAC;AACnE,eAAO,MAAM,oBAAoB,EAC9B,oBAA6C,CAAC"}
@@ -1,80 +0,0 @@
1
- const HTMLCollectionFakeClass = (() => {
2
- return class HTMLCollection {
3
- constructor() {
4
- throw new TypeError("Illegal constructor");
5
- }
6
- static [Symbol.hasInstance](value) {
7
- return value.constructor === HTMLCollectionClass;
8
- }
9
- };
10
- })();
11
- export const HTMLCollectionMutatorSym = Symbol("HTMLCollectionMutatorSym");
12
- // We define the `HTMLCollection` inside a closure to ensure that its
13
- // `.name === "HTMLCollection"` property stays intact, as we need to manipulate
14
- // its prototype and completely change its TypeScript-recognized type.
15
- const HTMLCollectionClass = (() => {
16
- // @ts-ignore
17
- class HTMLCollection extends Array {
18
- forEach(cb, thisArg) {
19
- super.forEach(cb, thisArg);
20
- }
21
- item(index) {
22
- return this[index] ?? null;
23
- }
24
- [HTMLCollectionMutatorSym]() {
25
- return {
26
- push: Array.prototype.push.bind(this),
27
- splice: Array.prototype.splice.bind(this),
28
- indexOf: Array.prototype.indexOf.bind(this),
29
- };
30
- }
31
- toString() {
32
- return "[object HTMLCollection]";
33
- }
34
- }
35
- return HTMLCollection;
36
- })();
37
- for (const staticMethod of [
38
- "from",
39
- "isArray",
40
- "of",
41
- ]) {
42
- HTMLCollectionClass[staticMethod] = undefined;
43
- }
44
- for (const instanceMethod of [
45
- "concat",
46
- "copyWithin",
47
- "every",
48
- "fill",
49
- "filter",
50
- "find",
51
- "findIndex",
52
- "flat",
53
- "flatMap",
54
- "includes",
55
- "indexOf",
56
- "join",
57
- "lastIndexOf",
58
- "map",
59
- "pop",
60
- "push",
61
- "reduce",
62
- "reduceRight",
63
- "reverse",
64
- "shift",
65
- "slice",
66
- "some",
67
- "sort",
68
- "splice",
69
- "toLocaleString",
70
- "unshift",
71
- // Unlike NodeList, HTMLCollection also doesn't implement these
72
- "entries",
73
- "forEach",
74
- "keys",
75
- "values",
76
- ]) {
77
- HTMLCollectionClass.prototype[instanceMethod] = undefined;
78
- }
79
- export const HTMLCollection = HTMLCollectionClass;
80
- export const HTMLCollectionPublic = HTMLCollectionFakeClass;
@@ -1,23 +0,0 @@
1
- import { Node } from "./node.js";
2
- import { HTMLCollection } from "./html-collection.js";
3
- export declare const nodeListMutatorSym: unique symbol;
4
- export interface NodeList<T extends Node = Node> {
5
- new (): NodeList;
6
- readonly [index: number]: T;
7
- readonly length: number;
8
- [Symbol.iterator](): Generator<T>;
9
- item(index: number): T;
10
- forEach(cb: (node: T, index: number, nodeList: T[]) => void, thisArg?: NodeList | undefined): void;
11
- [nodeListMutatorSym](): NodeListMutator;
12
- }
13
- export type NodeListPublic = Omit<NodeList, typeof nodeListMutatorSym>;
14
- export interface NodeListMutator {
15
- push(...nodes: Node[]): number;
16
- splice(start: number, deleteCount?: number, ...items: Node[]): Node[];
17
- indexOf(node: Node, fromIndex?: number | undefined): number;
18
- indexOfElementsView(node: Node, fromIndex?: number | undefined): number;
19
- elementsView(): HTMLCollection;
20
- }
21
- export declare const NodeList: NodeList;
22
- export declare const NodeListPublic: NodeListPublic;
23
- //# sourceMappingURL=node-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-list.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAmL/D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI;IAC7C,QAAQ,QAAQ,CAAC;IACjB,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IACvB,OAAO,CACL,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,EACnD,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAC7B,IAAI,CAAC;IACR,CAAC,kBAAkB,CAAC,IAAI,eAAe,CAAC;CACzC;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,kBAAkB,CAAC,CAAC;AACvE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IACtE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC5D,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACxE,YAAY,IAAI,cAAc,CAAC;CAChC;AAED,eAAO,MAAM,QAAQ,EAAI,QAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,EAAI,cAAiC,CAAC"}
@@ -1,159 +0,0 @@
1
- import { Node } from "./node.js";
2
- import { HTMLCollection } from "./html-collection.js";
3
- const NodeListFakeClass = (() => {
4
- return class NodeList {
5
- constructor() {
6
- throw new TypeError("Illegal constructor");
7
- }
8
- static [Symbol.hasInstance](value) {
9
- return value.constructor === NodeListClass;
10
- }
11
- };
12
- })();
13
- export const nodeListMutatorSym = Symbol("nodeListMutatorSym");
14
- const nodeListCachedMutator = Symbol("nodeListCachedMutator");
15
- // Array methods that we need for NodeList mutator implementation
16
- const { push, splice, slice, indexOf, filter } = Array.prototype;
17
- // Implementation of a NodeList mutator
18
- class NodeListMutatorImpl {
19
- constructor(arrayInstance) {
20
- Object.defineProperty(this, "arrayInstance", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: arrayInstance
25
- });
26
- // There should only ever be one elementView per element. Element views
27
- // are basically just the source of HTMLCollections/.children properties
28
- // on elements that are always in sync with their .childNodes counterpart.
29
- Object.defineProperty(this, "elementViews", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: []
34
- });
35
- }
36
- push(...items) {
37
- // Copy the new items to the element view (if any)
38
- for (const view of this.elementViews) {
39
- for (const item of items) {
40
- if (item.nodeType === Node.ELEMENT_NODE) {
41
- push.call(view, item);
42
- }
43
- }
44
- }
45
- return push.call(this.arrayInstance, ...items);
46
- }
47
- splice(index, deleteCount = 0, ...items) {
48
- // Delete and insert new elements in an element view (if any)
49
- for (const view of this.elementViews) {
50
- const toDelete = filter.call(slice.call(this.arrayInstance, index, index + deleteCount), (item) => item.nodeType === Node.ELEMENT_NODE);
51
- const toInsert = items.filter((item) => item.nodeType === Node.ELEMENT_NODE);
52
- // Find where to start splicing in the element view
53
- let elementViewSpliceIndex = -1;
54
- for (let idx = index; idx < this.arrayInstance.length; idx++) {
55
- const item = this.arrayInstance[idx];
56
- if (item.nodeType === Node.ELEMENT_NODE) {
57
- elementViewSpliceIndex = indexOf.call(view, item);
58
- break;
59
- }
60
- }
61
- // If no element is found just do everything at the end
62
- // of the view
63
- if (elementViewSpliceIndex === -1) {
64
- elementViewSpliceIndex = view.length;
65
- }
66
- if (toDelete.length) {
67
- splice.call(view, elementViewSpliceIndex, toDelete.length);
68
- }
69
- // Finally, insert all the found elements
70
- splice.call(view, elementViewSpliceIndex, 0, ...toInsert);
71
- }
72
- return splice.call(this.arrayInstance, index, deleteCount, ...items);
73
- }
74
- indexOf(item, fromIndex = 0) {
75
- return indexOf.call(this.arrayInstance, item, fromIndex);
76
- }
77
- indexOfElementsView(item, fromIndex = 0) {
78
- return indexOf.call(this.elementsView(), item, fromIndex);
79
- }
80
- // Return the elements-only view for this NodeList. Creates one if
81
- // it doesn't already exist.
82
- elementsView() {
83
- let view = this.elementViews[0];
84
- if (!view) {
85
- view = new HTMLCollection();
86
- this.elementViews.push(view);
87
- push.call(view, ...filter.call(this.arrayInstance, (item) => item.nodeType === Node.ELEMENT_NODE));
88
- }
89
- return view;
90
- }
91
- }
92
- // We define the `NodeList` inside a closure to ensure that its
93
- // `.name === "NodeList"` property stays intact, as we need to manipulate
94
- // its prototype and completely change its TypeScript-recognized type.
95
- const NodeListClass = (() => {
96
- // @ts-ignore
97
- class NodeList extends Array {
98
- forEach(cb, thisArg) {
99
- super.forEach(cb, thisArg);
100
- }
101
- item(index) {
102
- return this[index] ?? null;
103
- }
104
- [nodeListMutatorSym]() {
105
- const cachedMutator = this[nodeListCachedMutator];
106
- if (cachedMutator) {
107
- return cachedMutator;
108
- }
109
- else {
110
- const cachedMutator = new NodeListMutatorImpl(this);
111
- this[nodeListCachedMutator] = cachedMutator;
112
- return cachedMutator;
113
- }
114
- }
115
- toString() {
116
- return "[object NodeList]";
117
- }
118
- }
119
- return NodeList;
120
- })();
121
- for (const staticMethod of [
122
- "from",
123
- "isArray",
124
- "of",
125
- ]) {
126
- NodeListClass[staticMethod] = undefined;
127
- }
128
- for (const instanceMethod of [
129
- "concat",
130
- "copyWithin",
131
- "every",
132
- "fill",
133
- "filter",
134
- "find",
135
- "findIndex",
136
- "flat",
137
- "flatMap",
138
- "includes",
139
- "indexOf",
140
- "join",
141
- "lastIndexOf",
142
- "map",
143
- "pop",
144
- "push",
145
- "reduce",
146
- "reduceRight",
147
- "reverse",
148
- "shift",
149
- "slice",
150
- "some",
151
- "sort",
152
- "splice",
153
- "toLocaleString",
154
- "unshift",
155
- ]) {
156
- NodeListClass.prototype[instanceMethod] = undefined;
157
- }
158
- export const NodeList = NodeListClass;
159
- export const NodeListPublic = NodeListFakeClass;
@@ -1,127 +0,0 @@
1
- import { CTOR_KEY } from "../constructor-lock.js";
2
- import { NodeList, NodeListMutator } from "./node-list.js";
3
- import type { Element } from "./element.js";
4
- import type { Document } from "./document.js";
5
- export declare enum NodeType {
6
- ELEMENT_NODE = 1,
7
- ATTRIBUTE_NODE = 2,
8
- TEXT_NODE = 3,
9
- CDATA_SECTION_NODE = 4,
10
- ENTITY_REFERENCE_NODE = 5,
11
- ENTITY_NODE = 6,
12
- PROCESSING_INSTRUCTION_NODE = 7,
13
- COMMENT_NODE = 8,
14
- DOCUMENT_NODE = 9,
15
- DOCUMENT_TYPE_NODE = 10,
16
- DOCUMENT_FRAGMENT_NODE = 11,
17
- NOTATION_NODE = 12
18
- }
19
- /**
20
- * Throws if any of the nodes are an ancestor
21
- * of `parentNode`
22
- */
23
- export declare function nodesAndTextNodes(nodes: (Node | unknown)[], parentNode: Node): Node[];
24
- export declare class Node extends EventTarget {
25
- #private;
26
- nodeName: string;
27
- nodeType: NodeType;
28
- parentNode: Node | null;
29
- get parentElement(): Element | null;
30
- static ELEMENT_NODE: NodeType;
31
- static ATTRIBUTE_NODE: NodeType;
32
- static TEXT_NODE: NodeType;
33
- static CDATA_SECTION_NODE: NodeType;
34
- static ENTITY_REFERENCE_NODE: NodeType;
35
- static ENTITY_NODE: NodeType;
36
- static PROCESSING_INSTRUCTION_NODE: NodeType;
37
- static COMMENT_NODE: NodeType;
38
- static DOCUMENT_NODE: NodeType;
39
- static DOCUMENT_TYPE_NODE: NodeType;
40
- static DOCUMENT_FRAGMENT_NODE: NodeType;
41
- static NOTATION_NODE: NodeType;
42
- constructor(nodeName: string, nodeType: NodeType, parentNode: Node | null, key: typeof CTOR_KEY);
43
- get childNodes(): NodeList;
44
- _getChildNodesMutator(): NodeListMutator;
45
- _hasInitializedChildNodes(): boolean;
46
- /**
47
- * Update ancestor chain & owner document for this child
48
- * and all its children.
49
- */
50
- _setParent(newParent: Node | null, force?: boolean): void;
51
- _assertNotAncestor(child: Node): void;
52
- _setOwnerDocument(document: Document | null): void;
53
- contains(child: Node): boolean;
54
- get ownerDocument(): Document | null;
55
- get nodeValue(): string | null;
56
- set nodeValue(value: unknown);
57
- get textContent(): string;
58
- set textContent(content: string);
59
- get firstChild(): Node | null;
60
- get lastChild(): Node | null;
61
- hasChildNodes(): boolean;
62
- cloneNode(deep?: boolean): Node;
63
- _shallowClone(): Node;
64
- _remove(skipSetParent?: boolean): void;
65
- appendChild(child: Node): Node;
66
- _appendTo(parentNode: Node): this;
67
- removeChild(child: Node): Node;
68
- replaceChild(newChild: Node, oldChild: Node): Node;
69
- insertBefore(newNode: Node, refNode: Node | null): Node;
70
- _replaceWith(...nodes: (Node | string)[]): void;
71
- get nextSibling(): Node | null;
72
- get previousSibling(): Node | null;
73
- static DOCUMENT_POSITION_DISCONNECTED: 1;
74
- static DOCUMENT_POSITION_PRECEDING: 2;
75
- static DOCUMENT_POSITION_FOLLOWING: 4;
76
- static DOCUMENT_POSITION_CONTAINS: 8;
77
- static DOCUMENT_POSITION_CONTAINED_BY: 16;
78
- static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
79
- /**
80
- * FIXME: Does not implement attribute node checks
81
- * ref: https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
82
- * MDN: https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
83
- */
84
- compareDocumentPosition(other: Node): number;
85
- getRootNode(opts?: {
86
- composed?: boolean;
87
- }): Node;
88
- }
89
- export interface Node {
90
- ELEMENT_NODE: NodeType;
91
- ATTRIBUTE_NODE: NodeType;
92
- TEXT_NODE: NodeType;
93
- CDATA_SECTION_NODE: NodeType;
94
- ENTITY_REFERENCE_NODE: NodeType;
95
- ENTITY_NODE: NodeType;
96
- PROCESSING_INSTRUCTION_NODE: NodeType;
97
- COMMENT_NODE: NodeType;
98
- DOCUMENT_NODE: NodeType;
99
- DOCUMENT_TYPE_NODE: NodeType;
100
- DOCUMENT_FRAGMENT_NODE: NodeType;
101
- NOTATION_NODE: NodeType;
102
- }
103
- export declare class CharacterData extends Node {
104
- #private;
105
- constructor(data: string, nodeName: string, nodeType: NodeType, parentNode: Node | null, key: typeof CTOR_KEY);
106
- get nodeValue(): string;
107
- set nodeValue(value: any);
108
- get data(): string;
109
- set data(value: any);
110
- get textContent(): string;
111
- set textContent(value: any);
112
- get length(): number;
113
- before(...nodes: (Node | string)[]): void;
114
- after(...nodes: (Node | string)[]): void;
115
- remove(): void;
116
- replaceWith(...nodes: (Node | string)[]): void;
117
- }
118
- export declare class Text extends CharacterData {
119
- constructor(text?: string);
120
- _shallowClone(): Node;
121
- }
122
- export declare class Comment extends CharacterData {
123
- constructor(text?: string);
124
- _shallowClone(): Node;
125
- get textContent(): string;
126
- }
127
- //# sourceMappingURL=node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/node.ts"],"names":[],"mappings":"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"}