{"version":3,"file":"module.mjs","sources":["../src/module.ts"],"sourcesContent":["import type { SDKOptions } from '@strivacity/sdk-core';\nimport { defineNuxtModule, createResolver, addTemplate, addTypeTemplate, addImports, addComponent } from '@nuxt/kit';\nimport type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';\nimport type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport { HttpClient } from '@strivacity/sdk-core/utils/HttpClient';\nimport { DefaultLogging } from '@strivacity/sdk-core/utils/Logging';\nimport { LocalStorage } from '@strivacity/sdk-core/storages/LocalStorage';\nimport { SessionStorage } from '@strivacity/sdk-core/storages/SessionStorage';\n\ndeclare module '@nuxt/schema' {\n\tinterface PublicRuntimeConfig {\n\t\tstrivacity: SDKOptions;\n\t}\n}\n\nexport type ModuleOptions = SDKOptions;\n\nexport * from '@strivacity/sdk-core';\nexport { createCredential, getCredential } from '@strivacity/sdk-core/utils/credentials';\nexport type * from './types';\nexport type { PopupFlow, RedirectFlow, NativeFlow };\nexport { HttpClient, DefaultLogging, LocalStorage, SessionStorage };\n\nexport default defineNuxtModule<ModuleOptions>({\n\tmeta: {\n\t\tname: '@strivacity/sdk-nuxt',\n\t\tconfigKey: 'strivacity',\n\t},\n\tdefaults: {} as SDKOptions,\n\tsetup(options, nuxt) {\n\t\tconst resolver = createResolver(import.meta.url);\n\n\t\tnuxt.options.runtimeConfig.public.strivacity = options;\n\n\t\taddTemplate({\n\t\t\tfilename: 'strivacity-sdk-storage.mjs',\n\t\t\tgetContents: () => `export default ${options.storage ? options.storage.toString() : LocalStorage.toString()}`,\n\t\t});\n\t\taddTypeTemplate({\n\t\t\tfilename: 'strivacity-sdk-storage.d.ts',\n\t\t\tgetContents: () => `\nimport type { SDKStorage } from '@strivacity/sdk-core';\n\ndeclare class CustomStorage implements SDKStorage {\n\tget(key: string): Promise<string | null>;\n\tdelete(key: string): Promise<void>;\n\tset(key: string, value: string): Promise<void>;\n}\n\nexport default CustomStorage`,\n\t\t});\n\t\taddTemplate({\n\t\t\tfilename: 'strivacity-sdk-logging.mjs',\n\t\t\tgetContents: () => `export default ${options.logging?.toString()}`,\n\t\t});\n\t\taddTypeTemplate({\n\t\t\tfilename: 'strivacity-sdk-logging.d.ts',\n\t\t\tgetContents: () => `\nimport type { SDKLogging } from '@strivacity/sdk-core';\n\ndeclare class CustomLogging implements SDKLogging {\n\txEventId: string | undefined;\n\n\tdebug(message: string): void;\n\tinfo(message: string): void;\n\twarn(message: string): void;\n\terror(message: string, error: Error): void;\n}\n\nexport default CustomLogging`,\n\t\t});\n\t\taddComponent({\n\t\t\tname: 'StyLoginRenderer',\n\t\t\tfilePath: resolver.resolve('./runtime/login-renderer.vue'),\n\t\t});\n\t\taddImports({ name: 'useStrivacity', as: 'useStrivacity', from: resolver.resolve('./runtime/composables') });\n\t\taddImports({ name: 'getCredential', as: 'getCredential', from: resolver.resolve('./runtime/composables') });\n\t\taddImports({ name: 'createCredential', as: 'createCredential', from: resolver.resolve('./runtime/composables') });\n\t},\n});\n"],"names":[],"mappings":";;;;;;;;;AAwBA,eAAe,gBAAA,CAAgC;AAAA,EAC9C,IAAA,EAAM;AAAA,IACL,IAAA,EAAM,sBAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACZ;AAAA,EACA,UAAU,EAAC;AAAA,EACX,KAAA,CAAM,SAAS,IAAA,EAAM;AACpB,IAAA,MAAM,QAAA,GAAW,cAAA,CAAe,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA;AAE/C,IAAA,IAAA,CAAK,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAO,UAAA,GAAa,OAAA;AAE/C,IAAA,WAAA,CAAY;AAAA,MACX,QAAA,EAAU,4BAAA;AAAA,MACV,WAAA,EAAa,MAAM,CAAA,eAAA,EAAkB,OAAA,CAAQ,OAAA,GAAU,OAAA,CAAQ,OAAA,CAAQ,QAAA,EAAS,GAAI,YAAA,CAAa,QAAA,EAAU,CAAA;AAAA,KAC3G,CAAA;AACD,IAAA,eAAA,CAAgB;AAAA,MACf,QAAA,EAAU,6BAAA;AAAA,MACV,aAAa,MAAM;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,4BAAA;AAAA,KAUnB,CAAA;AACD,IAAA,WAAA,CAAY;AAAA,MACX,QAAA,EAAU,4BAAA;AAAA,MACV,aAAa,MAAM,CAAA,eAAA,EAAkB,OAAA,CAAQ,OAAA,EAAS,UAAU,CAAA;AAAA,KAChE,CAAA;AACD,IAAA,eAAA,CAAgB;AAAA,MACf,QAAA,EAAU,6BAAA;AAAA,MACV,aAAa,MAAM;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,4BAAA;AAAA,KAanB,CAAA;AACD,IAAA,YAAA,CAAa;AAAA,MACZ,IAAA,EAAM,kBAAA;AAAA,MACN,QAAA,EAAU,QAAA,CAAS,OAAA,CAAQ,8BAA8B;AAAA,KACzD,CAAA;AACD,IAAA,UAAA,CAAW,EAAE,IAAA,EAAM,eAAA,EAAiB,EAAA,EAAI,eAAA,EAAiB,MAAM,QAAA,CAAS,OAAA,CAAQ,uBAAuB,CAAA,EAAG,CAAA;AAC1G,IAAA,UAAA,CAAW,EAAE,IAAA,EAAM,eAAA,EAAiB,EAAA,EAAI,eAAA,EAAiB,MAAM,QAAA,CAAS,OAAA,CAAQ,uBAAuB,CAAA,EAAG,CAAA;AAC1G,IAAA,UAAA,CAAW,EAAE,IAAA,EAAM,kBAAA,EAAoB,EAAA,EAAI,kBAAA,EAAoB,MAAM,QAAA,CAAS,OAAA,CAAQ,uBAAuB,CAAA,EAAG,CAAA;AAAA,EACjH;AACD,CAAC,CAAA;;;;"}