diff options
Diffstat (limited to 'vanilla/node_modules/@standard-schema/spec')
7 files changed, 527 insertions, 0 deletions
diff --git a/vanilla/node_modules/@standard-schema/spec/LICENSE b/vanilla/node_modules/@standard-schema/spec/LICENSE new file mode 100644 index 0000000..ea54e0d --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Colin McDonnell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.
\ No newline at end of file diff --git a/vanilla/node_modules/@standard-schema/spec/README.md b/vanilla/node_modules/@standard-schema/spec/README.md new file mode 100644 index 0000000..f9813ff --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/README.md @@ -0,0 +1,198 @@ +<h1 align="center"> + <img alt="Standard Schema fire logo" loading="lazy" width="50" height="50" decoding="async" data-nimg="1" style="color:transparent" src="https://standardschema.dev/favicon.svg"> + </br> + Standard Schema</h1> +<p align="center"> + A family of specs for interoperable TypeScript + <br/> + <a href="https://standardschema.dev">standardschema.dev</a> +</p> +<br/> + +<!-- start --> + +The Standard Schema project is a set of interfaces that standardize the provision and consumption of shared functionality in the TypeScript ecosystem. + +Its goal is to allow tools to accept a single input that includes all the types and capabilities they need— no library-specific adapters, no extra dependencies. The result is an ecosystem that's fair for implementers, friendly for consumers, and open for end users. + +## The specifications + +The specifications can be found below in their entirety. Libraries wishing to implement a spec can copy/paste the code block below into their codebase. They're also available at `@standard-schema/spec` on [npm](https://www.npmjs.com/package/@standard-schema/spec) and [JSR](https://jsr.io/@standard-schema/spec). + +```ts +// ######################### +// ### Standard Typed ### +// ######################### + +/** The Standard Typed interface. This is a base type extended by other specs. */ +export interface StandardTypedV1<Input = unknown, Output = Input> { + /** The Standard properties. */ + readonly "~standard": StandardTypedV1.Props<Input, Output>; +} + +export declare namespace StandardTypedV1 { + /** The Standard Typed properties interface. */ + export interface Props<Input = unknown, Output = Input> { + /** The version number of the standard. */ + readonly version: 1; + /** The vendor name of the schema library. */ + readonly vendor: string; + /** Inferred types associated with the schema. */ + readonly types?: Types<Input, Output> | undefined; + } + + /** The Standard Typed types interface. */ + export interface Types<Input = unknown, Output = Input> { + /** The input type of the schema. */ + readonly input: Input; + /** The output type of the schema. */ + readonly output: Output; + } + + /** Infers the input type of a Standard Typed. */ + export type InferInput<Schema extends StandardTypedV1> = NonNullable< + Schema["~standard"]["types"] + >["input"]; + + /** Infers the output type of a Standard Typed. */ + export type InferOutput<Schema extends StandardTypedV1> = NonNullable< + Schema["~standard"]["types"] + >["output"]; +} + +// ########################## +// ### Standard Schema ### +// ########################## + +/** The Standard Schema interface. */ +export interface StandardSchemaV1<Input = unknown, Output = Input> { + /** The Standard Schema properties. */ + readonly "~standard": StandardSchemaV1.Props<Input, Output>; +} + +export declare namespace StandardSchemaV1 { + /** The Standard Schema properties interface. */ + export interface Props<Input = unknown, Output = Input> + extends StandardTypedV1.Props<Input, Output> { + /** Validates unknown input values. */ + readonly validate: ( + value: unknown, + options?: StandardSchemaV1.Options | undefined + ) => Result<Output> | Promise<Result<Output>>; + } + + /** The result interface of the validate function. */ + export type Result<Output> = SuccessResult<Output> | FailureResult; + + /** The result interface if validation succeeds. */ + export interface SuccessResult<Output> { + /** The typed output value. */ + readonly value: Output; + /** A falsy value for `issues` indicates success. */ + readonly issues?: undefined; + } + + export interface Options { + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + + /** The result interface if validation fails. */ + export interface FailureResult { + /** The issues of failed validation. */ + readonly issues: ReadonlyArray<Issue>; + } + + /** The issue interface of the failure output. */ + export interface Issue { + /** The error message of the issue. */ + readonly message: string; + /** The path of the issue, if any. */ + readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined; + } + + /** The path segment interface of the issue. */ + export interface PathSegment { + /** The key representing a path segment. */ + readonly key: PropertyKey; + } + + /** The Standard types interface. */ + export interface Types<Input = unknown, Output = Input> + extends StandardTypedV1.Types<Input, Output> {} + + /** Infers the input type of a Standard. */ + export type InferInput<Schema extends StandardTypedV1> = + StandardTypedV1.InferInput<Schema>; + + /** Infers the output type of a Standard. */ + export type InferOutput<Schema extends StandardTypedV1> = + StandardTypedV1.InferOutput<Schema>; +} + +// ############################### +// ### Standard JSON Schema ### +// ############################### + +/** The Standard JSON Schema interface. */ +export interface StandardJSONSchemaV1<Input = unknown, Output = Input> { + /** The Standard JSON Schema properties. */ + readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>; +} + +export declare namespace StandardJSONSchemaV1 { + /** The Standard JSON Schema properties interface. */ + export interface Props<Input = unknown, Output = Input> + extends StandardTypedV1.Props<Input, Output> { + /** Methods for generating the input/output JSON Schema. */ + readonly jsonSchema: StandardJSONSchemaV1.Converter; + } + + /** The Standard JSON Schema converter interface. */ + export interface Converter { + /** Converts the input type to JSON Schema. May throw if conversion is not supported. */ + readonly input: ( + options: StandardJSONSchemaV1.Options + ) => Record<string, unknown>; + /** Converts the output type to JSON Schema. May throw if conversion is not supported. */ + readonly output: ( + options: StandardJSONSchemaV1.Options + ) => Record<string, unknown>; + } + + /** + * The target version of the generated JSON Schema. + * + * It is *strongly recommended* that implementers support `"draft-2020-12"` and `"draft-07"`, as they are both in wide use. All other targets can be implemented on a best-effort basis. Libraries should throw if they don't support a specified target. + * + * The `"openapi-3.0"` target is intended as a standardized specifier for OpenAPI 3.0 which is a superset of JSON Schema `"draft-04"`. + */ + export type Target = + | "draft-2020-12" + | "draft-07" + | "openapi-3.0" + // Accepts any string for future targets while preserving autocomplete + | ({} & string); + + /** The options for the input/output methods. */ + export interface Options { + /** Specifies the target version of the generated JSON Schema. Support for all versions is on a best-effort basis. If a given version is not supported, the library should throw. */ + readonly target: Target; + + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + + /** The Standard types interface. */ + export interface Types<Input = unknown, Output = Input> + extends StandardTypedV1.Types<Input, Output> {} + + /** Infers the input type of a Standard. */ + export type InferInput<Schema extends StandardTypedV1> = + StandardTypedV1.InferInput<Schema>; + + /** Infers the output type of a Standard. */ + export type InferOutput<Schema extends StandardTypedV1> = + StandardTypedV1.InferOutput<Schema>; +} +``` diff --git a/vanilla/node_modules/@standard-schema/spec/dist/index.cjs b/vanilla/node_modules/@standard-schema/spec/dist/index.cjs new file mode 100644 index 0000000..321666e --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/dist/index.cjs @@ -0,0 +1,18 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/index.ts +var src_exports = {}; +module.exports = __toCommonJS(src_exports); diff --git a/vanilla/node_modules/@standard-schema/spec/dist/index.d.cts b/vanilla/node_modules/@standard-schema/spec/dist/index.d.cts new file mode 100644 index 0000000..5e4acaa --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/dist/index.d.cts @@ -0,0 +1,119 @@ +/** The Standard Typed interface. This is a base type extended by other specs. */ +interface StandardTypedV1<Input = unknown, Output = Input> { + /** The Standard properties. */ + readonly "~standard": StandardTypedV1.Props<Input, Output>; +} +declare namespace StandardTypedV1 { + /** The Standard Typed properties interface. */ + interface Props<Input = unknown, Output = Input> { + /** The version number of the standard. */ + readonly version: 1; + /** The vendor name of the schema library. */ + readonly vendor: string; + /** Inferred types associated with the schema. */ + readonly types?: Types<Input, Output> | undefined; + } + /** The Standard Typed types interface. */ + interface Types<Input = unknown, Output = Input> { + /** The input type of the schema. */ + readonly input: Input; + /** The output type of the schema. */ + readonly output: Output; + } + /** Infers the input type of a Standard Typed. */ + type InferInput<Schema extends StandardTypedV1> = NonNullable<Schema["~standard"]["types"]>["input"]; + /** Infers the output type of a Standard Typed. */ + type InferOutput<Schema extends StandardTypedV1> = NonNullable<Schema["~standard"]["types"]>["output"]; +} +/** The Standard Schema interface. */ +interface StandardSchemaV1<Input = unknown, Output = Input> { + /** The Standard Schema properties. */ + readonly "~standard": StandardSchemaV1.Props<Input, Output>; +} +declare namespace StandardSchemaV1 { + /** The Standard Schema properties interface. */ + interface Props<Input = unknown, Output = Input> extends StandardTypedV1.Props<Input, Output> { + /** Validates unknown input values. */ + readonly validate: (value: unknown, options?: StandardSchemaV1.Options | undefined) => Result<Output> | Promise<Result<Output>>; + } + /** The result interface of the validate function. */ + type Result<Output> = SuccessResult<Output> | FailureResult; + /** The result interface if validation succeeds. */ + interface SuccessResult<Output> { + /** The typed output value. */ + readonly value: Output; + /** A falsy value for `issues` indicates success. */ + readonly issues?: undefined; + } + interface Options { + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + /** The result interface if validation fails. */ + interface FailureResult { + /** The issues of failed validation. */ + readonly issues: ReadonlyArray<Issue>; + } + /** The issue interface of the failure output. */ + interface Issue { + /** The error message of the issue. */ + readonly message: string; + /** The path of the issue, if any. */ + readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined; + } + /** The path segment interface of the issue. */ + interface PathSegment { + /** The key representing a path segment. */ + readonly key: PropertyKey; + } + /** The Standard types interface. */ + interface Types<Input = unknown, Output = Input> extends StandardTypedV1.Types<Input, Output> { + } + /** Infers the input type of a Standard. */ + type InferInput<Schema extends StandardTypedV1> = StandardTypedV1.InferInput<Schema>; + /** Infers the output type of a Standard. */ + type InferOutput<Schema extends StandardTypedV1> = StandardTypedV1.InferOutput<Schema>; +} +/** The Standard JSON Schema interface. */ +interface StandardJSONSchemaV1<Input = unknown, Output = Input> { + /** The Standard JSON Schema properties. */ + readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>; +} +declare namespace StandardJSONSchemaV1 { + /** The Standard JSON Schema properties interface. */ + interface Props<Input = unknown, Output = Input> extends StandardTypedV1.Props<Input, Output> { + /** Methods for generating the input/output JSON Schema. */ + readonly jsonSchema: StandardJSONSchemaV1.Converter; + } + /** The Standard JSON Schema converter interface. */ + interface Converter { + /** Converts the input type to JSON Schema. May throw if conversion is not supported. */ + readonly input: (options: StandardJSONSchemaV1.Options) => Record<string, unknown>; + /** Converts the output type to JSON Schema. May throw if conversion is not supported. */ + readonly output: (options: StandardJSONSchemaV1.Options) => Record<string, unknown>; + } + /** + * The target version of the generated JSON Schema. + * + * It is *strongly recommended* that implementers support `"draft-2020-12"` and `"draft-07"`, as they are both in wide use. All other targets can be implemented on a best-effort basis. Libraries should throw if they don't support a specified target. + * + * The `"openapi-3.0"` target is intended as a standardized specifier for OpenAPI 3.0 which is a superset of JSON Schema `"draft-04"`. + */ + type Target = "draft-2020-12" | "draft-07" | "openapi-3.0" | ({} & string); + /** The options for the input/output methods. */ + interface Options { + /** Specifies the target version of the generated JSON Schema. Support for all versions is on a best-effort basis. If a given version is not supported, the library should throw. */ + readonly target: Target; + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + /** The Standard types interface. */ + interface Types<Input = unknown, Output = Input> extends StandardTypedV1.Types<Input, Output> { + } + /** Infers the input type of a Standard. */ + type InferInput<Schema extends StandardTypedV1> = StandardTypedV1.InferInput<Schema>; + /** Infers the output type of a Standard. */ + type InferOutput<Schema extends StandardTypedV1> = StandardTypedV1.InferOutput<Schema>; +} + +export { StandardJSONSchemaV1, StandardSchemaV1, StandardTypedV1 }; diff --git a/vanilla/node_modules/@standard-schema/spec/dist/index.d.ts b/vanilla/node_modules/@standard-schema/spec/dist/index.d.ts new file mode 100644 index 0000000..5e4acaa --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/dist/index.d.ts @@ -0,0 +1,119 @@ +/** The Standard Typed interface. This is a base type extended by other specs. */ +interface StandardTypedV1<Input = unknown, Output = Input> { + /** The Standard properties. */ + readonly "~standard": StandardTypedV1.Props<Input, Output>; +} +declare namespace StandardTypedV1 { + /** The Standard Typed properties interface. */ + interface Props<Input = unknown, Output = Input> { + /** The version number of the standard. */ + readonly version: 1; + /** The vendor name of the schema library. */ + readonly vendor: string; + /** Inferred types associated with the schema. */ + readonly types?: Types<Input, Output> | undefined; + } + /** The Standard Typed types interface. */ + interface Types<Input = unknown, Output = Input> { + /** The input type of the schema. */ + readonly input: Input; + /** The output type of the schema. */ + readonly output: Output; + } + /** Infers the input type of a Standard Typed. */ + type InferInput<Schema extends StandardTypedV1> = NonNullable<Schema["~standard"]["types"]>["input"]; + /** Infers the output type of a Standard Typed. */ + type InferOutput<Schema extends StandardTypedV1> = NonNullable<Schema["~standard"]["types"]>["output"]; +} +/** The Standard Schema interface. */ +interface StandardSchemaV1<Input = unknown, Output = Input> { + /** The Standard Schema properties. */ + readonly "~standard": StandardSchemaV1.Props<Input, Output>; +} +declare namespace StandardSchemaV1 { + /** The Standard Schema properties interface. */ + interface Props<Input = unknown, Output = Input> extends StandardTypedV1.Props<Input, Output> { + /** Validates unknown input values. */ + readonly validate: (value: unknown, options?: StandardSchemaV1.Options | undefined) => Result<Output> | Promise<Result<Output>>; + } + /** The result interface of the validate function. */ + type Result<Output> = SuccessResult<Output> | FailureResult; + /** The result interface if validation succeeds. */ + interface SuccessResult<Output> { + /** The typed output value. */ + readonly value: Output; + /** A falsy value for `issues` indicates success. */ + readonly issues?: undefined; + } + interface Options { + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + /** The result interface if validation fails. */ + interface FailureResult { + /** The issues of failed validation. */ + readonly issues: ReadonlyArray<Issue>; + } + /** The issue interface of the failure output. */ + interface Issue { + /** The error message of the issue. */ + readonly message: string; + /** The path of the issue, if any. */ + readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined; + } + /** The path segment interface of the issue. */ + interface PathSegment { + /** The key representing a path segment. */ + readonly key: PropertyKey; + } + /** The Standard types interface. */ + interface Types<Input = unknown, Output = Input> extends StandardTypedV1.Types<Input, Output> { + } + /** Infers the input type of a Standard. */ + type InferInput<Schema extends StandardTypedV1> = StandardTypedV1.InferInput<Schema>; + /** Infers the output type of a Standard. */ + type InferOutput<Schema extends StandardTypedV1> = StandardTypedV1.InferOutput<Schema>; +} +/** The Standard JSON Schema interface. */ +interface StandardJSONSchemaV1<Input = unknown, Output = Input> { + /** The Standard JSON Schema properties. */ + readonly "~standard": StandardJSONSchemaV1.Props<Input, Output>; +} +declare namespace StandardJSONSchemaV1 { + /** The Standard JSON Schema properties interface. */ + interface Props<Input = unknown, Output = Input> extends StandardTypedV1.Props<Input, Output> { + /** Methods for generating the input/output JSON Schema. */ + readonly jsonSchema: StandardJSONSchemaV1.Converter; + } + /** The Standard JSON Schema converter interface. */ + interface Converter { + /** Converts the input type to JSON Schema. May throw if conversion is not supported. */ + readonly input: (options: StandardJSONSchemaV1.Options) => Record<string, unknown>; + /** Converts the output type to JSON Schema. May throw if conversion is not supported. */ + readonly output: (options: StandardJSONSchemaV1.Options) => Record<string, unknown>; + } + /** + * The target version of the generated JSON Schema. + * + * It is *strongly recommended* that implementers support `"draft-2020-12"` and `"draft-07"`, as they are both in wide use. All other targets can be implemented on a best-effort basis. Libraries should throw if they don't support a specified target. + * + * The `"openapi-3.0"` target is intended as a standardized specifier for OpenAPI 3.0 which is a superset of JSON Schema `"draft-04"`. + */ + type Target = "draft-2020-12" | "draft-07" | "openapi-3.0" | ({} & string); + /** The options for the input/output methods. */ + interface Options { + /** Specifies the target version of the generated JSON Schema. Support for all versions is on a best-effort basis. If a given version is not supported, the library should throw. */ + readonly target: Target; + /** Explicit support for additional vendor-specific parameters, if needed. */ + readonly libraryOptions?: Record<string, unknown> | undefined; + } + /** The Standard types interface. */ + interface Types<Input = unknown, Output = Input> extends StandardTypedV1.Types<Input, Output> { + } + /** Infers the input type of a Standard. */ + type InferInput<Schema extends StandardTypedV1> = StandardTypedV1.InferInput<Schema>; + /** Infers the output type of a Standard. */ + type InferOutput<Schema extends StandardTypedV1> = StandardTypedV1.InferOutput<Schema>; +} + +export { StandardJSONSchemaV1, StandardSchemaV1, StandardTypedV1 }; diff --git a/vanilla/node_modules/@standard-schema/spec/dist/index.js b/vanilla/node_modules/@standard-schema/spec/dist/index.js new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/dist/index.js diff --git a/vanilla/node_modules/@standard-schema/spec/package.json b/vanilla/node_modules/@standard-schema/spec/package.json new file mode 100644 index 0000000..62bb551 --- /dev/null +++ b/vanilla/node_modules/@standard-schema/spec/package.json @@ -0,0 +1,52 @@ +{ + "name": "@standard-schema/spec", + "description": "A family of specs for interoperable TypeScript", + "version": "1.1.0", + "license": "MIT", + "author": "Colin McDonnell", + "homepage": "https://standardschema.dev", + "repository": { + "type": "git", + "url": "https://github.com/standard-schema/standard-schema" + }, + "keywords": [ + "typescript", + "schema", + "validation", + "standard", + "interface" + ], + "type": "module", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "standard-schema-spec": "./src/index.ts", + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, + "sideEffects": false, + "files": [ + "dist" + ], + "publishConfig": { + "access": "public" + }, + "devDependencies": { + "tsup": "^8.3.0", + "typescript": "^5.6.2" + }, + "scripts": { + "lint": "pnpm biome lint ./src", + "format": "pnpm biome format --write ./src", + "check": "pnpm biome check ./src", + "build": "tsup" + } +}
\ No newline at end of file |
