UNPKG

tynder

Version:

TypeScript friendly Data validator for JavaScript.

229 lines (130 loc) 4.92 kB
# Changelog ## v0.7.0 * Update dependencies. * Update CI configurations. * Migrate to webpack 5. --- ## v0.6.6 * Add fall back processing to get `globalThis`, `Object`, and `Function`. (to check for unsafe keywords) * Update dependencies. ## v0.6.5 * Update dependencies. * Migrate to TypeScript 4.0. ## v0.6.4 * Fix empty string literal parsing. * Update dependencies. * Update CI configurations. ## v0.6.3 * Add `assertType<T>(data, ty, ctx?)` assertion type guard function. * Generate the type name const enum `Schema` when serializing the schema. * Edit README. * Update dev dependencies. ## v0.6.2 * Add `declare type|interface|enum|const enum` statement. * Refactoring: * Move and separate files. * Extract a compiler docComment function. * Fix README. * Update dev dependencies. ## v0.6.1 * Fix typo. ## v0.6.0 * Add pass-through `declare var|let|const` statement. * Add `const enum` definition. * Add `/* @tynder-pass-through ... */` directive. * Typed `external` statement and `/* @tynder-external ... */` directive. ---- ## v0.5.2 * `[FIX]` Fix codegen: Fix type alias, repeated types and oneOf types (CSharp, Protobuf, GraphQL). ## v0.5.1 * `[FIX]` Fix and improve codegen output (CSharp, Protobuf3). * Update CI configurations. ## v0.5.0 * Add `C#` type definition code generation. * Improve code generation (TypeScript, Protobuf, GraphQL). ---- ## v0.4.1 * `[FIX]` Fix TypeScript code generation: object member non-ascii symbol name should be enclose with quotation. ## v0.4.0 * Add type guard functions `isType`. * `[FIX]` Fix `date`, `lcdate`, `datetime`, `lcdatetime` stereotypes. * Constructor returns wrong month if passed month's day of month is shorted than current month. ### _Breaking changes_ * Type of `ValidationError::ctx` is changed to `Partial<ValidationContext>`. ---- ## v0.3.11 * `[FIX]` Fix d.ts code generation: empty objects generate invalid code. ## v0.3.10 * `[FIX]` Fix d.ts code generation: additional-props entry is not output when other member entries are not exist. ## v0.3.9 * Add `unique-non-null` constraint. * `[FIX]` Fix `unique` and `unique-non-null` constraint bug. ## v0.3.8 * Add `@constraint` decorator and `unique` constraint implementation. * Add spec codes. ## v0.3.7 * Add `@meta` decorator. * User defined custom properties (meta informations). * Output to the compiled schema. * Add spec codes. * Update dev dependencies. * Add eslint configurations. * Edit github actions CI configuration. ## v0.3.6 * Add `first-date-of-fy(mo)` operator to `data` and `datetime` stereotype formula. * fiscal year operator. * Add spec codes. ## v0.3.5 * `[FIX]` Fix stereotype, forceCast, and recordType decorators: when optional type, it should be decorated with ty.optional. * `v0.3.4` fix is broken. ## v0.3.4 * `[FIX]` Fix stereotype, forceCast, and recordType decorators: when optional type, it should be decorated with ty.optional. ## v0.3.3 * `[FIX]` Fix compiler: Fix character class that can be used in symbols. ## v0.3.2 * Improve one-of assertion validation error message. * Add `@recordType` decorator. * If the decorated member field of object is validated, the union type is determined. ## v0.3.1 * `[FIX]` Fix error handling and reporting of stereotype. * Improve playground. ## v0.3.0 * Add `@stereotype` decorator. * Perform custom validation. * Add standard stereotypes. * `date` * date (UTC timezone) * `lcdate` * date (local timezone) * `datetime` * datetime (UTC timezone) * `lcdatetime` * datetime (local timezone) * Add `@forceCast` decorator. * Validate after forcibly casting to the assertion's type. * Add spec codes. ---- ## v0.2.3 * `[FIX]` Fix serializer & deserializer bugs. * RegExp pattern additonal props are not serialize/deserialize correctly. * Add spec codes. ## v0.2.2 * `[FIX]` Fix serializer & deserializer bugs. * Object member meta info format is wrong. (serializer) * Optional info is lost in named type case. (serializer) * Extended interface has unexpected duplicated member properties. (deserializer) * Add spec codes. ## v0.2.1 * A grammar for referencing other interface members has been added. * `[FIX]` Fix meta info lost during serialization. * Occurs when serializing named non-primitive types. * Update dependencies. ## v0.2.0 * `[FIX]` Fix validation reporting. (incorrect parent name) ### _Breaking changes_ * Change the `dataPath` format for validation errors. * Path separator after `type` is changed from `.` to `:`. * before changed: `File.acl.(0:repeated).ACL.target` * after changed: `File:acl.(0:repeated).ACL:target`