@decaf-ts/for-couchdb 0.14.0 → 0.14.1

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 (69) hide show
  1. package/dist/for-couchdb.cjs +1 -1
  2. package/dist/for-couchdb.cjs.map +1 -1
  3. package/dist/for-couchdb.js +1 -1
  4. package/dist/for-couchdb.js.map +1 -1
  5. package/lib/cjs/adapter.cjs +6 -12
  6. package/lib/cjs/adapter.cjs.map +1 -1
  7. package/lib/cjs/{errors.cjs → errors/IndexError.cjs} +2 -2
  8. package/lib/cjs/errors/IndexError.cjs.map +1 -0
  9. package/lib/cjs/errors/IndexPlanningError.cjs +15 -0
  10. package/lib/cjs/errors/IndexPlanningError.cjs.map +1 -0
  11. package/lib/cjs/errors/index.cjs +20 -0
  12. package/lib/cjs/errors/index.cjs.map +1 -0
  13. package/lib/cjs/index.cjs +10 -6
  14. package/lib/cjs/index.cjs.map +1 -1
  15. package/lib/cjs/indexes/generator.cjs +13 -9
  16. package/lib/cjs/indexes/generator.cjs.map +1 -1
  17. package/lib/cjs/query/Paginator.cjs +32 -16
  18. package/lib/cjs/query/Paginator.cjs.map +1 -1
  19. package/lib/cjs/query/Statement.cjs +13 -8
  20. package/lib/cjs/query/Statement.cjs.map +1 -1
  21. package/lib/cjs/query/index.cjs +1 -0
  22. package/lib/cjs/query/index.cjs.map +1 -1
  23. package/lib/cjs/query/planner.cjs +431 -0
  24. package/lib/cjs/query/planner.cjs.map +1 -0
  25. package/lib/esm/adapter.js +1 -7
  26. package/lib/esm/adapter.js.map +1 -1
  27. package/lib/esm/{errors.js → errors/IndexError.js} +1 -1
  28. package/lib/esm/errors/IndexError.js.map +1 -0
  29. package/lib/esm/errors/IndexPlanningError.js +10 -0
  30. package/lib/esm/errors/IndexPlanningError.js.map +1 -0
  31. package/lib/esm/errors/index.js +3 -0
  32. package/lib/esm/errors/index.js.map +1 -0
  33. package/lib/esm/index.js +5 -5
  34. package/lib/esm/index.js.map +1 -1
  35. package/lib/esm/indexes/generator.js +12 -10
  36. package/lib/esm/indexes/generator.js.map +1 -1
  37. package/lib/esm/query/Paginator.js +32 -16
  38. package/lib/esm/query/Paginator.js.map +1 -1
  39. package/lib/esm/query/Statement.js +14 -9
  40. package/lib/esm/query/Statement.js.map +1 -1
  41. package/lib/esm/query/index.js +1 -0
  42. package/lib/esm/query/index.js.map +1 -1
  43. package/lib/esm/query/planner.js +413 -0
  44. package/lib/esm/query/planner.js.map +1 -0
  45. package/lib/types/adapter.d.cts +3 -3
  46. package/lib/types/adapter.d.mts +3 -3
  47. package/lib/types/errors/IndexPlanningError.d.cts +17 -0
  48. package/lib/types/errors/IndexPlanningError.d.mts +17 -0
  49. package/lib/types/errors/index.d.cts +2 -0
  50. package/lib/types/errors/index.d.mts +2 -0
  51. package/lib/types/index.d.cts +5 -5
  52. package/lib/types/index.d.mts +5 -5
  53. package/lib/types/indexes/generator.d.cts +13 -0
  54. package/lib/types/indexes/generator.d.mts +13 -0
  55. package/lib/types/query/Paginator.d.cts +3 -0
  56. package/lib/types/query/Paginator.d.mts +3 -0
  57. package/lib/types/query/Statement.d.cts +3 -2
  58. package/lib/types/query/Statement.d.mts +3 -2
  59. package/lib/types/query/index.d.cts +1 -0
  60. package/lib/types/query/index.d.mts +1 -0
  61. package/lib/types/query/planner.d.cts +64 -0
  62. package/lib/types/query/planner.d.mts +64 -0
  63. package/lib/types/types.d.cts +8 -0
  64. package/lib/types/types.d.mts +8 -0
  65. package/package.json +1 -1
  66. package/lib/cjs/errors.cjs.map +0 -1
  67. package/lib/esm/errors.js.map +0 -1
  68. /package/lib/types/{errors.d.cts → errors/IndexError.d.cts} +0 -0
  69. /package/lib/types/{errors.d.mts → errors/IndexError.d.mts} +0 -0
