1 | 'use strict';
|
2 |
|
3 | var _ = require('lodash');
|
4 |
|
5 | function renameCardTypes(response) {
|
6 | if (response.cardTypes && response.cardTypes.cardType) {
|
7 | _.each(response.cardTypes.cardType, function rename(cardType) {
|
8 | cardType.name = cardType._;
|
9 | delete cardType._;
|
10 | });
|
11 | }
|
12 |
|
13 | return response;
|
14 | }
|
15 |
|
16 | function nullifyNilsRecursive(parent, key) {
|
17 | var value = parent[key];
|
18 |
|
19 | if (value['xsi:nil'] === 'true') {
|
20 | parent[key] = null;
|
21 | return;
|
22 | }
|
23 |
|
24 | if (_.isArray(value) || _.isObject(value)) {
|
25 | _.forEach(value, function (v, k) {
|
26 | return nullifyNilsRecursive(value, k);
|
27 | });
|
28 | }
|
29 | }
|
30 |
|
31 | function nullifyNils(response) {
|
32 | _.forEach(response, function (v, k) {
|
33 | nullifyNilsRecursive(response, k);
|
34 | });
|
35 |
|
36 | return response;
|
37 | }
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | function removeXmlNamespaceKeys(response) {
|
45 | delete response['xmlns:xsi'];
|
46 | delete response['xmlns:xsd'];
|
47 | delete response['xsi:noNamespaceSchemaLocation'];
|
48 | return response;
|
49 | }
|
50 |
|
51 | module.exports.ensureCollections = require('./ensure-collections');
|
52 | module.exports.renameCardTypes = renameCardTypes;
|
53 | module.exports.removeXmlNamespaceKeys = removeXmlNamespaceKeys;
|
54 | module.exports.nullifyNils = nullifyNils;
|
55 | module.exports.collectionPaths = require('./collection-paths');
|