scout

Reading and writing in JSON, Plist, YAML and XML data made simple when the data format is not known at build time. Swift library and command-line tool.

MIT License

Stars
127
Committers
3

Bot releases are visible (Hide)

scout - Github pages docC Latest Release

Published by ABridoux over 2 years ago

Added

  • Online docC documentation with Github pages

Changed

  • Bumped to minimum Swift version 5.6 [#265]

Fixed

  • docC warnings
  • Dead links in the Readme [#268]
scout - 4.0.4

Published by ABridoux about 3 years ago

Changed

  • Bumped Swift version to 5.4
  • Added list version requirements in the Readme [#251]

Fixed

  • tvOS version requirement [#263]

Linux Binary

The Linux binary will be released soon after. Meanwhile, no change was made on the command-line tool so the previous version is the same.

scout - 4.0.3

Published by ABridoux over 3 years ago

Fixed

  • Jaro-Winkler crash when comparing two strings of single characters. [#253]
  • computeIndex(from:arrayCount:) fixed empty arrays and 0 index [#254]
scout -

Published by ABridoux over 3 years ago

Changed

  • Removed useless indirect attribute on ExplorerValue enum.
  • Deprecated PathExplorer.real for PathExplorer.double.
scout - Date coding

Published by ABridoux over 3 years ago

Fixed

  • Date decoding and PathExplorer.date [#239]
  • ExplorerXML add and set features works with ExplroerXML values [#241]
scout - Global refactoring

Published by ABridoux over 3 years ago

Added

  • Conversion from CSV input to one of the available formats [#181]
  • Data and Date values support [#197]
  • Set and add features support Codable values [#199]
  • Possibility to read XML attributes
  • Better integration with Zsh arrays and associative arrays [#235]

Changed

  • PathExplorer is now implemented by ExplorerValue for Plist, JSON and YAML [#199]
  • Moved from serialisation to Codable using ExplorerValue for Plist, JSON and YAML. [#206]
  • ”Add” features will no more create values on the fly. Only when a key/index is final will it be created/inserted. The method is now to first add an empty array or dictionary. [#210]
  • Path parsing is now done with a parser rather than with regular expressions [#227]
  • Command-line: --format|-f now required to specify the input format
  • Command-line: --csv removed and --csv-sep renamed --csv-exp
  • PathExplorerXML renamed to ExplorerXML and implements Copy on Write.

Checkout What's new in Scout 4.0.0 to learn in detail about the new features.

scout - [Hotfix] Standard input fixed (again)

Published by ABridoux over 3 years ago

Fixed

  • Reading from standard input temporary fix for deprecation issue [#191]
scout - Standard input reading fixed

Published by ABridoux over 3 years ago

Fixed

  • Reading from standard input [#191]
scout - Small fixes, PathExplorer.array and dictionary

Published by ABridoux over 3 years ago

Added

  • New functions PathExplorer.array(:) and PathExplorer.dictionary(:) to get a PathExplorer value with a non-nested array and dictionary [#187]

Fixed

  • PathExplorer.description with a single value will now only return the value without the data format ceremony [#185]
  • SerializationFormat.Json.serialize(value:) will throw an error if the value is a single one (rather than crashing at runtime) [#185]

Deprecated

  • PathExplorerXML.init(value:) deprecated for init(element:path)
scout - 3.0.0

Published by ABridoux over 3 years ago

Added

  • YAML support [#132] [#142]
  • Conversion from one format to another [#133]
  • Disabled colorisation when the output is piped [#140]
  • List paths in the data [#151] [#154]
  • Array subscript with a negative index [#152]
  • Made Path implement several Collection protocols [#171]

Changed

  • The Swift version has been updated to 5.3.
  • set functions adding a value to an array with the index -1 removed. [#152]
  • Array slicing index targets a different range (shifted to the right) [#158]
  • PathExplorer requirements and default implementations changed [#163]
  • Optimized Jaro-Winkler match and removed the public access
  • The PathExplorer implementations have been moved in the PathExplorers namespace.
  • The serialisation formats have been moved in the SerializationFormats namespace.

More informations: What's new in Scout 3.0.0.
Checkout the new wiki

scout - 2.0.0

Published by ABridoux about 4 years ago

Added

  • Auto-completion for commands [#94]
  • Array slicing [#66]
  • Array and dictionaries folding at a certain level [#107]
  • Delete empty dictionaries and arrays when left empty [#109]
  • Dictionary filtering [#112]
  • CSV export [#103]
  • Commands.md new examples [#117]
  • CLT scout command help license [#117]
  • Get a dictionary keys [#121]
  • CLT read command new --output option to export the read data or the CSV export into a file.

Changed

  • In-line documentation updated [#117]
  • Color bool flag changed for an enumerable flag [#117]
  • ArgumentParser updated to 0.3.0 [#117]
  • CLT Version command changed for the --version ParsableCommand parameter [#117]

Removed

  • -v|--verbose flag removed. Breaking change. The delete, set, and add commands will output the data by default when no --output or --modify options are specified.

Linux distribution

Make sure to install Swift on Linux to be able to run the program.

scout - 2.0.0 Beta 01

Published by ABridoux about 4 years ago

Added

  • Auto-completion for commands [#94]
  • Array slicing [#66]
  • Array and dictionaries folding at a certain level [#107]
  • Delete empty dictionaries and arrays when left empty [#109]
  • Dictionary filtering [#112]
  • CSV export [#103]
  • Commands.md new examples [#117]
  • CLT scout command help license [#117]
  • Get a dictionary keys [#121]
  • CLT read command new --output option to export the read data or the CSV export into a file.

Changed

  • In-line documentation updated [#117]
  • Color bool flag changed for an enumerable flag [#117]
  • ArgumentParser updated to 0.3.0 [#117]
  • CLT Version command changed for the --version ParsableCommand parameter [#117]

Removed

  • -v|--verbose flag removed. Breaking change. The delete, set, and add commands will output the data by default when no --output or --modify options are specified.
scout - Hotfix: setting a value always as a String

Published by ABridoux about 4 years ago

Fixed

  • Setting a value was always writing a String rather than inferring the type for JSON and Plist [#96]
scout - Documentation updated

Published by ABridoux about 4 years ago

Added

  • File header [#89]

Changed

  • Documentation updated [#89]
scout - Array & Dictionary count

Published by ABridoux about 4 years ago

Added

  • Get array or dictionary count with PathElement.count after an array or a dictionary. The count is specified with [#] for the command-line tool [#76]

Changed

  • PathElement changed for an enum, with a PathElementRepresentable to initiate a Path [#79]
  • Path changed for a struct conforming to Collection and Equatable [#76]
  • Path explorer CRUD functions moved to extensions [#85]

Deprecated

  • PathExplorerFactory will be removed in 2.0.0
scout - Errors to standard error output

Published by ABridoux over 4 years ago

Changed

  • Errors now sent to the standard error output with an error code different from 0 [#74]
  • Documentation updated [#74]

Fixed

  • JSON empty string colorisation [#72]
scout - JSON escaped quote and documentation refactoring

Published by ABridoux over 4 years ago

Added

  • --no-color flag to prevent colorisation when outputting

Changed

  • Moved the documentaion in a doc command

Fixed

  • JSON escaped quotes [#68]
scout - Lux updated to 0.2.1

Published by ABridoux over 4 years ago

Changed

  • Lux updated to 0.2.1 to handle tag characters in quotes
scout - Key propositions and custom highlight colors

Published by ABridoux over 4 years ago

Added

  • Key proposition when subscript key error [#52]
  • Custom highight colors in a plist file [#51]
scout - Highlight output

Published by ABridoux over 4 years ago

Visible when outputting a dictionary or array value.