@shware/http 1.0.2 → 1.0.4

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,63 @@
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/error/index.ts
21
+ var error_exports = {};
22
+ __export(error_exports, {
23
+ CheckoutCreateError: () => CheckoutCreateError,
24
+ LoginCanceledError: () => LoginCanceledError,
25
+ LoginTimeoutError: () => LoginTimeoutError,
26
+ PurchaseError: () => PurchaseError
27
+ });
28
+ module.exports = __toCommonJS(error_exports);
29
+ var LoginTimeoutError = class extends Error {
30
+ constructor(timeout) {
31
+ super(`Login timeout after ${timeout}ms`);
32
+ this.name = "LoginTimeoutError";
33
+ }
34
+ };
35
+ var LoginCanceledError = class extends Error {
36
+ constructor() {
37
+ super("Login canceled by user");
38
+ this.name = "LoginCanceledError";
39
+ }
40
+ };
41
+ var CheckoutCreateError = class extends Error {
42
+ constructor() {
43
+ super("Failed to create checkout session");
44
+ this.name = "SessionCreateError";
45
+ }
46
+ };
47
+ var PurchaseError = /* @__PURE__ */ ((PurchaseError2) => {
48
+ PurchaseError2["LOGIN_TIMEOUT"] = "LOGIN_TIMEOUT";
49
+ PurchaseError2["LOGIN_CANCELED"] = "LOGIN_CANCELED";
50
+ PurchaseError2["CHECKOUT_CANCELED"] = "CHECKOUT_CANCELED";
51
+ PurchaseError2["CHECKOUT_CREATE_FAILED"] = "CHECKOUT_CREATE_FAILED";
52
+ PurchaseError2["CHECKOUT_SESSION_ID_NOT_FOUND"] = "CHECKOUT_SESSION_ID_NOT_FOUND";
53
+ PurchaseError2["UNKNOWN"] = "UNKNOWN";
54
+ return PurchaseError2;
55
+ })(PurchaseError || {});
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ CheckoutCreateError,
59
+ LoginCanceledError,
60
+ LoginTimeoutError,
61
+ PurchaseError
62
+ });
63
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/error/index.ts"],"sourcesContent":["export class LoginTimeoutError extends Error {\n constructor(timeout: number) {\n super(`Login timeout after ${timeout}ms`);\n this.name = 'LoginTimeoutError';\n }\n}\n\nexport class LoginCanceledError extends Error {\n constructor() {\n super('Login canceled by user');\n this.name = 'LoginCanceledError';\n }\n}\n\nexport class CheckoutCreateError extends Error {\n constructor() {\n super('Failed to create checkout session');\n this.name = 'SessionCreateError';\n }\n}\n\nexport enum PurchaseError {\n LOGIN_TIMEOUT = 'LOGIN_TIMEOUT',\n LOGIN_CANCELED = 'LOGIN_CANCELED',\n CHECKOUT_CANCELED = 'CHECKOUT_CANCELED',\n CHECKOUT_CREATE_FAILED = 'CHECKOUT_CREATE_FAILED',\n CHECKOUT_SESSION_ID_NOT_FOUND = 'CHECKOUT_SESSION_ID_NOT_FOUND',\n UNKNOWN = 'UNKNOWN',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAC3C,YAAY,SAAiB;AAC3B,UAAM,uBAAuB,OAAO,IAAI;AACxC,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,cAAc;AACZ,UAAM,wBAAwB;AAC9B,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAC7C,cAAc;AACZ,UAAM,mCAAmC;AACzC,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,oBAAiB;AACjB,EAAAA,eAAA,uBAAoB;AACpB,EAAAA,eAAA,4BAAyB;AACzB,EAAAA,eAAA,mCAAgC;AAChC,EAAAA,eAAA,aAAU;AANA,SAAAA;AAAA,GAAA;","names":["PurchaseError"]}
@@ -0,0 +1,19 @@
1
+ declare class LoginTimeoutError extends Error {
2
+ constructor(timeout: number);
3
+ }
4
+ declare class LoginCanceledError extends Error {
5
+ constructor();
6
+ }
7
+ declare class CheckoutCreateError extends Error {
8
+ constructor();
9
+ }
10
+ declare enum PurchaseError {
11
+ LOGIN_TIMEOUT = "LOGIN_TIMEOUT",
12
+ LOGIN_CANCELED = "LOGIN_CANCELED",
13
+ CHECKOUT_CANCELED = "CHECKOUT_CANCELED",
14
+ CHECKOUT_CREATE_FAILED = "CHECKOUT_CREATE_FAILED",
15
+ CHECKOUT_SESSION_ID_NOT_FOUND = "CHECKOUT_SESSION_ID_NOT_FOUND",
16
+ UNKNOWN = "UNKNOWN"
17
+ }
18
+
19
+ export { CheckoutCreateError, LoginCanceledError, LoginTimeoutError, PurchaseError };
@@ -0,0 +1,19 @@
1
+ declare class LoginTimeoutError extends Error {
2
+ constructor(timeout: number);
3
+ }
4
+ declare class LoginCanceledError extends Error {
5
+ constructor();
6
+ }
7
+ declare class CheckoutCreateError extends Error {
8
+ constructor();
9
+ }
10
+ declare enum PurchaseError {
11
+ LOGIN_TIMEOUT = "LOGIN_TIMEOUT",
12
+ LOGIN_CANCELED = "LOGIN_CANCELED",
13
+ CHECKOUT_CANCELED = "CHECKOUT_CANCELED",
14
+ CHECKOUT_CREATE_FAILED = "CHECKOUT_CREATE_FAILED",
15
+ CHECKOUT_SESSION_ID_NOT_FOUND = "CHECKOUT_SESSION_ID_NOT_FOUND",
16
+ UNKNOWN = "UNKNOWN"
17
+ }
18
+
19
+ export { CheckoutCreateError, LoginCanceledError, LoginTimeoutError, PurchaseError };
@@ -0,0 +1,35 @@
1
+ // src/error/index.ts
2
+ var LoginTimeoutError = class extends Error {
3
+ constructor(timeout) {
4
+ super(`Login timeout after ${timeout}ms`);
5
+ this.name = "LoginTimeoutError";
6
+ }
7
+ };
8
+ var LoginCanceledError = class extends Error {
9
+ constructor() {
10
+ super("Login canceled by user");
11
+ this.name = "LoginCanceledError";
12
+ }
13
+ };
14
+ var CheckoutCreateError = class extends Error {
15
+ constructor() {
16
+ super("Failed to create checkout session");
17
+ this.name = "SessionCreateError";
18
+ }
19
+ };
20
+ var PurchaseError = /* @__PURE__ */ ((PurchaseError2) => {
21
+ PurchaseError2["LOGIN_TIMEOUT"] = "LOGIN_TIMEOUT";
22
+ PurchaseError2["LOGIN_CANCELED"] = "LOGIN_CANCELED";
23
+ PurchaseError2["CHECKOUT_CANCELED"] = "CHECKOUT_CANCELED";
24
+ PurchaseError2["CHECKOUT_CREATE_FAILED"] = "CHECKOUT_CREATE_FAILED";
25
+ PurchaseError2["CHECKOUT_SESSION_ID_NOT_FOUND"] = "CHECKOUT_SESSION_ID_NOT_FOUND";
26
+ PurchaseError2["UNKNOWN"] = "UNKNOWN";
27
+ return PurchaseError2;
28
+ })(PurchaseError || {});
29
+ export {
30
+ CheckoutCreateError,
31
+ LoginCanceledError,
32
+ LoginTimeoutError,
33
+ PurchaseError
34
+ };
35
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/error/index.ts"],"sourcesContent":["export class LoginTimeoutError extends Error {\n constructor(timeout: number) {\n super(`Login timeout after ${timeout}ms`);\n this.name = 'LoginTimeoutError';\n }\n}\n\nexport class LoginCanceledError extends Error {\n constructor() {\n super('Login canceled by user');\n this.name = 'LoginCanceledError';\n }\n}\n\nexport class CheckoutCreateError extends Error {\n constructor() {\n super('Failed to create checkout session');\n this.name = 'SessionCreateError';\n }\n}\n\nexport enum PurchaseError {\n LOGIN_TIMEOUT = 'LOGIN_TIMEOUT',\n LOGIN_CANCELED = 'LOGIN_CANCELED',\n CHECKOUT_CANCELED = 'CHECKOUT_CANCELED',\n CHECKOUT_CREATE_FAILED = 'CHECKOUT_CREATE_FAILED',\n CHECKOUT_SESSION_ID_NOT_FOUND = 'CHECKOUT_SESSION_ID_NOT_FOUND',\n UNKNOWN = 'UNKNOWN',\n}\n"],"mappings":";AAAO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAC3C,YAAY,SAAiB;AAC3B,UAAM,uBAAuB,OAAO,IAAI;AACxC,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAC5C,cAAc;AACZ,UAAM,wBAAwB;AAC9B,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAC7C,cAAc;AACZ,UAAM,mCAAmC;AACzC,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,oBAAiB;AACjB,EAAAA,eAAA,uBAAoB;AACpB,EAAAA,eAAA,4BAAyB;AACzB,EAAAA,eAAA,mCAAgC;AAChC,EAAAA,eAAA,aAAU;AANA,SAAAA;AAAA,GAAA;","names":["PurchaseError"]}
@@ -20,47 +20,32 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/google-one-tap/index.ts
21
21
  var google_one_tap_exports = {};
22
22
  __export(google_one_tap_exports, {
23
- useGoogleOneTap: () => useGoogleOneTap
23
+ prompt: () => prompt
24
24
  });
25
25
  module.exports = __toCommonJS(google_one_tap_exports);
26
- var import_react = require("react");
27
- function useGoogleOneTap({ clientId, callback }) {
28
- const [loaded, setLoaded] = (0, import_react.useState)(false);
29
- const ref = (0, import_react.useRef)(callback);
30
- ref.current = callback;
31
- (0, import_react.useEffect)(() => {
32
- const scriptId = "google-one-tap";
33
- const script = document.createElement("script");
34
- script.id = scriptId;
35
- script.async = true;
36
- script.defer = true;
37
- script.src = "https://accounts.google.com/gsi/client";
38
- script.onload = () => {
39
- window.google.accounts.id.initialize({
40
- ux_mode: "popup",
41
- context: "signin",
42
- auto_select: false,
43
- client_id: clientId,
44
- use_fedcm_for_prompt: true,
45
- cancel_on_tap_outside: false,
46
- callback: ref.current
47
- });
48
- setLoaded(true);
49
- };
50
- document.head.appendChild(script);
51
- return () => {
52
- setLoaded(false);
53
- script.remove();
54
- };
55
- }, [clientId]);
56
- return {
57
- loaded,
58
- prompt: () => window.google?.accounts?.id?.prompt(),
59
- cancel: () => window.google?.accounts?.id?.cancel()
26
+ function prompt({ clientId, callback }) {
27
+ const scriptId = "google-one-tap";
28
+ const script = document.createElement("script");
29
+ script.id = scriptId;
30
+ script.async = true;
31
+ script.defer = true;
32
+ script.src = "https://accounts.google.com/gsi/client";
33
+ script.onload = () => {
34
+ window.google.accounts.id.initialize({
35
+ ux_mode: "popup",
36
+ context: "signin",
37
+ auto_select: false,
38
+ client_id: clientId,
39
+ use_fedcm_for_prompt: true,
40
+ cancel_on_tap_outside: false,
41
+ callback
42
+ });
43
+ window.google?.accounts?.id?.prompt();
60
44
  };
45
+ document.head.appendChild(script);
61
46
  }
62
47
  // Annotate the CommonJS export names for ESM import in node:
63
48
  0 && (module.exports = {
64
- useGoogleOneTap
49
+ prompt
65
50
  });
66
51
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/google-one-tap/index.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { GoogleAccounts, CredentialResponse } from './types';\n\ndeclare global {\n interface Window {\n google: {\n accounts: GoogleAccounts;\n };\n }\n}\n\nexport type Props = {\n clientId: string;\n callback: (response: CredentialResponse) => void | Promise<void>;\n};\n\n/** debug: chrome://settings/content/federatedIdentityApi */\nexport function useGoogleOneTap({ clientId, callback }: Props) {\n const [loaded, setLoaded] = useState(false);\n const ref = useRef(callback);\n ref.current = callback;\n\n useEffect(() => {\n const scriptId = 'google-one-tap';\n const script = document.createElement('script');\n script.id = scriptId;\n script.async = true;\n script.defer = true;\n script.src = 'https://accounts.google.com/gsi/client';\n script.onload = () => {\n window.google.accounts.id.initialize({\n ux_mode: 'popup',\n context: 'signin',\n auto_select: false,\n client_id: clientId,\n use_fedcm_for_prompt: true,\n cancel_on_tap_outside: false,\n callback: ref.current,\n });\n setLoaded(true);\n };\n\n document.head.appendChild(script);\n\n return () => {\n setLoaded(false);\n script.remove();\n };\n }, [clientId]);\n\n return {\n loaded,\n prompt: () => window.google?.accounts?.id?.prompt(),\n cancel: () => window.google?.accounts?.id?.cancel(),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4C;AAiBrC,SAAS,gBAAgB,EAAE,UAAU,SAAS,GAAU;AAC7D,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,KAAK;AAC1C,QAAM,UAAM,qBAAO,QAAQ;AAC3B,MAAI,UAAU;AAEd,8BAAU,MAAM;AACd,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,KAAK;AACZ,WAAO,QAAQ;AACf,WAAO,QAAQ;AACf,WAAO,MAAM;AACb,WAAO,SAAS,MAAM;AACpB,aAAO,OAAO,SAAS,GAAG,WAAW;AAAA,QACnC,SAAS;AAAA,QACT,SAAS;AAAA,QACT,aAAa;AAAA,QACb,WAAW;AAAA,QACX,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,UAAU,IAAI;AAAA,MAChB,CAAC;AACD,gBAAU,IAAI;AAAA,IAChB;AAEA,aAAS,KAAK,YAAY,MAAM;AAEhC,WAAO,MAAM;AACX,gBAAU,KAAK;AACf,aAAO,OAAO;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,MAAM,OAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,IAClD,QAAQ,MAAM,OAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,EACpD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/google-one-tap/index.ts"],"sourcesContent":["import type { GoogleAccounts, CredentialResponse } from './types';\n\ndeclare global {\n interface Window {\n google: {\n accounts: GoogleAccounts;\n };\n }\n}\n\nexport type Props = {\n clientId: string;\n callback: (response: CredentialResponse) => void | Promise<void>;\n};\n\n/** debug: chrome://settings/content/federatedIdentityApi */\nexport function prompt({ clientId, callback }: Props) {\n const scriptId = 'google-one-tap';\n const script = document.createElement('script');\n script.id = scriptId;\n script.async = true;\n script.defer = true;\n script.src = 'https://accounts.google.com/gsi/client';\n script.onload = () => {\n window.google.accounts.id.initialize({\n ux_mode: 'popup',\n context: 'signin',\n auto_select: false,\n client_id: clientId,\n use_fedcm_for_prompt: true,\n cancel_on_tap_outside: false,\n callback,\n });\n window.google?.accounts?.id?.prompt();\n };\n\n document.head.appendChild(script);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,SAAS,OAAO,EAAE,UAAU,SAAS,GAAU;AACpD,QAAM,WAAW;AACjB,QAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,SAAO,KAAK;AACZ,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,MAAM;AACb,SAAO,SAAS,MAAM;AACpB,WAAO,OAAO,SAAS,GAAG,WAAW;AAAA,MACnC,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,WAAW;AAAA,MACX,sBAAsB;AAAA,MACtB,uBAAuB;AAAA,MACvB;AAAA,IACF,CAAC;AACD,WAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,EACtC;AAEA,WAAS,KAAK,YAAY,MAAM;AAClC;","names":[]}
@@ -12,10 +12,6 @@ type Props = {
12
12
  callback: (response: CredentialResponse) => void | Promise<void>;
13
13
  };
14
14
  /** debug: chrome://settings/content/federatedIdentityApi */
15
- declare function useGoogleOneTap({ clientId, callback }: Props): {
16
- loaded: boolean;
17
- prompt: () => void;
18
- cancel: () => void;
19
- };
15
+ declare function prompt({ clientId, callback }: Props): void;
20
16
 
21
- export { type Props, useGoogleOneTap };
17
+ export { type Props, prompt };
@@ -12,10 +12,6 @@ type Props = {
12
12
  callback: (response: CredentialResponse) => void | Promise<void>;
13
13
  };
14
14
  /** debug: chrome://settings/content/federatedIdentityApi */
15
- declare function useGoogleOneTap({ clientId, callback }: Props): {
16
- loaded: boolean;
17
- prompt: () => void;
18
- cancel: () => void;
19
- };
15
+ declare function prompt({ clientId, callback }: Props): void;
20
16
 
21
- export { type Props, useGoogleOneTap };
17
+ export { type Props, prompt };
@@ -1,41 +1,26 @@
1
1
  // src/google-one-tap/index.ts
2
- import { useEffect, useRef, useState } from "react";
3
- function useGoogleOneTap({ clientId, callback }) {
4
- const [loaded, setLoaded] = useState(false);
5
- const ref = useRef(callback);
6
- ref.current = callback;
7
- useEffect(() => {
8
- const scriptId = "google-one-tap";
9
- const script = document.createElement("script");
10
- script.id = scriptId;
11
- script.async = true;
12
- script.defer = true;
13
- script.src = "https://accounts.google.com/gsi/client";
14
- script.onload = () => {
15
- window.google.accounts.id.initialize({
16
- ux_mode: "popup",
17
- context: "signin",
18
- auto_select: false,
19
- client_id: clientId,
20
- use_fedcm_for_prompt: true,
21
- cancel_on_tap_outside: false,
22
- callback: ref.current
23
- });
24
- setLoaded(true);
25
- };
26
- document.head.appendChild(script);
27
- return () => {
28
- setLoaded(false);
29
- script.remove();
30
- };
31
- }, [clientId]);
32
- return {
33
- loaded,
34
- prompt: () => window.google?.accounts?.id?.prompt(),
35
- cancel: () => window.google?.accounts?.id?.cancel()
2
+ function prompt({ clientId, callback }) {
3
+ const scriptId = "google-one-tap";
4
+ const script = document.createElement("script");
5
+ script.id = scriptId;
6
+ script.async = true;
7
+ script.defer = true;
8
+ script.src = "https://accounts.google.com/gsi/client";
9
+ script.onload = () => {
10
+ window.google.accounts.id.initialize({
11
+ ux_mode: "popup",
12
+ context: "signin",
13
+ auto_select: false,
14
+ client_id: clientId,
15
+ use_fedcm_for_prompt: true,
16
+ cancel_on_tap_outside: false,
17
+ callback
18
+ });
19
+ window.google?.accounts?.id?.prompt();
36
20
  };
21
+ document.head.appendChild(script);
37
22
  }
38
23
  export {
39
- useGoogleOneTap
24
+ prompt
40
25
  };
41
26
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/google-one-tap/index.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { GoogleAccounts, CredentialResponse } from './types';\n\ndeclare global {\n interface Window {\n google: {\n accounts: GoogleAccounts;\n };\n }\n}\n\nexport type Props = {\n clientId: string;\n callback: (response: CredentialResponse) => void | Promise<void>;\n};\n\n/** debug: chrome://settings/content/federatedIdentityApi */\nexport function useGoogleOneTap({ clientId, callback }: Props) {\n const [loaded, setLoaded] = useState(false);\n const ref = useRef(callback);\n ref.current = callback;\n\n useEffect(() => {\n const scriptId = 'google-one-tap';\n const script = document.createElement('script');\n script.id = scriptId;\n script.async = true;\n script.defer = true;\n script.src = 'https://accounts.google.com/gsi/client';\n script.onload = () => {\n window.google.accounts.id.initialize({\n ux_mode: 'popup',\n context: 'signin',\n auto_select: false,\n client_id: clientId,\n use_fedcm_for_prompt: true,\n cancel_on_tap_outside: false,\n callback: ref.current,\n });\n setLoaded(true);\n };\n\n document.head.appendChild(script);\n\n return () => {\n setLoaded(false);\n script.remove();\n };\n }, [clientId]);\n\n return {\n loaded,\n prompt: () => window.google?.accounts?.id?.prompt(),\n cancel: () => window.google?.accounts?.id?.cancel(),\n };\n}\n"],"mappings":";AAAA,SAAS,WAAW,QAAQ,gBAAgB;AAiBrC,SAAS,gBAAgB,EAAE,UAAU,SAAS,GAAU;AAC7D,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,QAAM,MAAM,OAAO,QAAQ;AAC3B,MAAI,UAAU;AAEd,YAAU,MAAM;AACd,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,KAAK;AACZ,WAAO,QAAQ;AACf,WAAO,QAAQ;AACf,WAAO,MAAM;AACb,WAAO,SAAS,MAAM;AACpB,aAAO,OAAO,SAAS,GAAG,WAAW;AAAA,QACnC,SAAS;AAAA,QACT,SAAS;AAAA,QACT,aAAa;AAAA,QACb,WAAW;AAAA,QACX,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,UAAU,IAAI;AAAA,MAChB,CAAC;AACD,gBAAU,IAAI;AAAA,IAChB;AAEA,aAAS,KAAK,YAAY,MAAM;AAEhC,WAAO,MAAM;AACX,gBAAU,KAAK;AACf,aAAO,OAAO;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,MAAM,OAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,IAClD,QAAQ,MAAM,OAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,EACpD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/google-one-tap/index.ts"],"sourcesContent":["import type { GoogleAccounts, CredentialResponse } from './types';\n\ndeclare global {\n interface Window {\n google: {\n accounts: GoogleAccounts;\n };\n }\n}\n\nexport type Props = {\n clientId: string;\n callback: (response: CredentialResponse) => void | Promise<void>;\n};\n\n/** debug: chrome://settings/content/federatedIdentityApi */\nexport function prompt({ clientId, callback }: Props) {\n const scriptId = 'google-one-tap';\n const script = document.createElement('script');\n script.id = scriptId;\n script.async = true;\n script.defer = true;\n script.src = 'https://accounts.google.com/gsi/client';\n script.onload = () => {\n window.google.accounts.id.initialize({\n ux_mode: 'popup',\n context: 'signin',\n auto_select: false,\n client_id: clientId,\n use_fedcm_for_prompt: true,\n cancel_on_tap_outside: false,\n callback,\n });\n window.google?.accounts?.id?.prompt();\n };\n\n document.head.appendChild(script);\n}\n"],"mappings":";AAgBO,SAAS,OAAO,EAAE,UAAU,SAAS,GAAU;AACpD,QAAM,WAAW;AACjB,QAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,SAAO,KAAK;AACZ,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,MAAM;AACb,SAAO,SAAS,MAAM;AACpB,WAAO,OAAO,SAAS,GAAG,WAAW;AAAA,MACnC,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,WAAW;AAAA,MACX,sBAAsB;AAAA,MACtB,uBAAuB;AAAA,MACvB;AAAA,IACF,CAAC;AACD,WAAO,QAAQ,UAAU,IAAI,OAAO;AAAA,EACtC;AAEA,WAAS,KAAK,YAAY,MAAM;AAClC;","names":[]}
package/dist/index.cjs CHANGED
@@ -31,7 +31,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/index.ts
32
32
  var index_exports = {};
33
33
  __export(index_exports, {
34
+ CheckoutCreateError: () => import_error.CheckoutCreateError,
35
+ LoginCanceledError: () => import_error.LoginCanceledError,
36
+ LoginTimeoutError: () => import_error.LoginTimeoutError,
34
37
  MAX_LENGTH: () => MAX_LENGTH,
38
+ PurchaseError: () => import_error.PurchaseError,
35
39
  TokenBucket: () => import_token_bucket.TokenBucket,
36
40
  hasText: () => import_string.hasText,
37
41
  invariant: () => import_invariant.invariant,
@@ -50,9 +54,14 @@ var import_timing = require("./utils/timing.cjs");
50
54
  var import_webhook = require("./webhook.cjs");
51
55
  var import_invariant = require("./utils/invariant.cjs");
52
56
  var import_token_bucket = require("./utils/token-bucket.cjs");
57
+ var import_error = require("./error/index.cjs");
53
58
  // Annotate the CommonJS export names for ESM import in node:
54
59
  0 && (module.exports = {
60
+ CheckoutCreateError,
61
+ LoginCanceledError,
62
+ LoginTimeoutError,
55
63
  MAX_LENGTH,
64
+ PurchaseError,
56
65
  TokenBucket,
57
66
  hasText,
58
67
  invariant,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @example\n * import { Details, Status } from '@repo/error';\n *\n * Status.adapter = () => new Error('Error');\n *\n * const details = Details.new()\n * .requestInfo({ requestId: '1234567890', servingData: '/v1/tests' })\n * .errorInfo({ reason: 'ACCOUNT_LOCKED' });\n *\n * throw Status.alreadyExists('xxx').error(details);\n */\n\nexport type {\n NetworkErrorReason,\n StatusErrorReason,\n AuthenticationErrorReason,\n ModerationErrorReason,\n MultipartErrorReason,\n AppErrorReason,\n ErrorReason,\n} from './reason';\n\nexport * from './detail';\nexport * from './status';\nexport * from './vaild';\nexport * from './snowflake';\nexport * from './response';\nexport * as MAX_LENGTH from './max-length/index';\nexport { hasText } from './utils/string';\nexport { timing } from './utils/timing';\nexport { verifyStandardWebhook } from './webhook';\nexport { invariant } from './utils/invariant';\nexport { TokenBucket, type TokenBucketOptions } from './utils/token-bucket';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBA,0BAAc,yBAvBd;AAwBA,0BAAc,yBAxBd;AAyBA,0BAAc,wBAzBd;AA0BA,0BAAc,4BA1Bd;AA2BA,0BAAc,2BA3Bd;AA4BA,iBAA4B;AAC5B,oBAAwB;AACxB,oBAAuB;AACvB,qBAAsC;AACtC,uBAA0B;AAC1B,0BAAqD;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @example\n * import { Details, Status } from '@repo/error';\n *\n * Status.adapter = () => new Error('Error');\n *\n * const details = Details.new()\n * .requestInfo({ requestId: '1234567890', servingData: '/v1/tests' })\n * .errorInfo({ reason: 'ACCOUNT_LOCKED' });\n *\n * throw Status.alreadyExists('xxx').error(details);\n */\n\nexport type {\n NetworkErrorReason,\n StatusErrorReason,\n AuthenticationErrorReason,\n ModerationErrorReason,\n MultipartErrorReason,\n AppErrorReason,\n ErrorReason,\n} from './reason';\n\nexport * from './detail';\nexport * from './status';\nexport * from './vaild';\nexport * from './snowflake';\nexport * from './response';\nexport * as MAX_LENGTH from './max-length/index';\nexport { hasText } from './utils/string';\nexport { timing } from './utils/timing';\nexport { verifyStandardWebhook } from './webhook';\nexport { invariant } from './utils/invariant';\nexport { TokenBucket, type TokenBucketOptions } from './utils/token-bucket';\n\nexport {\n LoginTimeoutError,\n LoginCanceledError,\n CheckoutCreateError,\n PurchaseError,\n} from './error/index';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBA,0BAAc,yBAvBd;AAwBA,0BAAc,yBAxBd;AAyBA,0BAAc,wBAzBd;AA0BA,0BAAc,4BA1Bd;AA2BA,0BAAc,2BA3Bd;AA4BA,iBAA4B;AAC5B,oBAAwB;AACxB,oBAAuB;AACvB,qBAAsC;AACtC,uBAA0B;AAC1B,0BAAqD;AAErD,mBAKO;","names":[]}
package/dist/index.d.cts CHANGED
@@ -10,5 +10,6 @@ export { timing } from './utils/timing.cjs';
10
10
  export { verifyStandardWebhook } from './webhook.cjs';
11
11
  export { invariant } from './utils/invariant.cjs';
12
12
  export { TokenBucket, TokenBucketOptions } from './utils/token-bucket.cjs';
13
+ export { CheckoutCreateError, LoginCanceledError, LoginTimeoutError, PurchaseError } from './error/index.cjs';
13
14
  import 'zod/v4-mini';
14
15
  import 'zod/v4/core';
package/dist/index.d.ts CHANGED
@@ -10,5 +10,6 @@ export { timing } from './utils/timing.js';
10
10
  export { verifyStandardWebhook } from './webhook.js';
11
11
  export { invariant } from './utils/invariant.js';
12
12
  export { TokenBucket, TokenBucketOptions } from './utils/token-bucket.js';
13
+ export { CheckoutCreateError, LoginCanceledError, LoginTimeoutError, PurchaseError } from './error/index.js';
13
14
  import 'zod/v4-mini';
14
15
  import 'zod/v4/core';
package/dist/index.mjs CHANGED
@@ -10,8 +10,18 @@ import { timing } from "./utils/timing.mjs";
10
10
  import { verifyStandardWebhook } from "./webhook.mjs";
11
11
  import { invariant } from "./utils/invariant.mjs";
12
12
  import { TokenBucket } from "./utils/token-bucket.mjs";
13
+ import {
14
+ LoginTimeoutError,
15
+ LoginCanceledError,
16
+ CheckoutCreateError,
17
+ PurchaseError
18
+ } from "./error/index.mjs";
13
19
  export {
20
+ CheckoutCreateError,
21
+ LoginCanceledError,
22
+ LoginTimeoutError,
14
23
  MAX_LENGTH,
24
+ PurchaseError,
15
25
  TokenBucket,
16
26
  hasText,
17
27
  invariant,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @example\n * import { Details, Status } from '@repo/error';\n *\n * Status.adapter = () => new Error('Error');\n *\n * const details = Details.new()\n * .requestInfo({ requestId: '1234567890', servingData: '/v1/tests' })\n * .errorInfo({ reason: 'ACCOUNT_LOCKED' });\n *\n * throw Status.alreadyExists('xxx').error(details);\n */\n\nexport type {\n NetworkErrorReason,\n StatusErrorReason,\n AuthenticationErrorReason,\n ModerationErrorReason,\n MultipartErrorReason,\n AppErrorReason,\n ErrorReason,\n} from './reason';\n\nexport * from './detail';\nexport * from './status';\nexport * from './vaild';\nexport * from './snowflake';\nexport * from './response';\nexport * as MAX_LENGTH from './max-length/index';\nexport { hasText } from './utils/string';\nexport { timing } from './utils/timing';\nexport { verifyStandardWebhook } from './webhook';\nexport { invariant } from './utils/invariant';\nexport { TokenBucket, type TokenBucketOptions } from './utils/token-bucket';\n"],"mappings":";AAuBA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,YAAY,gBAAgB;AAC5B,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,6BAA6B;AACtC,SAAS,iBAAiB;AAC1B,SAAS,mBAA4C;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @example\n * import { Details, Status } from '@repo/error';\n *\n * Status.adapter = () => new Error('Error');\n *\n * const details = Details.new()\n * .requestInfo({ requestId: '1234567890', servingData: '/v1/tests' })\n * .errorInfo({ reason: 'ACCOUNT_LOCKED' });\n *\n * throw Status.alreadyExists('xxx').error(details);\n */\n\nexport type {\n NetworkErrorReason,\n StatusErrorReason,\n AuthenticationErrorReason,\n ModerationErrorReason,\n MultipartErrorReason,\n AppErrorReason,\n ErrorReason,\n} from './reason';\n\nexport * from './detail';\nexport * from './status';\nexport * from './vaild';\nexport * from './snowflake';\nexport * from './response';\nexport * as MAX_LENGTH from './max-length/index';\nexport { hasText } from './utils/string';\nexport { timing } from './utils/timing';\nexport { verifyStandardWebhook } from './webhook';\nexport { invariant } from './utils/invariant';\nexport { TokenBucket, type TokenBucketOptions } from './utils/token-bucket';\n\nexport {\n LoginTimeoutError,\n LoginCanceledError,\n CheckoutCreateError,\n PurchaseError,\n} from './error/index';\n"],"mappings":";AAuBA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,YAAY,gBAAgB;AAC5B,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,6BAA6B;AACtC,SAAS,iBAAiB;AAC1B,SAAS,mBAA4C;AAErD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shware/http",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {