@goatlab/fluent 0.7.39 → 0.7.41
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/BaseConnector.d.ts +112 -0
- package/dist/BaseConnector.js +347 -0
- package/dist/BaseConnector.js.map +1 -0
- package/dist/Fluent.d.ts +11 -0
- package/dist/Fluent.js +27 -0
- package/dist/Fluent.js.map +1 -0
- package/dist/FluentConnectorInterface.d.ts +17 -0
- package/dist/FluentConnectorInterface.js +3 -0
- package/dist/FluentConnectorInterface.js.map +1 -0
- package/dist/FluentEntity.d.ts +7 -0
- package/dist/FluentEntity.js +34 -0
- package/dist/FluentEntity.js.map +1 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +123 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.js +765 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +12 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +167 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +52 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +4 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +20 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +7 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +19 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +173 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +13 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +207 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +214 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js.map +1 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +44 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +87 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js.map +1 -0
- package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +38 -0
- package/dist/TypeOrmConnector/test/basic/goat.entity.js +82 -0
- package/dist/TypeOrmConnector/test/basic/goat.entity.js.map +1 -0
- package/dist/TypeOrmConnector/test/flock.d.ts +4 -0
- package/dist/TypeOrmConnector/test/flock.js +26 -0
- package/dist/TypeOrmConnector/test/flock.js.map +1 -0
- package/dist/TypeOrmConnector/util/clearEmpties.d.ts +7 -0
- package/dist/TypeOrmConnector/util/clearEmpties.js +33 -0
- package/dist/TypeOrmConnector/util/clearEmpties.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractConditions.d.ts +12 -0
- package/dist/TypeOrmConnector/util/extractConditions.js +89 -0
- package/dist/TypeOrmConnector/util/extractConditions.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
- package/dist/TypeOrmConnector/util/extractInclude.js +26 -0
- package/dist/TypeOrmConnector/util/extractInclude.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +49 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +2 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.js +24 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.js.map +1 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +27 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js.map +1 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +6 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +29 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js.map +1 -0
- package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
- package/dist/TypeOrmConnector/util/isAnyObject.js +8 -0
- package/dist/TypeOrmConnector/util/isAnyObject.js.map +1 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.js +38 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.js.map +1 -0
- package/dist/core/Loopback/build-schema.d.ts +148 -0
- package/dist/core/Loopback/build-schema.js +443 -0
- package/dist/core/Loopback/build-schema.js.map +1 -0
- package/dist/core/Loopback/common-types.d.ts +96 -0
- package/dist/core/Loopback/common-types.js +24 -0
- package/dist/core/Loopback/common-types.js.map +1 -0
- package/dist/core/Loopback/json-to-schema.d.ts +41 -0
- package/dist/core/Loopback/json-to-schema.js +113 -0
- package/dist/core/Loopback/json-to-schema.js.map +1 -0
- package/dist/core/Loopback/mapValues.js +2280 -0
- package/dist/core/Loopback/metadata.d.ts +16 -0
- package/dist/core/Loopback/metadata.js +49 -0
- package/dist/core/Loopback/metadata.js.map +1 -0
- package/dist/core/Loopback/model.d.ts +233 -0
- package/dist/core/Loopback/model.js +394 -0
- package/dist/core/Loopback/model.js.map +1 -0
- package/dist/core/Loopback/query.d.ts +394 -0
- package/dist/core/Loopback/query.js +484 -0
- package/dist/core/Loopback/query.js.map +1 -0
- package/dist/core/Loopback/relation.types.d.ts +141 -0
- package/dist/core/Loopback/relation.types.js +18 -0
- package/dist/core/Loopback/relation.types.js.map +1 -0
- package/dist/core/Loopback/type-resolver.d.ts +42 -0
- package/dist/core/Loopback/type-resolver.js +60 -0
- package/dist/core/Loopback/type-resolver.js.map +1 -0
- package/dist/core/Loopback/type.d.ts +38 -0
- package/dist/core/Loopback/type.js +7 -0
- package/dist/core/Loopback/type.js.map +1 -0
- package/dist/core/Nestjs/applyDecorators.d.ts +10 -0
- package/dist/core/Nestjs/applyDecorators.js +26 -0
- package/dist/core/Nestjs/applyDecorators.js.map +1 -0
- package/dist/core/Nestjs/types/common.d.ts +16 -0
- package/dist/core/Nestjs/types/common.js +38 -0
- package/dist/core/Nestjs/types/common.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +1 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +8 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +27 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js +66 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +5 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +136 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js +24 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +2 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +55 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.js +39 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js +28 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +48 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.js +63 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +25 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js +29 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +33 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +35 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +3 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js +46 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js.map +1 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +10 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js +10 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +10 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.js +11 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +3 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +11 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +11 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +11 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +15 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +239 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +7 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +2 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +9 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js.map +1 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +15 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +66 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +11 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +11 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/index.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/index.js +12 -0
- package/dist/core/Nestjs/types/metadata/index.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +6 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +4 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +18 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +20 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +34 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +9 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/object-type.decorator.d.ts +32 -0
- package/dist/core/Nestjs/types/object-type.decorator.js +33 -0
- package/dist/core/Nestjs/types/object-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/omit-type.d.ts +2 -0
- package/dist/core/Nestjs/types/omit-type.js +34 -0
- package/dist/core/Nestjs/types/omit-type.js.map +1 -0
- package/dist/core/Nestjs/types/reflection.utils.d.ts +15 -0
- package/dist/core/Nestjs/types/reflection.utils.js +65 -0
- package/dist/core/Nestjs/types/reflection.utils.js.map +1 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +20 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.js +33 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/type-metadata.storage.d.ts +73 -0
- package/dist/core/Nestjs/types/type-metadata.storage.js +349 -0
- package/dist/core/Nestjs/types/type-metadata.storage.js.map +1 -0
- package/dist/core/Nestjs/types/utils/enum.utils.d.ts +3 -0
- package/dist/core/Nestjs/types/utils/enum.utils.js +31 -0
- package/dist/core/Nestjs/types/utils/enum.utils.js.map +1 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +13 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +72 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js.map +1 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +2 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +38 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js.map +1 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +6 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js +37 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js.map +1 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +2 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js +16 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js.map +1 -0
- package/dist/core/types.d.ts +23 -0
- package/dist/core/types.js +31 -0
- package/dist/core/types.js.map +1 -0
- package/dist/decorators.d.ts +92 -0
- package/dist/decorators.js +163 -0
- package/dist/decorators.js.map +1 -0
- package/dist/generatorDatasource.d.ts +2 -0
- package/dist/generatorDatasource.js +13 -0
- package/dist/generatorDatasource.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/loadRelations.d.ts +12 -0
- package/dist/loadRelations.js +139 -0
- package/dist/loadRelations.js.map +1 -0
- package/dist/outputKeys.d.ts +2 -0
- package/dist/outputKeys.js +18 -0
- package/dist/outputKeys.js.map +1 -0
- package/dist/testing/genericUnifiedTestSuite.d.ts +21 -0
- package/dist/testing/genericUnifiedTestSuite.js +256 -0
- package/dist/testing/genericUnifiedTestSuite.js.map +1 -0
- package/dist/testing/unifiedTestFactory.d.ts +38 -0
- package/dist/testing/unifiedTestFactory.js +297 -0
- package/dist/testing/unifiedTestFactory.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +104 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/core/Loopback/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
type AnyObject = Record<string, any>;
|
|
2
|
+
/**
|
|
3
|
+
* Operators for where clauses
|
|
4
|
+
*/
|
|
5
|
+
export type Operators = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'inq' | 'nin' | 'between' | 'exists' | 'and' | 'or' | 'like' | 'nlike' | 'ilike' | 'nilike' | 'regexp';
|
|
6
|
+
/**
|
|
7
|
+
* Matching predicate comparison
|
|
8
|
+
*/
|
|
9
|
+
export type PredicateComparison<PT> = {
|
|
10
|
+
eq?: PT;
|
|
11
|
+
neq?: PT;
|
|
12
|
+
gt?: PT;
|
|
13
|
+
gte?: PT;
|
|
14
|
+
lt?: PT;
|
|
15
|
+
lte?: PT;
|
|
16
|
+
inq?: PT[];
|
|
17
|
+
nin?: PT[];
|
|
18
|
+
between?: [PT, PT];
|
|
19
|
+
exists?: boolean;
|
|
20
|
+
like?: PT;
|
|
21
|
+
nlike?: PT;
|
|
22
|
+
ilike?: PT;
|
|
23
|
+
nilike?: PT;
|
|
24
|
+
regexp?: string | RegExp;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Value types for `{propertyName: value}`
|
|
28
|
+
*/
|
|
29
|
+
export type ShortHandEqualType = string | number | boolean | Date;
|
|
30
|
+
/**
|
|
31
|
+
* Key types of a given model, excluding operators
|
|
32
|
+
*/
|
|
33
|
+
export type KeyOf<MT extends object> = Exclude<Extract<keyof MT, string>, Operators>;
|
|
34
|
+
/**
|
|
35
|
+
* Condition clause
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* {
|
|
40
|
+
* name: {inq: ['John', 'Mary']},
|
|
41
|
+
* status: 'ACTIVE',
|
|
42
|
+
* age: {gte: 40}
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export type Condition<MT extends object> = {
|
|
47
|
+
[P in KeyOf<MT>]?: PredicateComparison<MT[P]> | (MT[P] & ShortHandEqualType);
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Where clause
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* {
|
|
55
|
+
* name: {inq: ['John', 'Mary']},
|
|
56
|
+
* status: 'ACTIVE'
|
|
57
|
+
* and: [...],
|
|
58
|
+
* or: [...],
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export type Where<MT extends object = AnyObject> = Condition<MT> | AndClause<MT> | OrClause<MT>;
|
|
63
|
+
/**
|
|
64
|
+
* And clause
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* {
|
|
69
|
+
* and: [...],
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export interface AndClause<MT extends object> {
|
|
74
|
+
and: Where<MT>[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Or clause
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts
|
|
81
|
+
* {
|
|
82
|
+
* or: [...],
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export interface OrClause<MT extends object> {
|
|
87
|
+
or: Where<MT>[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Order by direction
|
|
91
|
+
*/
|
|
92
|
+
export type Direction = 'ASC' | 'DESC';
|
|
93
|
+
/**
|
|
94
|
+
* Order by
|
|
95
|
+
*
|
|
96
|
+
* Example:
|
|
97
|
+
* `{afieldname: 'ASC'}`
|
|
98
|
+
*/
|
|
99
|
+
export type Order<MT = AnyObject> = {
|
|
100
|
+
[P in keyof MT]: Direction;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Selection of fields
|
|
104
|
+
*
|
|
105
|
+
* Example:
|
|
106
|
+
* `{afieldname: true}`
|
|
107
|
+
*/
|
|
108
|
+
export type Fields<MT = AnyObject> = {
|
|
109
|
+
[P in keyof MT]?: boolean;
|
|
110
|
+
} | Extract<keyof MT, string>[];
|
|
111
|
+
/**
|
|
112
|
+
* Inclusion of related items
|
|
113
|
+
*
|
|
114
|
+
* Note: scope means filter on related items
|
|
115
|
+
*
|
|
116
|
+
* Example:
|
|
117
|
+
* `{relation: 'aRelationName', scope: {<AFilterObject>}}`
|
|
118
|
+
*/
|
|
119
|
+
export interface Inclusion {
|
|
120
|
+
relation: string;
|
|
121
|
+
scope?: Filter<AnyObject> & {
|
|
122
|
+
/**
|
|
123
|
+
* Global maximum number of inclusions. This is just to remain backward
|
|
124
|
+
* compatability. This totalLimit props takes precedence over limit
|
|
125
|
+
* https://github.com/loopbackio/loopback-next/issues/6832
|
|
126
|
+
*/
|
|
127
|
+
totalLimit?: number;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Query filter object
|
|
132
|
+
*/
|
|
133
|
+
export interface Filter<MT extends object = AnyObject> {
|
|
134
|
+
/**
|
|
135
|
+
* The matching criteria
|
|
136
|
+
*/
|
|
137
|
+
where?: Where<MT>;
|
|
138
|
+
/**
|
|
139
|
+
* To include/exclude fields
|
|
140
|
+
*/
|
|
141
|
+
fields?: Fields<MT>;
|
|
142
|
+
/**
|
|
143
|
+
* Sorting order for matched entities. Each item should be formatted as
|
|
144
|
+
* `fieldName ASC` or `fieldName DESC`.
|
|
145
|
+
* For example: `['f1 ASC', 'f2 DESC', 'f3 ASC']`.
|
|
146
|
+
*
|
|
147
|
+
* We might want to use `Order` in the future. Keep it as `string[]` for now
|
|
148
|
+
* for compatibility with LoopBack 3.x.
|
|
149
|
+
*/
|
|
150
|
+
order?: string[];
|
|
151
|
+
/**
|
|
152
|
+
* Maximum number of entities
|
|
153
|
+
*/
|
|
154
|
+
limit?: number;
|
|
155
|
+
/**
|
|
156
|
+
* Skip N number of entities
|
|
157
|
+
*/
|
|
158
|
+
skip?: number;
|
|
159
|
+
/**
|
|
160
|
+
* Offset N number of entities. An alias for `skip`
|
|
161
|
+
*/
|
|
162
|
+
offset?: number;
|
|
163
|
+
/**
|
|
164
|
+
* To include related objects
|
|
165
|
+
*/
|
|
166
|
+
include?: InclusionFilter[];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Inclusion filter type e.g. 'property', {relation: 'property'}
|
|
170
|
+
*/
|
|
171
|
+
export type InclusionFilter = string | Inclusion;
|
|
172
|
+
/**
|
|
173
|
+
* Filter without `where` property
|
|
174
|
+
*/
|
|
175
|
+
export type FilterExcludingWhere<MT extends object = AnyObject> = Omit<Filter<MT>, 'where'>;
|
|
176
|
+
/**
|
|
177
|
+
* TypeGuard for Filter
|
|
178
|
+
* @param candidate
|
|
179
|
+
*/
|
|
180
|
+
export declare function isFilter<MT extends object>(candidate: any): candidate is Filter<MT>;
|
|
181
|
+
/**
|
|
182
|
+
* A builder for Where object. It provides fluent APIs to add clauses such as
|
|
183
|
+
* `and`, `or`, and other operators.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts
|
|
187
|
+
* const whereBuilder = new WhereBuilder();
|
|
188
|
+
* const where = whereBuilder
|
|
189
|
+
* .eq('a', 1)
|
|
190
|
+
* .and({x: 'x'}, {y: {gt: 1}})
|
|
191
|
+
* .and({b: 'b'}, {c: {lt: 1}})
|
|
192
|
+
* .or({d: 'd'}, {e: {neq: 1}})
|
|
193
|
+
* .build();
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare class WhereBuilder<MT extends object = AnyObject> {
|
|
197
|
+
where: Where<MT>;
|
|
198
|
+
constructor(w?: Where<MT>);
|
|
199
|
+
private add;
|
|
200
|
+
/**
|
|
201
|
+
* @deprecated
|
|
202
|
+
* Starting from TypeScript 3.2, we don't have to cast any more. This method
|
|
203
|
+
* should be considered as `deprecated`.
|
|
204
|
+
*
|
|
205
|
+
* Cast an `and`, `or`, or condition clause to Where
|
|
206
|
+
* @param clause - And/Or/Condition clause
|
|
207
|
+
*/
|
|
208
|
+
cast(clause: AndClause<MT> | OrClause<MT> | Condition<MT>): Where<MT>;
|
|
209
|
+
/**
|
|
210
|
+
* Add an `and` clause.
|
|
211
|
+
* @param w - One or more where objects
|
|
212
|
+
*/
|
|
213
|
+
and(...w: (Where<MT> | Where<MT>[])[]): this;
|
|
214
|
+
/**
|
|
215
|
+
* Add an `or` clause.
|
|
216
|
+
* @param w - One or more where objects
|
|
217
|
+
*/
|
|
218
|
+
or(...w: (Where<MT> | Where<MT>[])[]): this;
|
|
219
|
+
/**
|
|
220
|
+
* Add an `=` condition
|
|
221
|
+
* @param key - Property name
|
|
222
|
+
* @param val - Property value
|
|
223
|
+
*/
|
|
224
|
+
eq<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
225
|
+
/**
|
|
226
|
+
* Add a `!=` condition
|
|
227
|
+
* @param key - Property name
|
|
228
|
+
* @param val - Property value
|
|
229
|
+
*/
|
|
230
|
+
neq<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
231
|
+
/**
|
|
232
|
+
* Add a `>` condition
|
|
233
|
+
* @param key - Property name
|
|
234
|
+
* @param val - Property value
|
|
235
|
+
*/
|
|
236
|
+
gt<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
237
|
+
/**
|
|
238
|
+
* Add a `>=` condition
|
|
239
|
+
* @param key - Property name
|
|
240
|
+
* @param val - Property value
|
|
241
|
+
*/
|
|
242
|
+
gte<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
243
|
+
/**
|
|
244
|
+
* Add a `<` condition
|
|
245
|
+
* @param key - Property name
|
|
246
|
+
* @param val - Property value
|
|
247
|
+
*/
|
|
248
|
+
lt<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
249
|
+
/**
|
|
250
|
+
* Add a `<=` condition
|
|
251
|
+
* @param key - Property name
|
|
252
|
+
* @param val - Property value
|
|
253
|
+
*/
|
|
254
|
+
lte<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
255
|
+
/**
|
|
256
|
+
* Add a `inq` condition
|
|
257
|
+
* @param key - Property name
|
|
258
|
+
* @param val - An array of property values
|
|
259
|
+
*/
|
|
260
|
+
inq<K extends KeyOf<MT>>(key: K, val: MT[K][]): this;
|
|
261
|
+
/**
|
|
262
|
+
* Add a `nin` condition
|
|
263
|
+
* @param key - Property name
|
|
264
|
+
* @param val - An array of property values
|
|
265
|
+
*/
|
|
266
|
+
nin<K extends KeyOf<MT>>(key: K, val: MT[K][]): this;
|
|
267
|
+
/**
|
|
268
|
+
* Add a `between` condition
|
|
269
|
+
* @param key - Property name
|
|
270
|
+
* @param val1 - Property value lower bound
|
|
271
|
+
* @param val2 - Property value upper bound
|
|
272
|
+
*/
|
|
273
|
+
between<K extends KeyOf<MT>>(key: K, val1: MT[K], val2: MT[K]): this;
|
|
274
|
+
/**
|
|
275
|
+
* Add a `exists` condition
|
|
276
|
+
* @param key - Property name
|
|
277
|
+
* @param val - Exists or not
|
|
278
|
+
*/
|
|
279
|
+
exists<K extends KeyOf<MT>>(key: K, val?: boolean): this;
|
|
280
|
+
/**
|
|
281
|
+
* Add a where object. For conflicting keys with the existing where object,
|
|
282
|
+
* create an `and` clause.
|
|
283
|
+
* @param where - Where filter
|
|
284
|
+
*/
|
|
285
|
+
impose(where: Where<MT>): this;
|
|
286
|
+
/**
|
|
287
|
+
* Add a `like` condition
|
|
288
|
+
* @param key - Property name
|
|
289
|
+
* @param val - Regexp condition
|
|
290
|
+
*/
|
|
291
|
+
like<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
292
|
+
/**
|
|
293
|
+
* Add a `nlike` condition
|
|
294
|
+
* @param key - Property name
|
|
295
|
+
* @param val - Regexp condition
|
|
296
|
+
*/
|
|
297
|
+
nlike<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
298
|
+
/**
|
|
299
|
+
* Add a `ilike` condition
|
|
300
|
+
* @param key - Property name
|
|
301
|
+
* @param val - Regexp condition
|
|
302
|
+
*/
|
|
303
|
+
ilike<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
304
|
+
/**
|
|
305
|
+
* Add a `nilike` condition
|
|
306
|
+
* @param key - Property name
|
|
307
|
+
* @param val - Regexp condition
|
|
308
|
+
*/
|
|
309
|
+
nilike<K extends KeyOf<MT>>(key: K, val: MT[K]): this;
|
|
310
|
+
/**
|
|
311
|
+
* Add a `regexp` condition
|
|
312
|
+
* @param key - Property name
|
|
313
|
+
* @param val - Regexp condition
|
|
314
|
+
*/
|
|
315
|
+
regexp<K extends KeyOf<MT>>(key: K, val: string | RegExp): this;
|
|
316
|
+
/**
|
|
317
|
+
* Get the where object
|
|
318
|
+
*/
|
|
319
|
+
build(): Where<MT>;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* A builder for Filter. It provides fleunt APIs to add clauses such as
|
|
323
|
+
* `fields`, `order`, `where`, `limit`, `offset`, and `include`.
|
|
324
|
+
*
|
|
325
|
+
* @example
|
|
326
|
+
* ```ts
|
|
327
|
+
* const filterBuilder = new FilterBuilder();
|
|
328
|
+
* const filter = filterBuilder
|
|
329
|
+
* .fields('id', 'a', 'b')
|
|
330
|
+
* .limit(10)
|
|
331
|
+
* .offset(0)
|
|
332
|
+
* .order(['a ASC', 'b DESC'])
|
|
333
|
+
* .where({id: 1})
|
|
334
|
+
* .build();
|
|
335
|
+
* ```
|
|
336
|
+
*/
|
|
337
|
+
export declare class FilterBuilder<MT extends object = AnyObject> {
|
|
338
|
+
filter: Filter<MT>;
|
|
339
|
+
constructor(f?: Filter<MT>);
|
|
340
|
+
/**
|
|
341
|
+
* Set `limit`
|
|
342
|
+
* @param limit - Maximum number of records to be returned
|
|
343
|
+
*/
|
|
344
|
+
limit(limit: number): this;
|
|
345
|
+
/**
|
|
346
|
+
* Set `offset`
|
|
347
|
+
* @param offset - Offset of the number of records to be returned
|
|
348
|
+
*/
|
|
349
|
+
offset(offset: number): this;
|
|
350
|
+
/**
|
|
351
|
+
* Alias to `offset`
|
|
352
|
+
* @param skip
|
|
353
|
+
*/
|
|
354
|
+
skip(skip: number): this;
|
|
355
|
+
/**
|
|
356
|
+
* Describe what fields to be included/excluded
|
|
357
|
+
* @param f - A field name to be included, an array of field names to be
|
|
358
|
+
* included, or an Fields object for the inclusion/exclusion
|
|
359
|
+
*/
|
|
360
|
+
fields(...f: (Fields<MT> | Extract<keyof MT, string>)[]): this;
|
|
361
|
+
private validateOrder;
|
|
362
|
+
/**
|
|
363
|
+
* Describe the sorting order
|
|
364
|
+
* @param o - A field name with optional direction, an array of field names,
|
|
365
|
+
* or an Order object for the field/direction pairs
|
|
366
|
+
*/
|
|
367
|
+
order(...o: (string | string[] | Order<MT>)[]): this;
|
|
368
|
+
/**
|
|
369
|
+
* Declare `include`
|
|
370
|
+
* @param i - A relation name, an array of relation names, or an `Inclusion`
|
|
371
|
+
* object for the relation/scope definitions
|
|
372
|
+
*/
|
|
373
|
+
include(...i: (string | string[] | Inclusion)[]): this;
|
|
374
|
+
/**
|
|
375
|
+
* Declare a where clause
|
|
376
|
+
* @param w - Where object
|
|
377
|
+
*/
|
|
378
|
+
where(w: Where<MT>): this;
|
|
379
|
+
/**
|
|
380
|
+
* Add a Filter or Where constraint object. If it is a filter object, create
|
|
381
|
+
* an `and` clause for conflicting keys with its where object. For any other
|
|
382
|
+
* properties, throw an error. If it's not a Filter, coerce it to a filter,
|
|
383
|
+
* and carry out the same logic.
|
|
384
|
+
*
|
|
385
|
+
* @param constraint - a constraint object to merge with own filter object
|
|
386
|
+
*/
|
|
387
|
+
impose(constraint: Filter<MT> | Where<MT>): this;
|
|
388
|
+
/**
|
|
389
|
+
* Return the filter object
|
|
390
|
+
*/
|
|
391
|
+
build(): Filter<MT>;
|
|
392
|
+
}
|
|
393
|
+
export declare function filterTemplate(strings: TemplateStringsArray, ...keys: any[]): (ctx: AnyObject) => any;
|
|
394
|
+
export {};
|