typesafegithub / typesafegithub/github-actions-typing

Validation rules for values

Open
#205 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
69
Forks
4
Avg merge
7d 3h
Merged PRs (30d)
7

Description

Sometimes it would be nice to be able to specify some additional validation rules that restrict the basic types further.
For example if you use integer for a port value, it would be nice to be able to say min: 1 and max: 65535, or a regex for some string values.

So what I have in mind right now was exactly that. min and max for integer and float and regex or however called for string. enum, list, and boolean are probably already restricted enough per-se.

A consumer of the typing could then also generate according validation code.
In some languages you can define a type directly like that, other languages have annotations with such validation information, yet other languages can generate runtime validation code.

When adding this, please keep in mind to clearly document which regex flavor has to be used by both sides.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named in the issue. Start by locating the definitions for integer, float, and string types and the consumer or generation code; done means supporting min/max and regex constraints, documenting the regex flavor, and leaving enum, list, and boolean behavior unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, kotlin
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.