sera-2 1.6.5__tar.gz → 1.6.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {sera_2-1.6.5 → sera_2-1.6.7}/PKG-INFO +1 -1
  2. {sera_2-1.6.5 → sera_2-1.6.7}/pyproject.toml +1 -1
  3. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/make_typescript_model.py +12 -1
  4. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_constraints.py +9 -1
  5. {sera_2-1.6.5 → sera_2-1.6.7}/README.md +0 -0
  6. {sera_2-1.6.5 → sera_2-1.6.7}/sera/__init__.py +0 -0
  7. {sera_2-1.6.5 → sera_2-1.6.7}/sera/constants.py +0 -0
  8. {sera_2-1.6.5 → sera_2-1.6.7}/sera/libs/__init__.py +0 -0
  9. {sera_2-1.6.5 → sera_2-1.6.7}/sera/libs/api_helper.py +0 -0
  10. {sera_2-1.6.5 → sera_2-1.6.7}/sera/libs/base_orm.py +0 -0
  11. {sera_2-1.6.5 → sera_2-1.6.7}/sera/libs/base_service.py +0 -0
  12. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/__init__.py +0 -0
  13. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/__main__.py +0 -0
  14. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/make_app.py +0 -0
  15. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/make_python_api.py +0 -0
  16. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/make_python_model.py +0 -0
  17. {sera_2-1.6.5 → sera_2-1.6.7}/sera/make/make_python_services.py +0 -0
  18. {sera_2-1.6.5 → sera_2-1.6.7}/sera/misc/__init__.py +0 -0
  19. {sera_2-1.6.5 → sera_2-1.6.7}/sera/misc/_formatter.py +0 -0
  20. {sera_2-1.6.5 → sera_2-1.6.7}/sera/misc/_utils.py +0 -0
  21. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/__init__.py +0 -0
  22. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_class.py +0 -0
  23. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_collection.py +0 -0
  24. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_datatype.py +0 -0
  25. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_default.py +0 -0
  26. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_enum.py +0 -0
  27. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_module.py +0 -0
  28. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_multi_lingual_string.py +0 -0
  29. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_parse.py +0 -0
  30. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_property.py +0 -0
  31. {sera_2-1.6.5 → sera_2-1.6.7}/sera/models/_schema.py +0 -0
  32. {sera_2-1.6.5 → sera_2-1.6.7}/sera/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sera-2
3
- Version: 1.6.5
3
+ Version: 1.6.7
4
4
  Summary:
5
5
  Author: Binh Vu
6
6
  Author-email: bvu687@gmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "sera-2"
3
- version = "1.6.5"
3
+ version = "1.6.7"
4
4
  description = ""
5
5
  authors = ["Binh Vu <bvu687@gmail.com>"]
6
6
  readme = "README.md"
@@ -833,6 +833,17 @@ def make_typescript_data_model(schema: Schema, target_pkg: Package):
833
833
  else expr.ExprConstant("undefined")
834
834
  ),
835
835
  ),
836
+ (
837
+ expr.ExprIdent("constraints"),
838
+ PredefinedFn.list(
839
+ [
840
+ expr.ExprConstant(
841
+ constraint.get_typescript_constraint()
842
+ )
843
+ for constraint in prop.data.constraints
844
+ ]
845
+ ),
846
+ ),
836
847
  ]
837
848
  + tsprop
838
849
  ),
@@ -917,7 +928,7 @@ def make_typescript_data_model(schema: Schema, target_pkg: Package):
917
928
  ),
918
929
  stmt.LineBreak(),
919
930
  stmt.TypescriptStatement(
920
- f"export const {cls.name}Schema: Schema<{cls.name}SchemaType> = "
931
+ f"export const {cls.name}Schema: Schema<{cls.name}SchemaType['id'], {cls.name}SchemaType['cls'], {cls.name}SchemaType['draftCls'], {cls.name}SchemaType['publicProperties'], {cls.name}SchemaType['allProperties'], {cls.name}SchemaType> = "
921
932
  + PredefinedFn.dict(
922
933
  [
923
934
  (
@@ -24,10 +24,18 @@ class Constraint:
24
24
  "msgspec.Meta(min_length=3, max_length=32, pattern=r'^[a-zA-Z0-9_]+$')"
25
25
  )
26
26
  elif self.name == "password":
27
- return "msgspec.Meta(min_length=8, max_length=32)"
27
+ return "msgspec.Meta(min_length=8, max_length=40)"
28
28
 
29
29
  raise NotImplementedError()
30
30
 
31
+ def get_typescript_constraint(self) -> str | dict:
32
+ if len(self.args) == 0:
33
+ return self.name
34
+ return {
35
+ "name": self.name,
36
+ "args": self.args,
37
+ }
38
+
31
39
 
32
40
  predefined_constraints: dict[ConstraintName, Constraint] = {
33
41
  "phone_number": Constraint("phone_number", ()),
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes