@magda/typescript-common 2.0.0-alpha.0 → 2.0.0-alpha.3

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.
Files changed (88) hide show
  1. package/dist/BaseApiClient.d.ts +41 -0
  2. package/dist/BaseApiClient.js +63 -0
  3. package/dist/BaseApiClient.js.map +1 -0
  4. package/dist/IndexerApiClient.d.ts +16 -0
  5. package/dist/IndexerApiClient.js +39 -0
  6. package/dist/IndexerApiClient.js.map +1 -0
  7. package/dist/JsonTransformer.js +1 -2
  8. package/dist/JsonTransformer.js.map +1 -1
  9. package/dist/OpaCompileResponseParser.d.ts +115 -4
  10. package/dist/OpaCompileResponseParser.js +233 -19
  11. package/dist/OpaCompileResponseParser.js.map +1 -1
  12. package/dist/SQLUtils.d.ts +2 -2
  13. package/dist/SQLUtils.js +1 -1
  14. package/dist/SQLUtils.js.map +1 -1
  15. package/dist/Try.d.ts +17 -0
  16. package/dist/Try.js +68 -0
  17. package/dist/Try.js.map +1 -0
  18. package/dist/authorization-api/ApiClient.d.ts +9 -13
  19. package/dist/authorization-api/ApiClient.js +88 -31
  20. package/dist/authorization-api/ApiClient.js.map +1 -1
  21. package/dist/authorization-api/authMiddleware.d.ts +7 -7
  22. package/dist/authorization-api/authMiddleware.js +54 -52
  23. package/dist/authorization-api/authMiddleware.js.map +1 -1
  24. package/dist/authorization-api/constants.d.ts +1 -0
  25. package/dist/authorization-api/constants.js +2 -1
  26. package/dist/authorization-api/constants.js.map +1 -1
  27. package/dist/authorization-api/model.d.ts +61 -23
  28. package/dist/createNoCacheFetchOptions.d.ts +15 -0
  29. package/dist/createNoCacheFetchOptions.js +20 -0
  30. package/dist/createNoCacheFetchOptions.js.map +1 -0
  31. package/dist/fetchRequest.d.ts +11 -0
  32. package/dist/fetchRequest.js +62 -0
  33. package/dist/fetchRequest.js.map +1 -0
  34. package/dist/generated/registry/api.d.ts +12 -5
  35. package/dist/generated/registry/api.js +57 -0
  36. package/dist/generated/registry/api.js.map +1 -1
  37. package/dist/getAbsoluteUrl.d.ts +7 -7
  38. package/dist/getAbsoluteUrl.js +22 -19
  39. package/dist/getAbsoluteUrl.js.map +1 -1
  40. package/dist/getRequest.d.ts +1 -0
  41. package/dist/getRequest.js +28 -0
  42. package/dist/getRequest.js.map +1 -0
  43. package/dist/getRequestNoCache.d.ts +1 -0
  44. package/dist/getRequestNoCache.js +23 -0
  45. package/dist/getRequestNoCache.js.map +1 -0
  46. package/dist/getStorageUrl.d.ts +34 -0
  47. package/dist/getStorageUrl.js +138 -0
  48. package/dist/getStorageUrl.js.map +1 -0
  49. package/dist/handleServerError.d.ts +2 -0
  50. package/dist/handleServerError.js +17 -0
  51. package/dist/handleServerError.js.map +1 -0
  52. package/dist/opa/AspectQuery.js +3 -0
  53. package/dist/opa/AspectQuery.js.map +1 -1
  54. package/dist/opa/AuthDecision.js +1 -1
  55. package/dist/opa/AuthDecision.js.map +1 -1
  56. package/dist/opa/AuthDecisionQueryClient.js +8 -5
  57. package/dist/opa/AuthDecisionQueryClient.js.map +1 -1
  58. package/dist/registry/AuthorizedRegistryClient.d.ts +7 -11
  59. package/dist/registry/AuthorizedRegistryClient.js +56 -21
  60. package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
  61. package/dist/registry/RegistryClient.d.ts +5 -7
  62. package/dist/registry/RegistryClient.js +34 -15
  63. package/dist/registry/RegistryClient.js.map +1 -1
  64. package/dist/registry/model.d.ts +5 -0
  65. package/dist/registry/model.js +3 -0
  66. package/dist/registry/model.js.map +1 -0
  67. package/dist/test/arbitraries.js +2 -4
  68. package/dist/test/arbitraries.js.map +1 -1
  69. package/dist/test/buildApiClient.spec.js +2 -41
  70. package/dist/test/buildApiClient.spec.js.map +1 -1
  71. package/dist/test/db/getTestDBConfig.js +1 -1
  72. package/dist/test/db/getTestDBConfig.js.map +1 -1
  73. package/dist/test/getStorageUrl.spec.d.ts +1 -0
  74. package/dist/test/getStorageUrl.spec.js +95 -0
  75. package/dist/test/getStorageUrl.spec.js.map +1 -0
  76. package/dist/test/mockAuthApiHost.js +2 -26
  77. package/dist/test/mockAuthApiHost.js.map +1 -1
  78. package/dist/test/mockAuthorization.js +2 -2
  79. package/dist/test/mockAuthorization.js.map +1 -1
  80. package/dist/test/registry/buildAuthorizedClient.spec.js +9 -7
  81. package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -1
  82. package/dist/test/sampleAuthDecisions/datasetPermissionWithOrgUnitConstraint.json +2 -2
  83. package/dist/test/sampleAuthDecisions/extraLargeResponse.json +2519 -0
  84. package/dist/test/sampleOpaResponses/datasetPermissionWithOrgUnitConstraint.json +2 -2
  85. package/dist/test/sampleOpaResponses/extraLargeResponse.json +104869 -0
  86. package/dist/test/testOpaCompileResponseParser.spec.js +19 -2
  87. package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -1
  88. package/package.json +10 -11
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
@@ -19,6 +30,18 @@ const lodash_1 = __importDefault(require("lodash"));
19
30
  */
