-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathSwag.Doc.Definition.pas
More file actions
72 lines (59 loc) · 2.64 KB
/
Swag.Doc.Definition.pas
File metadata and controls
72 lines (59 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{******************************************************************************}
{ }
{ Delphi SwagDoc Library }
{ Copyright (c) 2018 Marcelo Jaloto }
{ https://github.com/marcelojaloto/SwagDoc }
{ }
{******************************************************************************}
{ }
{ Licensed under the Apache License, Version 2.0 (the "License"); }
{ you may not use this file except in compliance with the License. }
{ You may obtain a copy of the License at }
{ }
{ http://www.apache.org/licenses/LICENSE-2.0 }
{ }
{ Unless required by applicable law or agreed to in writing, software }
{ distributed under the License is distributed on an "AS IS" BASIS, }
{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }
{ See the License for the specific language governing permissions and }
{ limitations under the License. }
{ }
{******************************************************************************}
unit Swag.Doc.Definition;
interface
uses
System.JSON;
type
TSwagDefinition = class(TObject)
private
fName: string;
fJsonSchema: TJsonObject;
procedure SetName(const Value: string);
procedure SetJsonSchema(const Value: TJsonObject);
public
function GenerateJsonRefDefinition: TJsonObject;
property Name: string read fName write SetName;
property JsonSchema: TJsonObject read fJsonSchema write SetJsonSchema; // http://json-schema.org
end;
implementation
uses
System.SysUtils;
{ TSwagDefinition }
procedure TSwagDefinition.SetJsonSchema(const Value: TJsonObject);
begin
fJsonSchema := Value;
end;
procedure TSwagDefinition.SetName(const Value: string);
begin
fName := Value;
end;
{ TSwagDefinition }
function TSwagDefinition.GenerateJsonRefDefinition: TJsonObject;
const
c_SchemaRef = '$ref';
c_PrefixDefinitionName = '#/definitions/';
begin
Result := TJsonObject.Create;
Result.AddPair(c_SchemaRef, c_PrefixDefinitionName + fName);
end;
end.