Accepts/returns arguments allow anonymous object types, e.g.
{ 'arg': 'kvp', type: { 'name': 'string', 'value': 'string' } }
As of this commit, these types are converted to Swagger type 'object'.
Refactor the way how loopback types are converted to swagger data types.
- `modelHelper.LDLPropToSwaggerDataType` is responsible for
producing a valid Swagger Data Type object from LDL object
(be it a property, accepts item or returns item).
- LDLPropToSwaggerDataType picks only fields that are part
of the swagger spec, everything else is excluded from the result.
It's up to the caller to add extra fields like `description`.
- refactor `routeHelper.extendWithType` to accept an additional arg:
the original LDL object. This way it's possible to copy all
type-specific fields to the output object and don't add anything
else.
- Supports all three LDL array type specifications.
- Added model-helper tests.
- translate-keys no longer modifies the incoming object.
- Non-primitive types are now correctly converted into a primitive
with a `format` attribute.
- `id` properties are not assumed to be required if they are generated.