Skip to content

Commit 776b5af

Browse files
committed
Only show MakePropertiesOptional in /typescript.d interfaces
1 parent 185e35f commit 776b5af

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

src/ServiceStack/NativeTypes/NativeTypesService.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ public object Any(TypesTypeScript request)
190190
request.BaseUrl = GetBaseUrl(request.BaseUrl);
191191

192192
var typesConfig = NativeTypesMetadata.GetConfig(request);
193+
typesConfig.MakePropertiesOptional = request.MakePropertiesOptional ?? false;
193194
typesConfig.ExportAsTypes = true;
194195

195196
return GenerateTypeScript(request, typesConfig);
@@ -200,7 +201,10 @@ public object Any(TypesTypeScriptDefinition request)
200201
{
201202
request.BaseUrl = GetBaseUrl(request.BaseUrl);
202203

203-
return GenerateTypeScript(request, NativeTypesMetadata.GetConfig(request));
204+
var typesConfig = NativeTypesMetadata.GetConfig(request);
205+
typesConfig.MakePropertiesOptional = request.MakePropertiesOptional ?? true;
206+
207+
return GenerateTypeScript(request, typesConfig);
204208
}
205209

206210
public string GenerateTypeScript(NativeTypesBase request, MetadataTypesConfig typesConfig)

src/ServiceStack/NativeTypes/TypeScript/TypeScriptGenerator.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ public string GetCode(MetadataTypes metadata, IRequest request, INativeTypesMeta
118118
sb.AppendLine("BaseUrl: {0}".Fmt(Config.BaseUrl));
119119
sb.AppendLine();
120120
sb.AppendLine("{0}GlobalNamespace: {1}".Fmt(defaultValue("GlobalNamespace"), Config.GlobalNamespace));
121-
sb.AppendLine("{0}MakePropertiesOptional: {1}".Fmt(defaultValue("MakePropertiesOptional"), Config.MakePropertiesOptional));
121+
122+
if (!Config.ExportAsTypes) // Optional properties only on interfaces
123+
sb.AppendLine("{0}MakePropertiesOptional: {1}".Fmt(defaultValue("MakePropertiesOptional"), Config.MakePropertiesOptional));
124+
122125
sb.AppendLine("{0}AddServiceStackTypes: {1}".Fmt(defaultValue("AddServiceStackTypes"), Config.AddServiceStackTypes));
123126
sb.AppendLine("{0}AddResponseStatus: {1}".Fmt(defaultValue("AddResponseStatus"), Config.AddResponseStatus));
124127
sb.AppendLine("{0}AddImplicitVersion: {1}".Fmt(defaultValue("AddImplicitVersion"), Config.AddImplicitVersion));

src/ServiceStack/RequestContext.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,12 @@ public void TrackDisposable(IDisposable instance)
141141
if (instance == null) return;
142142
if (instance is IService) return; //IService's are already disposed right after they've been executed
143143

144-
DisposableTracker dispsableTracker = null;
144+
DisposableTracker disposableTracker = null;
145145
if (!Items.Contains(DisposableTracker.HashId))
146-
Items[DisposableTracker.HashId] = dispsableTracker = new DisposableTracker();
147-
if (dispsableTracker == null)
148-
dispsableTracker = (DisposableTracker)Items[DisposableTracker.HashId];
149-
dispsableTracker.Add(instance);
146+
Items[DisposableTracker.HashId] = disposableTracker = new DisposableTracker();
147+
if (disposableTracker == null)
148+
disposableTracker = (DisposableTracker)Items[DisposableTracker.HashId];
149+
disposableTracker.Add(instance);
150150
}
151151

152152
/// <summary>

0 commit comments

Comments
 (0)