package/lib/cjs/index.cjs CHANGED
@@ -14,17 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION = void 0;
17
+ exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION = exports.generateIndexDoc = exports.testReservedAttributes = exports.wrapDocumentScope = exports.reAuth = void 0;
18
18
  const decoration_1 = require("@decaf-ts/decoration");
19
19
  __exportStar(require("./indexes/index.cjs"), exports);
20
20
  __exportStar(require("./repository.cjs"), exports);
21
21
  __exportStar(require("./adapter.cjs"), exports);
22
22
  __exportStar(require("./constants.cjs"), exports);
23
- __exportStar(require("./errors.cjs"), exports);
23
+ __exportStar(require("./errors/index.cjs"), exports);
24
24
  __exportStar(require("./metadata.cjs"), exports);
25
25
  __exportStar(require("./decorators.cjs"), exports);
26
26
  __exportStar(require("./types.cjs"), exports);
27
- __exportStar(require("./utils.cjs"), exports);
27
+ var utils_js_1 = require("./utils.cjs");
28
+ Object.defineProperty(exports, "reAuth", { enumerable: true, get: function () { return utils_js_1.reAuth; } });
29
+ Object.defineProperty(exports, "wrapDocumentScope", { enumerable: true, get: function () { return utils_js_1.wrapDocumentScope; } });
30
+ Object.defineProperty(exports, "testReservedAttributes", { enumerable: true, get: function () { return utils_js_1.testReservedAttributes; } });
31
+ Object.defineProperty(exports, "generateIndexDoc", { enumerable: true, get: function () { return utils_js_1.generateIndexDoc; } });
28
32
  __exportStar(require("./query/index.cjs"), exports);
29
33
  __exportStar(require("./views/index.cjs"), exports);
30
34
  /**
@@ -37,21 +41,21 @@ __exportStar(require("./views/index.cjs"), exports);
37
41
  * @summary The version string of the for-couchdb package
38
42
  * @const VERSION
39
43
  */
40
- exports.VERSION = "0.13.0";
44
+ exports.VERSION = "0.14.0";
41
45
  /**
42
46
  * @description Represents the current commit hash of the module build.
43
47
  * @summary Stores the current git commit hash for the package. The build replaces
44
48
  * the placeholder with the actual commit hash at publish time.
45
49
  * @const COMMIT
46
50
  */
47
- exports.COMMIT = "d216217";
51
+ exports.COMMIT = "4a942a6";
48
52
  /**
49
53
  * @description Represents the full version string of the module.
50
54
  * @summary Stores the semver version and commit hash for the package.
51
55
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
52
56
  * @const FULL_VERSION
53
57
  */
