This change trims 134 modules from the dependency tree, many of which
were duplicate depdencies between the 4 lodash.function modules used
and their sub-dependencies.
Before:
$ npm ls | wc -l
494
$ du -sch node_modules/lodash*
432K node_modules/lodash.assign
660K node_modules/lodash.clonedeep
96K node_modules/lodash.defaults
980K node_modules/lodash.pick
2.1M total
After:
$ npm ls | wc -l
360
$ du -sch node_modules/lodash*
964K node_modules/lodash
964K total
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.