foobara-typescript-remote-command-generator 1.2.7 → 1.3.1
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/foobara/typescript_remote_command_generator.rb +1 -6
- data/src/{remote_generator/generate_typescript.rb → generate_typescript.rb} +13 -4
- data/src/{remote_generator/services → generators}/aggregate_entity_generator.rb +2 -2
- data/src/{remote_generator/services → generators}/aggregate_model_generator.rb +3 -3
- data/src/{remote_generator/services → generators}/atom_entity_generator.rb +3 -3
- data/src/{remote_generator/services → generators}/atom_model_generator.rb +3 -3
- data/src/{remote_generator/services → generators}/auth/access_tokens_generator.rb +1 -1
- data/src/generators/auth/login_command_generator.rb +29 -0
- data/src/{remote_generator/services → generators}/auth/login_generator.rb +4 -2
- data/src/generators/auth/logout_command_generator.rb +29 -0
- data/src/{remote_generator/services → generators}/auth/logout_generator.rb +4 -2
- data/src/{remote_generator/services → generators}/auth/refresh_login_generator.rb +4 -2
- data/src/generators/auth/requires_auth_command_generator.rb +27 -0
- data/src/{remote_generator/services → generators}/auth/requires_auth_generator.rb +4 -2
- data/src/{remote_generator/services → generators}/command_cast_result_generator.rb +6 -6
- data/src/{remote_generator/services → generators}/command_errors_generator.rb +2 -2
- data/src/{remote_generator/services → generators}/command_errors_index_generator.rb +1 -1
- data/src/generators/command_generator.rb +209 -0
- data/src/{remote_generator/services → generators}/command_inputs_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/command_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/command_result_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/dependency_group.rb +2 -2
- data/src/{remote_generator/services → generators}/domain_config_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/domain_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/domain_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/entity_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/entity_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/entity_variants_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/error_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/loaded_entity_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/model_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/model_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/model_variants_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/organization_config_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/organization_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/organization_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/processor_class_generator.rb +1 -1
- data/src/generators/remote_command_generator.rb +41 -0
- data/src/{remote_generator/services → generators}/root_manifest_generator.rb +1 -1
- data/src/{remote_generator/services → generators}/type_generator.rb +3 -3
- data/src/{remote_generator/services → generators}/typescript_from_manifest_base_generator.rb +42 -38
- data/src/{remote_generator/services → generators}/unloaded_entity_generator.rb +1 -1
- data/src/remote_generator.rb +21 -0
- data/src/{remote_generator/write_typescript_to_disk.rb → write_typescript_to_disk.rb} +10 -1
- data/templates/Command.ts.erb +39 -1
- data/templates/base/QueryCache.ts +48 -0
- data/templates/base/{RemoteCommand.ts → RemoteCommand.ts.erb} +22 -0
- metadata +46 -45
- data/src/remote_generator/services/auth/login_command_generator.rb +0 -17
- data/src/remote_generator/services/auth/logout_command_generator.rb +0 -17
- data/src/remote_generator/services/auth/requires_auth_command_generator.rb +0 -15
- data/src/remote_generator/services/command_generator.rb +0 -87
- /data/src/{remote_generator/association_depth.rb → association_depth.rb} +0 -0
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foobara-typescript-remote-command-generator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Miles Georgi
|
|
@@ -55,50 +55,51 @@ files:
|
|
|
55
55
|
- LICENSE.txt
|
|
56
56
|
- README.md
|
|
57
57
|
- lib/foobara/typescript_remote_command_generator.rb
|
|
58
|
+
- src/association_depth.rb
|
|
59
|
+
- src/generate_typescript.rb
|
|
60
|
+
- src/generators/aggregate_entity_generator.rb
|
|
61
|
+
- src/generators/aggregate_model_generator.rb
|
|
62
|
+
- src/generators/atom_entity_generator.rb
|
|
63
|
+
- src/generators/atom_model_generator.rb
|
|
64
|
+
- src/generators/auth/access_tokens_generator.rb
|
|
65
|
+
- src/generators/auth/login_command_generator.rb
|
|
66
|
+
- src/generators/auth/login_generator.rb
|
|
67
|
+
- src/generators/auth/logout_command_generator.rb
|
|
68
|
+
- src/generators/auth/logout_generator.rb
|
|
69
|
+
- src/generators/auth/refresh_login_generator.rb
|
|
70
|
+
- src/generators/auth/requires_auth_command_generator.rb
|
|
71
|
+
- src/generators/auth/requires_auth_generator.rb
|
|
72
|
+
- src/generators/command_cast_result_generator.rb
|
|
73
|
+
- src/generators/command_errors_generator.rb
|
|
74
|
+
- src/generators/command_errors_index_generator.rb
|
|
75
|
+
- src/generators/command_generator.rb
|
|
76
|
+
- src/generators/command_inputs_generator.rb
|
|
77
|
+
- src/generators/command_manifest_generator.rb
|
|
78
|
+
- src/generators/command_result_generator.rb
|
|
79
|
+
- src/generators/dependency_group.rb
|
|
80
|
+
- src/generators/domain_config_generator.rb
|
|
81
|
+
- src/generators/domain_generator.rb
|
|
82
|
+
- src/generators/domain_manifest_generator.rb
|
|
83
|
+
- src/generators/entity_generator.rb
|
|
84
|
+
- src/generators/entity_manifest_generator.rb
|
|
85
|
+
- src/generators/entity_variants_generator.rb
|
|
86
|
+
- src/generators/error_generator.rb
|
|
87
|
+
- src/generators/loaded_entity_generator.rb
|
|
88
|
+
- src/generators/manifest_generator.rb
|
|
89
|
+
- src/generators/model_generator.rb
|
|
90
|
+
- src/generators/model_manifest_generator.rb
|
|
91
|
+
- src/generators/model_variants_generator.rb
|
|
92
|
+
- src/generators/organization_config_generator.rb
|
|
93
|
+
- src/generators/organization_generator.rb
|
|
94
|
+
- src/generators/organization_manifest_generator.rb
|
|
95
|
+
- src/generators/processor_class_generator.rb
|
|
96
|
+
- src/generators/remote_command_generator.rb
|
|
97
|
+
- src/generators/root_manifest_generator.rb
|
|
98
|
+
- src/generators/type_generator.rb
|
|
99
|
+
- src/generators/typescript_from_manifest_base_generator.rb
|
|
100
|
+
- src/generators/unloaded_entity_generator.rb
|
|
58
101
|
- src/remote_generator.rb
|
|
59
|
-
- src/
|
|
60
|
-
- src/remote_generator/generate_typescript.rb
|
|
61
|
-
- src/remote_generator/services/aggregate_entity_generator.rb
|
|
62
|
-
- src/remote_generator/services/aggregate_model_generator.rb
|
|
63
|
-
- src/remote_generator/services/atom_entity_generator.rb
|
|
64
|
-
- src/remote_generator/services/atom_model_generator.rb
|
|
65
|
-
- src/remote_generator/services/auth/access_tokens_generator.rb
|
|
66
|
-
- src/remote_generator/services/auth/login_command_generator.rb
|
|
67
|
-
- src/remote_generator/services/auth/login_generator.rb
|
|
68
|
-
- src/remote_generator/services/auth/logout_command_generator.rb
|
|
69
|
-
- src/remote_generator/services/auth/logout_generator.rb
|
|
70
|
-
- src/remote_generator/services/auth/refresh_login_generator.rb
|
|
71
|
-
- src/remote_generator/services/auth/requires_auth_command_generator.rb
|
|
72
|
-
- src/remote_generator/services/auth/requires_auth_generator.rb
|
|
73
|
-
- src/remote_generator/services/command_cast_result_generator.rb
|
|
74
|
-
- src/remote_generator/services/command_errors_generator.rb
|
|
75
|
-
- src/remote_generator/services/command_errors_index_generator.rb
|
|
76
|
-
- src/remote_generator/services/command_generator.rb
|
|
77
|
-
- src/remote_generator/services/command_inputs_generator.rb
|
|
78
|
-
- src/remote_generator/services/command_manifest_generator.rb
|
|
79
|
-
- src/remote_generator/services/command_result_generator.rb
|
|
80
|
-
- src/remote_generator/services/dependency_group.rb
|
|
81
|
-
- src/remote_generator/services/domain_config_generator.rb
|
|
82
|
-
- src/remote_generator/services/domain_generator.rb
|
|
83
|
-
- src/remote_generator/services/domain_manifest_generator.rb
|
|
84
|
-
- src/remote_generator/services/entity_generator.rb
|
|
85
|
-
- src/remote_generator/services/entity_manifest_generator.rb
|
|
86
|
-
- src/remote_generator/services/entity_variants_generator.rb
|
|
87
|
-
- src/remote_generator/services/error_generator.rb
|
|
88
|
-
- src/remote_generator/services/loaded_entity_generator.rb
|
|
89
|
-
- src/remote_generator/services/manifest_generator.rb
|
|
90
|
-
- src/remote_generator/services/model_generator.rb
|
|
91
|
-
- src/remote_generator/services/model_manifest_generator.rb
|
|
92
|
-
- src/remote_generator/services/model_variants_generator.rb
|
|
93
|
-
- src/remote_generator/services/organization_config_generator.rb
|
|
94
|
-
- src/remote_generator/services/organization_generator.rb
|
|
95
|
-
- src/remote_generator/services/organization_manifest_generator.rb
|
|
96
|
-
- src/remote_generator/services/processor_class_generator.rb
|
|
97
|
-
- src/remote_generator/services/root_manifest_generator.rb
|
|
98
|
-
- src/remote_generator/services/type_generator.rb
|
|
99
|
-
- src/remote_generator/services/typescript_from_manifest_base_generator.rb
|
|
100
|
-
- src/remote_generator/services/unloaded_entity_generator.rb
|
|
101
|
-
- src/remote_generator/write_typescript_to_disk.rb
|
|
102
|
+
- src/write_typescript_to_disk.rb
|
|
102
103
|
- templates/Command.ts.erb
|
|
103
104
|
- templates/Command/Errors.ts.erb
|
|
104
105
|
- templates/Command/Inputs.ts.erb
|
|
@@ -132,7 +133,7 @@ files:
|
|
|
132
133
|
- templates/base/Outcome.ts
|
|
133
134
|
- templates/base/Query.ts
|
|
134
135
|
- templates/base/QueryCache.ts
|
|
135
|
-
- templates/base/RemoteCommand.ts
|
|
136
|
+
- templates/base/RemoteCommand.ts.erb
|
|
136
137
|
- templates/base/RemoteCommandTypes.ts
|
|
137
138
|
- templates/hooks/useQuery.ts
|
|
138
139
|
homepage: https://github.com/foobara/typescript-remote-command-generator
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Foobara
|
|
2
|
-
module RemoteGenerator
|
|
3
|
-
class Services
|
|
4
|
-
module Auth
|
|
5
|
-
class LoginCommandGenerator < TypescriptFromManifestBaseGenerator
|
|
6
|
-
def template_path
|
|
7
|
-
"Foobara/Auth/LoginCommand.ts.erb"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def dependencies
|
|
11
|
-
super + [AccessTokensGenerator.new(relevant_manifest)]
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Foobara
|
|
2
|
-
module RemoteGenerator
|
|
3
|
-
class Services
|
|
4
|
-
module Auth
|
|
5
|
-
class LogoutCommandGenerator < TypescriptFromManifestBaseGenerator
|
|
6
|
-
def template_path
|
|
7
|
-
"Foobara/Auth/LogoutCommand.ts.erb"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def dependencies
|
|
11
|
-
super + [AccessTokensGenerator.new(relevant_manifest)]
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require_relative "../typescript_from_manifest_base_generator"
|
|
2
|
-
|
|
3
|
-
module Foobara
|
|
4
|
-
module RemoteGenerator
|
|
5
|
-
class Services
|
|
6
|
-
module Auth
|
|
7
|
-
class RequiresAuthCommandGenerator < TypescriptFromManifestBaseGenerator
|
|
8
|
-
def template_path
|
|
9
|
-
"Foobara/Auth/RequiresAuthCommand.ts.erb"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
require_relative "typescript_from_manifest_base_generator"
|
|
2
|
-
|
|
3
|
-
module Foobara
|
|
4
|
-
module RemoteGenerator
|
|
5
|
-
class Services
|
|
6
|
-
class CommandGenerator < TypescriptFromManifestBaseGenerator
|
|
7
|
-
alias command_manifest relevant_manifest
|
|
8
|
-
|
|
9
|
-
def target_path
|
|
10
|
-
[*scoped_full_path, "index.ts"]
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def template_path
|
|
14
|
-
"Command.ts.erb"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def domain_generator
|
|
18
|
-
@domain_generator ||= Services::DomainGenerator.new(domain)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def organization_generator = domain_generator.organization_generator
|
|
22
|
-
def domain_name = domain_generator.domain_name
|
|
23
|
-
def organization_name = domain_generator.organization_name
|
|
24
|
-
|
|
25
|
-
def errors_in_this_namespace
|
|
26
|
-
@errors_in_this_namespace ||= possible_errors.values.map(&:error).uniq.sort_by(&:error_name).select do |error|
|
|
27
|
-
error.parent&.manifest_path&.map(&:to_s) == manifest_path.map(&:to_s)
|
|
28
|
-
end.map do |error_manifest|
|
|
29
|
-
Services::ErrorGenerator.new(error_manifest)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def dependencies
|
|
34
|
-
errors_in_this_namespace
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def command_errors_index_generator
|
|
38
|
-
Services::CommandErrorsIndexGenerator.new(command_manifest)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def base_class_path
|
|
42
|
-
"base/RemoteCommand"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def base_class_name
|
|
46
|
-
base_class_path.split("/").last
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def result_json_requires_cast?
|
|
50
|
-
# What types require a cast?
|
|
51
|
-
# :date and :datetime, :model, custom type declaration (check #custom?)
|
|
52
|
-
result_type && type_requires_cast?(result_type)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
private
|
|
56
|
-
|
|
57
|
-
def type_requires_cast?(type_declaration)
|
|
58
|
-
if type_declaration.is_a?(Manifest::Attributes)
|
|
59
|
-
return false unless type_declaration.has_attribute_declarations?
|
|
60
|
-
return false if type_declaration.attribute_declarations.empty?
|
|
61
|
-
|
|
62
|
-
type_declaration.attribute_declarations.values.any? do |attribute_declaration|
|
|
63
|
-
type_requires_cast?(attribute_declaration)
|
|
64
|
-
end
|
|
65
|
-
elsif type_declaration.is_a?(Manifest::Array)
|
|
66
|
-
element_type = type_declaration.element_type
|
|
67
|
-
element_type && type_requires_cast?(element_type)
|
|
68
|
-
else
|
|
69
|
-
return true if type_declaration.model?
|
|
70
|
-
|
|
71
|
-
type_symbol = type_declaration.type_symbol
|
|
72
|
-
|
|
73
|
-
if type_symbol == :date || type_symbol == :datetime
|
|
74
|
-
return true
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
if type_declaration.custom?
|
|
78
|
-
type_declaration = type_declaration.to_type if type_declaration.is_a?(Manifest::TypeDeclaration)
|
|
79
|
-
base_type = type_declaration.base_type
|
|
80
|
-
type_requires_cast?(base_type)
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
File without changes
|