fabian-hiller / valibot

The modular and type safe schema library for validating structural data 🤖
https://valibot.dev
MIT License
5.91k stars 180 forks source link

Help Wanted: Completing the API Reference on Website #287

Open fabian-hiller opened 9 months ago

fabian-hiller commented 9 months ago

[!IMPORTANT] The following description is outdated. All synchronous APIs are already fully documented. We are just missing a few asyncronous APIs. If you still want to help, feel free to comment below.

This issue is used to coordinate the expansion of our API reference. The first reference was created by @kazizi55 in #220. Please use the already added references as a template. You can also use this issue if you encounter problems or have questions.

If you are interested in helping us extend the API reference, please add a comment to this issue with the API you want to take over. I will summarize the current state in the tables below.

Schemas
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | any | @fabian-hiller | - | ✅ | | array | @kazizi55 | #330 | ✅ | | bigint | @fabian-hiller | - | ✅ | | blob | @fabian-hiller | - | ✅ | | boolean | @wout-junius | #316 | ✅ | | date | @wout-junius | #315 | ✅ | | enum\_ | @fabian-hiller | - | ✅ | | instance | @fabian-hiller | - | ✅ | | intersect | @fabian-hiller | - | ✅ | | literal | @fabian-hiller | - | ✅ | | map | @fabian-hiller | - | ✅ | | nan | @fabian-hiller | - | ✅ | | never | @fabian-hiller | - | ✅ | | nonNullable | @fabian-hiller | - | ✅ | | nonNullish | @fabian-hiller | - | ✅ | | nonOptional | @fabian-hiller | - | ✅ | | null\_ | @fabian-hiller | - | ✅ | | nullable | @sqmasep | #328 | ✅ | | nullish | @sqmasep | #329 | ✅ | | number | @kazizi55 | #331 | ✅ | | object | @kazizi55 | #357 | ✅ | | optional | @sqmasep | #321 | ✅ | | picklist | @sqmasep | #312 | ✅ | | record | @fabian-hiller | - | ✅ | | recursive | @fabian-hiller | - | ✅ | | set | @fabian-hiller | - | ✅ | | special | @fabian-hiller | - | ✅ | | string | @kazizi55 | #220 | ✅ | | symbol | @wout-junius | #317 | ✅ | | tuple | @fabian-hiller | - | ✅ | | undefined\_ | @fabian-hiller | - | ✅ | | union | @fabian-hiller | - | ✅ | | unknown | @mwskwong | #365 | ✅ | | variant | @fabian-hiller | - | ✅ | | void\_ | @fabian-hiller | - | ✅ |
Methods
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | brand | @fabian-hiller | - | ✅ | | coerce | @fabian-hiller | - | ✅ | | fallback | @sqmasep | #337 | ✅ | | forward | @fabian-hiller | - | ✅ | | getDefault | @fabian-hiller | - | ✅ | | getDefaults | @fabian-hiller | - | ✅ | | getFallback | @fabian-hiller | - | ✅ | | getFallbacks | @fabian-hiller | - | ✅ | | is | @fabian-hiller | - | ✅ | | keyof | @fabian-hiller | - | ✅ | | merge | @fabian-hiller | - | ✅ | | omit | @fabian-hiller | - | ✅ | | parse | @fabian-hiller | - | ✅ | | partial | @fabian-hiller | - | ✅ | | pick | @fabian-hiller | - | ✅ | | required | @fabian-hiller | - | ✅ | | safeParse | @fabian-hiller | - | ✅ | | transform | @fabian-hiller | - | ✅ | | unwrap | @fabian-hiller | - | ✅ |
Validations
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | bic | @ariskemper | #386 | ✅ | | bytes | @fabian-hiller | - | ✅ | | creditCard | @ariskemper | #388 | ✅ | | cuid2 | @fabian-hiller | - | ✅ | | custom | @fabian-hiller | - | ✅ | | decimal | @fabian-hiller | - | ✅ | | email | @fabian-hiller | - | ✅ | | emoji | @fabian-hiller | - | ✅ | | endsWith | @fabian-hiller | - | ✅ | | every | @fabian-hiller | - | ✅ | | excludes | @fabian-hiller | - | ✅ | | finite | @fabian-hiller | - | ✅ | | hash | @ariskemper | #392 | ✅ | | hexadecimal | @ariskemper | #414 | ✅ | | hexColor | @ariskemper | #401 | ✅ | | iban | @ariskemper | | | | imei | @fabian-hiller | - | ✅ | | includes | @fabian-hiller | - | ✅ | | integer | @fabian-hiller | - | ✅ | | ip | @fabian-hiller | - | ✅ | | ipv4 | @fabian-hiller | - | ✅ | | ipv6 | @fabian-hiller | - | ✅ | | isoDate | @fabian-hiller | - | ✅ | | isoDateTime | @fabian-hiller | - | ✅ | | isoTime | @fabian-hiller | - | ✅ | | isoTimeSecond | @fabian-hiller | - | ✅ | | isoTimestamp | @fabian-hiller | - | ✅ | | isoWeek | @fabian-hiller | - | ✅ | | length | @fabian-hiller | - | ✅ | | mac | @ariskemper | #407 | ✅ | | mac48 | @ariskemper | #407 | ✅ | | mac64 | @ariskemper | #407 | ✅ | | maxBytes | @fabian-hiller | - | ✅ | | maxLength | @fabian-hiller | | | | maxSize | @fabian-hiller | - | ✅ | | maxValue | @fabian-hiller | - | ✅ | | mimeType | @fabian-hiller | - | ✅ | | minBytes | @fabian-hiller | - | ✅ | | minLength | @fabian-hiller | | | | minSize | @fabian-hiller | - | ✅ | | minValue | @fabian-hiller | - | ✅ | | multipleOf | @fabian-hiller | - | ✅ | | notBytes | @fabian-hiller | - | ✅ | | notLength | @fabian-hiller | - | ✅ | | notSize | @fabian-hiller | - | ✅ | | notValue | @fabian-hiller | - | ✅ | | octal | @ariskemper | #415 | ✅ | | regex | @fabian-hiller | - | ✅ | | safeInteger | @fabian-hiller | - | ✅ | | size | @fabian-hiller | - | ✅ | | some | @fabian-hiller | - | ✅ | | startsWith | @fabian-hiller | - | ✅ | | ulid | @fabian-hiller | - | ✅ | | url | @fabian-hiller | - | ✅ | | uuid | @fabian-hiller | - | ✅ | | value | @fabian-hiller | - | ✅ |
Transformations
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | toCustom | @fabian-hiller | | | | toLowerCase | @fabian-hiller | | | | toMaxValue | @fabian-hiller | | | | toMinValue | @fabian-hiller | | | | toTrimmed | @fabian-hiller | | | | toTrimmedEnd | @fabian-hiller | | | | toTrimmedStart | @fabian-hiller | | | | toUpperCase | @fabian-hiller | | |
Error
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | flatten | @fabian-hiller | | | | ValiError | @fabian-hiller | | |
Async
| API | Author | Pull Request | Merged | | -- | -- | -- | -- | | anyAsync | | | | | arrayAsync | | | | | bigintAsync | | | | | blobAsync | | | | | booleanAsync | | | | | coerceAsync | | | | | customAsync | | | | | dateAsync | | | | | enumAsync | | | | | fallbackAsync | | | | | forwardAsync | | | | | getDefaultAsync | | | | | getDefaultsAsync | | | | | getFallbackAsync | | | | | getFallbacksAsync | | | | | instanceAsync | | | | | intersectAsync | | | | | literalAsync | | | | | mapAsync | | | | | mergeAsync | | | | | nanAsync | | | | | neverAsync | | | | | nonNullableAsync | | | | | nonNullishAsync | | | | | nonOptionalAsync | | | | | nullableAsync | | | | | nullishAsync | | | | | nullAsync | | | | | numberAsync | | | | | objectAsync | | | | | omitAsync | | | | | optionalAsync | | | | | parseAsync | | | | | partialAsync | | | | | pickAsync | | | | | picklistAsync | | | | | recordAsync | | | | | recursiveAsync | | | | | requiredAsync | | | | | safeParseAsync | | | | | setAsync | | | | | specialAsync | | | | | stringAsync | | | | | symbolAsync | | | | | toCustomAsync | | | | | transformAsync | | | | | tupleAsync | | | | | undefinedAsync | | | | | unionAsync | | | | | unknownAsync | | | | | variantAsync | | | | | voidAsync | | | |
kazizi55 commented 9 months ago

