-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.dart
84 lines (66 loc) · 2.71 KB
/
main.dart
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
73
74
75
76
77
78
79
80
81
82
83
84
// Copyright (c) 2023, Halil Durmus. Please see the AUTHORS file for details.
// All rights reserved. Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
import 'package:nuget/nuget.dart';
void main() async {
// Create an instance of NuGetClient.
final client = NuGetClient();
// Autocomplete package IDs.
final autocompleteResponse = await client.autocompletePackageIds('json');
print('The `json` query returned ${autocompleteResponse.totalHits} hits. '
'Here are the first 20 results:');
for (final packageId in autocompleteResponse.data) {
print(' - $packageId');
}
print('');
// Download package content (.nupkg).
final content =
await client.downloadPackageContent('Newtonsoft.Json', version: '13.0.3');
print('`Newtonsoft.Json` package size: ${content.length} bytes');
// Download package manifest (.nuspec).
final manifest = await client.downloadPackageManifest('Newtonsoft.Json',
version: '13.0.3');
print('`Newtonsoft.Json` manifest size: ${manifest.length} bytes');
print('');
// Get all package metadata.
final allMetadata = await client.getAllPackageMetadata('Newtonsoft.Json');
print('`Newtonsoft.Json` metadata of first three versions:');
for (final metadata in allMetadata.take(3)) {
print(' - Version: ${metadata.version}');
print(' - Description: ${metadata.description}');
print(' - Author(s): ${metadata.authors}');
print('');
}
// Get latest package version.
final latestVersion = await client.getLatestPackageVersion('Newtonsoft.Json');
print('`Newtonsoft.Json` latest version: $latestVersion');
print('');
// Get package metadata.
final metadata =
await client.getPackageMetadata('Newtonsoft.Json', version: '13.0.3');
print('`Newtonsoft.Json` (13.0.3) metadata:');
print(' - Version: ${metadata.version}');
print(' - Description: ${metadata.description}');
print(' - Author(s): ${metadata.authors}');
print('');
// Get package versions.
final versions = await client.getPackageVersions('Newtonsoft.Json');
print('`Newtonsoft.Json` has ${versions.length} versions:');
for (final version in versions) {
print(' - $version');
}
print('');
// Check if package exists.
final exists = await client.packageExists('Newtonsoft.Json');
print('`Newtonsoft.Json` exists: $exists');
print('');
// Search packages.
final searchResponse = await client.searchPackages('win32');
print('The `win32` query returned ${searchResponse.totalHits} hits. Here are '
'the first 20 results:');
for (final package in searchResponse.data) {
print(' - ${package.packageId} (${package.version})');
}
// Close the client when it's no longer needed.
client.close();
}