|
1 | 1 | # frozen_string_literal: true
|
2 | 2 |
|
3 |
| -require 'json' |
4 |
| - |
5 |
| -# @summary |
6 |
| -# Convert data structure and output to pretty JSON |
7 |
| -# |
8 |
| -# @example **Usage** |
9 |
| -# * how to output pretty JSON to file |
10 |
| -# file { '/tmp/my.json': |
11 |
| -# ensure => file, |
12 |
| -# content => to_json_pretty($myhash), |
13 |
| -# } |
14 |
| -# |
15 |
| -# * how to output pretty JSON skipping over keys with undef values |
16 |
| -# file { '/tmp/my.json': |
17 |
| -# ensure => file, |
18 |
| -# content => to_json_pretty({ |
19 |
| -# param_one => 'value', |
20 |
| -# param_two => undef, |
21 |
| -# }, true), |
22 |
| -# } |
23 |
| -# |
24 |
| -# * how to output pretty JSON using tabs for indentation |
25 |
| -# file { '/tmp/my.json': |
26 |
| -# ensure => file, |
27 |
| -# content => to_json_pretty({ |
28 |
| -# param_one => 'value', |
29 |
| -# param_two => { |
30 |
| -# param_more => 42, |
31 |
| -# }, |
32 |
| -# }, nil, {indent => ' '}), |
33 |
| -# } |
| 3 | +# THIS FILE WAS GENERATED BY `rake regenerate_unamespaced_shims` |
34 | 4 |
|
| 5 | +# @summary DEPRECATED. Use the namespaced function [`stdlib::to_json_pretty`](#stdlibto_json_pretty) instead. |
35 | 6 | Puppet::Functions.create_function(:to_json_pretty) do
|
36 |
| - # @param data |
37 |
| - # data structure which needs to be converted to pretty json |
38 |
| - # @param skip_undef |
39 |
| - # value `true` or `false` |
40 |
| - # @param opts |
41 |
| - # hash-map of settings passed to JSON.pretty_generate, see |
42 |
| - # https://ruby-doc.org/stdlib-2.0.0/libdoc/json/rdoc/JSON.html#method-i-generate. |
43 |
| - # Note that `max_nesting` doesn't take the value `false`; use `-1` instead. |
44 |
| - # @return |
45 |
| - # converted data to pretty json |
46 |
| - dispatch :to_json_pretty do |
47 |
| - param 'Variant[Hash, Array]', :data |
48 |
| - optional_param 'Optional[Boolean]', :skip_undef |
49 |
| - optional_param 'Struct[{ |
50 |
| -indent => Optional[String], |
51 |
| -space => Optional[String], |
52 |
| -space_before => Optional[String], |
53 |
| -object_nl => Optional[String], |
54 |
| -array_nl => Optional[String], |
55 |
| -allow_nan => Optional[Boolean], |
56 |
| -max_nesting => Optional[Integer[-1,default]], |
57 |
| -}]', :opts |
| 7 | + dispatch :deprecation_gen do |
| 8 | + repeated_param 'Any', :args |
58 | 9 | end
|
59 |
| - |
60 |
| - def to_json_pretty(data, skip_undef = false, opts = nil) |
61 |
| - # It's not possible to make an abstract type that can be either a boolean |
62 |
| - # false or an integer, so we use -1 as the falsey value |
63 |
| - if opts |
64 |
| - opts = opts.transform_keys(&:to_sym) |
65 |
| - |
66 |
| - opts[:max_nesting] = false if opts[:max_nesting] == -1 |
67 |
| - end |
68 |
| - |
69 |
| - data = data.compact if skip_undef && (data.is_a?(Array) || Hash) |
70 |
| - # Call ::JSON to ensure it references the JSON library from Ruby's standard library |
71 |
| - # instead of a random JSON namespace that might be in scope due to user code. |
72 |
| - JSON.pretty_generate(data, opts) << "\n" |
| 10 | + def deprecation_gen(*args) |
| 11 | + call_function('deprecation', 'to_json_pretty', 'This function is deprecated, please use stdlib::to_json_pretty instead.') |
| 12 | + call_function('stdlib::to_json_pretty', *args) |
73 | 13 | end
|
74 | 14 | end
|
0 commit comments