Comments (8)
Hi @Jakob-em
Thanks a lot for the feature request. We already allow you to generate an Object of the types which you can use to iterate through. To generate this object you need to set the generateTypeObject
flag to true
.
The output will be something like this:
export type myIcons = 'expression_less' | 'full' | 'laughing' | 'smiling_face';
export const myIcons = {
expression_less: 'expression_less' as myIcons,
full: 'full' as myIcons,
laughing: 'laughing' as myIcons,
smiling_face: 'smiling_face' as myIcons
};
export interface MyIcon {
name: myIcons;
data: string;
}
from svg-to-ts.
Hi @kreuzerk,
Thanks for your quick answer. I know that the generation of a union type is currently possible, but the problem with union types is that you can not iterate over the possbile values. To solve this issue and allow for iteration over all icons I suggested to change the generation of the union type to be created via an immutable array. This would allow for both type safety, but also iterating the possible icons
from svg-to-ts.
Hi @Jakob-em. Yes, but you can iterate over the generated object by using Object.keys
.
export const myIcons = {
expression_less: 'expression_less' as myIcons,
full: 'full' as myIcons,
laughing: 'laughing' as myIcons,
smiling_face: 'smiling_face' as myIcons
};
We first wanted to create an enum - here's what we discussed back then.
from svg-to-ts.
Ah yes your totally right, but this wouldn't work when using conversionType 'files' right? (Thats what i tried to use)
from svg-to-ts.
It also works for converstionType files. But you need to set the generateTypeObject
flag to true
.
from svg-to-ts.
Let me know if there are issues or if you need help
from svg-to-ts.
Now i get it. Yes this should work. Thanks for the quick help 👍
from svg-to-ts.
No worries. Glad to hear that it works. 👍
from svg-to-ts.
Related Issues (20)
- Icon name using folder as name HOT 4
- `svg-to-ts-files` always generate a single file HOT 2
- Deliver correct ESM
- svg - same id of path generated for all icons HOT 1
- update to svgo version 3.x HOT 1
- Run within a module repository HOT 1
- How to customize size and apply primary color HOT 6
- Unexpected viewBox removal HOT 1
- Possibility to extract only the "d" attribute of the path HOT 1
- 'svg-to-ts' is not recognized as an internal or external command (Angular 15) HOT 5
- SVG not completely converted HOT 1
- Config option "tsx: true" error: Parameter 'props' implicitly has an 'any' type. HOT 3
- Threeshaking not working HOT 1
- Only converting new files
- Expression produces a union type that is too complex to represent. HOT 1
- Tutorial requires a paid Medium account HOT 2
- Option to use existing dir structure when using globs
- When generating an interface, Icon's do not implement the Interface
- Option to generate constant name in uppercase HOT 1
- Add support for verbatimModuleSyntax HOT 4
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 svg-to-ts.