@umituz/react-native-design-system 4.25.85 → 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,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Domain - Public API
|
|
3
|
+
*
|
|
4
|
+
* Domain-Driven Design (DDD) Architecture
|
|
5
|
+
*
|
|
6
|
+
* This is the SINGLE SOURCE OF TRUTH for all storage operations.
|
|
7
|
+
* ALL imports from the storage domain MUST go through this file.
|
|
8
|
+
*
|
|
9
|
+
* Architecture:
|
|
10
|
+
* - domain: Entities, value objects, errors (business logic)
|
|
11
|
+
* - application: Ports (interfaces), use cases (not needed for simple CRUD)
|
|
12
|
+
* - infrastructure: Repository implementation (AsyncStorage adapter)
|
|
13
|
+
* - presentation: Hooks (React integration)
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* import { useStorage, useStorageState, createStore } from '@umituz/react-native-design-system';
|
|
17
|
+
*/
|
|
18
|
+
export { StorageKey, createUserKey, createAppKey, } from './domain/value-objects/StorageKey';
|
|
19
|
+
export type { DynamicStorageKey } from './domain/value-objects/StorageKey';
|
|
20
|
+
export { StorageError, StorageReadError, StorageWriteError, StorageDeleteError, StorageSerializationError, StorageDeserializationError, } from './domain/errors/StorageError';
|
|
21
|
+
export type { StorageResult } from './domain/entities/StorageResult';
|
|
22
|
+
export { success, failure, unwrap, map, isSuccess, isFailure, } from './domain/entities/StorageResult';
|
|
23
|
+
export type { CachedValue } from './domain/entities/CachedValue';
|
|
24
|
+
export { createCachedValue, isCacheExpired, getRemainingTTL, getCacheAge, } from './domain/entities/CachedValue';
|
|
25
|
+
export { generateCacheKey, generateListCacheKey, parseCacheKey, isCacheKey, } from './domain/utils/CacheKeyGenerator';
|
|
26
|
+
export { TIME_MS, DEFAULT_TTL, CACHE_VERSION } from './domain/constants/CacheDefaults';
|
|
27
|
+
export { isDev } from './domain/utils/devUtils';
|
|
28
|
+
export type { StoreConfig, PersistedState, SetState, GetState, ActionsCreator, } from './domain/types/Store';
|
|
29
|
+
export { createStore } from './domain/factories/StoreFactory';
|
|
30
|
+
export type { StoreApi, UseBoundStore } from 'zustand';
|
|
31
|
+
export type { StateCreator, StoreMutatorIdentifier } from 'zustand/vanilla';
|
|
32
|
+
export type { IStorageRepository } from './application/ports/IStorageRepository';
|
|
33
|
+
export { AsyncStorageRepository, storageRepository, } from './infrastructure/repositories/AsyncStorageRepository';
|
|
34
|
+
export { storageService } from './infrastructure/adapters/StorageService';
|
|
35
|
+
export type { StateStorage } from './domain/types/Store';
|
|
36
|
+
export { useStorage } from './presentation/hooks/useStorage';
|
|
37
|
+
export { useStorageState } from './presentation/hooks/useStorageState';
|
|
38
|
+
export { useStore } from './presentation/hooks/useStore';
|
|
39
|
+
export { usePersistentCache, type PersistentCacheOptions, type PersistentCacheResult, } from './presentation/hooks/usePersistentCache';
|
|
40
|
+
export { useCacheState } from './presentation/hooks/useCacheState';
|
|
41
|
+
export { CacheStorageOperations } from './presentation/hooks/CacheStorageOperations';
|
|
42
|
+
export { Cache } from './cache/domain/Cache';
|
|
43
|
+
export { CacheManager, cacheManager } from './cache/domain/CacheManager';
|
|
44
|
+
export { CacheStatsTracker } from './cache/domain/CacheStatsTracker';
|
|
45
|
+
export { PatternMatcher } from './cache/domain/PatternMatcher';
|
|
46
|
+
export { ErrorHandler, CacheError } from './cache/domain/ErrorHandler';
|
|
47
|
+
export { TTLCache } from './cache/infrastructure/TTLCache';
|
|
48
|
+
export type { CacheEntry, CacheConfig, CacheStats, EvictionStrategy, } from './cache/domain/types/Cache';
|
|
49
|
+
export type { EvictionStrategy as IEvictionStrategy } from './cache/domain/strategies/EvictionStrategy';
|
|
50
|
+
export { LRUStrategy } from './cache/domain/strategies/LRUStrategy';
|
|
51
|
+
export { LFUStrategy } from './cache/domain/strategies/LFUStrategy';
|
|
52
|
+
export { FIFOStrategy } from './cache/domain/strategies/FIFOStrategy';
|
|
53
|
+
export { TTLStrategy as TTLEvictionStrategy } from './cache/domain/strategies/TTLStrategy';
|
|
54
|
+
export { useCache } from './cache/presentation/useCache';
|
|
55
|
+
export { useCachedValue } from './cache/presentation/useCachedValue';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Service
|
|
3
|
+
*
|
|
4
|
+
* Zustand persist middleware compatible StateStorage implementation.
|
|
5
|
+
* Uses AsyncStorage under the hood for React Native persistence.
|
|
6
|
+
*/
|
|
7
|
+
import type { StateStorage } from '../../domain/types/Store';
|
|
8
|
+
/**
|
|
9
|
+
* Storage service for Zustand persist middleware
|
|
10
|
+
* Direct AsyncStorage implementation with proper error handling
|
|
11
|
+
*/
|
|
12
|
+
export declare const storageService: StateStorage;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AsyncStorage Repository
|
|
3
|
+
*
|
|
4
|
+
* Domain-Driven Design: Infrastructure implementation of IStorageRepository
|
|
5
|
+
* Adapts React Native AsyncStorage to domain interface using composition
|
|
6
|
+
*/
|
|
7
|
+
import type { IStorageRepository } from '../../application/ports/IStorageRepository';
|
|
8
|
+
import type { StorageResult } from '../../domain/entities/StorageResult';
|
|
9
|
+
/**
|
|
10
|
+
* AsyncStorage Repository Implementation
|
|
11
|
+
* Uses composition to follow Single Responsibility Principle
|
|
12
|
+
*/
|
|
13
|
+
export declare class AsyncStorageRepository implements IStorageRepository {
|
|
14
|
+
private baseOps;
|
|
15
|
+
private stringOps;
|
|
16
|
+
private batchOps;
|
|
17
|
+
constructor();
|
|
18
|
+
private ensureInitialized;
|
|
19
|
+
/**
|
|
20
|
+
* Get item from AsyncStorage with type safety
|
|
21
|
+
*/
|
|
22
|
+
getItem<T>(key: string, defaultValue: T): Promise<StorageResult<T>>;
|
|
23
|
+
/**
|
|
24
|
+
* Set item in AsyncStorage with automatic JSON serialization
|
|
25
|
+
*/
|
|
26
|
+
setItem<T>(key: string, value: T): Promise<StorageResult<T>>;
|
|
27
|
+
/**
|
|
28
|
+
* Get string value (no JSON parsing)
|
|
29
|
+
*/
|
|
30
|
+
getString(key: string, defaultValue: string): Promise<StorageResult<string>>;
|
|
31
|
+
/**
|
|
32
|
+
* Set string value (no JSON serialization)
|
|
33
|
+
*/
|
|
34
|
+
setString(key: string, value: string): Promise<StorageResult<string>>;
|
|
35
|
+
/**
|
|
36
|
+
* Remove item from AsyncStorage
|
|
37
|
+
*/
|
|
38
|
+
removeItem(key: string): Promise<StorageResult<void>>;
|
|
39
|
+
/**
|
|
40
|
+
* Check if key exists in storage
|
|
41
|
+
*/
|
|
42
|
+
hasItem(key: string): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Clear all AsyncStorage data
|
|
45
|
+
*/
|
|
46
|
+
clearAll(): Promise<StorageResult<void>>;
|
|
47
|
+
/**
|
|
48
|
+
* Get multiple items at once
|
|
49
|
+
*/
|
|
50
|
+
getMultiple(keys: string[]): Promise<StorageResult<Record<string, string | null>>>;
|
|
51
|
+
/**
|
|
52
|
+
* Get all keys from storage
|
|
53
|
+
*/
|
|
54
|
+
getAllKeys(): Promise<StorageResult<string[]>>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Singleton instance - lazy initialization
|
|
58
|
+
*/
|
|
59
|
+
export declare const storageRepository: AsyncStorageRepository;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Storage Operations
|
|
3
|
+
*
|
|
4
|
+
* Core storage operations following Single Responsibility Principle
|
|
5
|
+
*/
|
|
6
|
+
import type { StorageResult } from '../../domain/entities/StorageResult';
|
|
7
|
+
/**
|
|
8
|
+
* Base storage operations implementation
|
|
9
|
+
*/
|
|
10
|
+
export declare class BaseStorageOperations {
|
|
11
|
+
/**
|
|
12
|
+
* Get item from AsyncStorage with type safety
|
|
13
|
+
*/
|
|
14
|
+
getItem<T>(key: string, defaultValue: T): Promise<StorageResult<T>>;
|
|
15
|
+
/**
|
|
16
|
+
* Set item in AsyncStorage with automatic JSON serialization
|
|
17
|
+
*/
|
|
18
|
+
setItem<T>(key: string, value: T): Promise<StorageResult<T>>;
|
|
19
|
+
/**
|
|
20
|
+
* Remove item from AsyncStorage
|
|
21
|
+
*/
|
|
22
|
+
removeItem(key: string): Promise<StorageResult<void>>;
|
|
23
|
+
/**
|
|
24
|
+
* Check if key exists in storage
|
|
25
|
+
*/
|
|
26
|
+
hasItem(key: string): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Clear all AsyncStorage data
|
|
29
|
+
*/
|
|
30
|
+
clearAll(): Promise<StorageResult<void>>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch Storage Operations
|
|
3
|
+
*
|
|
4
|
+
* Batch operations following Single Responsibility Principle
|
|
5
|
+
*/
|
|
6
|
+
import type { StorageResult } from '../../domain/entities/StorageResult';
|
|
7
|
+
/**
|
|
8
|
+
* Batch storage operations for efficiency
|
|
9
|
+
*/
|
|
10
|
+
export declare class BatchStorageOperations {
|
|
11
|
+
/**
|
|
12
|
+
* Get multiple items at once
|
|
13
|
+
*/
|
|
14
|
+
getMultiple(keys: string[]): Promise<StorageResult<Record<string, string | null>>>;
|
|
15
|
+
/**
|
|
16
|
+
* Get all keys from storage
|
|
17
|
+
*/
|
|
18
|
+
getAllKeys(): Promise<StorageResult<string[]>>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* String Storage Operations
|
|
3
|
+
*
|
|
4
|
+
* Specialized string operations following Single Responsibility Principle
|
|
5
|
+
*/
|
|
6
|
+
import type { StorageResult } from '../../domain/entities/StorageResult';
|
|
7
|
+
/**
|
|
8
|
+
* String-specific storage operations
|
|
9
|
+
*/
|
|
10
|
+
export declare class StringStorageOperations {
|
|
11
|
+
/**
|
|
12
|
+
* Get string value (no JSON parsing)
|
|
13
|
+
*/
|
|
14
|
+
getString(key: string, defaultValue: string): Promise<StorageResult<string>>;
|
|
15
|
+
/**
|
|
16
|
+
* Set string value (no JSON serialization)
|
|
17
|
+
*/
|
|
18
|
+
setString(key: string, value: string): Promise<StorageResult<string>>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Storage Operations
|
|
3
|
+
*
|
|
4
|
+
* Handles cache storage operations following Single Responsibility Principle
|
|
5
|
+
*/
|
|
6
|
+
import type { CachedValue } from '../../domain/entities/CachedValue';
|
|
7
|
+
export interface CacheStorageOptions {
|
|
8
|
+
ttl?: number;
|
|
9
|
+
version?: number;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Handles cache storage operations with proper error handling and memory management
|
|
14
|
+
*/
|
|
15
|
+
export declare class CacheStorageOperations {
|
|
16
|
+
private static instance;
|
|
17
|
+
/**
|
|
18
|
+
* Singleton pattern to prevent memory leaks
|
|
19
|
+
*/
|
|
20
|
+
static getInstance(): CacheStorageOperations;
|
|
21
|
+
/**
|
|
22
|
+
* Reset singleton instance (useful for testing)
|
|
23
|
+
*/
|
|
24
|
+
static resetInstance(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Load cached data from storage
|
|
27
|
+
*/
|
|
28
|
+
loadFromStorage<T>(key: string): Promise<CachedValue<T> | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Save data to cache storage
|
|
31
|
+
*/
|
|
32
|
+
saveToStorage<T>(key: string, value: T, options?: CacheStorageOptions): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Clear cached data from storage
|
|
35
|
+
*/
|
|
36
|
+
clearFromStorage(key: string, enabled?: boolean): Promise<void>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache State Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages cache state following Single Responsibility Principle
|
|
5
|
+
*/
|
|
6
|
+
export interface CacheState<T> {
|
|
7
|
+
data: T | null;
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
isExpired: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface CacheActions<T> {
|
|
12
|
+
setData: (value: T) => void;
|
|
13
|
+
clearData: () => void;
|
|
14
|
+
setLoading: (loading: boolean) => void;
|
|
15
|
+
setExpired: (expired: boolean) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Hook for managing cache state
|
|
19
|
+
*/
|
|
20
|
+
export declare function useCacheState<T>(): [CacheState<T>, CacheActions<T>];
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePersistentCache Hook
|
|
3
|
+
* Presentation layer - Hook for persistent caching with TTL
|
|
4
|
+
*
|
|
5
|
+
* General-purpose cache hook for any app
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Options for persistent cache
|
|
9
|
+
*/
|
|
10
|
+
export interface PersistentCacheOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Time-to-live in milliseconds
|
|
13
|
+
* @default DEFAULT_TTL.MEDIUM (30 minutes)
|
|
14
|
+
*/
|
|
15
|
+
ttl?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Cache version for invalidation
|
|
18
|
+
* Increment to invalidate existing caches
|
|
19
|
+
*/
|
|
20
|
+
version?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether cache is enabled
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
enabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result from usePersistentCache hook
|
|
29
|
+
*/
|
|
30
|
+
export interface PersistentCacheResult<T> {
|
|
31
|
+
/**
|
|
32
|
+
* Cached data (null if not loaded or expired)
|
|
33
|
+
*/
|
|
34
|
+
data: T | null;
|
|
35
|
+
/**
|
|
36
|
+
* Whether data is being loaded from storage
|
|
37
|
+
*/
|
|
38
|
+
isLoading: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Whether cached data is expired
|
|
41
|
+
*/
|
|
42
|
+
isExpired: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Set data to cache
|
|
45
|
+
*/
|
|
46
|
+
setData: (value: T) => Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Clear cached data
|
|
49
|
+
*/
|
|
50
|
+
clearData: () => Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Refresh cache (reload from storage)
|
|
53
|
+
*/
|
|
54
|
+
refresh: () => Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Hook for persistent caching with TTL support
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const { data, setData, isExpired } = usePersistentCache<Post[]>('posts-page-1', {
|
|
62
|
+
* ttl: TIME_MS.HOUR,
|
|
63
|
+
* version: 1,
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* // Check if need to fetch
|
|
67
|
+
* if (!data || isExpired) {
|
|
68
|
+
* const freshData = await fetchPosts();
|
|
69
|
+
* await setData(freshData);
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function usePersistentCache<T>(key: string, options?: PersistentCacheOptions): PersistentCacheResult<T>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useStorage Hook
|
|
3
|
+
*
|
|
4
|
+
* Domain-Driven Design: Presentation layer hook for storage operations
|
|
5
|
+
* Provides clean API for components to interact with storage domain
|
|
6
|
+
*/
|
|
7
|
+
import type { StorageResult } from '../../domain/entities/StorageResult';
|
|
8
|
+
import type { StorageKey } from '../../domain/value-objects/StorageKey';
|
|
9
|
+
/**
|
|
10
|
+
* Storage Hook
|
|
11
|
+
* Provides type-safe storage operations
|
|
12
|
+
*/
|
|
13
|
+
export declare const useStorage: () => {
|
|
14
|
+
getItem: <T>(key: string | StorageKey, defaultValue: T) => Promise<T>;
|
|
15
|
+
setItem: <T>(key: string | StorageKey, value: T) => Promise<boolean>;
|
|
16
|
+
getString: (key: string | StorageKey, defaultValue: string) => Promise<string>;
|
|
17
|
+
setString: (key: string | StorageKey, value: string) => Promise<boolean>;
|
|
18
|
+
removeItem: (key: string | StorageKey) => Promise<boolean>;
|
|
19
|
+
hasItem: (key: string | StorageKey) => Promise<boolean>;
|
|
20
|
+
clearAll: () => Promise<boolean>;
|
|
21
|
+
getItemWithResult: <T>(key: string | StorageKey, defaultValue: T) => Promise<StorageResult<T>>;
|
|
22
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useStorageState Hook
|
|
3
|
+
*
|
|
4
|
+
* Domain-Driven Design: Presentation layer hook for state + storage sync
|
|
5
|
+
* Combines React state with automatic storage persistence
|
|
6
|
+
*/
|
|
7
|
+
import type { StorageKey } from '../../domain/value-objects/StorageKey';
|
|
8
|
+
/**
|
|
9
|
+
* Storage State Hook
|
|
10
|
+
* Syncs React state with AsyncStorage automatically
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const [settings, setSettings] = useStorageState('user_settings', { theme: 'light' });
|
|
15
|
+
* // State is automatically persisted to storage
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const useStorageState: <T>(key: string | StorageKey, defaultValue: T) => [T, (value: T) => Promise<void>, boolean];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useStore Hook
|
|
3
|
+
* Helper for creating stores in components
|
|
4
|
+
*/
|
|
5
|
+
import type { StoreConfig } from '../../domain/types/Store';
|
|
6
|
+
export declare function useStore<T extends object>(config: StoreConfig<T>): import("zustand").UseBoundStore<import("zustand").StoreApi<T>>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QueryClient Accessor
|
|
3
|
+
* Domain layer - Global QueryClient access
|
|
4
|
+
*
|
|
5
|
+
* Provides access to QueryClient instance outside of React component tree.
|
|
6
|
+
* Useful for services, utilities, and callbacks that need to invalidate cache.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: setGlobalQueryClient must be called before using getGlobalQueryClient.
|
|
9
|
+
* This is typically done in TanstackProvider.
|
|
10
|
+
*/
|
|
11
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
12
|
+
/**
|
|
13
|
+
* Set the global QueryClient instance.
|
|
14
|
+
* Called automatically by TanstackProvider.
|
|
15
|
+
*/
|
|
16
|
+
export declare function setGlobalQueryClient(client: QueryClient): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get the global QueryClient instance.
|
|
19
|
+
* Use this in non-React contexts (services, utilities, callbacks).
|
|
20
|
+
*
|
|
21
|
+
* @throws Error if QueryClient has not been set
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { getGlobalQueryClient, creditsQueryKeys } from '@umituz/react-native-tanstack';
|
|
26
|
+
*
|
|
27
|
+
* const queryClient = getGlobalQueryClient();
|
|
28
|
+
* queryClient.invalidateQueries({ queryKey: creditsQueryKeys.user(userId) });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function getGlobalQueryClient(): QueryClient;
|
|
32
|
+
/**
|
|
33
|
+
* Check if global QueryClient is available.
|
|
34
|
+
* Use this before calling getGlobalQueryClient to avoid throwing.
|
|
35
|
+
*/
|
|
36
|
+
export declare function hasGlobalQueryClient(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Clear the global QueryClient reference.
|
|
39
|
+
* Useful for cleanup in tests.
|
|
40
|
+
*/
|
|
41
|
+
export declare function clearGlobalQueryClient(): void;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Time Constants
|
|
3
|
+
* Domain layer - Time constants for cache management
|
|
4
|
+
*
|
|
5
|
+
* General-purpose time utilities for any React Native app
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Milliseconds constants for time calculations
|
|
9
|
+
*/
|
|
10
|
+
export declare const TIME_MS: {
|
|
11
|
+
readonly SECOND: 1000;
|
|
12
|
+
readonly MINUTE: number;
|
|
13
|
+
readonly HOUR: number;
|
|
14
|
+
readonly DAY: number;
|
|
15
|
+
readonly WEEK: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Default staleTime values for different cache strategies
|
|
19
|
+
* staleTime = how long data is considered fresh
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_STALE_TIME: {
|
|
22
|
+
readonly REALTIME: 0;
|
|
23
|
+
readonly VERY_SHORT: number;
|
|
24
|
+
readonly SHORT: number;
|
|
25
|
+
readonly MEDIUM: number;
|
|
26
|
+
readonly LONG: number;
|
|
27
|
+
readonly VERY_LONG: number;
|
|
28
|
+
readonly PERMANENT: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Default gcTime (garbage collection) values
|
|
32
|
+
* gcTime = how long unused data stays in cache before being garbage collected
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_GC_TIME: {
|
|
35
|
+
readonly VERY_SHORT: number;
|
|
36
|
+
readonly SHORT: number;
|
|
37
|
+
readonly MEDIUM: number;
|
|
38
|
+
readonly LONG: number;
|
|
39
|
+
readonly VERY_LONG: number;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Default retry configuration
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_RETRY: {
|
|
45
|
+
readonly NONE: false;
|
|
46
|
+
readonly MINIMAL: 1;
|
|
47
|
+
readonly STANDARD: 3;
|
|
48
|
+
readonly AGGRESSIVE: 5;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Default refetch intervals
|
|
52
|
+
*/
|
|
53
|
+
export declare const DEFAULT_REFETCH_INTERVAL: {
|
|
54
|
+
readonly REALTIME: number;
|
|
55
|
+
readonly FAST: number;
|
|
56
|
+
readonly MODERATE: number;
|
|
57
|
+
readonly SLOW: number;
|
|
58
|
+
};
|
|
@@ -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
|
+
}
|