Comments (7)
@rmp135 Alright :-) ! Maybe it could be an option in the config :-)
from sql-ts.
@finneganh In that case I could provide multiple values for the optionality config.
"Required" for your use case - everything is required.
"Dynamic" for column determined values.
"Optional" for how it currently works, everything is optional.
from sql-ts.
This was by design. I'll keep the ticket open but it's not something I'll be adding soon.
from sql-ts.
An option would be neat. In the meantime, I’m using this when I want all the fields to be required:
type RequireAll<Obj extends Object> = { [Field in keyof Obj]-?: Obj[Field] };
export type DbBoard = RequireAll<BoardsEntity>;
from sql-ts.
Given the interest, I'll implement dynamic optionality into the next version.
As a start, columns that have a default value (including auto incrementing) will be set as optional, all others will be required.
I don't know an awful lot about PostgreSQL so if there's any relevant column options that should be looked at, let me know.
from sql-ts.
I think one tension here is if the types are used for input or output. I'm only interested in them for output, so I want to see everything be “required” since that’s what reflects my SELECT *
. (If I selected only a few columns I’d probably use TypeScript’s Pick
to take them off the all-required version.) If an auto-incrementing column were marked as "optional," I’d have to do null checks (or “!” assertions) even though it would never be null.
But, I can see that if you’re using these to typecheck inputs to a SQL statement, being able to be more optional makes some more sense.
from sql-ts.
This has been implemented in release 0.4.0. Use configuration option propertyOptionality
with value required
.
from sql-ts.
Related Issues (20)
- Feature Request: json-schema generation HOT 1
- Automatically import relationships from database HOT 1
- Duplicate fields are created in generated interface for table HOT 1
- Duplicate fields are created in generated interface for table HOT 4
- Feature request: Option to generate an enum containing table names HOT 4
- toObject Verbosity HOT 2
- `Record`s in `typeOverrides` generate invalid output HOT 2
- Option to use `const assertions` instead of `enums` HOT 1
- Upgrade knex version HOT 1
- "database" and "tables" attributes ignored in mysql.json HOT 3
- [Discussion] ENUM handling in MySQL HOT 3
- No issues just a thank you. Great work! HOT 1
- To Delete, not an issue
- Upgrade mysql2 version on package.json HOT 1
- Keep interface field order the same as it's in Database HOT 1
- Error using schemas with MSSQL HOT 1
- singularTableNames=true on a table called `address` results in in wrong type names DbAddresSchema HOT 1
- Import Custom Types HOT 1
- Please add generated timestamp at top HOT 1
- Error: column pg_attribute.attidentity does not exist for postgres 9.6 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 sql-ts.