-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: add Icon schema #152
Merged
Merged
Changes from 1 commit
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
97ebe0e
add Icon {proto,schema} and {encode,decode}-conversions
06f12eb
Update src/lib/decode-conversions.ts
tomasciccola ed93d11
Update proto/icon/v1.proto
tomasciccola 0affb27
reverted icon/v1.proto PixelDensity enum
405370b
remove unnecessary type casting, add tests
e972e50
call pixelDensity x1,x2,x3 on proto
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
syntax = "proto3"; | ||
package mapeo; | ||
|
||
import "common/v1.proto"; | ||
import "options.proto"; | ||
|
||
message Icon_1 { | ||
// **DO NOT CHANGE dataTypeId** generated with `openssl rand -hex 6` | ||
option (dataTypeId) = "97e8cd9f0854"; | ||
option (schemaName) = "icon"; | ||
|
||
Common_1 common = 1; | ||
string name = 2 [(required) = true]; | ||
|
||
message IconVariant { | ||
|
||
enum Size { | ||
small = 0; | ||
medium = 1; | ||
large = 2; | ||
} | ||
|
||
enum PixelDensity { | ||
one = 0; | ||
two = 1; | ||
three = 2; | ||
tomasciccola marked this conversation as resolved.
Show resolved
Hide resolved
|
||
} | ||
|
||
enum MimeType { | ||
svg = 0; | ||
png = 1; | ||
} | ||
|
||
Size size = 1 [(required) = true]; | ||
PixelDensity pixelDensity = 2 [(required) = true]; | ||
bytes blobVersionId = 3 [(required) = true]; | ||
MimeType mimeType = 4 [(required) = true]; | ||
} | ||
|
||
repeated IconVariant variants = 3; | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$id": "http://mapeo.world/schemas/icon/v2.json", | ||
"title": "Icon", | ||
"description": "An Icon represents metadata to retrieve an Icon blob", | ||
"type": "object", | ||
"properties": { | ||
"schemaName": { | ||
"description": "Must be `icon`", | ||
"type": "string", | ||
"const": "icon" | ||
}, | ||
"name": { | ||
"type": "string" | ||
}, | ||
"variants" :{ | ||
"type": "array", | ||
"items": { | ||
"type": "object", | ||
"properties": { | ||
"size": { | ||
"type": "string", | ||
"enum": ["small", "medium", "large"] | ||
}, | ||
"pixelDensity": { | ||
"type": "number", | ||
"enum": [1,2,3] | ||
}, | ||
"blobVersionId": { | ||
"type": "string" | ||
}, | ||
"mimeType": { | ||
"type": "string", | ||
"enum": ["image/svg+xml", "image/png"] | ||
} | ||
}, | ||
"required": ["size", "pixelDensity", "blobVersionId", "mimeType"] | ||
} | ||
} | ||
}, | ||
"required": ["schemaName", "name", "variants"], | ||
"additionalProperties": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,6 +15,7 @@ type SupportedSchemaNames = | |
| 'field' | ||
| 'preset' | ||
| 'role' | ||
| 'icon' | ||
| 'deviceInfo' | ||
| 'coreOwnership' | ||
|
||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is horrible but you can't use numbers as elements of an enum
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ha! I guess so, maybe align the field numbers for sanity?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enums must start at
0
:'|There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it work if you do something like
1x
,2x
(or maybex1
,x2
)? not sure if any better but just an ideaThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, the second option works. I'm adding it since its less confusing to look at...