@tern-secure/shared 1.1.2 → 1.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.
Files changed (132) hide show
  1. package/dist/browser.d.mts +28 -0
  2. package/dist/browser.d.ts +28 -0
  3. package/dist/browser.js +95 -0
  4. package/dist/browser.js.map +1 -0
  5. package/dist/browser.mjs +66 -0
  6. package/dist/browser.mjs.map +1 -0
  7. package/dist/chunk-2UQ43P4P.mjs +45 -0
  8. package/dist/chunk-2UQ43P4P.mjs.map +1 -0
  9. package/dist/{chunk-HATJQ74R.mjs → chunk-33U3M4YY.mjs} +2 -2
  10. package/dist/chunk-33U3M4YY.mjs.map +1 -0
  11. package/dist/chunk-CGGW4CI3.mjs +265 -0
  12. package/dist/chunk-CGGW4CI3.mjs.map +1 -0
  13. package/dist/chunk-PHCVLVZY.mjs +12 -0
  14. package/dist/chunk-PHCVLVZY.mjs.map +1 -0
  15. package/dist/cookie.d.mts +4 -1
  16. package/dist/cookie.d.ts +4 -1
  17. package/dist/cookie.js +35 -2
  18. package/dist/cookie.js.map +1 -1
  19. package/dist/cookie.mjs +33 -1
  20. package/dist/cookie.mjs.map +1 -1
  21. package/dist/derivedAuthState.d.mts +13 -7
  22. package/dist/derivedAuthState.d.ts +13 -7
  23. package/dist/derivedAuthState.js +22 -34
  24. package/dist/derivedAuthState.js.map +1 -1
  25. package/dist/derivedAuthState.mjs +22 -33
  26. package/dist/derivedAuthState.mjs.map +1 -1
  27. package/dist/errors-api.d.mts +49 -0
  28. package/dist/errors-api.d.ts +49 -0
  29. package/dist/errors-api.js +124 -0
  30. package/dist/errors-api.js.map +1 -0
  31. package/dist/errors-api.mjs +91 -0
  32. package/dist/errors-api.mjs.map +1 -0
  33. package/dist/errors.d.mts +17 -0
  34. package/dist/errors.d.ts +17 -0
  35. package/dist/errors.js +139 -0
  36. package/dist/errors.js.map +1 -0
  37. package/dist/errors.mjs +111 -0
  38. package/dist/errors.mjs.map +1 -0
  39. package/dist/eventBus.d.mts +28 -7
  40. package/dist/eventBus.d.ts +28 -7
  41. package/dist/eventBus.js +36 -21
  42. package/dist/eventBus.js.map +1 -1
  43. package/dist/eventBus.mjs +4 -26
  44. package/dist/eventBus.mjs.map +1 -1
  45. package/dist/{types/eventBus.d.ts → eventEmitter.d.mts} +4 -2
  46. package/dist/eventEmitter.d.ts +9 -0
  47. package/dist/eventEmitter.js +57 -0
  48. package/dist/eventEmitter.js.map +1 -0
  49. package/dist/eventEmitter.mjs +32 -0
  50. package/dist/eventEmitter.mjs.map +1 -0
  51. package/dist/loadScript.js +1 -1
  52. package/dist/loadScript.js.map +1 -1
  53. package/dist/loadScript.mjs +1 -1
  54. package/dist/loadTernUIScript.d.mts +4 -5
  55. package/dist/loadTernUIScript.d.ts +4 -5
  56. package/dist/loadTernUIScript.js +15 -7
  57. package/dist/loadTernUIScript.js.map +1 -1
  58. package/dist/loadTernUIScript.mjs +10 -7
  59. package/dist/loadTernUIScript.mjs.map +1 -1
  60. package/dist/pathMatcher.d.mts +14 -0
  61. package/dist/pathMatcher.d.ts +14 -0
  62. package/dist/pathMatcher.js +263 -0
  63. package/dist/pathMatcher.js.map +1 -0
  64. package/dist/pathMatcher.mjs +17 -0
  65. package/dist/pathMatcher.mjs.map +1 -0
  66. package/dist/pathToRegexp.d.mts +81 -0
  67. package/dist/pathToRegexp.d.ts +81 -0
  68. package/dist/pathToRegexp.js +292 -0
  69. package/dist/pathToRegexp.js.map +1 -0
  70. package/dist/pathToRegexp.mjs +9 -0
  71. package/dist/pathToRegexp.mjs.map +1 -0
  72. package/dist/react/index.d.mts +8 -2
  73. package/dist/react/index.d.ts +8 -2
  74. package/dist/react/index.js +28 -2
  75. package/dist/react/index.js.map +1 -1
  76. package/dist/react/index.mjs +25 -2
  77. package/dist/react/index.mjs.map +1 -1
  78. package/dist/resolveVersion.d.mts +3 -0
  79. package/dist/resolveVersion.d.ts +3 -0
  80. package/dist/resolveVersion.js +36 -0
  81. package/dist/resolveVersion.js.map +1 -0
  82. package/dist/resolveVersion.mjs +7 -0
  83. package/dist/resolveVersion.mjs.map +1 -0
  84. package/dist/serviceWorker.js +1 -1
  85. package/dist/serviceWorker.js.map +1 -1
  86. package/dist/serviceWorker.mjs +1 -1
  87. package/dist/serviceWorker.mjs.map +1 -1
  88. package/dist/ternStatusEvent.d.mts +15 -0
  89. package/dist/ternStatusEvent.d.ts +15 -0
  90. package/dist/ternStatusEvent.js +81 -0
  91. package/dist/ternStatusEvent.js.map +1 -0
  92. package/dist/ternStatusEvent.mjs +16 -0
  93. package/dist/ternStatusEvent.mjs.map +1 -0
  94. package/dist/url.d.mts +3 -0
  95. package/dist/url.d.ts +3 -0
  96. package/dist/url.js +33 -0
  97. package/dist/url.js.map +1 -0
  98. package/dist/url.mjs +8 -0
  99. package/dist/url.mjs.map +1 -0
  100. package/dist/utils/index.d.mts +5 -0
  101. package/dist/utils/index.d.ts +5 -0
  102. package/dist/utils/index.js +44 -0
  103. package/dist/utils/index.js.map +1 -0
  104. package/dist/utils/index.mjs +17 -0
  105. package/dist/utils/index.mjs.map +1 -0
  106. package/package.json +23 -6
  107. package/dist/chunk-HATJQ74R.mjs.map +0 -1
  108. package/dist/types/cookie.d.ts +0 -12
  109. package/dist/types/cookie.d.ts.map +0 -1
  110. package/dist/types/derivedAuthState.d.ts +0 -7
  111. package/dist/types/derivedAuthState.d.ts.map +0 -1
  112. package/dist/types/eventBus.d.ts.map +0 -1
  113. package/dist/types/loadScript.d.ts +0 -10
  114. package/dist/types/loadScript.d.ts.map +0 -1
  115. package/dist/types/loadTernUIScript.d.ts +0 -21
  116. package/dist/types/loadTernUIScript.d.ts.map +0 -1
  117. package/dist/types/nextjs/client/auth-actions.d.ts +0 -1
  118. package/dist/types/nextjs/client/auth-actions.d.ts.map +0 -1
  119. package/dist/types/react/hooks/index.d.ts +0 -2
  120. package/dist/types/react/hooks/index.d.ts.map +0 -1
  121. package/dist/types/react/hooks/useTernSecure.d.ts +0 -3
  122. package/dist/types/react/hooks/useTernSecure.d.ts.map +0 -1
  123. package/dist/types/react/index.d.ts +0 -4
  124. package/dist/types/react/index.d.ts.map +0 -1
  125. package/dist/types/react/ternsecureCtx.d.ts +0 -26
  126. package/dist/types/react/ternsecureCtx.d.ts.map +0 -1
  127. package/dist/types/react/ternsecureProvider.d.ts +0 -20
  128. package/dist/types/react/ternsecureProvider.d.ts.map +0 -1
  129. package/dist/types/retry.d.ts +0 -46
  130. package/dist/types/retry.d.ts.map +0 -1
  131. package/dist/types/serviceWorker.d.ts +0 -12
  132. package/dist/types/serviceWorker.d.ts.map +0 -1
