Super-fast/easy runtime validations and serializations through transformation
MIT License
Bot releases are hidden (Show)
Published by samchon 8 months ago
Full Changelog: https://github.com/samchon/typia/compare/v5.4.8...v5.4.9
Published by samchon 8 months ago
_
starting variable comes. by @samchon in https://github.com/samchon/typia/pull/961
Full Changelog: https://github.com/samchon/typia/compare/v5.4.7...v5.4.8
Published by samchon 9 months ago
toJSON()
. by @samchon in https://github.com/samchon/typia/pull/956
Full Changelog: https://github.com/samchon/typia/compare/v5.4.6...v5.4.7
Published by samchon 9 months ago
IJsonSchema.title
property. by @samchon in https://github.com/samchon/typia/pull/949
Full Changelog: https://github.com/samchon/typia/compare/v5.4.5...v5.4.6
Published by samchon 9 months ago
binary
value on the IJsonSchema.IString.format
. by @samchon in https://github.com/samchon/typia/pull/948
Full Changelog: https://github.com/samchon/typia/compare/v5.4.4...v5.4.5
Published by samchon 9 months ago
Added more format tags like below.
export interface TypeTagFormat {
// SPECIAL CHARACTERS
byte: string & tags.Format<"byte">;
password: string & tags.Format<"password">;
regex: string & tags.Format<"regex">;
uuid: string & tags.Format<"uuid">;
// ADDRESSES
email: string & tags.Format<"email">;
hostname: string & tags.Format<"hostname">;
idnEmail: string & tags.Format<"idn-email">;
idnHostname: string & tags.Format<"idn-hostname">;
iri: string & tags.Format<"iri">;
iriReference: string & tags.Format<"iri-reference">;
ipv4: string & tags.Format<"ipv4">;
ipv6: string & tags.Format<"ipv6">;
uri: string & tags.Format<"uri">;
uriReference: string & tags.Format<"uri-reference">;
uriTemplate: string & tags.Format<"uri-template">;
url: string & tags.Format<"url">;
// TIMESTAMPS
datetime: string & tags.Format<"date-time">;
date: string & tags.Format<"date">;
time: string & tags.Format<"time">;
duration: string & tags.Format<"duration">;
// POINTERS
jsonPointer: string & tags.Format<"json-pointer">;
relativeJsonPointer: string & tags.Format<"relative-json-pointer">;
}
Also, new function typia.http.assertFormData<T>(input: FormData): Resolved<T>
function added.
With the function, you can parse the FormData
instance even including the Blob
or File
property.
import typia, { tags } from "typia";
interface ObjectHttpFormData {
id: string & tags.Format<"uuid">;
strings: string[];
number: number;
integers: Array<number & tags.Type<"int32">>;
blob: Blob;
blobs: Blob[];
file: File;
files: File[];
}
const data: ObjectHttpFormData = typia.http.assertFormData<ObjectHttpFormData>();
random()
function. by @samchon in https://github.com/samchon/typia/pull/939
Date | null
type. by @samchon in https://github.com/samchon/typia/pull/945
typia.http.formData<T>()
function. by @samchon in https://github.com/samchon/typia/pull/946
HttpFormDataProgrammer.validator()
. by @samchon in https://github.com/samchon/typia/pull/947
Full Changelog: https://github.com/samchon/typia/compare/v5.3.12...v5.4.4
Published by samchon 9 months ago
Added more format tags like below.
export interface TypeTagFormat {
// SPECIAL CHARACTERS
byte: string & tags.Format<"byte">;
password: string & tags.Format<"password">;
regex: string & tags.Format<"regex">;
uuid: string & tags.Format<"uuid">;
// ADDRESSES
email: string & tags.Format<"email">;
hostname: string & tags.Format<"hostname">;
idnEmail: string & tags.Format<"idn-email">;
idnHostname: string & tags.Format<"idn-hostname">;
iri: string & tags.Format<"iri">;
iriReference: string & tags.Format<"iri-reference">;
ipv4: string & tags.Format<"ipv4">;
ipv6: string & tags.Format<"ipv6">;
uri: string & tags.Format<"uri">;
uriReference: string & tags.Format<"uri-reference">;
uriTemplate: string & tags.Format<"uri-template">;
url: string & tags.Format<"url">;
// TIMESTAMPS
datetime: string & tags.Format<"date-time">;
date: string & tags.Format<"date">;
time: string & tags.Format<"time">;
duration: string & tags.Format<"duration">;
// POINTERS
jsonPointer: string & tags.Format<"json-pointer">;
relativeJsonPointer: string & tags.Format<"relative-json-pointer">;
}
Also, new function typia.http.assertFormData<T>(input: FormData): Resolved<T>
function added.
With the function, you can parse the FormData
instance even including the Blob
or File
property.
import typia, { tags } from "typia";
interface ObjectHttpFormData {
id: string & tags.Format<"uuid">;
strings: string[];
number: number;
integers: Array<number & tags.Type<"int32">>;
blob: Blob;
blobs: Blob[];
file: File;
files: File[];
}
const data: ObjectHttpFormData = typia.http.assertFormData<ObjectHttpFormData>();
random()
function. by @samchon in https://github.com/samchon/typia/pull/939
Date | null
type. by @samchon in https://github.com/samchon/typia/pull/945
typia.http.formData<T>()
function. by @samchon in https://github.com/samchon/typia/pull/946
Full Changelog: https://github.com/samchon/typia/compare/v5.3.12...v5.4.3
Published by samchon 9 months ago
Added more format tags like below.
export interface TypeTagFormat {
// SPECIAL CHARACTERS
byte: string & tags.Format<"byte">;
password: string & tags.Format<"password">;
regex: string & tags.Format<"regex">;
uuid: string & tags.Format<"uuid">;
// ADDRESSES
email: string & tags.Format<"email">;
hostname: string & tags.Format<"hostname">;
idnEmail: string & tags.Format<"idn-email">;
idnHostname: string & tags.Format<"idn-hostname">;
iri: string & tags.Format<"iri">;
iriReference: string & tags.Format<"iri-reference">;
ipv4: string & tags.Format<"ipv4">;
ipv6: string & tags.Format<"ipv6">;
uri: string & tags.Format<"uri">;
uriReference: string & tags.Format<"uri-reference">;
uriTemplate: string & tags.Format<"uri-template">;
url: string & tags.Format<"url">;
// TIMESTAMPS
datetime: string & tags.Format<"date-time">;
date: string & tags.Format<"date">;
time: string & tags.Format<"time">;
duration: string & tags.Format<"duration">;
// POINTERS
jsonPointer: string & tags.Format<"json-pointer">;
relativeJsonPointer: string & tags.Format<"relative-json-pointer">;
}
random()
function. by @samchon in https://github.com/samchon/typia/pull/939
Full Changelog: https://github.com/samchon/typia/compare/v5.3.12...v5.4.1
Published by samchon 9 months ago
@EloB has contributed typia
to generate much less bundling sized code by optimizing to be tree shaking friendly.
According to his claim, the patch reduces the bundling size about 90% down.
Thanks for his smart contribution, and let's wait his next module esbuild
plugin for typia
.
Full Changelog: https://github.com/samchon/typia/compare/v5.3.11...v5.3.12
Published by samchon 9 months ago
typia.io
by @samchon in https://github.com/samchon/typia/pull/923
Full Changelog: https://github.com/samchon/typia/compare/v5.3.10...v5.3.11
Published by samchon 9 months ago
typia.reflect.metadata<Types>()
function. by @samchon in https://github.com/samchon/typia/pull/922
Full Changelog: https://github.com/samchon/typia/compare/v5.3.9...v5.3.10
Published by samchon 10 months ago
IJsonSchema.default
. by @samchon in https://github.com/samchon/typia/pull/918
Full Changelog: https://github.com/samchon/typia/compare/v5.3.8...v5.3.9
Published by samchon 10 months ago
Made JSON schema lighten for LLM reason.
Full Changelog: https://github.com/samchon/typia/compare/v5.3.7...v5.3.8
Published by samchon 10 months ago
IJsonSchema.IObject
for object literal expression. by @samchon in https://github.com/samchon/typia/pull/914
Full Changelog: https://github.com/samchon/typia/compare/v5.3.6...v5.3.7
Published by samchon 10 months ago
Full Changelog: https://github.com/samchon/typia/compare/v5.3.5...v5.3.6
Published by samchon 10 months ago
protobuf.encode<T>()
be returned when union type comes. by @samchon in https://github.com/samchon/typia/pull/903
Full Changelog: https://github.com/samchon/typia/compare/v5.3.4...v5.3.5
Published by samchon 11 months ago
@internal
tag from IMetadataDictionary
. by @samchon in https://github.com/samchon/typia/pull/895
Full Changelog: https://github.com/samchon/typia/compare/v5.3.2...v5.3.4
Published by samchon 11 months ago
typia.random<T>()
function. by @samchon in https://github.com/samchon/typia/pull/891
Full Changelog: https://github.com/samchon/typia/compare/v5.3.1...v5.3.2
Published by samchon 11 months ago
Starts supporting TypeScript v5.3 update.
Since TypeScript v5.3 update, it no more parses JSDocComment
s from the tsc
command and it damages on the "Comment Tags" and "JSON schema generator" features. By the way, as update of ts-patch
for the TypeScript v5.3 update is delaying, I've patched the TypeScript module by myself. The new cli command npx typia patch
is the thing reviving JSDocComment
feature from tsc
.
For reference, typia setup
command also does the same behavior.
Detailed content about that
reflect.metadata()
function. by @samchon in https://github.com/samchon/typia/pull/867
asserGuard()
. by @samchon in https://github.com/samchon/typia/pull/872
exactOptionalPropertyTypes
option for typia.protobuf.decode<T>()
function. by @samchon in https://github.com/samchon/typia/pull/874
jsDocParsingMode
is not hacked. by @samchon in https://github.com/samchon/typia/pull/879
npx typia patch
for hacking defaultJSDocParsingMode
value by @samchon in https://github.com/samchon/typia/pull/883
Full Changelog: https://github.com/samchon/typia/compare/v5.2.6...v5.3.1
Published by samchon 12 months ago
ts.factory.createNumericLiteral()
. by @samchon in https://github.com/samchon/typia/pull/863
Full Changelog: https://github.com/samchon/typia/compare/v5.2.5...v5.2.6