Sha256: 5188927a8cd80157d1e58e09803bb41ac3bcce2c42d0979dd8bdccb62c1878e7
Contents?: true
Size: 1023 Bytes
Versions: 4
Compression:
Stored size: 1023 Bytes
Contents
# frozen_string_literal: true require 'multi_json' module AsyncStorage module JSON module_function # Parses JSON data. # # @param data [String] JSON data # @param options [Hash] Options hash for `MultiJson.load` # @return [Object] Parsed JSON # @raise [MultiJson::ParseError] MultiJson error classes def load(data, **options) MultiJson.load(data, **options) end # Generates JSON. # # @param object [Object] Object to convert to JSON # @param options [Hash] Options hash for `MultiJson.dump` and additional options below # @return [String] Generated JSON # @raise [MultiJson::DecodeError] MultiJson error classes def dump(object, **options) object = as_json(object) MultiJson.dump(object, **options) end def as_json(value) case value when Hash value.transform_values { |val| as_json(val) } when Enumerable value.map { |val| as_json(val) } else value end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
async_storage-0.0.4 | lib/async_storage/json.rb |
async_storage-0.0.3 | lib/async_storage/json.rb |
async_storage-0.0.2 | lib/async_storage/json.rb |
async_storage-0.0.1 | lib/async_storage/json.rb |