@umituz/react-native-design-system 4.25.98 → 4.25.100
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/atoms/AtomicAvatar.d.ts +44 -0
- package/dist/atoms/AtomicDatePicker.d.ts +42 -0
- package/dist/atoms/AtomicFab.d.ts +36 -0
- package/dist/atoms/AtomicInput.d.ts +4 -0
- package/dist/atoms/AtomicKeyboardAvoidingView.d.ts +17 -0
- package/dist/atoms/AtomicPicker.d.ts +9 -0
- package/dist/atoms/AtomicProgress.d.ts +42 -0
- package/dist/atoms/AtomicSpinner.d.ts +39 -0
- package/dist/atoms/AtomicSwitch.d.ts +18 -0
- package/dist/atoms/AtomicText.d.ts +31 -0
- package/dist/atoms/AtomicTextArea.d.ts +43 -0
- package/dist/atoms/AtomicTouchable.d.ts +29 -0
- package/dist/atoms/EmptyState.d.ts +22 -0
- package/dist/atoms/GlassView/GlassView.d.ts +17 -0
- package/dist/atoms/badge/AtomicBadge.d.ts +28 -0
- package/dist/atoms/button/AtomicButton.d.ts +8 -0
- package/dist/atoms/button/configs/buttonSizeConfig.d.ts +6 -0
- package/dist/atoms/button/styles/buttonStyles.d.ts +33 -0
- package/dist/atoms/button/styles/buttonVariantStyles.d.ts +6 -0
- package/dist/atoms/button/types/index.d.ts +38 -0
- package/dist/atoms/card/AtomicCard.d.ts +9 -0
- package/dist/atoms/card/configs/cardPaddingConfig.d.ts +6 -0
- package/dist/atoms/card/styles/cardStyles.d.ts +58 -0
- package/dist/atoms/card/types.d.ts +53 -0
- package/dist/atoms/chip/AtomicChip.d.ts +8 -0
- package/dist/atoms/chip/configs/chipColorConfig.d.ts +6 -0
- package/dist/atoms/chip/configs/chipSizeConfig.d.ts +6 -0
- package/dist/atoms/chip/styles/chipStyles.d.ts +16 -0
- package/dist/atoms/chip/types/index.d.ts +37 -0
- package/dist/atoms/datepicker/components/DatePickerButton.d.ts +17 -0
- package/dist/atoms/datepicker/components/DatePickerModal.d.ts +33 -0
- package/dist/atoms/datepicker/hooks/useDatePickerText.d.ts +16 -0
- package/dist/atoms/datepicker/styles/datePickerStyles.d.ts +22 -0
- package/dist/atoms/datepicker/types.d.ts +5 -0
- package/dist/atoms/fab/styles/fabStyles.d.ts +46 -0
- package/dist/atoms/fab/types.d.ts +75 -0
- package/dist/atoms/icon/AtomicIcon.d.ts +59 -0
- package/dist/atoms/icon/AtomicIcon.types.d.ts +32 -0
- package/dist/atoms/icon/components/iconRenderer.d.ts +43 -0
- package/dist/atoms/icon/iconStore.d.ts +73 -0
- package/dist/atoms/icon/index.d.ts +9 -0
- package/dist/atoms/icon/utils/iconUtils.d.ts +40 -0
- package/dist/atoms/image/AtomicImage.d.ts +11 -0
- package/dist/atoms/index.d.ts +31 -0
- package/dist/atoms/input/components/InputHelper.d.ts +12 -0
- package/dist/atoms/input/components/InputIcon.d.ts +11 -0
- package/dist/atoms/input/components/InputLabel.d.ts +8 -0
- package/dist/atoms/input/hooks/useInputState.d.ts +18 -0
- package/dist/atoms/input/styles/inputStyles.d.ts +15 -0
- package/dist/atoms/input/styles/inputStylesHelper.d.ts +48 -0
- package/dist/atoms/input/types.d.ts +71 -0
- package/dist/atoms/picker/components/PickerChips.d.ts +15 -0
- package/dist/atoms/picker/components/PickerIcons.d.ts +16 -0
- package/dist/atoms/picker/components/PickerModal.d.ts +24 -0
- package/dist/atoms/picker/hooks/usePickerState.d.ts +24 -0
- package/dist/atoms/picker/styles/pickerModalStyles.d.ts +9 -0
- package/dist/atoms/picker/styles/pickerOptionStyles.d.ts +8 -0
- package/dist/atoms/picker/styles/pickerSearchStyles.d.ts +7 -0
- package/dist/atoms/picker/styles/pickerStateStyles.d.ts +10 -0
- package/dist/atoms/picker/styles/pickerStyles.d.ts +35 -0
- package/dist/atoms/picker/types.d.ts +52 -0
- package/dist/atoms/skeleton/AtomicSkeleton.d.ts +39 -0
- package/dist/atoms/skeleton/AtomicSkeleton.types.d.ts +32 -0
- package/dist/atoms/status-bar/AtomicStatusBar.d.ts +11 -0
- package/dist/carousel/BannerCarousel.d.ts +13 -0
- package/dist/carousel/Carousel.d.ts +6 -0
- package/dist/carousel/CarouselDots.d.ts +3 -0
- package/dist/carousel/CarouselItem.d.ts +12 -0
- package/dist/carousel/CarouselScrollView.d.ts +13 -0
- package/dist/carousel/carouselCalculations.d.ts +3 -0
- package/dist/carousel/index.d.ts +9 -0
- package/dist/carousel/types.d.ts +27 -0
- package/dist/carousel/useCarouselScroll.d.ts +10 -0
- package/dist/device/detection/deviceDetection.d.ts +34 -0
- package/dist/device/detection/iPadBreakpoints.d.ts +51 -0
- package/dist/device/detection/iPadDetection.d.ts +24 -0
- package/dist/device/detection/iPadLayoutUtils.d.ts +38 -0
- package/dist/device/detection/iPadModalUtils.d.ts +27 -0
- package/dist/device/detection/index.d.ts +13 -0
- package/dist/device/domain/entities/Device.d.ts +79 -0
- package/dist/device/domain/entities/DeviceFeatureConfig.d.ts +21 -0
- package/dist/device/domain/entities/DeviceMemoryUtils.d.ts +30 -0
- package/dist/device/domain/entities/DeviceTypeUtils.d.ts +35 -0
- package/dist/device/domain/entities/DeviceUtils.d.ts +34 -0
- package/dist/device/domain/types/AnonymousUserTypes.d.ts +44 -0
- package/dist/device/index.d.ts +32 -0
- package/dist/device/infrastructure/repositories/SecureDeviceIdRepository.d.ts +18 -0
- package/dist/device/infrastructure/services/ApplicationInfoService.d.ts +21 -0
- package/dist/device/infrastructure/services/DeviceCapabilityService.d.ts +28 -0
- package/dist/device/infrastructure/services/DeviceExtrasCollector.d.ts +59 -0
- package/dist/device/infrastructure/services/DeviceFeatureService.d.ts +22 -0
- package/dist/device/infrastructure/services/DeviceIdService.d.ts +32 -0
- package/dist/device/infrastructure/services/DeviceInfoService.d.ts +11 -0
- package/dist/device/infrastructure/services/DeviceService.d.ts +66 -0
- package/dist/device/infrastructure/services/PersistentDeviceIdService.d.ts +36 -0
- package/dist/device/infrastructure/services/UserFriendlyIdService.d.ts +25 -0
- package/dist/device/infrastructure/utils/nativeModuleUtils.d.ts +27 -0
- package/dist/device/infrastructure/utils/stringUtils.d.ts +31 -0
- package/dist/device/presentation/hooks/useAnonymousUser.d.ts +34 -0
- package/dist/device/presentation/hooks/useDeviceFeatures.d.ts +16 -0
- package/dist/device/presentation/hooks/useDeviceInfo.d.ts +26 -0
- package/dist/exception/ErrorBoundary.d.ts +22 -0
- package/dist/exception/index.d.ts +6 -0
- package/dist/filesystem/domain/constants/FileConstants.d.ts +17 -0
- package/dist/filesystem/domain/entities/File.d.ts +8 -0
- package/dist/filesystem/domain/types/FileTypes.d.ts +38 -0
- package/dist/filesystem/domain/utils/FileUtils.d.ts +41 -0
- package/dist/filesystem/index.d.ts +14 -0
- package/dist/filesystem/infrastructure/services/FileSystemService.d.ts +34 -0
- package/dist/filesystem/infrastructure/services/cache.service.d.ts +12 -0
- package/dist/filesystem/infrastructure/services/directory.service.d.ts +25 -0
- package/dist/filesystem/infrastructure/services/download.constants.d.ts +5 -0
- package/dist/filesystem/infrastructure/services/download.service.d.ts +10 -0
- package/dist/filesystem/infrastructure/services/download.types.d.ts +5 -0
- package/dist/filesystem/infrastructure/services/encoding.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-info.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-manager.service.d.ts +17 -0
- package/dist/filesystem/infrastructure/services/file-path.service.d.ts +9 -0
- package/dist/filesystem/infrastructure/services/file-reader.service.d.ts +13 -0
- package/dist/filesystem/infrastructure/services/file-writer.service.d.ts +9 -0
- package/dist/filesystem/infrastructure/utils/blob.utils.d.ts +29 -0
- package/dist/gallery/gallery-download.service.d.ts +12 -0
- package/dist/gallery/gallery-save.service.d.ts +10 -0
- package/dist/gallery/index.d.ts +3 -0
- package/dist/gallery/types.d.ts +10 -0
- package/dist/haptics/domain/entities/Haptic.d.ts +45 -0
- package/dist/haptics/index.d.ts +156 -0
- package/dist/haptics/infrastructure/services/HapticService.d.ts +44 -0
- package/dist/haptics/presentation/hooks/useHaptics.d.ts +56 -0
- package/dist/image/domain/entities/ImageConstants.d.ts +21 -0
- package/dist/image/domain/entities/ImageFilterTypes.d.ts +69 -0
- package/dist/image/domain/entities/ImageTemplateTypes.d.ts +16 -0
- package/dist/image/domain/entities/ImageTypes.d.ts +73 -0
- package/dist/image/domain/entities/ValidationResult.d.ts +14 -0
- package/dist/image/domain/utils/ImageUtils.d.ts +16 -0
- package/dist/image/index.d.ts +43 -0
- package/dist/image/infrastructure/services/ImageBatchService.d.ts +32 -0
- package/dist/image/infrastructure/services/ImageConversionService.d.ts +11 -0
- package/dist/image/infrastructure/services/ImageEnhanceService.d.ts +27 -0
- package/dist/image/infrastructure/services/ImageMetadataService.d.ts +23 -0
- package/dist/image/infrastructure/services/ImageStorageService.d.ts +8 -0
- package/dist/image/infrastructure/services/ImageTemplateService.d.ts +20 -0
- package/dist/image/infrastructure/services/ImageTransformService.d.ts +15 -0
- package/dist/image/infrastructure/services/ImageViewerService.d.ts +19 -0
- package/dist/image/infrastructure/types/BatchTypes.d.ts +10 -0
- package/dist/image/infrastructure/utils/BatchProcessor.d.ts +15 -0
- package/dist/image/infrastructure/utils/FilterProcessor.d.ts +34 -0
- package/dist/image/infrastructure/utils/ImageErrorHandler.d.ts +22 -0
- package/dist/image/infrastructure/utils/ImageQualityPresets.d.ts +33 -0
- package/dist/image/infrastructure/utils/ImageTransformUtils.d.ts +11 -0
- package/dist/image/infrastructure/utils/ImageValidator.d.ts +14 -0
- package/dist/image/infrastructure/utils/MetadataExtractor.d.ts +30 -0
- package/dist/image/infrastructure/utils/filters/ColorAdjustmentFilters.d.ts +10 -0
- package/dist/image/infrastructure/utils/filters/FilterHelpers.d.ts +8 -0
- package/dist/image/infrastructure/utils/filters/StyleFilters.d.ts +9 -0
- package/dist/image/infrastructure/utils/validation/image-validator.d.ts +13 -0
- package/dist/image/infrastructure/utils/validation/mime-type-validator.d.ts +29 -0
- package/dist/image/infrastructure/utils/validation/mime-types.constants.d.ts +26 -0
- package/dist/image/presentation/components/GalleryHeader.d.ts +14 -0
- package/dist/image/presentation/components/ImageGallery.d.ts +18 -0
- package/dist/image/presentation/components/editor/FilterPickerSheet.d.ts +13 -0
- package/dist/image/presentation/components/editor/StickerPickerSheet.d.ts +13 -0
- package/dist/image/presentation/components/editor/TextEditorSheet.d.ts +26 -0
- package/dist/image/presentation/components/editor/text-editor/TextContentTab.d.ts +10 -0
- package/dist/image/presentation/components/editor/text-editor/TextEditorTabs.styles.d.ts +32 -0
- package/dist/image/presentation/components/editor/text-editor/TextStyleTab.d.ts +14 -0
- package/dist/image/presentation/components/editor/text-editor/TextTransformTab.d.ts +15 -0
- package/dist/image/presentation/components/editor/text-editor/components/TransformButtonRow.d.ts +27 -0
- package/dist/image/presentation/components/editor/text-editor/index.d.ts +10 -0
- package/dist/image/presentation/hooks/useImage.d.ts +49 -0
- package/dist/image/presentation/hooks/useImageBatch.d.ts +14 -0
- package/dist/image/presentation/hooks/useImageConversion.d.ts +9 -0
- package/dist/image/presentation/hooks/useImageEnhance.d.ts +12 -0
- package/dist/image/presentation/hooks/useImageGallery.d.ts +14 -0
- package/dist/image/presentation/hooks/useImageMetadata.d.ts +18 -0
- package/dist/image/presentation/hooks/useImageOperation.d.ts +10 -0
- package/dist/image/presentation/hooks/useImageTransform.d.ts +12 -0
- package/dist/index.d.ts +40 -0
- package/dist/infinite-scroll/domain/interfaces/infinite-scroll-list-props.d.ts +46 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-config.d.ts +92 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-return.d.ts +33 -0
- package/dist/infinite-scroll/domain/types/infinite-scroll-state.d.ts +48 -0
- package/dist/infinite-scroll/domain/utils/pagination-utils.d.ts +33 -0
- package/dist/infinite-scroll/domain/utils/type-guards.d.ts +30 -0
- package/dist/infinite-scroll/index.d.ts +27 -0
- package/dist/infinite-scroll/presentation/components/empty.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/error.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/infinite-scroll-list.d.ts +9 -0
- package/dist/infinite-scroll/presentation/components/loading-more.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/loading.d.ts +10 -0
- package/dist/infinite-scroll/presentation/components/types.d.ts +103 -0
- package/dist/infinite-scroll/presentation/hooks/pagination.helper.d.ts +20 -0
- package/dist/infinite-scroll/presentation/hooks/useInfiniteScroll.d.ts +8 -0
- package/dist/init/createAppInitializer.d.ts +27 -0
- package/dist/init/env/createEnvConfig.d.ts +28 -0
- package/dist/init/env/index.d.ts +5 -0
- package/dist/init/env/types.d.ts +79 -0
- package/dist/init/index.d.ts +12 -0
- package/dist/init/types.d.ts +58 -0
- package/dist/init/useAppInitialization.d.ts +19 -0
- package/dist/layouts/AppHeader/AppHeader.d.ts +32 -0
- package/dist/layouts/Container/Container.d.ts +33 -0
- package/dist/layouts/Container/index.d.ts +1 -0
- package/dist/layouts/FormLayout/FormLayout.d.ts +36 -0
- package/dist/layouts/FormLayout/index.d.ts +1 -0
- package/dist/layouts/Grid/Grid.d.ts +35 -0
- package/dist/layouts/Grid/index.d.ts +1 -0
- package/dist/layouts/ScreenHeader/ScreenHeader.d.ts +34 -0
- package/dist/layouts/ScreenLayout/ScreenLayout.d.ts +7 -0
- package/dist/layouts/ScreenLayout/index.d.ts +1 -0
- package/dist/layouts/ScreenLayout/styles/screenLayoutStyles.d.ts +31 -0
- package/dist/layouts/ScreenLayout/types/index.d.ts +27 -0
- package/dist/layouts/index.d.ts +4 -0
- package/dist/loading/domain/types/loading.types.d.ts +35 -0
- package/dist/loading/index.d.ts +9 -0
- package/dist/loading/infrastructure/store/LoadingStore.d.ts +6 -0
- package/dist/loading/presentation/components/LoadingOverlay.d.ts +7 -0
- package/dist/loading/presentation/hooks/useGlobalLoading.d.ts +13 -0
- package/dist/loading/presentation/providers/LoadingProvider.d.ts +7 -0
- package/dist/media/domain/entities/Media.d.ts +140 -0
- package/dist/media/domain/utils/FileValidator.d.ts +66 -0
- package/dist/media/domain/utils/MediaUtils.d.ts +28 -0
- package/dist/media/index.d.ts +25 -0
- package/dist/media/infrastructure/services/MediaPickerService.d.ts +19 -0
- package/dist/media/infrastructure/services/MediaSaveService.d.ts +38 -0
- package/dist/media/infrastructure/utils/PermissionManager.d.ts +43 -0
- package/dist/media/infrastructure/utils/file-media-utils.d.ts +42 -0
- package/dist/media/infrastructure/utils/media-collection-utils.d.ts +27 -0
- package/dist/media/infrastructure/utils/media-url-extractor.d.ts +7 -0
- package/dist/media/infrastructure/utils/mediaPickerMappers.d.ts +18 -0
- package/dist/media/infrastructure/utils/mime-type-detector.d.ts +5 -0
- package/dist/media/infrastructure/utils/url-media-detector.d.ts +5 -0
- package/dist/media/presentation/hooks/useMedia.d.ts +24 -0
- package/dist/molecules/BaseModal.d.ts +18 -0
- package/dist/molecules/ConfirmationModalContent.d.ts +22 -0
- package/dist/molecules/ConfirmationModalMain.d.ts +8 -0
- package/dist/molecules/Divider/Divider.d.ts +59 -0
- package/dist/molecules/Divider/types.d.ts +64 -0
- package/dist/molecules/FormField.d.ts +21 -0
- package/dist/molecules/IconContainer.d.ts +27 -0
- package/dist/molecules/List/List.d.ts +38 -0
- package/dist/molecules/List/index.d.ts +1 -0
- package/dist/molecules/ListItem.d.ts +4 -0
- package/dist/molecules/SearchBar/SearchBar.d.ts +3 -0
- package/dist/molecules/SearchBar/SearchHistory.d.ts +3 -0
- package/dist/molecules/SearchBar/SearchSuggestions.d.ts +8 -0
- package/dist/molecules/SearchBar/index.d.ts +4 -0
- package/dist/molecules/SearchBar/types.d.ts +41 -0
- package/dist/molecules/StepHeader/StepHeader.d.ts +27 -0
- package/dist/molecules/StepHeader/index.d.ts +2 -0
- package/dist/molecules/StepProgress/StepProgress.d.ts +8 -0
- package/dist/molecules/StepProgress/index.d.ts +1 -0
- package/dist/molecules/action-footer/ActionFooter.d.ts +3 -0
- package/dist/molecules/action-footer/types.d.ts +10 -0
- package/dist/molecules/alerts/AlertBanner.d.ts +14 -0
- package/dist/molecules/alerts/AlertContainer.d.ts +5 -0
- package/dist/molecules/alerts/AlertInline.d.ts +10 -0
- package/dist/molecules/alerts/AlertModal.d.ts +10 -0
- package/dist/molecules/alerts/AlertProvider.d.ts +7 -0
- package/dist/molecules/alerts/AlertService.d.ts +14 -0
- package/dist/molecules/alerts/AlertStore.d.ts +15 -0
- package/dist/molecules/alerts/AlertToast.d.ts +13 -0
- package/dist/molecules/alerts/AlertTypes.d.ts +52 -0
- package/dist/molecules/alerts/components/AlertContent.d.ts +20 -0
- package/dist/molecules/alerts/components/AlertIcon.d.ts +14 -0
- package/dist/molecules/alerts/components/index.d.ts +5 -0
- package/dist/molecules/alerts/hooks/index.d.ts +5 -0
- package/dist/molecules/alerts/hooks/useAlertAutoDismiss.d.ts +8 -0
- package/dist/molecules/alerts/hooks/useAlertDismissHandler.d.ts +8 -0
- package/dist/molecules/alerts/index.d.ts +24 -0
- package/dist/molecules/alerts/useAlert.d.ts +14 -0
- package/dist/molecules/alerts/utils/alertUtils.d.ts +61 -0
- package/dist/molecules/avatar/Avatar.constants.d.ts +43 -0
- package/dist/molecules/avatar/Avatar.d.ts +23 -0
- package/dist/molecules/avatar/Avatar.types.d.ts +58 -0
- package/dist/molecules/avatar/Avatar.utils.d.ts +58 -0
- package/dist/molecules/avatar/AvatarGroup.d.ts +35 -0
- package/dist/molecules/avatar/index.d.ts +5 -0
- package/dist/molecules/bottom-sheet/components/BottomSheet.d.ts +3 -0
- package/dist/molecules/bottom-sheet/components/BottomSheetModal.d.ts +3 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterBottomSheet.d.ts +16 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheet.d.ts +14 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetHeader.d.ts +9 -0
- package/dist/molecules/bottom-sheet/components/filter/FilterSheetComponents/FilterSheetOption.d.ts +11 -0
- package/dist/molecules/bottom-sheet/hooks/useBottomSheet.d.ts +2 -0
- package/dist/molecules/bottom-sheet/hooks/useBottomSheetModal.d.ts +2 -0
- package/dist/molecules/bottom-sheet/hooks/useListFilters.d.ts +26 -0
- package/dist/molecules/bottom-sheet/index.d.ts +9 -0
- package/dist/molecules/bottom-sheet/types/BottomSheet.d.ts +72 -0
- package/dist/molecules/bottom-sheet/types/Filter.d.ts +20 -0
- package/dist/molecules/calendar/domain/entities/CalendarDay.entity.d.ts +98 -0
- package/dist/molecules/calendar/domain/entities/CalendarEvent.entity.d.ts +140 -0
- package/dist/molecules/calendar/domain/repositories/ICalendarRepository.d.ts +101 -0
- package/dist/molecules/calendar/index.d.ts +39 -0
- package/dist/molecules/calendar/infrastructure/services/CalendarGeneration.d.ts +70 -0
- package/dist/molecules/calendar/infrastructure/services/CalendarService.d.ts +60 -0
- package/dist/molecules/calendar/infrastructure/storage/CalendarStore.d.ts +64 -0
- package/dist/molecules/calendar/infrastructure/stores/storageAdapter.d.ts +9 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarEvents.d.ts +24 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarNavigation.d.ts +17 -0
- package/dist/molecules/calendar/infrastructure/stores/useCalendarView.d.ts +14 -0
- package/dist/molecules/calendar/infrastructure/utils/DateUtilities.d.ts +68 -0
- package/dist/molecules/calendar/presentation/components/AtomicCalendar.d.ts +82 -0
- package/dist/molecules/calendar/presentation/components/CalendarDayCell.d.ts +18 -0
- package/dist/molecules/calendar/presentation/components/CalendarWeekdayHeader.d.ts +9 -0
- package/dist/molecules/calendar/presentation/components/calendarStyles.d.ts +53 -0
- package/dist/molecules/circular-menu/CircularMenu.d.ts +13 -0
- package/dist/molecules/circular-menu/CircularMenuBackground.d.ts +2 -0
- package/dist/molecules/circular-menu/CircularMenuCloseButton.d.ts +5 -0
- package/dist/molecules/circular-menu/CircularMenuItem.d.ts +7 -0
- package/dist/molecules/circular-menu/constants.d.ts +24 -0
- package/dist/molecules/circular-menu/index.d.ts +3 -0
- package/dist/molecules/confirmation-modal/components.d.ts +31 -0
- package/dist/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +49 -0
- package/dist/molecules/confirmation-modal/types.d.ts +38 -0
- package/dist/molecules/confirmation-modal/useConfirmationModal.d.ts +18 -0
- package/dist/molecules/countdown/components/Countdown.d.ts +12 -0
- package/dist/molecules/countdown/components/CountdownHeader.d.ts +10 -0
- package/dist/molecules/countdown/components/TimeUnit.d.ts +7 -0
- package/dist/molecules/countdown/hooks/useCountdown.d.ts +17 -0
- package/dist/molecules/countdown/index.d.ts +10 -0
- package/dist/molecules/countdown/types/CountdownTypes.d.ts +32 -0
- package/dist/molecules/countdown/utils/TimeCalculator.d.ts +5 -0
- package/dist/molecules/emoji/domain/entities/Emoji.d.ts +107 -0
- package/dist/molecules/emoji/index.d.ts +163 -0
- package/dist/molecules/emoji/presentation/components/EmojiPicker.d.ts +62 -0
- package/dist/molecules/emoji/presentation/hooks/useEmojiPicker.d.ts +73 -0
- package/dist/molecules/filter-group/FilterGroup.d.ts +3 -0
- package/dist/molecules/filter-group/index.d.ts +2 -0
- package/dist/molecules/filter-group/types.d.ts +15 -0
- package/dist/molecules/hero-section/HeroSection.d.ts +3 -0
- package/dist/molecules/hero-section/types.d.ts +8 -0
- package/dist/molecules/icon-grid/IconGrid.d.ts +47 -0
- package/dist/molecules/icon-grid/index.d.ts +1 -0
- package/dist/molecules/index.d.ts +34 -0
- package/dist/molecules/info-grid/InfoGrid.d.ts +3 -0
- package/dist/molecules/info-grid/index.d.ts +2 -0
- package/dist/molecules/info-grid/types.d.ts +14 -0
- package/dist/molecules/listitem/styles/listItemStyles.d.ts +13 -0
- package/dist/molecules/listitem/types/index.d.ts +20 -0
- package/dist/molecules/long-press-menu/domain/entities/MenuAction.d.ts +30 -0
- package/dist/molecules/long-press-menu/index.d.ts +12 -0
- package/dist/molecules/navigation/StackNavigator.d.ts +13 -0
- package/dist/molecules/navigation/TabsNavigator.d.ts +13 -0
- package/dist/molecules/navigation/components/FabButton.d.ts +13 -0
- package/dist/molecules/navigation/components/NavigationContainer.d.ts +10 -0
- package/dist/molecules/navigation/components/NavigationHeader.d.ts +7 -0
- package/dist/molecules/navigation/components/TabLabel.d.ts +14 -0
- package/dist/molecules/navigation/hooks/useAppFocusEffect.d.ts +15 -0
- package/dist/molecules/navigation/hooks/useAppIsFocused.d.ts +7 -0
- package/dist/molecules/navigation/hooks/useAppNavigation.d.ts +25 -0
- package/dist/molecules/navigation/hooks/useAppRoute.d.ts +9 -0
- package/dist/molecules/navigation/hooks/useTabBarStyles.d.ts +44 -0
- package/dist/molecules/navigation/hooks/useTabConfig.d.ts +6 -0
- package/dist/molecules/navigation/index.d.ts +21 -0
- package/dist/molecules/navigation/types.d.ts +93 -0
- package/dist/molecules/navigation/utils/AppNavigation.d.ts +76 -0
- package/dist/molecules/navigation/utils/IconRenderer.d.ts +9 -0
- package/dist/molecules/navigation/utils/LabelProcessor.d.ts +10 -0
- package/dist/molecules/navigation/utils/NavigationCleanup.d.ts +37 -0
- package/dist/molecules/navigation/utils/NavigationValidator.d.ts +5 -0
- package/dist/molecules/navigation/utils/ScreenFactory.d.ts +9 -0
- package/dist/molecules/navigation/utils/createScreenOptions.d.ts +20 -0
- package/dist/molecules/splash/components/SplashScreen.d.ts +3 -0
- package/dist/molecules/splash/constants.d.ts +8 -0
- package/dist/molecules/splash/hooks/useSplashFlow.d.ts +22 -0
- package/dist/molecules/splash/index.d.ts +8 -0
- package/dist/molecules/splash/types.d.ts +86 -0
- package/dist/molecules/swipe-actions/domain/entities/SwipeAction.d.ts +55 -0
- package/dist/molecules/swipe-actions/domain/utils/swipeActionHelpers.d.ts +53 -0
- package/dist/molecules/swipe-actions/domain/utils/swipeActionValidator.d.ts +18 -0
- package/dist/molecules/swipe-actions/index.d.ts +5 -0
- package/dist/molecules/swipe-actions/presentation/components/SwipeActionButton.d.ts +47 -0
- package/dist/offline/index.d.ts +16 -0
- package/dist/offline/infrastructure/events/NetworkEvents.d.ts +24 -0
- package/dist/offline/infrastructure/storage/OfflineConfigStore.d.ts +18 -0
- package/dist/offline/infrastructure/storage/OfflineStore.d.ts +7 -0
- package/dist/offline/infrastructure/utils/healthCheck.d.ts +28 -0
- package/dist/offline/presentation/components/OfflineBanner.d.ts +43 -0
- package/dist/offline/presentation/hooks/useOffline.d.ts +22 -0
- package/dist/offline/presentation/hooks/useOfflineState.d.ts +7 -0
- package/dist/offline/presentation/hooks/useOfflineWithMutations.d.ts +16 -0
- package/dist/offline/presentation/providers/NetworkProvider.d.ts +23 -0
- package/dist/offline/types/index.d.ts +62 -0
- package/dist/onboarding/domain/entities/OnboardingOptions.d.ts +85 -0
- package/dist/onboarding/domain/entities/OnboardingQuestion.d.ts +135 -0
- package/dist/onboarding/domain/entities/OnboardingSlide.d.ts +49 -0
- package/dist/onboarding/domain/entities/OnboardingUserData.d.ts +38 -0
- package/dist/onboarding/domain/types/ImageSourceType.d.ts +11 -0
- package/dist/onboarding/hooks/useOnboardingFlow.d.ts +9 -0
- package/dist/onboarding/index.d.ts +60 -0
- package/dist/onboarding/infrastructure/hooks/useOnboardingAnswers.d.ts +20 -0
- package/dist/onboarding/infrastructure/hooks/useOnboardingNavigation.d.ts +23 -0
- package/dist/onboarding/infrastructure/services/SlideManager.d.ts +27 -0
- package/dist/onboarding/infrastructure/services/ValidationManager.d.ts +35 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStore.d.ts +45 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreActions.d.ts +15 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreSelectors.d.ts +11 -0
- package/dist/onboarding/infrastructure/storage/OnboardingStoreState.d.ts +13 -0
- package/dist/onboarding/infrastructure/storage/actions/answerActions.d.ts +8 -0
- package/dist/onboarding/infrastructure/storage/actions/completeAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/index.d.ts +10 -0
- package/dist/onboarding/infrastructure/storage/actions/initializeAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/resetAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/skipAction.d.ts +6 -0
- package/dist/onboarding/infrastructure/storage/actions/storageHelpers.d.ts +14 -0
- package/dist/onboarding/infrastructure/utils/arrayUtils.d.ts +16 -0
- package/dist/onboarding/infrastructure/utils/backgroundUtils.d.ts +16 -0
- package/dist/onboarding/infrastructure/utils/layouts/collageLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/gridLayouts.d.ts +7 -0
- package/dist/onboarding/infrastructure/utils/layouts/honeycombLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/index.d.ts +10 -0
- package/dist/onboarding/infrastructure/utils/layouts/layoutTypes.d.ts +31 -0
- package/dist/onboarding/infrastructure/utils/layouts/masonryLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/scatteredLayout.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/screenDimensions.d.ts +6 -0
- package/dist/onboarding/infrastructure/utils/layouts/tilesLayout.d.ts +6 -0
- package/dist/onboarding/presentation/components/BackgroundImageCollage.d.ts +17 -0
- package/dist/onboarding/presentation/components/BackgroundVideo.d.ts +11 -0
- package/dist/onboarding/presentation/components/BaseSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/OnboardingBackground.d.ts +32 -0
- package/dist/onboarding/presentation/components/OnboardingFooter.d.ts +12 -0
- package/dist/onboarding/presentation/components/OnboardingHeader.d.ts +10 -0
- package/dist/onboarding/presentation/components/OnboardingResetSetting.d.ts +12 -0
- package/dist/onboarding/presentation/components/OnboardingScreenContent.d.ts +7 -0
- package/dist/onboarding/presentation/components/OnboardingSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/QuestionRenderer.d.ts +12 -0
- package/dist/onboarding/presentation/components/QuestionSlide.d.ts +11 -0
- package/dist/onboarding/presentation/components/QuestionSlideHeader.d.ts +6 -0
- package/dist/onboarding/presentation/components/questions/DateQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/MultipleChoiceQuestion.d.ts +12 -0
- package/dist/onboarding/presentation/components/questions/QuestionOptionItem.d.ts +14 -0
- package/dist/onboarding/presentation/components/questions/RatingQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/SingleChoiceQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/components/questions/TextInputQuestion.d.ts +8 -0
- package/dist/onboarding/presentation/hooks/useOnboardingContainerStyle.d.ts +12 -0
- package/dist/onboarding/presentation/hooks/useOnboardingGestures.d.ts +12 -0
- package/dist/onboarding/presentation/hooks/useOnboardingScreenHandlers.d.ts +23 -0
- package/dist/onboarding/presentation/hooks/useOnboardingScreenState.d.ts +30 -0
- package/dist/onboarding/presentation/providers/OnboardingProvider.d.ts +26 -0
- package/dist/onboarding/presentation/screens/OnboardingScreen.d.ts +69 -0
- package/dist/onboarding/presentation/types/OnboardingProps.d.ts +51 -0
- package/dist/onboarding/presentation/types/OnboardingTheme.d.ts +25 -0
- package/dist/organisms/FormContainer.d.ts +81 -0
- package/dist/organisms/index.d.ts +18 -0
- package/dist/presentation/utils/variants/core.d.ts +13 -0
- package/dist/presentation/utils/variants/helpers.d.ts +4 -0
- package/dist/presentation/utils/variants/index.d.ts +5 -0
- package/dist/responsive/compute/computeDeviceInfo.d.ts +15 -0
- package/dist/responsive/compute/computeResponsivePositioning.d.ts +27 -0
- package/dist/responsive/compute/computeResponsiveSizes.d.ts +26 -0
- package/dist/responsive/config.d.ts +130 -0
- package/dist/responsive/gridUtils.d.ts +35 -0
- package/dist/responsive/index.d.ts +12 -0
- package/dist/responsive/padding/paddingUtils.d.ts +11 -0
- package/dist/responsive/platformConstants.d.ts +74 -0
- package/dist/responsive/positioning/positioningUtils.d.ts +13 -0
- package/dist/responsive/responsive.d.ts +9 -0
- package/dist/responsive/responsiveLayout.d.ts +9 -0
- package/dist/responsive/responsiveModal.d.ts +49 -0
- package/dist/responsive/responsiveSizing.d.ts +49 -0
- package/dist/responsive/screen/screenLayoutConfig.d.ts +15 -0
- package/dist/responsive/tabbar/tabBarConfig.d.ts +17 -0
- package/dist/responsive/types/responsiveTypes.d.ts +54 -0
- package/dist/responsive/useResponsive.d.ts +7 -0
- package/dist/responsive/useScreenDimensions.d.ts +25 -0
- package/dist/responsive/validation.d.ts +68 -0
- package/dist/safe-area/constants/index.d.ts +22 -0
- package/dist/safe-area/hooks/useSafeAreaInsets.d.ts +6 -0
- package/dist/safe-area/index.d.ts +10 -0
- package/dist/storage/__tests__/mocks/asyncStorage.mock.d.ts +19 -0
- package/dist/storage/__tests__/setup.d.ts +16 -0
- package/dist/storage/application/ports/IStorageRepository.d.ts +49 -0
- package/dist/storage/cache/__tests__/setup.d.ts +3 -0
- package/dist/storage/cache/domain/Cache.d.ts +22 -0
- package/dist/storage/cache/domain/CacheManager.d.ts +17 -0
- package/dist/storage/cache/domain/CacheStatsTracker.d.ts +14 -0
- package/dist/storage/cache/domain/ErrorHandler.d.ts +11 -0
- package/dist/storage/cache/domain/PatternMatcher.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/EvictionStrategy.d.ts +7 -0
- package/dist/storage/cache/domain/strategies/FIFOStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/LFUStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/LRUStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/strategies/TTLStrategy.d.ts +8 -0
- package/dist/storage/cache/domain/types/Cache.d.ts +24 -0
- package/dist/storage/cache/infrastructure/TTLCache.d.ts +22 -0
- package/dist/storage/cache/presentation/useCache.d.ts +13 -0
- package/dist/storage/cache/presentation/useCachedValue.d.ts +14 -0
- package/dist/storage/domain/constants/CacheDefaults.d.ts +56 -0
- package/dist/storage/domain/entities/CachedValue.d.ts +51 -0
- package/dist/storage/domain/entities/StorageResult.d.ts +50 -0
- package/dist/storage/domain/errors/StorageError.d.ts +48 -0
- package/dist/storage/domain/factories/StoreFactory.d.ts +10 -0
- package/dist/storage/domain/types/Store.d.ts +43 -0
- package/dist/storage/domain/utils/CacheKeyGenerator.d.ts +40 -0
- package/dist/storage/domain/utils/ValidationUtils.d.ts +19 -0
- package/dist/storage/domain/utils/devUtils.d.ts +7 -0
- package/dist/storage/domain/value-objects/StorageKey.d.ts +49 -0
- package/dist/storage/index.d.ts +55 -0
- package/dist/storage/infrastructure/adapters/StorageService.d.ts +12 -0
- package/dist/storage/infrastructure/repositories/AsyncStorageRepository.d.ts +59 -0
- package/dist/storage/infrastructure/repositories/BaseStorageOperations.d.ts +31 -0
- package/dist/storage/infrastructure/repositories/BatchStorageOperations.d.ts +19 -0
- package/dist/storage/infrastructure/repositories/StringStorageOperations.d.ts +19 -0
- package/dist/storage/presentation/hooks/CacheStorageOperations.d.ts +37 -0
- package/dist/storage/presentation/hooks/useCacheState.d.ts +20 -0
- package/dist/storage/presentation/hooks/usePersistentCache.d.ts +73 -0
- package/dist/storage/presentation/hooks/useStorage.d.ts +22 -0
- package/dist/storage/presentation/hooks/useStorageState.d.ts +18 -0
- package/dist/storage/presentation/hooks/useStore.d.ts +6 -0
- package/dist/tanstack/domain/config/QueryClientAccessor.d.ts +41 -0
- package/dist/tanstack/domain/constants/CacheDefaults.d.ts +58 -0
- package/dist/tanstack/domain/repositories/BaseRepository.d.ts +126 -0
- package/dist/tanstack/domain/repositories/IBaseRepository.d.ts +25 -0
- package/dist/tanstack/domain/repositories/RepositoryFactory.d.ts +73 -0
- package/dist/tanstack/domain/repositories/RepositoryTypes.d.ts +32 -0
- package/dist/tanstack/domain/repositories/helpers/repositoryHelpers.d.ts +30 -0
- package/dist/tanstack/domain/repositories/mixins/repositoryInvalidationMethods.d.ts +47 -0
- package/dist/tanstack/domain/repositories/mixins/repositoryQueryMethods.d.ts +36 -0
- package/dist/tanstack/domain/types/CacheStrategy.d.ts +95 -0
- package/dist/tanstack/domain/utils/ErrorHelpers.d.ts +52 -0
- package/dist/tanstack/domain/utils/MetricsCalculator.d.ts +40 -0
- package/dist/tanstack/domain/utils/QueryKeyFactory.d.ts +99 -0
- package/dist/tanstack/domain/utils/TypeUtilities.d.ts +129 -0
- package/dist/tanstack/index.d.ts +26 -0
- package/dist/tanstack/infrastructure/config/PersisterConfig.d.ts +68 -0
- package/dist/tanstack/infrastructure/config/QueryClientConfig.d.ts +63 -0
- package/dist/tanstack/infrastructure/config/QueryClientSingleton.d.ts +5 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.d.ts +69 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitor.types.d.ts +35 -0
- package/dist/tanstack/infrastructure/monitoring/DevMonitorLogger.d.ts +13 -0
- package/dist/tanstack/infrastructure/providers/TanstackProvider.d.ts +56 -0
- package/dist/tanstack/presentation/hooks/types/prefetchTypes.d.ts +28 -0
- package/dist/tanstack/presentation/hooks/useInvalidateQueries.d.ts +63 -0
- package/dist/tanstack/presentation/hooks/useOptimisticUpdate.d.ts +24 -0
- package/dist/tanstack/presentation/hooks/usePaginatedQuery.d.ts +523 -0
- package/dist/tanstack/presentation/hooks/usePrefetch.d.ts +18 -0
- package/dist/tanstack/presentation/utils/RetryHelpers.d.ts +45 -0
- package/dist/theme/core/BaseTokens.d.ts +17 -0
- package/dist/theme/core/ColorPalette.d.ts +17 -0
- package/dist/theme/core/CustomColors.d.ts +81 -0
- package/dist/theme/core/NavigationTheme.d.ts +38 -0
- package/dist/theme/core/TokenFactory.d.ts +15 -0
- package/dist/theme/core/colors/ColorUtils.d.ts +18 -0
- package/dist/theme/core/colors/DarkColors.d.ts +103 -0
- package/dist/theme/core/colors/LightColors.d.ts +103 -0
- package/dist/theme/core/constants/DesignConstants.d.ts +17 -0
- package/dist/theme/core/themes.d.ts +47 -0
- package/dist/theme/core/tokens/BaseTokens.d.ts +123 -0
- package/dist/theme/core/tokens/Borders.d.ts +7 -0
- package/dist/theme/core/tokens/Sizes.d.ts +10 -0
- package/dist/theme/core/tokens/Spacing.d.ts +7 -0
- package/dist/theme/core/tokens/Typography.d.ts +7 -0
- package/dist/theme/hooks/commonStyles/formStyles.d.ts +9 -0
- package/dist/theme/hooks/commonStyles/layoutStyles.d.ts +12 -0
- package/dist/theme/hooks/commonStyles/paddingStyles.d.ts +10 -0
- package/dist/theme/hooks/commonStyles/screenContainerStyles.d.ts +10 -0
- package/dist/theme/hooks/commonStyles/scrollContainerStyles.d.ts +11 -0
- package/dist/theme/hooks/commonStyles/sectionStyles.d.ts +9 -0
- package/dist/theme/hooks/commonStyles/textStyles.d.ts +12 -0
- package/dist/theme/hooks/useAppDesignTokens.d.ts +7 -0
- package/dist/theme/hooks/useCommonStyles.d.ts +46 -0
- package/dist/theme/hooks/useThemedStyles.d.ts +34 -0
- package/dist/theme/index.d.ts +23 -0
- package/dist/theme/infrastructure/globalThemeStore.d.ts +48 -0
- package/dist/theme/infrastructure/providers/DesignSystemProvider.d.ts +22 -0
- package/dist/theme/infrastructure/storage/ThemeStorage.d.ts +14 -0
- package/dist/theme/infrastructure/stores/themeStore.d.ts +32 -0
- package/dist/theme/types/ThemeTypes.d.ts +88 -0
- package/dist/timezone/domain/entities/Timezone.d.ts +9 -0
- package/dist/timezone/domain/entities/TimezoneCapabilities.d.ts +116 -0
- package/dist/timezone/domain/entities/TimezoneTypes.d.ts +36 -0
- package/dist/timezone/index.d.ts +12 -0
- package/dist/timezone/infrastructure/services/BusinessCalendarManager.d.ts +30 -0
- package/dist/timezone/infrastructure/services/CalendarManager.d.ts +29 -0
- package/dist/timezone/infrastructure/services/DateComparisonUtils.d.ts +25 -0
- package/dist/timezone/infrastructure/services/DateFormatter.d.ts +12 -0
- package/dist/timezone/infrastructure/services/DateRangeUtils.d.ts +21 -0
- package/dist/timezone/infrastructure/services/TimezoneProvider.d.ts +33 -0
- package/dist/timezone/infrastructure/services/TimezoneService.d.ts +61 -0
- package/dist/timezone/infrastructure/utils/SimpleCache.d.ts +25 -0
- package/dist/timezone/infrastructure/utils/TimezoneParsers.d.ts +18 -0
- package/dist/timezone/presentation/hooks/useTimezone.d.ts +45 -0
- package/dist/typography/domain/entities/TypographyTypes.d.ts +41 -0
- package/dist/typography/index.d.ts +19 -0
- package/dist/typography/presentation/utils/colorValidationUtils.d.ts +60 -0
- package/dist/typography/presentation/utils/textColorUtils.d.ts +9 -0
- package/dist/typography/presentation/utils/textStyleUtils.d.ts +67 -0
- package/dist/utilities/clipboard/ClipboardUtils.d.ts +37 -0
- package/dist/utilities/clipboard/index.d.ts +4 -0
- package/dist/utilities/index.d.ts +5 -0
- package/dist/utilities/sharing/domain/entities/Share.d.ts +77 -0
- package/dist/utilities/sharing/domain/entities/SharingUtils.d.ts +19 -0
- package/dist/utilities/sharing/index.d.ts +9 -0
- package/dist/utilities/sharing/infrastructure/services/SharingService.d.ts +66 -0
- package/dist/utilities/sharing/presentation/hooks/useSharing.d.ts +21 -0
- package/dist/utils/async/index.d.ts +5 -0
- package/dist/utils/async/retryWithBackoff.d.ts +74 -0
- package/dist/utils/errors/DesignSystemError.d.ts +99 -0
- package/dist/utils/errors/ErrorHandler.d.ts +54 -0
- package/dist/utils/errors/index.d.ts +8 -0
- package/dist/utils/errors/types/Result.d.ts +39 -0
- package/dist/utils/formatters/stringFormatter.d.ts +78 -0
- package/dist/utils/hooks/index.d.ts +5 -0
- package/dist/utils/hooks/types/AsyncOperationTypes.d.ts +52 -0
- package/dist/utils/hooks/useAsyncOperation.d.ts +36 -0
- package/dist/utils/logger.d.ts +70 -0
- package/dist/uuid/index.d.ts +8 -0
- package/dist/uuid/infrastructure/utils/UUIDUtils.d.ts +20 -0
- package/dist/uuid/types/UUID.d.ts +34 -0
- package/package.json +1 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Repository
|
|
3
|
+
* Domain layer - Abstract repository for data operations
|
|
4
|
+
*
|
|
5
|
+
* Provides generic CRUD operations with TanStack Query integration.
|
|
6
|
+
* Subclass this for specific entities to get type-safe data operations.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* class UserRepository extends BaseRepository<User, CreateUserVars, UpdateUserVars> {
|
|
11
|
+
* constructor() {
|
|
12
|
+
* super('users');
|
|
13
|
+
* }
|
|
14
|
+
*
|
|
15
|
+
* async fetchAll(): Promise<User[]> {
|
|
16
|
+
* return api.get('/users');
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* async fetchById(id: string): Promise<User> {
|
|
20
|
+
* return api.get(`/users/${id}`);
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* async create(data: CreateUserVars): Promise<User> {
|
|
24
|
+
* return api.post('/users', data);
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* async update(id: string, data: UpdateUserVars): Promise<User> {
|
|
28
|
+
* return api.put(`/users/${id}`, data);
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* async remove(id: string): Promise<void> {
|
|
32
|
+
* return api.delete(`/users/${id}`);
|
|
33
|
+
* }
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
38
|
+
import { createQueryKeyFactory } from '../utils/QueryKeyFactory';
|
|
39
|
+
import type { CreateParams, UpdateParams, ListParams, RepositoryOptions } from './RepositoryTypes';
|
|
40
|
+
/**
|
|
41
|
+
* Base repository for CRUD operations
|
|
42
|
+
*
|
|
43
|
+
* @template TData - Entity type
|
|
44
|
+
* @template TCreateVariables - Variables for create mutation
|
|
45
|
+
* @template TUpdateVariables - Variables for update mutation
|
|
46
|
+
*/
|
|
47
|
+
export declare abstract class BaseRepository<TData, TCreateVariables = unknown, TUpdateVariables = Partial<TData>> {
|
|
48
|
+
readonly resource: string;
|
|
49
|
+
readonly options: RepositoryOptions;
|
|
50
|
+
/**
|
|
51
|
+
* Query key factory for this repository
|
|
52
|
+
*/
|
|
53
|
+
readonly keys: ReturnType<typeof createQueryKeyFactory>;
|
|
54
|
+
constructor(resource: string, options?: RepositoryOptions);
|
|
55
|
+
/**
|
|
56
|
+
* Get query client instance
|
|
57
|
+
*/
|
|
58
|
+
getClient(): QueryClient;
|
|
59
|
+
/**
|
|
60
|
+
* Get cache options for queries
|
|
61
|
+
*/
|
|
62
|
+
getCacheOptions(): {
|
|
63
|
+
staleTime: number;
|
|
64
|
+
gcTime: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Fetch all items - to be implemented by subclass
|
|
68
|
+
*/
|
|
69
|
+
abstract fetchAll(params?: ListParams): Promise<TData[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Fetch item by ID - to be implemented by subclass
|
|
72
|
+
*/
|
|
73
|
+
abstract fetchById(id: string | number): Promise<TData>;
|
|
74
|
+
/**
|
|
75
|
+
* Create item - to be implemented by subclass
|
|
76
|
+
*/
|
|
77
|
+
abstract create(params: CreateParams<TCreateVariables>): Promise<TData>;
|
|
78
|
+
/**
|
|
79
|
+
* Update item - to be implemented by subclass
|
|
80
|
+
*/
|
|
81
|
+
abstract update(params: UpdateParams<TUpdateVariables>): Promise<TData>;
|
|
82
|
+
/**
|
|
83
|
+
* Delete item - to be implemented by subclass
|
|
84
|
+
*/
|
|
85
|
+
abstract remove(id: string | number): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Query all items with caching
|
|
88
|
+
*/
|
|
89
|
+
queryAll(params?: ListParams): Promise<TData[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Query item by ID with caching
|
|
92
|
+
*/
|
|
93
|
+
queryById(id: string | number): Promise<TData | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Prefetch all items
|
|
96
|
+
*/
|
|
97
|
+
prefetchAll(params?: ListParams): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Prefetch item by ID
|
|
100
|
+
*/
|
|
101
|
+
prefetchById(id: string | number): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Invalidate all queries for this resource
|
|
104
|
+
*/
|
|
105
|
+
invalidateAll(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Invalidate list queries
|
|
108
|
+
*/
|
|
109
|
+
invalidateLists(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Invalidate detail query
|
|
112
|
+
*/
|
|
113
|
+
invalidateDetail(id: string | number): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Set query data (optimistic update)
|
|
116
|
+
*/
|
|
117
|
+
setData(id: string | number, data: TData): void;
|
|
118
|
+
/**
|
|
119
|
+
* Get query data from cache
|
|
120
|
+
*/
|
|
121
|
+
getData(id: string | number): TData | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Remove query data from cache
|
|
124
|
+
*/
|
|
125
|
+
clearData(id: string | number): void;
|
|
126
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Repository Interface
|
|
3
|
+
* Defines the contract for repository implementations
|
|
4
|
+
*/
|
|
5
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
6
|
+
import type { CreateParams, UpdateParams, ListParams } from './RepositoryTypes';
|
|
7
|
+
export interface IBaseRepository<TData, TCreateVariables, TUpdateVariables> {
|
|
8
|
+
/** Query client instance */
|
|
9
|
+
getClient(): QueryClient;
|
|
10
|
+
/** Resource name */
|
|
11
|
+
readonly resource: string;
|
|
12
|
+
/** Query key factory */
|
|
13
|
+
readonly keys: ReturnType<typeof import('../utils/QueryKeyFactory').createQueryKeyFactory>;
|
|
14
|
+
/** Cache options */
|
|
15
|
+
getCacheOptions(): {
|
|
16
|
+
staleTime: number;
|
|
17
|
+
gcTime: number;
|
|
18
|
+
};
|
|
19
|
+
/** Abstract methods to be implemented by subclasses */
|
|
20
|
+
fetchAll(params?: ListParams): Promise<TData[]>;
|
|
21
|
+
fetchById(id: string | number): Promise<TData>;
|
|
22
|
+
create(data: CreateParams<TCreateVariables>): Promise<TData>;
|
|
23
|
+
update(params: UpdateParams<TUpdateVariables>): Promise<TData>;
|
|
24
|
+
remove(id: string | number): Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Factory
|
|
3
|
+
* Domain layer - Factory for creating repository instances
|
|
4
|
+
*
|
|
5
|
+
* Provides singleton instances of repositories to avoid multiple instances.
|
|
6
|
+
* Repositories are registered once and reused throughout the app.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Register repositories
|
|
11
|
+
* RepositoryFactory.register('users', new UserRepository());
|
|
12
|
+
* RepositoryFactory.register('posts', new PostRepository());
|
|
13
|
+
*
|
|
14
|
+
* // Get repository
|
|
15
|
+
* const userRepo = RepositoryFactory.get<UserRepository>('users');
|
|
16
|
+
* const users = await userRepo.queryAll();
|
|
17
|
+
*
|
|
18
|
+
* // Get all registered keys
|
|
19
|
+
* const keys = RepositoryFactory.keys(); // ['users', 'posts']
|
|
20
|
+
*
|
|
21
|
+
* // Invalidate all repositories
|
|
22
|
+
* RepositoryFactory.invalidateAll();
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import type { BaseRepository } from './BaseRepository';
|
|
26
|
+
declare class RepositoryFactoryClass {
|
|
27
|
+
private repositories;
|
|
28
|
+
/**
|
|
29
|
+
* Register a repository instance
|
|
30
|
+
*
|
|
31
|
+
* @param key - Unique identifier for the repository
|
|
32
|
+
* @param repository - Repository instance
|
|
33
|
+
*/
|
|
34
|
+
register<TRepository extends BaseRepository<unknown, unknown, unknown>>(key: string, repository: TRepository): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get a registered repository instance
|
|
37
|
+
*
|
|
38
|
+
* @param key - Repository identifier
|
|
39
|
+
* @throws Error if repository not found
|
|
40
|
+
*/
|
|
41
|
+
get<TRepository extends BaseRepository<unknown, unknown, unknown>>(key: string): TRepository;
|
|
42
|
+
/**
|
|
43
|
+
* Check if repository is registered
|
|
44
|
+
*/
|
|
45
|
+
has(key: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Unregister a repository
|
|
48
|
+
*/
|
|
49
|
+
unregister(key: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get all registered repository keys
|
|
52
|
+
*/
|
|
53
|
+
keys(): string[];
|
|
54
|
+
/**
|
|
55
|
+
* Clear all registered repositories
|
|
56
|
+
* Useful for testing or cleanup
|
|
57
|
+
*/
|
|
58
|
+
clear(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Invalidate all queries from all registered repositories
|
|
61
|
+
*/
|
|
62
|
+
invalidateAll(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Prefetch all data from all registered repositories
|
|
65
|
+
* Useful for app initialization or online event
|
|
66
|
+
*/
|
|
67
|
+
prefetchAll(): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Global repository factory instance
|
|
71
|
+
*/
|
|
72
|
+
export declare const RepositoryFactory: RepositoryFactoryClass;
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Types
|
|
3
|
+
* Interfaces for data repository operations
|
|
4
|
+
*/
|
|
5
|
+
import type { CacheConfig } from '../types/CacheStrategy';
|
|
6
|
+
export interface CreateParams<TVariables> {
|
|
7
|
+
variables: TVariables;
|
|
8
|
+
}
|
|
9
|
+
export interface UpdateParams<TVariables> {
|
|
10
|
+
id: string | number;
|
|
11
|
+
variables: TVariables;
|
|
12
|
+
}
|
|
13
|
+
export interface ListParams {
|
|
14
|
+
page?: number;
|
|
15
|
+
limit?: number;
|
|
16
|
+
filter?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface RepositoryOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Cache strategy for queries
|
|
21
|
+
* @default CacheStrategies.PUBLIC_DATA
|
|
22
|
+
*/
|
|
23
|
+
cacheStrategy?: CacheConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Stale time override
|
|
26
|
+
*/
|
|
27
|
+
staleTime?: number;
|
|
28
|
+
/**
|
|
29
|
+
* GC time override
|
|
30
|
+
*/
|
|
31
|
+
gcTime?: number;
|
|
32
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Helper Functions
|
|
3
|
+
* Common helper functions for repository operations
|
|
4
|
+
*/
|
|
5
|
+
import type { RepositoryOptions } from '../RepositoryTypes';
|
|
6
|
+
/**
|
|
7
|
+
* Gets cache options for repository queries
|
|
8
|
+
*
|
|
9
|
+
* @param options - Repository options
|
|
10
|
+
* @returns Cache options with staleTime and gcTime
|
|
11
|
+
*/
|
|
12
|
+
export declare function getCacheOptions(options: RepositoryOptions): {
|
|
13
|
+
staleTime: number;
|
|
14
|
+
gcTime: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Merges repository options with defaults
|
|
18
|
+
*
|
|
19
|
+
* @param options - User provided options
|
|
20
|
+
* @returns Merged options
|
|
21
|
+
*/
|
|
22
|
+
export declare function mergeRepositoryOptions(options?: RepositoryOptions): Required<Pick<RepositoryOptions, 'cacheStrategy'>> & RepositoryOptions;
|
|
23
|
+
/**
|
|
24
|
+
* Checks if a query key matches a resource
|
|
25
|
+
*
|
|
26
|
+
* @param queryKey - Query key to check
|
|
27
|
+
* @param resource - Resource name to match
|
|
28
|
+
* @returns True if query key matches resource
|
|
29
|
+
*/
|
|
30
|
+
export declare function matchesResource(queryKey: readonly unknown[], resource: string): boolean;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Invalidation Methods
|
|
3
|
+
* Cache invalidation methods for repository operations
|
|
4
|
+
*/
|
|
5
|
+
import type { IBaseRepository } from '../IBaseRepository';
|
|
6
|
+
/**
|
|
7
|
+
* Invalidate all queries for this resource
|
|
8
|
+
*
|
|
9
|
+
* @param repository - Repository instance
|
|
10
|
+
*/
|
|
11
|
+
export declare function invalidateAll<TData>(repository: IBaseRepository<TData, unknown, unknown>): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Invalidate list queries
|
|
14
|
+
*
|
|
15
|
+
* @param repository - Repository instance
|
|
16
|
+
*/
|
|
17
|
+
export declare function invalidateLists<TData>(repository: IBaseRepository<TData, unknown, unknown>): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Invalidate detail query
|
|
20
|
+
*
|
|
21
|
+
* @param repository - Repository instance
|
|
22
|
+
* @param id - Item ID
|
|
23
|
+
*/
|
|
24
|
+
export declare function invalidateDetail<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Set query data (optimistic update)
|
|
27
|
+
*
|
|
28
|
+
* @param repository - Repository instance
|
|
29
|
+
* @param id - Item ID
|
|
30
|
+
* @param data - Data to set
|
|
31
|
+
*/
|
|
32
|
+
export declare function setData<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number, data: TData): void;
|
|
33
|
+
/**
|
|
34
|
+
* Get query data from cache
|
|
35
|
+
*
|
|
36
|
+
* @param repository - Repository instance
|
|
37
|
+
* @param id - Item ID
|
|
38
|
+
* @returns Cached data or undefined
|
|
39
|
+
*/
|
|
40
|
+
export declare function getData<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number): TData | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Remove query data from cache
|
|
43
|
+
*
|
|
44
|
+
* @param repository - Repository instance
|
|
45
|
+
* @param id - Item ID
|
|
46
|
+
*/
|
|
47
|
+
export declare function clearData<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number): void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Query Methods
|
|
3
|
+
* Query methods for repository operations
|
|
4
|
+
*/
|
|
5
|
+
import type { ListParams } from '../RepositoryTypes';
|
|
6
|
+
import type { IBaseRepository } from '../IBaseRepository';
|
|
7
|
+
/**
|
|
8
|
+
* Query all items with caching
|
|
9
|
+
*
|
|
10
|
+
* @param repository - Repository instance
|
|
11
|
+
* @param params - Optional list parameters
|
|
12
|
+
* @returns Promise of data array
|
|
13
|
+
*/
|
|
14
|
+
export declare function queryAll<TData>(repository: IBaseRepository<TData, unknown, unknown>, params?: ListParams): Promise<TData[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Query item by ID with caching
|
|
17
|
+
*
|
|
18
|
+
* @param repository - Repository instance
|
|
19
|
+
* @param id - Item ID
|
|
20
|
+
* @returns Promise of data or undefined if not found
|
|
21
|
+
*/
|
|
22
|
+
export declare function queryById<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number): Promise<TData | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Prefetch all items
|
|
25
|
+
*
|
|
26
|
+
* @param repository - Repository instance
|
|
27
|
+
* @param params - Optional list parameters
|
|
28
|
+
*/
|
|
29
|
+
export declare function prefetchAll<TData>(repository: IBaseRepository<TData, unknown, unknown>, params?: ListParams): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Prefetch item by ID
|
|
32
|
+
*
|
|
33
|
+
* @param repository - Repository instance
|
|
34
|
+
* @param id - Item ID
|
|
35
|
+
*/
|
|
36
|
+
export declare function prefetchById<TData>(repository: IBaseRepository<TData, unknown, unknown>, id: string | number): Promise<void>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Strategy Types
|
|
3
|
+
* Domain layer - Cache configuration types
|
|
4
|
+
*
|
|
5
|
+
* General-purpose cache strategies for any React Native app
|
|
6
|
+
*/
|
|
7
|
+
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
8
|
+
/**
|
|
9
|
+
* Cache configuration for TanStack Query
|
|
10
|
+
*/
|
|
11
|
+
export interface CacheConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Time in ms data is considered fresh (no refetch)
|
|
14
|
+
*/
|
|
15
|
+
staleTime: number;
|
|
16
|
+
/**
|
|
17
|
+
* Time in ms inactive data stays in cache before garbage collection
|
|
18
|
+
*/
|
|
19
|
+
gcTime: number;
|
|
20
|
+
/**
|
|
21
|
+
* Whether to refetch when component mounts
|
|
22
|
+
*/
|
|
23
|
+
refetchOnMount?: boolean | 'always';
|
|
24
|
+
/**
|
|
25
|
+
* Whether to refetch when window regains focus
|
|
26
|
+
*/
|
|
27
|
+
refetchOnWindowFocus?: boolean | 'always';
|
|
28
|
+
/**
|
|
29
|
+
* Whether to refetch when network reconnects
|
|
30
|
+
*/
|
|
31
|
+
refetchOnReconnect?: boolean | 'always';
|
|
32
|
+
/**
|
|
33
|
+
* Number of retry attempts on failure
|
|
34
|
+
*/
|
|
35
|
+
retry?: boolean | number;
|
|
36
|
+
/**
|
|
37
|
+
* Interval for automatic background refetching (in ms)
|
|
38
|
+
* Set to false to disable
|
|
39
|
+
*/
|
|
40
|
+
refetchInterval?: number | false;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Cache strategy enum for different data types
|
|
44
|
+
*/
|
|
45
|
+
export declare enum CacheStrategyType {
|
|
46
|
+
/**
|
|
47
|
+
* Real-time data that changes frequently
|
|
48
|
+
* Example: Live chat, stock prices, sports scores
|
|
49
|
+
*/
|
|
50
|
+
REALTIME = "REALTIME",
|
|
51
|
+
/**
|
|
52
|
+
* User-specific data
|
|
53
|
+
* Example: User profile, settings, preferences
|
|
54
|
+
*/
|
|
55
|
+
USER_DATA = "USER_DATA",
|
|
56
|
+
/**
|
|
57
|
+
* Master data that rarely changes
|
|
58
|
+
* Example: Countries list, categories, app configuration
|
|
59
|
+
*/
|
|
60
|
+
MASTER_DATA = "MASTER_DATA",
|
|
61
|
+
/**
|
|
62
|
+
* Public read-heavy data
|
|
63
|
+
* Example: Blog posts, product catalog, news feed
|
|
64
|
+
*/
|
|
65
|
+
PUBLIC_DATA = "PUBLIC_DATA",
|
|
66
|
+
/**
|
|
67
|
+
* Custom strategy (user-defined)
|
|
68
|
+
*/
|
|
69
|
+
CUSTOM = "CUSTOM"
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Query options type (generic, works with any data)
|
|
73
|
+
*/
|
|
74
|
+
export type QueryConfig<TData = unknown, TError = Error> = Partial<UseQueryOptions<TData, TError>>;
|
|
75
|
+
/**
|
|
76
|
+
* Mutation options type (generic, works with any data)
|
|
77
|
+
*/
|
|
78
|
+
export interface MutationConfig<TData = unknown, TError = Error, TVariables = unknown> {
|
|
79
|
+
/**
|
|
80
|
+
* Function to call on mutation success
|
|
81
|
+
*/
|
|
82
|
+
onSuccess?: (data: TData, variables: TVariables) => void | Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Function to call on mutation error
|
|
85
|
+
*/
|
|
86
|
+
onError?: (error: TError, variables: TVariables) => void | Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Function to call on mutation settled (success or error)
|
|
89
|
+
*/
|
|
90
|
+
onSettled?: (data: TData | undefined, error: TError | null, variables: TVariables) => void | Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Number of retry attempts
|
|
93
|
+
*/
|
|
94
|
+
retry?: boolean | number;
|
|
95
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Helpers
|
|
3
|
+
* Domain layer - Error handling utilities
|
|
4
|
+
*
|
|
5
|
+
* General-purpose error handling for TanStack Query
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if error is a QueryError (from TanStack Query)
|
|
9
|
+
*/
|
|
10
|
+
export declare function isQueryError(error: unknown): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Check if error is a MutationError (from TanStack Query)
|
|
13
|
+
*/
|
|
14
|
+
export declare function isMutationError(error: unknown): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check if error is a network error
|
|
17
|
+
*/
|
|
18
|
+
export declare function isNetworkError(error: unknown): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Check if error is an abort error
|
|
21
|
+
*/
|
|
22
|
+
export declare function isAbortError(error: unknown): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Extract error message from error
|
|
25
|
+
*/
|
|
26
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
27
|
+
/**
|
|
28
|
+
* Get user-friendly error message
|
|
29
|
+
* Maps technical errors to user-friendly messages
|
|
30
|
+
*/
|
|
31
|
+
export declare function getUserFriendlyMessage(error: unknown): string;
|
|
32
|
+
/**
|
|
33
|
+
* Parse error response (for API errors with structured data)
|
|
34
|
+
*/
|
|
35
|
+
export interface ErrorResponse {
|
|
36
|
+
message: string;
|
|
37
|
+
errors?: Record<string, string[]>;
|
|
38
|
+
code?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function parseErrorResponse(error: unknown): ErrorResponse | null;
|
|
41
|
+
/**
|
|
42
|
+
* Get validation errors from error response
|
|
43
|
+
*/
|
|
44
|
+
export declare function getValidationErrors(error: unknown): Record<string, string[]> | null;
|
|
45
|
+
/**
|
|
46
|
+
* Get error code from error response
|
|
47
|
+
*/
|
|
48
|
+
export declare function getErrorCode(error: unknown): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Log error in development
|
|
51
|
+
*/
|
|
52
|
+
export declare function logError(_context: string, _error: unknown): void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Calculator
|
|
3
|
+
*
|
|
4
|
+
* Calculates query performance metrics for monitoring.
|
|
5
|
+
*/
|
|
6
|
+
import type { Query } from '@tanstack/react-query';
|
|
7
|
+
import type { QueryMetrics, DevMonitorOptions } from '../../infrastructure/monitoring/DevMonitor.types';
|
|
8
|
+
/**
|
|
9
|
+
* Metrics calculator for query performance
|
|
10
|
+
*/
|
|
11
|
+
export declare class MetricsCalculator {
|
|
12
|
+
/**
|
|
13
|
+
* Gets unique key string for query
|
|
14
|
+
*/
|
|
15
|
+
static getQueryKeyString(queryKey: readonly unknown[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Calculates fetch time for a query
|
|
18
|
+
*/
|
|
19
|
+
static calculateFetchTime(query: Query): number;
|
|
20
|
+
/**
|
|
21
|
+
* Creates initial metrics for a query
|
|
22
|
+
*/
|
|
23
|
+
static createInitialMetrics(query: Query): QueryMetrics;
|
|
24
|
+
/**
|
|
25
|
+
* Updates metrics with new fetch data
|
|
26
|
+
*/
|
|
27
|
+
static updateMetrics(current: QueryMetrics, fetchTime: number): QueryMetrics;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if fetch time exceeds slow query threshold
|
|
30
|
+
*/
|
|
31
|
+
static isSlowQuery(fetchTime: number, threshold: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Increments slow fetch count if query is slow
|
|
34
|
+
*/
|
|
35
|
+
static incrementSlowCountIfNeeded(metrics: QueryMetrics, fetchTime: number, threshold: number): QueryMetrics;
|
|
36
|
+
/**
|
|
37
|
+
* Calculates complete metrics for a query
|
|
38
|
+
*/
|
|
39
|
+
static calculateQueryMetrics(query: Query, currentMetrics: QueryMetrics | null, options: Required<DevMonitorOptions>): QueryMetrics;
|
|
40
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query Key Factory
|
|
3
|
+
* Domain layer - Query key generation utilities
|
|
4
|
+
*
|
|
5
|
+
* General-purpose query key patterns for any React Native app
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Create a typed query key factory for a resource
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const postKeys = createQueryKeyFactory('posts');
|
|
13
|
+
*
|
|
14
|
+
* // All posts
|
|
15
|
+
* postKeys.all() // ['posts']
|
|
16
|
+
*
|
|
17
|
+
* // Posts list
|
|
18
|
+
* postKeys.lists() // ['posts', 'list']
|
|
19
|
+
*
|
|
20
|
+
* // Posts list with filters
|
|
21
|
+
* postKeys.list({ status: 'published' }) // ['posts', 'list', { status: 'published' }]
|
|
22
|
+
*
|
|
23
|
+
* // Single post detail
|
|
24
|
+
* postKeys.detail(123) // ['posts', 'detail', 123]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function createQueryKeyFactory(resource: string): {
|
|
28
|
+
/**
|
|
29
|
+
* All queries for this resource
|
|
30
|
+
*/
|
|
31
|
+
all: () => readonly [string];
|
|
32
|
+
/**
|
|
33
|
+
* All list queries for this resource
|
|
34
|
+
*/
|
|
35
|
+
lists: () => readonly [string, "list"];
|
|
36
|
+
/**
|
|
37
|
+
* List query with optional filters
|
|
38
|
+
*/
|
|
39
|
+
list: (filters?: Record<string, unknown>) => readonly [string, "list"] | readonly [string, "list", Record<string, unknown>];
|
|
40
|
+
/**
|
|
41
|
+
* All detail queries for this resource
|
|
42
|
+
*/
|
|
43
|
+
details: () => readonly [string, "detail"];
|
|
44
|
+
/**
|
|
45
|
+
* Detail query for specific item
|
|
46
|
+
*/
|
|
47
|
+
detail: (id: string | number) => readonly [string, "detail", string | number];
|
|
48
|
+
/**
|
|
49
|
+
* Custom query key
|
|
50
|
+
*/
|
|
51
|
+
custom: (...args: unknown[]) => readonly [string, ...unknown[]];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Create a query key for a list with pagination
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* createPaginatedQueryKey('posts', { page: 1, limit: 10 })
|
|
59
|
+
* // ['posts', 'list', { page: 1, limit: 10 }]
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function createPaginatedQueryKey(resource: string, pagination: {
|
|
63
|
+
page?: number;
|
|
64
|
+
limit?: number;
|
|
65
|
+
cursor?: string;
|
|
66
|
+
}): readonly [string, 'list', typeof pagination];
|
|
67
|
+
/**
|
|
68
|
+
* Create a query key for infinite scroll
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* createInfiniteQueryKey('feed', { limit: 20 })
|
|
73
|
+
* // ['feed', 'infinite', { limit: 20 }]
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function createInfiniteQueryKey(resource: string, params?: Record<string, unknown>): readonly [string, 'infinite', Record<string, unknown>] | readonly [string, 'infinite'];
|
|
77
|
+
/**
|
|
78
|
+
* Create a scoped query key (for user-specific data)
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* createScopedQueryKey('user123', 'posts')
|
|
83
|
+
* // ['user', 'user123', 'posts']
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function createScopedQueryKey(scopeId: string, resource: string, ...args: unknown[]): readonly [string, string, string, ...unknown[]];
|
|
87
|
+
/**
|
|
88
|
+
* Match query keys by pattern
|
|
89
|
+
* Useful for invalidating multiple related queries
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* // Invalidate all post queries
|
|
94
|
+
* queryClient.invalidateQueries({
|
|
95
|
+
* predicate: (query) => matchQueryKey(query.queryKey, ['posts'])
|
|
96
|
+
* })
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare function matchQueryKey(queryKey: readonly unknown[], pattern: readonly unknown[]): boolean;
|