54
- exports.FULL_VERSION = "0.13.0-d216217";
58
+ exports.FULL_VERSION = "0.14.0-4a942a6";
55
59
  /**
56
60
  * @description Stores the current package name
57
61
  * @summary The version string of the for-couchdb package
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAgD;AAChD,qDAAmC;AACnC,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,8CAA4B;AAC5B,gDAA8B;AAC9B,kDAAgC;AAChC,6CAA2B;AAC3B,6CAA2B;AAC3B,mDAAiC;AACjC,mDAAiC;AACjC;;;;GAIG;AACH;;;;GAIG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AACrC;;;;;GAKG;AACU,QAAA,MAAM,GAAG,YAAY,CAAC;AACnC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAC/C;;;;GAIG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC;AAChD,iCAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAgD;AAChD,qDAAmC;AACnC,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,6CAA2B;AAC3B,uCAAiG;AAAxF,kGAAA,MAAM,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,kHAAA,sBAAsB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAC5E,mDAAiC;AACjC,mDAAiC;AACjC;;;;GAIG;AACH;;;;GAIG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AACrC;;;;;GAKG;AACU,QAAA,MAAM,GAAG,YAAY,CAAC;AACnC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAC/C;;;;GAIG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC;AAChD,iCAAiC"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateIndexName = generateIndexName;
4
+ exports.generateModelIndexName = generateModelIndexName;
3
5
  exports.generateIndexes = generateIndexes;
4
6
  const core_1 = require("@decaf-ts/core");
5
7
  const constants_js_1 = require("./../constants.cjs");
@@ -25,6 +27,15 @@ function generateIndexName(name, direction, compositions, separator = db_decorat
25
27
  constants_js_1.CouchDBKeys.INDEX,
26
28
  ].join(separator);
27
29
  }
30
+ function generateModelIndexName(tableName, fieldKey, compositions = [], direction, separator = db_decorators_1.DefaultSeparator) {
31
+ return [
32
+ tableName,
33
+ fieldKey,
34
+ ...compositions,
35
+ ...(direction ? [direction] : []),
36
+ core_1.PersistenceKeys.INDEX,
37
+ ].join(separator);
38
+ }
28
39
  /**
29
40
  * @description Generates CouchDB index configurations for models
30
41
  * @summary Creates a set of CouchDB index configurations based on the metadata of the provided models
@@ -158,22 +169,15 @@ function generateIndexes(models) {
158
169
  return;
159
170
  // eslint-disable-next-line prefer-const
160
171
  let { directions, compositions } = meta;
161
- const tableName = modelTableName;
162
172
  compositions = compositions || [];
163
173
  const fieldKeys = [fieldKey, ...compositions];
164
174
  const tableFilter = {
165
175
  [constants_js_1.CouchDBKeys.TABLE]: {
166
- [constants_js_2.CouchDBOperator.EQUAL]: tableName,
176
+ [constants_js_2.CouchDBOperator.EQUAL]: modelTableName,
167
177
  },
168
178
  };
169
179
  function generate(sort, suffix) {
170
- const name = [
171
- tableName,
172
- fieldKey,
173
- ...compositions,
174
- ...(suffix ? [suffix] : []),
175
- core_1.PersistenceKeys.INDEX,
176
- ].join(db_decorators_1.DefaultSeparator);
180
+ const name = generateModelIndexName(modelTableName, fieldKey, compositions, suffix);
177
181
  const baseFields = [constants_js_1.CouchDBKeys.TABLE, ...fieldKeys];
178
182
  const fields = sort
179
183
  ? [
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["generator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["generator.js"],"names":[],"mappings":"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"}
@@ -38,6 +38,10 @@ class CouchDBPaginator extends core_1.Paginator {
38
38
  */
39
39
  constructor(adapter, query, size, clazz) {
40
40
  super(adapter, query, size, clazz);
41
+ this._bookmarks = new Map();
42
+ }
43
+ isValidBookmark(value) {
44
+ return typeof value === "string" && value.length > 0;
41
45
  }
