| /** | ||
| * Returns true if the value is a uuid | ||
| * @specification | ||
| * @source ajv-formats | ||
| * @specification https://www.rfc-editor.org/info/rfc4122/ | ||
| * @specification https://www.rfc-editor.org/info/rfc9562/ | ||
| */ | ||
| export declare function IsUuid(value: string): boolean; |
@@ -1,6 +0,6 @@ | ||
| const Uuid = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; | ||
| const Uuid = /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; | ||
| /** | ||
| * Returns true if the value is a uuid | ||
| * @specification | ||
| * @source ajv-formats | ||
| * @specification https://www.rfc-editor.org/info/rfc4122/ | ||
| * @specification https://www.rfc-editor.org/info/rfc9562/ | ||
| */ | ||
@@ -7,0 +7,0 @@ export function IsUuid(value) { |
+25
-25
| { | ||
| "name": "typebox", | ||
| "description": "Json Schema Type Builder with Static Type Resolution for TypeScript", | ||
| "version": "1.2.7", | ||
| "version": "1.2.8", | ||
| "keywords": [ | ||
@@ -19,9 +19,9 @@ "typescript", | ||
| "exports": { | ||
| "./format": { | ||
| "import": "./build/format/index.mjs", | ||
| "default": "./build/format/index.mjs" | ||
| "./guard": { | ||
| "import": "./build/guard/index.mjs", | ||
| "default": "./build/guard/index.mjs" | ||
| }, | ||
| "./type": { | ||
| "import": "./build/type/index.mjs", | ||
| "default": "./build/type/index.mjs" | ||
| "./system": { | ||
| "import": "./build/system/index.mjs", | ||
| "default": "./build/system/index.mjs" | ||
| }, | ||
@@ -32,2 +32,6 @@ "./schema": { | ||
| }, | ||
| "./format": { | ||
| "import": "./build/format/index.mjs", | ||
| "default": "./build/format/index.mjs" | ||
| }, | ||
| "./compile": { | ||
@@ -37,2 +41,6 @@ "import": "./build/compile/index.mjs", | ||
| }, | ||
| "./type": { | ||
| "import": "./build/type/index.mjs", | ||
| "default": "./build/type/index.mjs" | ||
| }, | ||
| "./value": { | ||
@@ -42,10 +50,2 @@ "import": "./build/value/index.mjs", | ||
| }, | ||
| "./guard": { | ||
| "import": "./build/guard/index.mjs", | ||
| "default": "./build/guard/index.mjs" | ||
| }, | ||
| "./system": { | ||
| "import": "./build/system/index.mjs", | ||
| "default": "./build/system/index.mjs" | ||
| }, | ||
| "./error": { | ||
@@ -62,7 +62,7 @@ "import": "./build/error/index.mjs", | ||
| "*": { | ||
| "format": [ | ||
| "./build/format/index.d.mts" | ||
| "guard": [ | ||
| "./build/guard/index.d.mts" | ||
| ], | ||
| "type": [ | ||
| "./build/type/index.d.mts" | ||
| "system": [ | ||
| "./build/system/index.d.mts" | ||
| ], | ||
@@ -72,14 +72,14 @@ "schema": [ | ||
| ], | ||
| "format": [ | ||
| "./build/format/index.d.mts" | ||
| ], | ||
| "compile": [ | ||
| "./build/compile/index.d.mts" | ||
| ], | ||
| "type": [ | ||
| "./build/type/index.d.mts" | ||
| ], | ||
| "value": [ | ||
| "./build/value/index.d.mts" | ||
| ], | ||
| "guard": [ | ||
| "./build/guard/index.d.mts" | ||
| ], | ||
| "system": [ | ||
| "./build/system/index.d.mts" | ||
| ], | ||
| "error": [ | ||
@@ -86,0 +86,0 @@ "./build/error/index.d.mts" |
+12
-10
@@ -76,3 +76,3 @@ <div align='center'> | ||
| ## Example | ||
| ### Example | ||
@@ -115,5 +115,5 @@ The following creates a User type and infers with Static. | ||
| [Documentation](https://sinclairzx81.github.io/typebox/#/docs/script/overview) | [Example 1](https://www.typescriptlang.org/play/?target=99&module=7#code/JYWwDg9gTgLgBAFQJ5gKZwGZQiOByGFVAIwgA88AoSgYwgDsBneAbzgFlVGALOAXzgBeREQB0AZRpRgYGAAoABpThxCaOADVUNGNABMQuGzIAuOPQCuIYqigAaOEjOXrt-stVFN23VADMhgCiAG4AhgA2FqEwqAA8Wjr6cABkRnAAXs5WNlD8AHweaugJvgAsQWGR0XEl0AGpbADuWa65fAUqhV5asKhkhiweKpCMwDDADGa1UKV2Q+bQIBFTPnVzKioWwSuJUHoefF3qAOKoOKgwUEgD88G24zRcK71kANoAuusbwPQAJsCPRgtHIfA5HdDsarSCI3DZwULWYCoegwHZleb-DAYCyMVBo6CleaMNA0CzhUJQfEzMEqIocLi8YSDOEAczOIAuVzMp3OlyQ8yWMWh4TMkKFwAiYIUAEpqAB6OVwABKFhRoHQStQGHCPgm9EonB4ojA2DQsCRjFEbN5V2NpvuFtEd3NgNEY1QIEtJogZvGXGNEFG4wYdp9Dv9ZANDNDvsd1o5fJj4ctzoe-vdnqT5v99EWESzfstkcN3ALcfZnKQZf9qYB6Zime9sf9W2rRajRqbydEgtsEvCbdEmOxuMHxejXezlt7wsHCOISJRY47pcnhZ7UP7g+J2jJFOXlAVcHEMGiALgAEl6BhbMjHpRsfQdHq4FBkb9bHIOTwzMg0BJTweWIiggDB6R4PJpSMDxv1LeNKydB1AVeAAGd4AyDPVREjFRYKtCtE1rZC0NEXMoCWAccLgPD4MIpCuFQ9DWyovCZy3YccVQbCYOjNj83nRcYG43DeM3fMd1JckoG4vggA) | [Example 2](https://www.typescriptlang.org/play/?target=99&module=7#code/JYWwDg9gTgLgBAFQJ5gKZwGZQiOByGFVAIwgA88AoSgehrgFonmXW32POv3b7k0AdACpejbuImTu1SgGMIAOwDO8AGqpZMaACY4AXkREBAeWIArDTAAUAbzhkAXIcEA5AK4hiqKFYCUAGjgkJ35UAXdPbz84AF9fOUUVOHVNaABmfWcwgFEANwBDABs3fJhUK1CBAEkFMqglSysAbRStKG1AytMLTVs4AC8QowivH19Y3wBdX3j5ZTVLaAAWTMq8opKyiqMauobelsWoNM6jbsa7AHch1w9R6Ljp+IT55O8yslWz8wvKODhIEpgDBgIonK1lv4-nAFNAQEVwUcTtC3LlEal2pQ4i8kgBxVA4VAwKBIL6Cc69GzQ3LvYCyVBKG5hACCUCg+SQVnUsFQZAC0OACgAJnSGUyBKz2ZzKiMojMsbNEvAALKlbzAIpksIU6xU-75TzAVC1dFtJZQ-4ijAYNwNU2Q6FKNCyNyFfJQe1QJYKnEqhkACy1Jh+lOhAHMCSAiSSnPjCcSkBa4PC6hrCk5Vamij7RAAlNy1UDoXOoDCFSyghSUZUBgRgbBoWBGpQCCPxkl1hu0hkCGlN+kt4GoEAt+sQRsgnuA4GVzvj7stsjV2tjifN1uR6NIOdrnt9kEDgRDkc7hcCWFQeGFU9NntLmtKf03yctttRhPP9f70WDson1dnqin53suj7AS2KbqkU4ECFaNoNDB94rl2t4QWqUBpjBBrEEatSIaBT4AahAiQRh0FES+AhOhorruvhogAMowKUdJwDUGDeMa9KUDaCiaJWcBQMaQpRFGj7ikxLGyAAPIQaAQBgcAPv6AB84x6smtZvluva0gOTQAAyTHWEBAiCigCEu-xiU+2kft++lGeecLQVZmlgXZHYOQyhnGUBbk2SR6GYXBtphAFtakZh2G4TAlnQoFUXQdRLpulA8UxEAA) | ||
| [Documentation](https://sinclairzx81.github.io/typebox/#/docs/script/overview) | [Example 1](https://www.typescriptlang.org/play/?target=99&module=7#code/JYWwDg9gTgLgBAFQJ5gKZwGZQiOByGFVAIwgA88AoSgehrgFonmXW32POv3b7k0AdAGUAxlGBgYACjwC5eAJS9G3VWvXdqdOADkAhiFQBnMHpGpKIiADsj8ALJ6YACzgBeREWFiJ0gAaUcHCEaHAAaqgiMNAATO5wAN5wZABccNYAriDEqFAANHBIaZnZuXAAvoHBROGR0VAAzPEAogBuegA2GU6oADwRUbFwAGSJcABexVk5UBUAfFUh6AP1ACwt7V09-XXQTaNJAO5TpbPlC35KygAiqGjWACao1vD6hiZmFla28En2xq5yvF+KhvOJJFIknIBI4XBUCn4gosahFYKgyPEElUgpAjMAYMAbGkVtBVnlseloCBOsTdo1yUEghlWrTBlAYlVKkElnAAOKoHCoGBQJCYimtXIE8xGWlosgAbQAugzGcBHsBpScZkrOcjQrDcsBOmLGXADMRgM8YKy1iqgg9gBgMBkjKgbaS7XATJEMh09FB3VBVrruTV-kZXB4saaAOYCwzCop8+NCkWe6kwQ00uAG8SdXWXLT0ABKGReoHQxdQGA6dUJ1ko4ecAjA2DQsEtRgEccFiZbbclnYEEo70oE+NQIC7rYg7YJxhbEDxBJs-dng4XZEbALXc6HPYTIt3G67I6lC4nU+PHYX1ipnWv867W6bj-3Kb7M73C7PGovmavL8TwEZk303bcIzArsMyzDooIEB0nRdUEgJvZ8IObVCnwEGC8zgrCh3NS0Xngl8dwIhdcKNfCBzQgRvREX1-VIos4CEGAnA1OAAElrAwXJnnMShnWsKJ6zgKBnieKApHeZw0hBYQOKlXolggDAcwBOYFESKo5O7D8j1-aV5QABkVRdl3rAQtyCfSD1TJBh0HEzzIEO8oGpODbLgezDKc4zjDMizQJ8-SqIfRDnVdGy9J3CK4KIq1Yrs+Kejw+i0EYv0oFi8ogA) | [Example 2](https://www.typescriptlang.org/play/?target=99&module=7#code/JYWwDg9gTgLgBAFQJ5gKZwGZQiOByGFVAIwgA88AoSgehrgFonmXW32POv3b7k0AdACpejbuImTu1OnAByAQxCoAzmAUBjVJQB2S1eq1wAsgpgALOAG9KcOKjKRYcDRB0r4ANVQaY0AExwALyIRAIA8sQAVj4wABRWcGQAXKGCcgCuIMSoUHEAlAA0cEip-KgCmdm5BXAAvvm29o7Q8K7uXrHQAMzBaRUAogBuCgA2GWaoceUCAJI6MLkqsXEA2t6+AcUzkTG+CXAAXmVhVTl5+fX5ALr5jXYOTm1uHnAbflAALH0zw2MTi2mYXmiygy326y6UG62zCuxWiQA7id0llzrUGrdGnUZPQACKoNA6AAmqAW8n0ak02nar28sAcPzh0QRTUgKmAMGAblSpgsAne0E+hSaOmgIDGvLM5gFUJhTQyQyl-MFUH8lAalFp8AA4qgcKgYFAkEzBPD9jY7ENclytCoURUAIJQKAKJBxemLMhFJrAEnAO0OgTO13umZnGp3DWNbUmSZQYBjU0Vc3xS1wJTEYBkmDKmWq4VNYnADAYDLLPOyzZfEV2NQ+DKjBRQSsF6Nal7wYyqSwhHYsi1NADm+uURtKcD1BvHtbgEtBidGytyi-bogAShkFqB0OvUBhRrFuTpKN2VDKwNg0LBsyoBCPp8aBJeINeuaoBNab3aBJzUCA7xfN9b2fCAOS5NxnyvG0QLIU8eyg18YI-B8xyfIDkLvL9bQ-P8AMQ4CPzFKAJVGAjMIEOCzwvaCbxQ0dDXQ2j3ywmCfzwwDmJAxVyLou8qIQjC+IEecVzGXiWIEYtS3LCohMkgTzwkkDRITcT5JAzNswWZSP0UmikOE1TF10u96w0Rtm1MyjcTgABlGAzADOB5gwXIyS0Sgyx0XxjzgKAyVJPJlHPIMHKcjQAB5CDQCAMBMHsAD5LnTEKZVQxikE-NjVFWAAGa5QPA48bLsNL7wY8dsu-XKCoEYjSNKucEIyqrsIDWrCp4uCyoQ4zxOkstlia8r+rIrScxGvr4xM8zLKgGy6iAA) | ||
| TypeBox includes a syntax engine to transform TypeScript definitions into JSON Schema. The DSL offers a full syntactic frontend to Type.* and supports many advanced type-level constructs such as Conditional, Mapped, Indexed, Infer, Generics, Distributed types and more. This feature is implemented symmetrically at runtime and statically via TypeScript Template Literal types. | ||
| TypeBox includes a syntax engine that can transform TypeScript declarations into JSON Schema. The engine is a full syntactic frontend to Type.* and supports many advanced type-level constructs such as Conditional, Mapped, Indexed, Infer, Generics, Distributed types and more. This feature is implemented symmetrically at runtime and statically via TypeScript Template Literal types. | ||
@@ -125,9 +125,11 @@ ### Example | ||
| ```typescript | ||
| import Type from 'typebox' | ||
| const { Mesh } = Type.Script(` | ||
| // Namespace | ||
| const Math = Type.Script(` | ||
| type Vector2 = { x: number, y: number } | ||
| type Vector3 = Evaluate<Vector2 & { z: number }> | ||
| type Vector4 = Evaluate<Vector3 & { w: number }> | ||
| `) | ||
| // Dependent Namespace | ||
| const { Mesh } = Type.Script({ ...Math }, ` | ||
| type Vertex = { | ||
@@ -143,8 +145,8 @@ position: Vector4, | ||
| type Material = { | ||
| ambient: Vector4 | ||
| diffuse: Vector4 | ||
| ambient: Vector4, | ||
| diffuse: Vector4, | ||
| specular: Vector4 | ||
| } | ||
| type Mesh = { | ||
| geometry: Geometry | ||
| geometry: Geometry, | ||
| material: Material | ||
@@ -151,0 +153,0 @@ } |
1500344
0.03%370
0.54%