functional-models 3.8.2 → 3.8.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.
package/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export * from './errors';
10
10
  export * as errors from './errors';
11
11
  export * as orm from './orm';
12
12
  export * from './orm';
13
+ export * from './orm/libs';
package/index.js CHANGED
@@ -49,4 +49,5 @@ __exportStar(require("./errors"), exports);
49
49
  exports.errors = __importStar(require("./errors"));
50
50
  exports.orm = __importStar(require("./orm"));
51
51
  __exportStar(require("./orm"), exports);
52
+ __exportStar(require("./orm/libs"), exports);
52
53
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,iDAAgC;AAChC,2CAAwB;AACxB,mDAAkC;AAClC,+CAA4B;AAC5B,2DAA0C;AAC1C,+CAA4B;AAC5B,2DAA0C;AAC1C,2CAAwB;AACxB,mDAAkC;AAClC,6CAA4B;AAC5B,wCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,iDAAgC;AAChC,2CAAwB;AACxB,mDAAkC;AAClC,+CAA4B;AAC5B,2DAA0C;AAC1C,+CAA4B;AAC5B,2DAA0C;AAC1C,2CAAwB;AACxB,mDAAkC;AAClC,6CAA4B;AAC5B,wCAAqB;AACrB,6CAA0B"}
package/orm/libs.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { QueryBuilder, DatastoreValueType, PropertyOptions } from './types';
2
+ /**
3
+ * Creates multiple property OR queries added to the passed in query builder.
4
+ * Returns another QueryBuilder.
5
+ */
6
+ export declare const multipleOrQuery: <T>(queryBuilder: QueryBuilder, propertyKey: string, values: readonly T[], propertyType?: DatastoreValueType, propertyOptions?: PropertyOptions) => QueryBuilder;
7
+ /**
8
+ * Creates multiple AND queries.
9
+ */
10
+ export declare const multipleAndQuery: <T>(queryBuilder: QueryBuilder, propertyKey: string, values: readonly T[], propertyType?: DatastoreValueType) => QueryBuilder;
package/orm/libs.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.multipleAndQuery = exports.multipleOrQuery = void 0;
7
+ const flow_js_1 = __importDefault(require("lodash/flow.js"));
8
+ const types_1 = require("./types");
9
+ /**
10
+ * Creates multiple property OR queries added to the passed in query builder.
11
+ * Returns another QueryBuilder.
12
+ */
13
+ const multipleOrQuery = (queryBuilder, propertyKey, values, propertyType, propertyOptions) => {
14
+ if (values.length === 0) {
15
+ return queryBuilder;
16
+ }
17
+ return (0, flow_js_1.default)(values.map((v, index) => {
18
+ return (qb) => {
19
+ const withProperty = qb.property(propertyKey, v, Object.assign(Object.assign({}, (propertyOptions || {})), { type: propertyType || types_1.DatastoreValueType.string }));
20
+ // Add 'or()' only if this is not the last item
21
+ return index < values.length - 1 ? withProperty.or() : withProperty;
22
+ };
23
+ }))(queryBuilder);
24
+ };
25
+ exports.multipleOrQuery = multipleOrQuery;
26
+ /**
27
+ * Creates multiple AND queries.
28
+ */
29
+ const multipleAndQuery = (queryBuilder, propertyKey, values, propertyType) => {
30
+ if (values.length === 0) {
31
+ return queryBuilder;
32
+ }
33
+ return (0, flow_js_1.default)(values.map((v, index) => {
34
+ return (qb) => {
35
+ const withProperty = qb.property(propertyKey, v, {
36
+ type: propertyType || types_1.DatastoreValueType.string,
37
+ });
38
+ // Add 'or()' only if this is not the last item
39
+ return index < values.length - 1 ? withProperty.and() : withProperty;
40
+ };
41
+ }))(queryBuilder);
42
+ };
43
+ exports.multipleAndQuery = multipleAndQuery;
44
+ //# sourceMappingURL=libs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs.js","sourceRoot":"","sources":["../../src/orm/libs.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAiC;AACjC,mCAA2E;AAE3E;;;GAGG;AACI,MAAM,eAAe,GAAG,CAC7B,YAA0B,EAC1B,WAAmB,EACnB,MAAoB,EACpB,YAAiC,EACjC,eAAiC,EACnB,EAAE;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,OAAO,IAAA,iBAAI,EACT,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACtB,OAAO,CAAC,EAAgB,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,kCAC1C,CAAC,eAAe,IAAI,EAAE,CAAC,KAC1B,IAAI,EAAE,YAAY,IAAI,0BAAkB,CAAC,MAAM,IAC/C,CAAA;YACF,+CAA+C;YAC/C,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACrE,CAAC,CAAA;IACH,CAAC,CAAC,CACH,CAAC,YAAY,CAAC,CAAA;AACjB,CAAC,CAAA;AAvBY,QAAA,eAAe,mBAuB3B;AAED;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,YAA0B,EAC1B,WAAmB,EACnB,MAAoB,EACpB,YAAiC,EACnB,EAAE;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,OAAO,IAAA,iBAAI,EACT,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACtB,OAAO,CAAC,EAAgB,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;gBAC/C,IAAI,EAAE,YAAY,IAAI,0BAAkB,CAAC,MAAM;aAChD,CAAC,CAAA;YACF,+CAA+C;YAC/C,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACtE,CAAC,CAAA;IACH,CAAC,CAAC,CACH,CAAC,YAAY,CAAC,CAAA;AACjB,CAAC,CAAA;AArBY,QAAA,gBAAgB,oBAqB5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-models",
3
- "version": "3.8.2",
3
+ "version": "3.8.3",
4
4
  "description": "Functional models is ooey gooey framework for building and using awesome models EVERYWHERE.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",