@reactionary/source 0.0.48 → 0.0.52
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/core/package.json +4 -3
- package/core/src/cache/cache.interface.ts +1 -1
- package/core/src/cache/memory-cache.ts +2 -2
- package/core/src/cache/noop-cache.ts +1 -1
- package/core/src/cache/redis-cache.ts +1 -1
- package/core/src/client/client-builder.ts +4 -4
- package/core/src/client/client.ts +12 -12
- package/core/src/decorators/reactionary.decorator.ts +22 -2
- package/core/src/index.ts +14 -14
- package/core/src/initialization.ts +1 -1
- package/core/src/providers/analytics.provider.ts +2 -2
- package/core/src/providers/base.provider.ts +5 -5
- package/core/src/providers/cart.provider.ts +6 -6
- package/core/src/providers/category.provider.ts +4 -9
- package/core/src/providers/checkout.provider.ts +156 -0
- package/core/src/providers/identity.provider.ts +5 -5
- package/core/src/providers/index.ts +13 -12
- package/core/src/providers/inventory.provider.ts +4 -4
- package/core/src/providers/order.provider.ts +31 -0
- package/core/src/providers/price.provider.ts +5 -5
- package/core/src/providers/product.provider.ts +5 -5
- package/core/src/providers/profile.provider.ts +5 -5
- package/core/src/providers/search.provider.ts +4 -4
- package/core/src/providers/store.provider.ts +4 -4
- package/core/src/schemas/capabilities.schema.ts +2 -1
- package/core/src/schemas/models/analytics.model.ts +1 -1
- package/core/src/schemas/models/cart.model.ts +3 -28
- package/core/src/schemas/models/category.model.ts +2 -2
- package/core/src/schemas/models/checkout.model.ts +66 -0
- package/core/src/schemas/models/cost.model.ts +21 -0
- package/core/src/schemas/models/identifiers.model.ts +23 -2
- package/core/src/schemas/models/identity.model.ts +8 -5
- package/core/src/schemas/models/index.ts +19 -15
- package/core/src/schemas/models/inventory.model.ts +2 -2
- package/core/src/schemas/models/order.model.ts +46 -0
- package/core/src/schemas/models/payment.model.ts +5 -12
- package/core/src/schemas/models/price.model.ts +3 -3
- package/core/src/schemas/models/product.model.ts +6 -3
- package/core/src/schemas/models/profile.model.ts +2 -2
- package/core/src/schemas/models/search.model.ts +2 -3
- package/core/src/schemas/models/shipping-method.model.ts +34 -3
- package/core/src/schemas/models/store.model.ts +2 -2
- package/core/src/schemas/mutations/analytics.mutation.ts +2 -2
- package/core/src/schemas/mutations/cart.mutation.ts +5 -5
- package/core/src/schemas/mutations/checkout.mutation.ts +50 -0
- package/core/src/schemas/mutations/identity.mutation.ts +1 -1
- package/core/src/schemas/mutations/index.ts +10 -10
- package/core/src/schemas/mutations/profile.mutation.ts +1 -1
- package/core/src/schemas/queries/cart.query.ts +2 -2
- package/core/src/schemas/queries/category.query.ts +3 -3
- package/core/src/schemas/queries/checkout.query.ts +22 -0
- package/core/src/schemas/queries/identity.query.ts +1 -1
- package/core/src/schemas/queries/index.ts +13 -12
- package/core/src/schemas/queries/inventory.query.ts +2 -2
- package/core/src/schemas/queries/order.query.ts +9 -0
- package/core/src/schemas/queries/price.query.ts +2 -2
- package/core/src/schemas/queries/product.query.ts +9 -2
- package/core/src/schemas/queries/profile.query.ts +1 -1
- package/core/src/schemas/queries/search.query.ts +2 -2
- package/core/src/schemas/queries/store.query.ts +1 -1
- package/core/src/schemas/session.schema.ts +3 -3
- package/core/tsconfig.json +3 -2
- package/examples/next/next.config.js +17 -6
- package/examples/next/src/app/page.tsx +1 -2
- package/examples/node/package.json +2 -1
- package/examples/node/src/basic/basic-node-setup.spec.ts +1 -1
- package/examples/node/tsconfig.json +2 -1
- package/examples/node/tsconfig.spec.json +3 -2
- package/package.json +3 -1
- package/providers/algolia/package.json +2 -1
- package/providers/algolia/src/core/initialize.ts +5 -5
- package/providers/algolia/src/index.ts +5 -5
- package/providers/algolia/src/providers/product.provider.ts +8 -2
- package/providers/algolia/src/providers/search.provider.ts +1 -1
- package/providers/algolia/src/test/search.provider.spec.ts +1 -1
- package/providers/algolia/tsconfig.json +2 -1
- package/providers/algolia/tsconfig.spec.json +3 -2
- package/providers/commercetools/{jest.config.ts → jest.config.cjs} +1 -1
- package/providers/commercetools/package.json +3 -2
- package/providers/commercetools/src/core/client.ts +63 -32
- package/providers/commercetools/src/core/initialize.ts +20 -16
- package/providers/commercetools/src/index.ts +10 -10
- package/providers/commercetools/src/providers/cart.provider.ts +14 -19
- package/providers/commercetools/src/providers/category.provider.ts +3 -12
- package/providers/commercetools/src/providers/checkout.provider.ts +644 -0
- package/providers/commercetools/src/providers/identity.provider.ts +8 -8
- package/providers/commercetools/src/providers/index.ts +12 -9
- package/providers/commercetools/src/providers/inventory.provider.ts +2 -4
- package/providers/commercetools/src/providers/order.provider.ts +163 -0
- package/providers/commercetools/src/providers/price.provider.ts +3 -3
- package/providers/commercetools/src/providers/product.provider.ts +24 -6
- package/providers/commercetools/src/providers/profile.provider.ts +2 -2
- package/providers/commercetools/src/providers/search.provider.ts +3 -5
- package/providers/commercetools/src/providers/store.provider.ts +3 -3
- package/providers/commercetools/src/schema/capabilities.schema.ts +2 -1
- package/providers/commercetools/src/schema/commercetools.schema.ts +7 -5
- package/providers/commercetools/src/schema/configuration.schema.ts +2 -0
- package/providers/commercetools/src/test/cart.provider.spec.ts +24 -4
- package/providers/commercetools/src/test/category.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/checkout.provider.spec.ts +312 -0
- package/providers/commercetools/src/test/identity.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/inventory.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/price.provider.spec.ts +4 -4
- package/providers/commercetools/src/test/product.provider.spec.ts +22 -5
- package/providers/commercetools/src/test/profile.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/search.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/store.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/test-utils.ts +14 -0
- package/providers/commercetools/tsconfig.json +2 -1
- package/providers/commercetools/tsconfig.spec.json +4 -3
- package/providers/fake/{jest.config.ts → jest.config.cjs} +1 -1
- package/providers/fake/package.json +2 -2
- package/providers/fake/src/core/initialize.ts +6 -6
- package/providers/fake/src/index.ts +4 -4
- package/providers/fake/src/providers/analytics.provider.ts +1 -1
- package/providers/fake/src/providers/cart.provider.ts +2 -2
- package/providers/fake/src/providers/category.provider.ts +7 -3
- package/providers/fake/src/providers/identity.provider.ts +1 -1
- package/providers/fake/src/providers/index.ts +9 -9
- package/providers/fake/src/providers/inventory.provider.ts +1 -1
- package/providers/fake/src/providers/price.provider.ts +1 -1
- package/providers/fake/src/providers/product.provider.ts +10 -4
- package/providers/fake/src/providers/search.provider.ts +2 -5
- package/providers/fake/src/providers/store.provider.ts +2 -3
- package/providers/fake/src/test/cart.provider.spec.ts +3 -3
- package/providers/fake/src/test/category.provider.spec.ts +2 -2
- package/providers/fake/src/test/price.provider.spec.ts +2 -2
- package/providers/fake/src/test/product.provider.spec.ts +8 -8
- package/providers/fake/src/test/test-utils.ts +1 -1
- package/providers/fake/tsconfig.json +2 -1
- package/providers/fake/tsconfig.spec.json +1 -3
- package/providers/posthog/package.json +4 -4
- package/providers/posthog/project.json +2 -2
- package/providers/posthog/src/core/initialize.ts +2 -2
- package/providers/posthog/src/index.ts +3 -3
- package/providers/posthog/tsconfig.json +2 -1
- package/tsconfig.base.json +3 -4
- package/.claude/settings.local.json +0 -28
- package/core/src/providers/cart-payment.provider.ts +0 -57
- package/core/src/schemas/mutations/cart-payment.mutation.ts +0 -21
- package/core/src/schemas/queries/cart-payment.query.ts +0 -12
- package/otel/README.md +0 -227
- package/otel/eslint.config.mjs +0 -23
- package/otel/package.json +0 -11
- package/otel/pnpm-lock.yaml +0 -805
- package/otel/project.json +0 -33
- package/otel/src/index.ts +0 -22
- package/otel/src/metrics.ts +0 -76
- package/otel/src/provider-instrumentation.ts +0 -108
- package/otel/src/test/otel.spec.ts +0 -8
- package/otel/src/trace-decorator.ts +0 -226
- package/otel/src/tracer.ts +0 -83
- package/otel/src/trpc-middleware.ts +0 -128
- package/otel/tsconfig.json +0 -23
- package/otel/tsconfig.lib.json +0 -23
- package/otel/tsconfig.spec.json +0 -28
- package/otel/vite.config.ts +0 -24
- package/providers/commercetools/src/providers/cart-payment.provider.ts +0 -193
- package/providers/commercetools/src/test/cart-payment.provider.spec.ts +0 -145
- package/trpc/README.md +0 -7
- package/trpc/__mocks__/superjson.js +0 -25
- package/trpc/eslint.config.mjs +0 -19
- package/trpc/jest.config.ts +0 -14
- package/trpc/package.json +0 -14
- package/trpc/project.json +0 -31
- package/trpc/src/client.ts +0 -175
- package/trpc/src/index.ts +0 -44
- package/trpc/src/integration.spec.ts +0 -223
- package/trpc/src/server.ts +0 -125
- package/trpc/src/test-utils.ts +0 -31
- package/trpc/src/transparent-client.spec.ts +0 -162
- package/trpc/src/types.ts +0 -144
- package/trpc/tsconfig.json +0 -16
- package/trpc/tsconfig.lib.json +0 -10
- package/trpc/tsconfig.spec.json +0 -15
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { ClientBuilder, NoOpCache } from '@reactionary/core';
|
|
2
|
-
import { withFakeCapabilities } from '@reactionary/provider-fake';
|
|
3
|
-
import { createTRPCServerRouter, introspectClient } from './index';
|
|
4
|
-
import { createAnonymousTestSession } from './test-utils';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Test suite for TRPC transparent client functionality
|
|
8
|
-
* This tests the core introspection and router generation without HTTP setup
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
// Jest test framework is now available
|
|
12
|
-
|
|
13
|
-
// Create the server-side client using the same pattern as examples/node
|
|
14
|
-
const serverClient = new ClientBuilder()
|
|
15
|
-
.withCapability(
|
|
16
|
-
withFakeCapabilities(
|
|
17
|
-
{
|
|
18
|
-
jitter: {
|
|
19
|
-
mean: 0,
|
|
20
|
-
deviation: 0,
|
|
21
|
-
},
|
|
22
|
-
seeds: {
|
|
23
|
-
category: 1,
|
|
24
|
-
product: 1,
|
|
25
|
-
search: 1
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
{ search: true, product: true, identity: false }
|
|
29
|
-
)
|
|
30
|
-
)
|
|
31
|
-
.withCache(new NoOpCache())
|
|
32
|
-
.build();
|
|
33
|
-
|
|
34
|
-
// Create TRPC router from the client
|
|
35
|
-
const router = createTRPCServerRouter(serverClient);
|
|
36
|
-
|
|
37
|
-
xdescribe('TRPC Transparent Client Core Functionality', () => {
|
|
38
|
-
|
|
39
|
-
const session = createAnonymousTestSession();
|
|
40
|
-
|
|
41
|
-
describe('Client Introspection', () => {
|
|
42
|
-
it('should correctly introspect client methods', () => {
|
|
43
|
-
const methods = introspectClient(serverClient);
|
|
44
|
-
|
|
45
|
-
expect(methods.length).toBeGreaterThan(0);
|
|
46
|
-
|
|
47
|
-
// Should find product methods
|
|
48
|
-
const productMethods = methods.filter(m => m.providerName === 'product');
|
|
49
|
-
expect(productMethods.length).toBeGreaterThan(0);
|
|
50
|
-
|
|
51
|
-
const getBySlugMethod = productMethods.find(m => m.name === 'getBySlug');
|
|
52
|
-
expect(getBySlugMethod).toBeDefined();
|
|
53
|
-
expect(getBySlugMethod!.isQuery).toBe(true);
|
|
54
|
-
expect(getBySlugMethod!.isMutation).toBe(false);
|
|
55
|
-
|
|
56
|
-
// Should find search methods
|
|
57
|
-
const searchMethods = methods.filter(m => m.providerName === 'search');
|
|
58
|
-
expect(searchMethods.length).toBeGreaterThan(0);
|
|
59
|
-
|
|
60
|
-
const queryByTermMethod = searchMethods.find(m => m.name === 'queryByTerm');
|
|
61
|
-
expect(queryByTermMethod).toBeDefined();
|
|
62
|
-
expect(queryByTermMethod!.isQuery).toBe(true);
|
|
63
|
-
|
|
64
|
-
// Note: Only testing enabled providers (product and search)
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
describe('Router Generation', () => {
|
|
69
|
-
it('should create TRPC router from client', () => {
|
|
70
|
-
expect(router).toBeDefined();
|
|
71
|
-
|
|
72
|
-
// Router should be an object (TRPC router)
|
|
73
|
-
expect(typeof router).toBe('object');
|
|
74
|
-
expect(router).toBeDefined();
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('should handle provider methods correctly', () => {
|
|
78
|
-
const methods = introspectClient(serverClient);
|
|
79
|
-
const providerNames = [...new Set(methods.map(m => m.providerName))];
|
|
80
|
-
|
|
81
|
-
// Should have enabled providers
|
|
82
|
-
expect(providerNames).toContain('product');
|
|
83
|
-
expect(providerNames).toContain('search');
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
describe('Method Classification', () => {
|
|
88
|
-
it('should correctly classify query methods', () => {
|
|
89
|
-
const methods = introspectClient(serverClient);
|
|
90
|
-
|
|
91
|
-
const queryMethods = methods.filter(m => m.isQuery);
|
|
92
|
-
const queryMethodNames = queryMethods.map(m => m.name);
|
|
93
|
-
|
|
94
|
-
// Should include get* methods from enabled providers
|
|
95
|
-
expect(queryMethodNames).toContain('getById');
|
|
96
|
-
expect(queryMethodNames).toContain('getBySlug');
|
|
97
|
-
|
|
98
|
-
// Should include query* methods
|
|
99
|
-
expect(queryMethodNames).toContain('queryByTerm');
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
it('should correctly classify mutation methods', () => {
|
|
103
|
-
const methods = introspectClient(serverClient);
|
|
104
|
-
|
|
105
|
-
const mutationMethods = methods.filter(m => m.isMutation);
|
|
106
|
-
const mutationMethodNames = mutationMethods.map(m => m.name);
|
|
107
|
-
|
|
108
|
-
// With current setup, only search and product are enabled
|
|
109
|
-
// No mutations expected from these providers
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
describe('Direct Client Functionality', () => {
|
|
114
|
-
it('should have working product provider', async () => {
|
|
115
|
-
const result = await serverClient.product.getBySlug(
|
|
116
|
-
{ slug: 'test-product' },
|
|
117
|
-
session
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
expect(result).toBeDefined();
|
|
121
|
-
expect(result.slug).toBe('test-product');
|
|
122
|
-
expect(result.name).toBeDefined();
|
|
123
|
-
expect(result.description).toBeDefined();
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it('should have working search provider', async () => {
|
|
127
|
-
const result = await serverClient.search.queryByTerm(
|
|
128
|
-
{
|
|
129
|
-
search: {
|
|
130
|
-
term: 'test search',
|
|
131
|
-
page: 0,
|
|
132
|
-
pageSize: 10,
|
|
133
|
-
facets: []
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
session
|
|
137
|
-
);
|
|
138
|
-
|
|
139
|
-
expect(result).toBeDefined();
|
|
140
|
-
expect(result.products).toBeDefined();
|
|
141
|
-
expect(result.facets).toBeDefined();
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
// Only testing enabled providers (product and search)
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
describe('Type System Validation', () => {
|
|
148
|
-
it('should maintain provider interface structure', () => {
|
|
149
|
-
// Verify the client has expected enabled provider structure
|
|
150
|
-
expect(serverClient.product).toBeDefined();
|
|
151
|
-
expect(serverClient.search).toBeDefined();
|
|
152
|
-
|
|
153
|
-
// Verify methods exist
|
|
154
|
-
expect(typeof serverClient.product.getById).toBe('function');
|
|
155
|
-
expect(typeof serverClient.product.getBySlug).toBe('function');
|
|
156
|
-
expect(typeof serverClient.search.queryByTerm).toBe('function');
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// Export for potential use in other tests
|
|
162
|
-
export { serverClient, router };
|
package/trpc/src/types.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Client,
|
|
3
|
-
RequestContext,
|
|
4
|
-
Session} from '@reactionary/core';
|
|
5
|
-
import {
|
|
6
|
-
BaseProvider
|
|
7
|
-
} from '@reactionary/core';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Extract method names from a provider that match TRPC patterns
|
|
11
|
-
*/
|
|
12
|
-
export type ProviderMethods<T> = T extends BaseProvider
|
|
13
|
-
? {
|
|
14
|
-
[K in keyof T]: T[K] extends (...args: any[]) => any
|
|
15
|
-
? K extends `get${string}` | `query${string}` | 'add' | 'remove' | 'changeQuantity' | 'login' | 'logout' | 'getSelf'
|
|
16
|
-
? K
|
|
17
|
-
: never
|
|
18
|
-
: never
|
|
19
|
-
}[keyof T]
|
|
20
|
-
: never;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Extract method signature from a provider method
|
|
24
|
-
*/
|
|
25
|
-
export type ProviderMethodSignature<T, K extends keyof T> =
|
|
26
|
-
T[K] extends (...args: infer Args) => infer Return
|
|
27
|
-
? (...args: Args) => Return
|
|
28
|
-
: never;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Map all methods of all providers in a client
|
|
32
|
-
*/
|
|
33
|
-
export type ClientMethodMap<T extends Partial<Client>> = {
|
|
34
|
-
[K in keyof T]: T[K] extends BaseProvider
|
|
35
|
-
? {
|
|
36
|
-
[M in ProviderMethods<T[K]>]: ProviderMethodSignature<T[K], M>
|
|
37
|
-
}
|
|
38
|
-
: never;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Create transparent client that only includes methods matching TRPC patterns
|
|
44
|
-
*/
|
|
45
|
-
export type TransparentClient<T extends Partial<Client>> = {
|
|
46
|
-
[K in keyof T]: T[K] extends BaseProvider
|
|
47
|
-
? {
|
|
48
|
-
[M in ProviderMethods<T[K]>]: ProviderMethodSignature<T[K], M>
|
|
49
|
-
}
|
|
50
|
-
: never;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Extract method information for TRPC procedure creation
|
|
55
|
-
*/
|
|
56
|
-
export interface MethodInfo {
|
|
57
|
-
name: string;
|
|
58
|
-
providerName: string;
|
|
59
|
-
isQuery: boolean;
|
|
60
|
-
isMutation: boolean;
|
|
61
|
-
method: (...args: any[]) => any;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Utility to determine if a method is a query or mutation based on naming convention
|
|
67
|
-
*/
|
|
68
|
-
export function isQueryMethod(methodName: string): boolean {
|
|
69
|
-
return methodName.startsWith('get') ||
|
|
70
|
-
methodName.startsWith('query') ||
|
|
71
|
-
methodName === 'getSelf';
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export function isMutationMethod(methodName: string): boolean {
|
|
75
|
-
return !isQueryMethod(methodName) && (
|
|
76
|
-
methodName === 'add' ||
|
|
77
|
-
methodName === 'remove' ||
|
|
78
|
-
methodName === 'changeQuantity' ||
|
|
79
|
-
methodName === 'login' ||
|
|
80
|
-
methodName === 'logout'
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Introspect a client instance to extract all provider methods matching naming patterns
|
|
86
|
-
*/
|
|
87
|
-
export function introspectClient<T extends Partial<Client>>(client: T): MethodInfo[] {
|
|
88
|
-
const methods: MethodInfo[] = [];
|
|
89
|
-
|
|
90
|
-
for (const [providerName, provider] of Object.entries(client)) {
|
|
91
|
-
if (provider instanceof BaseProvider) {
|
|
92
|
-
// Get all methods that match our naming patterns
|
|
93
|
-
for (const key of Object.getOwnPropertyNames(Object.getPrototypeOf(provider))) {
|
|
94
|
-
const method = (provider as any)[key];
|
|
95
|
-
if (typeof method === 'function' && key !== 'constructor') {
|
|
96
|
-
if (isQueryMethod(key) || isMutationMethod(key)) {
|
|
97
|
-
methods.push({
|
|
98
|
-
name: key,
|
|
99
|
-
providerName,
|
|
100
|
-
isQuery: isQueryMethod(key),
|
|
101
|
-
isMutation: isMutationMethod(key),
|
|
102
|
-
method: method.bind(provider)
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return methods;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Type for TRPC procedure input - includes payload and session
|
|
115
|
-
*/
|
|
116
|
-
export interface TRPCMethodInput<TPayload = any> {
|
|
117
|
-
payload: TPayload;
|
|
118
|
-
session?: Session;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Helper to extract payload type from a provider method
|
|
123
|
-
*/
|
|
124
|
-
export type ExtractPayloadType<T> = T extends (payload: infer P, reqCtx: RequestContext) => any
|
|
125
|
-
? P
|
|
126
|
-
: T extends (payload: infer P) => any
|
|
127
|
-
? P
|
|
128
|
-
: never;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Helper to extract return type from a provider method
|
|
132
|
-
*/
|
|
133
|
-
export type ExtractReturnType<T> = T extends (...args: any[]) => infer R
|
|
134
|
-
? R
|
|
135
|
-
: never;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Create a TRPC-compatible method signature from a provider method
|
|
139
|
-
*/
|
|
140
|
-
export type TRPCMethodSignature<T> = T extends (payload: infer P, reqCtx: RequestContext) => infer R
|
|
141
|
-
? (input: TRPCMethodInput<P>) => R
|
|
142
|
-
: T extends (payload: infer P) => infer R
|
|
143
|
-
? (input: TRPCMethodInput<P>) => R
|
|
144
|
-
: never;
|
package/trpc/tsconfig.json
DELETED
package/trpc/tsconfig.lib.json
DELETED
package/trpc/tsconfig.spec.json
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "./tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "../dist/out-tsc",
|
|
5
|
-
"module": "commonjs",
|
|
6
|
-
"moduleResolution": "node10",
|
|
7
|
-
"types": ["jest", "node"]
|
|
8
|
-
},
|
|
9
|
-
"include": [
|
|
10
|
-
"jest.config.ts",
|
|
11
|
-
"src/**/*.test.ts",
|
|
12
|
-
"src/**/*.spec.ts",
|
|
13
|
-
"src/**/*.d.ts"
|
|
14
|
-
]
|
|
15
|
-
}
|