@cranberry-money/shared-services 3.0.0 → 4.0.0
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/README.md +27 -27
- package/dist/index.d.ts +0 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -115
- package/dist/services/portfolios.d.ts +4 -8
- package/dist/services/portfolios.d.ts.map +1 -1
- package/package.json +2 -6
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @cranberry/shared-services v3.0.0
|
|
1
|
+
# @cranberry-money/shared-services v3.0.0
|
|
2
2
|
|
|
3
3
|
**Functional Architecture Shared Services** with pure functions, dependency injection, and comprehensive TypeScript support for the MyPortfolio platform.
|
|
4
4
|
|
|
5
|
-
[](https://badge.fury.io/js/%40cranberry%2Fshared-services)
|
|
5
|
+
[](https://badge.fury.io/js/%40cranberry-money%2Fshared-services)
|
|
6
6
|
[](https://www.typescriptlang.org/)
|
|
7
7
|
[](https://reactjs.org/)
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
### Installation
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npm install @cranberry/shared-services@^3.0.0
|
|
22
|
+
npm install @cranberry-money/shared-services@^3.0.0
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
### Basic Setup
|
|
@@ -28,7 +28,7 @@ npm install @cranberry/shared-services@^3.0.0
|
|
|
28
28
|
import {
|
|
29
29
|
createWebServiceFactory,
|
|
30
30
|
initializeFeatureFlags
|
|
31
|
-
} from '@cranberry/shared-services';
|
|
31
|
+
} from '@cranberry-money/shared-services';
|
|
32
32
|
|
|
33
33
|
// 1. Initialize feature flags (optional but recommended)
|
|
34
34
|
await initializeFeatureFlags({
|
|
@@ -77,7 +77,7 @@ All operations are pure functions with explicit dependencies:
|
|
|
77
77
|
|
|
78
78
|
```typescript
|
|
79
79
|
// Pure function with explicit dependencies
|
|
80
|
-
import { signin, createWebTokenStorage } from '@cranberry/shared-services';
|
|
80
|
+
import { signin, createWebTokenStorage } from '@cranberry-money/shared-services';
|
|
81
81
|
|
|
82
82
|
const authDeps = {
|
|
83
83
|
apiClient: services.auth.createAuthDependencies().apiClient,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
useFunctionalAuthState,
|
|
97
97
|
useFunctionalAuthActions,
|
|
98
98
|
FunctionalAuthGuard
|
|
99
|
-
} from '@cranberry/shared-services';
|
|
99
|
+
} from '@cranberry-money/shared-services';
|
|
100
100
|
|
|
101
101
|
function Dashboard() {
|
|
102
102
|
const authState = useFunctionalAuthState();
|
|
@@ -128,16 +128,16 @@ function Dashboard() {
|
|
|
128
128
|
|
|
129
129
|
```typescript
|
|
130
130
|
// Web (localStorage)
|
|
131
|
-
import { createWebTokenStorage } from '@cranberry/shared-services';
|
|
131
|
+
import { createWebTokenStorage } from '@cranberry-money/shared-services';
|
|
132
132
|
const webStorage = createWebTokenStorage();
|
|
133
133
|
|
|
134
134
|
// Mobile (secure storage)
|
|
135
|
-
import { createMobileTokenStorage } from '@cranberry/shared-services';
|
|
135
|
+
import { createMobileTokenStorage } from '@cranberry-money/shared-services';
|
|
136
136
|
import * as SecureStore from 'expo-secure-store';
|
|
137
137
|
const mobileStorage = createMobileTokenStorage(SecureStore);
|
|
138
138
|
|
|
139
139
|
// Testing (in-memory)
|
|
140
|
-
import { createMemoryTokenStorage } from '@cranberry/shared-services';
|
|
140
|
+
import { createMemoryTokenStorage } from '@cranberry-money/shared-services';
|
|
141
141
|
const testStorage = createMemoryTokenStorage();
|
|
142
142
|
```
|
|
143
143
|
|
|
@@ -146,7 +146,7 @@ const testStorage = createMemoryTokenStorage();
|
|
|
146
146
|
### Functional API Client
|
|
147
147
|
|
|
148
148
|
```typescript
|
|
149
|
-
import { createFunctionalApiClient } from '@cranberry/shared-services';
|
|
149
|
+
import { createFunctionalApiClient } from '@cranberry-money/shared-services';
|
|
150
150
|
|
|
151
151
|
const apiClient = createFunctionalApiClient({
|
|
152
152
|
baseURL: 'https://api.example.com',
|
|
@@ -165,11 +165,11 @@ const result = await apiClient.post('/api/items', { name: 'Item' });
|
|
|
165
165
|
|
|
166
166
|
```typescript
|
|
167
167
|
// Web-optimized client
|
|
168
|
-
import { createFunctionalWebApiClient } from '@cranberry/shared-services';
|
|
168
|
+
import { createFunctionalWebApiClient } from '@cranberry-money/shared-services';
|
|
169
169
|
const webClient = createFunctionalWebApiClient('https://api.example.com');
|
|
170
170
|
|
|
171
171
|
// Mobile-optimized client
|
|
172
|
-
import { createFunctionalMobileApiClient } from '@cranberry/shared-services';
|
|
172
|
+
import { createFunctionalMobileApiClient } from '@cranberry-money/shared-services';
|
|
173
173
|
const mobileClient = createFunctionalMobileApiClient('https://api.example.com');
|
|
174
174
|
```
|
|
175
175
|
|
|
@@ -201,7 +201,7 @@ const updated = await services.portfolio.updatePortfolio('portfolio-id', {
|
|
|
201
201
|
### Reference Data Services
|
|
202
202
|
|
|
203
203
|
```typescript
|
|
204
|
-
import { createReferenceDataMigration } from '@cranberry/shared-services';
|
|
204
|
+
import { createReferenceDataMigration } from '@cranberry-money/shared-services';
|
|
205
205
|
|
|
206
206
|
const referenceData = createReferenceDataMigration(services);
|
|
207
207
|
|
|
@@ -239,7 +239,7 @@ await flags.updateFlags({ useFunctionalAuth: true });
|
|
|
239
239
|
### Migration Helpers
|
|
240
240
|
|
|
241
241
|
```typescript
|
|
242
|
-
import { createMigrationHelpers } from '@cranberry/shared-services';
|
|
242
|
+
import { createMigrationHelpers } from '@cranberry-money/shared-services';
|
|
243
243
|
|
|
244
244
|
const helpers = createMigrationHelpers(services, {
|
|
245
245
|
apiClient: legacyApiClient,
|
|
@@ -264,7 +264,7 @@ if (!validation.isValid) {
|
|
|
264
264
|
import {
|
|
265
265
|
runQuickPerformanceCheck,
|
|
266
266
|
runComprehensivePerformanceAnalysis
|
|
267
|
-
} from '@cranberry/shared-services';
|
|
267
|
+
} from '@cranberry-money/shared-services';
|
|
268
268
|
|
|
269
269
|
// Quick performance check
|
|
270
270
|
const quickReport = await runQuickPerformanceCheck();
|
|
@@ -278,7 +278,7 @@ console.log(detailedReport);
|
|
|
278
278
|
### Performance Tracking
|
|
279
279
|
|
|
280
280
|
```typescript
|
|
281
|
-
import { monitorMigrationPerformance } from '@cranberry/shared-services';
|
|
281
|
+
import { monitorMigrationPerformance } from '@cranberry-money/shared-services';
|
|
282
282
|
|
|
283
283
|
// Wrap functions for automatic performance tracking
|
|
284
284
|
const monitored = monitorMigrationPerformance(
|
|
@@ -296,7 +296,7 @@ const result = await monitored();
|
|
|
296
296
|
### Pure Function Testing
|
|
297
297
|
|
|
298
298
|
```typescript
|
|
299
|
-
import { signin, createMemoryTokenStorage } from '@cranberry/shared-services';
|
|
299
|
+
import { signin, createMemoryTokenStorage } from '@cranberry-money/shared-services';
|
|
300
300
|
|
|
301
301
|
describe('Authentication', () => {
|
|
302
302
|
it('should signin successfully', async () => {
|
|
@@ -331,7 +331,7 @@ describe('Authentication', () => {
|
|
|
331
331
|
|
|
332
332
|
```typescript
|
|
333
333
|
import { render, screen } from '@testing-library/react';
|
|
334
|
-
import { createMemoryTokenStorage } from '@cranberry/shared-services';
|
|
334
|
+
import { createMemoryTokenStorage } from '@cranberry-money/shared-services';
|
|
335
335
|
|
|
336
336
|
const TestAuthProvider = ({ children }) => {
|
|
337
337
|
const services = createWebServiceFactory('http://test-api.com');
|
|
@@ -356,7 +356,7 @@ test('should display user name when authenticated', () => {
|
|
|
356
356
|
### Web Application Setup
|
|
357
357
|
|
|
358
358
|
```typescript
|
|
359
|
-
import { createWebServiceFactory } from '@cranberry/shared-services';
|
|
359
|
+
import { createWebServiceFactory } from '@cranberry-money/shared-services';
|
|
360
360
|
|
|
361
361
|
const services = createWebServiceFactory(
|
|
362
362
|
process.env.REACT_APP_API_URL,
|
|
@@ -372,7 +372,7 @@ export { services };
|
|
|
372
372
|
### Mobile Application Setup
|
|
373
373
|
|
|
374
374
|
```typescript
|
|
375
|
-
import { createMobileServiceFactory } from '@cranberry/shared-services';
|
|
375
|
+
import { createMobileServiceFactory } from '@cranberry-money/shared-services';
|
|
376
376
|
import * as SecureStore from 'expo-secure-store';
|
|
377
377
|
|
|
378
378
|
const services = createMobileServiceFactory(
|
|
@@ -408,7 +408,7 @@ const services = createWebServiceFactory(getApiUrl());
|
|
|
408
408
|
### Custom Service Factory
|
|
409
409
|
|
|
410
410
|
```typescript
|
|
411
|
-
import { createServiceFactory } from '@cranberry/shared-services';
|
|
411
|
+
import { createServiceFactory } from '@cranberry-money/shared-services';
|
|
412
412
|
|
|
413
413
|
const customServices = createServiceFactory({
|
|
414
414
|
platform: {
|
|
@@ -422,7 +422,7 @@ const customServices = createServiceFactory({
|
|
|
422
422
|
### Error Handling
|
|
423
423
|
|
|
424
424
|
```typescript
|
|
425
|
-
import { isFunctionalApiError } from '@cranberry/shared-services';
|
|
425
|
+
import { isFunctionalApiError } from '@cranberry-money/shared-services';
|
|
426
426
|
|
|
427
427
|
try {
|
|
428
428
|
const data = await services.portfolio.getPortfolios();
|
|
@@ -469,10 +469,10 @@ function useCreatePortfolio() {
|
|
|
469
469
|
|
|
470
470
|
## 📖 Documentation
|
|
471
471
|
|
|
472
|
-
- **[Migration Guide](
|
|
473
|
-
- **[Architecture Overview](
|
|
474
|
-
- **[
|
|
475
|
-
- **[
|
|
472
|
+
- **[Migration Guide](../../docs/MIGRATION-V3.md)**: Complete guide for migrating from v2.x
|
|
473
|
+
- **[Architecture Overview](../../docs/ARCHITECTURE.md)**: Detailed architecture documentation
|
|
474
|
+
- **[Best Practices](../../docs/BEST-PRACTICES.md)**: Code standards and patterns
|
|
475
|
+
- **[Service Development Guide](../../docs/SERVICE-DEVELOPMENT-GUIDE.md)**: Creating new services
|
|
476
476
|
|
|
477
477
|
## 🛠 Development
|
|
478
478
|
|
|
@@ -559,4 +559,4 @@ MIT License - see the [LICENSE](LICENSE) file for details.
|
|
|
559
559
|
|
|
560
560
|
---
|
|
561
561
|
|
|
562
|
-
**Need help migrating from v2.x?** Check out our [comprehensive migration guide](
|
|
562
|
+
**Need help migrating from v2.x?** Check out our [comprehensive migration guide](../../docs/MIGRATION-V3.md) with step-by-step instructions and examples.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cranberry Shared Services v3.0.0 - Clean Functional Architecture
|
|
3
|
-
*
|
|
4
|
-
* Pure functional implementation with explicit dependency injection.
|
|
5
|
-
* No global state, no classes - just clean, composable functions.
|
|
6
|
-
*/
|
|
7
|
-
export { createServiceFactory, createWebServiceFactory, createMobileServiceFactory, } from './services/factories';
|
|
8
|
-
export type { ServiceFactory, ServiceFactoryConfig, PlatformConfig, CoreDependencies, AuthServiceFactory, PortfolioServiceFactory, AccountServiceFactory, TradeServiceFactory, WithdrawalServiceFactory, InstrumentServiceFactory, CashAccountServiceFactory, BankServiceFactory, DocumentServiceFactory, PortfolioTemplateServiceFactory, TaxResidencyServiceFactory, ReferenceDataServiceFactory, } from './services/factories';
|
|
9
|
-
export { type ApiClient, type ApiClientConfig, type RequestConfig, type ApiError, createApiClient, createWebApiClient, createMobileApiClient, isApiError, } from './api/functional-client';
|
|
10
|
-
export { type AuthState, type UserProfile, type TokenPair, createInitialAuthState, createLoadingAuthState, createAuthenticatedState, createUnauthenticatedState, createErrorState, updateTokens, clearError, isValidAuthState, hasValidTokens, getDisplayName, requiresVerification, requiresSignupCompletion, } from './auth/functional/auth-state';
|
|
11
|
-
export { type AuthDependencies, type SigninPayload, type SignupPayload, type TokenStorage, signin, signout, signup, refreshTokens, getUserProfile, verifyEmail, resendVerificationCode, initializeFromStorage, validateSigninCredentials, validateSignupData, } from './auth/functional/auth-operations';
|
|
12
|
-
export { createWebTokenStorage, createMobileTokenStorage, createMemoryTokenStorage, isSecureStorageAvailable, migrateTokensFromLegacyStorage, type SecureStoreInterface, } from './auth/functional/token-storage';
|
|
13
|
-
export { AuthProvider, useAuth, useAuthState, useAuthActions, withAuth, AuthGuard, } from './auth/react/AuthProvider';
|
|
14
|
-
export * as PortfolioServices from './services/portfolios';
|
|
15
|
-
export * as ReferenceDataServices from './services/reference-data';
|
|
16
|
-
export * as AccountServices from './services/accounts';
|
|
17
|
-
export * as TradeServices from './services/trades';
|
|
18
|
-
export * as WithdrawalServices from './services/withdrawals';
|
|
19
|
-
export * as InstrumentServices from './services/instruments';
|
|
20
|
-
export * as CashAccountServices from './services/cash-accounts';
|
|
21
|
-
export * as BankServices from './services/banks';
|
|
22
|
-
export * as DocumentServices from './services/documents';
|
|
23
|
-
export * as PortfolioTemplateServices from './services/portfolio-templates';
|
|
24
|
-
export * as TaxResidencyServices from './services/tax-residencies';
|
|
25
|
-
export { BlueberryApp, BlueberryAuthProvider, BlueberryDashboard, setupBlueberryServices, enableFunctionalPortfolios, getMigrationProgress, } from './integration/blueberry-integration';
|
|
26
|
-
export { type AuthState as LegacyAuthState, type UserProfile as LegacyUserProfile, type TokenPair as LegacyTokenPair, } from './auth/functional/auth-state';
|
|
27
|
-
export { type ApiClient as LegacyApiClient, type ApiClientConfig as LegacyApiClientConfig, createApiClient as createLegacyApiClient, } from './api/functional-client';
|
|
28
1
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
CHANGED
|
@@ -1,116 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
* Cranberry Shared Services v3.0.0 - Clean Functional Architecture
|
|
4
|
-
*
|
|
5
|
-
* Pure functional implementation with explicit dependency injection.
|
|
6
|
-
* No global state, no classes - just clean, composable functions.
|
|
7
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
-
var ownKeys = function(o) {
|
|
26
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
-
var ar = [];
|
|
28
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
-
return ar;
|
|
30
|
-
};
|
|
31
|
-
return ownKeys(o);
|
|
32
|
-
};
|
|
33
|
-
return function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.PortfolioTemplateServices = exports.DocumentServices = exports.BankServices = exports.CashAccountServices = exports.InstrumentServices = exports.WithdrawalServices = exports.TradeServices = exports.AccountServices = exports.ReferenceDataServices = exports.PortfolioServices = exports.AuthGuard = exports.withAuth = exports.useAuthActions = exports.useAuthState = exports.useAuth = exports.AuthProvider = exports.migrateTokensFromLegacyStorage = exports.isSecureStorageAvailable = exports.createMemoryTokenStorage = exports.createMobileTokenStorage = exports.createWebTokenStorage = exports.validateSignupData = exports.validateSigninCredentials = exports.initializeFromStorage = exports.resendVerificationCode = exports.verifyEmail = exports.getUserProfile = exports.refreshTokens = exports.signup = exports.signout = exports.signin = exports.requiresSignupCompletion = exports.requiresVerification = exports.getDisplayName = exports.hasValidTokens = exports.isValidAuthState = exports.clearError = exports.updateTokens = exports.createErrorState = exports.createUnauthenticatedState = exports.createAuthenticatedState = exports.createLoadingAuthState = exports.createInitialAuthState = exports.isApiError = exports.createMobileApiClient = exports.createWebApiClient = exports.createApiClient = exports.createMobileServiceFactory = exports.createWebServiceFactory = exports.createServiceFactory = void 0;
|
|
43
|
-
exports.createLegacyApiClient = exports.getMigrationProgress = exports.enableFunctionalPortfolios = exports.setupBlueberryServices = exports.BlueberryDashboard = exports.BlueberryAuthProvider = exports.BlueberryApp = exports.TaxResidencyServices = void 0;
|
|
44
|
-
// Core Service Factory Pattern - Main entry point
|
|
45
|
-
var factories_1 = require("./services/factories");
|
|
46
|
-
Object.defineProperty(exports, "createServiceFactory", { enumerable: true, get: function () { return factories_1.createServiceFactory; } });
|
|
47
|
-
Object.defineProperty(exports, "createWebServiceFactory", { enumerable: true, get: function () { return factories_1.createWebServiceFactory; } });
|
|
48
|
-
Object.defineProperty(exports, "createMobileServiceFactory", { enumerable: true, get: function () { return factories_1.createMobileServiceFactory; } });
|
|
49
|
-
// Functional API Client
|
|
50
|
-
var functional_client_1 = require("./api/functional-client");
|
|
51
|
-
Object.defineProperty(exports, "createApiClient", { enumerable: true, get: function () { return functional_client_1.createApiClient; } });
|
|
52
|
-
Object.defineProperty(exports, "createWebApiClient", { enumerable: true, get: function () { return functional_client_1.createWebApiClient; } });
|
|
53
|
-
Object.defineProperty(exports, "createMobileApiClient", { enumerable: true, get: function () { return functional_client_1.createMobileApiClient; } });
|
|
54
|
-
Object.defineProperty(exports, "isApiError", { enumerable: true, get: function () { return functional_client_1.isApiError; } });
|
|
55
|
-
// Functional Authentication System
|
|
56
|
-
var auth_state_1 = require("./auth/functional/auth-state");
|
|
57
|
-
Object.defineProperty(exports, "createInitialAuthState", { enumerable: true, get: function () { return auth_state_1.createInitialAuthState; } });
|
|
58
|
-
Object.defineProperty(exports, "createLoadingAuthState", { enumerable: true, get: function () { return auth_state_1.createLoadingAuthState; } });
|
|
59
|
-
Object.defineProperty(exports, "createAuthenticatedState", { enumerable: true, get: function () { return auth_state_1.createAuthenticatedState; } });
|
|
60
|
-
Object.defineProperty(exports, "createUnauthenticatedState", { enumerable: true, get: function () { return auth_state_1.createUnauthenticatedState; } });
|
|
61
|
-
Object.defineProperty(exports, "createErrorState", { enumerable: true, get: function () { return auth_state_1.createErrorState; } });
|
|
62
|
-
Object.defineProperty(exports, "updateTokens", { enumerable: true, get: function () { return auth_state_1.updateTokens; } });
|
|
63
|
-
Object.defineProperty(exports, "clearError", { enumerable: true, get: function () { return auth_state_1.clearError; } });
|
|
64
|
-
Object.defineProperty(exports, "isValidAuthState", { enumerable: true, get: function () { return auth_state_1.isValidAuthState; } });
|
|
65
|
-
Object.defineProperty(exports, "hasValidTokens", { enumerable: true, get: function () { return auth_state_1.hasValidTokens; } });
|
|
66
|
-
Object.defineProperty(exports, "getDisplayName", { enumerable: true, get: function () { return auth_state_1.getDisplayName; } });
|
|
67
|
-
Object.defineProperty(exports, "requiresVerification", { enumerable: true, get: function () { return auth_state_1.requiresVerification; } });
|
|
68
|
-
Object.defineProperty(exports, "requiresSignupCompletion", { enumerable: true, get: function () { return auth_state_1.requiresSignupCompletion; } });
|
|
69
|
-
var auth_operations_1 = require("./auth/functional/auth-operations");
|
|
70
|
-
Object.defineProperty(exports, "signin", { enumerable: true, get: function () { return auth_operations_1.signin; } });
|
|
71
|
-
Object.defineProperty(exports, "signout", { enumerable: true, get: function () { return auth_operations_1.signout; } });
|
|
72
|
-
Object.defineProperty(exports, "signup", { enumerable: true, get: function () { return auth_operations_1.signup; } });
|
|
73
|
-
Object.defineProperty(exports, "refreshTokens", { enumerable: true, get: function () { return auth_operations_1.refreshTokens; } });
|
|
74
|
-
Object.defineProperty(exports, "getUserProfile", { enumerable: true, get: function () { return auth_operations_1.getUserProfile; } });
|
|
75
|
-
Object.defineProperty(exports, "verifyEmail", { enumerable: true, get: function () { return auth_operations_1.verifyEmail; } });
|
|
76
|
-
Object.defineProperty(exports, "resendVerificationCode", { enumerable: true, get: function () { return auth_operations_1.resendVerificationCode; } });
|
|
77
|
-
Object.defineProperty(exports, "initializeFromStorage", { enumerable: true, get: function () { return auth_operations_1.initializeFromStorage; } });
|
|
78
|
-
Object.defineProperty(exports, "validateSigninCredentials", { enumerable: true, get: function () { return auth_operations_1.validateSigninCredentials; } });
|
|
79
|
-
Object.defineProperty(exports, "validateSignupData", { enumerable: true, get: function () { return auth_operations_1.validateSignupData; } });
|
|
80
|
-
var token_storage_1 = require("./auth/functional/token-storage");
|
|
81
|
-
// Token storage implementations
|
|
82
|
-
Object.defineProperty(exports, "createWebTokenStorage", { enumerable: true, get: function () { return token_storage_1.createWebTokenStorage; } });
|
|
83
|
-
Object.defineProperty(exports, "createMobileTokenStorage", { enumerable: true, get: function () { return token_storage_1.createMobileTokenStorage; } });
|
|
84
|
-
Object.defineProperty(exports, "createMemoryTokenStorage", { enumerable: true, get: function () { return token_storage_1.createMemoryTokenStorage; } });
|
|
85
|
-
Object.defineProperty(exports, "isSecureStorageAvailable", { enumerable: true, get: function () { return token_storage_1.isSecureStorageAvailable; } });
|
|
86
|
-
Object.defineProperty(exports, "migrateTokensFromLegacyStorage", { enumerable: true, get: function () { return token_storage_1.migrateTokensFromLegacyStorage; } });
|
|
87
|
-
var AuthProvider_1 = require("./auth/react/AuthProvider");
|
|
88
|
-
// React integration
|
|
89
|
-
Object.defineProperty(exports, "AuthProvider", { enumerable: true, get: function () { return AuthProvider_1.AuthProvider; } });
|
|
90
|
-
Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return AuthProvider_1.useAuth; } });
|
|
91
|
-
Object.defineProperty(exports, "useAuthState", { enumerable: true, get: function () { return AuthProvider_1.useAuthState; } });
|
|
92
|
-
Object.defineProperty(exports, "useAuthActions", { enumerable: true, get: function () { return AuthProvider_1.useAuthActions; } });
|
|
93
|
-
Object.defineProperty(exports, "withAuth", { enumerable: true, get: function () { return AuthProvider_1.withAuth; } });
|
|
94
|
-
Object.defineProperty(exports, "AuthGuard", { enumerable: true, get: function () { return AuthProvider_1.AuthGuard; } });
|
|
95
|
-
// Domain Services - Pure Functional Implementations
|
|
96
|
-
exports.PortfolioServices = __importStar(require("./services/portfolios"));
|
|
97
|
-
exports.ReferenceDataServices = __importStar(require("./services/reference-data"));
|
|
98
|
-
exports.AccountServices = __importStar(require("./services/accounts"));
|
|
99
|
-
exports.TradeServices = __importStar(require("./services/trades"));
|
|
100
|
-
exports.WithdrawalServices = __importStar(require("./services/withdrawals"));
|
|
101
|
-
exports.InstrumentServices = __importStar(require("./services/instruments"));
|
|
102
|
-
exports.CashAccountServices = __importStar(require("./services/cash-accounts"));
|
|
103
|
-
exports.BankServices = __importStar(require("./services/banks"));
|
|
104
|
-
exports.DocumentServices = __importStar(require("./services/documents"));
|
|
105
|
-
exports.PortfolioTemplateServices = __importStar(require("./services/portfolio-templates"));
|
|
106
|
-
exports.TaxResidencyServices = __importStar(require("./services/tax-residencies"));
|
|
107
|
-
// Integration Examples and Usage Patterns
|
|
108
|
-
var blueberry_integration_1 = require("./integration/blueberry-integration");
|
|
109
|
-
Object.defineProperty(exports, "BlueberryApp", { enumerable: true, get: function () { return blueberry_integration_1.BlueberryApp; } });
|
|
110
|
-
Object.defineProperty(exports, "BlueberryAuthProvider", { enumerable: true, get: function () { return blueberry_integration_1.BlueberryAuthProvider; } });
|
|
111
|
-
Object.defineProperty(exports, "BlueberryDashboard", { enumerable: true, get: function () { return blueberry_integration_1.BlueberryDashboard; } });
|
|
112
|
-
Object.defineProperty(exports, "setupBlueberryServices", { enumerable: true, get: function () { return blueberry_integration_1.setupBlueberryServices; } });
|
|
113
|
-
Object.defineProperty(exports, "enableFunctionalPortfolios", { enumerable: true, get: function () { return blueberry_integration_1.enableFunctionalPortfolios; } });
|
|
114
|
-
Object.defineProperty(exports, "getMigrationProgress", { enumerable: true, get: function () { return blueberry_integration_1.getMigrationProgress; } });
|
|
115
|
-
var functional_client_2 = require("./api/functional-client");
|
|
116
|
-
Object.defineProperty(exports, "createLegacyApiClient", { enumerable: true, get: function () { return functional_client_2.createApiClient; } });
|
|
2
|
+
// Placeholder for package
|
|
@@ -6,15 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ApiClient } from '../api/functional-client';
|
|
8
8
|
export interface Portfolio {
|
|
9
|
-
readonly id: string;
|
|
10
9
|
readonly uuid: string;
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly isActive: boolean;
|
|
16
|
-
readonly createdAt: string;
|
|
17
|
-
readonly updatedAt: string;
|
|
10
|
+
readonly account: string;
|
|
11
|
+
readonly template?: string;
|
|
12
|
+
readonly name?: string;
|
|
13
|
+
readonly marketValue: string;
|
|
18
14
|
}
|
|
19
15
|
export interface PortfolioFilters {
|
|
20
16
|
readonly isActive?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../src/services/portfolios.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../src/services/portfolios.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cranberry-money/shared-services",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Functional architecture shared services with pure functions, dependency injection, and comprehensive TypeScript support for the MyPortfolio platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,11 +23,7 @@
|
|
|
23
23
|
"typecheck": "tsc --noEmit",
|
|
24
24
|
"dev": "tsc --watch",
|
|
25
25
|
"lint": "eslint src --ext .ts,.tsx",
|
|
26
|
-
"lint:fix": "eslint src --ext .ts,.tsx --fix"
|
|
27
|
-
"validate": "tsx scripts/validate-package.ts",
|
|
28
|
-
"prepare-release": "tsx scripts/prepare-release.ts",
|
|
29
|
-
"release": "npm run prepare-release && npm publish",
|
|
30
|
-
"release:dry-run": "npm run prepare-release -- --dry-run"
|
|
26
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix"
|
|
31
27
|
},
|
|
32
28
|
"dependencies": {
|
|
33
29
|
"axios": "^1.7.0"
|