types_from_serializers 2.3.0 → 2.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9253a2af8e018bad4fc2015153df9e0f2c5acd8fa6dc1980ee6c5942fd63b0b
4
- data.tar.gz: 3ddc115f8667dcba81f51ae867323c9852939c019b18e49a29bf5a73d8c0c790
3
+ metadata.gz: f744ef983288aecc073f9e0ca84d97b589f98d5046837736eedd2536c1b48eac
4
+ data.tar.gz: 4dd172b90a9d8a50774ecd8354bce1e6efaaf9deae3e2b00edf2ccff240f75d3
5
5
  SHA512:
6
- metadata.gz: 8dc521ddba354a4443a907597ba1b5c4d6093c156b6685e0ac683bcc922f2414e3380f00ba8e2ae5e96587dd519efd738304ec98d93643d6859d1dc6047be1ca
7
- data.tar.gz: f69cf927cc528364a62c2a96ffbdcf54dff910700d80a89e8109bdb1d4c208bf9cfce6221c43c04bc914a5cd4c284a3854e2504122bef256365c6f4c654c5f0c
6
+ metadata.gz: 01642c033028c7b302f8b1c3110333ea37c3de5c72eec6037c828ac07186ca5e6dd652410e8d35ca2f91154a76392786f40c21b00c2afade446c3a14b456ebb3
7
+ data.tar.gz: 850a45ce10ef7313ab41cc6c1662590e8a7175e58cdadfcbddc4b6bf1bc49a8b38f506c25c55c0142a4865e585c23790c10e8da90589b213e13b2042879323ef
data/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # [2.5.0](https://github.com/ElMassimo/types_from_serializers/compare/types_from_serializers@2.4.0...types_from_serializers@2.5.0) (2026-01-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * generated types for self-referential attributes ([#28](https://github.com/ElMassimo/types_from_serializers/issues/28)) ([abd5073](https://github.com/ElMassimo/types_from_serializers/commit/abd507321da6a796d29c8aab966d18c3c6627002))
7
+
8
+
9
+ ### Features
10
+
11
+ * add 'time' datatype ([#30](https://github.com/ElMassimo/types_from_serializers/issues/30)) ([9427a4a](https://github.com/ElMassimo/types_from_serializers/commit/9427a4a64f8e344416b84007b28e49ec7f8537c3))
12
+
13
+
14
+
15
+ # [2.4.0](https://github.com/ElMassimo/types_from_serializers/compare/types_from_serializers@2.3.0...types_from_serializers@2.4.0) (2025-04-08)
16
+
17
+
18
+ ### Features
19
+
20
+ * add support for json and jsonb fields ([#25](https://github.com/ElMassimo/types_from_serializers/issues/25)) ([34e747f](https://github.com/ElMassimo/types_from_serializers/commit/34e747f11ebdd032484d10679240701eb2548ed3))
21
+ * convert uuid fields to string type ([#24](https://github.com/ElMassimo/types_from_serializers/issues/24)) ([35c87a9](https://github.com/ElMassimo/types_from_serializers/commit/35c87a96365d32d40adce5ba9fddd3d380f29169))
22
+
23
+
24
+
1
25
  # [2.3.0](https://github.com/ElMassimo/types_from_serializers/compare/types_from_serializers@2.2.0...types_from_serializers@2.3.0) (2024-08-23)
2
26
 
3
27
 
@@ -127,6 +127,7 @@ module TypesFromSerializers
127
127
  .partition { |type| type.respond_to?(:ts_interface) }
128
128
 
129
129
  serializer_type_imports = association_serializers.map(&:ts_interface)
130
+ .reject { |type| type.name == name } # avoid self-imports (e.g. for recursive types)
130
131
  .map { |type| [type.name, relative_path(type.pathname, pathname)] }
131
132
 
132
133
  custom_type_imports = attribute_types
@@ -385,6 +386,7 @@ module TypesFromSerializers
385
386
  # Maps SQL column types to TypeScript native and custom types.
386
387
  sql_to_typescript_type_mapping: {
387
388
  boolean: :boolean,
389
+ time: "string | Date",
388
390
  date: "string | Date",
389
391
  datetime: "string | Date",
390
392
  decimal: "string | number",
@@ -392,6 +394,9 @@ module TypesFromSerializers
392
394
  string: :string,
393
395
  text: :string,
394
396
  citext: :string,
397
+ uuid: :string,
398
+ json: "Record<string, any>",
399
+ jsonb: "Record<string, any>",
395
400
  }.tap do |types|
396
401
  types.default = :unknown
397
402
  end,
@@ -2,5 +2,5 @@
2
2
 
3
3
  module TypesFromSerializers
4
4
  # Public: This library adheres to semantic versioning.
5
- VERSION = "2.3.0"
5
+ VERSION = "2.5.0"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: types_from_serializers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Máximo Mussini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-23 00:00:00.000000000 Z
11
+ date: 2026-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -277,7 +277,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  requirements: []
280
- rubygems_version: 3.4.10
280
+ rubygems_version: 3.5.16
281
281
  signing_key:
282
282
  specification_version: 4
283
283
  summary: Generate TypeScript interfaces from your JSON serializers.