@arcjet/headers
Advanced tools
| //#region src/index.d.ts | ||
| type HeadersInit = Headers | Array<[string, string]> | Record<string, Array<string> | string | undefined>; | ||
| /** | ||
| * Arcjet headers. | ||
| * | ||
| * This exists to prevent the `cookie` header from being set | ||
| * and non-string values from being set. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers). | ||
| */ | ||
| declare class ArcjetHeaders extends Headers { | ||
| constructor(init?: HeadersInit | undefined); | ||
| /** | ||
| * Append a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) | ||
| * | ||
| * @param key | ||
| * Header name. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| append: (key: string, value: string) => void; | ||
| /** | ||
| * Set a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) | ||
| * | ||
| * @param key | ||
| * Header key. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| set: (key: string, value: string) => void; | ||
| } | ||
| //#endregion | ||
| export { ArcjetHeaders, ArcjetHeaders as default }; |
| //#region src/index.ts | ||
| function isIterable(val) { | ||
| return typeof val?.[Symbol.iterator] === "function"; | ||
| } | ||
| /** | ||
| * Arcjet headers. | ||
| * | ||
| * This exists to prevent the `cookie` header from being set | ||
| * and non-string values from being set. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers). | ||
| */ | ||
| var ArcjetHeaders = class extends Headers { | ||
| constructor(init) { | ||
| super(); | ||
| if (typeof init !== "undefined" && typeof init !== "string" && init !== null) if (isIterable(init)) for (const [key, value] of init) this.append(key, value); | ||
| else for (const [key, value] of Object.entries(init)) { | ||
| if (typeof value === "undefined") continue; | ||
| if (Array.isArray(value)) for (const singleValue of value) this.append(key, singleValue); | ||
| else this.append(key, value); | ||
| } | ||
| } | ||
| /** | ||
| * Append a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) | ||
| * | ||
| * @param key | ||
| * Header name. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| append = (key, value) => { | ||
| if (typeof key !== "string" || typeof value !== "string") return; | ||
| if (key.toLowerCase() !== "cookie") Headers.prototype.append.call(this, key, value); | ||
| }; | ||
| /** | ||
| * Set a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) | ||
| * | ||
| * @param key | ||
| * Header key. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| set = (key, value) => { | ||
| if (typeof key !== "string" || typeof value !== "string") return; | ||
| if (key.toLowerCase() !== "cookie") Headers.prototype.set.call(this, key, value); | ||
| }; | ||
| }; | ||
| //#endregion | ||
| export { ArcjetHeaders, ArcjetHeaders as default }; |
+32
-29
| { | ||
| "name": "@arcjet/headers", | ||
| "version": "1.6.1", | ||
| "version": "1.7.0-rc.0", | ||
| "description": "Arcjet extension of the Headers class", | ||
@@ -8,12 +8,6 @@ "keywords": [ | ||
| "headers", | ||
| "utility", | ||
| "util" | ||
| "util", | ||
| "utility" | ||
| ], | ||
| "license": "Apache-2.0", | ||
| "homepage": "https://arcjet.com", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/arcjet/arcjet-js.git", | ||
| "directory": "headers" | ||
| }, | ||
| "bugs": { | ||
@@ -23,2 +17,3 @@ "url": "https://github.com/arcjet/arcjet-js/issues", | ||
| }, | ||
| "license": "Apache-2.0", | ||
| "author": { | ||
@@ -29,32 +24,40 @@ "name": "Arcjet", | ||
| }, | ||
| "engines": { | ||
| "node": ">=22.21.0 <23 || >=24.5.0" | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/arcjet/arcjet-js.git", | ||
| "directory": "headers" | ||
| }, | ||
| "type": "module", | ||
| "main": "./index.js", | ||
| "types": "./index.d.ts", | ||
| "files": [ | ||
| "index.d.ts", | ||
| "index.js" | ||
| "dist" | ||
| ], | ||
| "type": "module", | ||
| "main": "./dist/index.js", | ||
| "types": "./dist/index.d.ts", | ||
| "exports": { | ||
| ".": { | ||
| "types": "./dist/index.d.ts", | ||
| "default": "./dist/index.js" | ||
| }, | ||
| "./package.json": "./package.json" | ||
| }, | ||
| "publishConfig": { | ||
| "access": "public", | ||
| "tag": "latest" | ||
| }, | ||
| "scripts": { | ||
| "build": "rollup --config rollup.config.js", | ||
| "lint": "eslint .", | ||
| "test-api": "node --test -- test/*.test.js", | ||
| "test-coverage": "node --experimental-test-coverage --test -- test/*.test.js", | ||
| "test": "npm run build && npm run lint && npm run test-coverage" | ||
| "build": "tsdown", | ||
| "typecheck": "tsgo --noEmit", | ||
| "test-api": "node --test -- test/*.test.ts", | ||
| "test-coverage": "node --experimental-test-coverage --test -- test/*.test.ts", | ||
| "test": "npm run build && npm run test-coverage" | ||
| }, | ||
| "dependencies": {}, | ||
| "devDependencies": { | ||
| "@arcjet/eslint-config": "1.6.1", | ||
| "@arcjet/rollup-config": "1.6.1", | ||
| "@rollup/wasm-node": "4.62.2", | ||
| "@types/node": "22.19.21", | ||
| "eslint": "9.39.4", | ||
| "typescript": "5.9.3" | ||
| "tsdown": "0.22.3", | ||
| "typescript": "6.0.3" | ||
| }, | ||
| "publishConfig": { | ||
| "access": "public", | ||
| "tag": "latest" | ||
| "engines": { | ||
| "node": ">=22.21.0 <23 || >=24.5.0" | ||
| } | ||
| } |
-46
| type HeadersInit = Headers | Array<[string, string]> | Record<string, Array<string> | string | undefined>; | ||
| /** | ||
| * Arcjet headers. | ||
| * | ||
| * This exists to prevent the `cookie` header from being set | ||
| * and non-string values from being set. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers). | ||
| */ | ||
| export declare class ArcjetHeaders extends Headers { | ||
| constructor(init?: HeadersInit | undefined); | ||
| /** | ||
| * Append a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) | ||
| * | ||
| * @param key | ||
| * Header name. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| append: (key: string, value: string) => void; | ||
| /** | ||
| * Set a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) | ||
| * | ||
| * @param key | ||
| * Header key. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| set: (key: string, value: string) => void; | ||
| } | ||
| /** | ||
| * @deprecated | ||
| * Use the named export `ArcjetHeaders` instead. | ||
| */ | ||
| export default ArcjetHeaders; |
-85
| function isIterable(val) { | ||
| return typeof val?.[Symbol.iterator] === "function"; | ||
| } | ||
| /** | ||
| * Arcjet headers. | ||
| * | ||
| * This exists to prevent the `cookie` header from being set | ||
| * and non-string values from being set. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers). | ||
| */ | ||
| class ArcjetHeaders extends Headers { | ||
| constructor(init) { | ||
| super(); | ||
| if (typeof init !== "undefined" && | ||
| typeof init !== "string" && | ||
| init !== null) { | ||
| if (isIterable(init)) { | ||
| for (const [key, value] of init) { | ||
| this.append(key, value); | ||
| } | ||
| } | ||
| else { | ||
| for (const [key, value] of Object.entries(init)) { | ||
| if (typeof value === "undefined") { | ||
| continue; | ||
| } | ||
| if (Array.isArray(value)) { | ||
| for (const singleValue of value) { | ||
| this.append(key, singleValue); | ||
| } | ||
| } | ||
| else { | ||
| this.append(key, value); | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| /** | ||
| * Append a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/append) | ||
| * | ||
| * @param key | ||
| * Header name. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| append = (key, value) => { | ||
| if (typeof key !== "string" || typeof value !== "string") { | ||
| return; | ||
| } | ||
| if (key.toLowerCase() !== "cookie") { | ||
| Headers.prototype.append.call(this, key, value); | ||
| } | ||
| }; | ||
| /** | ||
| * Set a header while ignoring `cookie`. | ||
| * | ||
| * @see | ||
| * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Headers/set) | ||
| * | ||
| * @param key | ||
| * Header key. | ||
| * @param value | ||
| * Header value. | ||
| * @returns | ||
| * Nothing. | ||
| */ | ||
| set = (key, value) => { | ||
| if (typeof key !== "string" || typeof value !== "string") { | ||
| return; | ||
| } | ||
| if (key.toLowerCase() !== "cookie") { | ||
| Headers.prototype.set.call(this, key, value); | ||
| } | ||
| }; | ||
| } | ||
| export { ArcjetHeaders, ArcjetHeaders as default }; |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
3
-50%18213
-4.02%103
-20.77%1
Infinity%1
Infinity%