@xylabs/axios 6.0.6 → 6.0.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAOrE,iHAAiH;AACjH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,MAAM,CAAC,EAAE,yBAAyB;IAM9C,MAAM,CAAC,WAAW,CAAC,MAAM,GAAE,yBAA8B,GAAG,yBAAyB;IAIrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yBAAyB;CAGjD"}
1
+ {"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AASrE,iHAAiH;AACjH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,MAAM,CAAC,EAAE,yBAAyB;IAM9C,MAAM,CAAC,WAAW,CAAC,MAAM,GAAE,yBAA8B,GAAG,yBAAyB;IAIrF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,yBAAyB;CAGjD"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts", "../../src/axiosJsonConfig.ts", "../../src/AxiosJson.ts"],
4
- "sourcesContent": ["import { Axios } from 'axios'\n\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nexport * from './AxiosJson.ts'\nexport { gzip } from 'pako'\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` (or singleton `fetchJsonClient`) from `@xylabs/fetch` instead. */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const axiosJson = new Axios(axiosJsonConfig())\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `fetchJsonClient` from `@xylabs/fetch` instead. */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const axios = axiosJson\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport { axiosJsonConfig } from './axiosJsonConfig.ts'\n", "/* eslint-disable @typescript-eslint/no-deprecated */\nimport type { AxiosHeaderValue, RawAxiosRequestConfig } from 'axios'\nimport { AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n/**\n * Axios request config extended with an optional gzip compression threshold.\n * @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead.\n */\nexport type RawAxiosJsonRequestConfig<D = unknown> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nfunction isAxiosHeaderValue(value: unknown): value is AxiosHeaderValue {\n return value === null\n || value instanceof AxiosHeaders\n || typeof value === 'string'\n || typeof value === 'number'\n || typeof value === 'boolean'\n || (Array.isArray(value) && value.every(item => typeof item === 'string'))\n}\n\nfunction buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers as Record<string, unknown> | undefined ?? {})) {\n if (isAxiosHeaderValue(value)) axiosHeaders.set(key, value)\n }\n return axiosHeaders\n}\n\n/**\n * Creates an Axios config preconfigured for JSON requests with optional gzip compression.\n * Request bodies exceeding `compressLength` (default 1024 bytes) are automatically gzip-compressed.\n * @param config - Base Axios config, optionally including a `compressLength` threshold\n * @returns A fully configured Axios request config with JSON transforms\n * @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead, which provides the same JSON+gzip-on-POST behavior over native fetch.\n */\nexport function axiosJsonConfig({\n compressLength, headers, ...config\n}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: buildHeaders(headers),\n transformRequest: (data, headers) => {\n const json = JSON.stringify(data)\n if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {\n headers.set('Content-Encoding', 'gzip')\n return gzip(json).buffer\n }\n return json\n },\n transformResponse: (data) => {\n try {\n if (typeof data !== 'string') return data as unknown\n const parsed: unknown = JSON.parse(data)\n return parsed\n } catch {\n return null\n }\n },\n ...config,\n }\n}\n", "/* eslint-disable @typescript-eslint/no-deprecated */\nimport type { Logger } from '@xylabs/logger'\nimport { Axios } from 'axios'\n\nimport type { RawAxiosJsonRequestConfig } from './axiosJsonConfig.ts'\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nfunction deprecated(from: string, to: string, logger: Logger = console) {\n logger.warn(`${from} is deprecated. Please use ${to} instead.`)\n}\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead. */\nexport class AxiosJson extends Axios {\n constructor(config?: RawAxiosJsonRequestConfig) {\n deprecated('AxiosJson', 'axiosJsonConfig')\n\n super(AxiosJson.axiosConfig(config))\n }\n\n static axiosConfig(config: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return axiosJsonConfig(config)\n }\n\n static create(config?: RawAxiosJsonRequestConfig) {\n return new Axios(this.axiosConfig(config))\n }\n}\n"],
5
- "mappings": ";AAAA,SAAS,SAAAA,cAAa;;;ACEtB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAQrB,SAAS,mBAAmB,OAA2C;AACrE,SAAO,UAAU,QACZ,iBAAiB,gBACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,aAChB,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,UAAQ,OAAO,SAAS,QAAQ;AAC5E;AAEA,SAAS,aAAa,SAA+C;AACnE,QAAM,eAAe,IAAI,aAAa;AACtC,eAAa,IAAI,UAAU,mCAAmC;AAC9D,eAAa,IAAI,gBAAgB,kBAAkB;AACnD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkD,CAAC,CAAC,GAAG;AAC/F,QAAI,mBAAmB,KAAK,EAAG,cAAa,IAAI,KAAK,KAAK;AAAA,EAC5D;AACA,SAAO;AACT;AASO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EAAgB;AAAA,EAAS,GAAG;AAC9B,IAA+B,CAAC,GAA8B;AAC5D,SAAO;AAAA,IACL,SAAS,aAAa,OAAO;AAAA,IAC7B,kBAAkB,CAAC,MAAMC,aAAY;AACnC,YAAM,OAAO,KAAK,UAAU,IAAI;AAChC,UAAIA,aAAY,UAAa,QAAQ,KAAK,UAAU,kBAAkB,OAAO;AAC3E,QAAAA,SAAQ,IAAI,oBAAoB,MAAM;AACtC,eAAO,KAAK,IAAI,EAAE;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AAAA,IACA,mBAAmB,CAAC,SAAS;AAC3B,UAAI;AACF,YAAI,OAAO,SAAS,SAAU,QAAO;AACrC,cAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,eAAO;AAAA,MACT,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AC3DA,SAAS,aAAa;AAKtB,SAAS,WAAW,MAAc,IAAY,SAAiB,SAAS;AACtE,SAAO,KAAK,GAAG,IAAI,8BAA8B,EAAE,WAAW;AAChE;AAGO,IAAM,YAAN,MAAM,mBAAkB,MAAM;AAAA,EACnC,YAAY,QAAoC;AAC9C,eAAW,aAAa,iBAAiB;AAEzC,UAAM,WAAU,YAAY,MAAM,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,YAAY,SAAoC,CAAC,GAA8B;AACpF,WAAO,gBAAgB,MAAM;AAAA,EAC/B;AAAA,EAEA,OAAO,OAAO,QAAoC;AAChD,WAAO,IAAI,MAAM,KAAK,YAAY,MAAM,CAAC;AAAA,EAC3C;AACF;;;AFrBA,SAAS,QAAAC,aAAY;AAId,IAAM,YAAY,IAAIC,OAAM,gBAAgB,CAAC;AAI7C,IAAM,QAAQ;",
4
+ "sourcesContent": ["import { Axios } from 'axios'\n\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nexport * from './AxiosJson.ts'\nexport { gzip } from 'pako'\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` (or singleton `fetchJsonClient`) from `@xylabs/fetch` instead. */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const axiosJson = new Axios(axiosJsonConfig())\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `fetchJsonClient` from `@xylabs/fetch` instead. */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport const axios = axiosJson\n\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport { axiosJsonConfig } from './axiosJsonConfig.ts'\n", "/* eslint-disable @typescript-eslint/no-deprecated */\nimport type { AxiosHeaderValue, RawAxiosRequestConfig } from 'axios'\nimport { AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n/**\n * Axios request config extended with an optional gzip compression threshold.\n * @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead.\n */\nexport type RawAxiosJsonRequestConfig<D = unknown> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nfunction isAxiosHeaderValue(value: unknown): value is AxiosHeaderValue {\n return value === null\n || value instanceof AxiosHeaders\n || typeof value === 'string'\n || typeof value === 'number'\n || typeof value === 'boolean'\n || (Array.isArray(value) && value.every(item => typeof item === 'string'))\n}\n\nfunction buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers as Record<string, unknown> | undefined ?? {})) {\n if (isAxiosHeaderValue(value)) axiosHeaders.set(key, value)\n }\n return axiosHeaders\n}\n\n/**\n * Creates an Axios config preconfigured for JSON requests with optional gzip compression.\n * Request bodies exceeding `compressLength` (default 1024 bytes) are automatically gzip-compressed.\n * @param config - Base Axios config, optionally including a `compressLength` threshold\n * @returns A fully configured Axios request config with JSON transforms\n * @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead, which provides the same JSON+gzip-on-POST behavior over native fetch.\n */\nexport function axiosJsonConfig({\n compressLength, headers, ...config\n}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: buildHeaders(headers),\n transformRequest: (data, headers) => {\n const json = JSON.stringify(data)\n if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {\n headers.set('Content-Encoding', 'gzip')\n return gzip(json).buffer\n }\n return json\n },\n transformResponse: (data) => {\n try {\n if (typeof data !== 'string') return data as unknown\n const parsed: unknown = JSON.parse(data)\n return parsed\n } catch {\n return null\n }\n },\n ...config,\n }\n}\n", "/* eslint-disable @typescript-eslint/no-deprecated */\nimport type { Logger } from '@xylabs/logger'\nimport { Axios } from 'axios'\n\nimport type { RawAxiosJsonRequestConfig } from './axiosJsonConfig.ts'\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\ndeclare const console: Logger\n\nfunction deprecated(from: string, to: string, logger: Logger = console) {\n logger.warn(`${from} is deprecated. Please use ${to} instead.`)\n}\n\n/** @deprecated The `@xylabs/axios` package is deprecated. Use `FetchJsonClient` from `@xylabs/fetch` instead. */\nexport class AxiosJson extends Axios {\n constructor(config?: RawAxiosJsonRequestConfig) {\n deprecated('AxiosJson', 'axiosJsonConfig')\n\n super(AxiosJson.axiosConfig(config))\n }\n\n static axiosConfig(config: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return axiosJsonConfig(config)\n }\n\n static create(config?: RawAxiosJsonRequestConfig) {\n return new Axios(this.axiosConfig(config))\n }\n}\n"],
5
+ "mappings": ";AAAA,SAAS,SAAAA,cAAa;;;ACEtB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAQrB,SAAS,mBAAmB,OAA2C;AACrE,SAAO,UAAU,QACZ,iBAAiB,gBACjB,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,aAChB,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,UAAQ,OAAO,SAAS,QAAQ;AAC5E;AAEA,SAAS,aAAa,SAA+C;AACnE,QAAM,eAAe,IAAI,aAAa;AACtC,eAAa,IAAI,UAAU,mCAAmC;AAC9D,eAAa,IAAI,gBAAgB,kBAAkB;AACnD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkD,CAAC,CAAC,GAAG;AAC/F,QAAI,mBAAmB,KAAK,EAAG,cAAa,IAAI,KAAK,KAAK;AAAA,EAC5D;AACA,SAAO;AACT;AASO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EAAgB;AAAA,EAAS,GAAG;AAC9B,IAA+B,CAAC,GAA8B;AAC5D,SAAO;AAAA,IACL,SAAS,aAAa,OAAO;AAAA,IAC7B,kBAAkB,CAAC,MAAMC,aAAY;AACnC,YAAM,OAAO,KAAK,UAAU,IAAI;AAChC,UAAIA,aAAY,UAAa,QAAQ,KAAK,UAAU,kBAAkB,OAAO;AAC3E,QAAAA,SAAQ,IAAI,oBAAoB,MAAM;AACtC,eAAO,KAAK,IAAI,EAAE;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AAAA,IACA,mBAAmB,CAAC,SAAS;AAC3B,UAAI;AACF,YAAI,OAAO,SAAS,SAAU,QAAO;AACrC,cAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,eAAO;AAAA,MACT,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;AC3DA,SAAS,aAAa;AAOtB,SAAS,WAAW,MAAc,IAAY,SAAiB,SAAS;AACtE,SAAO,KAAK,GAAG,IAAI,8BAA8B,EAAE,WAAW;AAChE;AAGO,IAAM,YAAN,MAAM,mBAAkB,MAAM;AAAA,EACnC,YAAY,QAAoC;AAC9C,eAAW,aAAa,iBAAiB;AAEzC,UAAM,WAAU,YAAY,MAAM,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,YAAY,SAAoC,CAAC,GAA8B;AACpF,WAAO,gBAAgB,MAAM;AAAA,EAC/B;AAAA,EAEA,OAAO,OAAO,QAAoC;AAChD,WAAO,IAAI,MAAM,KAAK,YAAY,MAAM,CAAC;AAAA,EAC3C;AACF;;;AFvBA,SAAS,QAAAC,aAAY;AAId,IAAM,YAAY,IAAIC,OAAM,gBAAgB,CAAC;AAI7C,IAAM,QAAQ;",
6
6
  "names": ["Axios", "headers", "gzip", "Axios"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/axios",
3
- "version": "6.0.6",
3
+ "version": "6.0.7",
4
4
  "description": "DEPRECATED: Axios JSON helpers with optional gzip compression. Use @xylabs/fetch (FetchJsonClient) instead.",
5
5
  "keywords": [
6
6
  "axios",
@@ -45,17 +45,16 @@
45
45
  "README.md"
46
46
  ],
47
47
  "devDependencies": {
48
- "@types/node": "^25.9.1",
49
48
  "@types/pako": "^2.0.4",
50
- "@xylabs/toolchain": "^8.1.8",
51
- "@xylabs/tsconfig": "^8.1.8",
49
+ "@xylabs/toolchain": "^8.1.11",
50
+ "@xylabs/tsconfig": "^8.1.11",
52
51
  "axios": "^1.16.1",
53
52
  "eslint": "^10.4.1",
54
53
  "pako": "^2.1.0",
55
54
  "typescript": "^6.0.3",
56
55
  "vite": "^8.0.16",
57
56
  "vitest": "^4.1.8",
58
- "@xylabs/logger": "~6.0.6"
57
+ "@xylabs/logger": "~6.0.7"
59
58
  },
60
59
  "peerDependencies": {
61
60
  "axios": "^1.16",