@@ -45,7 +45,7 @@ var getServiceWorkerUrl = (options) => {
45
45
  var reg = (opt) => {
46
46
  const { firebaseConfig } = opt;
47
47
  if ("serviceWorker" in navigator) {
48
- const serializedFirebaseConfig = encodeURIComponent(JSON.stringify(firebaseConfig));
48
+ encodeURIComponent(JSON.stringify(firebaseConfig));
49
49
  const serviceWorkerUrl = getServiceWorkerUrl(opt);
50
50
  navigator.serviceWorker.register(serviceWorkerUrl).then((registration) => console.log("scope is: ", registration.scope));
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/serviceWorker.ts"],"sourcesContent":["export type ServiceWorkerOptions = {\n firebaseConfig: Record<string, any>;\n scope?: string;\n updateViaCache?: 'imports' | 'all' | 'none';\n domain?: string;\n isTernSecureDev?: boolean;\n localPort?: string;\n};\n\nconst getUrlEndpoint = (): string => {\n const isLocalhost = window.location.hostname === 'localhost';\n return isLocalhost ? 'http://localhost:3000' : `${window.location.origin}`;\n }\n\nconst getServiceWorkerUrl = (options: ServiceWorkerOptions): string => {\n const { firebaseConfig, domain, isTernSecureDev, localPort } = options;\n const serializedConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n \n let baseUrl: string;\n \n if (isTernSecureDev) {\n const localHost = process.env.TERN_UI_HOST || 'localhost';\n const port = localPort || process.env.TERN_UI_PORT || '3000';\n baseUrl = `http://${localHost}:${port}`;\n } else {\n baseUrl = domain || getUrlEndpoint();\n }\n \n return `${baseUrl}/service-worker.js?firebaseConfig=${serializedConfig}`;\n};\n\nexport const reg = (opt: ServiceWorkerOptions) => {\n const { firebaseConfig } = opt;\n if (\"serviceWorker\" in navigator) {\n const serializedFirebaseConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n const serviceWorkerUrl = getServiceWorkerUrl(opt);\n \n navigator.serviceWorker\n .register(serviceWorkerUrl)\n .then((registration) => console.log(\"scope is: \", registration.scope));\n }\n}\n\nexport const registerServiceWorker = async (options: ServiceWorkerOptions): Promise<ServiceWorkerRegistration | null> => {\n if (!('serviceWorker' in navigator)) {\n console.warn('[ServiceWorker] Service workers are not supported');\n return null;\n }\n\n const { scope = '/', updateViaCache = 'imports' } = options;\n\n try {\n const serviceWorkerUrl = getServiceWorkerUrl(options);\n \n const registration = await navigator.serviceWorker.register(serviceWorkerUrl, {\n scope,\n updateViaCache,\n });\n\n console.log('[ServiceWorker] Registration successful:', registration);\n return registration;\n } catch (error) {\n console.error('[ServiceWorker] Registration failed:', error);\n throw new Error(`Failed to register service worker: ${error}`);\n }\n};\n\nexport const unregisterServiceWorker = async (): Promise<boolean> => {\n if (!('serviceWorker' in navigator)) {\n return false;\n }\n\n try {\n const registrations = await navigator.serviceWorker.getRegistrations();\n const unregisterPromises = registrations.map(registration => registration.unregister());\n \n await Promise.all(unregisterPromises);\n console.log('[ServiceWorker] All service workers unregistered');\n return true;\n } catch (error) {\n console.error('[ServiceWorker] Failed to unregister service workers:', error);\n return false;\n }\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,IAAM,iBAAiB,MAAc;AACjC,QAAM,cAAc,OAAO,SAAS,aAAa;AACjD,SAAO,cAAc,0BAA0B,GAAG,OAAO,SAAS,MAAM;AAC1E;AAEF,IAAM,sBAAsB,CAAC,YAA0C;AACrE,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,UAAU,IAAI;AAC/D,QAAM,mBAAmB,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAE1E,MAAI;AAEJ,MAAI,iBAAiB;AACnB,UAAM,YAAY,QAAQ,IAAI,gBAAgB;AAC9C,UAAM,OAAO,aAAa,QAAQ,IAAI,gBAAgB;AACtD,cAAU,UAAU,SAAS,IAAI,IAAI;AAAA,EACvC,OAAO;AACL,cAAU,UAAU,eAAe;AAAA,EACrC;AAEA,SAAO,GAAG,OAAO,qCAAqC,gBAAgB;AACxE;AAEO,IAAM,MAAM,CAAC,QAA8B;AAC9C,QAAM,EAAE,eAAe,IAAI;AAC3B,MAAI,mBAAmB,WAAW;AAC9B,UAAM,2BAA2B,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAClF,UAAM,mBAAmB,oBAAoB,GAAG;AAEhD,cAAU,cACP,SAAS,gBAAgB,EACzB,KAAK,CAAC,iBAAiB,QAAQ,IAAI,cAAc,aAAa,KAAK,CAAC;AAAA,EACvE;AACR;AAEO,IAAM,wBAAwB,OAAO,YAA6E;AACvH,MAAI,EAAE,mBAAmB,YAAY;AACnC,YAAQ,KAAK,mDAAmD;AAChE,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,QAAQ,KAAK,iBAAiB,UAAU,IAAI;AAEpD,MAAI;AACF,UAAM,mBAAmB,oBAAoB,OAAO;AAEpD,UAAM,eAAe,MAAM,UAAU,cAAc,SAAS,kBAAkB;AAAA,MAC5E;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,4CAA4C,YAAY;AACpE,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,wCAAwC,KAAK;AAC3D,UAAM,IAAI,MAAM,sCAAsC,KAAK,EAAE;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,YAA8B;AACnE,MAAI,EAAE,mBAAmB,YAAY;AACnC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,gBAAgB,MAAM,UAAU,cAAc,iBAAiB;AACrE,UAAM,qBAAqB,cAAc,IAAI,kBAAgB,aAAa,WAAW,CAAC;AAEtF,UAAM,QAAQ,IAAI,kBAAkB;AACpC,YAAQ,IAAI,kDAAkD;AAC9D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,yDAAyD,KAAK;AAC5E,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/serviceWorker.ts"],"sourcesContent":["export type ServiceWorkerOptions = {\n firebaseConfig: Record<string, any>;\n scope?: string;\n updateViaCache?: 'imports' | 'all' | 'none';\n domain?: string;\n isTernSecureDev?: boolean;\n localPort?: string;\n};\n\nconst getUrlEndpoint = (): string => {\n const isLocalhost = window.location.hostname === 'localhost';\n return isLocalhost ? 'http://localhost:3000' : `${window.location.origin}`;\n }\n\nconst getServiceWorkerUrl = (options: ServiceWorkerOptions): string => {\n const { firebaseConfig, domain, isTernSecureDev, localPort } = options;\n const serializedConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n \n let baseUrl: string;\n \n if (isTernSecureDev) {\n const localHost = process.env.TERN_UI_HOST || 'localhost';\n const port = localPort || process.env.TERN_UI_PORT || '3000';\n baseUrl = `http://${localHost}:${port}`;\n } else {\n baseUrl = domain || getUrlEndpoint();\n }\n \n return `${baseUrl}/service-worker.js?firebaseConfig=${serializedConfig}`;\n};\n\nexport const reg = (opt: ServiceWorkerOptions) => {\n const { firebaseConfig } = opt;\n if (\"serviceWorker\" in navigator) {\n encodeURIComponent(JSON.stringify(firebaseConfig));\n const serviceWorkerUrl = getServiceWorkerUrl(opt);\n \n navigator.serviceWorker\n .register(serviceWorkerUrl)\n .then((registration) => console.log(\"scope is: \", registration.scope));\n }\n}\n\nexport const registerServiceWorker = async (options: ServiceWorkerOptions): Promise<ServiceWorkerRegistration | null> => {\n if (!('serviceWorker' in navigator)) {\n console.warn('[ServiceWorker] Service workers are not supported');\n return null;\n }\n\n const { scope = '/', updateViaCache = 'imports' } = options;\n\n try {\n const serviceWorkerUrl = getServiceWorkerUrl(options);\n \n const registration = await navigator.serviceWorker.register(serviceWorkerUrl, {\n scope,\n updateViaCache,\n });\n\n console.log('[ServiceWorker] Registration successful:', registration);\n return registration;\n } catch (error) {\n console.error('[ServiceWorker] Registration failed:', error);\n throw new Error(`Failed to register service worker: ${error}`);\n }\n};\n\nexport const unregisterServiceWorker = async (): Promise<boolean> => {\n if (!('serviceWorker' in navigator)) {\n return false;\n }\n\n try {\n const registrations = await navigator.serviceWorker.getRegistrations();\n const unregisterPromises = registrations.map(registration => registration.unregister());\n \n await Promise.all(unregisterPromises);\n console.log('[ServiceWorker] All service workers unregistered');\n return true;\n } catch (error) {\n console.error('[ServiceWorker] Failed to unregister service workers:', error);\n return false;\n }\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,IAAM,iBAAiB,MAAc;AACjC,QAAM,cAAc,OAAO,SAAS,aAAa;AACjD,SAAO,cAAc,0BAA0B,GAAG,OAAO,SAAS,MAAM;AAC1E;AAEF,IAAM,sBAAsB,CAAC,YAA0C;AACrE,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,UAAU,IAAI;AAC/D,QAAM,mBAAmB,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAE1E,MAAI;AAEJ,MAAI,iBAAiB;AACnB,UAAM,YAAY,QAAQ,IAAI,gBAAgB;AAC9C,UAAM,OAAO,aAAa,QAAQ,IAAI,gBAAgB;AACtD,cAAU,UAAU,SAAS,IAAI,IAAI;AAAA,EACvC,OAAO;AACL,cAAU,UAAU,eAAe;AAAA,EACrC;AAEA,SAAO,GAAG,OAAO,qCAAqC,gBAAgB;AACxE;AAEO,IAAM,MAAM,CAAC,QAA8B;AAChD,QAAM,EAAE,eAAe,IAAI;AAC3B,MAAI,mBAAmB,WAAW;AAChC,uBAAmB,KAAK,UAAU,cAAc,CAAC;AACjD,UAAM,mBAAmB,oBAAoB,GAAG;AAEhD,cAAU,cACT,SAAS,gBAAgB,EACzB,KAAK,CAAC,iBAAiB,QAAQ,IAAI,cAAc,aAAa,KAAK,CAAC;AAAA,EACvE;AACF;AAEO,IAAM,wBAAwB,OAAO,YAA6E;AACvH,MAAI,EAAE,mBAAmB,YAAY;AACnC,YAAQ,KAAK,mDAAmD;AAChE,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,QAAQ,KAAK,iBAAiB,UAAU,IAAI;AAEpD,MAAI;AACF,UAAM,mBAAmB,oBAAoB,OAAO;AAEpD,UAAM,eAAe,MAAM,UAAU,cAAc,SAAS,kBAAkB;AAAA,MAC5E;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,4CAA4C,YAAY;AACpE,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,wCAAwC,KAAK;AAC3D,UAAM,IAAI,MAAM,sCAAsC,KAAK,EAAE;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,YAA8B;AACnE,MAAI,EAAE,mBAAmB,YAAY;AACnC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,gBAAgB,MAAM,UAAU,cAAc,iBAAiB;AACrE,UAAM,qBAAqB,cAAc,IAAI,kBAAgB,aAAa,WAAW,CAAC;AAEtF,UAAM,QAAQ,IAAI,kBAAkB;AACpC,YAAQ,IAAI,kDAAkD;AAC9D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,yDAAyD,KAAK;AAC5E,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -19,7 +19,7 @@ var getServiceWorkerUrl = (options) => {
19
19
  var reg = (opt) => {
20
20
  const { firebaseConfig } = opt;
21
21
  if ("serviceWorker" in navigator) {
22
- const serializedFirebaseConfig = encodeURIComponent(JSON.stringify(firebaseConfig));
22
+ encodeURIComponent(JSON.stringify(firebaseConfig));
23
23
  const serviceWorkerUrl = getServiceWorkerUrl(opt);
24
24
  navigator.serviceWorker.register(serviceWorkerUrl).then((registration) => console.log("scope is: ", registration.scope));
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/serviceWorker.ts"],"sourcesContent":["export type ServiceWorkerOptions = {\n firebaseConfig: Record<string, any>;\n scope?: string;\n updateViaCache?: 'imports' | 'all' | 'none';\n domain?: string;\n isTernSecureDev?: boolean;\n localPort?: string;\n};\n\nconst getUrlEndpoint = (): string => {\n const isLocalhost = window.location.hostname === 'localhost';\n return isLocalhost ? 'http://localhost:3000' : `${window.location.origin}`;\n }\n\nconst getServiceWorkerUrl = (options: ServiceWorkerOptions): string => {\n const { firebaseConfig, domain, isTernSecureDev, localPort } = options;\n const serializedConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n \n let baseUrl: string;\n \n if (isTernSecureDev) {\n const localHost = process.env.TERN_UI_HOST || 'localhost';\n const port = localPort || process.env.TERN_UI_PORT || '3000';\n baseUrl = `http://${localHost}:${port}`;\n } else {\n baseUrl = domain || getUrlEndpoint();\n }\n \n return `${baseUrl}/service-worker.js?firebaseConfig=${serializedConfig}`;\n};\n\nexport const reg = (opt: ServiceWorkerOptions) => {\n const { firebaseConfig } = opt;\n if (\"serviceWorker\" in navigator) {\n const serializedFirebaseConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n const serviceWorkerUrl = getServiceWorkerUrl(opt);\n \n navigator.serviceWorker\n .register(serviceWorkerUrl)\n .then((registration) => console.log(\"scope is: \", registration.scope));\n }\n}\n\nexport const registerServiceWorker = async (options: ServiceWorkerOptions): Promise<ServiceWorkerRegistration | null> => {\n if (!('serviceWorker' in navigator)) {\n console.warn('[ServiceWorker] Service workers are not supported');\n return null;\n }\n\n const { scope = '/', updateViaCache = 'imports' } = options;\n\n try {\n const serviceWorkerUrl = getServiceWorkerUrl(options);\n \n const registration = await navigator.serviceWorker.register(serviceWorkerUrl, {\n scope,\n updateViaCache,\n });\n\n console.log('[ServiceWorker] Registration successful:', registration);\n return registration;\n } catch (error) {\n console.error('[ServiceWorker] Registration failed:', error);\n throw new Error(`Failed to register service worker: ${error}`);\n }\n};\n\nexport const unregisterServiceWorker = async (): Promise<boolean> => {\n if (!('serviceWorker' in navigator)) {\n return false;\n }\n\n try {\n const registrations = await navigator.serviceWorker.getRegistrations();\n const unregisterPromises = registrations.map(registration => registration.unregister());\n \n await Promise.all(unregisterPromises);\n console.log('[ServiceWorker] All service workers unregistered');\n return true;\n } catch (error) {\n console.error('[ServiceWorker] Failed to unregister service workers:', error);\n return false;\n }\n};"],"mappings":";AASA,IAAM,iBAAiB,MAAc;AACjC,QAAM,cAAc,OAAO,SAAS,aAAa;AACjD,SAAO,cAAc,0BAA0B,GAAG,OAAO,SAAS,MAAM;AAC1E;AAEF,IAAM,sBAAsB,CAAC,YAA0C;AACrE,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,UAAU,IAAI;AAC/D,QAAM,mBAAmB,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAE1E,MAAI;AAEJ,MAAI,iBAAiB;AACnB,UAAM,YAAY,QAAQ,IAAI,gBAAgB;AAC9C,UAAM,OAAO,aAAa,QAAQ,IAAI,gBAAgB;AACtD,cAAU,UAAU,SAAS,IAAI,IAAI;AAAA,EACvC,OAAO;AACL,cAAU,UAAU,eAAe;AAAA,EACrC;AAEA,SAAO,GAAG,OAAO,qCAAqC,gBAAgB;AACxE;AAEO,IAAM,MAAM,CAAC,QAA8B;AAC9C,QAAM,EAAE,eAAe,IAAI;AAC3B,MAAI,mBAAmB,WAAW;AAC9B,UAAM,2BAA2B,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAClF,UAAM,mBAAmB,oBAAoB,GAAG;AAEhD,cAAU,cACP,SAAS,gBAAgB,EACzB,KAAK,CAAC,iBAAiB,QAAQ,IAAI,cAAc,aAAa,KAAK,CAAC;AAAA,EACvE;AACR;AAEO,IAAM,wBAAwB,OAAO,YAA6E;AACvH,MAAI,EAAE,mBAAmB,YAAY;AACnC,YAAQ,KAAK,mDAAmD;AAChE,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,QAAQ,KAAK,iBAAiB,UAAU,IAAI;AAEpD,MAAI;AACF,UAAM,mBAAmB,oBAAoB,OAAO;AAEpD,UAAM,eAAe,MAAM,UAAU,cAAc,SAAS,kBAAkB;AAAA,MAC5E;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,4CAA4C,YAAY;AACpE,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,wCAAwC,KAAK;AAC3D,UAAM,IAAI,MAAM,sCAAsC,KAAK,EAAE;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,YAA8B;AACnE,MAAI,EAAE,mBAAmB,YAAY;AACnC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,gBAAgB,MAAM,UAAU,cAAc,iBAAiB;AACrE,UAAM,qBAAqB,cAAc,IAAI,kBAAgB,aAAa,WAAW,CAAC;AAEtF,UAAM,QAAQ,IAAI,kBAAkB;AACpC,YAAQ,IAAI,kDAAkD;AAC9D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,yDAAyD,KAAK;AAC5E,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/serviceWorker.ts"],"sourcesContent":["export type ServiceWorkerOptions = {\n firebaseConfig: Record<string, any>;\n scope?: string;\n updateViaCache?: 'imports' | 'all' | 'none';\n domain?: string;\n isTernSecureDev?: boolean;\n localPort?: string;\n};\n\nconst getUrlEndpoint = (): string => {\n const isLocalhost = window.location.hostname === 'localhost';\n return isLocalhost ? 'http://localhost:3000' : `${window.location.origin}`;\n }\n\nconst getServiceWorkerUrl = (options: ServiceWorkerOptions): string => {\n const { firebaseConfig, domain, isTernSecureDev, localPort } = options;\n const serializedConfig = encodeURIComponent(JSON.stringify(firebaseConfig));\n \n let baseUrl: string;\n \n if (isTernSecureDev) {\n const localHost = process.env.TERN_UI_HOST || 'localhost';\n const port = localPort || process.env.TERN_UI_PORT || '3000';\n baseUrl = `http://${localHost}:${port}`;\n } else {\n baseUrl = domain || getUrlEndpoint();\n }\n \n return `${baseUrl}/service-worker.js?firebaseConfig=${serializedConfig}`;\n};\n\nexport const reg = (opt: ServiceWorkerOptions) => {\n const { firebaseConfig } = opt;\n if (\"serviceWorker\" in navigator) {\n encodeURIComponent(JSON.stringify(firebaseConfig));\n const serviceWorkerUrl = getServiceWorkerUrl(opt);\n \n navigator.serviceWorker\n .register(serviceWorkerUrl)\n .then((registration) => console.log(\"scope is: \", registration.scope));\n }\n}\n\nexport const registerServiceWorker = async (options: ServiceWorkerOptions): Promise<ServiceWorkerRegistration | null> => {\n if (!('serviceWorker' in navigator)) {\n console.warn('[ServiceWorker] Service workers are not supported');\n return null;\n }\n\n const { scope = '/', updateViaCache = 'imports' } = options;\n\n try {\n const serviceWorkerUrl = getServiceWorkerUrl(options);\n \n const registration = await navigator.serviceWorker.register(serviceWorkerUrl, {\n scope,\n updateViaCache,\n });\n\n console.log('[ServiceWorker] Registration successful:', registration);\n return registration;\n } catch (error) {\n console.error('[ServiceWorker] Registration failed:', error);\n throw new Error(`Failed to register service worker: ${error}`);\n }\n};\n\nexport const unregisterServiceWorker = async (): Promise<boolean> => {\n if (!('serviceWorker' in navigator)) {\n return false;\n }\n\n try {\n const registrations = await navigator.serviceWorker.getRegistrations();\n const unregisterPromises = registrations.map(registration => registration.unregister());\n \n await Promise.all(unregisterPromises);\n console.log('[ServiceWorker] All service workers unregistered');\n return true;\n } catch (error) {\n console.error('[ServiceWorker] Failed to unregister service workers:', error);\n return false;\n }\n};"],"mappings":";AASA,IAAM,iBAAiB,MAAc;AACjC,QAAM,cAAc,OAAO,SAAS,aAAa;AACjD,SAAO,cAAc,0BAA0B,GAAG,OAAO,SAAS,MAAM;AAC1E;AAEF,IAAM,sBAAsB,CAAC,YAA0C;AACrE,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,UAAU,IAAI;AAC/D,QAAM,mBAAmB,mBAAmB,KAAK,UAAU,cAAc,CAAC;AAE1E,MAAI;AAEJ,MAAI,iBAAiB;AACnB,UAAM,YAAY,QAAQ,IAAI,gBAAgB;AAC9C,UAAM,OAAO,aAAa,QAAQ,IAAI,gBAAgB;AACtD,cAAU,UAAU,SAAS,IAAI,IAAI;AAAA,EACvC,OAAO;AACL,cAAU,UAAU,eAAe;AAAA,EACrC;AAEA,SAAO,GAAG,OAAO,qCAAqC,gBAAgB;AACxE;AAEO,IAAM,MAAM,CAAC,QAA8B;AAChD,QAAM,EAAE,eAAe,IAAI;AAC3B,MAAI,mBAAmB,WAAW;AAChC,uBAAmB,KAAK,UAAU,cAAc,CAAC;AACjD,UAAM,mBAAmB,oBAAoB,GAAG;AAEhD,cAAU,cACT,SAAS,gBAAgB,EACzB,KAAK,CAAC,iBAAiB,QAAQ,IAAI,cAAc,aAAa,KAAK,CAAC;AAAA,EACvE;AACF;AAEO,IAAM,wBAAwB,OAAO,YAA6E;AACvH,MAAI,EAAE,mBAAmB,YAAY;AACnC,YAAQ,KAAK,mDAAmD;AAChE,WAAO;AAAA,EACT;AAEA,QAAM,EAAE,QAAQ,KAAK,iBAAiB,UAAU,IAAI;AAEpD,MAAI;AACF,UAAM,mBAAmB,oBAAoB,OAAO;AAEpD,UAAM,eAAe,MAAM,UAAU,cAAc,SAAS,kBAAkB;AAAA,MAC5E;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,4CAA4C,YAAY;AACpE,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,wCAAwC,KAAK;AAC3D,UAAM,IAAI,MAAM,sCAAsC,KAAK,EAAE;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,YAA8B;AACnE,MAAI,EAAE,mBAAmB,YAAY;AACnC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,gBAAgB,MAAM,UAAU,cAAc,iBAAiB;AACrE,UAAM,qBAAqB,cAAc,IAAI,kBAAgB,aAAa,WAAW,CAAC;AAEtF,UAAM,QAAQ,IAAI,kBAAkB;AACpC,YAAQ,IAAI,kDAAkD;AAC9D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,yDAAyD,KAAK;AAC5E,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,15 @@
1
+ import { TernAuthEventPayload } from '@tern-secure/types';
2
+
3
+ declare const ternEvents: {
4
+ Status: "status";
5
+ };
6
+ declare function createTernAuthEventBus(): {
7
+ on: <Event extends "status">(event: Event, handler: (payload: TernAuthEventPayload[Event]) => void, opts?: {
8
+ notify?: boolean;
9
+ }) => void;
10
+ emit: <Event extends "status">(event: Event, payload: TernAuthEventPayload[Event]) => void;
11
+ off: <Event extends "status">(event: Event, handler?: ((payload: TernAuthEventPayload[Event]) => void) | undefined) => void;
12
+ getListeners: <Event extends "status">(event: Event) => Array<(...args: any[]) => void>;
13
+ };
14
+
15
+ export { createTernAuthEventBus, ternEvents };
@@ -0,0 +1,15 @@
1
+ import { TernAuthEventPayload } from '@tern-secure/types';
2
+
3
+ declare const ternEvents: {
4
+ Status: "status";
5
+ };
6
+ declare function createTernAuthEventBus(): {
7
+ on: <Event extends "status">(event: Event, handler: (payload: TernAuthEventPayload[Event]) => void, opts?: {
8
+ notify?: boolean;
9
+ }) => void;
10
+ emit: <Event extends "status">(event: Event, payload: TernAuthEventPayload[Event]) => void;
11
+ off: <Event extends "status">(event: Event, handler?: ((payload: TernAuthEventPayload[Event]) => void) | undefined) => void;
12
+ getListeners: <Event extends "status">(event: Event) => Array<(...args: any[]) => void>;
13
+ };
14
+
15
+ export { createTernAuthEventBus, ternEvents };
@@ -0,0 +1,81 @@
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/ternStatusEvent.ts
21
+ var ternStatusEvent_exports = {};
22
+ __export(ternStatusEvent_exports, {
23
+ createTernAuthEventBus: () => createTernAuthEventBus,
24
+ ternEvents: () => ternEvents
25
+ });
26
+ module.exports = __toCommonJS(ternStatusEvent_exports);
27
+
28
+ // src/eventBus.ts
29
+ var _off = (eventToHandlersMap, event, handler) => {
30
+ const handlers = eventToHandlersMap.get(event);
31
+ if (handlers) {
32
+ if (handler) {
33
+ handlers.splice(handlers.indexOf(handler) >>> 0, 1);
34
+ } else {
35
+ eventToHandlersMap.set(event, []);
36
+ }
37
+ }
38
+ };
39
+ var _on = (eventToHandlersMap, latestPayloadMap, event, handler, opts) => {
40
+ const { notify } = opts || {};
41
+ let handlers = eventToHandlersMap.get(event);
42
+ if (!handlers) {
43
+ handlers = [];
44
+ eventToHandlersMap.set(event, handlers);
45
+ }
46
+ handlers.push(handler);
47
+ if (notify && latestPayloadMap.has(event)) {
48
+ handler(latestPayloadMap.get(event));
49
+ }
50
+ };
51
+ var _dispatch = (eventToHandlersMap, event, payload) => (eventToHandlersMap.get(event) || []).map((h) => h(payload));
52
+ var createEventBus = () => {
53
+ const eventToHandlersMap = /* @__PURE__ */ new Map();
54
+ const latestPayloadMap = /* @__PURE__ */ new Map();
55
+ const eventToPredispatchHandlersMap = /* @__PURE__ */ new Map();
56
+ const emit = (event, payload) => {
57
+ latestPayloadMap.set(event, payload);
58
+ _dispatch(eventToPredispatchHandlersMap, event, payload);
59
+ _dispatch(eventToHandlersMap, event, payload);
60
+ };
61
+ return {
62
+ on: (...args) => _on(eventToHandlersMap, latestPayloadMap, ...args),
63
+ emit,
64
+ off: (...args) => _off(eventToHandlersMap, ...args),
65
+ getListeners: (event) => eventToHandlersMap.get(event) || []
66
+ };
67
+ };
68
+
69
+ // src/ternStatusEvent.ts
70
+ var ternEvents = {
71
+ Status: "status"
72
+ };
73
+ function createTernAuthEventBus() {
74
+ return createEventBus();
75
+ }
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ createTernAuthEventBus,
79
+ ternEvents
80
+ });
81
+ //# sourceMappingURL=ternStatusEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ternStatusEvent.ts","../src/eventBus.ts"],"sourcesContent":["import type { TernAuthEventPayload } from \"@tern-secure/types\";\n\nimport { createEventBus } from \"./eventBus\";\n\n\nexport const ternEvents = {\n Status: 'status',\n} satisfies Record<string, keyof TernAuthEventPayload>;\n\nexport function createTernAuthEventBus() {\n return createEventBus<TernAuthEventPayload>();\n}","type EventHandler<\n Events extends Record<string, unknown>,\n Key extends keyof Events,\n> = (payload: Events[Key]) => void;\n\ntype EventBus<Events extends Record<string, unknown>> = {\n /**\n * Subscribe to an event\n *\n * @param event - The event name to subscribe to\n * @param handler - The callback function to execute when the event is dispatched\n * @param opts - Optional configuration\n * @param opts.notify - If true and the event was previously dispatched, handler will be called immediately with the latest payload\n * @returns void\n */\n on: <Event extends keyof Events>(\n event: Event,\n handler: EventHandler<Events, Event>,\n opts?: { notify?: boolean }\n ) => void;\n\n /**\n * Publish an event with a payload\n * Triggers all registered handlers for the event\n *\n * @param event - The event name to publish\n * @param payload - The data to pass to event handlers\n * @returns void\n */\n emit: <Event extends keyof Events>(\n event: Event,\n payload: Events[Event]\n ) => void;\n off: <Event extends keyof Events>(\n event: Event,\n handler?: EventHandler<Events, Event>\n ) => void;\n getListeners: <Event extends keyof Events>(\n event: Event\n ) => Array<(...args: any[]) => void>;\n};\n\n/**\n * @internal\n */\ntype InternalOn = <\n Events extends Record<string, unknown>,\n Event extends keyof Events,\n>(\n eventToHandlersMap: Map<keyof Events, Array<(...args: any[]) => void>>,\n latestPayloadMap: Map<keyof Events, any>,\n event: Event,\n handler: EventHandler<Events, Event>,\n opts?: { notify?: boolean }\n) => void;\n\n/**\n * @internal\n */\ntype InternalOff = <\n Events extends Record<string, unknown>,\n Event extends keyof Events,\n>(\n eventToHandlersMap: Map<keyof Events, Array<(...args: any[]) => void>>,\n event: Event,\n handler?: EventHandler<Events, Event>\n) => void;\n\n/**\n * @internal\n */\ntype InternalDispatch = <\n Events extends Record<string, unknown>,\n Event extends keyof Events,\n>(\n eventToHandlersMap: Map<keyof Events, Array<(...args: any[]) => void>>,\n event: Event,\n payload: Events[Event]\n) => void;\n\n/**\n * @internal\n */\nconst _off: InternalOff = (eventToHandlersMap, event, handler) => {\n const handlers = eventToHandlersMap.get(event);\n if (handlers) {\n if (handler) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n } else {\n eventToHandlersMap.set(event, []);\n }\n }\n};\n\n/**\n * @internal\n */\nconst _on: InternalOn = (\n eventToHandlersMap,\n latestPayloadMap,\n event,\n handler,\n opts\n) => {\n const { notify } = opts || {};\n let handlers = eventToHandlersMap.get(event);\n\n if (!handlers) {\n handlers = [];\n eventToHandlersMap.set(event, handlers);\n }\n\n handlers.push(handler);\n if (notify && latestPayloadMap.has(event)) {\n handler(latestPayloadMap.get(event));\n }\n};\n\n/**\n * @internal\n */\n\nconst _dispatch: InternalDispatch = (eventToHandlersMap, event, payload) =>\n (eventToHandlersMap.get(event) || []).map((h) => h(payload));\n\nexport const createEventBus = <\n Events extends Record<string, unknown>,\n>(): EventBus<Events> => {\n const eventToHandlersMap = new Map<\n keyof Events,\n Array<(...args: any[]) => void>\n >();\n const latestPayloadMap = new Map<keyof Events, any>();\n const eventToPredispatchHandlersMap = new Map<\n keyof Events,\n Array<(...args: any[]) => void>\n >();\n\n const emit: EventBus<Events>[\"emit\"] = (event, payload) => {\n latestPayloadMap.set(event, payload);\n _dispatch(eventToPredispatchHandlersMap, event, payload);\n _dispatch(eventToHandlersMap, event, payload);\n };\n\n return {\n on: (...args) => _on(eventToHandlersMap, latestPayloadMap, ...args),\n emit,\n off: (...args) => _off(eventToHandlersMap, ...args),\n getListeners: (event) => eventToHandlersMap.get(event) || [],\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACmFA,IAAM,OAAoB,CAAC,oBAAoB,OAAO,YAAY;AAChE,QAAM,WAAW,mBAAmB,IAAI,KAAK;AAC7C,MAAI,UAAU;AACZ,QAAI,SAAS;AACX,eAAS,OAAO,SAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,IACpD,OAAO;AACL,yBAAmB,IAAI,OAAO,CAAC,CAAC;AAAA,IAClC;AAAA,EACF;AACF;AAKA,IAAM,MAAkB,CACtB,oBACA,kBACA,OACA,SACA,SACG;AACH,QAAM,EAAE,OAAO,IAAI,QAAQ,CAAC;AAC5B,MAAI,WAAW,mBAAmB,IAAI,KAAK;AAE3C,MAAI,CAAC,UAAU;AACb,eAAW,CAAC;AACZ,uBAAmB,IAAI,OAAO,QAAQ;AAAA,EACxC;AAEA,WAAS,KAAK,OAAO;AACrB,MAAI,UAAU,iBAAiB,IAAI,KAAK,GAAG;AACzC,YAAQ,iBAAiB,IAAI,KAAK,CAAC;AAAA,EACrC;AACF;AAMA,IAAM,YAA8B,CAAC,oBAAoB,OAAO,aAC7D,mBAAmB,IAAI,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAEtD,IAAM,iBAAiB,MAEL;AACvB,QAAM,qBAAqB,oBAAI,IAG7B;AACF,QAAM,mBAAmB,oBAAI,IAAuB;AACpD,QAAM,gCAAgC,oBAAI,IAGxC;AAEF,QAAM,OAAiC,CAAC,OAAO,YAAY;AACzD,qBAAiB,IAAI,OAAO,OAAO;AACnC,cAAU,+BAA+B,OAAO,OAAO;AACvD,cAAU,oBAAoB,OAAO,OAAO;AAAA,EAC9C;AAEA,SAAO;AAAA,IACL,IAAI,IAAI,SAAS,IAAI,oBAAoB,kBAAkB,GAAG,IAAI;AAAA,IAClE;AAAA,IACA,KAAK,IAAI,SAAS,KAAK,oBAAoB,GAAG,IAAI;AAAA,IAClD,cAAc,CAAC,UAAU,mBAAmB,IAAI,KAAK,KAAK,CAAC;AAAA,EAC7D;AACF;;;ADjJO,IAAM,aAAa;AAAA,EACtB,QAAQ;AACZ;AAEO,SAAS,yBAAyB;AACrC,SAAO,eAAqC;AAChD;","names":[]}
@@ -0,0 +1,16 @@
1
+ import {
2
+ createEventBus
3
+ } from "./chunk-2UQ43P4P.mjs";
4
+
5
+ // src/ternStatusEvent.ts
6
+ var ternEvents = {
7
+ Status: "status"
8
+ };
9
+ function createTernAuthEventBus() {
10
+ return createEventBus();
11
+ }
12
+ export {
13
+ createTernAuthEventBus,
14
+ ternEvents
15
+ };
16
+ //# sourceMappingURL=ternStatusEvent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ternStatusEvent.ts"],"sourcesContent":["import type { TernAuthEventPayload } from \"@tern-secure/types\";\n\nimport { createEventBus } from \"./eventBus\";\n\n\nexport const ternEvents = {\n Status: 'status',\n} satisfies Record<string, keyof TernAuthEventPayload>;\n\nexport function createTernAuthEventBus() {\n return createEventBus<TernAuthEventPayload>();\n}"],"mappings":";;;;;AAKO,IAAM,aAAa;AAAA,EACtB,QAAQ;AACZ;AAEO,SAAS,yBAAyB;AACrC,SAAO,eAAqC;AAChD;","names":[]}
package/dist/url.d.mts ADDED
@@ -0,0 +1,3 @@
1
+ declare function stripScheme(url?: string): string;
2
+
3
+ export { stripScheme };
package/dist/url.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ declare function stripScheme(url?: string): string;
2
+
3
+ export { stripScheme };
package/dist/url.js ADDED
@@ -0,0 +1,33 @@
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/url.ts
21
+ var url_exports = {};
22
+ __export(url_exports, {
23
+ stripScheme: () => stripScheme
24
+ });
25
+ module.exports = __toCommonJS(url_exports);
26
+ function stripScheme(url = "") {
27
+ return (url || "").replace(/^.+:\/\//, "");
28
+ }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ stripScheme
32
+ });
33
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/url.ts"],"sourcesContent":["export function stripScheme(url = ''): string {\n return (url || '').replace(/^.+:\\/\\//, '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,YAAY,MAAM,IAAY;AAC5C,UAAQ,OAAO,IAAI,QAAQ,YAAY,EAAE;AAC3C;","names":[]}
package/dist/url.mjs ADDED
@@ -0,0 +1,8 @@
1
+ // src/url.ts
2
+ function stripScheme(url = "") {
3
+ return (url || "").replace(/^.+:\/\//, "");
4
+ }
5
+ export {
6
+ stripScheme
7
+ };
8
+ //# sourceMappingURL=url.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/url.ts"],"sourcesContent":["export function stripScheme(url = ''): string {\n return (url || '').replace(/^.+:\\/\\//, '');\n}\n"],"mappings":";AAAO,SAAS,YAAY,MAAM,IAAY;AAC5C,UAAQ,OAAO,IAAI,QAAQ,YAAY,EAAE;AAC3C;","names":[]}
@@ -0,0 +1,5 @@
1
+ type VOrFnReturnsV<T> = T | undefined | ((v: URL) => T);
2
+ declare function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL): T | undefined;
3
+ declare function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue: T): T;
4
+
5
+ export { handleValueOrFn };
@@ -0,0 +1,5 @@
1
+ type VOrFnReturnsV<T> = T | undefined | ((v: URL) => T);
2
+ declare function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL): T | undefined;
3
+ declare function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue: T): T;
4
+
5
+ export { handleValueOrFn };
@@ -0,0 +1,44 @@
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/utils/index.ts
21
+ var utils_exports = {};
22
+ __export(utils_exports, {
23
+ handleValueOrFn: () => handleValueOrFn
24
+ });
25
+ module.exports = __toCommonJS(utils_exports);
26
+
27
+ // src/utils/handleValueOrFn.ts
28
+ function handleValueOrFn(value, url, defaultValue) {
29
+ if (typeof value === "function") {
30
+ return value(url);
31
+ }
32
+ if (typeof value !== "undefined") {
33
+ return value;
34
+ }
35
+ if (typeof defaultValue !== "undefined") {
36
+ return defaultValue;
37
+ }
38
+ return void 0;
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ handleValueOrFn
43
+ });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/index.ts","../../src/utils/handleValueOrFn.ts"],"sourcesContent":["export { handleValueOrFn } from './handleValueOrFn';\n\n","type VOrFnReturnsV<T> = T | undefined | ((v: URL) => T);\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL): T | undefined;\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue: T): T;\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue?: unknown): unknown {\n if (typeof value === 'function') {\n return (value as (v: URL) => T)(url);\n }\n\n if (typeof value !== 'undefined') {\n return value;\n }\n\n if (typeof defaultValue !== 'undefined') {\n return defaultValue;\n }\n\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,SAAS,gBAAmB,OAAyB,KAAU,cAAiC;AACrG,MAAI,OAAO,UAAU,YAAY;AAC/B,WAAQ,MAAwB,GAAG;AAAA,EACrC;AAEA,MAAI,OAAO,UAAU,aAAa;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,iBAAiB,aAAa;AACvC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,17 @@
1
+ // src/utils/handleValueOrFn.ts
2
+ function handleValueOrFn(value, url, defaultValue) {
3
+ if (typeof value === "function") {
4
+ return value(url);
5
+ }
6
+ if (typeof value !== "undefined") {
7
+ return value;
8
+ }
9
+ if (typeof defaultValue !== "undefined") {
10
+ return defaultValue;
11
+ }
12
+ return void 0;
13
+ }
14
+ export {
15
+ handleValueOrFn
16
+ };
17
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/handleValueOrFn.ts"],"sourcesContent":["type VOrFnReturnsV<T> = T | undefined | ((v: URL) => T);\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL): T | undefined;\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue: T): T;\nexport function handleValueOrFn<T>(value: VOrFnReturnsV<T>, url: URL, defaultValue?: unknown): unknown {\n if (typeof value === 'function') {\n return (value as (v: URL) => T)(url);\n }\n\n if (typeof value !== 'undefined') {\n return value;\n }\n\n if (typeof defaultValue !== 'undefined') {\n return defaultValue;\n }\n\n return undefined;\n}\n"],"mappings":";AAGO,SAAS,gBAAmB,OAAyB,KAAU,cAAiC;AACrG,MAAI,OAAO,UAAU,YAAY;AAC/B,WAAQ,MAAwB,GAAG;AAAA,EACrC;AAEA,MAAI,OAAO,UAAU,aAAa;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,iBAAiB,aAAa;AACvC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tern-secure/shared",
3
- "version": "1.1.2",
3
+ "version": "1.2.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/TernSecure/typescript.git",
@@ -18,12 +18,16 @@
18
18
  "derivedAuthState",
