Skip to content

Commit ff76f6d

Browse files
authored
fix(doc-util): use manifestJsonEx to render default/enum (#50)
1 parent 2eae33a commit ff76f6d

3 files changed

Lines changed: 26 additions & 25 deletions

File tree

doc-util/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# package d
1+
# doc-util
22

33
`doc-util` provides a Jsonnet interface for `docsonnet`,
44
a Jsonnet API doc generator that uses structured data instead of comments.
@@ -21,7 +21,7 @@ local d = import "github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet"
2121
* [`fn arg(name, type, default, enums)`](#fn-arg)
2222
* [`fn fn(help, args)`](#fn-fn)
2323
* [`fn obj(help, fields)`](#fn-obj)
24-
* [`fn pkg(name, url, help, filename='', version='master')`](#fn-pkg)
24+
* [`fn pkg(name, url, help, filename="", version="master")`](#fn-pkg)
2525
* [`fn render(obj)`](#fn-render)
2626
* [`fn val(type, help, default)`](#fn-val)
2727
* [`obj argument`](#obj-argument)
@@ -37,7 +37,7 @@ local d = import "github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet"
3737
* [`fn new(type, help, default)`](#fn-valuenew)
3838
* [`obj T`](#obj-t)
3939
* [`obj package`](#obj-package)
40-
* [`fn new(name, url, help, filename='', version='master')`](#fn-packagenew)
40+
* [`fn new(name, url, help, filename="", version="master")`](#fn-packagenew)
4141
* [`fn newSub(name, help)`](#fn-packagenewsub)
4242

4343
## Fields
@@ -69,7 +69,7 @@ obj(help, fields)
6969
### fn pkg
7070

7171
```ts
72-
pkg(name, url, help, filename='', version='master')
72+
pkg(name, url, help, filename="", version="master")
7373
```
7474

7575
`new` is a shorthand for `package.new`
@@ -202,7 +202,7 @@ new creates a new object of given type, optionally with description and default
202202
#### fn package.new
203203

204204
```ts
205-
new(name, url, help, filename='', version='master')
205+
new(name, url, help, filename="", version="master")
206206
```
207207

208208
`new` creates a new package

doc-util/main.libsonnet

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
{
22
local d = self,
33

4-
'#': d.pkg(
5-
name='d',
6-
url='github.com/jsonnet-libs/docsonnet/doc-util',
7-
help=|||
8-
`doc-util` provides a Jsonnet interface for `docsonnet`,
9-
a Jsonnet API doc generator that uses structured data instead of comments.
10-
|||,
11-
filename=std.thisFile,
12-
),
4+
'#':
5+
d.pkg(
6+
name='doc-util',
7+
url='github.com/jsonnet-libs/docsonnet/doc-util',
8+
help=|||
9+
`doc-util` provides a Jsonnet interface for `docsonnet`,
10+
a Jsonnet API doc generator that uses structured data instead of comments.
11+
|||,
12+
filename=std.thisFile,
13+
)
14+
+ d.package.withUsageTemplate(
15+
'local d = import "%(import)s"'
16+
),
1317

1418
package:: {
1519
'#new':: d.fn(|||

doc-util/render.libsonnet

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -194,24 +194,21 @@
194194

195195
args: std.join(', ', [
196196
if arg.default != null
197-
then arg.name + '=' + (
198-
if arg.type == 'string'
199-
then "'%s'" % arg.default
200-
else std.toString(arg.default)
201-
)
197+
then std.join('=', [
198+
arg.name,
199+
std.manifestJsonEx(arg.default, '', ''),
200+
])
202201
else arg.name
203202
for arg in self.doc.args
204203
]),
205204

206205
enums: std.join('', [
207206
if arg.enums != null
208207
then '\n\nAccepted values for `%s` are ' % arg.name
209-
+ (
210-
std.join(', ', [
211-
std.toString(item)
212-
for item in arg.enums
213-
])
214-
)
208+
+ std.join(', ', [
209+
std.manifestJsonEx(item, '', '')
210+
for item in arg.enums
211+
])
215212
else ''
216213
for arg in self.doc.args
217214
]),

0 commit comments

Comments
 (0)