@t15i/webspecs 1.0.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 (280) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +289 -0
  3. package/dist/lib/_virtual/_rolldown/runtime.js +18 -0
  4. package/dist/lib/dom/1-infrastructure/4-namespaces/valid-attribute-local-name.js +5 -0
  5. package/dist/lib/dom/index.js +3 -0
  6. package/dist/lib/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.js +10 -0
  7. package/dist/lib/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/04-sec-ecmascript-language-types-string-type/index.js +7 -0
  8. package/dist/lib/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/01-sec-isaccessordescriptor/index.js +9 -0
  9. package/dist/lib/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/02-sec-isdatadescriptor/index.js +9 -0
  10. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.js +5 -0
  11. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.js +13 -0
  12. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.js +12 -0
  13. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.js +10 -0
  14. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.js +5 -0
  15. package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.js +9 -0
  16. package/dist/lib/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.js +12 -0
  17. package/dist/lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/05-sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p/01-sec-ordinarygetownproperty/index.js +7 -0
  18. package/dist/lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/06-sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc/01-sec-ordinarydefineownproperty/index.js +13 -0
  19. package/dist/lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/09-sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver/02-sec-ordinarysetwithowndescriptor/index.js +30 -0
  20. package/dist/lib/ecma/index.js +16 -0
  21. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/03-keywords-and-enumerated-attributes/index.js +39 -0
  22. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/rules-for-parsing-integers.js +9 -0
  23. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/valid-integer.js +7 -0
  24. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/rules-for-parsing-non-negative-integers.js +13 -0
  25. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/valid-non-negative-integer.js +7 -0
  26. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/best-representation-of-the-number-as-a-floating-point-number.js +7 -0
  27. package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/rules-for-parsing-floating-point-number-values.js +9 -0
  28. package/dist/lib/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-a-url.js +10 -0
  29. package/dist/lib/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-and-serializing-a-url.js +13 -0
  30. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/DOMString.js +25 -0
  31. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/USVString.js +27 -0
  32. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/boolean.js +17 -0
  33. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/double.js +27 -0
  34. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/index.js +9 -0
  35. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/long.js +30 -0
  36. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-DOMString.js +25 -0
  37. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-element.js +47 -0
  38. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-frozen-array.js +62 -0
  39. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/unsigned-long.js +40 -0
  40. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/utils.js +15 -0
  41. package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/index.js +10 -0
  42. package/dist/lib/html/02-infrastructure/index.js +19 -0
  43. package/dist/lib/html/index.js +21 -0
  44. package/dist/lib/infra/04-primitive-data-types/06-code-points/leading-surrogate.js +6 -0
  45. package/dist/lib/infra/04-primitive-data-types/06-code-points/surrogate.js +6 -0
  46. package/dist/lib/infra/04-primitive-data-types/06-code-points/trailing-surrogate.js +6 -0
  47. package/dist/lib/infra/04-primitive-data-types/07-strings/javascript-string-convert.js +9 -0
  48. package/dist/lib/infra/index.js +6 -0
  49. package/dist/lib/share/failure.js +5 -0
  50. package/dist/lib/share/index.js +3 -0
  51. package/dist/lib/url/4-urls/4-url-parsing/concept-url-parser.js +13 -0
  52. package/dist/lib/url/4-urls/5-url-serializing/concept-url-serializer.js +8 -0
  53. package/dist/lib/url/index.js +4 -0
  54. package/dist/lib/webidl/02-idl/01-idl-names/dfn-identifier.js +8 -0
  55. package/dist/lib/webidl/02-idl/05-idl-members/02-idl-attributes/dfn-attribute.js +7 -0
  56. package/dist/lib/webidl/02-idl/05-idl-members/03-idl-operations/dfn-operation.js +7 -0
  57. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-determine-the-value-of-an-indexed-property.js +11 -0
  58. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-set-the-value-of-a-new-indexed-property.js +11 -0
  59. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-set-the-value-of-an-existing-indexed-property.js +11 -0
  60. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-support-indexed-properties.js +11 -0
  61. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-supported-property-indices.js +11 -0
  62. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-delete-an-existing-named-property.js +11 -0
  63. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-determine-the-value-of-a-named-property.js +11 -0
  64. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-set-the-value-of-a-new-named-property.js +11 -0
  65. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-set-the-value-of-an-existing-named-property.js +11 -0
  66. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-support-named-properties.js +11 -0
  67. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-supported-property-names.js +11 -0
  68. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-getter.js +7 -0
  69. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-setter.js +7 -0
  70. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-deleter.js +7 -0
  71. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-getter.js +7 -0
  72. package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-setter.js +7 -0
  73. package/dist/lib/webidl/02-idl/12-idl-objects/dfn-legacy-platform-object.js +12 -0
  74. package/dist/lib/webidl/02-idl/13-idl-types/index.js +9 -0
  75. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/03-js-boolean/index.js +5 -0
  76. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/05-js-long/index.js +11 -0
  77. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/06-js-unsigned-long/index.js +11 -0
  78. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/09-js-integer-types-abstract-ops/abstract-opdef-converttoint.js +14 -0
  79. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/09-js-integer-types-abstract-ops/abstract-opdef-integerpart.js +9 -0
  80. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/index.js +4 -0
  81. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/07-js-double/index.js +9 -0
  82. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/10-js-DOMString/index.js +8 -0
  83. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/12-js-USVString/index.js +11 -0
  84. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/20-js-nullable-type/index.js +14 -0
  85. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/01-create-sequence-from-iterable/index.js +13 -0
  86. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/index.js +2 -0
  87. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/sequence-type.js +13 -0
  88. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/27-js-frozen-array/index.js +12 -0
  89. package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/index.js +14 -0
  90. package/dist/lib/webidl/03-javascript-binding/03-js-extended-attributes/08-Global/index.js +5 -0
  91. package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/07-LegacyOverrideBuiltIns/index.js +5 -0
  92. package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/09-LegacyUnenumerableNamedProperties/index.js +5 -0
  93. package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/dfn-unforgeable-on-an-interface.js +15 -0
  94. package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/index.js +7 -0
  95. package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/index.js +4 -0
  96. package/dist/lib/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/dfn-named-properties-object.js +7 -0
  97. package/dist/lib/webidl/03-javascript-binding/08-js-platform-objects/implements.js +9 -0
  98. package/dist/lib/webidl/03-javascript-binding/08-js-platform-objects/is-a-platform-object.js +8 -0
  99. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/01-legacy-platform-object-getownproperty/index.js +10 -0
  100. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/02-legacy-platform-object-set/index.js +28 -0
  101. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/03-legacy-platform-object-defineownproperty/index.js +41 -0
  102. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/04-legacy-platform-object-delete/index.js +36 -0
  103. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/05-legacy-platform-object-preventextensions/index.js +7 -0
  104. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/06-legacy-platform-object-ownpropertykeys/index.js +27 -0
  105. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/LegacyPlatformObjectGetOwnProperty.js +57 -0
  106. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/dfn-named-property-visibility.js +21 -0
  107. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/index.js +5 -0
  108. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-indexed-setter.js +22 -0
  109. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-named-setter.js +20 -0
  110. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/is-an-array-index.js +16 -0
  111. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/dfn-unforgeable-property-name.js +16 -0
  112. package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/index.js +26 -0
  113. package/dist/lib/webidl/03-javascript-binding/index.js +29 -0
  114. package/dist/lib/webidl/index.js +51 -0
  115. package/dist/types/dom/1-infrastructure/4-namespaces/index.d.ts +1 -0
  116. package/dist/types/dom/1-infrastructure/4-namespaces/valid-attribute-local-name.d.ts +2 -0
  117. package/dist/types/dom/1-infrastructure/index.d.ts +1 -0
  118. package/dist/types/dom/index.d.ts +1 -0
  119. package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.d.ts +3 -0
  120. package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/index.d.ts +1 -0
  121. package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/index.d.ts +1 -0
  122. package/dist/types/ecma/05-sec-notational-conventions/index.d.ts +1 -0
  123. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/04-sec-ecmascript-language-types-string-type/index.d.ts +1 -0
  124. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/07-sec-object-type/index.d.ts +2 -0
  125. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/07-sec-object-type/property-key.d.ts +1 -0
  126. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/07-sec-object-type/property-name.d.ts +2 -0
  127. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/index.d.ts +2 -0
  128. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/01-sec-isaccessordescriptor/index.d.ts +2 -0
  129. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/02-sec-isdatadescriptor/index.d.ts +2 -0
  130. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/index.d.ts +2 -0
  131. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/index.d.ts +1 -0
  132. package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/index.d.ts +2 -0
  133. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.d.ts +2 -0
  134. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.d.ts +1 -0
  135. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.d.ts +2 -0
  136. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.d.ts +2 -0
  137. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.d.ts +1 -0
  138. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.d.ts +1 -0
  139. package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/index.d.ts +6 -0
  140. package/dist/types/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.d.ts +3 -0
  141. package/dist/types/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/index.d.ts +1 -0
  142. package/dist/types/ecma/07-sec-abstract-operations/index.d.ts +2 -0
  143. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/05-sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p/01-sec-ordinarygetownproperty/index.d.ts +1 -0
  144. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/05-sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p/index.d.ts +1 -0
  145. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/06-sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc/01-sec-ordinarydefineownproperty/index.d.ts +1 -0
  146. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/06-sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc/index.d.ts +1 -0
  147. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/09-sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver/02-sec-ordinarysetwithowndescriptor/index.d.ts +1 -0
  148. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/09-sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver/index.d.ts +1 -0
  149. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/index.d.ts +3 -0
  150. package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/index.d.ts +1 -0
  151. package/dist/types/ecma/index.d.ts +4 -0
  152. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/03-keywords-and-enumerated-attributes/index.d.ts +27 -0
  153. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/index.d.ts +2 -0
  154. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/rules-for-parsing-integers.d.ts +2 -0
  155. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/valid-integer.d.ts +2 -0
  156. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/index.d.ts +2 -0
  157. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/rules-for-parsing-non-negative-integers.d.ts +2 -0
  158. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/valid-non-negative-integer.d.ts +2 -0
  159. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/best-representation-of-the-number-as-a-floating-point-number.d.ts +2 -0
  160. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/index.d.ts +2 -0
  161. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/rules-for-parsing-floating-point-number-values.d.ts +2 -0
  162. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/index.d.ts +3 -0
  163. package/dist/types/html/02-infrastructure/03-common-microsyntaxes/index.d.ts +2 -0
  164. package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-a-url.d.ts +3 -0
  165. package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-and-serializing-a-url.d.ts +3 -0
  166. package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/index.d.ts +2 -0
  167. package/dist/types/html/02-infrastructure/04-urls-and-fetching/index.d.ts +1 -0
  168. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/DOMString.d.ts +14 -0
  169. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/USVString.d.ts +10 -0
  170. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/boolean.d.ts +6 -0
  171. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/double.d.ts +12 -0
  172. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/index.d.ts +12 -0
  173. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/long.d.ts +12 -0
  174. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-DOMString.d.ts +14 -0
  175. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-element.d.ts +17 -0
  176. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-frozen-array.d.ts +19 -0
  177. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-content-attribute.d.ts +4 -0
  178. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-idl-attribute.d.ts +4 -0
  179. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-target.d.ts +11 -0
  180. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/unsigned-long.d.ts +17 -0
  181. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/utils.d.ts +5 -0
  182. package/dist/types/html/02-infrastructure/06-common-dom-interfaces/index.d.ts +1 -0
  183. package/dist/types/html/02-infrastructure/index.d.ts +3 -0
  184. package/dist/types/html/index.d.ts +1 -0
  185. package/dist/types/infra/04-primitive-data-types/06-code-points/index.d.ts +3 -0
  186. package/dist/types/infra/04-primitive-data-types/06-code-points/leading-surrogate.d.ts +4 -0
  187. package/dist/types/infra/04-primitive-data-types/06-code-points/surrogate.d.ts +4 -0
  188. package/dist/types/infra/04-primitive-data-types/06-code-points/trailing-surrogate.d.ts +4 -0
  189. package/dist/types/infra/04-primitive-data-types/07-strings/index.d.ts +1 -0
  190. package/dist/types/infra/04-primitive-data-types/07-strings/javascript-string-convert.d.ts +2 -0
  191. package/dist/types/infra/04-primitive-data-types/index.d.ts +2 -0
  192. package/dist/types/infra/index.d.ts +1 -0
  193. package/dist/types/share/failure.d.ts +1 -0
  194. package/dist/types/share/index.d.ts +1 -0
  195. package/dist/types/url/4-urls/4-url-parsing/concept-url-parser.d.ts +3 -0
  196. package/dist/types/url/4-urls/4-url-parsing/index.d.ts +1 -0
  197. package/dist/types/url/4-urls/5-url-serializing/concept-url-serializer.d.ts +2 -0
  198. package/dist/types/url/4-urls/5-url-serializing/index.d.ts +1 -0
  199. package/dist/types/url/4-urls/index.d.ts +2 -0
  200. package/dist/types/url/index.d.ts +1 -0
  201. package/dist/types/webidl/02-idl/01-idl-names/dfn-identifier.d.ts +3 -0
  202. package/dist/types/webidl/02-idl/01-idl-names/index.d.ts +1 -0
  203. package/dist/types/webidl/02-idl/02-idl-interfaces/dfn-interface.d.ts +5 -0
  204. package/dist/types/webidl/02-idl/02-idl-interfaces/index.d.ts +1 -0
  205. package/dist/types/webidl/02-idl/05-idl-members/02-idl-attributes/dfn-attribute.d.ts +7 -0
  206. package/dist/types/webidl/02-idl/05-idl-members/02-idl-attributes/index.d.ts +1 -0
  207. package/dist/types/webidl/02-idl/05-idl-members/03-idl-operations/dfn-operation.d.ts +19 -0
  208. package/dist/types/webidl/02-idl/05-idl-members/03-idl-operations/index.d.ts +1 -0
  209. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-determine-the-value-of-an-indexed-property.d.ts +3 -0
  210. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-set-the-value-of-a-new-indexed-property.d.ts +9 -0
  211. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-set-the-value-of-an-existing-indexed-property.d.ts +9 -0
  212. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-support-indexed-properties.d.ts +4 -0
  213. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-supported-property-indices.d.ts +12 -0
  214. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/index.d.ts +5 -0
  215. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-delete-an-existing-named-property.d.ts +4 -0
  216. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-determine-the-value-of-a-named-property.d.ts +4 -0
  217. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-set-the-value-of-a-new-named-property.d.ts +10 -0
  218. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-set-the-value-of-an-existing-named-property.d.ts +10 -0
  219. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-support-named-properties.d.ts +4 -0
  220. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-supported-property-names.d.ts +13 -0
  221. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/index.d.ts +6 -0
  222. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-getter.d.ts +9 -0
  223. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-setter.d.ts +8 -0
  224. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-deleter.d.ts +10 -0
  225. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-getter.d.ts +10 -0
  226. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-setter.d.ts +10 -0
  227. package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/index.d.ts +7 -0
  228. package/dist/types/webidl/02-idl/05-idl-members/dfn-member.d.ts +3 -0
  229. package/dist/types/webidl/02-idl/05-idl-members/index.d.ts +4 -0
  230. package/dist/types/webidl/02-idl/12-idl-objects/dfn-legacy-platform-object.d.ts +6 -0
  231. package/dist/types/webidl/02-idl/12-idl-objects/dfn-platform-object.d.ts +5 -0
  232. package/dist/types/webidl/02-idl/12-idl-objects/index.d.ts +2 -0
  233. package/dist/types/webidl/02-idl/13-idl-types/index.d.ts +3 -0
  234. package/dist/types/webidl/02-idl/index.d.ts +5 -0
  235. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/03-js-boolean/index.d.ts +3 -0
  236. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/05-js-long/index.d.ts +9 -0
  237. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/06-js-unsigned-long/index.d.ts +9 -0
  238. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/09-js-integer-types-abstract-ops/abstract-opdef-converttoint.d.ts +2 -0
  239. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/09-js-integer-types-abstract-ops/abstract-opdef-integerpart.d.ts +2 -0
  240. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/09-js-integer-types-abstract-ops/index.d.ts +3 -0
  241. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/index.d.ts +3 -0
  242. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/07-js-double/index.d.ts +2 -0
  243. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/10-js-DOMString/index.d.ts +4 -0
  244. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/12-js-USVString/index.d.ts +2 -0
  245. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/20-js-nullable-type/index.d.ts +2 -0
  246. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/01-create-sequence-from-iterable/index.d.ts +2 -0
  247. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/index.d.ts +2 -0
  248. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/sequence-type.d.ts +2 -0
  249. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/27-js-frozen-array/index.d.ts +2 -0
  250. package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/index.d.ts +8 -0
  251. package/dist/types/webidl/03-javascript-binding/03-js-extended-attributes/08-Global/index.d.ts +7 -0
  252. package/dist/types/webidl/03-javascript-binding/03-js-extended-attributes/index.d.ts +1 -0
  253. package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/07-LegacyOverrideBuiltIns/index.d.ts +7 -0
  254. package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/09-LegacyUnenumerableNamedProperties/index.d.ts +7 -0
  255. package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/dfn-unforgeable-on-an-interface.d.ts +3 -0
  256. package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/index.d.ts +3 -0
  257. package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/index.d.ts +3 -0
  258. package/dist/types/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/dfn-named-properties-object.d.ts +1 -0
  259. package/dist/types/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/index.d.ts +1 -0
  260. package/dist/types/webidl/03-javascript-binding/07-js-interfaces/index.d.ts +1 -0
  261. package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/implements.d.ts +12 -0
  262. package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/index.d.ts +2 -0
  263. package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/is-a-platform-object.d.ts +9 -0
  264. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/01-legacy-platform-object-getownproperty/index.d.ts +4 -0
  265. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/02-legacy-platform-object-set/index.d.ts +4 -0
  266. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/03-legacy-platform-object-defineownproperty/index.d.ts +4 -0
  267. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/04-legacy-platform-object-delete/index.d.ts +3 -0
  268. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/05-legacy-platform-object-preventextensions/index.d.ts +1 -0
  269. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/06-legacy-platform-object-ownpropertykeys/index.d.ts +4 -0
  270. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/LegacyPlatformObjectGetOwnProperty.d.ts +3 -0
  271. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/dfn-named-property-visibility.d.ts +4 -0
  272. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/index.d.ts +5 -0
  273. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-indexed-setter.d.ts +3 -0
  274. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-named-setter.d.ts +4 -0
  275. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/is-an-array-index.d.ts +2 -0
  276. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/dfn-unforgeable-property-name.d.ts +2 -0
  277. package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/index.d.ts +16 -0
  278. package/dist/types/webidl/03-javascript-binding/index.d.ts +6 -0
  279. package/dist/types/webidl/index.d.ts +2 -0
  280. package/package.json +96 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The Fifteenth Indotribe
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,289 @@
1
+ # webspecs - TypeScript implementations of web platform specifications
2
+
3
+ A reference implementation of selected algorithms and types from the WHATWG, W3C,
4
+ and TC39 specifications. Each module's path mirrors the section ID of the spec
5
+ it implements, so navigating the source feels like navigating the spec.
6
+
7
+ > **Coverage is intentionally narrow** — this is a knowledge base, not a polyfill.
8
+ > Only the algorithms that have been ported so far are listed below; everything
9
+ > else is marked with `...`.
10
+
11
+ ## Install
12
+
13
+ ```sh
14
+ npm install @t15i/webspecs
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ Each spec is exposed as its own subpath export:
20
+
21
+ ```ts
22
+ import { ... } from "@t15i/webspecs/dom";
23
+ import { ... } from "@t15i/webspecs/ecma";
24
+ import { ... } from "@t15i/webspecs/html";
25
+ import { ... } from "@t15i/webspecs/infra";
26
+ import { ... } from "@t15i/webspecs/url";
27
+ import { ... } from "@t15i/webspecs/webidl";
28
+ ```
29
+
30
+ ## What's implemented
31
+
32
+ Expand a spec to see what is currently ported. `...` marks sections with un-ported content.
33
+
34
+ <details>
35
+ <summary><strong>DOM</strong> (<a href="https://dom.spec.whatwg.org/">spec</a>)</summary>
36
+
37
+ - **§1 Infrastructure**
38
+ - **§1.4 Namespaces**
39
+ - [x] `validAttributeLocalName`
40
+ - ...
41
+ - ...
42
+
43
+ </details>
44
+
45
+ <details>
46
+ <summary><strong>ECMAScript</strong> (<a href="https://tc39.es/ecma262/">spec</a>)</summary>
47
+
48
+ - **§5 Notational Conventions**
49
+ - **§5.2.6 Mathematical Operations**
50
+ - [x] `sign`
51
+ - [x] `modulo`
52
+ - ...
53
+ - ...
54
+ - **§6 ECMAScript Data Types and Values**
55
+ - **§6.1 ECMAScript Language Types**
56
+ - **§6.1.4 The String Type**
57
+ - [x] `isString`
58
+ - **§6.1.7 The Object Type**
59
+ - [x] `PropertyKey`
60
+ - [x] `PropertyName`
61
+ - ...
62
+ - **§6.2 ECMAScript Specification Types**
63
+ - **§6.2.6 The Property Descriptor Specification Type**
64
+ - **§6.2.6.1 IsAccessorDescriptor**
65
+ - [x] `isAccessorDescriptor`
66
+ - **§6.2.6.2 IsDataDescriptor**
67
+ - [x] `isDataDescriptor`
68
+ - ...
69
+ - ...
70
+ - **§7 Abstract Operations**
71
+ - **§7.1 Type Conversion**
72
+ - **§7.1.4 ToNumber**
73
+ - [x] `toNumber`
74
+ - **§7.1.5 ToIntegerOrInfinity**
75
+ - [x] `toIntegerOrInfinity`
76
+ - **§7.1.6 ToFixedSizeInteger**
77
+ - [x] `toFixedSizeInteger`
78
+ - **§7.1.8 ToUint32**
79
+ - [x] `toUint32`
80
+ - **§7.1.18 ToString**
81
+ - [x] `toString`
82
+ - **§7.1.22 CanonicalNumericIndexString**
83
+ - [x] `canonicalNumericIndexString`
84
+ - ...
85
+ - **§7.3 Operations on Objects**
86
+ - **§7.3.5 CreateDataProperty**
87
+ - [x] `createDataProperty`
88
+ - ...
89
+ - **§10 Ordinary and Exotic Objects Behaviours**
90
+ - **§10.1 Ordinary Object Internal Methods and Internal Slots**
91
+ - **§10.1.5.1 OrdinaryGetOwnProperty**
92
+ - [x] `ordinaryGetOwnProperty`
93
+ - **§10.1.6.1 OrdinaryDefineOwnProperty**
94
+ - [x] `ordinaryDefineOwnProperty`
95
+ - **§10.1.9.2 OrdinarySetWithOwnDescriptor**
96
+ - [x] `ordinarySetWithOwnDescriptor`
97
+ - ...
98
+ - ...
99
+ - ...
100
+
101
+ </details>
102
+
103
+ <details>
104
+ <summary><strong>HTML</strong> (<a href="https://html.spec.whatwg.org/multipage/">spec</a>)</summary>
105
+
106
+ - **§2 Infrastructure**
107
+ - **§2.3 Common microsyntaxes**
108
+ - **§2.3.3 Keywords and enumerated attributes**
109
+ - [x] `EnumeratedAttributeState`
110
+ - [x] `EnumeratedAttributeStates`
111
+ - **§2.3.4 Numbers**
112
+ - **§2.3.4.1 Signed integers**
113
+ - [x] `integerParsing`
114
+ - [x] `shortestPossibleStringRepresentingAsValidInteger`
115
+ - **§2.3.4.2 Non-negative integers**
116
+ - [x] `nonNegativeIntegerParsing`
117
+ - [x] `shortestPossibleRepresentingAsValidNonNegativeInteger`
118
+ - **§2.3.4.3 Floating-point numbers**
119
+ - [x] `bestRepresentationAsFloatingPointNumber`
120
+ - [x] `floatingPointNumberParsing`
121
+ - ...
122
+ - ...
123
+ - **§2.4 URLs and fetching**
124
+ - **§2.4.2 Resolving URLs**
125
+ - [x] `encodingParseURL`
126
+ - [x] `encodingParseAndSerializeURL`
127
+ - ...
128
+ - **§2.6 Common DOM interfaces**
129
+ - **§2.6.1 Reflecting content attributes in IDL attributes**
130
+ - [x] `ReflectedBoolean`
131
+ - [x] `ReflectedDOMString`
132
+ - [x] `ReflectedDouble`
133
+ - [x] `ReflectedLong`
134
+ - [x] `ReflectedNullableDOMString`
135
+ - [x] `ReflectedNullableElement`
136
+ - [x] `ReflectedNullableFrozenArrayOfElements`
137
+ - [x] `ReflectedUnsignedLong`
138
+ - [x] `ReflectedUSVString`
139
+ - [x] `ReflectedContentAttribute` / `ReflectedIDLAttribute` / `ReflectedTarget`
140
+ - ...
141
+ - ...
142
+ - ...
143
+
144
+ </details>
145
+
146
+ <details>
147
+ <summary><strong>Infra</strong> (<a href="https://infra.spec.whatwg.org/">spec</a>)</summary>
148
+
149
+ - **§4 Primitive data types**
150
+ - **§4.6 Code points**
151
+ - [x] `surrogate` / `surrogates`
152
+ - [x] `leadingSurrogate` / `leadingSurrogates`
153
+ - [x] `trailingSurrogate` / `trailingSurrogates`
154
+ - **§4.7 Strings**
155
+ - [x] `convertStringIntoScalarValueString`
156
+ - ...
157
+ - ...
158
+ - ...
159
+
160
+ </details>
161
+
162
+ <details>
163
+ <summary><strong>URL</strong> (<a href="https://url.spec.whatwg.org/">spec</a>)</summary>
164
+
165
+ - **§4 URLs**
166
+ - **§4.4 URL parsing**
167
+ - [x] `urlParser`
168
+ - **§4.5 URL serializing**
169
+ - [x] `urlSerializer`
170
+ - ...
171
+ - ...
172
+
173
+ </details>
174
+
175
+ <details>
176
+ <summary><strong>WebIDL</strong> (<a href="https://webidl.spec.whatwg.org/">spec</a>)</summary>
177
+
178
+ - **§2 Interface definition language**
179
+ - **§2.1 Names**
180
+ - [x] `Identifier`
181
+ - [x] `isIdentifier`
182
+ - **§2.2 Interfaces**
183
+ - [x] `Interface`
184
+ - **§2.5 Members**
185
+ - **§2.5.2 Attributes**
186
+ - [x] `Attribute`
187
+ - [x] `isAttribute`
188
+ - **§2.5.3 Operations**
189
+ - [x] `Operation`
190
+ - [x] `Argument` / `ArgumentList`
191
+ - [x] `isOperation`
192
+ - **§2.5.6 Special operations**
193
+ - **§2.5.6.1 Indexed properties**
194
+ - [x] `determineValueOfIndexedProperty`
195
+ - [x] `setValueOfNewIndexedProperty` / `NewIndexedPropertySetter`
196
+ - [x] `setValueOfExistingIndexedProperty` / `ExistingIndexedPropertySetter`
197
+ - [x] `supportsIndexedProperties` / `SupportIndexedProperties`
198
+ - [x] `isSupportedPropertyIndex` / `SupportedPropertyIndices`
199
+ - **§2.5.6.2 Named properties**
200
+ - [x] `determineValueOfNamedProperty`
201
+ - [x] `deleteExistingNamedProperty`
202
+ - [x] `setValueOfNewNamedProperty` / `NewNamedPropertySetter`
203
+ - [x] `setValueOfExistingNamedProperty` / `ExistingNamedPropertySetter`
204
+ - [x] `supportsNamedProperties` / `SupportNamedProperties`
205
+ - [x] `isSupportedPropertyName` / `SupportedPropertyNames`
206
+ - ...
207
+ - ...
208
+ - **§2.12 Objects implementing interfaces**
209
+ - [x] `PlatformObject`
210
+ - [x] `LegacyPlatformObject` / `LegacyPlatformObjectInterfaceBase`
211
+ - [x] `isLegacyPlatformObject`
212
+ - **§2.13 Types**
213
+ - [x] `Type`
214
+ - ...
215
+ - **§3 ECMAScript binding**
216
+ - **§3.2 ECMAScript type mapping**
217
+ - **§3.2.3 boolean**
218
+ - [x] `Boolean`
219
+ - **§3.2.4 Integer types**
220
+ - **§3.2.4.5 long**
221
+ - [x] `Long` / `LongConstructor`
222
+ - **§3.2.4.6 unsigned long**
223
+ - [x] `UnsignedLong` / `UnsignedLongConstructor`
224
+ - **§3.2.4.9 Abstract operations**
225
+ - [x] `integerPart`
226
+ - [x] `convertToInt`
227
+ - ...
228
+ - **§3.2.7 double**
229
+ - [x] `Double`
230
+ - **§3.2.10 DOMString**
231
+ - [x] `DOMString`
232
+ - **§3.2.12 USVString**
233
+ - [x] `USVString`
234
+ - **§3.2.20 Nullable types**
235
+ - [x] `Nullable`
236
+ - **§3.2.21 sequence**
237
+ - [x] `Sequence`
238
+ - [x] `createSequenceFromIterable`
239
+ - **§3.2.27 Frozen array types**
240
+ - [x] `FrozenArray`
241
+ - ...
242
+ - **§3.3 Extended attributes**
243
+ - **§3.3.8 [Global]**
244
+ - [x] `Global`
245
+ - ...
246
+ - **§3.4 Legacy extended attributes**
247
+ - **§3.4.7 [LegacyOverrideBuiltIns]**
248
+ - [x] `LegacyOverrideBuiltIns`
249
+ - **§3.4.9 [LegacyUnenumerableNamedProperties]**
250
+ - [x] `LegacyUnenumerableNamedProperties`
251
+ - **§3.4.10 [LegacyUnforgeable]**
252
+ - [x] `LegacyUnforgeable`
253
+ - [x] `isUnforgeableOnInterface`
254
+ - ...
255
+ - **§3.7 Interfaces**
256
+ - **§3.7.4 Named properties object**
257
+ - [x] `isNamedPropertyObject`
258
+ - ...
259
+ - **§3.8 Platform objects**
260
+ - [x] `isPlatformObject`
261
+ - [x] `PrimaryInterface`
262
+ - [x] `ImplementsInterfaceWith` / `ImplementsInterfaceWithout` / `implementsInterfaceWith`
263
+ - **§3.9 Legacy platform objects**
264
+ - **§3.9.1 `[[GetOwnProperty]]`**
265
+ - [x] `getOwnProperty`
266
+ - **§3.9.2 `[[Set]]`**
267
+ - [x] `set`
268
+ - **§3.9.3 `[[DefineOwnProperty]]`**
269
+ - [x] `defineOwnProperty`
270
+ - **§3.9.4 `[[Delete]]`**
271
+ - [x] `del`
272
+ - **§3.9.5 `[[PreventExtensions]]`**
273
+ - [x] `preventExtensions`
274
+ - **§3.9.6 `[[OwnPropertyKeys]]`**
275
+ - [x] `ownPropertyKeys`
276
+ - **§3.9.7 Abstract operations**
277
+ - [x] `legacyPlatformObjectGetOwnProperty`
278
+ - [x] `isNamedPropertyVisible`
279
+ - [x] `invokeIndexedPropertySetter`
280
+ - [x] `invokeNamedPropertySetter`
281
+ - [x] `isArrayIndex`
282
+ - ...
283
+ - ...
284
+
285
+ </details>
286
+
287
+ ## License
288
+
289
+ [MIT](./LICENSE)
@@ -0,0 +1,18 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) {
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ }
11
+ if (!no_symbols) {
12
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
13
+ }
14
+ return target;
15
+ };
16
+
17
+ //#endregion
18
+ export { __exportAll };
@@ -0,0 +1,5 @@
1
+ //#region lib/dom/1-infrastructure/4-namespaces/valid-attribute-local-name.ts
2
+ var validAttributeLocalName = /^(?:[A-Za-z][^\0\t\n\f\r\u0020/>]*|[:_\u0080-\u{10FFFF}][A-Za-z0-9-.:_\u0080-\u{10FFFF}]*)$/u;
3
+
4
+ //#endregion
5
+ export { validAttributeLocalName };
@@ -0,0 +1,3 @@
1
+ import { validAttributeLocalName } from "./1-infrastructure/4-namespaces/valid-attribute-local-name.js";
2
+
3
+ export { validAttributeLocalName };
@@ -0,0 +1,10 @@
1
+ //#region lib/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.ts
2
+ function sign(n) {
3
+ return n < 0 ? -1 : 1;
4
+ }
5
+ function modulo(x, y) {
6
+ return sign(x) === sign(y) ? x % y : x % y + y;
7
+ }
8
+
9
+ //#endregion
10
+ export { modulo, sign };
@@ -0,0 +1,7 @@
1
+ //#region lib/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/04-sec-ecmascript-language-types-string-type/index.ts
2
+ function isString(x) {
3
+ return typeof x === "string" || x instanceof String;
4
+ }
5
+
6
+ //#endregion
7
+ export { isString };
@@ -0,0 +1,9 @@
1
+ //#region lib/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/01-sec-isaccessordescriptor/index.ts
2
+ function isAccessorDescriptor(desc) {
3
+ if ("set" in desc) return true;
4
+ if ("get" in desc) return true;
5
+ return false;
6
+ }
7
+
8
+ //#endregion
9
+ export { isAccessorDescriptor };
@@ -0,0 +1,9 @@
1
+ //#region lib/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/02-sec-isdatadescriptor/index.ts
2
+ function isDataDescriptor(desc) {
3
+ if ("value" in desc) return true;
4
+ if ("writable" in desc) return true;
5
+ return false;
6
+ }
7
+
8
+ //#endregion
9
+ export { isDataDescriptor };
@@ -0,0 +1,5 @@
1
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.ts
2
+ var toNumber = Number;
3
+
4
+ //#endregion
5
+ export { toNumber };
@@ -0,0 +1,13 @@
1
+ import { toNumber } from "../04-sec-tonumber/index.js";
2
+
3
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.ts
4
+ function toIntegerOrInfinity(argument) {
5
+ const number = toNumber(argument);
6
+ if (Number.isNaN(number) || Object.is(number, 0) || Object.is(number, -0)) return 0;
7
+ if (Object.is(number, Infinity)) return Infinity;
8
+ if (Object.is(number, -Infinity)) return -Infinity;
9
+ return Math.trunc(number);
10
+ }
11
+
12
+ //#endregion
13
+ export { toIntegerOrInfinity };
@@ -0,0 +1,12 @@
1
+ import { modulo } from "../../../05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.js";
2
+
3
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.ts
4
+ function toFixedSizeInteger(int, signed, bitWidth) {
5
+ if (int === Infinity || int === -Infinity) return 0;
6
+ let fixedInt = modulo(int, Math.pow(2, bitWidth));
7
+ if (signed === "signed" && fixedInt >= Math.pow(2, bitWidth - 1)) fixedInt = fixedInt - Math.pow(2, bitWidth);
8
+ return fixedInt;
9
+ }
10
+
11
+ //#endregion
12
+ export { toFixedSizeInteger };
@@ -0,0 +1,10 @@
1
+ import { toIntegerOrInfinity } from "../05-sec-tointegerorinfinity/index.js";
2
+ import { toFixedSizeInteger } from "../06-sec-tofixedsizeinteger/index.js";
3
+
4
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.ts
5
+ function toUint32(argument) {
6
+ return toFixedSizeInteger(toIntegerOrInfinity(argument), "signed", 32);
7
+ }
8
+
9
+ //#endregion
10
+ export { toUint32 };
@@ -0,0 +1,5 @@
1
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.ts
2
+ var toString = String;
3
+
4
+ //#endregion
5
+ export { toString };
@@ -0,0 +1,9 @@
1
+ //#region lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.ts
2
+ function canonicalNumericIndexString(argument) {
3
+ if (argument === "-0") return -0;
4
+ const n = Number(argument);
5
+ if (String(n) === argument) return n;
6
+ }
7
+
8
+ //#endregion
9
+ export { canonicalNumericIndexString };
@@ -0,0 +1,12 @@
1
+ //#region lib/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.ts
2
+ function createDataProperty(obj, propertyKey, value) {
3
+ return Reflect.defineProperty(obj, propertyKey, {
4
+ value,
5
+ writable: true,
6
+ enumerable: true,
7
+ configurable: true
8
+ });
9
+ }
10
+
11
+ //#endregion
12
+ export { createDataProperty };
@@ -0,0 +1,7 @@
1
+ //#region lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/05-sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p/01-sec-ordinarygetownproperty/index.ts
2
+ function ordinaryGetOwnProperty(obj, propertyKey) {
3
+ return Object.getOwnPropertyDescriptor(obj, propertyKey);
4
+ }
5
+
6
+ //#endregion
7
+ export { ordinaryGetOwnProperty };
@@ -0,0 +1,13 @@
1
+ //#region lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/06-sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc/01-sec-ordinarydefineownproperty/index.ts
2
+ function ordinaryDefineOwnProperty(obj, propertyKey, desc) {
3
+ try {
4
+ Object.defineProperty(obj, propertyKey, desc);
5
+ return true;
6
+ } catch (e) {
7
+ if (e instanceof TypeError) return false;
8
+ throw e;
9
+ }
10
+ }
11
+
12
+ //#endregion
13
+ export { ordinaryDefineOwnProperty };
@@ -0,0 +1,30 @@
1
+ import { isAccessorDescriptor } from "../../../../06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/01-sec-isaccessordescriptor/index.js";
2
+ import { isDataDescriptor } from "../../../../06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/02-sec-isdatadescriptor/index.js";
3
+ import { createDataProperty } from "../../../../07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.js";
4
+
5
+ //#region lib/ecma/10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/09-sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver/02-sec-ordinarysetwithowndescriptor/index.ts
6
+ function ordinarySetWithOwnDescriptor(obj, propertyKey, value, receiver, ownDesc) {
7
+ if (ownDesc === void 0) {
8
+ if (Object.getPrototypeOf(ownDesc) !== null) return Reflect.set(obj, propertyKey, value, receiver);
9
+ ownDesc = {
10
+ writable: true,
11
+ enumerable: true,
12
+ configurable: true
13
+ };
14
+ }
15
+ if (isDataDescriptor(ownDesc)) {
16
+ if (ownDesc.writable === false) return false;
17
+ if (!(receiver instanceof Object)) return false;
18
+ const existingDescriptor = Reflect.getOwnPropertyDescriptor(receiver, propertyKey);
19
+ if (existingDescriptor === void 0) return createDataProperty(receiver, propertyKey, value);
20
+ if (isAccessorDescriptor(existingDescriptor)) return false;
21
+ return Reflect.defineProperty(receiver, propertyKey, { value });
22
+ }
23
+ const setter = ownDesc.set;
24
+ if (setter === void 0) return false;
25
+ setter.call(receiver, value);
26
+ return true;
27
+ }
28
+
29
+ //#endregion
30
+ export { ordinarySetWithOwnDescriptor };
@@ -0,0 +1,16 @@
1
+ import { modulo, sign } from "./05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.js";
2
+ import { isString } from "./06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/04-sec-ecmascript-language-types-string-type/index.js";
3
+ import { isAccessorDescriptor } from "./06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/01-sec-isaccessordescriptor/index.js";
4
+ import { isDataDescriptor } from "./06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/06-sec-property-descriptor-specification-type/02-sec-isdatadescriptor/index.js";
5
+ import { toNumber } from "./07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.js";
6
+ import { toIntegerOrInfinity } from "./07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.js";
7
+ import { toFixedSizeInteger } from "./07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.js";
8
+ import { toUint32 } from "./07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.js";
9
+ import { toString } from "./07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.js";
10
+ import { canonicalNumericIndexString } from "./07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.js";
11
+ import { createDataProperty } from "./07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.js";
12
+ import { ordinaryGetOwnProperty } from "./10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/05-sec-ordinary-object-internal-methods-and-internal-slots-getownproperty-p/01-sec-ordinarygetownproperty/index.js";
13
+ import { ordinaryDefineOwnProperty } from "./10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/06-sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc/01-sec-ordinarydefineownproperty/index.js";
14
+ import { ordinarySetWithOwnDescriptor } from "./10-sec-ordinary-and-exotic-objects-behaviours/01-sec-ordinary-object-internal-methods-and-internal-slots/09-sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver/02-sec-ordinarysetwithowndescriptor/index.js";
15
+
16
+ export { canonicalNumericIndexString, createDataProperty, isAccessorDescriptor, isDataDescriptor, isString, modulo, ordinaryDefineOwnProperty, ordinaryGetOwnProperty, ordinarySetWithOwnDescriptor, sign, toFixedSizeInteger, toIntegerOrInfinity, toNumber, toString, toUint32 };
@@ -0,0 +1,39 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/03-keywords-and-enumerated-attributes/index.ts
2
+ var EnumeratedAttributeState = class {
3
+ canonicalKeyword;
4
+ keywords;
5
+ constructor({ conformingKeywords, nonConformingKeywords, canonicalKeyword }) {
6
+ this.keywords = new Set([...conformingKeywords, ...nonConformingKeywords ?? []]);
7
+ if (this.keywords.size === 1) this.canonicalKeyword = this.keywords.values().next().value;
8
+ else if (conformingKeywords.size === 1) this.canonicalKeyword = conformingKeywords.values().next().value;
9
+ else if (conformingKeywords.size === 2 && conformingKeywords.has("")) this.canonicalKeyword = conformingKeywords.values().find((key) => key !== "");
10
+ else if (canonicalKeyword !== void 0) this.canonicalKeyword = canonicalKeyword;
11
+ else throw Error("Specification bug: The canonical keyword is not specified and cannot be determined implicitly.");
12
+ }
13
+ };
14
+ var EnumeratedAttributeStates = class {
15
+ constructor({ states, invalidValueDefault, missingValueDefault, emptyValueDefault }) {
16
+ for (const state of states) for (const keyword of state.keywords) this.keywordToStateMap_.set(keyword.toLowerCase(), state);
17
+ this.invalidValueDefault_ = invalidValueDefault ?? null;
18
+ this.missingValueDefault_ = missingValueDefault ?? null;
19
+ this.emptyValueDefault_ = emptyValueDefault ?? null;
20
+ }
21
+ get(contentAttributeValue) {
22
+ if (contentAttributeValue === null) {
23
+ if (this.missingValueDefault_ !== null) return this.missingValueDefault_;
24
+ return null;
25
+ }
26
+ const caseInsensiveContentAttributeValue = contentAttributeValue.toLowerCase();
27
+ if (this.keywordToStateMap_.has(caseInsensiveContentAttributeValue)) return this.keywordToStateMap_.get(caseInsensiveContentAttributeValue);
28
+ if (this.emptyValueDefault_ !== null && contentAttributeValue === "") return this.emptyValueDefault_;
29
+ if (this.invalidValueDefault_ !== null) return this.invalidValueDefault_;
30
+ return null;
31
+ }
32
+ keywordToStateMap_ = /* @__PURE__ */ new Map();
33
+ invalidValueDefault_;
34
+ missingValueDefault_;
35
+ emptyValueDefault_;
36
+ };
37
+
38
+ //#endregion
39
+ export { EnumeratedAttributeState, EnumeratedAttributeStates };
@@ -0,0 +1,9 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/rules-for-parsing-integers.ts
2
+ function integerParsing(value) {
3
+ const parsedValue = Number.parseInt(value, 10);
4
+ if (!Number.isFinite(parsedValue)) return "error";
5
+ return parsedValue;
6
+ }
7
+
8
+ //#endregion
9
+ export { integerParsing };
@@ -0,0 +1,7 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/valid-integer.ts
2
+ function shortestPossibleStringRepresentingAsValidInteger(n) {
3
+ return String(n);
4
+ }
5
+
6
+ //#endregion
7
+ export { shortestPossibleStringRepresentingAsValidInteger };
@@ -0,0 +1,13 @@
1
+ import { integerParsing } from "../01-signed-integers/rules-for-parsing-integers.js";
2
+ import "../../../../index.js";
3
+
4
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/rules-for-parsing-non-negative-integers.ts
5
+ function nonNegativeIntegerParsing(value) {
6
+ const parsedValue = integerParsing(value);
7
+ if (parsedValue === "error") return "error";
8
+ if (parsedValue < 0) return "error";
9
+ return parsedValue;
10
+ }
11
+
12
+ //#endregion
13
+ export { nonNegativeIntegerParsing };
@@ -0,0 +1,7 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/valid-non-negative-integer.ts
2
+ function shortestPossibleRepresentingAsValidNonNegativeInteger(n) {
3
+ return String(n);
4
+ }
5
+
6
+ //#endregion
7
+ export { shortestPossibleRepresentingAsValidNonNegativeInteger };
@@ -0,0 +1,7 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/best-representation-of-the-number-as-a-floating-point-number.ts
2
+ function bestRepresentationAsFloatingPointNumber(n) {
3
+ return String(n);
4
+ }
5
+
6
+ //#endregion
7
+ export { bestRepresentationAsFloatingPointNumber };
@@ -0,0 +1,9 @@
1
+ //#region lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/rules-for-parsing-floating-point-number-values.ts
2
+ function floatingPointNumberParsing(value) {
3
+ const parsedValue = Number.parseFloat(value);
4
+ if (!Number.isFinite(parsedValue)) return "error";
5
+ return parsedValue;
6
+ }
7
+
8
+ //#endregion
9
+ export { floatingPointNumberParsing };
@@ -0,0 +1,10 @@
1
+ import { urlParser } from "../../../../url/4-urls/4-url-parsing/concept-url-parser.js";
2
+
3
+ //#region lib/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-a-url.ts
4
+ function encodingParseURL(url, document) {
5
+ const encoding = document.characterSet;
6
+ return urlParser(url, new URL(document.baseURI), encoding);
7
+ }
8
+
9
+ //#endregion
10
+ export { encodingParseURL };