Comments (3)
Hi @hamanuha and thanks for reaching out!
This seems to be related to #165, you can look at https://github.com/ThomasAribart/json-schema-to-ts/blob/main/documentation/FAQs/applying-from-schema-on-generics.md
This worked for me:
type ContractRouteImplementation<
CONTRACT_ROUTE extends ContractRoute,
PARAMS = FromSchema<CONTRACT_ROUTE["params"]>,
QUERY = FromSchema<CONTRACT_ROUTE["query"]>,
> = () => {
handler: (request: { Params: PARAMS; Query: QUERY }) => void;
};
from json-schema-to-ts.
Hi @ThomasAribart,
thanks for the hint. Unfortunately this does not work for me.
I am using typescript 5.3.3. Maybe it's related to some config values?
Would you mind sharing your tsconfig?
Edit:
When using your asConst function it works with both versions of the ContractRouteImplementation
.
But only if I use as const
as well.
const contract = initContract({
demo: {
params: asConst({
type: 'object',
properties: {
str: { type: 'string' },
},
required: ['str'],
additionalProperties: false,
} as const),
query: externSchema,
},
})
Edit2:
When using the Narrow
type from your package inside FromSchema
it works also for the inline schema without having to use asConst
type ParamsFromSchema<T extends ContractRoute, TParams = Narrow<T['params']>> = TParams extends JSONSchema
? FromSchema<TParams>
: never
from json-schema-to-ts.
Hey @ThomasAribart,
did you see my second edit?
Can I help with something to resolve this issue?
from json-schema-to-ts.
Related Issues (20)
- Dynamically create a schema from a function HOT 1
- Simplest generic function doesn't work, because "too complex"? HOT 2
- Combining 'allOf' with 'If' / 'then' checks Do not resolve correctly in TS HOT 2
- Performance Issues with Generics HOT 2
- Definitons in references not resolved
- Properties with const are not typed as const. HOT 2
- Can no longer import JSONSchema7 HOT 1
- Getting `unknown` as result type HOT 1
- JSDoc sees type as never when marking some properties as required HOT 3
- Question: Is there a way to combine or use FromSchema with imported JSON schema
- $ref on definition and additionalProperties: false together results to never type HOT 1
- [Feature] add support for `dependencies` keyword
- Support Draft 2020-12 changes to items and additionalItems
- TypeScript error when using `nullable` in a definition schema HOT 2
- ...unknown[] for objects of array HOT 1
- allOf operator and ajv-keywords support 2
- Issue: Excessive Nesting and Long Queries Prevent Utilization of Library with Generics HOT 2
- supporting 1 or more values of an enum in a querystring variable HOT 1
- Inconsistent type inference for `additionalProperties` when `properties` is also defined HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-schema-to-ts.