@loopback/repository 4.0.0-alpha.7 → 4.0.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.
- package/LICENSE +25 -0
- package/README.md +94 -372
- package/dist/common-types.d.ts +96 -0
- package/dist/common-types.js +24 -0
- package/dist/common-types.js.map +1 -0
- package/dist/connectors/connector.d.ts +48 -0
- package/{lib → dist/connectors}/connector.js +1 -1
- package/dist/connectors/connector.js.map +1 -0
- package/{lib/crud-connector.d.ts → dist/connectors/crud.connector.d.ts} +51 -51
- package/{lib/common-types.js → dist/connectors/crud.connector.js} +2 -2
- package/dist/connectors/crud.connector.js.map +1 -0
- package/dist/connectors/index.d.ts +3 -0
- package/dist/connectors/index.js +11 -0
- package/dist/connectors/index.js.map +1 -0
- package/{lib6/kv-connector.d.ts → dist/connectors/kv.connector.d.ts} +28 -28
- package/{lib/datasource.js → dist/connectors/kv.connector.js} +2 -2
- package/dist/connectors/kv.connector.js.map +1 -0
- package/dist/datasource.d.ts +27 -0
- package/{lib6 → dist}/datasource.js +1 -1
- package/dist/datasource.js.map +1 -0
- package/dist/decorators/index.d.ts +3 -0
- package/dist/decorators/index.js +11 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/metadata.d.ts +12 -0
- package/dist/decorators/metadata.js +51 -0
- package/dist/decorators/metadata.js.map +1 -0
- package/dist/decorators/model.decorator.d.ts +40 -0
- package/dist/decorators/model.decorator.js +112 -0
- package/dist/decorators/model.decorator.js.map +1 -0
- package/dist/decorators/repository.decorator.d.ts +106 -0
- package/dist/decorators/repository.decorator.js +114 -0
- package/dist/decorators/repository.decorator.js.map +1 -0
- package/dist/define-model-class.d.ts +55 -0
- package/dist/define-model-class.js +57 -0
- package/dist/define-model-class.js.map +1 -0
- package/dist/define-repository-class.d.ts +119 -0
- package/dist/define-repository-class.js +98 -0
- package/dist/define-repository-class.js.map +1 -0
- package/dist/errors/entity-not-found.error.d.ts +8 -0
- package/dist/errors/entity-not-found.error.js +28 -0
- package/dist/errors/entity-not-found.error.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.js +10 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/invalid-relation.error.d.ts +10 -0
- package/dist/errors/invalid-relation.error.js +28 -0
- package/dist/errors/invalid-relation.error.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/keys.d.ts +34 -0
- package/dist/keys.js +44 -0
- package/dist/keys.js.map +1 -0
- package/dist/mixins/index.d.ts +1 -0
- package/dist/mixins/index.js +9 -0
- package/dist/mixins/index.js.map +1 -0
- package/dist/mixins/repository.mixin.d.ts +377 -0
- package/dist/mixins/repository.mixin.js +405 -0
- package/dist/mixins/repository.mixin.js.map +1 -0
- package/dist/model.d.ts +232 -0
- package/dist/model.js +367 -0
- package/dist/model.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.accessor.d.ts +17 -0
- package/dist/relations/belongs-to/belongs-to.accessor.js +40 -0
- package/dist/relations/belongs-to/belongs-to.accessor.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.decorator.d.ts +11 -0
- package/dist/relations/belongs-to/belongs-to.decorator.js +64 -0
- package/dist/relations/belongs-to/belongs-to.decorator.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.helpers.d.ts +17 -0
- package/dist/relations/belongs-to/belongs-to.helpers.js +63 -0
- package/dist/relations/belongs-to/belongs-to.helpers.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts +14 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js +36 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.repository.d.ts +28 -0
- package/dist/relations/belongs-to/belongs-to.repository.js +33 -0
- package/dist/relations/belongs-to/belongs-to.repository.js.map +1 -0
- package/dist/relations/belongs-to/index.d.ts +4 -0
- package/dist/relations/belongs-to/index.js +12 -0
- package/dist/relations/belongs-to/index.js.map +1 -0
- package/dist/relations/has-many/has-many-through.helpers.d.ts +182 -0
- package/dist/relations/has-many/has-many-through.helpers.js +282 -0
- package/dist/relations/has-many/has-many-through.helpers.js.map +1 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.d.ts +16 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.js +78 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-many/has-many-through.repository-factory.d.ts +17 -0
- package/dist/relations/has-many/has-many-through.repository-factory.js +37 -0
- package/dist/relations/has-many/has-many-through.repository-factory.js.map +1 -0
- package/dist/relations/has-many/has-many-through.repository.d.ts +114 -0
- package/dist/relations/has-many/has-many-through.repository.js +103 -0
- package/dist/relations/has-many/has-many-through.repository.js.map +1 -0
- package/dist/relations/has-many/has-many.decorator.d.ts +11 -0
- package/dist/relations/has-many/has-many.decorator.js +36 -0
- package/dist/relations/has-many/has-many.decorator.js.map +1 -0
- package/dist/relations/has-many/has-many.helpers.d.ts +26 -0
- package/dist/relations/has-many/has-many.helpers.js +78 -0
- package/dist/relations/has-many/has-many.helpers.js.map +1 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.d.ts +14 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.js +45 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-many/has-many.repository-factory.d.ts +28 -0
- package/dist/relations/has-many/has-many.repository-factory.js +39 -0
- package/dist/relations/has-many/has-many.repository-factory.js.map +1 -0
- package/dist/relations/has-many/has-many.repository.d.ts +54 -0
- package/dist/relations/has-many/has-many.repository.js +38 -0
- package/dist/relations/has-many/has-many.repository.js.map +1 -0
- package/dist/relations/has-many/index.d.ts +6 -0
- package/dist/relations/has-many/index.js +14 -0
- package/dist/relations/has-many/index.js.map +1 -0
- package/dist/relations/has-one/has-one.decorator.d.ts +3 -0
- package/dist/relations/has-one/has-one.decorator.js +37 -0
- package/dist/relations/has-one/has-one.decorator.js.map +1 -0
- package/dist/relations/has-one/has-one.helpers.d.ts +17 -0
- package/dist/relations/has-one/has-one.helpers.js +64 -0
- package/dist/relations/has-one/has-one.helpers.js.map +1 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.d.ts +14 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.js +35 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-one/has-one.repository-factory.d.ts +28 -0
- package/dist/relations/has-one/has-one.repository-factory.js +39 -0
- package/dist/relations/has-one/has-one.repository-factory.js.map +1 -0
- package/dist/relations/has-one/has-one.repository.d.ts +53 -0
- package/dist/relations/has-one/has-one.repository.js +45 -0
- package/dist/relations/has-one/has-one.repository.js.map +1 -0
- package/dist/relations/has-one/index.d.ts +3 -0
- package/dist/relations/has-one/index.js +11 -0
- package/dist/relations/has-one/index.js.map +1 -0
- package/dist/relations/index.d.ts +6 -0
- package/dist/relations/index.js +14 -0
- package/dist/relations/index.js.map +1 -0
- package/dist/relations/relation.decorator.d.ts +39 -0
- package/dist/relations/relation.decorator.js +88 -0
- package/dist/relations/relation.decorator.js.map +1 -0
- package/dist/relations/relation.helpers.d.ts +105 -0
- package/dist/relations/relation.helpers.js +304 -0
- package/dist/relations/relation.helpers.js.map +1 -0
- package/dist/relations/relation.types.d.ts +142 -0
- package/dist/relations/relation.types.js +21 -0
- package/dist/relations/relation.types.js.map +1 -0
- package/dist/repositories/constraint-utils.d.ts +49 -0
- package/dist/repositories/constraint-utils.js +87 -0
- package/dist/repositories/constraint-utils.js.map +1 -0
- package/dist/repositories/index.d.ts +5 -0
- package/dist/repositories/index.js +13 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/kv.repository.bridge.d.ts +30 -0
- package/dist/repositories/kv.repository.bridge.js +76 -0
- package/dist/repositories/kv.repository.bridge.js.map +1 -0
- package/dist/repositories/kv.repository.d.ts +74 -0
- package/{lib/crud-connector.js → dist/repositories/kv.repository.js} +2 -2
- package/dist/repositories/kv.repository.js.map +1 -0
- package/dist/repositories/legacy-juggler-bridge.d.ts +305 -0
- package/dist/repositories/legacy-juggler-bridge.js +452 -0
- package/dist/repositories/legacy-juggler-bridge.js.map +1 -0
- package/dist/repositories/repository.d.ts +223 -0
- package/dist/repositories/repository.js +157 -0
- package/dist/repositories/repository.js.map +1 -0
- package/dist/transaction.d.ts +30 -0
- package/dist/transaction.js +18 -0
- package/dist/transaction.js.map +1 -0
- package/dist/type-resolver.d.ts +42 -0
- package/dist/type-resolver.js +61 -0
- package/dist/type-resolver.js.map +1 -0
- package/{lib → dist}/types/any.d.ts +1 -1
- package/{lib6 → dist}/types/any.js +3 -2
- package/dist/types/any.js.map +1 -0
- package/{lib6 → dist}/types/array.d.ts +4 -4
- package/{lib6 → dist}/types/array.js +6 -4
- package/dist/types/array.js.map +1 -0
- package/{lib → dist}/types/boolean.d.ts +1 -1
- package/{lib6 → dist}/types/boolean.js +3 -2
- package/dist/types/boolean.js.map +1 -0
- package/{lib6 → dist}/types/buffer.d.ts +2 -2
- package/{lib → dist}/types/buffer.js +8 -6
- package/dist/types/buffer.js.map +1 -0
- package/{lib → dist}/types/date.d.ts +1 -1
- package/{lib → dist}/types/date.js +6 -4
- package/dist/types/date.js.map +1 -0
- package/{lib → dist}/types/index.d.ts +11 -9
- package/dist/types/index.js +49 -0
- package/dist/types/index.js.map +1 -0
- package/{lib6 → dist}/types/model.d.ts +2 -1
- package/{lib6 → dist}/types/model.js +2 -2
- package/dist/types/model.js.map +1 -0
- package/dist/types/null.d.ts +12 -0
- package/{lib/types/boolean.js → dist/types/null.js} +12 -11
- package/dist/types/null.js.map +1 -0
- package/{lib6 → dist}/types/number.d.ts +1 -1
- package/{lib → dist}/types/number.js +6 -4
- package/dist/types/number.js.map +1 -0
- package/{lib → dist}/types/object.d.ts +1 -1
- package/{lib → dist}/types/object.js +7 -6
- package/dist/types/object.js.map +1 -0
- package/{lib → dist}/types/string.d.ts +1 -1
- package/{lib → dist}/types/string.js +3 -2
- package/dist/types/string.js.map +1 -0
- package/{lib6 → dist}/types/type.d.ts +7 -7
- package/{lib6 → dist}/types/type.js +1 -1
- package/dist/types/type.js.map +1 -0
- package/{lib → dist}/types/union.d.ts +1 -1
- package/{lib → dist}/types/union.js +6 -4
- package/dist/types/union.js.map +1 -0
- package/package.json +49 -32
- package/src/common-types.ts +123 -0
- package/src/connectors/connector.ts +70 -0
- package/src/connectors/crud.connector.ts +208 -0
- package/src/connectors/index.ts +8 -0
- package/src/connectors/kv.connector.ts +113 -0
- package/src/datasource.ts +37 -0
- package/src/decorators/index.ts +8 -0
- package/src/decorators/metadata.ts +84 -0
- package/src/decorators/model.decorator.ts +166 -0
- package/src/decorators/repository.decorator.ts +223 -0
- package/src/define-model-class.ts +90 -0
- package/src/define-repository-class.ts +170 -0
- package/src/errors/entity-not-found.error.ts +40 -0
- package/src/errors/index.ts +7 -0
- package/src/errors/invalid-relation.error.ts +39 -0
- package/src/index.ts +36 -0
- package/src/keys.ts +40 -0
- package/{index.d.ts → src/mixins/index.ts} +2 -2
- package/src/mixins/repository.mixin.ts +499 -0
- package/src/model.ts +539 -0
- package/src/relations/belongs-to/belongs-to.accessor.ts +74 -0
- package/src/relations/belongs-to/belongs-to.decorator.ts +81 -0
- package/src/relations/belongs-to/belongs-to.helpers.ts +78 -0
- package/src/relations/belongs-to/belongs-to.inclusion-resolver.ts +71 -0
- package/src/relations/belongs-to/belongs-to.repository.ts +55 -0
- package/src/relations/belongs-to/index.ts +9 -0
- package/src/relations/has-many/has-many-through.helpers.ts +361 -0
- package/src/relations/has-many/has-many-through.inclusion-resolver.ts +135 -0
- package/src/relations/has-many/has-many-through.repository-factory.ts +121 -0
- package/src/relations/has-many/has-many-through.repository.ts +318 -0
- package/src/relations/has-many/has-many.decorator.ts +38 -0
- package/src/relations/has-many/has-many.helpers.ts +100 -0
- package/src/relations/has-many/has-many.inclusion-resolver.ts +88 -0
- package/src/relations/has-many/has-many.repository-factory.ts +76 -0
- package/src/relations/has-many/has-many.repository.ts +118 -0
- package/src/relations/has-many/index.ts +11 -0
- package/src/relations/has-one/has-one.decorator.ts +40 -0
- package/src/relations/has-one/has-one.helpers.ts +84 -0
- package/src/relations/has-one/has-one.inclusion-resolver.ts +65 -0
- package/src/relations/has-one/has-one.repository-factory.ts +72 -0
- package/src/relations/has-one/has-one.repository.ts +127 -0
- package/src/relations/has-one/index.ts +8 -0
- package/src/relations/index.ts +11 -0
- package/src/relations/relation.decorator.ts +90 -0
- package/src/relations/relation.helpers.ts +373 -0
- package/src/relations/relation.types.ts +180 -0
- package/src/repositories/constraint-utils.ts +98 -0
- package/src/repositories/index.ts +10 -0
- package/src/repositories/kv.repository.bridge.ts +97 -0
- package/src/repositories/kv.repository.ts +87 -0
- package/src/repositories/legacy-juggler-bridge.ts +788 -0
- package/src/repositories/repository.ts +441 -0
- package/src/transaction.ts +39 -0
- package/src/type-resolver.ts +98 -0
- package/src/types/any.ts +38 -0
- package/src/types/array.ts +53 -0
- package/src/types/boolean.ts +35 -0
- package/src/types/buffer.ts +53 -0
- package/src/types/date.ts +61 -0
- package/src/types/index.ts +52 -0
- package/src/types/model.ts +24 -0
- package/src/types/null.ts +35 -0
- package/src/types/number.ts +42 -0
- package/src/types/object.ts +53 -0
- package/src/types/string.ts +42 -0
- package/src/types/type.ts +51 -0
- package/src/types/union.ts +55 -0
- package/api-docs/apple-touch-icon-114x114-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-144x144-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-57x57-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-72x72-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-precomposed.png +0 -0
- package/api-docs/apple-touch-icon.png +0 -0
- package/api-docs/css/bootstrap.min.css +0 -9
- package/api-docs/css/code-themes/arta.css +0 -158
- package/api-docs/css/code-themes/ascetic.css +0 -50
- package/api-docs/css/code-themes/brown_paper.css +0 -104
- package/api-docs/css/code-themes/brown_papersq.png +0 -0
- package/api-docs/css/code-themes/dark.css +0 -103
- package/api-docs/css/code-themes/default.css +0 -135
- package/api-docs/css/code-themes/far.css +0 -111
- package/api-docs/css/code-themes/github.css +0 -127
- package/api-docs/css/code-themes/googlecode.css +0 -144
- package/api-docs/css/code-themes/idea.css +0 -121
- package/api-docs/css/code-themes/ir_black.css +0 -104
- package/api-docs/css/code-themes/magula.css +0 -121
- package/api-docs/css/code-themes/monokai.css +0 -114
- package/api-docs/css/code-themes/pojoaque.css +0 -104
- package/api-docs/css/code-themes/pojoaque.jpg +0 -0
- package/api-docs/css/code-themes/rainbow.css +0 -114
- package/api-docs/css/code-themes/school_book.css +0 -111
- package/api-docs/css/code-themes/school_book.png +0 -0
- package/api-docs/css/code-themes/sl-theme.css +0 -45
- package/api-docs/css/code-themes/solarized_dark.css +0 -88
- package/api-docs/css/code-themes/solarized_light.css +0 -88
- package/api-docs/css/code-themes/sunburst.css +0 -158
- package/api-docs/css/code-themes/tomorrow-night-blue.css +0 -52
- package/api-docs/css/code-themes/tomorrow-night-bright.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night-eighties.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night.css +0 -52
- package/api-docs/css/code-themes/tomorrow.css +0 -49
- package/api-docs/css/code-themes/vs.css +0 -86
- package/api-docs/css/code-themes/xcode.css +0 -154
- package/api-docs/css/code-themes/zenburn.css +0 -115
- package/api-docs/css/main.css +0 -139
- package/api-docs/favicon.ico +0 -0
- package/api-docs/fonts/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/OsJ2DjdpjqFRVUSto6IffLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/_aijTyevf54tkVDLy-dlnLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/index.html +0 -18017
- package/api-docs/js/main.js +0 -19
- package/api-docs/js/vendor/bootstrap.min.js +0 -6
- package/api-docs/js/vendor/jquery-1.10.1.min.js +0 -6
- package/api-docs/js/vendor/jquery.scrollTo-1.4.3.1.js +0 -218
- package/api-docs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
- package/index.js +0 -9
- package/lib/common-types.d.ts +0 -44
- package/lib/common-types.js.map +0 -1
- package/lib/connector.d.ts +0 -12
- package/lib/connector.js.map +0 -1
- package/lib/crud-connector.js.map +0 -1
- package/lib/datasource.d.ts +0 -11
- package/lib/datasource.js.map +0 -1
- package/lib/decorators/model.d.ts +0 -17
- package/lib/decorators/model.js +0 -55
- package/lib/decorators/model.js.map +0 -1
- package/lib/decorators/relation.d.ts +0 -65
- package/lib/decorators/relation.js +0 -126
- package/lib/decorators/relation.js.map +0 -1
- package/lib/decorators/repository.d.ts +0 -61
- package/lib/decorators/repository.js +0 -107
- package/lib/decorators/repository.js.map +0 -1
- package/lib/index.d.ts +0 -16
- package/lib/index.js +0 -20
- package/lib/index.js.map +0 -1
- package/lib/kv-connector.d.ts +0 -77
- package/lib/kv-connector.js +0 -7
- package/lib/kv-connector.js.map +0 -1
- package/lib/kv-repository.d.ts +0 -78
- package/lib/kv-repository.js +0 -7
- package/lib/kv-repository.js.map +0 -1
- package/lib/legacy-juggler-bridge.d.ts +0 -53
- package/lib/legacy-juggler-bridge.js +0 -142
- package/lib/legacy-juggler-bridge.js.map +0 -1
- package/lib/loopback-datasource-juggler.d.ts +0 -666
- package/lib/loopback-datasource-juggler.js +0 -8
- package/lib/loopback-datasource-juggler.js.map +0 -1
- package/lib/mixin.d.ts +0 -43
- package/lib/mixin.js +0 -34
- package/lib/mixin.js.map +0 -1
- package/lib/model.d.ts +0 -137
- package/lib/model.js +0 -182
- package/lib/model.js.map +0 -1
- package/lib/query.d.ts +0 -112
- package/lib/query.js +0 -25
- package/lib/query.js.map +0 -1
- package/lib/repository.d.ts +0 -172
- package/lib/repository.js +0 -127
- package/lib/repository.js.map +0 -1
- package/lib/types/any.js +0 -35
- package/lib/types/any.js.map +0 -1
- package/lib/types/array.d.ts +0 -14
- package/lib/types/array.js +0 -53
- package/lib/types/array.js.map +0 -1
- package/lib/types/boolean.js.map +0 -1
- package/lib/types/buffer.d.ts +0 -14
- package/lib/types/buffer.js.map +0 -1
- package/lib/types/date.js.map +0 -1
- package/lib/types/index.js +0 -33
- package/lib/types/index.js.map +0 -1
- package/lib/types/model.d.ts +0 -11
- package/lib/types/model.js +0 -25
- package/lib/types/model.js.map +0 -1
- package/lib/types/number.d.ts +0 -12
- package/lib/types/number.js.map +0 -1
- package/lib/types/object.js.map +0 -1
- package/lib/types/string.js.map +0 -1
- package/lib/types/type.d.ts +0 -38
- package/lib/types/type.js +0 -7
- package/lib/types/type.js.map +0 -1
- package/lib/types/union.js.map +0 -1
- package/lib6/common-types.d.ts +0 -44
- package/lib6/common-types.js +0 -7
- package/lib6/common-types.js.map +0 -1
- package/lib6/connector.d.ts +0 -12
- package/lib6/connector.js +0 -7
- package/lib6/connector.js.map +0 -1
- package/lib6/crud-connector.d.ts +0 -130
- package/lib6/crud-connector.js +0 -7
- package/lib6/crud-connector.js.map +0 -1
- package/lib6/datasource.d.ts +0 -11
- package/lib6/datasource.js.map +0 -1
- package/lib6/decorators/model.d.ts +0 -17
- package/lib6/decorators/model.js +0 -55
- package/lib6/decorators/model.js.map +0 -1
- package/lib6/decorators/relation.d.ts +0 -65
- package/lib6/decorators/relation.js +0 -126
- package/lib6/decorators/relation.js.map +0 -1
- package/lib6/decorators/repository.d.ts +0 -61
- package/lib6/decorators/repository.js +0 -117
- package/lib6/decorators/repository.js.map +0 -1
- package/lib6/index.d.ts +0 -16
- package/lib6/index.js +0 -20
- package/lib6/index.js.map +0 -1
- package/lib6/kv-connector.js +0 -7
- package/lib6/kv-connector.js.map +0 -1
- package/lib6/kv-repository.d.ts +0 -78
- package/lib6/kv-repository.js +0 -7
- package/lib6/kv-repository.js.map +0 -1
- package/lib6/legacy-juggler-bridge.d.ts +0 -53
- package/lib6/legacy-juggler-bridge.js +0 -158
- package/lib6/legacy-juggler-bridge.js.map +0 -1
- package/lib6/loopback-datasource-juggler.d.ts +0 -666
- package/lib6/loopback-datasource-juggler.js +0 -8
- package/lib6/loopback-datasource-juggler.js.map +0 -1
- package/lib6/mixin.d.ts +0 -43
- package/lib6/mixin.js +0 -34
- package/lib6/mixin.js.map +0 -1
- package/lib6/model.d.ts +0 -137
- package/lib6/model.js +0 -182
- package/lib6/model.js.map +0 -1
- package/lib6/query.d.ts +0 -112
- package/lib6/query.js +0 -25
- package/lib6/query.js.map +0 -1
- package/lib6/repository.d.ts +0 -172
- package/lib6/repository.js +0 -127
- package/lib6/repository.js.map +0 -1
- package/lib6/types/any.d.ts +0 -12
- package/lib6/types/any.js.map +0 -1
- package/lib6/types/array.js.map +0 -1
- package/lib6/types/boolean.d.ts +0 -12
- package/lib6/types/boolean.js.map +0 -1
- package/lib6/types/buffer.js +0 -57
- package/lib6/types/buffer.js.map +0 -1
- package/lib6/types/date.d.ts +0 -12
- package/lib6/types/date.js +0 -60
- package/lib6/types/date.js.map +0 -1
- package/lib6/types/index.d.ts +0 -30
- package/lib6/types/index.js +0 -33
- package/lib6/types/index.js.map +0 -1
- package/lib6/types/model.js.map +0 -1
- package/lib6/types/number.js +0 -40
- package/lib6/types/number.js.map +0 -1
- package/lib6/types/object.d.ts +0 -15
- package/lib6/types/object.js +0 -49
- package/lib6/types/object.js.map +0 -1
- package/lib6/types/string.d.ts +0 -12
- package/lib6/types/string.js +0 -40
- package/lib6/types/string.js.map +0 -1
- package/lib6/types/type.js.map +0 -1
- package/lib6/types/union.d.ts +0 -14
- package/lib6/types/union.js +0 -51
- package/lib6/types/union.js.map +0 -1
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { Filter, FilterExcludingWhere, Where } from '@loopback/filter';
|
|
2
|
+
import { AnyObject, Command, Count, DataObject, NamedParameters, Options, PositionalParameters } from '../common-types';
|
|
3
|
+
import { DataSource } from '../datasource';
|
|
4
|
+
import { Entity, Model, ValueObject } from '../model';
|
|
5
|
+
import { InclusionResolver } from '../relations/relation.types';
|
|
6
|
+
import { IsolationLevel, Transaction } from '../transaction';
|
|
7
|
+
export interface Repository<T extends Model> {
|
|
8
|
+
}
|
|
9
|
+
export interface ExecutableRepository<T extends Model> extends Repository<T> {
|
|
10
|
+
/**
|
|
11
|
+
* Execute a query with the given parameter object or an array of parameters
|
|
12
|
+
* @param command - The query string or command object
|
|
13
|
+
* @param parameters - The object with name/value pairs or an array of parameter
|
|
14
|
+
* values
|
|
15
|
+
* @param options - Options
|
|
16
|
+
*/
|
|
17
|
+
execute(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A type for CRUD repositories that are backed by IDs and support
|
|
21
|
+
* Transactions
|
|
22
|
+
*/
|
|
23
|
+
export declare type TransactionalEntityRepository<T extends Entity, ID, Relations extends object = {}> = TransactionalRepository<T> & EntityCrudRepository<T, ID>;
|
|
24
|
+
/**
|
|
25
|
+
* Repository Interface for Repositories that support Transactions
|
|
26
|
+
*
|
|
27
|
+
* @typeParam T Generic type for the Entity
|
|
28
|
+
*/
|
|
29
|
+
export interface TransactionalRepository<T extends Entity> extends Repository<T> {
|
|
30
|
+
/**
|
|
31
|
+
* Begin a new Transaction
|
|
32
|
+
* @param options - Options for the operations
|
|
33
|
+
* @returns Promise<Transaction> Promise that resolves to a new Transaction
|
|
34
|
+
* object
|
|
35
|
+
*/
|
|
36
|
+
beginTransaction(options?: IsolationLevel | Options): Promise<Transaction>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Basic CRUD operations for ValueObject and Entity. No ID is required.
|
|
40
|
+
*/
|
|
41
|
+
export interface CrudRepository<T extends ValueObject | Entity, Relations extends object = {}> extends Repository<T> {
|
|
42
|
+
/**
|
|
43
|
+
* Create a new record
|
|
44
|
+
* @param dataObject - The data to be created
|
|
45
|
+
* @param options - Options for the operations
|
|
46
|
+
* @returns A promise of record created
|
|
47
|
+
*/
|
|
48
|
+
create(dataObject: DataObject<T>, options?: Options): Promise<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Create all records
|
|
51
|
+
* @param dataObjects - An array of data to be created
|
|
52
|
+
* @param options - Options for the operations
|
|
53
|
+
* @returns A promise of an array of records created
|
|
54
|
+
*/
|
|
55
|
+
createAll(dataObjects: DataObject<T>[], options?: Options): Promise<T[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Find matching records
|
|
58
|
+
* @param filter - Query filter
|
|
59
|
+
* @param options - Options for the operations
|
|
60
|
+
* @returns A promise of an array of records found
|
|
61
|
+
*/
|
|
62
|
+
find(filter?: Filter<T>, options?: Options): Promise<(T & Relations)[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Updating matching records with attributes from the data object
|
|
65
|
+
* @param dataObject - The data to be updated
|
|
66
|
+
* @param where - Matching criteria
|
|
67
|
+
* @param options - Options for the operations
|
|
68
|
+
* @returns A promise of number of records updated
|
|
69
|
+
*/
|
|
70
|
+
updateAll(dataObject: DataObject<T>, where?: Where<T>, options?: Options): Promise<Count>;
|
|
71
|
+
/**
|
|
72
|
+
* Delete matching records
|
|
73
|
+
* @param where - Matching criteria
|
|
74
|
+
* @param options - Options for the operations
|
|
75
|
+
* @returns A promise of number of records deleted
|
|
76
|
+
*/
|
|
77
|
+
deleteAll(where?: Where<T>, options?: Options): Promise<Count>;
|
|
78
|
+
/**
|
|
79
|
+
* Count matching records
|
|
80
|
+
* @param where - Matching criteria
|
|
81
|
+
* @param options - Options for the operations
|
|
82
|
+
* @returns A promise of number of records matched
|
|
83
|
+
*/
|
|
84
|
+
count(where?: Where<T>, options?: Options): Promise<Count>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Base interface for a repository of entities
|
|
88
|
+
*/
|
|
89
|
+
export interface EntityRepository<T extends Entity, ID> extends ExecutableRepository<T> {
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* CRUD operations for a repository of entities
|
|
93
|
+
*/
|
|
94
|
+
export interface EntityCrudRepository<T extends Entity, ID, Relations extends object = {}> extends EntityRepository<T, ID>, CrudRepository<T, Relations> {
|
|
95
|
+
entityClass: typeof Entity & {
|
|
96
|
+
prototype: T;
|
|
97
|
+
};
|
|
98
|
+
inclusionResolvers: Map<string, InclusionResolver<T, Entity>>;
|
|
99
|
+
/**
|
|
100
|
+
* Save an entity. If no id is present, create a new entity
|
|
101
|
+
* @param entity - Entity to be saved
|
|
102
|
+
* @param options - Options for the operations
|
|
103
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
104
|
+
* be rejected if the entity was not found.
|
|
105
|
+
*/
|
|
106
|
+
save(entity: DataObject<T>, options?: Options): Promise<T>;
|
|
107
|
+
/**
|
|
108
|
+
* Update an entity
|
|
109
|
+
* @param entity - Entity to be updated
|
|
110
|
+
* @param options - Options for the operations
|
|
111
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
112
|
+
* be rejected if the entity was not found.
|
|
113
|
+
*/
|
|
114
|
+
update(entity: DataObject<T>, options?: Options): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Delete an entity
|
|
117
|
+
* @param entity - Entity to be deleted
|
|
118
|
+
* @param options - Options for the operations
|
|
119
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
120
|
+
* be rejected if the entity was not found.
|
|
121
|
+
*/
|
|
122
|
+
delete(entity: DataObject<T>, options?: Options): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Find an entity by id, return a rejected promise if not found.
|
|
125
|
+
*
|
|
126
|
+
* @remarks
|
|
127
|
+
*
|
|
128
|
+
* The rationale behind findById is to find an instance by its primary key
|
|
129
|
+
* (id). No other search criteria than id should be used. If a client wants
|
|
130
|
+
* to use a `where` clause beyond id, use `find` or `findOne` instead.
|
|
131
|
+
*
|
|
132
|
+
* @param id - Value for the entity id
|
|
133
|
+
* @param filter - Additional query options. E.g. `filter.include` configures
|
|
134
|
+
* which related models to fetch as part of the database query (or queries).
|
|
135
|
+
* @param options - Options for the operations
|
|
136
|
+
* @returns A promise of an entity found for the id
|
|
137
|
+
*/
|
|
138
|
+
findById(id: ID, filter?: FilterExcludingWhere<T>, options?: Options): Promise<T & Relations>;
|
|
139
|
+
/**
|
|
140
|
+
* Update an entity by id with property/value pairs in the data object
|
|
141
|
+
* @param id - Value for the entity id
|
|
142
|
+
* @param data - Data attributes to be updated
|
|
143
|
+
* @param options - Options for the operations
|
|
144
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
145
|
+
* be rejected if the entity was not found.
|
|
146
|
+
*/
|
|
147
|
+
updateById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Replace an entity by id
|
|
150
|
+
* @param id - Value for the entity id
|
|
151
|
+
* @param data - Data attributes to be replaced
|
|
152
|
+
* @param options - Options for the operations
|
|
153
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
154
|
+
* be rejected if the entity was not found.
|
|
155
|
+
*/
|
|
156
|
+
replaceById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Delete an entity by id
|
|
159
|
+
* @param id - Value for the entity id
|
|
160
|
+
* @param options - Options for the operations
|
|
161
|
+
* @returns A promise that will be resolve if the operation succeeded or will
|
|
162
|
+
* be rejected if the entity was not found.
|
|
163
|
+
*/
|
|
164
|
+
deleteById(id: ID, options?: Options): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Check if an entity exists for the given id
|
|
167
|
+
* @param id - Value for the entity id
|
|
168
|
+
* @param options - Options for the operations
|
|
169
|
+
* @returns Promise<true> if an entity exists for the id, otherwise
|
|
170
|
+
* Promise<false>
|
|
171
|
+
*/
|
|
172
|
+
exists(id: ID, options?: Options): Promise<boolean>;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Repository implementation
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
*
|
|
179
|
+
* User can import `CrudRepositoryImpl` and call its functions like:
|
|
180
|
+
* `CrudRepositoryImpl.find(somefilters, someoptions)`
|
|
181
|
+
*
|
|
182
|
+
* Or extend class `CrudRepositoryImpl` and override its functions:
|
|
183
|
+
* ```ts
|
|
184
|
+
* export class TestRepository extends CrudRepositoryImpl<Test> {
|
|
185
|
+
* constructor(dataSource: DataSource, model: Test) {
|
|
186
|
+
* super(dataSource, Customer);
|
|
187
|
+
* }
|
|
188
|
+
*
|
|
189
|
+
* // Override `deleteAll` to disable the operation
|
|
190
|
+
* deleteAll(where?: Where, options?: Options) {
|
|
191
|
+
* return Promise.reject(new Error('deleteAll is disabled'));
|
|
192
|
+
* }
|
|
193
|
+
* }
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare class CrudRepositoryImpl<T extends Entity, ID> implements EntityCrudRepository<T, ID> {
|
|
197
|
+
dataSource: DataSource;
|
|
198
|
+
entityClass: typeof Entity & {
|
|
199
|
+
prototype: T;
|
|
200
|
+
};
|
|
201
|
+
private connector;
|
|
202
|
+
readonly inclusionResolvers: Map<string, InclusionResolver<T, Entity>>;
|
|
203
|
+
constructor(dataSource: DataSource, entityClass: typeof Entity & {
|
|
204
|
+
prototype: T;
|
|
205
|
+
});
|
|
206
|
+
private toModels;
|
|
207
|
+
private toModel;
|
|
208
|
+
create(entity: DataObject<T>, options?: Options): Promise<T>;
|
|
209
|
+
createAll(entities: DataObject<T>[], options?: Options): Promise<T[]>;
|
|
210
|
+
save(entity: DataObject<T>, options?: Options): Promise<T>;
|
|
211
|
+
find(filter?: Filter<T>, options?: Options): Promise<T[]>;
|
|
212
|
+
findById(id: ID, filter?: FilterExcludingWhere<T>, options?: Options): Promise<T>;
|
|
213
|
+
update(entity: DataObject<T>, options?: Options): Promise<void>;
|
|
214
|
+
delete(entity: DataObject<T>, options?: Options): Promise<void>;
|
|
215
|
+
updateAll(data: DataObject<T>, where?: Where<T>, options?: Options): Promise<Count>;
|
|
216
|
+
updateById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
217
|
+
replaceById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
218
|
+
deleteAll(where?: Where<T>, options?: Options): Promise<Count>;
|
|
219
|
+
deleteById(id: ID, options?: Options): Promise<void>;
|
|
220
|
+
count(where?: Where<T>, options?: Options): Promise<Count>;
|
|
221
|
+
exists(id: ID, options?: Options): Promise<boolean>;
|
|
222
|
+
execute(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
|
|
223
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CrudRepositoryImpl = void 0;
|
|
8
|
+
const errors_1 = require("../errors");
|
|
9
|
+
/**
|
|
10
|
+
* Repository implementation
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* User can import `CrudRepositoryImpl` and call its functions like:
|
|
15
|
+
* `CrudRepositoryImpl.find(somefilters, someoptions)`
|
|
16
|
+
*
|
|
17
|
+
* Or extend class `CrudRepositoryImpl` and override its functions:
|
|
18
|
+
* ```ts
|
|
19
|
+
* export class TestRepository extends CrudRepositoryImpl<Test> {
|
|
20
|
+
* constructor(dataSource: DataSource, model: Test) {
|
|
21
|
+
* super(dataSource, Customer);
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* // Override `deleteAll` to disable the operation
|
|
25
|
+
* deleteAll(where?: Where, options?: Options) {
|
|
26
|
+
* return Promise.reject(new Error('deleteAll is disabled'));
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
class CrudRepositoryImpl {
|
|
32
|
+
constructor(dataSource,
|
|
33
|
+
// model should have type "typeof T", but that's not supported by TSC
|
|
34
|
+
entityClass) {
|
|
35
|
+
this.dataSource = dataSource;
|
|
36
|
+
this.entityClass = entityClass;
|
|
37
|
+
this.inclusionResolvers = new Map();
|
|
38
|
+
this.connector = dataSource.connector;
|
|
39
|
+
}
|
|
40
|
+
toModels(data) {
|
|
41
|
+
return data.then(items => items.map(i => new this.entityClass(i)));
|
|
42
|
+
}
|
|
43
|
+
toModel(data) {
|
|
44
|
+
return data.then(d => new this.entityClass(d));
|
|
45
|
+
}
|
|
46
|
+
create(entity, options) {
|
|
47
|
+
return this.toModel(this.connector.create(this.entityClass, entity, options));
|
|
48
|
+
}
|
|
49
|
+
createAll(entities, options) {
|
|
50
|
+
return this.toModels(this.connector.createAll(this.entityClass, entities, options));
|
|
51
|
+
}
|
|
52
|
+
async save(entity, options) {
|
|
53
|
+
if (typeof this.connector.save === 'function') {
|
|
54
|
+
return this.toModel(this.connector.save(this.entityClass, entity, options));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const id = this.entityClass.getIdOf(entity);
|
|
58
|
+
if (id != null) {
|
|
59
|
+
await this.replaceById(id, entity, options);
|
|
60
|
+
return this.toModel(Promise.resolve(entity));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return this.create(entity, options);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
find(filter, options) {
|
|
68
|
+
return this.toModels(this.connector.find(this.entityClass, filter, options));
|
|
69
|
+
}
|
|
70
|
+
async findById(id, filter, options) {
|
|
71
|
+
if (typeof this.connector.findById === 'function') {
|
|
72
|
+
return this.toModel(this.connector.findById(this.entityClass, id, options));
|
|
73
|
+
}
|
|
74
|
+
const where = this.entityClass.buildWhereForId(id);
|
|
75
|
+
const entities = await this.toModels(this.connector.find(this.entityClass, { where: where }, options));
|
|
76
|
+
if (!entities.length) {
|
|
77
|
+
throw new errors_1.EntityNotFoundError(this.entityClass, id);
|
|
78
|
+
}
|
|
79
|
+
return entities[0];
|
|
80
|
+
}
|
|
81
|
+
update(entity, options) {
|
|
82
|
+
return this.updateById(this.entityClass.getIdOf(entity), entity, options);
|
|
83
|
+
}
|
|
84
|
+
delete(entity, options) {
|
|
85
|
+
return this.deleteById(this.entityClass.getIdOf(entity), options);
|
|
86
|
+
}
|
|
87
|
+
updateAll(data, where, options) {
|
|
88
|
+
return this.connector.updateAll(this.entityClass, data, where, options);
|
|
89
|
+
}
|
|
90
|
+
async updateById(id, data, options) {
|
|
91
|
+
let success;
|
|
92
|
+
if (typeof this.connector.updateById === 'function') {
|
|
93
|
+
success = await this.connector.updateById(this.entityClass, id, data, options);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const where = this.entityClass.buildWhereForId(id);
|
|
97
|
+
const result = await this.updateAll(data, where, options);
|
|
98
|
+
success = result.count > 0;
|
|
99
|
+
}
|
|
100
|
+
if (!success) {
|
|
101
|
+
throw new errors_1.EntityNotFoundError(this.entityClass, id);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async replaceById(id, data, options) {
|
|
105
|
+
let success;
|
|
106
|
+
if (typeof this.connector.replaceById === 'function') {
|
|
107
|
+
success = await this.connector.replaceById(this.entityClass, id, data, options);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// FIXME: populate inst with all properties
|
|
111
|
+
const inst = data;
|
|
112
|
+
const where = this.entityClass.buildWhereForId(id);
|
|
113
|
+
const result = await this.updateAll(data, where, options);
|
|
114
|
+
success = result.count > 0;
|
|
115
|
+
}
|
|
116
|
+
if (!success) {
|
|
117
|
+
throw new errors_1.EntityNotFoundError(this.entityClass, id);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
deleteAll(where, options) {
|
|
121
|
+
return this.connector.deleteAll(this.entityClass, where, options);
|
|
122
|
+
}
|
|
123
|
+
async deleteById(id, options) {
|
|
124
|
+
let success;
|
|
125
|
+
if (typeof this.connector.deleteById === 'function') {
|
|
126
|
+
success = await this.connector.deleteById(this.entityClass, id, options);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
const where = this.entityClass.buildWhereForId(id);
|
|
130
|
+
const result = await this.deleteAll(where, options);
|
|
131
|
+
success = result.count > 0;
|
|
132
|
+
}
|
|
133
|
+
if (!success) {
|
|
134
|
+
throw new errors_1.EntityNotFoundError(this.entityClass, id);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
count(where, options) {
|
|
138
|
+
return this.connector.count(this.entityClass, where, options);
|
|
139
|
+
}
|
|
140
|
+
exists(id, options) {
|
|
141
|
+
if (typeof this.connector.exists === 'function') {
|
|
142
|
+
return this.connector.exists(this.entityClass, id, options);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
const where = this.entityClass.buildWhereForId(id);
|
|
146
|
+
return this.count(where, options).then(result => result.count > 0);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
execute(command, parameters, options) {
|
|
150
|
+
if (typeof this.connector.execute !== 'function') {
|
|
151
|
+
throw new Error('Not implemented');
|
|
152
|
+
}
|
|
153
|
+
return this.connector.execute(command, parameters, options);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.CrudRepositoryImpl = CrudRepositoryImpl;
|
|
157
|
+
//# sourceMappingURL=repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local transaction
|
|
3
|
+
*/
|
|
4
|
+
export interface Transaction {
|
|
5
|
+
/**
|
|
6
|
+
* Commit the transaction
|
|
7
|
+
*/
|
|
8
|
+
commit(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Rollback the transaction
|
|
11
|
+
*/
|
|
12
|
+
rollback(): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Check if the transaction has an active connection
|
|
15
|
+
*/
|
|
16
|
+
isActive(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The transaction Identifier
|
|
19
|
+
*/
|
|
20
|
+
id: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Isolation level
|
|
24
|
+
*/
|
|
25
|
+
export declare enum IsolationLevel {
|
|
26
|
+
READ_COMMITTED = "READ COMMITTED",
|
|
27
|
+
READ_UNCOMMITTED = "READ UNCOMMITTED",
|
|
28
|
+
SERIALIZABLE = "SERIALIZABLE",
|
|
29
|
+
REPEATABLE_READ = "REPEATABLE READ"
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2019,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.IsolationLevel = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Isolation level
|
|
10
|
+
*/
|
|
11
|
+
var IsolationLevel;
|
|
12
|
+
(function (IsolationLevel) {
|
|
13
|
+
IsolationLevel["READ_COMMITTED"] = "READ COMMITTED";
|
|
14
|
+
IsolationLevel["READ_UNCOMMITTED"] = "READ UNCOMMITTED";
|
|
15
|
+
IsolationLevel["SERIALIZABLE"] = "SERIALIZABLE";
|
|
16
|
+
IsolationLevel["REPEATABLE_READ"] = "REPEATABLE READ";
|
|
17
|
+
})(IsolationLevel = exports.IsolationLevel || (exports.IsolationLevel = {}));
|
|
18
|
+
//# sourceMappingURL=transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AA2BhE;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAiC,CAAA;IACjC,uDAAqC,CAAA;IACrC,+CAA6B,CAAA;IAC7B,qDAAmC,CAAA;AACrC,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Class } from './common-types';
|
|
2
|
+
/**
|
|
3
|
+
* A type resolver is a function that returns a class representing the type,
|
|
4
|
+
* typically a Model or Entity (e.g. Product).
|
|
5
|
+
*
|
|
6
|
+
* We use type resolvers to break require() loops when defining relations.
|
|
7
|
+
* The target model (class) is provided via a provider, thus deferring
|
|
8
|
+
* the actual reference to the class itself until later, when both sides
|
|
9
|
+
* of the relation are created as JavaScript classes.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam Type - The type we are resolving, for example `Entity` or `Product`.
|
|
12
|
+
* This parameter is required.
|
|
13
|
+
*
|
|
14
|
+
* @typeParam StaticMembers - The static properties available on the
|
|
15
|
+
* type class. For example, all models have static `modelName` property.
|
|
16
|
+
* When `StaticMembers` are not provided, we default to static properties of
|
|
17
|
+
* a `Function` - `name`, `length`, `apply`, `call`, etc.
|
|
18
|
+
* Please note the value returned by the resolver is described as having
|
|
19
|
+
* arbitrary additional static properties (see how Class is defined).
|
|
20
|
+
*/
|
|
21
|
+
export declare type TypeResolver<Type extends Object, StaticMembers = Function> = () => Class<Type> & StaticMembers;
|
|
22
|
+
/**
|
|
23
|
+
* A function that checks whether a function is a TypeResolver or not.
|
|
24
|
+
* @param fn - The value to check.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isTypeResolver<T extends object>(fn: any): fn is TypeResolver<T>;
|
|
27
|
+
/**
|
|
28
|
+
* A boxed type for `null`
|
|
29
|
+
*/
|
|
30
|
+
export declare function Null(): null;
|
|
31
|
+
/**
|
|
32
|
+
* Check if the provided function is a built-in type provided by JavaScript
|
|
33
|
+
* and/or Node.js. E.g. `Number`, `Array`, `Buffer`, etc.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isBuiltinType(fn: Function): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve a type value that may have been provided via TypeResolver.
|
|
38
|
+
* @param fn - A type class or a type provider.
|
|
39
|
+
* @returns The resolved type.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveType<T extends Object>(fn: TypeResolver<T> | Class<T>): Class<T>;
|
|
42
|
+
export declare function resolveType<T>(fn: T): T;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.resolveType = exports.isBuiltinType = exports.Null = exports.isTypeResolver = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* A function that checks whether a function is a TypeResolver or not.
|
|
10
|
+
* @param fn - The value to check.
|
|
11
|
+
*/
|
|
12
|
+
function isTypeResolver(
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
fn) {
|
|
15
|
+
// 1. A type provider must be a function
|
|
16
|
+
if (typeof fn !== 'function')
|
|
17
|
+
return false;
|
|
18
|
+
// 2. A class constructor is not a type provider
|
|
19
|
+
if (/^class/.test(fn.toString()))
|
|
20
|
+
return false;
|
|
21
|
+
// 3. Built-in types like Date & Array are not type providers
|
|
22
|
+
if (isBuiltinType(fn))
|
|
23
|
+
return false;
|
|
24
|
+
// TODO(bajtos): support model classes defined via ES5 constructor function
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
exports.isTypeResolver = isTypeResolver;
|
|
28
|
+
/**
|
|
29
|
+
* A boxed type for `null`
|
|
30
|
+
*/
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
32
|
+
function Null() {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
exports.Null = Null;
|
|
36
|
+
/**
|
|
37
|
+
* Check if the provided function is a built-in type provided by JavaScript
|
|
38
|
+
* and/or Node.js. E.g. `Number`, `Array`, `Buffer`, etc.
|
|
39
|
+
*/
|
|
40
|
+
function isBuiltinType(fn) {
|
|
41
|
+
return (
|
|
42
|
+
// scalars
|
|
43
|
+
fn === Number ||
|
|
44
|
+
fn === Boolean ||
|
|
45
|
+
fn === String ||
|
|
46
|
+
// objects
|
|
47
|
+
fn === Object ||
|
|
48
|
+
fn === Array ||
|
|
49
|
+
fn === Date ||
|
|
50
|
+
fn === RegExp ||
|
|
51
|
+
fn === Buffer ||
|
|
52
|
+
fn === Null ||
|
|
53
|
+
// function as a type
|
|
54
|
+
fn === Function);
|
|
55
|
+
}
|
|
56
|
+
exports.isBuiltinType = isBuiltinType;
|
|
57
|
+
function resolveType(fn) {
|
|
58
|
+
return isTypeResolver(fn) ? fn() : fn;
|
|
59
|
+
}
|
|
60
|
+
exports.resolveType = resolveType;
|
|
61
|
+
//# sourceMappingURL=type-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-resolver.js","sourceRoot":"","sources":["../src/type-resolver.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AA4BhE;;;GAGG;AACH,SAAgB,cAAc;AAC5B,8DAA8D;AAC9D,EAAO;IAEP,wCAAwC;IACxC,IAAI,OAAO,EAAE,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAE3C,gDAAgD;IAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/C,6DAA6D;IAC7D,IAAI,aAAa,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpC,2EAA2E;IAE3E,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,wCAgBC;AAED;;GAEG;AACH,gEAAgE;AAChE,SAAgB,IAAI;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAFD,oBAEC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,EAAY;IACxC,OAAO;IACL,UAAU;IACV,EAAE,KAAK,MAAM;QACb,EAAE,KAAK,OAAO;QACd,EAAE,KAAK,MAAM;QACb,UAAU;QACV,EAAE,KAAK,MAAM;QACb,EAAE,KAAK,KAAK;QACZ,EAAE,KAAK,IAAI;QACX,EAAE,KAAK,MAAM;QACb,EAAE,KAAK,MAAM;QACb,EAAE,KAAK,IAAI;QACX,qBAAqB;QACrB,EAAE,KAAK,QAAQ,CAChB,CAAC;AACJ,CAAC;AAhBD,sCAgBC;AAcD,SAAgB,WAAW,CAAI,EAA8B;IAC3D,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAFD,kCAEC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
2
|
+
// Copyright IBM Corp. 2017,2019. All Rights Reserved.
|
|
3
3
|
// Node module: @loopback/repository
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
|
|
7
|
+
exports.AnyType = void 0;
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
9
|
/**
|
|
9
10
|
* Any type
|
|
10
11
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"any.js","sourceRoot":"","sources":["../../src/types/any.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAIhE,uDAAuD;AAEvD;;GAEG;AACH,MAAa,OAAO;IAApB;QACW,SAAI,GAAG,KAAK,CAAC;IAwBxB,CAAC;IAtBC,UAAU,CAAC,KAAU;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAU;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAU;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,KAAU;QAClB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;YAC/C,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;SACvB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzBD,0BAyBC"}
|
|
@@ -2,13 +2,13 @@ import { Type } from './type';
|
|
|
2
2
|
/**
|
|
3
3
|
* Array type, such as string[]
|
|
4
4
|
*/
|
|
5
|
-
export declare class ArrayType<T> implements Type<
|
|
5
|
+
export declare class ArrayType<T> implements Type<T[]> {
|
|
6
6
|
itemType: Type<T>;
|
|
7
7
|
constructor(itemType: Type<T>);
|
|
8
|
-
readonly name
|
|
8
|
+
readonly name = "array";
|
|
9
9
|
isInstance(value: any): boolean;
|
|
10
10
|
isCoercible(value: any): boolean;
|
|
11
|
-
defaultValue():
|
|
11
|
+
defaultValue(): T[];
|
|
12
12
|
coerce(value: any): any;
|
|
13
|
-
serialize(value:
|
|
13
|
+
serialize(value: T[] | null | undefined): any[] | null | undefined;
|
|
14
14
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
2
|
+
// Copyright IBM Corp. 2017,2019. All Rights Reserved.
|
|
3
3
|
// Node module: @loopback/repository
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
exports.ArrayType = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const util_1 = (0, tslib_1.__importDefault)(require("util"));
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
9
11
|
/**
|
|
10
12
|
* Array type, such as string[]
|
|
11
13
|
*/
|
|
@@ -38,7 +40,7 @@ class ArrayType {
|
|
|
38
40
|
if (value == null)
|
|
39
41
|
return value;
|
|
40
42
|
if (!Array.isArray(value)) {
|
|
41
|
-
const msg =
|
|
43
|
+
const msg = util_1.default.format('Invalid %s: %j', this.name, value);
|
|
42
44
|
throw new TypeError(msg);
|
|
43
45
|
}
|
|
44
46
|
return value.map(i => this.itemType.coerce(i));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/types/array.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,6DAAwB;AAGxB,uDAAuD;AAEvD;;GAEG;AACH,MAAa,SAAS;IACpB,YAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAE3B,SAAI,GAAG,OAAO,CAAC;IAFe,CAAC;IAIxC,UAAU,CAAC,KAAU;QACnB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QACD,MAAM,IAAI,GAAG,KAAiC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,KAAU;QACpB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,KAAU;QACf,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,GAAG,GAAG,cAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,KAA6B;QACrC,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAvCD,8BAuCC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
2
|
+
// Copyright IBM Corp. 2017,2019. All Rights Reserved.
|
|
3
3
|
// Node module: @loopback/repository
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
|
|
7
|
+
exports.BooleanType = void 0;
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
9
|
/**
|
|
9
10
|
* Boolean type
|
|
10
11
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/types/boolean.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAIhE,uDAAuD;AAEvD;;GAEG;AACH,MAAa,WAAW;IAAxB;QACW,SAAI,GAAG,SAAS,CAAC;IAqB5B,CAAC;IAnBC,UAAU,CAAC,KAAU;QACnB,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;IACrD,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAAC,KAAU;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAU;QACf,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAiC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAtBD,kCAsBC"}
|