@fabian-hiller Hi! To begin with, I'd like to take over array , number and object! 😄

wout-junius commented 9 months ago

@fabian-hiller I do not mind beginning on the date, boolean, and symbol! :D

fabian-hiller commented 9 months ago

Thank you guys! I updated the tables.

ariskemper commented 9 months ago

@fabian-hiller please update table for bic, mac, mac48, mac64, and include me.

sqmasep commented 8 months ago

@fabian-hiller Hi! I'll work on documenting fallback, getFallback, getFallbacks, getDefault, getDefaults, optional, nullish, & nullable, you can update the table 😉

kazizi55 commented 8 months ago

@fabian-hiller Happy new year 2024! 😄 I'd like to take over is, keyof, merge, and omit!

fabian-hiller commented 8 months ago

Happy new new year and thank you! I will update the tables.

mwskwong commented 8 months ago

Edit: NVM, I underestimated the difficulties of nonNullable. Let me try unknown() first

fabian-hiller commented 8 months ago

I will take the rest of the API reference (except the async APIs) and finish them by the end of the month. You can still help by copying the reference of an already added sync API and adding its async reference. Just send here the async APIs you want to work on and I will add your username to the table.

EltonLobo07 commented 5 months ago

@fabian-hiller Hi! Can I work on documenting booleanAsync, stringAsync & numberAsync? If yes, can you update the table?

