@epcc-sdk/sdks-shopper 0.2.0 → 0.2.1
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/auth/access-token.cjs +17 -0
- package/dist/auth/access-token.cjs.map +1 -0
- package/dist/auth/access-token.d.cts +7 -0
- package/dist/auth/access-token.d.ts +7 -0
- package/dist/auth/access-token.mjs +1 -0
- package/dist/auth/access-token.mjs.map +1 -0
- package/dist/auth/configure-client.d.cts +1 -0
- package/dist/auth/configure-client.d.ts +1 -0
- package/dist/auth/kit.cjs.map +1 -1
- package/dist/auth/kit.d.cts +2 -1
- package/dist/auth/kit.d.ts +2 -1
- package/dist/auth/kit.mjs.map +1 -1
- package/dist/auth/make-auth-fetch.d.cts +1 -0
- package/dist/auth/make-auth-fetch.d.ts +1 -0
- package/dist/auth/token-providers.d.cts +1 -0
- package/dist/auth/token-providers.d.ts +1 -0
- package/dist/client/sdk.gen.cjs.map +1 -1
- package/dist/client/sdk.gen.d.cts +2 -2
- package/dist/client/sdk.gen.d.ts +2 -2
- package/dist/client/sdk.gen.mjs.map +1 -1
- package/dist/client/transformers.gen.cjs +3 -0
- package/dist/client/transformers.gen.cjs.map +1 -1
- package/dist/client/transformers.gen.mjs +3 -0
- package/dist/client/transformers.gen.mjs.map +1 -1
- package/dist/client/types.gen.cjs.map +1 -1
- package/dist/client/types.gen.d.cts +51 -0
- package/dist/client/types.gen.d.ts +51 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interceptors/auth-local-storage-interceptor.cjs.map +1 -1
- package/dist/interceptors/auth-local-storage-interceptor.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var access_token_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(access_token_exports);
|
|
17
|
+
//# sourceMappingURL=access-token.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/auth/access-token.ts"],"sourcesContent":["import type { CreateAnAccessTokenResponses } from \"../client\"\n\n/** The 200 body of `POST /oauth/access_token`. Canonical declares it inline, so the\n * generated client carries no schema of this name. Derived, not hand-written. */\nexport type AccessTokenResponse = CreateAnAccessTokenResponses[200]\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CreateAnAccessTokenResponses } from '../client/types.gen.cjs';
|
|
2
|
+
|
|
3
|
+
/** The 200 body of `POST /oauth/access_token`. Canonical declares it inline, so the
|
|
4
|
+
* generated client carries no schema of this name. Derived, not hand-written. */
|
|
5
|
+
type AccessTokenResponse = CreateAnAccessTokenResponses[200];
|
|
6
|
+
|
|
7
|
+
export type { AccessTokenResponse };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CreateAnAccessTokenResponses } from '../client/types.gen.js';
|
|
2
|
+
|
|
3
|
+
/** The 200 body of `POST /oauth/access_token`. Canonical declares it inline, so the
|
|
4
|
+
* generated client carries no schema of this name. Derived, not hand-written. */
|
|
5
|
+
type AccessTokenResponse = CreateAnAccessTokenResponses[200];
|
|
6
|
+
|
|
7
|
+
export type { AccessTokenResponse };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=access-token.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -4,6 +4,7 @@ import { client } from '../client/sdk.gen.cjs';
|
|
|
4
4
|
import { TokenProvider } from './kit.cjs';
|
|
5
5
|
import { StorageAdapter, cookieAdapter } from './storage.cjs';
|
|
6
6
|
import '../client/types.gen.cjs';
|
|
7
|
+
import './access-token.cjs';
|
|
7
8
|
|
|
8
9
|
type HeyApiConfig = Parameters<typeof client.setConfig>[0];
|
|
9
10
|
type HeyApiCreateConfig = Parameters<typeof createClient>[0];
|
|
@@ -4,6 +4,7 @@ import { client } from '../client/sdk.gen.js';
|
|
|
4
4
|
import { TokenProvider } from './kit.js';
|
|
5
5
|
import { StorageAdapter, cookieAdapter } from './storage.js';
|
|
6
6
|
import '../client/types.gen.js';
|
|
7
|
+
import './access-token.js';
|
|
7
8
|
|
|
8
9
|
type HeyApiConfig = Parameters<typeof client.setConfig>[0];
|
|
9
10
|
type HeyApiCreateConfig = Parameters<typeof createClient>[0];
|
package/dist/auth/kit.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/kit.ts"],"sourcesContent":["import { AccessTokenResponse } from \"
|
|
1
|
+
{"version":3,"sources":["../../src/auth/kit.ts"],"sourcesContent":["import type { AccessTokenResponse } from \"./access-token\"\n\nexport type TokenProvider = (opts: {\n current?: string\n}) => Promise<AccessTokenResponse>\n\nexport function createAuth(\n storage: import(\"./storage\").StorageAdapter,\n tokenProvider: TokenProvider,\n leewaySec = 60,\n) {\n let credentials: AccessTokenResponse | undefined\n let refreshing: Promise<string> | undefined\n\n // Load stored credentials on initialization\n function loadStoredCredentials() {\n const storedData = storage.get()\n if (storedData) {\n try {\n const parsed = JSON.parse(storedData)\n if (parsed.access_token) {\n credentials = parsed\n }\n } catch {\n // Not JSON, assume it's a legacy plain token\n credentials = { access_token: storedData } as AccessTokenResponse\n }\n }\n }\n\n loadStoredCredentials()\n\n // Optional cross-tab sync (localStorage adapter implements subscribe)\n storage.subscribe?.(() => {\n loadStoredCredentials()\n })\n\n function decodeExp(jwt?: string): number | undefined {\n if (!jwt) return undefined\n try {\n const payload = JSON.parse(atob(jwt.split(\".\")[1]))\n return typeof payload?.exp === \"number\" ? payload.exp : undefined\n } catch {\n return undefined\n }\n }\n\n function isExpired(): boolean {\n if (!credentials?.access_token) return true\n \n // Try to decode exp from JWT\n const jwtExp = decodeExp(credentials.access_token)\n if (jwtExp) {\n const now = Math.floor(Date.now() / 1000)\n return now >= jwtExp - leewaySec\n }\n \n // Use the expires field if available (absolute timestamp)\n if (credentials.expires) {\n const now = Math.floor(Date.now() / 1000)\n return now >= credentials.expires - leewaySec\n }\n \n // If we can't determine expiration, consider it expired\n return true\n }\n\n async function refresh(): Promise<string> {\n if (refreshing) return refreshing\n refreshing = (async () => {\n const res = await tokenProvider({ current: credentials?.access_token })\n credentials = res\n \n // Store the credentials object directly\n storage.set(JSON.stringify(res))\n \n return credentials.access_token!\n })()\n try {\n return await refreshing\n } finally {\n refreshing = undefined\n }\n }\n\n async function getValidAccessToken(): Promise<string> {\n if (credentials?.access_token && !isExpired()) return credentials.access_token\n return refresh()\n }\n\n function clear() {\n credentials = undefined\n storage.set(undefined)\n }\n\n function getSnapshot() {\n return credentials?.access_token\n }\n\n return { getValidAccessToken, refresh, clear, getSnapshot }\n}\n\nexport type Auth = ReturnType<typeof createAuth>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,WACd,SACA,eACA,YAAY,IACZ;AACA,MAAI;AACJ,MAAI;AAGJ,WAAS,wBAAwB;AAC/B,UAAM,aAAa,QAAQ,IAAI;AAC/B,QAAI,YAAY;AACd,UAAI;AACF,cAAM,SAAS,KAAK,MAAM,UAAU;AACpC,YAAI,OAAO,cAAc;AACvB,wBAAc;AAAA,QAChB;AAAA,MACF,QAAQ;AAEN,sBAAc,EAAE,cAAc,WAAW;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAEA,wBAAsB;AAGtB,UAAQ,YAAY,MAAM;AACxB,0BAAsB;AAAA,EACxB,CAAC;AAED,WAAS,UAAU,KAAkC;AACnD,QAAI,CAAC,IAAK,QAAO;AACjB,QAAI;AACF,YAAM,UAAU,KAAK,MAAM,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAClD,aAAO,OAAO,SAAS,QAAQ,WAAW,QAAQ,MAAM;AAAA,IAC1D,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAEA,WAAS,YAAqB;AAC5B,QAAI,CAAC,aAAa,aAAc,QAAO;AAGvC,UAAM,SAAS,UAAU,YAAY,YAAY;AACjD,QAAI,QAAQ;AACV,YAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACxC,aAAO,OAAO,SAAS;AAAA,IACzB;AAGA,QAAI,YAAY,SAAS;AACvB,YAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACxC,aAAO,OAAO,YAAY,UAAU;AAAA,IACtC;AAGA,WAAO;AAAA,EACT;AAEA,iBAAe,UAA2B;AACxC,QAAI,WAAY,QAAO;AACvB,kBAAc,YAAY;AACxB,YAAM,MAAM,MAAM,cAAc,EAAE,SAAS,aAAa,aAAa,CAAC;AACtE,oBAAc;AAGd,cAAQ,IAAI,KAAK,UAAU,GAAG,CAAC;AAE/B,aAAO,YAAY;AAAA,IACrB,GAAG;AACH,QAAI;AACF,aAAO,MAAM;AAAA,IACf,UAAE;AACA,mBAAa;AAAA,IACf;AAAA,EACF;AAEA,iBAAe,sBAAuC;AACpD,QAAI,aAAa,gBAAgB,CAAC,UAAU,EAAG,QAAO,YAAY;AAClE,WAAO,QAAQ;AAAA,EACjB;AAEA,WAAS,QAAQ;AACf,kBAAc;AACd,YAAQ,IAAI,MAAS;AAAA,EACvB;AAEA,WAAS,cAAc;AACrB,WAAO,aAAa;AAAA,EACtB;AAEA,SAAO,EAAE,qBAAqB,SAAS,OAAO,YAAY;AAC5D;","names":[]}
|
package/dist/auth/kit.d.cts
CHANGED
package/dist/auth/kit.d.ts
CHANGED
package/dist/auth/kit.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/kit.ts"],"sourcesContent":["import { AccessTokenResponse } from \"
|
|
1
|
+
{"version":3,"sources":["../../src/auth/kit.ts"],"sourcesContent":["import type { AccessTokenResponse } from \"./access-token\"\n\nexport type TokenProvider = (opts: {\n current?: string\n}) => Promise<AccessTokenResponse>\n\nexport function createAuth(\n storage: import(\"./storage\").StorageAdapter,\n tokenProvider: TokenProvider,\n leewaySec = 60,\n) {\n let credentials: AccessTokenResponse | undefined\n let refreshing: Promise<string> | undefined\n\n // Load stored credentials on initialization\n function loadStoredCredentials() {\n const storedData = storage.get()\n if (storedData) {\n try {\n const parsed = JSON.parse(storedData)\n if (parsed.access_token) {\n credentials = parsed\n }\n } catch {\n // Not JSON, assume it's a legacy plain token\n credentials = { access_token: storedData } as AccessTokenResponse\n }\n }\n }\n\n loadStoredCredentials()\n\n // Optional cross-tab sync (localStorage adapter implements subscribe)\n storage.subscribe?.(() => {\n loadStoredCredentials()\n })\n\n function decodeExp(jwt?: string): number | undefined {\n if (!jwt) return undefined\n try {\n const payload = JSON.parse(atob(jwt.split(\".\")[1]))\n return typeof payload?.exp === \"number\" ? payload.exp : undefined\n } catch {\n return undefined\n }\n }\n\n function isExpired(): boolean {\n if (!credentials?.access_token) return true\n \n // Try to decode exp from JWT\n const jwtExp = decodeExp(credentials.access_token)\n if (jwtExp) {\n const now = Math.floor(Date.now() / 1000)\n return now >= jwtExp - leewaySec\n }\n \n // Use the expires field if available (absolute timestamp)\n if (credentials.expires) {\n const now = Math.floor(Date.now() / 1000)\n return now >= credentials.expires - leewaySec\n }\n \n // If we can't determine expiration, consider it expired\n return true\n }\n\n async function refresh(): Promise<string> {\n if (refreshing) return refreshing\n refreshing = (async () => {\n const res = await tokenProvider({ current: credentials?.access_token })\n credentials = res\n \n // Store the credentials object directly\n storage.set(JSON.stringify(res))\n \n return credentials.access_token!\n })()\n try {\n return await refreshing\n } finally {\n refreshing = undefined\n }\n }\n\n async function getValidAccessToken(): Promise<string> {\n if (credentials?.access_token && !isExpired()) return credentials.access_token\n return refresh()\n }\n\n function clear() {\n credentials = undefined\n storage.set(undefined)\n }\n\n function getSnapshot() {\n return credentials?.access_token\n }\n\n return { getValidAccessToken, refresh, clear, getSnapshot }\n}\n\nexport type Auth = ReturnType<typeof createAuth>\n"],"mappings":"AAMO,SAAS,WACd,SACA,eACA,YAAY,IACZ;AACA,MAAI;AACJ,MAAI;AAGJ,WAAS,wBAAwB;AAC/B,UAAM,aAAa,QAAQ,IAAI;AAC/B,QAAI,YAAY;AACd,UAAI;AACF,cAAM,SAAS,KAAK,MAAM,UAAU;AACpC,YAAI,OAAO,cAAc;AACvB,wBAAc;AAAA,QAChB;AAAA,MACF,QAAQ;AAEN,sBAAc,EAAE,cAAc,WAAW;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAEA,wBAAsB;AAGtB,UAAQ,YAAY,MAAM;AACxB,0BAAsB;AAAA,EACxB,CAAC;AAED,WAAS,UAAU,KAAkC;AACnD,QAAI,CAAC,IAAK,QAAO;AACjB,QAAI;AACF,YAAM,UAAU,KAAK,MAAM,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAClD,aAAO,OAAO,SAAS,QAAQ,WAAW,QAAQ,MAAM;AAAA,IAC1D,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAEA,WAAS,YAAqB;AAC5B,QAAI,CAAC,aAAa,aAAc,QAAO;AAGvC,UAAM,SAAS,UAAU,YAAY,YAAY;AACjD,QAAI,QAAQ;AACV,YAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACxC,aAAO,OAAO,SAAS;AAAA,IACzB;AAGA,QAAI,YAAY,SAAS;AACvB,YAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACxC,aAAO,OAAO,YAAY,UAAU;AAAA,IACtC;AAGA,WAAO;AAAA,EACT;AAEA,iBAAe,UAA2B;AACxC,QAAI,WAAY,QAAO;AACvB,kBAAc,YAAY;AACxB,YAAM,MAAM,MAAM,cAAc,EAAE,SAAS,aAAa,aAAa,CAAC;AACtE,oBAAc;AAGd,cAAQ,IAAI,KAAK,UAAU,GAAG,CAAC;AAE/B,aAAO,YAAY;AAAA,IACrB,GAAG;AACH,QAAI;AACF,aAAO,MAAM;AAAA,IACf,UAAE;AACA,mBAAa;AAAA,IACf;AAAA,EACF;AAEA,iBAAe,sBAAuC;AACpD,QAAI,aAAa,gBAAgB,CAAC,UAAU,EAAG,QAAO,YAAY;AAClE,WAAO,QAAQ;AAAA,EACjB;AAEA,WAAS,QAAQ;AACf,kBAAc;AACd,YAAQ,IAAI,MAAS;AAAA,EACvB;AAEA,WAAS,cAAc;AACrB,WAAO,aAAa;AAAA,EACtB;AAEA,SAAO,EAAE,qBAAqB,SAAS,OAAO,YAAY;AAC5D;","names":[]}
|