@decaf-ts/for-couchdb 0.4.28 → 0.4.30

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 (49) 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/constants.cjs +2 -0
  6. package/lib/constants.d.ts +2 -0
  7. package/lib/constants.js.map +1 -1
  8. package/lib/decorators.cjs +168 -0
  9. package/lib/decorators.d.ts +11 -0
  10. package/lib/decorators.js.map +1 -0
  11. package/lib/esm/constants.d.ts +2 -0
  12. package/lib/esm/constants.js +2 -0
  13. package/lib/esm/constants.js.map +1 -1
  14. package/lib/esm/decorators.d.ts +11 -0
  15. package/lib/esm/decorators.js +158 -0
  16. package/lib/esm/decorators.js.map +1 -0
  17. package/lib/esm/index.d.ts +3 -1
  18. package/lib/esm/index.js +3 -1
  19. package/lib/esm/index.js.map +1 -1
  20. package/lib/esm/indexes/generator.js +6 -0
  21. package/lib/esm/indexes/generator.js.map +1 -1
  22. package/lib/esm/utils.js +1 -1
  23. package/lib/esm/utils.js.map +1 -1
  24. package/lib/esm/views/generator.d.ts +7 -0
  25. package/lib/esm/views/generator.js +251 -0
  26. package/lib/esm/views/generator.js.map +1 -0
  27. package/lib/esm/views/index.d.ts +2 -0
  28. package/lib/esm/views/index.js +3 -0
  29. package/lib/esm/views/index.js.map +1 -0
  30. package/lib/esm/views/types.d.ts +44 -0
  31. package/lib/esm/views/types.js +2 -0
  32. package/lib/esm/views/types.js.map +1 -0
  33. package/lib/index.cjs +3 -1
  34. package/lib/index.d.ts +3 -1
  35. package/lib/index.js.map +1 -1
  36. package/lib/indexes/generator.cjs +6 -0
  37. package/lib/indexes/generator.js.map +1 -1
  38. package/lib/utils.cjs +1 -1
  39. package/lib/utils.js.map +1 -1
  40. package/lib/views/generator.cjs +256 -0
  41. package/lib/views/generator.d.ts +7 -0
  42. package/lib/views/generator.js.map +1 -0
  43. package/lib/views/index.cjs +19 -0
  44. package/lib/views/index.d.ts +2 -0
  45. package/lib/views/index.js.map +1 -0
  46. package/lib/views/types.cjs +3 -0
  47. package/lib/views/types.d.ts +44 -0
  48. package/lib/views/types.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultSeparator = void 0;