19
19
  "eventBus",
20
20
  "loadScript",
21
+ "pathToRegexp",
22
+ "pathMatcher",
21
23
  "loadTernUIScript",
22
24
  "react",
23
- "retry"
25
+ "resolveVersion",
26
+ "retry",
27
+ "url",
28
+ "utils"
24
29
  ],
25
30
  "exports": {
26
- "./package.json": "./package.json",
27
31
  ".": {
28
32
  "import": {
29
33
  "types": "./dist/index.d.mts",
@@ -53,7 +57,18 @@
53
57
  "types": "./dist/react/index.d.ts",
54
58
  "default": "./dist/react/index.js"
55
59
  }
56
- }
60
+ },
61
+ "./utils": {
62
+ "import": {
63
+ "types": "./dist/utils/index.d.mts",
64
+ "default": "./dist/utils/index.mjs"
65
+ },
66
+ "require": {
67
+ "types": "./dist/utils/index.d.ts",
68
+ "default": "./dist/utils/index.js"
69
+ }
70
+ },
71
+ "./package.json": "./package.json"
57
72
  },
58
73
  "main": "./dist/index.js",
59
74
  "devDependencies": {
@@ -66,7 +81,7 @@
66
81
  "dependencies": {
67
82
  "js-cookie": "^3.0.5",
68
83
  "tslib": "2.4.1",
69
- "@tern-secure/types": "1.0.3"
84
+ "@tern-secure/types": "1.0.5"
70
85
  },
71
86
  "peerDependencies": {
72
87
  "react": "^19",
@@ -85,9 +100,11 @@
85
100
  },
86
101
  "scripts": {
87
102
  "clean": "rimraf dist",
88
- "build": "pnpm clean && tsup && tsc -p tsconfig.add.json",
103
+ "build": "pnpm clean && tsup",
104
+ "build:add": "tsc -p tsconfig.add.json",
89
105
  "dev": "tsup --watch",
90
106
  "lint": "eslint src",
107
+ "check-types": "pnpm exec tsc --noEmit",
91
108
  "format": "prettier --write \"src/**/*.{ts,tsx}\""
92
109
  }
93
110
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/loadScript.ts"],"sourcesContent":[" import { retry } from './retry'\n\n type LoadScriptOptions = {\n async?: boolean;\n defer?: boolean;\n crossOrigin?: 'anonymous' | 'use-credentials';\n nonce?: string;\n beforeLoad?: (script: HTMLScriptElement) => void;\n };\n\n export async function loadScript(src ='', options: LoadScriptOptions): Promise<HTMLScriptElement> {\n const { async, defer, crossOrigin, nonce, beforeLoad } = options;\n\n const load = () => {\n return new Promise<HTMLScriptElement>((resolve, reject) => {\n if (!src) {\n reject(new Error('Script src is required'));\n }\n\n if (!document || !document.body) {\n reject(new Error('Document body is not available'));\n }\n\n const script = document.createElement('script');\n\n if (crossOrigin) script.setAttribute('crossorigin', crossOrigin);\n script.async = async || false;\n script.defer = defer || false;\n\n let resolved = false;\n let timeoutId: NodeJS.Timeout | null = null;\n\n const cleanup = () => {\n script.removeEventListener('load', handleLoad);\n script.removeEventListener('error', handleError);\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n \n const handleLoad = () => {\n if (resolved) return;\n console.log(`[loadScript] Script loaded successfully: ${src}`);\n\n resolved = true;\n cleanup();\n resolve(script);\n };\n \n const handleError = (error: ErrorEvent) => {\n if (resolved) return;\n resolved = true;\n cleanup();\n script.remove();\n console.error(`[loadScript] Failed to load script: ${src}`, error);\n reject(new Error(`Failed to load script: ${src}, Error: ${error.message || error}`));\n };\n \n script.addEventListener('load', handleLoad);\n script.addEventListener('error', handleError);\n\n script.src = src;\n script.nonce = nonce;\n beforeLoad?.(script);\n\n console.log(`[loadScript] Appending script to document body: ${src}`);\n document.body.appendChild(script)\n });\n };\n\n return load()\n\n //return retry(load, { shouldRetry: (_, iterations) => iterations <=5 });\n }"],"mappings":";AAUE,eAAsB,WAAW,MAAK,IAAI,SAAwD;AAChG,QAAM,EAAE,OAAO,OAAO,aAAa,OAAO,WAAW,IAAI;AAEzD,QAAM,OAAO,MAAM;AACjB,WAAO,IAAI,QAA2B,CAAC,SAAS,WAAW;AACzD,UAAI,CAAC,KAAK;AACR,eAAO,IAAI,MAAM,wBAAwB,CAAC;AAAA,MAC5C;AAEA,UAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,eAAO,IAAI,MAAM,gCAAgC,CAAC;AAAA,MACpD;AAEA,YAAM,SAAS,SAAS,cAAc,QAAQ;AAE9C,UAAI,YAAa,QAAO,aAAa,eAAe,WAAW;AAC/D,aAAO,QAAQ,SAAS;AACxB,aAAO,QAAQ,SAAS;AAExB,UAAI,WAAW;AACf,UAAI,YAAmC;AAEvC,YAAM,UAAU,MAAM;AACpB,eAAO,oBAAoB,QAAQ,UAAU;AAC7C,eAAO,oBAAoB,SAAS,WAAW;AAC/C,YAAI,WAAW;AACb,uBAAa,SAAS;AACtB,sBAAY;AAAA,QACd;AAAA,MACF;AAEA,YAAM,aAAa,MAAM;AACvB,YAAI,SAAU;AACd,gBAAQ,IAAI,4CAA4C,GAAG,EAAE;AAE7D,mBAAW;AACX,gBAAQ;AACR,gBAAQ,MAAM;AAAA,MAChB;AAEA,YAAM,cAAc,CAAC,UAAsB;AACzC,YAAI,SAAU;AACd,mBAAW;AACX,gBAAQ;AACR,eAAO,OAAO;AACd,gBAAQ,MAAM,uCAAuC,GAAG,IAAI,KAAK;AACjE,eAAO,IAAI,MAAM,0BAA0B,GAAG,YAAY,MAAM,WAAW,KAAK,EAAE,CAAC;AAAA,MACrF;AAEA,aAAO,iBAAiB,QAAQ,UAAU;AAC1C,aAAO,iBAAiB,SAAS,WAAW;AAE5C,aAAO,MAAM;AACb,aAAO,QAAQ;AACf,+CAAa;AAEb,cAAQ,IAAI,mDAAmD,GAAG,EAAE;AACpE,eAAS,KAAK,YAAY,MAAM;AAAA,IAClC,CAAC;AAAA,EACH;AAEA,SAAO,KAAK;AAGd;","names":[]}
@@ -1,12 +0,0 @@
1
- type removeCookieParams = {
2
- path?: string;
3
- domain?: string;
4
- };
5
- export declare function cookieHandler(cookieNanme: string): {
6
- set(value: string, options?: Cookies.CookieAttributes): void;
7
- get(): string | undefined;
8
- remove(removeCookieParams?: removeCookieParams): void;
9
- };
10
- export type CookieAttributes = Cookies.CookieAttributes;
11
- export {};
12
- //# sourceMappingURL=cookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../src/cookie.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM;eAE9B,MAAM,YAAW,OAAO,CAAC,gBAAgB,GAAQ,IAAI;;gCAMpC,kBAAkB;EAIrD;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC"}
@@ -1,7 +0,0 @@
1
- import { TernSecureState } from "@tern-secure/types";
2
- /**
3
- * Default state for derived auth state
4
- */
5
- export declare const DEFAULT_TERN_SECURE_STATE: TernSecureState;
6
- export declare const deriveAuthState: (internalState: TernSecureState | undefined) => TernSecureState;
7
- //# sourceMappingURL=derivedAuthState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derivedAuthState.d.ts","sourceRoot":"","sources":["../../src/derivedAuthState.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAGlB,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AAGH,eAAO,MAAM,yBAAyB,EAAE,eAWvC,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,eAAe,eAAe,GAAG,SAAS,KAAI,eA8B7E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../src/eventBus.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAgE;IAEjF,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAUrE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;CAKnE"}
@@ -1,10 +0,0 @@
1
- type LoadScriptOptions = {
2
- async?: boolean;
3
- defer?: boolean;
4
- crossOrigin?: 'anonymous' | 'use-credentials';
5
- nonce?: string;
6
- beforeLoad?: (script: HTMLScriptElement) => void;
7
- };
8
- export declare function loadScript(src: string | undefined, options: LoadScriptOptions): Promise<HTMLScriptElement>;
9
- export {};
10
- //# sourceMappingURL=loadScript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadScript.d.ts","sourceRoot":"","sources":["../../src/loadScript.ts"],"names":[],"mappings":"AAEE,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,wBAAsB,UAAU,CAAC,GAAG,oBAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgEhG"}
@@ -1,21 +0,0 @@
1
- import type { TernSecureInstanceTreeOptions } from "@tern-secure/types";
2
- export type LoadTernUISCriptOptions = TernSecureInstanceTreeOptions & {
3
- apiKey?: string;
4
- customDomain?: string;
5
- proxyUrl?: string;
6
- version?: string;
7
- scriptHost?: string;
8
- localPort?: string;
9
- nonce?: string;
10
- };
11
- export declare const loadTernUIScript: (options?: LoadTernUISCriptOptions) => Promise<unknown>;
12
- export declare const ternUIgetScriptUrl: (options?: LoadTernUISCriptOptions) => string;
13
- export declare const constructScriptAttributes: (options?: LoadTernUISCriptOptions) => {
14
- nonce?: string | undefined;
15
- 'data-domain': string;
16
- 'data-apikey': string;
17
- 'data-environment': string;
18
- 'data-proxyUrl': string;
19
- 'data-version': string;
20
- };
21
- //# sourceMappingURL=loadTernUIScript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadTernUIScript.d.ts","sourceRoot":"","sources":["../../src/loadTernUIScript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAIxE,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,GAAG;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,eAAO,MAAM,gBAAgB,GAAU,UAAU,uBAAuB,qBA4BrE,CAAA;AAEH,eAAO,MAAM,kBAAkB,GAAI,UAAU,uBAAuB,WAiBnE,CAAA;AAWD,eAAO,MAAM,yBAAyB,GAAI,UAAU,uBAAuB;;;;;;;CAS1E,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=auth-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-actions.d.ts","sourceRoot":"","sources":["../../../../src/nextjs/client/auth-actions.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export { useTernSecure } from './useTernSecure';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,3 +0,0 @@
1
- import type { TernSecureInstanceTree } from "@tern-secure/types";
2
- export declare const useTernSecure: () => TernSecureInstanceTree;
3
- //# sourceMappingURL=useTernSecure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTernSecure.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useTernSecure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,sBAAsB,EACzB,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,aAAa,QAAO,sBAYhC,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './hooks';
2
- export { useAssertWrappedByTernSecureProvider, useTernSecureInstanceContext, useTernSecureAuthContext, useSessionContext, useUserContext, SessionContext, UserContext, TernSecureAuthContext, TernSecureInstanceContext } from './ternsecureProvider';
3
- export { assertContextExists, createContextAndHook } from './ternsecureCtx';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AAEvB,OAAO,EACH,oCAAoC,EACpC,4BAA4B,EAC5B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EAC5B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,iBAAiB,CAAA"}
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Assert that the context value exists, otherwise throw an error.
4
- *
5
- * @internal
6
- */
7
- export declare function assertContextExists(contextVal: unknown, msgOrCtx: string | React.Context<any>): asserts contextVal;
8
- type Options = {
9
- assertCtxFn?: (v: unknown, msg: string) => void;
10
- };
11
- type ContextAndHook<T> = React.Context<{
12
- value: T;
13
- } | undefined>;
14
- type UseCtxFn<T> = () => T;
15
- /**
16
- * Create and return a Context and two hooks that return the context value.
17
- * The Context type is derived from the type passed in by the user.
18
- *
19
- * The first hook returned guarantees that the context exists so the returned value is always `CtxValue`
20
- * The second hook makes no guarantees, so the returned value can be `CtxValue | undefined`
21
- *
22
- * @internal
23
- */
24
- export declare const createContextAndHook: <CtxValue>(displayName: string, options?: Options) => [ContextAndHook<CtxValue>, UseCtxFn<CtxValue>, UseCtxFn<CtxValue | Partial<CtxValue>>];
25
- export {};
26
- //# sourceMappingURL=ternsecureCtx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ternsecureCtx.d.ts","sourceRoot":"","sources":["../../../src/react/ternsecureCtx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAIlH;AACD,KAAK,OAAO,GAAG;IAAE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AACnE,KAAK,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,SAAS,CAAC,CAAC;AACjE,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAE3B;;;;;;;;GAQG;AAEH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,EAC3C,aAAa,MAAM,EACnB,UAAU,OAAO,KAChB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAyBvF,CAAA"}
@@ -1,20 +0,0 @@
1
- import type { TernSecureAuthProvider, TernSecureInstanceTree, TernSecureState } from '@tern-secure/types';
2
- export type TernSecureAuthContextType = {
3
- authProvider: TernSecureAuthProvider | null | undefined;
4
- authState: TernSecureState;
5
- };
6
- declare const TernSecureInstanceContext: import("react").Context<{
7
- value: TernSecureInstanceTree;
8
- } | undefined>, useTernSecureInstanceContext: () => TernSecureInstanceTree;
9
- declare const TernSecureAuthContext: import("react").Context<{
10
- value: TernSecureAuthContextType;
11
- } | undefined>, useTernSecureAuthContext: () => TernSecureAuthContextType;
12
- declare const SessionContext: import("react").Context<{
13
- value: import("@tern-secure/types").SignedInSession | null;
14
- } | undefined>, useSessionContext: () => import("@tern-secure/types").SignedInSession | null;
15
- declare const UserContext: import("react").Context<{
16
- value: import("@tern-secure/types").TernSecureUser | null;
17
- } | undefined>, useUserContext: () => import("@tern-secure/types").TernSecureUser | null;
18
- declare function useAssertWrappedByTernSecureProvider(displayNameOrFn: string | (() => void)): void;
19
- export { TernSecureInstanceContext, TernSecureAuthContext, SessionContext, UserContext, useTernSecureAuthContext, useSessionContext, useUserContext, useTernSecureInstanceContext, useAssertWrappedByTernSecureProvider };
20
- //# sourceMappingURL=ternsecureProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ternsecureProvider.d.ts","sourceRoot":"","sources":["../../../src/react/ternsecureProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAA;AAID,QAAA,MAAO,yBAAyB;;gBAAE,4BAA4B,8BACa,CAAC;AAE5E,QAAA,MAAO,qBAAqB;;gBAAE,wBAAwB,iCACoB,CAAC;AAE3E,QAAA,MAAO,cAAc;;gBAAE,iBAAiB,2DACyC,CAAC;AAElF,QAAA,MAAO,WAAW;;gBAAE,cAAc,0DACyC,CAAC;AAG5E,iBAAS,oCAAoC,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAkB1F;AAGD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,4BAA4B,EAC5B,oCAAoC,EACrC,CAAC"}