foxts 3.5.0 → 3.7.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.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * If you know the input is probably an IP, you can use this function to quickly determine the version of the IP
3
+ */
4
+ declare function fastIpVersion(probablyIp: string): 4 | 6 | 0;
5
+
6
+ export { fastIpVersion };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.fastIpVersion=function(e){return e.includes(":")?6:4*!!e.includes(".")};
@@ -1,7 +1,13 @@
1
1
  type HeadersInitLike = string[][] | Record<string, string | readonly string[]> | Headers | null | undefined;
2
2
  type IncomingHttpHeadersLike = Record<string, string | string[] | undefined> | undefined | null;
3
3
  type OutgoingHttpHeadersLike = Record<string, number | string | string[] | undefined> | undefined | null;
4
- declare function mergeHeaders(dest: HeadersInitLike, source: HeadersInitLike): Headers;
4
+ declare function mergeHeaders(dest: HeadersInitLike, source: HeadersInitLike,
5
+ /**
6
+ * Filter function to determine which headers from source to merge.
7
+ *
8
+ * Can be an array/iterable of header names to include, or a filter callback that takes a header name.
9
+ */
10
+ sourceFilter?: Iterable<string> | null | undefined | ((headerName: string) => boolean)): Headers;
5
11
  declare function mergeNodeHttpHeaders(dest: IncomingHttpHeadersLike, source: IncomingHttpHeadersLike): IncomingHttpHeadersLike;
6
12
  declare function mergeNodeHttpHeaders(dest: OutgoingHttpHeadersLike, source: IncomingHttpHeadersLike | OutgoingHttpHeadersLike): OutgoingHttpHeadersLike;
7
13
 
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeHeaders=function(e,r){if(null==e)return null==r?new Headers:new Headers(r);if(null==r)return new Headers(e);let n=new Headers(e);return new Headers(r).forEach((e,r)=>{n.set(r,e)}),n},exports.mergeNodeHttpHeaders=function(e,r){return null==e?null==r?{}:r:null==r?e:Object.assign({},e,r)};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeHeaders=function(e,n,r=null){if(null==e)return null==n?new Headers:new Headers(n);if(null==n)return new Headers(e);let t=new Headers(e),l=new Headers(n);if(null==r)return l.forEach((e,n)=>{t.set(n,e)}),t;if("function"!=typeof r){let e=new Set(r);r=n=>e.has(n)}return l.forEach((e,n)=>{r(n)&&t.set(n,e)}),t},exports.mergeNodeHttpHeaders=function(e,n){return null==e?null==n?{}:n:null==n?e:Object.assign({},e,n)};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * If you know the input is probably an IP, you can use this function to quickly determine the version of the IP
3
+ */
4
+ declare function fastIpVersion(probablyIp: string): 4 | 6 | 0;
5
+
6
+ export { fastIpVersion };
@@ -0,0 +1 @@
1
+ function n(n){return n.includes(":")?6:4*!!n.includes(".")}export{n as fastIpVersion};
@@ -1,7 +1,13 @@
1
1
  type HeadersInitLike = string[][] | Record<string, string | readonly string[]> | Headers | null | undefined;
2
2
  type IncomingHttpHeadersLike = Record<string, string | string[] | undefined> | undefined | null;
3
3
  type OutgoingHttpHeadersLike = Record<string, number | string | string[] | undefined> | undefined | null;
4
- declare function mergeHeaders(dest: HeadersInitLike, source: HeadersInitLike): Headers;
4
+ declare function mergeHeaders(dest: HeadersInitLike, source: HeadersInitLike,
5
+ /**
6
+ * Filter function to determine which headers from source to merge.
7
+ *
8
+ * Can be an array/iterable of header names to include, or a filter callback that takes a header name.
9
+ */
10
+ sourceFilter?: Iterable<string> | null | undefined | ((headerName: string) => boolean)): Headers;
5
11
  declare function mergeNodeHttpHeaders(dest: IncomingHttpHeadersLike, source: IncomingHttpHeadersLike): IncomingHttpHeadersLike;
6
12
  declare function mergeNodeHttpHeaders(dest: OutgoingHttpHeadersLike, source: IncomingHttpHeadersLike | OutgoingHttpHeadersLike): OutgoingHttpHeadersLike;
7
13
 
@@ -1 +1 @@
1
- function e(e,n){if(null==e)return null==n?new Headers:new Headers(n);if(null==n)return new Headers(e);let r=new Headers(e);return new Headers(n).forEach((e,n)=>{r.set(n,e)}),r}function n(e,n){return null==e?null==n?{}:n:null==n?e:Object.assign({},e,n)}export{e as mergeHeaders,n as mergeNodeHttpHeaders};
1
+ function e(n,r,l=null){if(null==n)return null==r?new Headers:new Headers(r);if(null==r)return new Headers(n);let t=new Headers(n),u=new Headers(r);if(null==l)return u.forEach((e,n)=>{t.set(n,e)}),t;if("function"!=typeof l){let e=new Set(l);l=n=>e.has(n)}return u.forEach((e,n)=>{l(n)&&t.set(n,e)}),t}function n(e,n){return null==e?null==n?{}:n:null==n?e:Object.assign({},e,n)}export{e as mergeHeaders,n as mergeNodeHttpHeaders};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxts",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "description": "Opinionated collection of common TypeScript utils by @SukkaW",
5
5
  "repository": {
6
6
  "url": "https://github.com/SukkaW/foxts"
@@ -328,6 +328,16 @@
328
328
  "types": "./dist/cjs/string-join.d.ts",
329
329
  "default": "./dist/cjs/string-join.js"
330
330
  }
331
+ },
332
+ "./fast-ip-version": {
333
+ "import": {
334
+ "types": "./dist/es/fast-ip-version.d.mts",
335
+ "default": "./dist/es/fast-ip-version.mjs"
336
+ },
337
+ "require": {
338
+ "types": "./dist/cjs/fast-ip-version.d.ts",
339
+ "default": "./dist/cjs/fast-ip-version.js"
340
+ }
331
341
  }
332
342
  },
333
343
  "sideEffects": false,