From b86f597e076ec28bf85406228d1b4a76d520040b Mon Sep 17 00:00:00 2001 From: Robin Kneepkens Date: Thu, 13 Feb 2025 09:12:30 +0100 Subject: [PATCH] chore: Forgot to run pre-pr command --- etc/types.api.md | 6 +++++- markdown/types.basetypeimpl.__standard_.md | 11 +++++++++++ markdown/types.basetypeimpl.md | 5 +++-- src/base-type.ts | 3 +++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 markdown/types.basetypeimpl.__standard_.md diff --git a/etc/types.api.md b/etc/types.api.md index 1b5e561..af04a95 100644 --- a/etc/types.api.md +++ b/etc/types.api.md @@ -4,6 +4,8 @@ ```ts +import { StandardSchemaV1 } from '@standard-schema/spec'; + // @public export function array>(...args: [name: string, elementType: ElementType, typeConfig?: ArrayTypeConfig] | [elementType: ElementType, typeConfig?: ArrayTypeConfig]): TypeImpl, Array>>>; @@ -56,7 +58,9 @@ export abstract class BaseObjectLikeTypeImpl e } // @public -export abstract class BaseTypeImpl implements TypeLink { +export abstract class BaseTypeImpl implements TypeLink, StandardSchemaV1 { + // (undocumented) + get ['~standard'](): StandardSchemaV1.Props; // @internal readonly [designType]: ResultType; abstract accept(visitor: Visitor): R; diff --git a/markdown/types.basetypeimpl.__standard_.md b/markdown/types.basetypeimpl.__standard_.md new file mode 100644 index 0000000..5336acb --- /dev/null +++ b/markdown/types.basetypeimpl.__standard_.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@skunkteam/types](./types.md) > [BaseTypeImpl](./types.basetypeimpl.md) > ["\~standard"](./types.basetypeimpl.__standard_.md) + +## BaseTypeImpl."\~standard" property + +**Signature:** + +```typescript +get ['~standard'](): StandardSchemaV1.Props; +``` diff --git a/markdown/types.basetypeimpl.md b/markdown/types.basetypeimpl.md index 3bbc782..6f8c21e 100644 --- a/markdown/types.basetypeimpl.md +++ b/markdown/types.basetypeimpl.md @@ -9,10 +9,10 @@ The base-class of all type-implementations. **Signature:** ```typescript -declare abstract class BaseTypeImpl implements TypeLink +declare abstract class BaseTypeImpl implements TypeLink, StandardSchemaV1 ``` -**Implements:** [TypeLink](./types.typelink.md)<ResultType> +**Implements:** [TypeLink](./types.typelink.md)<ResultType>, StandardSchemaV1<unknown, ResultType> ## Remarks @@ -22,6 +22,7 @@ All type-implementations must extend this base class. Use [createType()](./types | Property | Modifiers | Type | Description | | --------------------------------------------------------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ["\~standard"](./types.basetypeimpl.__standard_.md) | readonly | StandardSchemaV1.Props<unknown, ResultType> | | | [basicType](./types.basetypeimpl.basictype.md) |

abstract

readonly

| [BasicType](./types.basictype.md) \| 'mixed' | The kind of values this type validates. | | [check](./types.basetypeimpl.check.md) | readonly | (this: void, input: unknown) => ResultType | Asserts that a value conforms to this Type and returns the input as is, if it does. | | [customValidators](./types.basetypeimpl.customvalidators.md) |

protected

readonly

| ReadonlyArray<[Validator](./types.validator.md)<unknown>> | Additional custom validation added using [withValidation](./types.basetypeimpl.withvalidation.md) or [withConstraint](./types.basetypeimpl.withconstraint.md). | diff --git a/src/base-type.ts b/src/base-type.ts index beff721..409b772 100644 --- a/src/base-type.ts +++ b/src/base-type.ts @@ -501,6 +501,9 @@ export abstract class BaseTypeImpl return { ...oldConfig, ...newConfig }; } + /** + * Skunkteam Types implementation of [StandardSchemaV1](https://standardschema.dev/) + */ get ['~standard'](): StandardSchemaV1.Props { return (this._instanceCache.standardSchema ??= { version: 1,