Assets 2

This is a source breaking change for clarity.
Common operations on subitems of ARRAYs and OBJECTs are now called Child operations.
Thus there are three different types of operations, best illustrated by the remove operation:
ARRAY: remove:at
OBJECT: removeItems:forName
Common: removeChild, removeChildren:equalTo
I.e. the name now clarifies just how the operation should be regarded. Child operations are hierarchy operations that are (in theory) independent of the containers the subitems are in.

Als the operation index:ofChildrenEqualTo has been removed as it is too high level for a basic API. The source code (in Array.swift) is still present to aid clients in implementing this client side.

@Balancingrock Balancingrock released this Oct 9, 2018 · 2 commits to master since this release

Assets 2

The ability to parse and codify top level items (including non-objects) has been expanded to include named items. Some related bugs were fixed.

Most notably this means that the parse functions now return an optional! This will break existing code. However fixing this should be easy.

Changes/Updates:

  • Added name to top level item (if the top level item has a name)
  • Fixed error when reading top level string value
  • Added reading of named top level values
  • Added return of nil when parsing empty data or only whitespace data
  • Updated several documentation texts

@Balancingrock Balancingrock released this Oct 8, 2018 · 3 commits to master since this release

Assets 2

Fixed the error message when parsing illegal null value's.

Jul 12, 2018
Fixed undo error for name changes on a child

@Balancingrock Balancingrock released this Jul 4, 2018 · 5 commits to master since this release

Assets 2

The previous bug -once fixed- unearthed another -even bigger- bug.
Its fixed now, but it will have effectively made releases 0.13.0 and 0.13.1 unusable.
So please make sure to upgrade to the latest. (0.13.2)

@Balancingrock Balancingrock released this Jul 4, 2018 · 6 commits to master since this release

Assets 2

Fixed a bug that was introduced in the previous version when parsing a name with an escape sequence.

@Balancingrock Balancingrock released this Jul 3, 2018 · 7 commits to master since this release

Assets 2

In the previous releases escape sequence support was mostly missing. This release adds full support for escape sequences. Names and String values can now contain escape sequences and these will be mapped to their proper characters when reading names and string values. When writing name and string values the necessary characters will be converted into escape sequences.

As a result it may be necessary to update code that uses the operations 'nameValue' and 'stringValue' if that code managed the translation from/to escape sequences on the API user side.

In addition the following changes were made since release 0.12.0:

  • Added support function 'uniqueName'
  • Made 'insert:child:at' available for OBJECTs as well.
  • Added 'setValueFromAny' to support GUI updates to tables and outline views.
  • Made the function 'location' public.

Escape sequences in detail:

  • Added 'nameValueRaw' to access the single byte UTF8 name
  • Added 'nameValuePrintable' to access a name in which escape sequences are replaced by printable characters.
  • Added 'stringValueRaw' to access the single byte UTF8 string value
  • Added 'stringValuePrintable' to access a name in which escape sequences are replaced by printable characters.
  • Added 'stringToJsonString' and 'jsonStringToString' as extension operations to the Swift String type.
  • Added 'JsonStringSequenceLUT' to control the mapping of string sequences to characters (and vice versa)
Jun 24, 2018
Added location paremeter to error info
Jun 24, 2018
Fixed bug on asString assignment for Bool
Jun 23, 2018
Made index functions public instead of internal