@dxtmisha/functional 1.13.3 → 1.13.5

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/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.13.5] - 2026-06-17
6
+
7
+ ### Changed / Improved
8
+ - **GeoRef**: Refactored static getters (`getCountry`, `getLanguage`, `getStandard`, `getFirstDay`) to use request-isolated computed references via `ServerStorage.get`. This isolates their reactive state per request, resolving potential cross-request state pollution during SSR.
9
+
10
+ ## [1.13.4] - 2026-06-17
11
+
12
+ ### Added
13
+ - **GeoRef**: Added static reactive `setValueDefault` method to configure the default country/language code.
14
+ - **dxtFunctionalPlugin**: Extended `location` configuration option to accept `string | (() => string)` callbacks, registering the default fallback location dynamically during Vue application initialization.
15
+
16
+ ## [1.13.3] - 2026-06-16
17
+
18
+ ### Added
19
+ - **GeoRef**: Added static reactive `setValueDefault` method to configure the default country/language code.
20
+ - **dxtFunctionalPlugin**: Added `location?: string` plugin configuration parameter to set the default fallback location dynamically during Vue application initialization.
21
+
22
+ ### Changed / Improved
23
+ - **Tests**: Configured test suites (`GeoRef.test.ts` and `dxtFunctionalPlugin.test.ts`) to cover fallback value detection and default settings.
24
+
5
25
  ## [1.13.2] - 2026-06-05
6
26
 
7
27
  ### Changed / Improved
@@ -1,10 +1,18 @@
1
- Core Purpose: This library is a comprehensive Vue 3 framework for reactive application architecture. It provides high-level abstractions for API orchestration (fetching, mutation, SSR, schema validation), state management (singletons, reactive storage, session/cookie handling), component design (base classes for rendering and lifecycle management), and localization/internationalization (geo-data, formatting, date management).
1
+ This library is a collection of Vue 3-based utility classes and composables designed for building complex, reactive, and SSR-ready interfaces. It provides a standardized framework for API management, component state, geographic/localization data, and dynamic rendering.
2
2
 
3
- Usage Scenarios: Study this API when building complex, data-intensive Vue 3 applications requiring:
4
- 1. Centralized, reactive API management (GET/POST/PUT/DELETE) with built-in SSR support, caching, and automatic response contract validation.
5
- 2. Unified component architecture using base design classes for consistent styling, rendering, and lifecycle event management.
6
- 3. Complex list handling, client-side searching, and advanced data formatting (Intl, currency, dates).
7
- 4. Cross-tab communication or persistent reactive state storage (localStorage, sessionStorage, cookies).
8
- 5. Global service configuration (meta tags, translation, icons, API settings) via Vue plugins.
3
+ 1. Core Purpose:
4
+ An infrastructure-level toolkit for Vue 3 that abstracts asynchronous data fetching, state management, and UI rendering logic. It provides structured classes and composables to handle API lifecycle (GET/POST/PUT/DELETE), reactive data transformations, internationalization (Intl), and component orchestration.
9
5
 
10
- Integration Context: The library acts as a core infrastructure layer. It is built on top of Vue 3's Composition API and `vue-router`. It relies heavily on `@dxtmisha/functional-basic` for underlying logic. It should be treated as the primary service and utility layer that replaces manual store management (like Pinia) and repetitive API/lifecycle boilerplate by providing standardized patterns (e.g., `executeUse` for singletons) for shared state and service orchestration.
6
+ 2. Usage Scenarios:
7
+ - API Orchestration: When building complex forms, data tables, or dashboards requiring integrated state, validation (via @effect/schema compatibility), and SSR support. Use `useApiManagementRef` for unified CRUD handling or `useApiRef` for individual requests.
8
+ - Reactive Data Management: When you need synchronized data across browser tabs (`useBroadcastValueRef`) or persistence across reloads (`useStorageRef`, `useCookieRef`).
9
+ - Localization & Formatting: When the application needs to dynamically handle geographic data, currency formatting, file sizes, or date manipulation via `GeoIntlRef` and `useGeoIntlRef`.
10
+ - Component Design System: When building modular UI components that require consistent prop-to-style/class mapping (`DesignConstructorAbstract`, `DesignComponents`).
11
+ - Lifecycle & DOM Utilities: When implementing lazy loading (`useLazyRef`) or global state management using `executeUse` for singletons.
12
+
13
+ 3. Integration Context:
14
+ - Vue 3 Core: Heavily leverages `Ref`, `ComputedRef`, and `provide/inject`.
15
+ - Data Fetching: Acts as a high-level wrapper over an underlying `functional-basic` library.
16
+ - Routing: Integrates with `vue-router` via `RouterItemRef` and `useRouterList`.
17
+ - SSR: Provides specific `Async` variants (e.g., `useApiAsyncRef`) for server-side pre-fetching.
18
+ - Schema Validation: Designed to work with `@effect/schema` for robust API contract validation.