@umituz/react-native-design-system 4.25.86 → 4.25.87
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/AppHeader/index.d.ts +1 -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/ScreenHeader/index.d.ts +1 -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 +6 -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/index.d.ts +2 -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/index.d.ts +2 -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 +14 -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 +4 -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/index.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/index.d.ts +2 -0
- package/dist/molecules/hero-section/types.d.ts +8 -0
- package/dist/molecules/index.d.ts +31 -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 +27 -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 +24 -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 +36 -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 +31 -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 +23 -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 +35 -33
|
@@ -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;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Utilities
|
|
3
|
+
* Domain layer - Type extractors and helpers
|
|
4
|
+
*
|
|
5
|
+
* General-purpose type utilities for TanStack Query
|
|
6
|
+
*/
|
|
7
|
+
import type { UseQueryResult, UseMutationResult } from '@tanstack/react-query';
|
|
8
|
+
/**
|
|
9
|
+
* Extract data type from UseQueryResult
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const result = useQuery({ queryKey: ['user'], queryFn: fetchUser });
|
|
14
|
+
* type User = ExtractQueryDataType<typeof result>; // User
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export type ExtractQueryDataType<TQuery extends UseQueryResult<unknown, unknown>> = TQuery extends UseQueryResult<infer TData, unknown> ? TData : never;
|
|
18
|
+
/**
|
|
19
|
+
* Extract error type from UseQueryResult
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const result = useQuery({ queryKey: ['user'], queryFn: fetchUser });
|
|
24
|
+
* type Error = ExtractQueryErrorType<typeof result>; // Error
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export type ExtractQueryErrorType<TQuery extends UseQueryResult<unknown, unknown>> = TQuery extends UseQueryResult<unknown, infer TError> ? TError : never;
|
|
28
|
+
/**
|
|
29
|
+
* Extract data type from UseMutationResult
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const mutation = useMutation({ mutationFn: createUser });
|
|
34
|
+
* type User = ExtractMutationDataType<typeof mutation>; // User
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export type ExtractMutationDataType<TMutation extends UseMutationResult<unknown, unknown, unknown>> = TMutation extends UseMutationResult<infer TData, unknown, unknown> ? TData : never;
|
|
38
|
+
/**
|
|
39
|
+
* Extract error type from UseMutationResult
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const mutation = useMutation({ mutationFn: createUser });
|
|
44
|
+
* type Error = ExtractMutationErrorType<typeof mutation>; // Error
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export type ExtractMutationErrorType<TMutation extends UseMutationResult<unknown, unknown, unknown>> = TMutation extends UseMutationResult<unknown, infer TError, unknown> ? TError : never;
|
|
48
|
+
/**
|
|
49
|
+
* Extract variables type from UseMutationResult
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const mutation = useMutation({ mutationFn: createUser });
|
|
54
|
+
* type Variables = ExtractMutationVariables<typeof mutation>; // CreateUserVars
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export type ExtractMutationVariables<TMutation extends UseMutationResult<unknown, unknown, unknown>> = TMutation extends UseMutationResult<unknown, unknown, infer TVariables> ? TVariables : never;
|
|
58
|
+
/**
|
|
59
|
+
* Extract data type from infinite query
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const result = useInfiniteQuery({ queryKey: ['posts'], queryFn: fetchPosts });
|
|
64
|
+
* type Posts = ExtractInfiniteDataType<typeof result>; // InfiniteData<PostsResponse>
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export type ExtractInfiniteDataType<TQuery extends UseQueryResult<unknown, unknown>> = TQuery extends UseQueryResult<infer TData, unknown> ? TData : never;
|
|
68
|
+
/**
|
|
69
|
+
* Extract page data type from infinite query
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const result = useInfiniteQuery({ queryKey: ['posts'], queryFn: fetchPosts });
|
|
74
|
+
* type Page = ExtractInfinitePageType<typeof result>; // PostsResponse
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export type ExtractInfinitePageType<TQuery> = TQuery extends {
|
|
78
|
+
data: {
|
|
79
|
+
pages: infer TPages;
|
|
80
|
+
};
|
|
81
|
+
} ? TPages extends Array<infer TPage> ? TPage : never : never;
|
|
82
|
+
/**
|
|
83
|
+
* Make specific keys required from a type
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* type User = { id?: number; name: string; email?: string };
|
|
88
|
+
* type UserWithId = RequireKeys<User, 'id' | 'email'>;
|
|
89
|
+
* // { id: number; name: string; email: string }
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export type RequireKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
93
|
+
/**
|
|
94
|
+
* Make specific keys optional from a type
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* type User = { id: number; name: string; email: string };
|
|
99
|
+
* type PartialUser = OptionalKeys<User, 'id' | 'email'>;
|
|
100
|
+
* // { id?: number; name: string; email?: string }
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export type OptionalKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
104
|
+
/**
|
|
105
|
+
* Deep partial type
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* type User = { id: number; profile: { name: string; email: string } };
|
|
110
|
+
* type PartialUser = DeepPartial<User>;
|
|
111
|
+
* // { id?: number; profile?: { name?: string; email?: string } }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export type DeepPartial<T> = T extends object ? {
|
|
115
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
116
|
+
} : T;
|
|
117
|
+
/**
|
|
118
|
+
* Deep required type
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* type User = { id?: number; profile?: { name?: string; email?: string } };
|
|
123
|
+
* type RequiredUser = DeepRequired<User>;
|
|
124
|
+
* // { id: number; profile: { name: string; email: string } }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export type DeepRequired<T> = T extends object ? {
|
|
128
|
+
[K in keyof T]-?: DeepRequired<T[K]>;
|
|
129
|
+
} : T;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @umituz/react-native-tanstack
|
|
3
|
+
* TanStack Query configuration and utilities for React Native apps
|
|
4
|
+
*
|
|
5
|
+
* General-purpose package for hundreds of React Native apps
|
|
6
|
+
*/
|
|
7
|
+
export { TIME_MS as QUERY_TIME_MS, DEFAULT_STALE_TIME, DEFAULT_GC_TIME, DEFAULT_RETRY, DEFAULT_REFETCH_INTERVAL, } from './domain/constants/CacheDefaults';
|
|
8
|
+
export { CacheStrategyType, type CacheConfig as QueryCacheConfig, type QueryConfig, type MutationConfig, } from './domain/types/CacheStrategy';
|
|
9
|
+
export { createQueryKeyFactory, createPaginatedQueryKey, createInfiniteQueryKey, createScopedQueryKey, matchQueryKey, } from './domain/utils/QueryKeyFactory';
|
|
10
|
+
export type { ExtractQueryDataType, ExtractQueryErrorType, ExtractMutationDataType, ExtractMutationErrorType, ExtractMutationVariables, ExtractInfiniteDataType, ExtractInfinitePageType, RequireKeys, OptionalKeys, DeepPartial, DeepRequired, } from './domain/utils/TypeUtilities';
|
|
11
|
+
export { isQueryError, isMutationError, isNetworkError, isAbortError, getErrorMessage, getUserFriendlyMessage, parseErrorResponse, getValidationErrors, getErrorCode, logError, type ErrorResponse, } from './domain/utils/ErrorHelpers';
|
|
12
|
+
export { BaseRepository } from './domain/repositories/BaseRepository';
|
|
13
|
+
export type { CreateParams, UpdateParams, ListParams, RepositoryOptions, } from './domain/repositories/RepositoryTypes';
|
|
14
|
+
export { RepositoryFactory } from './domain/repositories/RepositoryFactory';
|
|
15
|
+
export { CacheStrategies, createQueryClient, getCacheStrategy, type QueryClientFactoryOptions, } from './infrastructure/config/QueryClientConfig';
|
|
16
|
+
export { createPersister, clearPersistedCache, getPersistedCacheSize, type PersisterFactoryOptions, } from './infrastructure/config/PersisterConfig';
|
|
17
|
+
export { getGlobalQueryClient, hasGlobalQueryClient, setGlobalQueryClient, clearGlobalQueryClient, } from './infrastructure/config/QueryClientSingleton';
|
|
18
|
+
export { DevMonitor } from './infrastructure/monitoring/DevMonitor';
|
|
19
|
+
export type { QueryMetrics, CacheStats as QueryCacheStats, DevMonitorOptions, } from './infrastructure/monitoring/DevMonitor.types';
|
|
20
|
+
export { TanstackProvider, type TanstackProviderProps } from './infrastructure/providers/TanstackProvider';
|
|
21
|
+
export { useInvalidateQueries, useInvalidateMultipleQueries, useRemoveQueries, useResetQueries, } from './presentation/hooks/useInvalidateQueries';
|
|
22
|
+
export { useCursorPagination, useOffsetPagination, type CursorPageParam, type OffsetPageParam, type CursorPaginatedResponse, type OffsetPaginatedResponse, } from './presentation/hooks/usePaginatedQuery';
|
|
23
|
+
export { useOptimisticUpdate, useOptimisticListUpdate, type OptimisticUpdateConfig, } from './presentation/hooks/useOptimisticUpdate';
|
|
24
|
+
export { usePrefetchQuery, usePrefetchInfiniteQuery, usePrefetchOnMount, usePrefetchMultiple, type PrefetchOptions, } from './presentation/hooks/usePrefetch';
|
|
25
|
+
export { createConditionalRetry, createQuotaAwareRetry, type RetryFunction, type ErrorChecker, } from './presentation/utils/RetryHelpers';
|
|
26
|
+
export { useQuery, useMutation, useInfiniteQuery, useQueryClient, useIsFetching, useIsMutating, type UseQueryResult, type UseMutationResult, type UseInfiniteQueryResult, type InfiniteData, type QueryKey, type QueryClient, } from '@tanstack/react-query';
|