Skip to content

Commit e441d07

Browse files
committed
Update types
1 parent d4f303f commit e441d07

File tree

1 file changed

+47
-36
lines changed

1 file changed

+47
-36
lines changed

src/zif_types.intf.abap

Lines changed: 47 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ INTERFACE zif_types PUBLIC.
1717

1818
CONSTANTS c_version TYPE string VALUE '1.0.0' ##NO_TEXT.
1919

20+
2021
TYPES:
2122
"! Email
2223
ty_email TYPE string,
@@ -33,21 +34,23 @@ INTERFACE zif_types PUBLIC.
3334
ty_persons TYPE STANDARD TABLE OF ty_person WITH KEY name url email,
3435
"! Dependency with semver range
3536
BEGIN OF ty_dependency,
36-
name TYPE string,
37+
key TYPE string,
3738
range TYPE string,
3839
END OF ty_dependency,
3940
"! List of Dependencies
40-
ty_dependencies TYPE STANDARD TABLE OF ty_dependency WITH KEY name,
41+
ty_dependencies TYPE STANDARD TABLE OF ty_dependency WITH KEY key,
4142
"! Generic key value pair
4243
BEGIN OF ty_generic,
4344
key TYPE string,
4445
value TYPE string,
4546
END OF ty_generic,
47+
ty_dist_tags TYPE STANDARD TABLE OF ty_generic WITH KEY key,
4648
"! Timestamp
4749
BEGIN OF ty_time,
4850
key TYPE string,
49-
timestamp TYPE timestamp,
51+
timestamp TYPE timestampl,
5052
END OF ty_time,
53+
ty_times TYPE STANDARD TABLE OF ty_time WITH KEY key,
5154
"! Signature
5255
BEGIN OF ty_signature,
5356
keyid TYPE string,
@@ -58,46 +61,55 @@ INTERFACE zif_types PUBLIC.
5861
name TYPE string,
5962
stars TYPE i,
6063
END OF ty_user,
64+
ty_users TYPE STANDARD TABLE OF ty_user WITH KEY name,
65+
"! Bugs (Issues)
66+
BEGIN OF ty_bugs,
67+
url TYPE ty_uri,
68+
email TYPE ty_email,
69+
END OF ty_bugs,
70+
"! Repository
71+
BEGIN OF ty_repository,
72+
type TYPE string,
73+
url TYPE ty_uri,
74+
directory TYPE string,
75+
END OF ty_repository,
76+
"! Funding
77+
BEGIN OF ty_funding,
78+
type TYPE string,
79+
url TYPE ty_uri,
80+
END OF ty_funding,
6181
"! Dist Details
6282
BEGIN OF ty_dist,
6383
file_count TYPE i,
64-
integrity TYPE string,
6584
shasum TYPE string,
66-
signatures TYPE STANDARD TABLE OF ty_signature WITH KEY keyid,
6785
tarball TYPE string,
6886
unpacked_size TYPE i,
87+
integrity TYPE string,
88+
signatures TYPE STANDARD TABLE OF ty_signature WITH KEY keyid,
6989
END OF ty_dist.
7090

7191
" *** PACKAGE.ABAP.JSON ***
7292

7393
TYPES:
7494
"! Schema for package.abap.json
95+
"! Everything but "icon" is also in regular npm package.json
7596
BEGIN OF ty_package_json,
7697
name TYPE string,
7798
version TYPE string,
7899
description TYPE string,
79100
type TYPE string,
80101
keywords TYPE string_table,
81102
homepage TYPE string,
82-
BEGIN OF bugs,
83-
url TYPE ty_uri,
84-
email TYPE ty_email,
85-
END OF bugs,
103+
icon TYPE string,
104+
bugs TYPE ty_bugs,
86105
license TYPE string,
87106
author TYPE ty_person,
88107
contributors TYPE ty_persons,
89108
maintainers TYPE ty_persons,
90109
main TYPE string,
91110
man TYPE string_table,
92-
BEGIN OF repository,
93-
type TYPE string,
94-
url TYPE ty_uri,
95-
directory TYPE string,
96-
END OF repository,
97-
BEGIN OF funding,
98-
type TYPE string,
99-
url TYPE ty_uri,
100-
END OF funding,
111+
repository TYPE ty_repository,
112+
funding TYPE ty_funding,
101113
dependencies TYPE ty_dependencies,
102114
dev_dependencies TYPE ty_dependencies,
103115
optional_dependencies TYPE ty_dependencies,
@@ -113,7 +125,9 @@ INTERFACE zif_types PUBLIC.
113125

