@d1g1tal/media-type 5.0.0 → 5.0.2
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/dist/media-type.js +6 -5
- package/dist/media-type.min.js +2 -2
- package/dist/media-type.min.js.map +3 -3
- package/package.json +9 -11
- package/src/media-type.js +3 -3
package/dist/media-type.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
// node_modules/.pnpm/@d1g1tal+chrysalis@2.
|
|
2
|
-
var
|
|
1
|
+
// node_modules/.pnpm/@d1g1tal+chrysalis@2.4.0/node_modules/@d1g1tal/chrysalis/src/esm/object-type.js
|
|
2
|
+
var { toString } = Object.prototype;
|
|
3
|
+
var _type = (object) => object?.constructor ?? globalThis[toString.call(object).slice(8, -1)] ?? object;
|
|
3
4
|
var object_type_default = _type;
|
|
4
5
|
|
|
5
6
|
// src/utils.js
|
|
@@ -270,11 +271,11 @@ var MediaType = class _MediaType {
|
|
|
270
271
|
* Checks if the media type matches the specified type.
|
|
271
272
|
*
|
|
272
273
|
* @todo Fix string handling to parse the type and subtype from the string.
|
|
273
|
-
* @param {MediaType|string}
|
|
274
|
+
* @param {MediaType|string} mediaType The media type to check.
|
|
274
275
|
* @returns {boolean} true if the media type matches the specified type, false otherwise.
|
|
275
276
|
*/
|
|
276
|
-
matches(
|
|
277
|
-
return this.#type
|
|
277
|
+
matches(mediaType) {
|
|
278
|
+
return this.#type === mediaType?.type && this.#subtype === mediaType?.subtype || this.essence.includes(mediaType);
|
|
278
279
|
}
|
|
279
280
|
/**
|
|
280
281
|
* Gets the serialized version of the media type.
|
package/dist/media-type.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
2
|
-
`,"\r"]
|
|
1
|
+
var{toString:y}=Object.prototype,m=p=>p?.constructor??globalThis[y.call(p).slice(8,-1)]??p,u=/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u,d=/(["\\])/ug,f=/^[\t\u0020-\u007E\u0080-\u00FF]*$/u,c=class h extends Map{constructor(e=[]){super(e)}static isValid(e,t){return u.test(e)&&f.test(t)}get(e){return super.get(e.toLowerCase())}has(e){return super.has(e.toLowerCase())}set(e,t){if(!h.isValid(e,t))throw Error(`Invalid media type parameter name/value: ${e}/${t}`);return super.set(e.toLowerCase(),t),this}delete(e){return super.delete(e.toLowerCase())}toString(){return Array.from(this).map(([e,t])=>`;${e}=${t&&u.test(t)?t:`"${t.replace(d,"\\$1")}"`}`).join("")}[Symbol.toStringTag](){return"MediaTypeParameters"}},$=[" "," ",`
|
|
2
|
+
`,"\r"],b=/[ \t\n\r]+$/u,w=/^[ \t\n\r]+|[ \t\n\r]+$/ug,T=class o{static parse(e){let t=(e=e.replace(w,"")).length,{position:r,result:i,subtype:n=""}=o.#e({input:e},"/");if(!i.length||r>=t||!u.test(i))throw TypeError(o.#t("type",i));if({position:r,result:n}=o.#e({position:++r,input:e,trim:!0},";"),!n.length||!u.test(n))throw TypeError(o.#t("subtype",n));let s="",a=null,l=new c;for(;r++<t;){for(;$.includes(e[r]);)++r;if({position:r,result:s}=o.#e({position:r,input:e,lowerCase:!1},";","="),r<t){if(e[r]==";")continue;++r}if(e[r]=='"')for([a,r]=o.#r(e,r);r<t&&e[r]!=";";)++r;else if({position:r,result:a}=o.#e({position:r,input:e,lowerCase:!1,trim:!0},";"),!a)continue;s&&c.isValid(s,a)&&!l.has(s)&&l.set(s,a)}return{type:i,subtype:n,parameters:l}}static#e({position:e=0,input:t,lowerCase:r=!0,trim:i=!1},...n){let s="";for(let a=t.length;e<a&&!n.includes(t[e]);e++)s+=t[e];return r&&(s=s.toLowerCase()),i&&(s=s.replace(b,"")),{position:e,result:s}}static#r(e,t){let r="";for(let i=e.length,n;++t<i&&(n=e[t])!='"';)r+=n=="\\"&&++t<i?e[t]:n;return[r,t]}static#t(e,t){return`Invalid ${e} "${t}": only HTTP token code points are valid.`}},C=class g{#e;#r;#t;constructor(e,t={}){if(m(t)!=Object)throw TypeError("The parameters argument must be an object");for(let[r,i]of({type:this.#e,subtype:this.#r,parameters:this.#t}=T.parse(e),Object.entries(t)))this.#t.set(r,i)}static parse(e){try{return new g(e)}catch{}return null}get type(){return this.#e}get subtype(){return this.#r}get essence(){return`${this.#e}/${this.#r}`}get parameters(){return this.#t}matches(e){return this.#e===e?.type&&this.#r===e?.subtype||this.essence.includes(e)}toString(){return`${this.essence}${this.#t.toString()}`}get[Symbol.toStringTag](){return"MediaType"}};export{C as default};
|
|
3
3
|
//# sourceMappingURL=media-type.min.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["media-type.js"],
|
|
4
|
-
"sourcesContent": ["var
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": ["e", "t", "r", "s", "
|
|
4
|
+
"sourcesContent": ["var{toString:e}=Object.prototype,t=t=>t?.constructor??globalThis[e.call(t).slice(8,-1)]??t,r=/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u,s=/([\"\\\\])/ug,a=/^[\\t\\u0020-\\u007E\\u0080-\\u00FF]*$/u,n=class e extends Map{constructor(e=[]){super(e)}static isValid(e,t){return r.test(e)&&a.test(t)}get(e){return super.get(e.toLowerCase())}has(e){return super.has(e.toLowerCase())}set(t,r){if(!e.isValid(t,r))throw Error(`Invalid media type parameter name/value: ${t}/${r}`);return super.set(t.toLowerCase(),r),this}delete(e){return super.delete(e.toLowerCase())}toString(){return Array.from(this).map(([e,t])=>`;${e}=${t&&r.test(t)?t:`\"${t.replace(s,\"\\\\$1\")}\"`}`).join(\"\")}[Symbol.toStringTag](){return\"MediaTypeParameters\"}},i=[\" \",\"\t\",\"\\n\",\"\\r\"],o=/[ \\t\\n\\r]+$/u,u=/^[ \\t\\n\\r]+|[ \\t\\n\\r]+$/ug,l=class e{static parse(t){let s=(t=t.replace(u,\"\")).length,{position:a,result:o,subtype:l=\"\"}=e.#e({input:t},\"/\");if(!o.length||a>=s||!r.test(o))throw TypeError(e.#t(\"type\",o));if({position:a,result:l}=e.#e({position:++a,input:t,trim:!0},\";\"),!l.length||!r.test(l))throw TypeError(e.#t(\"subtype\",l));let p=\"\",c=null,h=new n;for(;a++<s;){for(;i.includes(t[a]);)++a;if({position:a,result:p}=e.#e({position:a,input:t,lowerCase:!1},\";\",\"=\"),a<s){if(\";\"==t[a])continue;++a}if('\"'==t[a])for([c,a]=e.#r(t,a);a<s&&\";\"!=t[a];)++a;else if({position:a,result:c}=e.#e({position:a,input:t,lowerCase:!1,trim:!0},\";\"),!c)continue;p&&n.isValid(p,c)&&!h.has(p)&&h.set(p,c)}return{type:o,subtype:l,parameters:h}}static #e({position:e=0,input:t,lowerCase:r=!0,trim:s=!1},...a){let n=\"\";for(let r=t.length;e<r&&!a.includes(t[e]);e++)n+=t[e];return r&&(n=n.toLowerCase()),s&&(n=n.replace(o,\"\")),{position:e,result:n}}static #r(e,t){let r=\"\";for(let s=e.length,a;++t<s&&'\"'!=(a=e[t]);)r+=\"\\\\\"==a&&++t<s?e[t]:a;return[r,t]}static #t(e,t){return`Invalid ${e} \"${t}\": only HTTP token code points are valid.`}},p=class e{#s;#a;#n;constructor(e,r={}){if(t(r)!=Object)throw TypeError(\"The parameters argument must be an object\");for(let[t,s]of({type:this.#s,subtype:this.#a,parameters:this.#n}=l.parse(e),Object.entries(r)))this.#n.set(t,s)}static parse(t){try{return new e(t)}catch(e){}return null}get type(){return this.#s}get subtype(){return this.#a}get essence(){return`${this.#s}/${this.#a}`}get parameters(){return this.#n}matches(e){return this.#s===e?.type&&this.#a===e?.subtype||this.essence.includes(e)}toString(){return`${this.essence}${this.#n.toString()}`}get[Symbol.toStringTag](){return\"MediaType\"}};export{p as default};"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["e", "t", "r", "s", "a", "n", "i", "o", "u", "l", "p", "c", "h", "#s", "#a", "#n"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d1g1tal/media-type",
|
|
3
3
|
"description": "Parses, serializes, and manipulates media types, according to the WHATWG MIME Sniffing Standard",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.2",
|
|
5
5
|
"author": "Domenic Denicola <d@domenic.me> (https://domenic.me/)",
|
|
6
6
|
"maintainers": [
|
|
7
7
|
{
|
|
@@ -35,24 +35,22 @@
|
|
|
35
35
|
"http",
|
|
36
36
|
"whatwg"
|
|
37
37
|
],
|
|
38
|
-
"packageManager": "pnpm@8.10.2+sha256.487609e857f1c11780cc98dd0bfe4c8a8b11c7f23bc3a4493ac7d263d6fb6c8c",
|
|
39
38
|
"engines": {
|
|
40
39
|
"node": ">=18"
|
|
41
40
|
},
|
|
42
41
|
"devDependencies": {
|
|
43
|
-
"esbuild": "^0.
|
|
44
|
-
"esbuild-library": "^1.0.
|
|
45
|
-
"eslint": "^8.
|
|
42
|
+
"esbuild": "^0.20.1",
|
|
43
|
+
"esbuild-library": "^1.0.7",
|
|
44
|
+
"eslint": "^8.57.0",
|
|
46
45
|
"eslint-plugin-compat": "^4.2.0",
|
|
47
|
-
"eslint-plugin-jsdoc": "^
|
|
46
|
+
"eslint-plugin-jsdoc": "^48.2.0",
|
|
48
47
|
"jest": "^29.7.0",
|
|
49
48
|
"printable-string": "^0.3.0",
|
|
50
|
-
"whatwg-encoding": "^3.
|
|
49
|
+
"whatwg-encoding": "^3.1.1"
|
|
51
50
|
},
|
|
52
51
|
"browserslist": [
|
|
53
|
-
"defaults",
|
|
54
|
-
"
|
|
55
|
-
"not op_mini all"
|
|
52
|
+
"defaults and fully supports es6-module",
|
|
53
|
+
"maintained node versions"
|
|
56
54
|
],
|
|
57
55
|
"jest": {
|
|
58
56
|
"collectCoverage": true,
|
|
@@ -68,7 +66,7 @@
|
|
|
68
66
|
]
|
|
69
67
|
},
|
|
70
68
|
"dependencies": {
|
|
71
|
-
"@d1g1tal/chrysalis": "^2.
|
|
69
|
+
"@d1g1tal/chrysalis": "^2.4.0"
|
|
72
70
|
},
|
|
73
71
|
"scripts": {
|
|
74
72
|
"build": "node ./esbuild.js",
|
package/src/media-type.js
CHANGED
|
@@ -74,11 +74,11 @@ export default class MediaType {
|
|
|
74
74
|
* Checks if the media type matches the specified type.
|
|
75
75
|
*
|
|
76
76
|
* @todo Fix string handling to parse the type and subtype from the string.
|
|
77
|
-
* @param {MediaType|string}
|
|
77
|
+
* @param {MediaType|string} mediaType The media type to check.
|
|
78
78
|
* @returns {boolean} true if the media type matches the specified type, false otherwise.
|
|
79
79
|
*/
|
|
80
|
-
matches(
|
|
81
|
-
return (this.#type
|
|
80
|
+
matches(mediaType) {
|
|
81
|
+
return (this.#type === mediaType?.type && this.#subtype === mediaType?.subtype) || this.essence.includes(mediaType);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
/**
|