tablevu 0.3.0-beta.1 → 0.3.0-beta.2

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.
package/dist/odata.d.ts CHANGED
@@ -30,7 +30,7 @@ export interface DataTableProps {
30
30
  }
31
31
  export interface ODataOptions {
32
32
  url: string;
33
- header?: RequestInit;
33
+ headers?: Record<string, string>;
34
34
  select?: string[];
35
35
  expand?: Expand[];
36
36
  filter?: Filter;
@@ -683,18 +683,18 @@ function buildFilter(filter) {
683
683
  * Logical
684
684
  * ========================================================================== */
685
685
  function buildLogical(filter, operator) {
686
- const filters = requireFilters(filter);
686
+ const filters = filter.filters || [];
687
687
  if (filters.length === 0)
688
- throw new Error(`Operator '${filter.operator}' requires at least one filter.`);
688
+ return '';
689
689
  return filters
690
690
  .map(buildFilter)
691
691
  .map(expression => `(${expression})`)
692
692
  .join(` ${operator} `);
693
693
  }
694
694
  function buildNot(filter) {
695
- const filters = requireFilters(filter);
695
+ const filters = filter.filters || [];
696
696
  if (filters.length !== 1)
697
- throw new Error("Operator 'not' requires exactly one filter.");
697
+ return '';
698
698
  return `not (${buildFilter(filters[0])})`;
699
699
  }
700
700
  /* ==========================================================================
@@ -785,9 +785,9 @@ function buildAny(filter) {
785
785
  * ========================================================================== */
786
786
  function buildAll(filter) {
787
787
  const column = getColumn(filter);
788
- const filters = requireFilters(filter);
788
+ const filters = filter.filters || [];
789
789
  if (filters.length !== 1)
790
- throw new Error("Operator 'all' requires exactly one filter.");
790
+ return '';
791
791
  return (`${column}/all(x: ` +
792
792
  `${buildLambdaFilter(filters[0], 'x')}` +
793
793
  `)`);
@@ -904,9 +904,7 @@ function getLambdaColumn(filter, variable) {
904
904
  `${getColumn(filter)}`);
905
905
  }
906
906
  function requireFilters(filter) {
907
- if (!filter.filters)
908
- throw new Error(`Operator '${filter.operator}' requires filters.`);
909
- return filter.filters;
907
+ return filter.filters || [];
910
908
  }
911
909
  /* ==========================================================================
912
910
  * OData Request
@@ -970,7 +968,7 @@ function odata(options, props = {}) {
970
968
  * Static filter from options
971
969
  */
972
970
  if (options.filter &&
973
- (options.filter.filters ||
971
+ ((options.filter.filters && options.filter.filters.length > 0) ||
974
972
  options.filter.column ||
975
973
  options.filter.func)) {
976
974
  const expression = toODataFilter(options.filter);
@@ -981,7 +979,7 @@ function odata(options, props = {}) {
981
979
  * Runtime filter from DataTable
982
980
  */
983
981
  if (props.filter &&
984
- (props.filter.filters ||
982
+ ((props.filter.filters && props.filter.filters.length > 0) ||
985
983
  props.filter.column ||
986
984
  props.filter.func)) {
987
985
  const expression = toODataFilter(props.filter);
@@ -1052,7 +1050,8 @@ function odata(options, props = {}) {
1052
1050
  /* ---------------------------------------------------------------------- */
1053
1051
  /* Request */
1054
1052
  /* ---------------------------------------------------------------------- */
1055
- return new Request(url, options.header);
1053
+ const requestInit = options.headers ? { headers: options.headers } : undefined;
1054
+ return new Request(url, requestInit);
1056
1055
  }
1057
1056
 
1058
1057
  const param = (uri, header, props) => {
@@ -687,18 +687,18 @@
687
687
  * Logical
688
688
  * ========================================================================== */
689
689
  function buildLogical(filter, operator) {
690
- const filters = requireFilters(filter);
690
+ const filters = filter.filters || [];
691
691
  if (filters.length === 0)
692
- throw new Error(`Operator '${filter.operator}' requires at least one filter.`);
692
+ return '';
693
693
  return filters
694
694
  .map(buildFilter)
695
695
  .map(expression => `(${expression})`)
696
696
  .join(` ${operator} `);
697
697
  }
698
698
  function buildNot(filter) {
699
- const filters = requireFilters(filter);
699
+ const filters = filter.filters || [];
700
700
  if (filters.length !== 1)
701
- throw new Error("Operator 'not' requires exactly one filter.");
701
+ return '';
702
702
  return `not (${buildFilter(filters[0])})`;
703
703
  }
704
704
  /* ==========================================================================
@@ -789,9 +789,9 @@
789
789
  * ========================================================================== */
790
790
  function buildAll(filter) {
791
791
  const column = getColumn(filter);
792
- const filters = requireFilters(filter);
792
+ const filters = filter.filters || [];
793
793
  if (filters.length !== 1)
794
- throw new Error("Operator 'all' requires exactly one filter.");
794
+ return '';
795
795
  return (`${column}/all(x: ` +
796
796
  `${buildLambdaFilter(filters[0], 'x')}` +
797
797
  `)`);
@@ -908,9 +908,7 @@
908
908
  `${getColumn(filter)}`);
909
909
  }
910
910
  function requireFilters(filter) {
911
- if (!filter.filters)
912
- throw new Error(`Operator '${filter.operator}' requires filters.`);
913
- return filter.filters;
911
+ return filter.filters || [];
914
912
  }
915
913
  /* ==========================================================================
916
914
  * OData Request
@@ -974,7 +972,7 @@
974
972
  * Static filter from options
975
973
  */
976
974
  if (options.filter &&
977
- (options.filter.filters ||
975
+ ((options.filter.filters && options.filter.filters.length > 0) ||
978
976
  options.filter.column ||
979
977
  options.filter.func)) {
980
978
  const expression = toODataFilter(options.filter);
@@ -985,7 +983,7 @@
985
983
  * Runtime filter from DataTable
986
984
  */
987
985
  if (props.filter &&
988
- (props.filter.filters ||
986
+ ((props.filter.filters && props.filter.filters.length > 0) ||
989
987
  props.filter.column ||
990
988
  props.filter.func)) {
991
989
  const expression = toODataFilter(props.filter);
@@ -1056,7 +1054,8 @@
1056
1054
  /* ---------------------------------------------------------------------- */
1057
1055
  /* Request */
1058
1056
  /* ---------------------------------------------------------------------- */
1059
- return new Request(url, options.header);
1057
+ const requestInit = options.headers ? { headers: options.headers } : undefined;
1058
+ return new Request(url, requestInit);
1060
1059
  }
1061
1060
 
1062
1061
  const param = (uri, header, props) => {
@@ -133,18 +133,18 @@ function buildFilter(filter) {
133
133
  * Logical
134
134
  * ========================================================================== */
135
135
  function buildLogical(filter, operator) {
136
- const filters = requireFilters(filter);
136
+ const filters = filter.filters || [];
137
137
  if (filters.length === 0)
138
- throw new Error(`Operator '${filter.operator}' requires at least one filter.`);
138
+ return '';
139
139
  return filters
140
140
  .map(buildFilter)
141
141
  .map(expression => `(${expression})`)
142
142
  .join(` ${operator} `);
143
143
  }
144
144
  function buildNot(filter) {
145
- const filters = requireFilters(filter);
145
+ const filters = filter.filters || [];
146
146
  if (filters.length !== 1)
147
- throw new Error("Operator 'not' requires exactly one filter.");
147
+ return '';
148
148
  return `not (${buildFilter(filters[0])})`;
149
149
  }
150
150
  /* ==========================================================================
@@ -235,9 +235,9 @@ function buildAny(filter) {
235
235
  * ========================================================================== */
236
236
  function buildAll(filter) {
237
237
  const column = getColumn(filter);
238
- const filters = requireFilters(filter);
238
+ const filters = filter.filters || [];
239
239
  if (filters.length !== 1)
240
- throw new Error("Operator 'all' requires exactly one filter.");
240
+ return '';
241
241
  return (`${column}/all(x: ` +
242
242
  `${buildLambdaFilter(filters[0], 'x')}` +
243
243
  `)`);
@@ -354,9 +354,7 @@ function getLambdaColumn(filter, variable) {
354
354
  `${getColumn(filter)}`);
355
355
  }
356
356
  function requireFilters(filter) {
357
- if (!filter.filters)
358
- throw new Error(`Operator '${filter.operator}' requires filters.`);
359
- return filter.filters;
357
+ return filter.filters || [];
360
358
  }
361
359
  /* ==========================================================================
362
360
  * OData Request
@@ -420,7 +418,7 @@ function odata(options, props = {}) {
420
418
  * Static filter from options
421
419
  */
422
420
  if (options.filter &&
423
- (options.filter.filters ||
421
+ ((options.filter.filters && options.filter.filters.length > 0) ||
424
422
  options.filter.column ||
425
423
  options.filter.func)) {
426
424
  const expression = toODataFilter(options.filter);
@@ -431,7 +429,7 @@ function odata(options, props = {}) {
431
429
  * Runtime filter from DataTable
432
430
  */
433
431
  if (props.filter &&
434
- (props.filter.filters ||
432
+ ((props.filter.filters && props.filter.filters.length > 0) ||
435
433
  props.filter.column ||
436
434
  props.filter.func)) {
437
435
  const expression = toODataFilter(props.filter);
@@ -502,7 +500,8 @@ function odata(options, props = {}) {
502
500
  /* ---------------------------------------------------------------------- */
503
501
  /* Request */
504
502
  /* ---------------------------------------------------------------------- */
505
- return new Request(url, options.header);
503
+ const requestInit = options.headers ? { headers: options.headers } : undefined;
504
+ return new Request(url, requestInit);
506
505
  }
507
506
 
508
507
  export { odata as default, toODataFilter };
@@ -139,18 +139,18 @@
139
139
  * Logical
140
140
  * ========================================================================== */
141
141
  function buildLogical(filter, operator) {
142
- const filters = requireFilters(filter);
142
+ const filters = filter.filters || [];
143
143
  if (filters.length === 0)
144
- throw new Error(`Operator '${filter.operator}' requires at least one filter.`);
144
+ return '';
145
145
  return filters
146
146
  .map(buildFilter)
147
147
  .map(expression => `(${expression})`)
148
148
  .join(` ${operator} `);
149
149
  }
150
150
  function buildNot(filter) {
151
- const filters = requireFilters(filter);
151
+ const filters = filter.filters || [];
152
152
  if (filters.length !== 1)
153
- throw new Error("Operator 'not' requires exactly one filter.");
153
+ return '';
154
154
  return `not (${buildFilter(filters[0])})`;
155
155
  }
156
156
  /* ==========================================================================
@@ -241,9 +241,9 @@
241
241
  * ========================================================================== */
242
242
  function buildAll(filter) {
243
243
  const column = getColumn(filter);
244
- const filters = requireFilters(filter);
244
+ const filters = filter.filters || [];
245
245
  if (filters.length !== 1)
246
- throw new Error("Operator 'all' requires exactly one filter.");
246
+ return '';
247
247
  return (`${column}/all(x: ` +
248
248
  `${buildLambdaFilter(filters[0], 'x')}` +
249
249
  `)`);
@@ -360,9 +360,7 @@
360
360
  `${getColumn(filter)}`);
361
361
  }
362
362
  function requireFilters(filter) {
363
- if (!filter.filters)
364
- throw new Error(`Operator '${filter.operator}' requires filters.`);
365
- return filter.filters;
363
+ return filter.filters || [];
366
364
  }
367
365
  /* ==========================================================================
368
366
  * OData Request
@@ -426,7 +424,7 @@
426
424
  * Static filter from options
427
425
  */
428
426
  if (options.filter &&
429
- (options.filter.filters ||
427
+ ((options.filter.filters && options.filter.filters.length > 0) ||
430
428
  options.filter.column ||
431
429
  options.filter.func)) {
432
430
  const expression = toODataFilter(options.filter);
@@ -437,7 +435,7 @@
437
435
  * Runtime filter from DataTable
438
436
  */
439
437
  if (props.filter &&
440
- (props.filter.filters ||
438
+ ((props.filter.filters && props.filter.filters.length > 0) ||
441
439
  props.filter.column ||
442
440
  props.filter.func)) {
443
441
  const expression = toODataFilter(props.filter);
@@ -508,7 +506,8 @@
508
506
  /* ---------------------------------------------------------------------- */
509
507
  /* Request */
510
508
  /* ---------------------------------------------------------------------- */
511
- return new Request(url, options.header);
509
+ const requestInit = options.headers ? { headers: options.headers } : undefined;
510
+ return new Request(url, requestInit);
512
511
  }
513
512
 
514
513
  exports.default = odata;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tablevu",
3
- "version": "0.3.0-beta.1",
3
+ "version": "0.3.0-beta.2",
4
4
  "type": "module",
5
5
  "description": "Vue 3 data table component",
6
6
  "main": "dist/tablevu-index.umd.cjs.js",