netscape-bookmark-parser 1.1.3 → 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 +233 -386
  3. package/README.md +152 -302
  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 -66
  94. package/esm/src/BookmarksParser/BookmarksParser.d.ts.map +0 -1
  95. package/esm/src/BookmarksParser/BookmarksParser.js +0 -70
  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 -112
  100. package/esm/src/BookmarksTree/BookmarksTree.d.ts.map +0 -1
  101. package/esm/src/BookmarksTree/BookmarksTree.js +0 -217
  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 -66
  109. package/esm/src/web/BookmarksParser/BookmarksParser.d.ts.map +0 -1
  110. package/esm/src/web/BookmarksParser/BookmarksParser.js +0 -70
  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 -112
  115. package/esm/src/web/BookmarksTree/BookmarksTree.d.ts.map +0 -1
  116. package/esm/src/web/BookmarksTree/BookmarksTree.js +0 -217
  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,23 +0,0 @@
1
- /**
2
- * @module
3
- *
4
- * This module exposes the Deno DOM API with the WASM (Web Assembly) backend
5
- *
6
- * @example
7
- * ```typescript
8
- * import { DOMParser, Element } from "jsr:@b-fuze/deno-dom";
9
- *
10
- * const doc = new DOMParser().parseFromString(
11
- * `
12
- * <h1>Hello World!</h1>
13
- * <p>Hello from <a href="https://deno.land/">Deno!</a></p>
14
- * `,
15
- * "text/html",
16
- * );
17
- *
18
- * const p = doc.querySelector("p")!;
19
- * console.log(p.textContent); // "Hello from Deno!"
20
- * ```
21
- */
22
- export * from "./src/api.js";
23
- //# sourceMappingURL=deno-dom-wasm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deno-dom-wasm.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/deno-dom-wasm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH,cAAc,cAAc,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * @module
3
- *
4
- * This module exposes the Deno DOM API with the WASM (Web Assembly) backend
5
- *
6
- * @example
7
- * ```typescript
8
- * import { DOMParser, Element } from "jsr:@b-fuze/deno-dom";
9
- *
10
- * const doc = new DOMParser().parseFromString(
11
- * `
12
- * <h1>Hello World!</h1>
13
- * <p>Hello from <a href="https://deno.land/">Deno!</a></p>
14
- * `,
15
- * "text/html",
16
- * );
17
- *
18
- * const p = doc.querySelector("p")!;
19
- * console.log(p.textContent); // "Hello from Deno!"
20
- * ```
21
- */
22
- import init, { parse, parse_frag } from "./build/deno-wasm/deno-wasm.js";
23
- import { register } from "./src/parser.js";
24
- await init();
25
- register(parse, parse_frag);
26
- export * from "./src/api.js";
@@ -1,24 +0,0 @@
1
- export { nodesFromString } from "./deserialize.js";
2
- export * from "./dom/node.js";
3
- export * from "./dom/element.js";
4
- export * from "./dom/document.js";
5
- export * from "./dom/document-fragment.js";
6
- export * from "./dom/dom-parser.js";
7
- export * from "./dom/elements/html-template-element.js";
8
- export { disableCodeGeneration as denoDomDisableQuerySelectorCodeGeneration } from "./dom/selectors/selectors.js";
9
- import { CharacterData as ConstructibleCharacterData, Node as ConstructibleNode } from "./dom/node.js";
10
- import { HTMLDocument as ConstructibleHTMLDocument } from "./dom/document.js";
11
- import { Attr as ConstructibleAttr, Element as ConstructibleElement } from "./dom/element.js";
12
- export declare const Node: Pick<typeof ConstructibleNode, keyof typeof ConstructibleNode> & Function;
13
- export type Node = ConstructibleNode;
14
- export declare const HTMLDocument: Pick<typeof ConstructibleHTMLDocument, keyof typeof ConstructibleHTMLDocument> & Function;
15
- export type HTMLDocument = ConstructibleHTMLDocument;
16
- export declare const CharacterData: Pick<typeof ConstructibleCharacterData, keyof typeof ConstructibleCharacterData> & Function;
17
- export type CharacterData = ConstructibleCharacterData;
18
- export declare const Element: Pick<typeof ConstructibleElement, keyof typeof ConstructibleElement> & Function;
19
- export type Element = ConstructibleElement;
20
- export declare const Attr: Pick<typeof ConstructibleAttr, keyof typeof ConstructibleAttr> & Function;
21
- export type Attr = ConstructibleAttr;
22
- export { NodeListPublic as NodeList } from "./dom/node-list.js";
23
- export { HTMLCollectionPublic as HTMLCollection } from "./dom/html-collection.js";
24
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,qBAAqB,IAAI,yCAAyC,EAAE,MAAM,8BAA8B,CAAC;AAGlH,OAAO,EACL,aAAa,IAAI,0BAA0B,EAC3C,IAAI,IAAI,iBAAiB,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EACL,IAAI,IAAI,iBAAiB,EACzB,OAAO,IAAI,oBAAoB,EAChC,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,IAAI,EACb,IAAI,CACJ,OAAO,iBAAiB,EACxB,MAAM,OAAO,iBAAiB,CAC/B,GACC,QAA4B,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAErC,eAAO,MAAM,YAAY,EACrB,IAAI,CACJ,OAAO,yBAAyB,EAChC,MAAM,OAAO,yBAAyB,CACvC,GACC,QAAoC,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAErD,eAAO,MAAM,aAAa,EACtB,IAAI,CACJ,OAAO,0BAA0B,EACjC,MAAM,OAAO,0BAA0B,CACxC,GACC,QAAqC,CAAC;AAC1C,MAAM,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEvD,eAAO,MAAM,OAAO,EAChB,IAAI,CACJ,OAAO,oBAAoB,EAC3B,MAAM,OAAO,oBAAoB,CAClC,GACC,QAA+B,CAAC;AACpC,MAAM,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAE3C,eAAO,MAAM,IAAI,EACb,IAAI,CACJ,OAAO,iBAAiB,EACxB,MAAM,OAAO,iBAAiB,CAC/B,GACC,QAA4B,CAAC;AACjC,MAAM,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAErC,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,48 +0,0 @@
1
- export { nodesFromString } from "./deserialize.js";
2
- export * from "./dom/node.js";
3
- export * from "./dom/element.js";
4
- export * from "./dom/document.js";
5
- export * from "./dom/document-fragment.js";
6
- export * from "./dom/dom-parser.js";
7
- export * from "./dom/elements/html-template-element.js";
8
- export { disableCodeGeneration as denoDomDisableQuerySelectorCodeGeneration } from "./dom/selectors/selectors.js";
9
- // Re-export private constructors without constructor signature
10
- import { CharacterData as ConstructibleCharacterData, Node as ConstructibleNode, } from "./dom/node.js";
11
- import { HTMLDocument as ConstructibleHTMLDocument } from "./dom/document.js";
12
- import { Attr as ConstructibleAttr, Element as ConstructibleElement, } from "./dom/element.js";
13
- export const Node = ConstructibleNode;
14
- export const HTMLDocument = ConstructibleHTMLDocument;
15
- export const CharacterData = ConstructibleCharacterData;
16
- export const Element = ConstructibleElement;
17
- export const Attr = ConstructibleAttr;
18
- export { NodeListPublic as NodeList } from "./dom/node-list.js";
19
- export { HTMLCollectionPublic as HTMLCollection } from "./dom/html-collection.js";
20
- import { NodeList } from "./dom/node-list.js";
21
- import { HTMLCollection } from "./dom/html-collection.js";
22
- // Prevent childNodes and HTMLCollections from being seen as an arrays
23
- const oldHasInstance = Array[Symbol.hasInstance];
24
- Object.defineProperty(Array, Symbol.hasInstance, {
25
- value(value) {
26
- switch (value?.constructor) {
27
- case HTMLCollection:
28
- case NodeList:
29
- return false;
30
- default:
31
- return oldHasInstance.call(this, value);
32
- }
33
- },
34
- configurable: true,
35
- });
36
- const oldIsArray = Array.isArray;
37
- Object.defineProperty(Array, "isArray", {
38
- value: (value) => {
39
- switch (value?.constructor) {
40
- case HTMLCollection:
41
- case NodeList:
42
- return false;
43
- default:
44
- return oldIsArray.call(Array, value);
45
- }
46
- },
47
- configurable: true,
48
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * Used to enforce illegal constructors
3
- */
4
- export declare const CTOR_KEY: unique symbol;
5
- //# sourceMappingURL=constructor-lock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constructor-lock.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/constructor-lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,eAAqB,CAAC"}
@@ -1,4 +0,0 @@
1
- /**
2
- * Used to enforce illegal constructors
3
- */
4
- export const CTOR_KEY = Symbol("CTOR_KEY");
@@ -1,4 +0,0 @@
1
- import { Node } from "./dom/node.js";
2
- export declare function nodesFromString(html: string): Node;
3
- export declare function fragmentNodesFromString(html: string, contextLocalName: string): Node;
4
- //# sourceMappingURL=deserialize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/deserialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAkB,MAAM,eAAe,CAAC;AAM9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAKN"}
@@ -1,61 +0,0 @@
1
- import { parse, parseFrag } from "./parser.js";
2
- import { CTOR_KEY } from "./constructor-lock.js";
3
- import { Comment, NodeType, Text } from "./dom/node.js";
4
- import { DocumentType } from "./dom/document.js";
5
- import { DocumentFragment } from "./dom/document-fragment.js";
6
- import { HTMLTemplateElement } from "./dom/elements/html-template-element.js";
7
- import { Element } from "./dom/element.js";
8
- export function nodesFromString(html) {
9
- const parsed = JSON.parse(parse(html));
10
- const node = nodeFromArray(parsed, null);
11
- return node;
12
- }
13
- export function fragmentNodesFromString(html, contextLocalName) {
14
- const parsed = JSON.parse(parseFrag(html, contextLocalName));
15
- const node = nodeFromArray(parsed, null);
16
- return node;
17
- }
18
- function nodeFromArray(data, parentNode) {
19
- // For reference only:
20
- // type node = [NodeType, nodeName, attributes, node[]]
21
- // | [NodeType, characterData]
22
- // <template> element gets special treatment, until
23
- // we implement all the HTML elements
24
- if (data[1] === "template") {
25
- const content = nodeFromArray(data[3], null);
26
- const contentFrag = new DocumentFragment();
27
- const fragMutator = contentFrag._getChildNodesMutator();
28
- for (const child of content.childNodes) {
29
- fragMutator.push(child);
30
- child._setParent(contentFrag);
31
- }
32
- return new HTMLTemplateElement(parentNode, data[2], CTOR_KEY, contentFrag);
33
- }
34
- const elm = new Element(data[1], parentNode, data[2], CTOR_KEY);
35
- const childNodes = elm._getChildNodesMutator();
36
- let childNode;
37
- for (const child of data.slice(3)) {
38
- switch (child[0]) {
39
- case NodeType.TEXT_NODE:
40
- childNode = new Text(child[1]);
41
- childNode.parentNode = elm;
42
- childNodes.push(childNode);
43
- break;
44
- case NodeType.COMMENT_NODE:
45
- childNode = new Comment(child[1]);
46
- childNode.parentNode = elm;
47
- childNodes.push(childNode);
48
- break;
49
- case NodeType.DOCUMENT_NODE:
50
- case NodeType.ELEMENT_NODE:
51
- nodeFromArray(child, elm);
52
- break;
53
- case NodeType.DOCUMENT_TYPE_NODE:
54
- childNode = new DocumentType(child[1], child[2], child[3], CTOR_KEY);
55
- childNode.parentNode = elm;
56
- childNodes.push(childNode);
57
- break;
58
- }
59
- }
60
- return elm;
61
- }
@@ -1,19 +0,0 @@
1
- import { HTMLCollection } from "./html-collection.js";
2
- import { NodeList } from "./node-list.js";
3
- import { Node } from "./node.js";
4
- import { Element } from "./element.js";
5
- export declare class DocumentFragment extends Node {
6
- constructor();
7
- get childElementCount(): number;
8
- get children(): HTMLCollection;
9
- get firstElementChild(): Element | null;
10
- get lastElementChild(): Element | null;
11
- _shallowClone(): DocumentFragment;
12
- append(...nodes: (Node | string)[]): void;
13
- prepend(...nodes: (Node | string)[]): void;
14
- replaceChildren(...nodes: (Node | string)[]): void;
15
- getElementById(id: string): Element | null;
16
- querySelector(selectors: string): Element | null;
17
- querySelectorAll(selectors: string): NodeList;
18
- }
19
- //# sourceMappingURL=document-fragment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-fragment.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document-fragment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAsB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAA+B,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,qBAAa,gBAAiB,SAAQ,IAAI;;IAUxC,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,IAAI,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAGtC;IAED,IAAI,gBAAgB,IAAI,OAAO,GAAG,IAAI,CAGrC;IAEQ,aAAa,IAAI,gBAAgB;IAI1C,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE;IAKlC,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE;IAKnC,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE;IAc3C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAiB1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQhD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;CAa9C"}
@@ -1,110 +0,0 @@
1
- import { CTOR_KEY } from "../constructor-lock.js";
2
- import { NodeList, nodeListMutatorSym } from "./node-list.js";
3
- import { Node, nodesAndTextNodes, NodeType } from "./node.js";
4
- import { customByClassNameSym, customByTagNameSym, } from "./selectors/custom-api.js";
5
- import { getElementsByClassName } from "./utils.js";
6
- import UtilTypes from "./utils-types.js";
7
- export class DocumentFragment extends Node {
8
- constructor() {
9
- super("#document-fragment", NodeType.DOCUMENT_FRAGMENT_NODE, null, CTOR_KEY);
10
- }
11
- get childElementCount() {
12
- return this._getChildNodesMutator().elementsView().length;
13
- }
14
- get children() {
15
- return this._getChildNodesMutator().elementsView();
16
- }
17
- get firstElementChild() {
18
- const elements = this._getChildNodesMutator().elementsView();
19
- return elements[0] ?? null;
20
- }
21
- get lastElementChild() {
22
- const elements = this._getChildNodesMutator().elementsView();
23
- return elements[elements.length - 1] ?? null;
24
- }
25
- _shallowClone() {
26
- return new DocumentFragment();
27
- }
28
- append(...nodes) {
29
- const mutator = this._getChildNodesMutator();
30
- mutator.push(...nodesAndTextNodes(nodes, this));
31
- }
32
- prepend(...nodes) {
33
- const mutator = this._getChildNodesMutator();
34
- mutator.splice(0, 0, ...nodesAndTextNodes(nodes, this));
35
- }
36
- replaceChildren(...nodes) {
37
- const mutator = this._getChildNodesMutator();
38
- // Remove all current child nodes
39
- for (const child of this.childNodes) {
40
- child._setParent(null);
41
- }
42
- mutator.splice(0, this.childNodes.length);
43
- // Add new children
44
- mutator.splice(0, 0, ...nodesAndTextNodes(nodes, this));
45
- }
46
- // TODO: DRY!!!
47
- getElementById(id) {
48
- for (const child of this.childNodes) {
49
- if (child.nodeType === NodeType.ELEMENT_NODE) {
50
- if (child.id === id) {
51
- return child;
52
- }
53
- const search = child.getElementById(id);
54
- if (search) {
55
- return search;
56
- }
57
- }
58
- }
59
- return null;
60
- }
61
- querySelector(selectors) {
62
- if (!this.ownerDocument) {
63
- throw new Error("DocumentFragment must have an owner document");
64
- }
65
- return this.ownerDocument._nwapi.first(selectors, this);
66
- }
67
- querySelectorAll(selectors) {
68
- if (!this.ownerDocument) {
69
- throw new Error("DocumentFragment must have an owner document");
70
- }
71
- const nodeList = new NodeList();
72
- const mutator = nodeList[nodeListMutatorSym]();
73
- mutator.push(...this.ownerDocument._nwapi.select(selectors, this));
74
- return nodeList;
75
- }
76
- }
77
- UtilTypes.DocumentFragment = DocumentFragment;
78
- // Add required methods just for Sizzle.js selector to work on
79
- // DocumentFragment's
80
- function documentFragmentGetElementsByTagName(tagName) {
81
- const search = [];
82
- if (tagName === "*") {
83
- return documentFragmentGetElementsByTagNameWildcard(this, search);
84
- }
85
- for (const child of this.childNodes) {
86
- if (child.nodeType === NodeType.ELEMENT_NODE) {
87
- if (child.tagName === tagName) {
88
- search.push(child);
89
- }
90
- child._getElementsByTagName(tagName, search);
91
- }
92
- }
93
- return search;
94
- }
95
- function documentFragmentGetElementsByClassName(className) {
96
- return getElementsByClassName(this, className.trim().split(/\s+/), []);
97
- }
98
- function documentFragmentGetElementsByTagNameWildcard(fragment, search) {
99
- for (const child of fragment.childNodes) {
100
- if (child.nodeType === NodeType.ELEMENT_NODE) {
101
- search.push(child);
102
- child._getElementsByTagNameWildcard(search);
103
- }
104
- }
105
- return search;
106
- }
107
- DocumentFragment.prototype[customByTagNameSym] =
108
- documentFragmentGetElementsByTagName;
109
- DocumentFragment.prototype[customByClassNameSym] =
110
- documentFragmentGetElementsByClassName;
@@ -1,68 +0,0 @@
1
- import { CTOR_KEY } from "../constructor-lock.js";
2
- import { Comment, Node, Text } from "./node.js";
3
- import { NodeList } from "./node-list.js";
4
- import { Element } from "./element.js";
5
- import { DocumentFragment } from "./document-fragment.js";
6
- import { SelectorApi } from "./selectors/selectors.js";
7
- export declare class DOMImplementation {
8
- constructor(key: typeof CTOR_KEY);
9
- createDocument(): void;
10
- createHTMLDocument(titleStr?: string): HTMLDocument;
11
- createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType;
12
- }
13
- export declare class DocumentType extends Node {
14
- #private;
15
- constructor(name: string, publicId: string, systemId: string, key: typeof CTOR_KEY);
16
- get name(): string;
17
- get publicId(): string;
18
- get systemId(): string;
19
- _shallowClone(): Node;
20
- }
21
- export interface ElementCreationOptions {
22
- is: string;
23
- }
24
- export type VisibilityState = "visible" | "hidden" | "prerender";
25
- export type NamespaceURI = "http://www.w3.org/1999/xhtml" | "http://www.w3.org/2000/svg" | "http://www.w3.org/1998/Math/MathML";
26
- export declare class Document extends Node {
27
- #private;
28
- head: Element;
29
- body: Element;
30
- implementation: DOMImplementation;
31
- constructor();
32
- _shallowClone(): Node;
33
- get _nwapi(): SelectorApi;
34
- get documentURI(): string;
35
- get title(): string;
36
- set title(value: string);
37
- get cookie(): string;
38
- set cookie(newCookie: string);
39
- get visibilityState(): VisibilityState;
40
- get hidden(): boolean;
41
- get compatMode(): string;
42
- get documentElement(): Element | null;
43
- get doctype(): DocumentType | null;
44
- get childElementCount(): number;
45
- appendChild(child: Node): Node;
46
- createElement(tagName: string, options?: ElementCreationOptions): Element;
47
- createElementNS(namespace: NamespaceURI, qualifiedName: string, options?: ElementCreationOptions): Element;
48
- createTextNode(data?: string): Text;
49
- createComment(data?: string): Comment;
50
- createDocumentFragment(): DocumentFragment;
51
- importNode(node: Node, deep?: boolean): Node;
52
- adoptNode(node: Node): Node;
53
- cloneNode(deep?: boolean): Document;
54
- querySelector<T = Element>(selectors: string): T | null;
55
- querySelectorAll<T extends Element = Element>(selectors: string): NodeList<T>;
56
- getElementById(id: string): Element | null;
57
- getElementsByTagName(tagName: string): Element[];
58
- private _getElementsByTagNameWildcard;
59
- private _getElementsByTagName;
60
- getElementsByTagNameNS(_namespace: string, localName: string): Element[];
61
- getElementsByClassName(className: string): Element[];
62
- hasFocus(): boolean;
63
- }
64
- export declare class HTMLDocument extends Document {
65
- constructor(key: typeof CTOR_KEY);
66
- _shallowClone(): Node;
67
- }
68
- //# sourceMappingURL=document.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@b-fuze/deno-dom/0.1.49/src/dom/document.ts"],"names":[],"mappings":"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"}