4
+ exports.view = view;
5
+ exports.groupBy = groupBy;
6
+ exports.count = count;
7
+ exports.sum = sum;
8
+ exports.max = max;
9
+ exports.min = min;
10
+ exports.distinct = distinct;
11
+ const core_1 = require("@decaf-ts/core");
12
+ const decoration_1 = require("@decaf-ts/decoration");
13
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
14
+ Object.defineProperty(exports, "DefaultSeparator", { enumerable: true, get: function () { return db_decorators_1.DefaultSeparator; } });
15
+ const constants_1 = require("./constants.cjs");
16
+ function nextViewSlot(target, key, attr) {
17
+ const existing = decoration_1.Metadata.get(target.constructor, key) || {};
18
+ const attrBucket = existing[attr] || {};
19
+ const next = Object.keys(attrBucket).length + 1;
20
+ return String(next);
21
+ }
22
+ function applyViewDecorator(metaKey, kind, opts) {
23
+ return function decorator(target, attr) {
24
+ const slot = opts?.name || nextViewSlot(target, metaKey, attr);
25
+ const key = decoration_1.Metadata.key(metaKey, attr, slot);
26
+ const value = {
27
+ ...(opts || {}),
28
+ kind,
29
+ attribute: attr,
30
+ };
31
+ return (0, decoration_1.propMetadata)(key, value)(target, attr);
32
+ };
33
+ }
34
+ function view(opts) {
35
+ return decoration_1.Decoration.for(constants_1.CouchDBKeys.VIEW)
36
+ .define({
37
+ decorator: function view(o) {
38
+ return applyViewDecorator(constants_1.CouchDBKeys.VIEW, "view", o);
39
+ },
40
+ args: [opts],
41
+ })
42
+ .apply();
43
+ }
44
+ function groupBy(compositionsOrOptions, nameOrOptions) {
45
+ let opts = {};
46
+ if (Array.isArray(compositionsOrOptions)) {
47
+ opts.compositions = compositionsOrOptions;
48
+ }
49
+ else if (typeof compositionsOrOptions === "string") {
50
+ opts.name = compositionsOrOptions;
51
+ }
52
+ else if (compositionsOrOptions) {
53
+ opts = compositionsOrOptions;
54
+ }
55
+ if (typeof nameOrOptions === "string") {
56
+ opts.name = nameOrOptions;
57
+ }
58
+ else if (nameOrOptions) {
59
+ opts = Object.assign({}, opts, nameOrOptions);
60
+ }
61
+ return decoration_1.Decoration.for(core_1.Operator.GROUP_BY)
62
+ .define({
63
+ decorator: function groupBy(o) {
64
+ return applyViewDecorator(core_1.Operator.GROUP_BY, "groupBy", o);
65
+ },
66
+ args: [opts],
67
+ })
68
+ .apply();
69
+ }
70
+ function count(valueOrCondition, options) {
71
+ let opts = {};
72
+ if (valueOrCondition instanceof core_1.Condition) {
73
+ opts.condition = valueOrCondition;
74
+ }
75
+ else if (typeof valueOrCondition === "object" && valueOrCondition) {
76
+ opts = valueOrCondition;
77
+ }
78
+ else if (typeof valueOrCondition !== "undefined") {
79
+ opts.value = valueOrCondition;
80
+ }
81
+ if (options)
82
+ opts = Object.assign({}, opts, options);
83
+ return decoration_1.Decoration.for(core_1.Operator.COUNT)
84
+ .define({
85
+ decorator: function count(o) {
86
+ return applyViewDecorator(core_1.Operator.COUNT, "count", o);
87
+ },
88
+ args: [opts],
89
+ })
90
+ .apply();
91
+ }
92
+ function sum(conditionOrOptions, options) {
93
+ let opts = {};
94
+ if (conditionOrOptions instanceof core_1.Condition) {
95
+ opts.condition = conditionOrOptions;
96
+ }
97
+ else if (conditionOrOptions) {
98
+ opts = conditionOrOptions;
99
+ }
100
+ if (options)
101
+ opts = Object.assign({}, opts, options);
102
+ return decoration_1.Decoration.for(core_1.Operator.SUM)
103
+ .define({
104
+ decorator: function sum(o) {
105
+ return applyViewDecorator(core_1.Operator.SUM, "sum", o);
106
+ },
107
+ args: [opts],
108
+ })
109
+ .apply();
110
+ }
111
+ function max(conditionOrOptions, options) {
112
+ let opts = {};
113
+ if (conditionOrOptions instanceof core_1.Condition) {
114
+ opts.condition = conditionOrOptions;
115
+ }
116
+ else if (conditionOrOptions) {
117
+ opts = conditionOrOptions;
118
+ }
119
+ if (options)
120
+ opts = Object.assign({}, opts, options);
121
+ return decoration_1.Decoration.for(core_1.Operator.MAX)
122
+ .define({
123
+ decorator: function max(o) {
124
+ return applyViewDecorator(core_1.Operator.MAX, "max", o);
125
+ },
126
+ args: [opts],
127
+ })
128
+ .apply();
129
+ }
130
+ function min(conditionOrOptions, options) {
131
+ let opts = {};
132
+ if (conditionOrOptions instanceof core_1.Condition) {
133
+ opts.condition = conditionOrOptions;
134
+ }
135
+ else if (conditionOrOptions) {
136
+ opts = conditionOrOptions;
137
+ }
138
+ if (options)
139
+ opts = Object.assign({}, opts, options);
140
+ return decoration_1.Decoration.for(core_1.Operator.MIN)
141
+ .define({
142
+ decorator: function min(o) {
143
+ return applyViewDecorator(core_1.Operator.MIN, "min", o);
144
+ },
145
+ args: [opts],
146
+ })
147
+ .apply();
148
+ }
149
+ function distinct(conditionOrOptions, options) {
150
+ let opts = {};
151
+ if (conditionOrOptions instanceof core_1.Condition) {
152
+ opts.condition = conditionOrOptions;
153
+ }
154
+ else if (conditionOrOptions) {
155
+ opts = conditionOrOptions;
156
+ }
157
+ if (options)
158
+ opts = Object.assign({}, opts, options);
159
+ return decoration_1.Decoration.for(core_1.Operator.DISTINCT)
160
+ .define({
161
+ decorator: function distinct(o) {
162
+ return applyViewDecorator(core_1.Operator.DISTINCT, "distinct", o);
163
+ },
164
+ args: [opts],
165
+ })
166
+ .apply();
167
+ }
168
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1,11 @@
1
+ import { Condition } from "@decaf-ts/core";
2
+ import { DefaultSeparator } from "@decaf-ts/db-decorators";
3
+ import { AggregateOptions, ViewOptions } from "./views/types";
4
+ export declare function view(opts?: ViewOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
5
+ export declare function groupBy(compositionsOrOptions?: string[] | string | ViewOptions, nameOrOptions?: string | ViewOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
6
+ export declare function count(valueOrCondition?: any | Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
7
+ export declare function sum(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
8
+ export declare function max(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
9
+ export declare function min(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
10
+ export declare function distinct(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
11
+ export { DefaultSeparator };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -37,4 +37,6 @@ export declare const CouchDBKeys: {
37
37
  DDOC: string;
38
38
  NATIVE: string;
39
39
  INDEX: string;
40
+ /** @description Key for CouchDB view metadata */
41
+ VIEW: string;
40
42
  };
@@ -37,5 +37,7 @@ export const CouchDBKeys = {
37
37
  DDOC: "ddoc",
38
38
  NATIVE: "__native",
39
39
  INDEX: "index",
40
+ /** @description Key for CouchDB view metadata */
41
+ VIEW: "view",
40
42
  };
41
43
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;CACf,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;IAEd,iDAAiD;IACjD,IAAI,EAAE,MAAM;CACb,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Condition } from "@decaf-ts/core";
2
+ import { DefaultSeparator } from "@decaf-ts/db-decorators";
3
+ import { AggregateOptions, ViewOptions } from "./views/types";
4
+ export declare function view(opts?: ViewOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
5
+ export declare function groupBy(compositionsOrOptions?: string[] | string | ViewOptions, nameOrOptions?: string | ViewOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
6
+ export declare function count(valueOrCondition?: any | Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
7
+ export declare function sum(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
8
+ export declare function max(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
9
+ export declare function min(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
10
+ export declare function distinct(conditionOrOptions?: Condition<any> | AggregateOptions, options?: AggregateOptions): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
11
+ export { DefaultSeparator };
@@ -0,0 +1,158 @@
1
+ import { Condition, Operator } from "@decaf-ts/core";
2
+ import { Decoration, Metadata, propMetadata } from "@decaf-ts/decoration";
3
+ import { DefaultSeparator } from "@decaf-ts/db-decorators";
4
+ import { CouchDBKeys } from "./constants.js";
5
+ function nextViewSlot(target, key, attr) {
6
+ const existing = Metadata.get(target.constructor, key) || {};
7
+ const attrBucket = existing[attr] || {};
8
+ const next = Object.keys(attrBucket).length + 1;
9
+ return String(next);
10
+ }
11
+ function applyViewDecorator(metaKey, kind, opts) {
12
+ return function decorator(target, attr) {
13
+ const slot = opts?.name || nextViewSlot(target, metaKey, attr);
14
+ const key = Metadata.key(metaKey, attr, slot);
15
+ const value = {
16
+ ...(opts || {}),
17
+ kind,
18
+ attribute: attr,
19
+ };
20
+ return propMetadata(key, value)(target, attr);
21
+ };
22
+ }
23
+ export function view(opts) {
24
+ return Decoration.for(CouchDBKeys.VIEW)
25
+ .define({
26
+ decorator: function view(o) {
27
+ return applyViewDecorator(CouchDBKeys.VIEW, "view", o);
28
+ },
29
+ args: [opts],
30
+ })
31
+ .apply();
32
+ }
33
+ export function groupBy(compositionsOrOptions, nameOrOptions) {
34
+ let opts = {};
35
+ if (Array.isArray(compositionsOrOptions)) {
36
+ opts.compositions = compositionsOrOptions;
37
+ }
38
+ else if (typeof compositionsOrOptions === "string") {
39
+ opts.name = compositionsOrOptions;
40
+ }
41
+ else if (compositionsOrOptions) {
42
+ opts = compositionsOrOptions;
43
+ }
44
+ if (typeof nameOrOptions === "string") {
45
+ opts.name = nameOrOptions;
46
+ }
47
+ else if (nameOrOptions) {
48
+ opts = Object.assign({}, opts, nameOrOptions);
49
+ }
50
+ return Decoration.for(Operator.GROUP_BY)
51
+ .define({
52
+ decorator: function groupBy(o) {
53
+ return applyViewDecorator(Operator.GROUP_BY, "groupBy", o);
54
+ },
55
+ args: [opts],
56
+ })
57
+ .apply();
58
+ }
59
+ export function count(valueOrCondition, options) {
60
+ let opts = {};
61
+ if (valueOrCondition instanceof Condition) {
62
+ opts.condition = valueOrCondition;
63
+ }
64
+ else if (typeof valueOrCondition === "object" && valueOrCondition) {
65
+ opts = valueOrCondition;
66
+ }
67
+ else if (typeof valueOrCondition !== "undefined") {
68
+ opts.value = valueOrCondition;
69
+ }
70
+ if (options)
71
+ opts = Object.assign({}, opts, options);
72
+ return Decoration.for(Operator.COUNT)
73
+ .define({
74
+ decorator: function count(o) {
75
+ return applyViewDecorator(Operator.COUNT, "count", o);
76
+ },
77
+ args: [opts],
78
+ })
79
+ .apply();
80
+ }
81
+ export function sum(conditionOrOptions, options) {
82
+ let opts = {};
83
+ if (conditionOrOptions instanceof Condition) {
84
+ opts.condition = conditionOrOptions;
85
+ }
86
+ else if (conditionOrOptions) {
87
+ opts = conditionOrOptions;
88
+ }
89
+ if (options)
90
+ opts = Object.assign({}, opts, options);
91
+ return Decoration.for(Operator.SUM)
92
+ .define({
93
+ decorator: function sum(o) {
94
+ return applyViewDecorator(Operator.SUM, "sum", o);
95
+ },
96
+ args: [opts],
97
+ })
98
+ .apply();
99
+ }
100
+ export function max(conditionOrOptions, options) {
101
+ let opts = {};
102
+ if (conditionOrOptions instanceof Condition) {
103
+ opts.condition = conditionOrOptions;
104
+ }
105
+ else if (conditionOrOptions) {
106
+ opts = conditionOrOptions;
107
+ }
108
+ if (options)
109
+ opts = Object.assign({}, opts, options);
110
+ return Decoration.for(Operator.MAX)
111
+ .define({
112
+ decorator: function max(o) {
113
+ return applyViewDecorator(Operator.MAX, "max", o);
114
+ },
115
+ args: [opts],
116
+ })
117
+ .apply();
118
+ }
119
+ export function min(conditionOrOptions, options) {
120
+ let opts = {};
121
+ if (conditionOrOptions instanceof Condition) {
122
+ opts.condition = conditionOrOptions;
123
+ }
124
+ else if (conditionOrOptions) {
125
+ opts = conditionOrOptions;
126
+ }
127
+ if (options)
128
+ opts = Object.assign({}, opts, options);
129
+ return Decoration.for(Operator.MIN)
130
+ .define({
131
+ decorator: function min(o) {
132
+ return applyViewDecorator(Operator.MIN, "min", o);
133
+ },
134
+ args: [opts],
135
+ })
136
+ .apply();
137
+ }
138
+ export function distinct(conditionOrOptions, options) {
139
+ let opts = {};
140
+ if (conditionOrOptions instanceof Condition) {
141
+ opts.condition = conditionOrOptions;
142
+ }
143
+ else if (conditionOrOptions) {
144
+ opts = conditionOrOptions;
145
+ }
146
+ if (options)
147
+ opts = Object.assign({}, opts, options);
148
+ return Decoration.for(Operator.DISTINCT)
149
+ .define({
150
+ decorator: function distinct(o) {
151
+ return applyViewDecorator(Operator.DISTINCT, "distinct", o);
152
+ },
153
+ args: [opts],
154
+ })
155
+ .apply();
156
+ }
157
+ export { DefaultSeparator };
158
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ export * from "./adapter";
4
4
  export * from "./constants";
5
5
  export * from "./errors";
6
6
  export * from "./metadata";
7
+ export * from "./decorators";
7
8
  export * from "./types";
8
9
  export * from "./utils";
9
10
  export * from "./query";
11
+ export * from "./views";
10
12
  /**
11
13
  * @description CouchDB adapter for Decaf.ts
12
14
  * @summary A TypeScript adapter for CouchDB database operations, providing a seamless integration with the Decaf.ts framework. This module includes classes, interfaces, and utilities for working with CouchDB databases, including support for Mango queries, document operations, and sequence management.
@@ -17,7 +19,7 @@ export * from "./query";
17
19
  * @summary The version string of the for-couchdb package
18
20
  * @const VERSION
19
21
  */
20
- export declare const VERSION = "0.4.27";
22
+ export declare const VERSION = "0.4.29";
21
23
  /**
22
24
  * @description Stores the current package name
23
25
  * @summary The version string of the for-couchdb package
package/lib/esm/index.js CHANGED
@@ -5,9 +5,11 @@ export * from "./adapter.js";
5
5
  export * from "./constants.js";
6
6
  export * from "./errors.js";
7
7
  export * from "./metadata.js";
8
+ export * from "./decorators.js";
8
9
  export * from "./types.js";
9
10
  export * from "./utils.js";
10
11
  export * from "./query/index.js";
12
+ export * from "./views/index.js";
11
13
  /**
12
14
  * @description CouchDB adapter for Decaf.ts
13
15
  * @summary A TypeScript adapter for CouchDB database operations, providing a seamless integration with the Decaf.ts framework. This module includes classes, interfaces, and utilities for working with CouchDB databases, including support for Mango queries, document operations, and sequence management.
@@ -18,7 +20,7 @@ export * from "./query/index.js";
18
20
  * @summary The version string of the for-couchdb package
19
21
  * @const VERSION
20
22
  */
21
- export const VERSION = "0.4.27";
23
+ export const VERSION = "0.4.29";
22
24
  /**
23
25
  * @description Stores the current package name
24
26
  * @summary The version string of the for-couchdb package
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,mCAA0B;AAC1B,gCAA6B;AAC7B,6BAA0B;AAC1B,+BAA4B;AAC5B,4BAAyB;AACzB,8BAA2B;AAC3B,2BAAwB;AACxB,2BAAwB;AACxB,iCAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,mCAA0B;AAC1B,gCAA6B;AAC7B,6BAA0B;AAC1B,+BAA4B;AAC5B,4BAAyB;AACzB,8BAA2B;AAC3B,gCAA6B;AAC7B,2BAAwB;AACxB,2BAAwB;AACxB,iCAAwB;AACxB,iCAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { CouchDBKeys } from "./../constants.js";
3
3
  import { DefaultSeparator } from "@decaf-ts/db-decorators";
4
4
  import { Model } from "@decaf-ts/decorator-validation";
5
5
  import { CouchDBOperator } from "./../query/constants.js";
6
+ import { generateViewIndexes } from "./../views/index.js";
6
7
  /**
7
8
  * @description Generates a name for a CouchDB index
8
9
  * @summary Creates a standardized name for a CouchDB index by combining name parts, compositions, and direction
@@ -124,6 +125,11 @@ export function generateIndexes(models) {
124
125
  directions.forEach((d) => generate(d));
125
126
  });
126
127
  });
128
+ generateViewIndexes(models).forEach((index) => {
129
+ if (!index.name)
130
+ return;
131
+ indexes[index.name] = index;
132
+ });
127
133
  return Object.values(indexes);
128
134
  }
129
135
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/indexes/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,0BAAqB;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,gCAA2B;AAIrD;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CACxB,IAAc,EACd,SAA0B,EAC1B,YAAuB,EACvB,SAAS,GAAG,gBAAgB;IAE5B,OAAO;QACL,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,WAAW,CAAC,KAAK;KAClB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAwB;IAExB,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,OAAO,CAAC,SAAS,CAAC,GAAG;QACnB,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC5B;QACD,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;KACb,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,GAAG,GAAkC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,wCAAwC;YACxC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAI,KAAa,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;YAElC,SAAS,QAAQ,CAAC,IAAqB;gBACrC,MAAM,IAAI,GAAG;oBACX,SAAS;oBACT,GAAG;oBACH,GAAI,YAAmB;oBACvB,eAAe,CAAC,KAAK;iBACtB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEzB,OAAO,CAAC,IAAI,CAAC,GAAG;oBACd,KAAK,EAAE;wBACL,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAI,YAAmB,CAAC,CAAC,MAAM,CAC9D,CAAC,KAAY,EAAE,EAAE,EAAE,EAAE;4BACnB,IAAI,IAAI,EAAE,CAAC;gCACT,MAAM,GAAG,GAAQ,EAAE,CAAC;gCACpB,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gCACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAClB,CAAC;iCAAM,CAAC;gCACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACjB,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC,EACD,EAAE,CACH;qBACF;oBACD,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,MAAM;iBACb,CAAC;gBACF,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,WAAW,GAAwB,EAAE,CAAC;oBAC5C,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACpC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,uBAAuB,GAAG,WAAW,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,QAAQ,EAAE,CAAC;YACX,IAAI,UAAU;gBACX,UAA0C,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/indexes/generator.ts"],"names":[],"mappings":"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"}
package/lib/esm/utils.js CHANGED
@@ -53,7 +53,7 @@ export async function reAuth(con, user, pass) {
53
53
  */
54
54
  export function wrapDocumentScope(con, dbName, user, pass) {
55
55
  const db = con.use ? con.use(dbName) : con;
56
- ["insert", "get", "put", "destroy", "find"].forEach((k) => {
56
+ ["insert", "get", "put", "destroy", "find", "view"].forEach((k) => {
57
57
  const original = db[k];
58
58
  Object.defineProperty(db, k, {
59
59
  enumerable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,uBAAoB;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAGpD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAQ,EAAE,IAAY,EAAE,IAAY;IAC/D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAQ,EACR,MAAc,EACd,IAAY,EACZ,IAAY;IAEZ,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAI,EAA0B,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE;YAC3B,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC9B,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE;QAC5C,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,SAAiB,EACjB,YAAuB,EACvB,KAAsB,EACtB,SAAS,GAAG,gBAAgB;IAE5B,MAAM,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC7C,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,SAAiB,EACjB,YAAuB,EACvB,KAAsB,EACtB,SAAS,GAAG,gBAAgB;IAE5B,MAAM,qBAAqB,GAAkB,EAAE,CAAC;IAChD,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAmB,CAAC;IAC9D,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAmB,CACzD,eAAe,CAAC,KAAK,CACtB,GAAG,SAAS,CAAC;IACd,IAAI,MAAmB,CAAC;IACxB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,SAAS,CAAC,SAAS,CAAC,GAAG,KAAuB,CAAC;QAC/C,MAAM,kBAAkB,GAAgB,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrE,MAAM,CAAC,GAAc,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAuB,CAAC;YAC/B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAuB,CAAC;QACzD,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAC5B,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,EACL,SAAS,CACV,CAAC;IACF,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,kDAAkD;SACnD;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9C,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
+ import { Constructor } from "@decaf-ts/decoration";
3
+ import { CreateIndexRequest } from "../types";
4
+ import { CouchDBDesignDoc, ViewIndexDefinition, ViewMetadata } from "./types";
5
+ export declare function generateViews<M extends Model>(models: Constructor<M>[]): CouchDBDesignDoc[];
6
+ export declare function generateViewIndexes<M extends Model>(models: Constructor<M>[]): CreateIndexRequest[];
7
+ export declare function viewIndexDefinition(meta: ViewMetadata): ViewIndexDefinition;