@datocms/rest-client-utils 3.3.15 → 3.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,8 +57,27 @@ describe('buildNormalizedParams', function () {
57
57
  filter: { fields: { md5: { eq: 'foo' } } },
58
58
  })).toMatchInlineSnapshot("\n [\n [\n \"filter[fields][md5][eq]\",\n \"foo\",\n ],\n ]\n ");
59
59
  expect((0, buildNormalizedParams_1.buildNormalizedParams)({
60
- foo: { bar: ['a', 'b', 10] },
61
- })).toMatchInlineSnapshot("\n [\n [\n \"foo[bar][]\",\n \"a\",\n ],\n [\n \"foo[bar][]\",\n \"b\",\n ],\n [\n \"foo[bar][]\",\n \"10\",\n ],\n ]\n ");
60
+ filter: {
61
+ type: 'product',
62
+ fields: {
63
+ id: { anyIn: ['a', 'b', 'c'] },
64
+ },
65
+ },
66
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][id][anyIn][0]\",\n \"a\",\n ],\n [\n \"filter[fields][id][anyIn][1]\",\n \"b\",\n ],\n [\n \"filter[fields][id][anyIn][2]\",\n \"c\",\n ],\n ]\n ");
67
+ expect((0, buildNormalizedParams_1.buildNormalizedParams)({
68
+ filter: {
69
+ type: 'product',
70
+ fields: {
71
+ OR: [
72
+ {
73
+ name: { matches: { pattern: 'sistrall' } },
74
+ id: { eq: '123456' },
75
+ },
76
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
77
+ ],
78
+ },
79
+ },
80
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][OR][0][name][matches][pattern]\",\n \"sistrall\",\n ],\n [\n \"filter[fields][OR][0][id][eq]\",\n \"123456\",\n ],\n [\n \"filter[fields][OR][1][productNumber][matches][pattern]\",\n \"AmOYpJwZ3h\",\n ],\n ]\n ");
62
81
  return [2 /*return*/];
63
82
  });
64
83
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiE;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE;aAC7B,CAAC,CACH,CAAC,qBAAqB,CAAC,uOAevB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAiE;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,IAAA,6CAAqB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;qBAC/B;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,wWAmBvB,CAAC,CAAC;YAEH,MAAM,CACJ,IAAA,6CAAqB,EAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE;4BACF;gCACE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gCAC1C,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;6BACrB;4BACD,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;yBAC1D;qBACF;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,yaAmBvB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -40,25 +40,12 @@ function buildNormalizedParams(value, path) {
40
40
  typeof value === 'boolean') {
41
41
  result.push([buildKey(path), serializeValue(value)]);
42
42
  }
43
- else if (typeof value === 'object') {
44
- if (Array.isArray(value)) {
45
- for (var _i = 0, _a = value; _i < _a.length; _i++) {
46
- var innerValue = _a[_i];
47
- for (var _b = 0, _c = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [
48
- ARRAY_INDEX,
49
- ], false)); _b < _c.length; _b++) {
50
- var param = _c[_b];
51
- result.push(param);
52
- }
53
- }
54
- }
55
- else if (value) {
56
- for (var _d = 0, _e = Object.entries(value); _d < _e.length; _d++) {
57
- var _f = _e[_d], key = _f[0], innerValue = _f[1];
58
- for (var _g = 0, _h = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _g < _h.length; _g++) {
59
- var param = _h[_g];
60
- result.push(param);
61
- }
43
+ else if (typeof value === 'object' && value) {
44
+ for (var _i = 0, _a = Object.entries(value); _i < _a.length; _i++) {
45
+ var _b = _a[_i], key = _b[0], innerValue = _b[1];
46
+ for (var _c = 0, _d = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _c < _d.length; _c++) {
47
+ var param = _d[_c];
48
+ result.push(param);
62
49
  }
63
50
  }
64
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAyB,UAAkB,EAAlB,KAAA,KAAkB,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;gBAAxC,IAAM,UAAU,SAAA;gBACnB,KAAoB,UAGlB,EAHkB,KAAA,qBAAqB,CAAC,UAAU,kCAC/C,IAAI;oBACP,WAAW;0BACX,EAHkB,cAGlB,EAHkB,IAGlB,EAAE;oBAHC,IAAM,KAAK,SAAA;oBAId,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;aAAM,IAAI,KAAK,EAAE;YAChB,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;oBAAlE,IAAM,KAAK,SAAA;oBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,sDAgCC"}
1
+ {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;QAC7C,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;YACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;gBAAlE,IAAM,KAAK,SAAA;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,sDAqBC"}
@@ -55,8 +55,27 @@ describe('buildNormalizedParams', function () {
55
55
  filter: { fields: { md5: { eq: 'foo' } } },
56
56
  })).toMatchInlineSnapshot("\n [\n [\n \"filter[fields][md5][eq]\",\n \"foo\",\n ],\n ]\n ");
57
57
  expect(buildNormalizedParams({
58
- foo: { bar: ['a', 'b', 10] },
59
- })).toMatchInlineSnapshot("\n [\n [\n \"foo[bar][]\",\n \"a\",\n ],\n [\n \"foo[bar][]\",\n \"b\",\n ],\n [\n \"foo[bar][]\",\n \"10\",\n ],\n ]\n ");
58
+ filter: {
59
+ type: 'product',
60
+ fields: {
61
+ id: { anyIn: ['a', 'b', 'c'] },
62
+ },
63
+ },
64
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][id][anyIn][0]\",\n \"a\",\n ],\n [\n \"filter[fields][id][anyIn][1]\",\n \"b\",\n ],\n [\n \"filter[fields][id][anyIn][2]\",\n \"c\",\n ],\n ]\n ");
65
+ expect(buildNormalizedParams({
66
+ filter: {
67
+ type: 'product',
68
+ fields: {
69
+ OR: [
70
+ {
71
+ name: { matches: { pattern: 'sistrall' } },
72
+ id: { eq: '123456' },
73
+ },
74
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
75
+ ],
76
+ },
77
+ },
78
+ })).toMatchInlineSnapshot("\n [\n [\n \"filter[type]\",\n \"product\",\n ],\n [\n \"filter[fields][OR][0][name][matches][pattern]\",\n \"sistrall\",\n ],\n [\n \"filter[fields][OR][0][id][eq]\",\n \"123456\",\n ],\n [\n \"filter[fields][OR][1][productNumber][matches][pattern]\",\n \"AmOYpJwZ3h\",\n ],\n ]\n ");
60
79
  return [2 /*return*/];
61
80
  });
