1.0.0 - 2023-11-10
- ES modules support & typescript support
- Release version
0.9.0 - 2023-11-09
- Pre-release fixes
- Documentation enhancements
- Code quality improvements
- New type - null
- Not required fields now works only with undefined samples
- Removed max items mechanism from type annotations module generator
0.8.0 - 2023-11-08
- JSDOC generation for metatype module, issue
- Metatest optional default export
- Typings improvements
0.7.0 - 2023-11-08
- Calculated fields [experemental], issue
- Readme & tests for module
- Fixed README example errors
0.6.0 - 2023-11-06
- Typescript generation module, issue
- Documentation fixes
0.5.0 - 2023-11-05
- Readme enhancement, issue
- JSDOC documentation
0.4.0 - 2023-11-05
-
Support latest:21 node version
-
Removed parser (maybe temporary)
-
TypeScript .d.ts support
-
Schema field with multiple type variants now works only with special type
union -
Modular mechanism (internal rework): How it works
const schema = new Schema(); schema.register((schema, options, plan) => {}); //? Register new module
By default registrated modules are:
- Metatest module (Adds tests for prototypes)
- Metatype module (Typescript parser)
- Handyman (Quality of life module)
But you also remove default modules:
Schema.modules.delete('metatest');
-
New shorthands for:
- enum example:
['winter', 'spring', 'summer, 'autumn'] - tuple example:
['string', 'number'] - object example:
{ a: string, b: number } - string example:
'string' - schema example:
'MyGlobalSchema' - schema#2 example:
new Schema('string')
- enum example:
-
Removed preprocessor mechanism
-
Schemas now can be part of plan
-
Performance improvements (by removing unnecessary modules)
-
Lightweight inheritance
-
Removed type JSON (temporary)
-
Prototype chaining
-
Partial testing
-
New prototypes:
- Tuple
- Record
- Schema
- Union
0.3.0 - 2023-10-19
- Plan generation from sample issue
- Schema child method, now you can update only schema or only options for new schemas
- Metadata fetcher, now you can gather all metadata by
schema.meta - Fixed case when schema returns only methods without metadata, now it returns prototypes key with all metadata
- Preprocess & postprocess for objects properties mutations
- New prototype
enum - Code cleanup & tests
0.2.0 - 2023-10-18
- Renamed astroplan -> metaforge
- Meta information & Builded tree export issue
- Custom checks (rules) issue
- Allow custom types, schemas and rules to return value of string, array, boolean and SchemaError types;
0.1.0 - 2023-10-16
- Stable release version
- Warnings before testing
- Repository created
- Namespaces, runtime schema checking, custom types
- Default struct types: Array, Set, Map, Object
- Default scalar types: String, Boolean, Number, BigInt
- Default exotic types: Any, Undefined, JSON
- Custom Errors