fabian-hiller commented 5 months ago

Thank you for your help! We are currently rewriting the library in #502. Therefore, I recommend waiting until this PR is merged. Also, some APIs like stringAsync will not exist after the rewrite. See the PR description for more details.

sakupi01 commented 4 months ago

Hi @fabian-hiller ! I also would love to work on documenting minLength and maxLength. Should I also wait until #502 has been merged?

fabian-hiller commented 4 months ago

Yes, please wait. I will give an update here in about a month. Thank you!

fabian-hiller commented 2 months ago

You can now go ahead if you like and add content to our async API references by copying the content from the sync version.

EltonLobo07 commented 2 months ago

Hi @fabian-hiller! I would like to work on documenting customAsync, arrayAsync and mapAsync.

fabian-hiller commented 2 months ago

@EltonLobo07 I am very grateful for your contributions! Your work is always of great quality! 🙏

EltonLobo07 commented 2 months ago

@fabian-hiller I would like to work on documenting objectAsync, checkAsync and setAsync next.

fabian-hiller commented 2 months ago

Yes, thank you!

EltonLobo07 commented 2 months ago

@fabian-hiller I would like to work on documenting awaitAsync, fallbackAsync, forwardAsync, getDefaultsAsync, and getFallbacksAsync next.

fabian-hiller commented 2 months ago

Go ahead 🙏

mehm8128 commented 1 month ago

@fabian-hiller Hi, I would like to work on documenting tupleAsync.

fabian-hiller commented 1 month ago

Yes, thank you!

fabian-hiller commented 1 month ago

@mehm8128 feel free to also work on looseTupleAsync, tupleWithRestAsync and strictTupleAsync.

mehm8128 commented 1 month ago

I'll challenge it on another day🙌

EltonLobo07 commented 1 month ago

@fabian-hiller I would like to work on documenting intersectAsync, lazyAsync, looseObjectAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, strictObjectAsync, and objectWithRestAsync next.

fabian-hiller commented 1 month ago

Thank you!

santoshyadavdev commented 1 month ago

Hey @fabian-hiller ,

I will take Transformations APIs.

EltonLobo07 commented 1 month ago

@fabian-hiller, I would like to work on documenting parseAsync, parserAsync, unionAsync and variantAsync next.

fabian-hiller commented 1 month ago

Thank you both!

fabian-hiller commented 3 weeks ago

@santoshyadavdev any updates?

EltonLobo07 commented 3 weeks ago

@fabian-hiller I would like to work on documenting partialCheckAsync, pipeAsync, safeParseAsync and safeParserAsync next.

fabian-hiller commented 3 weeks ago

Thank you @EltonLobo07!

santoshyadavdev commented 3 weeks ago

@fabian-hiller I see some of them are already documented under actions

fabian-hiller commented 3 weeks ago

Yes, unfortunately I stopped updating the table due to time constraints after finishing all the sync API references. Now only a few async references are missing.

These are still missing: nullableAsync, nullishAsync, optionalAsync, partialAsync, partialCheckAsync, rawCheckAsync, rawTransformAsync, recordAsync, requiredAsync and transformAsync.

santoshyadavdev commented 2 weeks ago

no worries i will open another PR

santoshyadavdev commented 2 weeks ago

@fabian-hiller I tried to serve the app locally and getting this error, do you know how to fix it

Screenshot 2024-09-01 at 15 39 39 Screenshot 2024-09-01 at 15 42 28
fabian-hiller commented 2 weeks ago

Yes, I think you need to build the library first: cd ./library && pnpm build

EltonLobo07 commented 2 weeks ago

@fabian-hiller I would like to work on documenting partialAsync, rawCheckAsync, recordAsync, and requiredAsync. @santoshyadavdev Can you let us know which APIs you are planning on documenting? So that we can eliminate the possibility of documenting the same APIs. Also, here is the updated missing list: nullableAsync, nullishAsync, optionalAsync, rawTransformAsync, transformAsync, and undefinedableAsync.

santoshyadavdev commented 2 weeks ago

@EltonLobo07 I started https://github.com/fabian-hiller/valibot/pull/810 documenting

nullableAsync, nullishAsync go ahead wit partialAsync, rawCheckAsync, recordAsync, and requiredAsync I will remove them from my PR