42
46
  /**
43
47
  * @description Prepares a query for pagination
@@ -50,6 +54,7 @@ class CouchDBPaginator extends core_1.Paginator {
50
54
  if (query.limit)
51
55
  this.limit = query.limit;
52
56
  query.limit = this.size;
57
+ delete query.skip;
53
58
  return query;
54
59
  }
55
60
  /**
@@ -115,30 +120,33 @@ class CouchDBPaginator extends core_1.Paginator {
115
120
  const { log, ctxArgs, ctx } = this.adapter["logCtx"]([bookmark, ...args], this.page);
116
121
  if (this.isPreparedStatement())
117
122
  return await this.pagePrepared(page, ...ctxArgs);
123
+ page = this.validatePage(page ?? 1);
118
124
  const statement = Object.assign({}, this.statement);
119
- if (!this._recordCount || !this._totalPages) {
120
- this._totalPages = this._recordCount = 0;
121
- const countResults = (await this.adapter.raw({ ...statement, limit: Number.MAX_SAFE_INTEGER }, true, ...ctxArgs)) || [];
122
- this._recordCount = countResults.length;
123
- if (this._recordCount > 0) {
124
- const size = statement?.limit || this.size;
125
- this._totalPages = Math.ceil(this._recordCount / size);
126
- return await this.page(page, ...ctxArgs);
125
+ statement.limit = this.size;
126
+ if (page === 1) {
127
+ if (this.isValidBookmark(bookmark)) {
128
+ statement.bookmark = bookmark;
129
+ }
130
+ else {
131
+ delete statement.bookmark;
127
132
  }
128
133
  }
129
134
  else {
130
- page = this.validatePage(page);
131
- statement.skip = (page - 1) * this.size;
132
- }
133
- if (page !== 1) {
134
- if (!this._bookmark)
135
- throw new core_1.PagingError("No bookmark. Did you start in the first page?");
136
- statement["bookmark"] = this._bookmark;
135
+ const explicitBookmark = bookmark || this._bookmarks.get(page);
136
+ if (!this.isValidBookmark(explicitBookmark)) {
137
+ throw new core_1.PagingError("Random page access requires a cached CouchDB bookmark. Start at page 1 and page forward, or pass an explicit bookmark.");
138
+ }
139
+ delete statement.skip;
140
+ statement.bookmark = explicitBookmark;
137
141
  }
142
+ delete statement.skip;
138
143
  const rawResult = (await this.adapter.raw(statement, false, ...ctxArgs));
139
144
  const { docs, bookmark: nextBookmark, warning } = rawResult;
140
145
  if (warning)
141
146
  log.warn(warning);
147
+ if (rawResult.execution_stats) {
148
+ log.debug(`Mango execution stats: ${JSON.stringify(rawResult.execution_stats)}`);
149
+ }
142
150
  if (!this.clazz)
143
151
  throw new core_1.PagingError("No statement target defined");
144
152
  const id = decorator_validation_1.Model.pk(this.clazz);
@@ -148,8 +156,16 @@ class CouchDBPaginator extends core_1.Paginator {
148
156
  : docs.map((d) => {
149
157
  return this.adapter.revert(d, this.clazz, core_1.Sequence.parseValue(type, d[id]), undefined, ctx);
150
158
  });
151
- this._bookmark = nextBookmark;
159
+ this._bookmark = this.isValidBookmark(nextBookmark) ? nextBookmark : undefined;
152
160
  this._currentPage = page;
161
+ if (this.isValidBookmark(nextBookmark)) {
162
+ this._bookmarks.set(page + 1, nextBookmark);
163
+ }
164
+ if (!this.isValidBookmark(nextBookmark) || docs.length < this.size) {
165
+ this._knownLastPage = page;
166
+ this._totalPages = page;
167
+ this._recordCount = (page - 1) * this.size + docs.length;
168
+ }
153
169
  return pageResults;
154
170
  }
155
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","sourceRoot":"","sources":["Paginator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.js","sourceRoot":"","sources":["Paginator.js"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ const constants_js_2 = require("./constants.cjs");
9
9
  const db_decorators_1 = require("@decaf-ts/db-decorators");
10
10
  const decoration_1 = require("@decaf-ts/decoration");
11
11
  const generator_js_1 = require("./../views/generator.cjs");
12
+ const planner_js_1 = require("./planner.cjs");
13
+ const generator_js_2 = require("./../indexes/generator.cjs");
12
14
  const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
13
15
  function nextLexicographicString(value) {
14
16
  if (!value)
@@ -202,6 +204,16 @@ class CouchDBStatement extends core_1.Statement {
202
204
  if (this.offsetSelector)
203
205
  query.skip = this.offsetSelector;
204
206
  this.attachDefaultQueryIndex(query);
207
+ const forceNamedIndexes = this.overrides
208
+ ?.forceNamedIndexes ?? true;
209
+ if (forceNamedIndexes) {
210
+ (0, planner_js_1.attachGeneratedUseIndex)(this.fromSelector, query, log, {
211
+ preserveDefaultQuery: true,
212
+ requireSortCoverage: false,
213
+ forceNamedIndexes: true,
214
+ });
215
+ }
216
+ (0, planner_js_1.warnScanProneMangoOperators)(query.selector, log);
205
217
  return query;
206
218
  }
207
219
  attachDefaultQueryIndex(query) {
@@ -227,14 +239,7 @@ class CouchDBStatement extends core_1.Statement {
227
239
  .find((entry) => entry && matchedAttrs.includes(entry[0]));
228
240
  const targetAttr = sortEntry?.[0] || matchedAttrs[0];
229
241
  const direction = sortEntry?.[1] || undefined;
230
- const suffix = direction ? [String(direction).toLowerCase()] : [];
231
- const indexName = [
232
- tableName,
233
- targetAttr,
234
- "defaultQuery",
235
- ...suffix,
236
- constants_js_1.CouchDBKeys.INDEX,
237
- ].join(db_decorators_1.DefaultSeparator);
242
+ const indexName = (0, generator_js_2.generateIndexName)([tableName, targetAttr, "defaultQuery"], direction);
238
243
  query.use_index = indexName;
239
244
  }
240
245
  collectStartsWithRangeAttrs(selector) {
@@ -1 +1 @@
1
- {"version":3,"file":"Statement.js","sourceRoot":"","sources":["Statement.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Statement.js","sourceRoot":"","sources":["Statement.js"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ __exportStar(require("./constants.cjs"), exports);
18
18
  __exportStar(require("./Paginator.cjs"), exports);
19
19
  __exportStar(require("./Statement.cjs"), exports);
20
20
  __exportStar(require("./translate.cjs"), exports);
21
+ __exportStar(require("./planner.cjs"), exports);
21
22
  //# sourceMappingURL=index.js.map
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,iCAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,+CAA6B;AAC7B,iCAAiC"}