@@ -16,57 +16,56 @@ $ npm install lod-opendata
16
16
# Usage
17
17
18
18
``` js
19
- const lodAPI = require (" ./ lod-opendata.js " )
19
+ const opendata = require (' lod-opendata' )
20
20
21
- // Example : get all fields
22
- const getAllFields = async () => {
23
- const data = await lodAPI ()
24
- console .log (' getAllFields: ' , data)
25
- }
26
- getAllFields ()
21
+ // Example with async / Await
27
22
28
- // Example : get all fields from resources field
29
- const getFieldResources = async () => {
30
- const fields = " resources"
31
- const data = await lodAPI (fields)
32
- console .log (' getFieldResources : ' , data)
23
+ const asyncAwait = async () => {
24
+ // Get all fields. Use defaults
25
+ try {
26
+ const result = await opendata ()
27
+ console .log (result)
28
+ } catch (error) {
29
+ console .log (error .message )
30
+ }
33
31
}
34
- getFieldResources ()
32
+ asyncAwait ()
35
33
36
- // Example : get the url field from resources field
37
- const getFieldResourcesUrl = async () => {
38
- const fields = " resources/{url}"
39
- const data = await lodAPI (fields)
40
- console .log (' getFieldResourcesUrl:' , data)
41
- }
42
- getFieldResourcesUrl ()
34
+ // Example with then / catch
43
35
44
- // Example : get multiple fields
45
- const getMultipleFields = async () => {
46
- const fields = " page,title,tags"
47
- const data = await lodAPI (fields)
48
- console .log (' getMultipleFields: ' , data)
49
- }
50
- getMultipleFields ()
51
-
52
- // Example : get multiple subfields
53
- const getMultipleSubfields = async () => {
54
- const fields = " resources/{format,title,url}"
55
- const { resources: [{ format , title , url }] } = await lodAPI (fields)
56
- console .log (' format: ' , format)
57
- console .log (' title: ' , title)
58
- console .log (' url: ' , url)
59
- }
60
- getMultipleSubfields ()
61
-
62
- // Example : get all fields from resources field from a custom endPoint
63
- const getCustomEndPoint = async () => {
64
- const customEndPoint = ' https://data.public.lu/api/1/datasets/letzebuerger-online-dictionnaire-raw-data/'
65
- const fields = " resources"
66
- const data = await lodAPI (fields, customEndPoint)
67
- console .log (' getCustomEndPoint : ' , data)
36
+ const thenCatch = () => {
37
+ // Get all fields. Use defaults
38
+ opendata ()
39
+ .then ((obj ) => console .log (obj))
40
+ .catch ((err ) => console .log (err .message ))
41
+
42
+ // Get all fields from the main `resources` field'
43
+ opendata (' resources' )
44
+ .then ((obj ) => console .log (obj))
45
+ .catch ((err ) => console .log (err .message ))
46
+
47
+ // Get the `url` field from `resources` field'
48
+ opendata (' resources/{url}' )
49
+ .then (({ resources: [{ url }] }) => console .log (url))
50
+ .catch ((err ) => console .log (err .message ))
51
+
52
+ // Get multiple main fields: `page`, `title`, `slug`
53
+ opendata (' page,title,slug' )
54
+ .then (({ page, title, slug }) => console .log (page, title, slug))
55
+ .catch ((err ) => console .log (err .message ))
56
+
57
+ // Get multiple subfields: `id`, `published`, `latest` from main field `resources`
58
+ opendata (' resources/{id,published,latest}' )
59
+ .then (({ resources: [{ id, published, latest }] }) => console .log (id, published, latest))
60
+ .catch ((err ) => console .log (err .message ))
61
+
62
+ // Get all fields pass a custom api `url`. Useful if the API URL changes.
63
+ const url = ' http://data.public.lu/api/1/datasets/letzebuerger-online-dictionnaire-raw-data'
64
+ opendata (' ' , url)
65
+ .then ((obj ) => console .log (obj))
66
+ .catch ((err ) => console .log (err .message ))
68
67
}
69
- getCustomEndPoint ()
68
+ thenCatch ()
70
69
```
71
70
72
71
See all fields available :<br >
0 commit comments