114126
" *** MANIFEST ***
115127

116-
"! Full manifest (fetched with "accept: application/json" in HTTP headers)
128+
"! Full manifest
129+
"!
130+
"! fetched with "accept: application/json" in HTTP headers
117131
TYPES BEGIN OF ty_manifest.
118132
INCLUDE TYPE ty_package_json.
119133
TYPES:
@@ -126,7 +140,8 @@ INTERFACE zif_types PUBLIC.
126140

127141
TYPES:
128142
"! Abbreviated manifest
129-
"! (fetched with "accept: application/vnd.npm.install-v1+json" in the HTTP headers)
143+
"!
144+
"! fetched with "accept: application/vnd.npm.install-v1+json" in the HTTP headers
130145
BEGIN OF ty_manifest_abbreviated ##NEEDED,
131146
name TYPE string,
132147
version TYPE string,
@@ -150,7 +165,8 @@ INTERFACE zif_types PUBLIC.
150165
BEGIN OF ty_version,
151166
key TYPE string,
152167
version TYPE ty_manifest,
153-
END OF ty_version.
168+
END OF ty_version,
169+
ty_versions TYPE STANDARD TABLE OF ty_version WITH KEY key.
154170

155171
TYPES:
156172
"! Tarball Attachment
@@ -161,36 +177,31 @@ INTERFACE zif_types PUBLIC.
161177
data TYPE string,
162178
length TYPE i,
163179
END OF tarball,
164-
END OF ty_attachment.
180+
END OF ty_attachment,
181+
ty_attachments TYPE STANDARD TABLE OF ty_attachment WITH KEY key.
165182

166183
TYPES:
167184
"! Full packument (as fetched from registry)
168185
"! Some fields are hoisted from latest version to root
169186
BEGIN OF ty_packument ##NEEDED,
170187
name TYPE string,
171188
description TYPE string,
172-
dist_tags TYPE STANDARD TABLE OF ty_generic WITH KEY key,
173-
time TYPE STANDARD TABLE OF ty_time WITH KEY key,
174-
versions TYPE STANDARD TABLE OF ty_version WITH KEY key,
189+
dist_tags TYPE ty_dist_tags,
190+
time TYPE ty_times,
191+
versions TYPE ty_versions,
175192
maintainers TYPE ty_persons,
176193
readme TYPE string,
177-
users TYPE STANDARD TABLE OF ty_user WITH KEY name,
194+
users TYPE ty_users,
178195
homepage TYPE string,
179-
BEGIN OF bugs,
180-
url TYPE ty_uri,
181-
email TYPE ty_email,
182-
END OF bugs,
196+
icon TYPE string,
197+
bugs TYPE ty_bugs,
183198
license TYPE string,
184199
keywords TYPE string_table,
185200
author TYPE ty_person,
186-
BEGIN OF repository,
187-
type TYPE string,
188-
url TYPE ty_uri,
189-
directory TYPE string,
190-
END OF repository,
201+
repository TYPE ty_repository,
191202
_id TYPE string,
192203
_rev TYPE string,
193-
_attachments TYPE STANDARD TABLE OF ty_attachment WITH KEY key,
204+
_attachments TYPE ty_attachments,
194205
access TYPE string,
195206
END OF ty_packument.
196207

0 commit comments

Comments
 (0)