62
81
  }); });
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE;aAC7B,CAAC,CACH,CAAC,qBAAqB,CAAC,uOAevB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.test.js","sourceRoot":"","sources":["../../../src/__tests__/buildNormalizedParams.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE;;YAC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,uFAO/D,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,0FAOlE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,2FAOnE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,sFAOhE,CAAC,CAAC;YACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACrE,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,8FAOnE,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,sKAWvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC3C,CAAC,CACH,CAAC,qBAAqB,CAAC,6GAOvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;qBAC/B;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,wWAmBvB,CAAC,CAAC;YAEH,MAAM,CACJ,qBAAqB,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,EAAE,EAAE;4BACF;gCACE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gCAC1C,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;6BACrB;4BACD,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;yBAC1D;qBACF;iBACF;aACF,CAAC,CACH,CAAC,qBAAqB,CAAC,yaAmBvB,CAAC,CAAC;;;SACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -37,25 +37,12 @@ export function buildNormalizedParams(value, path) {
37
37
  typeof value === 'boolean') {
38
38
  result.push([buildKey(path), serializeValue(value)]);
39
39
  }
40
- else if (typeof value === 'object') {
41
- if (Array.isArray(value)) {
42
- for (var _i = 0, _a = value; _i < _a.length; _i++) {
43
- var innerValue = _a[_i];
44
- for (var _b = 0, _c = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [
45
- ARRAY_INDEX,
46
- ], false)); _b < _c.length; _b++) {
47
- var param = _c[_b];
48
- result.push(param);
49
- }
50
- }
51
- }
52
- else if (value) {
53
- for (var _d = 0, _e = Object.entries(value); _d < _e.length; _d++) {
54
- var _f = _e[_d], key = _f[0], innerValue = _f[1];
55
- for (var _g = 0, _h = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _g < _h.length; _g++) {
56
- var param = _h[_g];
57
- result.push(param);
58
- }
40
+ else if (typeof value === 'object' && value) {
41
+ for (var _i = 0, _a = Object.entries(value); _i < _a.length; _i++) {
42
+ var _b = _a[_i], key = _b[0], innerValue = _b[1];
43
+ for (var _c = 0, _d = buildNormalizedParams(innerValue, __spreadArray(__spreadArray([], path, true), [key], false)); _c < _d.length; _c++) {
44
+ var param = _d[_c];
45
+ result.push(param);
59
46
  }
60
47
  }
61
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAyB,UAAkB,EAAlB,KAAA,KAAkB,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;gBAAxC,IAAM,UAAU,SAAA;gBACnB,KAAoB,UAGlB,EAHkB,KAAA,qBAAqB,CAAC,UAAU,kCAC/C,IAAI;oBACP,WAAW;0BACX,EAHkB,cAGlB,EAHkB,IAGlB,EAAE;oBAHC,IAAM,KAAK,SAAA;oBAId,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;aAAM,IAAI,KAAK,EAAE;YAChB,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;gBAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;oBAAlE,IAAM,KAAK,SAAA;oBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpB;aACF;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"buildNormalizedParams.js","sourceRoot":"","sources":["../../src/buildNormalizedParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,IAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAI,CAAC,MAAM,CAChB,UAAC,MAAM,EAAE,KAAK,EAAE,KAAK;QACnB,OAAA,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,KAAK,WAAW;gBACrB,CAAC,CAAC,UAAG,MAAM,OAAI;gBACf,CAAC,CAAC,UAAG,MAAM,cAAI,KAAK,MAAG;IAJ3B,CAI2B,EAC7B,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,kDAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,IAAmB;IAAnB,qBAAA,EAAA,SAAmB;IAEnB,IAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtD;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;QAC7C,KAAgC,UAAqB,EAArB,KAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAA5C,IAAA,WAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;YACzB,KAAoB,UAAiD,EAAjD,KAAA,qBAAqB,CAAC,UAAU,kCAAM,IAAI,UAAE,GAAG,UAAE,EAAjD,cAAiD,EAAjD,IAAiD,EAAE;gBAAlE,IAAM,KAAK,SAAA;gBACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datocms/rest-client-utils",
3
- "version": "3.3.15",
3
+ "version": "3.3.21",
4
4
  "description": "Utilities for DatoCMS REST API clients",
5
5
  "keywords": [
6
6
  "datocms",
@@ -38,7 +38,7 @@
38
38
  "dependencies": {
39
39
  "async-scheduler": "^1.4.4"
40
40
  },
41
- "gitHead": "eb1ec37186876ac65ca0b21a23be00513b42b087",
41
+ "gitHead": "713848cc43e9c00294f580f0c80667f992f129e5",
42
42
  "devDependencies": {
43
43
  "@types/qs": "^6.9.7"
44
44
  }
@@ -83,21 +83,66 @@ describe('buildNormalizedParams', () => {
83
83
 
84
84
  expect(
85
85
  buildNormalizedParams({
86
- foo: { bar: ['a', 'b', 10] },
86
+ filter: {
87
+ type: 'product',
88
+ fields: {
89
+ id: { anyIn: ['a', 'b', 'c'] },
90
+ },
91
+ },
87
92
  }),
88
93
  ).toMatchInlineSnapshot(`
89
94
  [
90
95
  [
91
- "foo[bar][]",
96
+ "filter[type]",
97
+ "product",
98
+ ],
99
+ [
100
+ "filter[fields][id][anyIn][0]",
92
101
  "a",
93
102
  ],
94
103
  [
95
- "foo[bar][]",
104
+ "filter[fields][id][anyIn][1]",
96
105
  "b",
97
106
  ],
98
107
  [
99
- "foo[bar][]",
100
- "10",
108
+ "filter[fields][id][anyIn][2]",
109
+ "c",
110
+ ],
111
+ ]
112
+ `);
113
+
114
+ expect(
115
+ buildNormalizedParams({
116
+ filter: {
117
+ type: 'product',
118
+ fields: {
119
+ OR: [
120
+ {
121
+ name: { matches: { pattern: 'sistrall' } },
122
+ id: { eq: '123456' },
123
+ },
124
+ { productNumber: { matches: { pattern: 'AmOYpJwZ3h' } } },
125
+ ],
126
+ },
127
+ },
128
+ }),
129
+ ).toMatchInlineSnapshot(`
130
+ [
131
+ [
132
+ "filter[type]",
133
+ "product",
134
+ ],
135
+ [
136
+ "filter[fields][OR][0][name][matches][pattern]",
137
+ "sistrall",
138
+ ],
139
+ [
140
+ "filter[fields][OR][0][id][eq]",
141
+ "123456",
142
+ ],
143
+ [
144
+ "filter[fields][OR][1][productNumber][matches][pattern]",
145
+ "AmOYpJwZ3h",
101
146
  ],
102
147
  ]
103
148
  `);
@@ -40,21 +40,10 @@ export function buildNormalizedParams(
40
40
  typeof value === 'boolean'
41
41
  ) {
42
42
  result.push([buildKey(path), serializeValue(value)]);
43
- } else if (typeof value === 'object') {
44
- if (Array.isArray(value)) {
45
- for (const innerValue of value as unknown[]) {
46
- for (const param of buildNormalizedParams(innerValue, [
47
- ...path,
48
- ARRAY_INDEX,
49
- ])) {
50
- result.push(param);
51
- }
52
- }
53
- } else if (value) {
54
- for (const [key, innerValue] of Object.entries(value)) {
55
- for (const param of buildNormalizedParams(innerValue, [...path, key])) {
56
- result.push(param);
57
- }
43
+ } else if (typeof value === 'object' && value) {
44
+ for (const [key, innerValue] of Object.entries(value)) {
45
+ for (const param of buildNormalizedParams(innerValue, [...path, key])) {
46
+ result.push(param);
58
47
  }
59
48
  }
60
49
  }