20
31
  class RegoRule {
21
32
  constructor(options) {
33
+ var _a;
34
+ /**
35
+ * Whether the rule contains any expressions that has any resolvable references.
36
+ * reference start with `input.` should be considered as non-resolvable in context of partial evaluation.
37
+ * When this field is set to `true`, we should not attempt to evaluate this expression.
38
+ * i.e. evaluate() method should return immediately.
39
+ * This will speed up evaluation process.
40
+ *
41
+ * @type {boolean}
42
+ * @memberof RegoRule
43
+ */
44
+ this.hasNoResolvableRef = false;
22
45
  this.isCompleteEvaluated = false;
23
46
  this.name = lodash_1.default.isString(options.name) ? options.name : "";
24
47
  this.fullName = lodash_1.default.isString(options.fullName) ? options.fullName : "";
@@ -42,8 +65,69 @@ class RegoRule {
42
65
  if (!(this.parser instanceof OpaCompileResponseParser)) {
43
66
  throw new Error("Require parser parameter to create a RegoRule");
44
67
  }
68
+ this.removeDuplicateExpressions();
69
+ if (((_a = this.expressions) === null || _a === void 0 ? void 0 : _a.length) &&
70
+ this.expressions.findIndex((exp) => !exp.hasNoResolvableRef) === -1) {
71
+ this.hasNoResolvableRef = true;
72
+ }
45
73
  this.evaluate();
46
74
  }
75
+ /**
76
+ * OPA PE result might contain duplicate expressions.
77
+ * https://github.com/open-policy-agent/opa/issues/4516
78
+ * This method will remove those duplication by simply string comparison.
79
+ *
80
+ * @return {*}
81
+ * @memberof RegoRule
82
+ */
83
+ removeDuplicateExpressions() {
84
+ var _a;
85
+ if (!((_a = this === null || this === void 0 ? void 0 : this.expressions) === null || _a === void 0 ? void 0 : _a.length)) {
86
+ return;
87
+ }
88
+ const expSet = new Set();
89
+ this.expressions = this.expressions.filter((exp) => {
90
+ const orgSetLength = expSet.size;
91
+ // exp.toJSON() is faster than exp.toConciseJSON()
92
+ expSet.add(exp.toJSON(0, true));
93
+ return expSet.size > orgSetLength;
94
+ });
95
+ }
96
+ /**
97
+ * Test whether the rule is an "impossible" rule.
98
+ * If so, the rule should be simply discarded.
99
+ * See: https://github.com/open-policy-agent/opa/issues/4516
100
+ *
101
+ * @return {*} {boolean}
102
+ * @memberof RegoRule
103
+ */
104
+ isImpossible() {
105
+ var _a;
106
+ if (!((_a = this === null || this === void 0 ? void 0 : this.expressions) === null || _a === void 0 ? void 0 : _a.length)) {
107
+ return false;
108
+ }
109
+ const nonNegatedExpSet = new Set();
110
+ const negatedExps = this.expressions.filter((exp) => {
111
+ if (exp.isNegated) {
112
+ return true;
113
+ }
114
+ else {
115
+ // add non negated exp content to set
116
+ // exp.toJSON() is faster than exp.toConciseJSON()
117
+ nonNegatedExpSet.add(exp.toJSON(0, true));
118
+ return false;
119
+ }
120
+ });
121
+ if (!negatedExps.length) {
122
+ return false;
123
+ }
124
+ for (const exp of negatedExps) {
125
+ if (nonNegatedExpSet.has(exp.toJSON(0, true, true))) {
126
+ return true;
127
+ }
128
+ }
129
+ return false;
130
+ }
47
131
  clone(options = {}) {
48
132
  const regoRule = new RegoRule(Object.assign({ name: this.name, fullName: this.fullName, isDefault: this.isDefault, value: this.value, isCompleteEvaluated: this.isCompleteEvaluated, expressions: this.expressions.map((e) => e.clone()), parser: this.parser }, options));
49
133
  regoRule.isMatched = this.isMatched;
@@ -58,6 +142,9 @@ class RegoRule {
58
142
  */
59
143
  evaluate() {
60
144
  var _a;
145
+ if (this.hasNoResolvableRef) {
146
+ return this;
147
+ }
61
148
  if (this.isCompleteEvaluated) {
62
149
  return this;
63
150
  }
@@ -223,9 +310,23 @@ exports.RegoOperators = {
223
310
  */
224
311
  class RegoTerm {
225
312
  constructor(type, value, parser) {
313
+ /**
314
+ * Whether the expression contains any resolvable references.
315
+ * reference start with `input.` should be considered as non-resolvable in context of partial evaluation.
316
+ * When this field is set to `true`, we should not attempt to evaluate this expression.
317
+ * i.e. evaluate() method should return immediately.
318
+ * This will speed up evaluation process.
319
+ *
320
+ * @type {boolean}
321
+ * @memberof RegoTerm
322
+ */
323
+ this.hasNoResolvableRef = false;
226
324
  this.type = type;
227
325
  this.value = value;
228
326
  this.parser = parser;
327
+ if (this.value instanceof RegoRef && this.value.hasNoResolvableRef) {
328
+ this.hasNoResolvableRef = true;
329
+ }
229
330
  }
230
331
  clone() {
231
332
  return new RegoTerm(this.type, this.value, this.parser);
@@ -240,7 +341,7 @@ class RegoTerm {
240
341
  if (this.value instanceof RegoRef)
241
342
  return this.value.fullRefString();
242
343
  else
243
- return this.value;
344
+ return JSON.stringify(this.value);
244
345
  }
245
346
  /**
246
347
  * If it's a reference term. A operator is an Reference term as well
@@ -376,6 +477,9 @@ class RegoTerm {
376
477
  * @memberof RegoTerm
377
478
  */
378
479
  getValue() {
480
+ if (this.hasNoResolvableRef) {
481
+ return undefined;
482
+ }
379
483
  if (!this.isRef()) {
380
484
  return this.value;
381
485
  }
@@ -399,6 +503,9 @@ class RegoTerm {
399
503
  * @memberof RegoTerm
400
504
  */
401
505
  isValueResolvable() {
506
+ if (this.hasNoResolvableRef) {
507
+ return false;
508
+ }
402
509
  if (!this.isRef()) {
403
510
  return true;
404
511
  }
@@ -461,6 +568,18 @@ exports.RegoTerm = RegoTerm;
461
568
  */
462
569
  class RegoExp {
463
570
  constructor(terms, isNegated = false, isCompleteEvaluated = false, value = null, parser) {
571
+ var _a;
572
+ /**
573
+ * Whether the expression contains any resolvable references.
574
+ * reference start with `input.` should be considered as non-resolvable in context of partial evaluation.
575
+ * When this field is set to `true`, we should not attempt to evaluate this expression.
576
+ * i.e. evaluate() method should return immediately.
577
+ * This will speed up evaluation process.
578
+ *
579
+ * @type {boolean}
580
+ * @memberof RegoExp
581
+ */
582
+ this.hasNoResolvableRef = false;
464
583
  /**
465
584
  * If it's complete evaluated
466
585
  *
@@ -480,6 +599,10 @@ class RegoExp {
480
599
  this.isCompleteEvaluated = isCompleteEvaluated;
481
600
  this.value = value;
482
601
  this.parser = parser;
602
+ if (((_a = this === null || this === void 0 ? void 0 : this.terms) === null || _a === void 0 ? void 0 : _a.length) &&
603
+ this.terms.findIndex((item) => !item.hasNoResolvableRef) === -1) {
604
+ this.hasNoResolvableRef = true;
605
+ }
483
606
  }
484
607
  clone() {
485
608
  const regoExp = new RegoExp(this.terms.map((t) => t.clone()), this.isNegated, this.isCompleteEvaluated, this.value, this.parser);
@@ -492,7 +615,22 @@ class RegoExp {
492
615
  * @memberof RegoExp
493
616
  */
494
617
  termsAsString() {
495
- return this.terms.map((t) => t.asString());
618
+ return this.terms.map((t) => t.asString()).join(" ");
619
+ }
620
+ /**
621
+ * Print concise format expression string presentation.
622
+ * Can be used for debugging
623
+ *
624
+ * @return {*}
625
+ * @memberof RegoExp
626
+ */
627
+ asString() {
628
+ if (this.isNegated) {
629
+ return "NOT " + this.termsAsString();
630
+ }
631
+ else {
632
+ return this.termsAsString();
633
+ }
496
634
  }
497
635
  /**
498
636
  * Output human readable string
@@ -631,6 +769,9 @@ class RegoExp {
631
769
  * @memberof RegoExp
632
770
  */
633
771
  evaluate() {
772
+ if (this.hasNoResolvableRef) {
773
+ return this;
774
+ }
634
775
  if (this.isCompleteEvaluated) {
635
776
  return this;
636
777
  }
@@ -696,24 +837,39 @@ class RegoExp {
696
837
  throw new Error(`Invalid ${this.terms.length} terms rego expression: ${this.termsAsString()}`);
697
838
  }
698
839
  }
699
- toData(index = 0) {
840
+ toData(index = 0, ignoreIndex = false, ignoreNegated = false) {
700
841
  const terms = this.terms.map((term) => term.toData());
701
- if (this.isNegated) {
702
- return {
703
- negated: true,
704
- index,
705
- terms
706
- };
842
+ if (this.isNegated && !ignoreNegated) {
843
+ if (ignoreIndex) {
844
+ return {
845
+ negated: true,
846
+ terms
847
+ };
848
+ }
849
+ else {
850
+ return {
851
+ negated: true,
852
+ index,
853
+ terms
854
+ };
855
+ }
707
856
  }
708
857
  else {
709
- return {
710
- index,
711
- terms
712
- };
858
+ if (ignoreIndex) {
859
+ return {
860
+ terms
861
+ };
862
+ }
863
+ else {
864
+ return {
865
+ index,
866
+ terms
867
+ };
868
+ }
713
869
  }
714
870
  }
715
- toJSON(index = 0) {
716
- return JSON.stringify(this.toData(index));
871
+ toJSON(index = 0, ignoreIndex = false, ignoreNegated = false) {
872
+ return JSON.stringify(this.toData(index, ignoreIndex, ignoreNegated));
717
873
  }
718
874
  toConciseData() {
719
875
  let data;
@@ -768,7 +924,25 @@ exports.RegoExp = RegoExp;
768
924
  */
769
925
  class RegoRef {
770
926
  constructor(parts) {
927
+ var _a;
928
+ /**
929
+ * Whether the expression contains any resolvable references.
930
+ * reference start with `input.` should be considered as non-resolvable in context of partial evaluation.
931
+ * When this field is set to `true`, we should not attempt to evaluate this expression.
932
+ * i.e. evaluate() method should return immediately.
933
+ * This will speed up evaluation process.
934
+ *
935
+ * @type {boolean}
936
+ * @memberof RegoRef
937
+ */
938
+ this.hasNoResolvableRef = false;
771
939
  this.parts = parts;
940
+ if (
941
+ // `input.` ref should be considered not resolvable in partial evaluate context.
942
+ (this.parts.length && ((_a = this.parts[0]) === null || _a === void 0 ? void 0 : _a.value) === "input") ||
943
+ this.isOperator()) {
944
+ this.hasNoResolvableRef = true;
945
+ }
772
946
  }
773
947
  clone() {
774
948
  return new RegoRef(this.parts.map((p) => (Object.assign({}, p))));
@@ -893,6 +1067,17 @@ class RegoRuleSet {
893
1067
  this.rules = [];
894
1068
  this.defaultRule = null;
895
1069
  this.isCompleteEvaluated = false;
1070
+ /**
1071
+ * Whether the ruleSet contains any rules that has any resolvable references.
1072
+ * reference start with `input.` should be considered as non-resolvable in context of partial evaluation.
1073
+ * When this field is set to `true`, we should not attempt to evaluate this expression.
1074
+ * i.e. evaluate() method should return immediately.
1075
+ * This will speed up evaluation process.
1076
+ *
1077
+ * @type {boolean}
1078
+ * @memberof RegoRuleSet
1079
+ */
1080
+ this.hasNoResolvableRef = false;
896
1081
  this.parser = parser;
897
1082
  if (rules === null || rules === void 0 ? void 0 : rules.length) {
898
1083
  const defaultRuleIdx = rules.findIndex((r) => r.isDefault);
@@ -913,10 +1098,17 @@ class RegoRuleSet {
913
1098
  else if ((_b = rules === null || rules === void 0 ? void 0 : rules[0]) === null || _b === void 0 ? void 0 : _b.name) {
914
1099
  this.name = rules[0].name;
915
1100
  }
1101
+ if (this.rules.length &&
1102
+ this.rules.findIndex((r) => !r.hasNoResolvableRef) === -1) {
1103
+ this.hasNoResolvableRef = true;
1104
+ }
916
1105
  this.evaluate();
917
1106
  }
918
1107
  evaluate() {
919
1108
  var _a;
1109
+ if (this.hasNoResolvableRef) {
1110
+ return this;
1111
+ }
920
1112
  if (this.isCompleteEvaluated) {
921
1113
  return this;
922
1114
  }
@@ -1113,6 +1305,7 @@ class OpaCompileResponseParser {
1113
1305
  * @memberof OpaCompileResponseParser
1114
1306
  */
1115
1307
  this.pseudoQueryRuleName = RegoRule.randomRuleName("default_rule_");
1308
+ this.ruleDuplicationCheckCache = {};
1116
1309
  }
1117
1310
  setQueryRuleResult(val) {
1118
1311
  this.completeRuleResults[this.pseudoQueryRuleName] = {
@@ -1173,8 +1366,9 @@ class OpaCompileResponseParser {
1173
1366
  value: true,
1174
1367
  parser: this
1175
1368
  });
1176
- this.originalRules.push(rule);
1177
- this.rules.push(rule);
1369
+ // this.originalRules.push(rule);
1370
+ // this.rules.push(rule);
1371
+ this.addRule(rule);
1178
1372
  });
1179
1373
  }
1180
1374
  const packages = this.data.support;
@@ -1188,15 +1382,35 @@ class OpaCompileResponseParser {
1188
1382
  const rules = p.rules;
1189
1383
  rules.forEach((r) => {
1190
1384
  const regoRule = RegoRule.parseFromData(r, packageName, this);
1191
- this.originalRules.push(regoRule);
1192
- this.rules.push(regoRule);
1385
+ //this.originalRules.push(regoRule);
1386
+ //this.rules.push(regoRule);
1387
+ this.addRule(regoRule);
1193
1388
  });
1194
1389
  });
1195
1390
  }
1391
+ this.ruleDuplicationCheckCache = {};
1196
1392
  lodash_1.default.uniq(this.rules.map((r) => r.fullName)).forEach((fullName) => (this.ruleSets[fullName] = new RegoRuleSet(this, this.rules.filter((r) => r.fullName === fullName), fullName)));
1197
1393
  this.resolveAllRuleSets();
1198
1394
  return this.rules;
1199
1395
  }
1396
+ addRule(rule) {
1397
+ this.originalRules.push(rule);
1398
+ if (rule.isImpossible()) {
1399
+ return;
1400
+ }
1401
+ if (!this.ruleDuplicationCheckCache[rule.fullName]) {
1402
+ this.ruleDuplicationCheckCache[rule.fullName] = new Set();
1403
+ }
1404
+ const setData = this.ruleDuplicationCheckCache[rule.fullName];
1405
+ const _a = rule.toData(), { name, fullName } = _a, ruleData = __rest(_a, ["name", "fullName"]);
1406
+ const jsonData = JSON.stringify(ruleData);
1407
+ const size = setData.size;
1408
+ setData.add(jsonData);
1409
+ if (size === setData.size) {
1410
+ return;
1411
+ }
1412
+ this.rules.push(rule);
1413
+ }
1200
1414
  isRefResolvable(fullName) {
1201
1415
  if (this.completeRuleResults[fullName]) {
1202
1416
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
@@ -43,10 +43,10 @@ export declare function getTableColumnName(columnName: String, tableRef?: String
43
43
  * @param {{ [key: string]: Value }} data
44
44
  * @return {*}
45
45
  */
46
- export declare function createTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, data: {
46
+ export declare function createTableRecord(poolOrClient: pg.PoolClient | pg.Pool, table: string, data: {
47
47
  [key: string]: RawValue;
48
48
  }, allowFieldList?: string[], autoGenerateUuid?: boolean): Promise<any>;
49
- export declare function updateTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, id: string, data: {
49
+ export declare function updateTableRecord(poolOrClient: pg.PoolClient | pg.Pool, table: string, id: string, data: {
50
50
  [key: string]: Value;
51
51
  }, allowFieldList?: string[]): Promise<any>;
52
52
  export declare function deleteTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, id: string): Promise<void>;
package/dist/SQLUtils.js CHANGED
@@ -78,7 +78,7 @@ exports.escapeIdentifier = escapeIdentifier;
78
78
  function getTableColumnName(columnName, tableRef = "", useLowerCaseColumnName = false) {
79
79
  const id = [
80
80
  tableRef,
81
- useLowerCaseColumnName ? columnName.toLowerCase : useLowerCaseColumnName
81
+ useLowerCaseColumnName ? columnName.toLowerCase() : columnName
82
82
  ]
83
83
  .filter((item) => item)
84
84
  .join(".");
@@ -1 +1 @@
1
- {"version":3,"file":"SQLUtils.js","sourceRoot":"","sources":["../src/SQLUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLUtils.js","sourceRoot":"","sources":["../src/SQLUtils.ts"],"names":[],"mappings":"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"}
package/dist/Try.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ export declare abstract class TryResult<T = any> {
2
+ readonly value: T;
3
+ readonly error: Error;
4
+ abstract isSuccessful: boolean;
5
+ constructor(v?: T, e?: Error);
6
+ get(): T;
7
+ getOr(v: T): T;
8
+ }
9
+ export declare class Success<T = any> extends TryResult<T> {
10
+ readonly isSuccessful = true;
11
+ constructor(v: T);
12
+ }
13
+ export declare class Failure<T = any> extends TryResult<T> {
14
+ readonly isSuccessful = false;
15
+ constructor(e: Error);
16
+ }
17
+ export default function Try<T>(func: (() => T) | Promise<T> | (() => Promise<T>)): Promise<TryResult<T>>;