@ozdao/martyrs 0.2.435 → 0.2.437
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/_virtual/index.cjs +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/builder.js +3 -0
- package/dist/builder.mjs +3 -0
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/index.cjs +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/index.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/web.cjs +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/web.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +1 -0
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.cjs +6 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.cjs.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js +6 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/{martyrs/node_modules → node_modules}/uuid/dist/esm-browser/rng.cjs +4 -4
- package/dist/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/stringify.cjs +11 -0
- package/dist/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +11 -0
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/v4.cjs +21 -0
- package/dist/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +21 -0
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/package.json +1 -1
- package/src/builder/webpack/webpack.config.client.js +3 -0
- package/dist/martyrs/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/core/dist/index.js.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.js.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/format.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/format.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_core@7.2.0/node_modules/@capacitor}/core/dist/index.cjs +0 -0
- /package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_core@7.2.0/node_modules/@capacitor}/core/dist/index.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/ParseError.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/ParseError.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/PhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/PhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/constants.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/constants.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/format.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/format.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/RFC3966.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/RFC3966.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/checkNumberLength.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/checkNumberLength.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/createExtensionPattern.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/createExtensionPattern.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/extractExtension.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/extractExtension.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCode.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCode.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractPhoneContext.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractPhoneContext.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByCallingCode.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByCallingCode.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByNationalNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByNationalNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getIddPrefix.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getIddPrefix.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getNumberType.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getNumberType.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isObject.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isObject.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isViablePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isViablePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/matchesEntirely.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/matchesEntirely.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/parseDigits.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/parseDigits.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/stripIddPrefix.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/stripIddPrefix.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isPossible.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isPossible.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isValid.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isValid.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/metadata.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/metadata.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/normalizeArguments.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/normalizeArguments.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parse.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parse.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parseIncompletePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parseIncompletePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumberWithError_.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumberWithError_.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber_.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber_.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/tools/semver-compare.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/tools/semver-compare.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/metadata.min.json.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/metadata.min.json.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/parsePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/parsePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/withMetadataArgument.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/withMetadataArgument.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/server-renderer/dist/server-renderer.esm-bundler.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/shared/dist/shared.esm-bundler.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/@vue/shared/dist/shared.esm-bundler.js.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js.map +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const serverRenderer_esmBundler = require("
|
|
3
|
+
const serverRenderer_esmBundler = require("../../../../../../node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs");
|
|
4
4
|
const index = require("../../../../../../node_modules/@unhead/ssr/dist/index.cjs");
|
|
5
5
|
const axiosInstance = require("./axios-instance.cjs");
|
|
6
6
|
function renderAndMountApp({ createApp }) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { renderToString } from "
|
|
1
|
+
import { renderToString } from "../../../../../../node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js";
|
|
2
2
|
import { renderSSRHead } from "../../../../../../node_modules/@unhead/ssr/dist/index.js";
|
|
3
3
|
import { setAuthToken } from "./axios-instance.js";
|
|
4
4
|
function renderAndMountApp({ createApp }) {
|
|
@@ -84,7 +84,7 @@ class CapacitorPushHandler {
|
|
|
84
84
|
return false;
|
|
85
85
|
}
|
|
86
86
|
try {
|
|
87
|
-
const { Capacitor } = await Promise.resolve().then(() => require("../../../node_modules/@capacitor/core/dist/index.cjs"));
|
|
87
|
+
const { Capacitor } = await Promise.resolve().then(() => require("../../../node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs"));
|
|
88
88
|
const { PushNotifications } = await Promise.resolve().then(() => require("../../../../node_modules/@capacitor/push-notifications/dist/esm/index.cjs"));
|
|
89
89
|
const { Device } = await Promise.resolve().then(() => require("../../../../node_modules/@capacitor/device/dist/esm/index.cjs"));
|
|
90
90
|
this.capacitor = Capacitor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.client.cjs","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * WebSocket notification handler that uses the global WebSocket connection\n */\nclass WebSocketNotificationHandler {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.moduleName = 'notifications';\n this.listeners = [];\n }\n\n /**\n * Connect to notifications channel\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined' || !userId) {\n return Promise.resolve(false);\n }\n\n // First ensure the global WebSocket is connected\n return globalWebSocket.connect(userId).then(() => {\n // Register event listeners\n this._registerListeners();\n return true;\n });\n }\n\n /**\n * Disconnect notification listeners\n */\n disconnect() {\n globalWebSocket.removeModuleListeners(this.moduleName);\n }\n\n /**\n * Register notification event listeners\n */\n _registerListeners() {\n // Listen for notification events\n this.listeners.push(\n globalWebSocket.addEventListener('notification', this._processNotification.bind(this), {\n module: this.moduleName\n })\n );\n \n // Listen for notification read status changes\n this.listeners.push(\n globalWebSocket.addEventListener('notification_read', (data) => {\n this.store.notifications.actions.syncNotificationStatus(data.notificationId, 'read');\n }, { module: this.moduleName })\n );\n }\n\n /**\n * Process incoming notification\n */\n _processNotification(data) {\n if (!data || !data.data) return;\n \n const notification = data.data;\n \n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n _id: notification._id,\n title: notification.title,\n body: notification.body,\n type: notification.type || 'info',\n metadata: notification.metadata || {},\n status: 'unread',\n createdAt: notification.createdAt || new Date().toISOString(),\n updatedAt: notification.updatedAt || new Date().toISOString()\n });\n }\n}\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.wsHandler = new WebSocketNotificationHandler(store, options);\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await this.wsHandler.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n this.wsHandler.disconnect();\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["globalWebSocket","routerNotifications","storeNotifications","watch","isAuthenticated","toRefs","NotificationBadge","NotificationItem","NotificationsList","NotificationPreferences","Notifications","NotificationsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifications.client.cjs","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * WebSocket notification handler that uses the global WebSocket connection\n */\nclass WebSocketNotificationHandler {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.moduleName = 'notifications';\n this.listeners = [];\n }\n\n /**\n * Connect to notifications channel\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined' || !userId) {\n return Promise.resolve(false);\n }\n\n // First ensure the global WebSocket is connected\n return globalWebSocket.connect(userId).then(() => {\n // Register event listeners\n this._registerListeners();\n return true;\n });\n }\n\n /**\n * Disconnect notification listeners\n */\n disconnect() {\n globalWebSocket.removeModuleListeners(this.moduleName);\n }\n\n /**\n * Register notification event listeners\n */\n _registerListeners() {\n // Listen for notification events\n this.listeners.push(\n globalWebSocket.addEventListener('notification', this._processNotification.bind(this), {\n module: this.moduleName\n })\n );\n \n // Listen for notification read status changes\n this.listeners.push(\n globalWebSocket.addEventListener('notification_read', (data) => {\n this.store.notifications.actions.syncNotificationStatus(data.notificationId, 'read');\n }, { module: this.moduleName })\n );\n }\n\n /**\n * Process incoming notification\n */\n _processNotification(data) {\n if (!data || !data.data) return;\n \n const notification = data.data;\n \n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n _id: notification._id,\n title: notification.title,\n body: notification.body,\n type: notification.type || 'info',\n metadata: notification.metadata || {},\n status: 'unread',\n createdAt: notification.createdAt || new Date().toISOString(),\n updatedAt: notification.updatedAt || new Date().toISOString()\n });\n }\n}\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.wsHandler = new WebSocketNotificationHandler(store, options);\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await this.wsHandler.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n this.wsHandler.disconnect();\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["globalWebSocket","routerNotifications","storeNotifications","watch","isAuthenticated","toRefs","NotificationBadge","NotificationItem","NotificationsList","NotificationPreferences","Notifications","NotificationsLayout"],"mappings":"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"}
|
|
@@ -82,7 +82,7 @@ class CapacitorPushHandler {
|
|
|
82
82
|
return false;
|
|
83
83
|
}
|
|
84
84
|
try {
|
|
85
|
-
const { Capacitor } = await import("../../../node_modules/@capacitor/core/dist/index.js");
|
|
85
|
+
const { Capacitor } = await import("../../../node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js");
|
|
86
86
|
const { PushNotifications } = await import("../../../../node_modules/@capacitor/push-notifications/dist/esm/index.js");
|
|
87
87
|
const { Device } = await import("../../../../node_modules/@capacitor/device/dist/esm/index.js");
|
|
88
88
|
this.capacitor = Capacitor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * WebSocket notification handler that uses the global WebSocket connection\n */\nclass WebSocketNotificationHandler {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.moduleName = 'notifications';\n this.listeners = [];\n }\n\n /**\n * Connect to notifications channel\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined' || !userId) {\n return Promise.resolve(false);\n }\n\n // First ensure the global WebSocket is connected\n return globalWebSocket.connect(userId).then(() => {\n // Register event listeners\n this._registerListeners();\n return true;\n });\n }\n\n /**\n * Disconnect notification listeners\n */\n disconnect() {\n globalWebSocket.removeModuleListeners(this.moduleName);\n }\n\n /**\n * Register notification event listeners\n */\n _registerListeners() {\n // Listen for notification events\n this.listeners.push(\n globalWebSocket.addEventListener('notification', this._processNotification.bind(this), {\n module: this.moduleName\n })\n );\n \n // Listen for notification read status changes\n this.listeners.push(\n globalWebSocket.addEventListener('notification_read', (data) => {\n this.store.notifications.actions.syncNotificationStatus(data.notificationId, 'read');\n }, { module: this.moduleName })\n );\n }\n\n /**\n * Process incoming notification\n */\n _processNotification(data) {\n if (!data || !data.data) return;\n \n const notification = data.data;\n \n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n _id: notification._id,\n title: notification.title,\n body: notification.body,\n type: notification.type || 'info',\n metadata: notification.metadata || {},\n status: 'unread',\n createdAt: notification.createdAt || new Date().toISOString(),\n updatedAt: notification.updatedAt || new Date().toISOString()\n });\n }\n}\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.wsHandler = new WebSocketNotificationHandler(store, options);\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await this.wsHandler.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n this.wsHandler.disconnect();\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["routerNotifications","storeNotifications","isAuthenticated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * WebSocket notification handler that uses the global WebSocket connection\n */\nclass WebSocketNotificationHandler {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.moduleName = 'notifications';\n this.listeners = [];\n }\n\n /**\n * Connect to notifications channel\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined' || !userId) {\n return Promise.resolve(false);\n }\n\n // First ensure the global WebSocket is connected\n return globalWebSocket.connect(userId).then(() => {\n // Register event listeners\n this._registerListeners();\n return true;\n });\n }\n\n /**\n * Disconnect notification listeners\n */\n disconnect() {\n globalWebSocket.removeModuleListeners(this.moduleName);\n }\n\n /**\n * Register notification event listeners\n */\n _registerListeners() {\n // Listen for notification events\n this.listeners.push(\n globalWebSocket.addEventListener('notification', this._processNotification.bind(this), {\n module: this.moduleName\n })\n );\n \n // Listen for notification read status changes\n this.listeners.push(\n globalWebSocket.addEventListener('notification_read', (data) => {\n this.store.notifications.actions.syncNotificationStatus(data.notificationId, 'read');\n }, { module: this.moduleName })\n );\n }\n\n /**\n * Process incoming notification\n */\n _processNotification(data) {\n if (!data || !data.data) return;\n \n const notification = data.data;\n \n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n _id: notification._id,\n title: notification.title,\n body: notification.body,\n type: notification.type || 'info',\n metadata: notification.metadata || {},\n status: 'unread',\n createdAt: notification.createdAt || new Date().toISOString(),\n updatedAt: notification.updatedAt || new Date().toISOString()\n });\n }\n}\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.wsHandler = new WebSocketNotificationHandler(store, options);\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await this.wsHandler.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n this.wsHandler.disconnect();\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["routerNotifications","storeNotifications","isAuthenticated"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
4
|
+
const native = { randomUUID };
|
|
5
|
+
exports.default = native;
|
|
6
|
+
//# sourceMappingURL=native.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.cjs","sources":["../../../../../../node_modules/uuid/dist/esm-browser/native.js"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n"],"names":[],"mappings":";;AAAA,MAAM,aAAa,OAAO,WAAW,eAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM;AACtG,MAAe,SAAA,EAAE,WAAY;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sources":["../../../../../../node_modules/uuid/dist/esm-browser/native.js"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n"],"names":[],"mappings":"AAAA,MAAM,aAAa,OAAO,WAAW,eAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM;AACtG,MAAe,SAAA,EAAE,WAAY;","x_google_ignoreList":[0]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
let getRandomValues;
|
|
4
|
+
const rnds8 = new Uint8Array(16);
|
|
5
5
|
function rng() {
|
|
6
6
|
if (!getRandomValues) {
|
|
7
|
-
|
|
8
|
-
if (!getRandomValues) {
|
|
7
|
+
if (typeof crypto === "undefined" || !crypto.getRandomValues) {
|
|
9
8
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
10
9
|
}
|
|
10
|
+
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
11
11
|
}
|
|
12
12
|
return getRandomValues(rnds8);
|
|
13
13
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rng.cjs","sources":["../../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n"],"names":[],"mappings":";;AAAA,IAAI;AACJ,MAAM,QAAQ,IAAI,WAAW,EAAE;AAChB,SAAS,MAAM;AAC1B,MAAI,CAAC,iBAAiB;AAClB,QAAI,OAAO,WAAW,eAAe,CAAC,OAAO,iBAAiB;AAC1D,YAAM,IAAI,MAAM,0GAA0G;AAAA,IACtI;AACQ,sBAAkB,OAAO,gBAAgB,KAAK,MAAM;AAAA,EAC5D;AACI,SAAO,gBAAgB,KAAK;AAChC;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
let getRandomValues;
|
|
2
|
+
const rnds8 = new Uint8Array(16);
|
|
3
|
+
function rng() {
|
|
4
|
+
if (!getRandomValues) {
|
|
5
|
+
if (typeof crypto === "undefined" || !crypto.getRandomValues) {
|
|
6
|
+
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
7
|
+
}
|
|
8
|
+
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
9
|
+
}
|
|
10
|
+
return getRandomValues(rnds8);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
rng as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=rng.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rng.js","sources":["../../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n"],"names":[],"mappings":"AAAA,IAAI;AACJ,MAAM,QAAQ,IAAI,WAAW,EAAE;AAChB,SAAS,MAAM;AAC1B,MAAI,CAAC,iBAAiB;AAClB,QAAI,OAAO,WAAW,eAAe,CAAC,OAAO,iBAAiB;AAC1D,YAAM,IAAI,MAAM,0GAA0G;AAAA,IACtI;AACQ,sBAAkB,OAAO,gBAAgB,KAAK,MAAM;AAAA,EAC5D;AACI,SAAO,gBAAgB,KAAK;AAChC;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const byteToHex = [];
|
|
4
|
+
for (let i = 0; i < 256; ++i) {
|
|
5
|
+
byteToHex.push((i + 256).toString(16).slice(1));
|
|
6
|
+
}
|
|
7
|
+
function unsafeStringify(arr, offset = 0) {
|
|
8
|
+
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
9
|
+
}
|
|
10
|
+
exports.unsafeStringify = unsafeStringify;
|
|
11
|
+
//# sourceMappingURL=stringify.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringify.cjs","sources":["../../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n"],"names":[],"mappings":";;AACA,MAAM,YAAY,CAAE;AACpB,SAAS,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AAC1B,YAAU,MAAM,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AACpD;AACO,SAAS,gBAAgB,KAAK,SAAS,GAAG;AAC7C,UAAQ,UAAU,IAAI,SAAS,CAAC,CAAC,IAC7B,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,GAAG,YAAa;AAClD;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const byteToHex = [];
|
|
2
|
+
for (let i = 0; i < 256; ++i) {
|
|
3
|
+
byteToHex.push((i + 256).toString(16).slice(1));
|
|
4
|
+
}
|
|
5
|
+
function unsafeStringify(arr, offset = 0) {
|
|
6
|
+
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
unsafeStringify
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=stringify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringify.js","sources":["../../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n"],"names":[],"mappings":"AACA,MAAM,YAAY,CAAE;AACpB,SAAS,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AAC1B,YAAU,MAAM,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AACpD;AACO,SAAS,gBAAgB,KAAK,SAAS,GAAG;AAC7C,UAAQ,UAAU,IAAI,SAAS,CAAC,CAAC,IAC7B,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,GAAG,YAAa;AAClD;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const native = require("./native.cjs");
|
|
4
|
+
const rng = require("./rng.cjs");
|
|
5
|
+
const stringify = require("./stringify.cjs");
|
|
6
|
+
function v4(options, buf, offset) {
|
|
7
|
+
var _a;
|
|
8
|
+
if (native.default.randomUUID && true && !options) {
|
|
9
|
+
return native.default.randomUUID();
|
|
10
|
+
}
|
|
11
|
+
options = options || {};
|
|
12
|
+
const rnds = options.random ?? ((_a = options.rng) == null ? void 0 : _a.call(options)) ?? rng.default();
|
|
13
|
+
if (rnds.length < 16) {
|
|
14
|
+
throw new Error("Random bytes length must be >= 16");
|
|
15
|
+
}
|
|
16
|
+
rnds[6] = rnds[6] & 15 | 64;
|
|
17
|
+
rnds[8] = rnds[8] & 63 | 128;
|
|
18
|
+
return stringify.unsafeStringify(rnds);
|
|
19
|
+
}
|
|
20
|
+
exports.default = v4;
|
|
21
|
+
//# sourceMappingURL=v4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4.cjs","sources":["../../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n"],"names":["native","rng","unsafeStringify"],"mappings":";;;;;AAGA,SAAS,GAAG,SAAS,KAAK,QAAQ;;AAC9B,MAAIA,eAAO,cAAc,QAAQ,CAAC,SAAS;AACvC,WAAOA,OAAAA,QAAO,WAAY;AAAA,EAClC;AACI,YAAU,WAAW,CAAE;AACvB,QAAM,OAAO,QAAQ,YAAU,aAAQ,QAAR,qCAAmBC,YAAK;AACvD,MAAI,KAAK,SAAS,IAAI;AAClB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EAC3D;AACI,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAC7B,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAW7B,SAAOC,UAAAA,gBAAgB,IAAI;AAC/B;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import native from "./native.js";
|
|
2
|
+
import rng from "./rng.js";
|
|
3
|
+
import { unsafeStringify } from "./stringify.js";
|
|
4
|
+
function v4(options, buf, offset) {
|
|
5
|
+
var _a;
|
|
6
|
+
if (native.randomUUID && true && !options) {
|
|
7
|
+
return native.randomUUID();
|
|
8
|
+
}
|
|
9
|
+
options = options || {};
|
|
10
|
+
const rnds = options.random ?? ((_a = options.rng) == null ? void 0 : _a.call(options)) ?? rng();
|
|
11
|
+
if (rnds.length < 16) {
|
|
12
|
+
throw new Error("Random bytes length must be >= 16");
|
|
13
|
+
}
|
|
14
|
+
rnds[6] = rnds[6] & 15 | 64;
|
|
15
|
+
rnds[8] = rnds[8] & 63 | 128;
|
|
16
|
+
return unsafeStringify(rnds);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
v4 as default
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4.js","sources":["../../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n"],"names":[],"mappings":";;;AAGA,SAAS,GAAG,SAAS,KAAK,QAAQ;;AAC9B,MAAI,OAAO,cAAc,QAAQ,CAAC,SAAS;AACvC,WAAO,OAAO,WAAY;AAAA,EAClC;AACI,YAAU,WAAW,CAAE;AACvB,QAAM,OAAO,QAAQ,YAAU,aAAQ,QAAR,qCAAmB,IAAK;AACvD,MAAI,KAAK,SAAS,IAAI;AAClB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EAC3D;AACI,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAC7B,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAW7B,SAAO,gBAAgB,IAAI;AAC/B;","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -47,10 +47,13 @@ module.exports = (projectRoot) => {
|
|
|
47
47
|
|
|
48
48
|
paths: glob.sync([
|
|
49
49
|
path.join(projectRoot, 'src/**/*.vue'),
|
|
50
|
+
path.join(projectRoot, 'src/**/*.js'),
|
|
50
51
|
path.join(projectRoot, 'martyrs/src/**/*.vue'),
|
|
52
|
+
path.join(projectRoot, 'martyrs/src/**/*.js'),
|
|
51
53
|
path.join(projectRoot, '/node_modules/@ozdao/martyrs/**/*.css'),
|
|
52
54
|
path.join(projectRoot, '/node_modules/@ozdao/martyrs/**/*.scss'),
|
|
53
55
|
path.join(projectRoot, '/node_modules/@ozdao/martyrs/src/**/*.vue'),
|
|
56
|
+
path.join(projectRoot, '/node_modules/@ozdao/martyrs/src/**/*.js'),
|
|
54
57
|
path.join(projectRoot, '/node_modules/@vuepic/vue-datepicker/**/*.js')
|
|
55
58
|
]),
|
|
56
59
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../node_modules/@capacitor/core/dist/index.js"],"sourcesContent":["/*! Capacitor: https://capacitorjs.com/ - MIT License */\nvar ExceptionCode;\n(function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n})(ExceptionCode || (ExceptionCode = {}));\nclass CapacitorException extends Error {\n constructor(message, code, data) {\n super(message);\n this.message = message;\n this.code = code;\n this.data = data;\n }\n}\nconst getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\n else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) {\n return 'ios';\n }\n else {\n return 'web';\n }\n};\n\nconst createCapacitor = (win) => {\n const capCustomPlatform = win.CapacitorCustomPlatform || null;\n const cap = win.Capacitor || {};\n const Plugins = (cap.Plugins = cap.Plugins || {});\n const getPlatform = () => {\n return capCustomPlatform !== null ? capCustomPlatform.name : getPlatformId(win);\n };\n const isNativePlatform = () => getPlatform() !== 'web';\n const isPluginAvailable = (pluginName) => {\n const plugin = registeredPlugins.get(pluginName);\n if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {\n // JS implementation available for the current platform.\n return true;\n }\n if (getPluginHeader(pluginName)) {\n // Native implementation available.\n return true;\n }\n return false;\n };\n const getPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find((h) => h.name === pluginName); };\n const handleError = (err) => win.console.error(err);\n const registeredPlugins = new Map();\n const registerPlugin = (pluginName, jsImplementations = {}) => {\n const registeredPlugin = registeredPlugins.get(pluginName);\n if (registeredPlugin) {\n console.warn(`Capacitor plugin \"${pluginName}\" already registered. Cannot register plugins twice.`);\n return registeredPlugin.proxy;\n }\n const platform = getPlatform();\n const pluginHeader = getPluginHeader(pluginName);\n let jsImplementation;\n const loadPluginImplementation = async () => {\n if (!jsImplementation && platform in jsImplementations) {\n jsImplementation =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null && !jsImplementation && 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (jsImplementation = jsImplementations['web']);\n }\n return jsImplementation;\n };\n const createPluginMethod = (impl, prop) => {\n var _a, _b;\n if (pluginHeader) {\n const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find((m) => prop === m.name);\n if (methodHeader) {\n if (methodHeader.rtype === 'promise') {\n return (options) => cap.nativePromise(pluginName, prop.toString(), options);\n }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\n else {\n throw new CapacitorException(`\"${pluginName}\" plugin is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n };\n const createPluginMethodWrapper = (prop) => {\n let remove;\n const wrapper = (...args) => {\n const p = loadPluginImplementation().then((impl) => {\n const fn = createPluginMethod(impl, prop);\n if (fn) {\n const p = fn(...args);\n remove = p === null || p === void 0 ? void 0 : p.remove;\n return p;\n }\n else {\n throw new CapacitorException(`\"${pluginName}.${prop}()\" is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n });\n if (prop === 'addListener') {\n p.remove = async () => remove();\n }\n return p;\n };\n // Some flair ✨\n wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;\n Object.defineProperty(wrapper, 'name', {\n value: prop,\n writable: false,\n configurable: false,\n });\n return wrapper;\n };\n const addListener = createPluginMethodWrapper('addListener');\n const removeListener = createPluginMethodWrapper('removeListener');\n const addListenerNative = (eventName, callback) => {\n const call = addListener({ eventName }, callback);\n const remove = async () => {\n const callbackId = await call;\n removeListener({\n eventName,\n callbackId,\n }, callback);\n };\n const p = new Promise((resolve) => call.then(() => resolve({ remove })));\n p.remove = async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n };\n return p;\n };\n const proxy = new Proxy({}, {\n get(_, prop) {\n switch (prop) {\n // https://github.com/facebook/react/issues/20030\n case '$$typeof':\n return undefined;\n case 'toJSON':\n return () => ({});\n case 'addListener':\n return pluginHeader ? addListenerNative : addListener;\n case 'removeListener':\n return removeListener;\n default:\n return createPluginMethodWrapper(prop);\n }\n },\n });\n Plugins[pluginName] = proxy;\n registeredPlugins.set(pluginName, {\n name: pluginName,\n proxy,\n platforms: new Set([...Object.keys(jsImplementations), ...(pluginHeader ? [platform] : [])]),\n });\n return proxy;\n };\n // Add in convertFileSrc for web, it will already be available in native context\n if (!cap.convertFileSrc) {\n cap.convertFileSrc = (filePath) => filePath;\n }\n cap.getPlatform = getPlatform;\n cap.handleError = handleError;\n cap.isNativePlatform = isNativePlatform;\n cap.isPluginAvailable = isPluginAvailable;\n cap.registerPlugin = registerPlugin;\n cap.Exception = CapacitorException;\n cap.DEBUG = !!cap.DEBUG;\n cap.isLoggingEnabled = !!cap.isLoggingEnabled;\n return cap;\n};\nconst initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n\nconst Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nconst registerPlugin = Capacitor.registerPlugin;\n\n/**\n * Base class web plugins should extend.\n */\nclass WebPlugin {\n constructor() {\n this.listeners = {};\n this.retainedEventArguments = {};\n this.windowListeners = {};\n }\n addListener(eventName, listenerFunc) {\n let firstListener = false;\n const listeners = this.listeners[eventName];\n if (!listeners) {\n this.listeners[eventName] = [];\n firstListener = true;\n }\n this.listeners[eventName].push(listenerFunc);\n // If we haven't added a window listener for this event and it requires one,\n // go ahead and add it\n const windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n if (firstListener) {\n this.sendRetainedArgumentsForEvent(eventName);\n }\n const remove = async () => this.removeListener(eventName, listenerFunc);\n const p = Promise.resolve({ remove });\n return p;\n }\n async removeAllListeners() {\n this.listeners = {};\n for (const listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n }\n notifyListeners(eventName, data, retainUntilConsumed) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n if (retainUntilConsumed) {\n let args = this.retainedEventArguments[eventName];\n if (!args) {\n args = [];\n }\n args.push(data);\n this.retainedEventArguments[eventName] = args;\n }\n return;\n }\n listeners.forEach((listener) => listener(data));\n }\n hasListeners(eventName) {\n return !!this.listeners[eventName].length;\n }\n registerWindowListener(windowEventName, pluginEventName) {\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName,\n pluginEventName,\n handler: (event) => {\n this.notifyListeners(pluginEventName, event);\n },\n };\n }\n unimplemented(msg = 'not implemented') {\n return new Capacitor.Exception(msg, ExceptionCode.Unimplemented);\n }\n unavailable(msg = 'not available') {\n return new Capacitor.Exception(msg, ExceptionCode.Unavailable);\n }\n async removeListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(listenerFunc);\n this.listeners[eventName].splice(index, 1);\n // If there are no more listeners for this type of event,\n // remove the window listener\n if (!this.listeners[eventName].length) {\n this.removeWindowListener(this.windowListeners[eventName]);\n }\n }\n addWindowListener(handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n }\n removeWindowListener(handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n }\n sendRetainedArgumentsForEvent(eventName) {\n const args = this.retainedEventArguments[eventName];\n if (!args) {\n return;\n }\n delete this.retainedEventArguments[eventName];\n args.forEach((arg) => {\n this.notifyListeners(eventName, arg);\n });\n }\n}\n\nconst WebView = /*#__PURE__*/ registerPlugin('WebView');\n/******** END WEB VIEW PLUGIN ********/\n/******** COOKIES PLUGIN ********/\n/**\n * Safely web encode a string value (inspired by js-cookie)\n * @param str The string value to encode\n */\nconst encode = (str) => encodeURIComponent(str)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n/**\n * Safely web decode a string value (inspired by js-cookie)\n * @param str The string value to decode\n */\nconst decode = (str) => str.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\nclass CapacitorCookiesPluginWeb extends WebPlugin {\n async getCookies() {\n const cookies = document.cookie;\n const cookieMap = {};\n cookies.split(';').forEach((cookie) => {\n if (cookie.length <= 0)\n return;\n // Replace first \"=\" with CAP_COOKIE to prevent splitting on additional \"=\"\n let [key, value] = cookie.replace(/=/, 'CAP_COOKIE').split('CAP_COOKIE');\n key = decode(key).trim();\n value = decode(value).trim();\n cookieMap[key] = value;\n });\n return cookieMap;\n }\n async setCookie(options) {\n try {\n // Safely Encoded Key/Value\n const encodedKey = encode(options.key);\n const encodedValue = encode(options.value);\n // Clean & sanitize options\n const expires = `; expires=${(options.expires || '').replace('expires=', '')}`; // Default is \"; expires=\"\n const path = (options.path || '/').replace('path=', ''); // Default is \"path=/\"\n const domain = options.url != null && options.url.length > 0 ? `domain=${options.url}` : '';\n document.cookie = `${encodedKey}=${encodedValue || ''}${expires}; path=${path}; ${domain};`;\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async deleteCookie(options) {\n try {\n document.cookie = `${options.key}=; Max-Age=0`;\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async clearCookies() {\n try {\n const cookies = document.cookie.split(';') || [];\n for (const cookie of cookies) {\n document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`);\n }\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async clearAllCookies() {\n try {\n await this.clearCookies();\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n}\nconst CapacitorCookies = registerPlugin('CapacitorCookies', {\n web: () => new CapacitorCookiesPluginWeb(),\n});\n// UTILITY FUNCTIONS\n/**\n * Read in a Blob value and return it as a base64 string\n * @param blob The blob value to convert to a base64 string\n */\nconst readBlobAsBase64 = async (blob) => new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const base64String = reader.result;\n // remove prefix \"data:application/pdf;base64,\"\n resolve(base64String.indexOf(',') >= 0 ? base64String.split(',')[1] : base64String);\n };\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(blob);\n});\n/**\n * Normalize an HttpHeaders map by lowercasing all of the values\n * @param headers The HttpHeaders object to normalize\n */\nconst normalizeHttpHeaders = (headers = {}) => {\n const originalKeys = Object.keys(headers);\n const loweredKeys = Object.keys(headers).map((k) => k.toLocaleLowerCase());\n const normalized = loweredKeys.reduce((acc, key, index) => {\n acc[key] = headers[originalKeys[index]];\n return acc;\n }, {});\n return normalized;\n};\n/**\n * Builds a string of url parameters that\n * @param params A map of url parameters\n * @param shouldEncode true if you should encodeURIComponent() the values (true by default)\n */\nconst buildUrlParams = (params, shouldEncode = true) => {\n if (!params)\n return null;\n const output = Object.entries(params).reduce((accumulator, entry) => {\n const [key, value] = entry;\n let encodedValue;\n let item;\n if (Array.isArray(value)) {\n item = '';\n value.forEach((str) => {\n encodedValue = shouldEncode ? encodeURIComponent(str) : str;\n item += `${key}=${encodedValue}&`;\n });\n // last character will always be \"&\" so slice it off\n item.slice(0, -1);\n }\n else {\n encodedValue = shouldEncode ? encodeURIComponent(value) : value;\n item = `${key}=${encodedValue}`;\n }\n return `${accumulator}&${item}`;\n }, '');\n // Remove initial \"&\" from the reduce\n return output.substr(1);\n};\n/**\n * Build the RequestInit object based on the options passed into the initial request\n * @param options The Http plugin options\n * @param extra Any extra RequestInit values\n */\nconst buildRequestInit = (options, extra = {}) => {\n const output = Object.assign({ method: options.method || 'GET', headers: options.headers }, extra);\n // Get the content-type\n const headers = normalizeHttpHeaders(options.headers);\n const type = headers['content-type'] || '';\n // If body is already a string, then pass it through as-is.\n if (typeof options.data === 'string') {\n output.body = options.data;\n }\n // Build request initializers based off of content-type\n else if (type.includes('application/x-www-form-urlencoded')) {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(options.data || {})) {\n params.set(key, value);\n }\n output.body = params.toString();\n }\n else if (type.includes('multipart/form-data') || options.data instanceof FormData) {\n const form = new FormData();\n if (options.data instanceof FormData) {\n options.data.forEach((value, key) => {\n form.append(key, value);\n });\n }\n else {\n for (const key of Object.keys(options.data)) {\n form.append(key, options.data[key]);\n }\n }\n output.body = form;\n const headers = new Headers(output.headers);\n headers.delete('content-type'); // content-type will be set by `window.fetch` to includy boundary\n output.headers = headers;\n }\n else if (type.includes('application/json') || typeof options.data === 'object') {\n output.body = JSON.stringify(options.data);\n }\n return output;\n};\n// WEB IMPLEMENTATION\nclass CapacitorHttpPluginWeb extends WebPlugin {\n /**\n * Perform an Http request given a set of options\n * @param options Options to build the HTTP request\n */\n async request(options) {\n const requestInit = buildRequestInit(options, options.webFetchExtra);\n const urlParams = buildUrlParams(options.params, options.shouldEncodeUrlParams);\n const url = urlParams ? `${options.url}?${urlParams}` : options.url;\n const response = await fetch(url, requestInit);\n const contentType = response.headers.get('content-type') || '';\n // Default to 'text' responseType so no parsing happens\n let { responseType = 'text' } = response.ok ? options : {};\n // If the response content-type is json, force the response to be json\n if (contentType.includes('application/json')) {\n responseType = 'json';\n }\n let data;\n let blob;\n switch (responseType) {\n case 'arraybuffer':\n case 'blob':\n blob = await response.blob();\n data = await readBlobAsBase64(blob);\n break;\n case 'json':\n data = await response.json();\n break;\n case 'document':\n case 'text':\n default:\n data = await response.text();\n }\n // Convert fetch headers to Capacitor HttpHeaders\n const headers = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n return {\n data,\n headers,\n status: response.status,\n url: response.url,\n };\n }\n /**\n * Perform an Http GET request given a set of options\n * @param options Options to build the HTTP request\n */\n async get(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'GET' }));\n }\n /**\n * Perform an Http POST request given a set of options\n * @param options Options to build the HTTP request\n */\n async post(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'POST' }));\n }\n /**\n * Perform an Http PUT request given a set of options\n * @param options Options to build the HTTP request\n */\n async put(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'PUT' }));\n }\n /**\n * Perform an Http PATCH request given a set of options\n * @param options Options to build the HTTP request\n */\n async patch(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'PATCH' }));\n }\n /**\n * Perform an Http DELETE request given a set of options\n * @param options Options to build the HTTP request\n */\n async delete(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'DELETE' }));\n }\n}\nconst CapacitorHttp = registerPlugin('CapacitorHttp', {\n web: () => new CapacitorHttpPluginWeb(),\n});\n/******** END HTTP PLUGIN ********/\n\nexport { Capacitor, CapacitorCookies, CapacitorException, CapacitorHttp, ExceptionCode, WebPlugin, WebView, buildRequestInit, registerPlugin };\n//# sourceMappingURL=index.js.map\n"],"names":["ExceptionCode","registerPlugin","p","headers"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@capacitor/core/dist/index.js"],"sourcesContent":["/*! Capacitor: https://capacitorjs.com/ - MIT License */\nvar ExceptionCode;\n(function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n})(ExceptionCode || (ExceptionCode = {}));\nclass CapacitorException extends Error {\n constructor(message, code, data) {\n super(message);\n this.message = message;\n this.code = code;\n this.data = data;\n }\n}\nconst getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\n else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) {\n return 'ios';\n }\n else {\n return 'web';\n }\n};\n\nconst createCapacitor = (win) => {\n const capCustomPlatform = win.CapacitorCustomPlatform || null;\n const cap = win.Capacitor || {};\n const Plugins = (cap.Plugins = cap.Plugins || {});\n const getPlatform = () => {\n return capCustomPlatform !== null ? capCustomPlatform.name : getPlatformId(win);\n };\n const isNativePlatform = () => getPlatform() !== 'web';\n const isPluginAvailable = (pluginName) => {\n const plugin = registeredPlugins.get(pluginName);\n if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {\n // JS implementation available for the current platform.\n return true;\n }\n if (getPluginHeader(pluginName)) {\n // Native implementation available.\n return true;\n }\n return false;\n };\n const getPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find((h) => h.name === pluginName); };\n const handleError = (err) => win.console.error(err);\n const registeredPlugins = new Map();\n const registerPlugin = (pluginName, jsImplementations = {}) => {\n const registeredPlugin = registeredPlugins.get(pluginName);\n if (registeredPlugin) {\n console.warn(`Capacitor plugin \"${pluginName}\" already registered. Cannot register plugins twice.`);\n return registeredPlugin.proxy;\n }\n const platform = getPlatform();\n const pluginHeader = getPluginHeader(pluginName);\n let jsImplementation;\n const loadPluginImplementation = async () => {\n if (!jsImplementation && platform in jsImplementations) {\n jsImplementation =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null && !jsImplementation && 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (jsImplementation = jsImplementations['web']);\n }\n return jsImplementation;\n };\n const createPluginMethod = (impl, prop) => {\n var _a, _b;\n if (pluginHeader) {\n const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find((m) => prop === m.name);\n if (methodHeader) {\n if (methodHeader.rtype === 'promise') {\n return (options) => cap.nativePromise(pluginName, prop.toString(), options);\n }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\n else {\n throw new CapacitorException(`\"${pluginName}\" plugin is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n };\n const createPluginMethodWrapper = (prop) => {\n let remove;\n const wrapper = (...args) => {\n const p = loadPluginImplementation().then((impl) => {\n const fn = createPluginMethod(impl, prop);\n if (fn) {\n const p = fn(...args);\n remove = p === null || p === void 0 ? void 0 : p.remove;\n return p;\n }\n else {\n throw new CapacitorException(`\"${pluginName}.${prop}()\" is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n });\n if (prop === 'addListener') {\n p.remove = async () => remove();\n }\n return p;\n };\n // Some flair ✨\n wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;\n Object.defineProperty(wrapper, 'name', {\n value: prop,\n writable: false,\n configurable: false,\n });\n return wrapper;\n };\n const addListener = createPluginMethodWrapper('addListener');\n const removeListener = createPluginMethodWrapper('removeListener');\n const addListenerNative = (eventName, callback) => {\n const call = addListener({ eventName }, callback);\n const remove = async () => {\n const callbackId = await call;\n removeListener({\n eventName,\n callbackId,\n }, callback);\n };\n const p = new Promise((resolve) => call.then(() => resolve({ remove })));\n p.remove = async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n };\n return p;\n };\n const proxy = new Proxy({}, {\n get(_, prop) {\n switch (prop) {\n // https://github.com/facebook/react/issues/20030\n case '$$typeof':\n return undefined;\n case 'toJSON':\n return () => ({});\n case 'addListener':\n return pluginHeader ? addListenerNative : addListener;\n case 'removeListener':\n return removeListener;\n default:\n return createPluginMethodWrapper(prop);\n }\n },\n });\n Plugins[pluginName] = proxy;\n registeredPlugins.set(pluginName, {\n name: pluginName,\n proxy,\n platforms: new Set([...Object.keys(jsImplementations), ...(pluginHeader ? [platform] : [])]),\n });\n return proxy;\n };\n // Add in convertFileSrc for web, it will already be available in native context\n if (!cap.convertFileSrc) {\n cap.convertFileSrc = (filePath) => filePath;\n }\n cap.getPlatform = getPlatform;\n cap.handleError = handleError;\n cap.isNativePlatform = isNativePlatform;\n cap.isPluginAvailable = isPluginAvailable;\n cap.registerPlugin = registerPlugin;\n cap.Exception = CapacitorException;\n cap.DEBUG = !!cap.DEBUG;\n cap.isLoggingEnabled = !!cap.isLoggingEnabled;\n return cap;\n};\nconst initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n\nconst Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nconst registerPlugin = Capacitor.registerPlugin;\n\n/**\n * Base class web plugins should extend.\n */\nclass WebPlugin {\n constructor() {\n this.listeners = {};\n this.retainedEventArguments = {};\n this.windowListeners = {};\n }\n addListener(eventName, listenerFunc) {\n let firstListener = false;\n const listeners = this.listeners[eventName];\n if (!listeners) {\n this.listeners[eventName] = [];\n firstListener = true;\n }\n this.listeners[eventName].push(listenerFunc);\n // If we haven't added a window listener for this event and it requires one,\n // go ahead and add it\n const windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n if (firstListener) {\n this.sendRetainedArgumentsForEvent(eventName);\n }\n const remove = async () => this.removeListener(eventName, listenerFunc);\n const p = Promise.resolve({ remove });\n return p;\n }\n async removeAllListeners() {\n this.listeners = {};\n for (const listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n }\n notifyListeners(eventName, data, retainUntilConsumed) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n if (retainUntilConsumed) {\n let args = this.retainedEventArguments[eventName];\n if (!args) {\n args = [];\n }\n args.push(data);\n this.retainedEventArguments[eventName] = args;\n }\n return;\n }\n listeners.forEach((listener) => listener(data));\n }\n hasListeners(eventName) {\n return !!this.listeners[eventName].length;\n }\n registerWindowListener(windowEventName, pluginEventName) {\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName,\n pluginEventName,\n handler: (event) => {\n this.notifyListeners(pluginEventName, event);\n },\n };\n }\n unimplemented(msg = 'not implemented') {\n return new Capacitor.Exception(msg, ExceptionCode.Unimplemented);\n }\n unavailable(msg = 'not available') {\n return new Capacitor.Exception(msg, ExceptionCode.Unavailable);\n }\n async removeListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(listenerFunc);\n this.listeners[eventName].splice(index, 1);\n // If there are no more listeners for this type of event,\n // remove the window listener\n if (!this.listeners[eventName].length) {\n this.removeWindowListener(this.windowListeners[eventName]);\n }\n }\n addWindowListener(handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n }\n removeWindowListener(handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n }\n sendRetainedArgumentsForEvent(eventName) {\n const args = this.retainedEventArguments[eventName];\n if (!args) {\n return;\n }\n delete this.retainedEventArguments[eventName];\n args.forEach((arg) => {\n this.notifyListeners(eventName, arg);\n });\n }\n}\n\nconst WebView = /*#__PURE__*/ registerPlugin('WebView');\n/******** END WEB VIEW PLUGIN ********/\n/******** COOKIES PLUGIN ********/\n/**\n * Safely web encode a string value (inspired by js-cookie)\n * @param str The string value to encode\n */\nconst encode = (str) => encodeURIComponent(str)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n/**\n * Safely web decode a string value (inspired by js-cookie)\n * @param str The string value to decode\n */\nconst decode = (str) => str.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\nclass CapacitorCookiesPluginWeb extends WebPlugin {\n async getCookies() {\n const cookies = document.cookie;\n const cookieMap = {};\n cookies.split(';').forEach((cookie) => {\n if (cookie.length <= 0)\n return;\n // Replace first \"=\" with CAP_COOKIE to prevent splitting on additional \"=\"\n let [key, value] = cookie.replace(/=/, 'CAP_COOKIE').split('CAP_COOKIE');\n key = decode(key).trim();\n value = decode(value).trim();\n cookieMap[key] = value;\n });\n return cookieMap;\n }\n async setCookie(options) {\n try {\n // Safely Encoded Key/Value\n const encodedKey = encode(options.key);\n const encodedValue = encode(options.value);\n // Clean & sanitize options\n const expires = `; expires=${(options.expires || '').replace('expires=', '')}`; // Default is \"; expires=\"\n const path = (options.path || '/').replace('path=', ''); // Default is \"path=/\"\n const domain = options.url != null && options.url.length > 0 ? `domain=${options.url}` : '';\n document.cookie = `${encodedKey}=${encodedValue || ''}${expires}; path=${path}; ${domain};`;\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async deleteCookie(options) {\n try {\n document.cookie = `${options.key}=; Max-Age=0`;\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async clearCookies() {\n try {\n const cookies = document.cookie.split(';') || [];\n for (const cookie of cookies) {\n document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`);\n }\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n async clearAllCookies() {\n try {\n await this.clearCookies();\n }\n catch (error) {\n return Promise.reject(error);\n }\n }\n}\nconst CapacitorCookies = registerPlugin('CapacitorCookies', {\n web: () => new CapacitorCookiesPluginWeb(),\n});\n// UTILITY FUNCTIONS\n/**\n * Read in a Blob value and return it as a base64 string\n * @param blob The blob value to convert to a base64 string\n */\nconst readBlobAsBase64 = async (blob) => new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const base64String = reader.result;\n // remove prefix \"data:application/pdf;base64,\"\n resolve(base64String.indexOf(',') >= 0 ? base64String.split(',')[1] : base64String);\n };\n reader.onerror = (error) => reject(error);\n reader.readAsDataURL(blob);\n});\n/**\n * Normalize an HttpHeaders map by lowercasing all of the values\n * @param headers The HttpHeaders object to normalize\n */\nconst normalizeHttpHeaders = (headers = {}) => {\n const originalKeys = Object.keys(headers);\n const loweredKeys = Object.keys(headers).map((k) => k.toLocaleLowerCase());\n const normalized = loweredKeys.reduce((acc, key, index) => {\n acc[key] = headers[originalKeys[index]];\n return acc;\n }, {});\n return normalized;\n};\n/**\n * Builds a string of url parameters that\n * @param params A map of url parameters\n * @param shouldEncode true if you should encodeURIComponent() the values (true by default)\n */\nconst buildUrlParams = (params, shouldEncode = true) => {\n if (!params)\n return null;\n const output = Object.entries(params).reduce((accumulator, entry) => {\n const [key, value] = entry;\n let encodedValue;\n let item;\n if (Array.isArray(value)) {\n item = '';\n value.forEach((str) => {\n encodedValue = shouldEncode ? encodeURIComponent(str) : str;\n item += `${key}=${encodedValue}&`;\n });\n // last character will always be \"&\" so slice it off\n item.slice(0, -1);\n }\n else {\n encodedValue = shouldEncode ? encodeURIComponent(value) : value;\n item = `${key}=${encodedValue}`;\n }\n return `${accumulator}&${item}`;\n }, '');\n // Remove initial \"&\" from the reduce\n return output.substr(1);\n};\n/**\n * Build the RequestInit object based on the options passed into the initial request\n * @param options The Http plugin options\n * @param extra Any extra RequestInit values\n */\nconst buildRequestInit = (options, extra = {}) => {\n const output = Object.assign({ method: options.method || 'GET', headers: options.headers }, extra);\n // Get the content-type\n const headers = normalizeHttpHeaders(options.headers);\n const type = headers['content-type'] || '';\n // If body is already a string, then pass it through as-is.\n if (typeof options.data === 'string') {\n output.body = options.data;\n }\n // Build request initializers based off of content-type\n else if (type.includes('application/x-www-form-urlencoded')) {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(options.data || {})) {\n params.set(key, value);\n }\n output.body = params.toString();\n }\n else if (type.includes('multipart/form-data') || options.data instanceof FormData) {\n const form = new FormData();\n if (options.data instanceof FormData) {\n options.data.forEach((value, key) => {\n form.append(key, value);\n });\n }\n else {\n for (const key of Object.keys(options.data)) {\n form.append(key, options.data[key]);\n }\n }\n output.body = form;\n const headers = new Headers(output.headers);\n headers.delete('content-type'); // content-type will be set by `window.fetch` to includy boundary\n output.headers = headers;\n }\n else if (type.includes('application/json') || typeof options.data === 'object') {\n output.body = JSON.stringify(options.data);\n }\n return output;\n};\n// WEB IMPLEMENTATION\nclass CapacitorHttpPluginWeb extends WebPlugin {\n /**\n * Perform an Http request given a set of options\n * @param options Options to build the HTTP request\n */\n async request(options) {\n const requestInit = buildRequestInit(options, options.webFetchExtra);\n const urlParams = buildUrlParams(options.params, options.shouldEncodeUrlParams);\n const url = urlParams ? `${options.url}?${urlParams}` : options.url;\n const response = await fetch(url, requestInit);\n const contentType = response.headers.get('content-type') || '';\n // Default to 'text' responseType so no parsing happens\n let { responseType = 'text' } = response.ok ? options : {};\n // If the response content-type is json, force the response to be json\n if (contentType.includes('application/json')) {\n responseType = 'json';\n }\n let data;\n let blob;\n switch (responseType) {\n case 'arraybuffer':\n case 'blob':\n blob = await response.blob();\n data = await readBlobAsBase64(blob);\n break;\n case 'json':\n data = await response.json();\n break;\n case 'document':\n case 'text':\n default:\n data = await response.text();\n }\n // Convert fetch headers to Capacitor HttpHeaders\n const headers = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n return {\n data,\n headers,\n status: response.status,\n url: response.url,\n };\n }\n /**\n * Perform an Http GET request given a set of options\n * @param options Options to build the HTTP request\n */\n async get(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'GET' }));\n }\n /**\n * Perform an Http POST request given a set of options\n * @param options Options to build the HTTP request\n */\n async post(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'POST' }));\n }\n /**\n * Perform an Http PUT request given a set of options\n * @param options Options to build the HTTP request\n */\n async put(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'PUT' }));\n }\n /**\n * Perform an Http PATCH request given a set of options\n * @param options Options to build the HTTP request\n */\n async patch(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'PATCH' }));\n }\n /**\n * Perform an Http DELETE request given a set of options\n * @param options Options to build the HTTP request\n */\n async delete(options) {\n return this.request(Object.assign(Object.assign({}, options), { method: 'DELETE' }));\n }\n}\nconst CapacitorHttp = registerPlugin('CapacitorHttp', {\n web: () => new CapacitorHttpPluginWeb(),\n});\n/******** END HTTP PLUGIN ********/\n\nexport { Capacitor, CapacitorCookies, CapacitorException, CapacitorHttp, ExceptionCode, WebPlugin, WebView, buildRequestInit, registerPlugin };\n//# sourceMappingURL=index.js.map\n"],"names":["ExceptionCode","registerPlugin","p","headers"],"mappings":"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","x_google_ignoreList":[0]}
|