@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.
- package/LICENSE +21 -0
- package/README.md +289 -0
- package/dist/lib/_virtual/_rolldown/runtime.js +18 -0
- package/dist/lib/dom/1-infrastructure/4-namespaces/valid-attribute-local-name.js +5 -0
- package/dist/lib/dom/index.js +3 -0
- package/dist/lib/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.js +10 -0
- 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
- 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
- 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
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.js +5 -0
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.js +13 -0
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.js +12 -0
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.js +10 -0
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.js +5 -0
- package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.js +9 -0
- package/dist/lib/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.js +12 -0
- 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
- 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
- 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
- package/dist/lib/ecma/index.js +16 -0
- package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/03-keywords-and-enumerated-attributes/index.js +39 -0
- package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/rules-for-parsing-integers.js +9 -0
- package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/valid-integer.js +7 -0
- package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/rules-for-parsing-non-negative-integers.js +13 -0
- package/dist/lib/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/valid-non-negative-integer.js +7 -0
- 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
- 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
- package/dist/lib/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-a-url.js +10 -0
- package/dist/lib/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-and-serializing-a-url.js +13 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/DOMString.js +25 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/USVString.js +27 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/boolean.js +17 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/double.js +27 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/index.js +9 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/long.js +30 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-DOMString.js +25 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-element.js +47 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-frozen-array.js +62 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/unsigned-long.js +40 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/utils.js +15 -0
- package/dist/lib/html/02-infrastructure/06-common-dom-interfaces/index.js +10 -0
- package/dist/lib/html/02-infrastructure/index.js +19 -0
- package/dist/lib/html/index.js +21 -0
- package/dist/lib/infra/04-primitive-data-types/06-code-points/leading-surrogate.js +6 -0
- package/dist/lib/infra/04-primitive-data-types/06-code-points/surrogate.js +6 -0
- package/dist/lib/infra/04-primitive-data-types/06-code-points/trailing-surrogate.js +6 -0
- package/dist/lib/infra/04-primitive-data-types/07-strings/javascript-string-convert.js +9 -0
- package/dist/lib/infra/index.js +6 -0
- package/dist/lib/share/failure.js +5 -0
- package/dist/lib/share/index.js +3 -0
- package/dist/lib/url/4-urls/4-url-parsing/concept-url-parser.js +13 -0
- package/dist/lib/url/4-urls/5-url-serializing/concept-url-serializer.js +8 -0
- package/dist/lib/url/index.js +4 -0
- package/dist/lib/webidl/02-idl/01-idl-names/dfn-identifier.js +8 -0
- package/dist/lib/webidl/02-idl/05-idl-members/02-idl-attributes/dfn-attribute.js +7 -0
- package/dist/lib/webidl/02-idl/05-idl-members/03-idl-operations/dfn-operation.js +7 -0
- 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
- 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
- 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
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-support-indexed-properties.js +11 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/dfn-supported-property-indices.js +11 -0
- 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
- 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
- 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
- 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
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-support-named-properties.js +11 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/dfn-supported-property-names.js +11 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-getter.js +7 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-setter.js +7 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-deleter.js +7 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-getter.js +7 -0
- package/dist/lib/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-setter.js +7 -0
- package/dist/lib/webidl/02-idl/12-idl-objects/dfn-legacy-platform-object.js +12 -0
- package/dist/lib/webidl/02-idl/13-idl-types/index.js +9 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/03-js-boolean/index.js +5 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/05-js-long/index.js +11 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/06-js-unsigned-long/index.js +11 -0
- 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
- 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
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/index.js +4 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/07-js-double/index.js +9 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/10-js-DOMString/index.js +8 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/12-js-USVString/index.js +11 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/20-js-nullable-type/index.js +14 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/01-create-sequence-from-iterable/index.js +13 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/index.js +2 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/sequence-type.js +13 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/27-js-frozen-array/index.js +12 -0
- package/dist/lib/webidl/03-javascript-binding/02-js-type-mapping/index.js +14 -0
- package/dist/lib/webidl/03-javascript-binding/03-js-extended-attributes/08-Global/index.js +5 -0
- package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/07-LegacyOverrideBuiltIns/index.js +5 -0
- package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/09-LegacyUnenumerableNamedProperties/index.js +5 -0
- package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/dfn-unforgeable-on-an-interface.js +15 -0
- package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/index.js +7 -0
- package/dist/lib/webidl/03-javascript-binding/04-js-legacy-extended-attributes/index.js +4 -0
- package/dist/lib/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/dfn-named-properties-object.js +7 -0
- package/dist/lib/webidl/03-javascript-binding/08-js-platform-objects/implements.js +9 -0
- package/dist/lib/webidl/03-javascript-binding/08-js-platform-objects/is-a-platform-object.js +8 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/01-legacy-platform-object-getownproperty/index.js +10 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/02-legacy-platform-object-set/index.js +28 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/03-legacy-platform-object-defineownproperty/index.js +41 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/04-legacy-platform-object-delete/index.js +36 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/05-legacy-platform-object-preventextensions/index.js +7 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/06-legacy-platform-object-ownpropertykeys/index.js +27 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/LegacyPlatformObjectGetOwnProperty.js +57 -0
- 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
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/index.js +5 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-indexed-setter.js +22 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/invoke-named-setter.js +20 -0
- 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
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/dfn-unforgeable-property-name.js +16 -0
- package/dist/lib/webidl/03-javascript-binding/09-js-legacy-platform-objects/index.js +26 -0
- package/dist/lib/webidl/03-javascript-binding/index.js +29 -0
- package/dist/lib/webidl/index.js +51 -0
- package/dist/types/dom/1-infrastructure/4-namespaces/index.d.ts +1 -0
- package/dist/types/dom/1-infrastructure/4-namespaces/valid-attribute-local-name.d.ts +2 -0
- package/dist/types/dom/1-infrastructure/index.d.ts +1 -0
- package/dist/types/dom/index.d.ts +1 -0
- package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/eqn-modulo.d.ts +3 -0
- package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/06-sec-mathematical-operations/index.d.ts +1 -0
- package/dist/types/ecma/05-sec-notational-conventions/02-sec-algorithm-conventions/index.d.ts +1 -0
- package/dist/types/ecma/05-sec-notational-conventions/index.d.ts +1 -0
- 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
- 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
- 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
- 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
- package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/01-sec-ecmascript-language-types/index.d.ts +2 -0
- 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
- 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
- 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
- package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/02-sec-ecmascript-specification-types/index.d.ts +1 -0
- package/dist/types/ecma/06-sec-ecmascript-data-types-and-values/index.d.ts +2 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/04-sec-tonumber/index.d.ts +2 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/05-sec-tointegerorinfinity/index.d.ts +1 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/06-sec-tofixedsizeinteger/index.d.ts +2 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.d.ts +2 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/18-sec-tostring/index.d.ts +1 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/22-sec-canonicalnumericindexstring/index.d.ts +1 -0
- package/dist/types/ecma/07-sec-abstract-operations/01-sec-type-conversion/index.d.ts +6 -0
- package/dist/types/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/05-sec-createdataproperty/index.d.ts +3 -0
- package/dist/types/ecma/07-sec-abstract-operations/03-sec-operations-on-objects/index.d.ts +1 -0
- package/dist/types/ecma/07-sec-abstract-operations/index.d.ts +2 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/types/ecma/10-sec-ordinary-and-exotic-objects-behaviours/index.d.ts +1 -0
- package/dist/types/ecma/index.d.ts +4 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/03-keywords-and-enumerated-attributes/index.d.ts +27 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/index.d.ts +2 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/rules-for-parsing-integers.d.ts +2 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/01-signed-integers/valid-integer.d.ts +2 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/index.d.ts +2 -0
- 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
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/02-non-negative-integers/valid-non-negative-integer.d.ts +2 -0
- 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
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/03-floating-point-numbers/index.d.ts +2 -0
- 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
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/04-numbers/index.d.ts +3 -0
- package/dist/types/html/02-infrastructure/03-common-microsyntaxes/index.d.ts +2 -0
- package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-a-url.d.ts +3 -0
- package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/encoding-parsing-and-serializing-a-url.d.ts +3 -0
- package/dist/types/html/02-infrastructure/04-urls-and-fetching/02-resolving-urls/index.d.ts +2 -0
- package/dist/types/html/02-infrastructure/04-urls-and-fetching/index.d.ts +1 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/DOMString.d.ts +14 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/USVString.d.ts +10 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/boolean.d.ts +6 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/double.d.ts +12 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/index.d.ts +12 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/long.d.ts +12 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-DOMString.d.ts +14 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-element.d.ts +17 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/nullable-frozen-array.d.ts +19 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-content-attribute.d.ts +4 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-idl-attribute.d.ts +4 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/reflected-target.d.ts +11 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/unsigned-long.d.ts +17 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/01-reflecting-content-attributes-in-idl-attributes/utils.d.ts +5 -0
- package/dist/types/html/02-infrastructure/06-common-dom-interfaces/index.d.ts +1 -0
- package/dist/types/html/02-infrastructure/index.d.ts +3 -0
- package/dist/types/html/index.d.ts +1 -0
- package/dist/types/infra/04-primitive-data-types/06-code-points/index.d.ts +3 -0
- package/dist/types/infra/04-primitive-data-types/06-code-points/leading-surrogate.d.ts +4 -0
- package/dist/types/infra/04-primitive-data-types/06-code-points/surrogate.d.ts +4 -0
- package/dist/types/infra/04-primitive-data-types/06-code-points/trailing-surrogate.d.ts +4 -0
- package/dist/types/infra/04-primitive-data-types/07-strings/index.d.ts +1 -0
- package/dist/types/infra/04-primitive-data-types/07-strings/javascript-string-convert.d.ts +2 -0
- package/dist/types/infra/04-primitive-data-types/index.d.ts +2 -0
- package/dist/types/infra/index.d.ts +1 -0
- package/dist/types/share/failure.d.ts +1 -0
- package/dist/types/share/index.d.ts +1 -0
- package/dist/types/url/4-urls/4-url-parsing/concept-url-parser.d.ts +3 -0
- package/dist/types/url/4-urls/4-url-parsing/index.d.ts +1 -0
- package/dist/types/url/4-urls/5-url-serializing/concept-url-serializer.d.ts +2 -0
- package/dist/types/url/4-urls/5-url-serializing/index.d.ts +1 -0
- package/dist/types/url/4-urls/index.d.ts +2 -0
- package/dist/types/url/index.d.ts +1 -0
- package/dist/types/webidl/02-idl/01-idl-names/dfn-identifier.d.ts +3 -0
- package/dist/types/webidl/02-idl/01-idl-names/index.d.ts +1 -0
- package/dist/types/webidl/02-idl/02-idl-interfaces/dfn-interface.d.ts +5 -0
- package/dist/types/webidl/02-idl/02-idl-interfaces/index.d.ts +1 -0
- package/dist/types/webidl/02-idl/05-idl-members/02-idl-attributes/dfn-attribute.d.ts +7 -0
- package/dist/types/webidl/02-idl/05-idl-members/02-idl-attributes/index.d.ts +1 -0
- package/dist/types/webidl/02-idl/05-idl-members/03-idl-operations/dfn-operation.d.ts +19 -0
- package/dist/types/webidl/02-idl/05-idl-members/03-idl-operations/index.d.ts +1 -0
- 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
- 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
- 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
- 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
- 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
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/01-idl-indexed-properties/index.d.ts +5 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/02-idl-named-properties/index.d.ts +6 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-getter.d.ts +9 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-indexed-property-setter.d.ts +8 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-deleter.d.ts +10 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-getter.d.ts +10 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/dfn-named-property-setter.d.ts +10 -0
- package/dist/types/webidl/02-idl/05-idl-members/06-idl-special-operations/index.d.ts +7 -0
- package/dist/types/webidl/02-idl/05-idl-members/dfn-member.d.ts +3 -0
- package/dist/types/webidl/02-idl/05-idl-members/index.d.ts +4 -0
- package/dist/types/webidl/02-idl/12-idl-objects/dfn-legacy-platform-object.d.ts +6 -0
- package/dist/types/webidl/02-idl/12-idl-objects/dfn-platform-object.d.ts +5 -0
- package/dist/types/webidl/02-idl/12-idl-objects/index.d.ts +2 -0
- package/dist/types/webidl/02-idl/13-idl-types/index.d.ts +3 -0
- package/dist/types/webidl/02-idl/index.d.ts +5 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/03-js-boolean/index.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/05-js-long/index.d.ts +9 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/06-js-unsigned-long/index.d.ts +9 -0
- 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
- 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
- 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
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/04-js-integer-types/index.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/07-js-double/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/10-js-DOMString/index.d.ts +4 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/12-js-USVString/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/20-js-nullable-type/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/01-create-sequence-from-iterable/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/21-js-sequence/sequence-type.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/27-js-frozen-array/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/02-js-type-mapping/index.d.ts +8 -0
- package/dist/types/webidl/03-javascript-binding/03-js-extended-attributes/08-Global/index.d.ts +7 -0
- package/dist/types/webidl/03-javascript-binding/03-js-extended-attributes/index.d.ts +1 -0
- package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/07-LegacyOverrideBuiltIns/index.d.ts +7 -0
- package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/09-LegacyUnenumerableNamedProperties/index.d.ts +7 -0
- package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/dfn-unforgeable-on-an-interface.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/10-LegacyUnforgeable/index.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/04-js-legacy-extended-attributes/index.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/dfn-named-properties-object.d.ts +1 -0
- package/dist/types/webidl/03-javascript-binding/07-js-interfaces/04-named-properties-object/index.d.ts +1 -0
- package/dist/types/webidl/03-javascript-binding/07-js-interfaces/index.d.ts +1 -0
- package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/implements.d.ts +12 -0
- package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/index.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/08-js-platform-objects/is-a-platform-object.d.ts +9 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/01-legacy-platform-object-getownproperty/index.d.ts +4 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/02-legacy-platform-object-set/index.d.ts +4 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/03-legacy-platform-object-defineownproperty/index.d.ts +4 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/04-legacy-platform-object-delete/index.d.ts +3 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/05-legacy-platform-object-preventextensions/index.d.ts +1 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/06-legacy-platform-object-ownpropertykeys/index.d.ts +4 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/LegacyPlatformObjectGetOwnProperty.d.ts +3 -0
- 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
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/07-legacy-platform-object-abstract-ops/index.d.ts +5 -0
- 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
- 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
- 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
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/dfn-unforgeable-property-name.d.ts +2 -0
- package/dist/types/webidl/03-javascript-binding/09-js-legacy-platform-objects/index.d.ts +16 -0
- package/dist/types/webidl/03-javascript-binding/index.d.ts +6 -0
- package/dist/types/webidl/index.d.ts +2 -0
- 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,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,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 };
|
package/dist/lib/ecma/07-sec-abstract-operations/01-sec-type-conversion/08-sec-touint32/index.js
ADDED
|
@@ -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,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 };
|