@loopback/repository 4.0.0-alpha.6 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +94 -372
  3. package/dist/common-types.d.ts +96 -0
  4. package/dist/common-types.js +24 -0
  5. package/dist/common-types.js.map +1 -0
  6. package/dist/connectors/connector.d.ts +48 -0
  7. package/{lib → dist/connectors}/connector.js +1 -1
  8. package/dist/connectors/connector.js.map +1 -0
  9. package/{lib/crud-connector.d.ts → dist/connectors/crud.connector.d.ts} +51 -51
  10. package/{lib/common-types.js → dist/connectors/crud.connector.js} +2 -2
  11. package/dist/connectors/crud.connector.js.map +1 -0
  12. package/dist/connectors/index.d.ts +3 -0
  13. package/dist/connectors/index.js +11 -0
  14. package/dist/connectors/index.js.map +1 -0
  15. package/{lib6/kv-connector.d.ts → dist/connectors/kv.connector.d.ts} +28 -28
  16. package/{lib/datasource.js → dist/connectors/kv.connector.js} +2 -2
  17. package/dist/connectors/kv.connector.js.map +1 -0
  18. package/dist/datasource.d.ts +27 -0
  19. package/{lib6 → dist}/datasource.js +1 -1
  20. package/dist/datasource.js.map +1 -0
  21. package/dist/decorators/index.d.ts +3 -0
  22. package/dist/decorators/index.js +11 -0
  23. package/dist/decorators/index.js.map +1 -0
  24. package/dist/decorators/metadata.d.ts +12 -0
  25. package/dist/decorators/metadata.js +51 -0
  26. package/dist/decorators/metadata.js.map +1 -0
  27. package/dist/decorators/model.decorator.d.ts +40 -0
  28. package/dist/decorators/model.decorator.js +112 -0
  29. package/dist/decorators/model.decorator.js.map +1 -0
  30. package/dist/decorators/repository.decorator.d.ts +106 -0
  31. package/dist/decorators/repository.decorator.js +114 -0
  32. package/dist/decorators/repository.decorator.js.map +1 -0
  33. package/dist/define-model-class.d.ts +55 -0
  34. package/dist/define-model-class.js +57 -0
  35. package/dist/define-model-class.js.map +1 -0
  36. package/dist/define-repository-class.d.ts +119 -0
  37. package/dist/define-repository-class.js +98 -0
  38. package/dist/define-repository-class.js.map +1 -0
  39. package/dist/errors/entity-not-found.error.d.ts +8 -0
  40. package/dist/errors/entity-not-found.error.js +28 -0
  41. package/dist/errors/entity-not-found.error.js.map +1 -0
  42. package/dist/errors/index.d.ts +2 -0
  43. package/dist/errors/index.js +10 -0
  44. package/dist/errors/index.js.map +1 -0
  45. package/dist/errors/invalid-relation.error.d.ts +10 -0
  46. package/dist/errors/invalid-relation.error.js +28 -0
  47. package/dist/errors/invalid-relation.error.js.map +1 -0
  48. package/dist/index.d.ts +30 -0
  49. package/dist/index.js +39 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/keys.d.ts +34 -0
  52. package/dist/keys.js +44 -0
  53. package/dist/keys.js.map +1 -0
  54. package/dist/mixins/index.d.ts +1 -0
  55. package/dist/mixins/index.js +9 -0
  56. package/dist/mixins/index.js.map +1 -0
  57. package/dist/mixins/repository.mixin.d.ts +377 -0
  58. package/dist/mixins/repository.mixin.js +405 -0
  59. package/dist/mixins/repository.mixin.js.map +1 -0
  60. package/dist/model.d.ts +232 -0
  61. package/dist/model.js +367 -0
  62. package/dist/model.js.map +1 -0
  63. package/dist/relations/belongs-to/belongs-to.accessor.d.ts +17 -0
  64. package/dist/relations/belongs-to/belongs-to.accessor.js +40 -0
  65. package/dist/relations/belongs-to/belongs-to.accessor.js.map +1 -0
  66. package/dist/relations/belongs-to/belongs-to.decorator.d.ts +11 -0
  67. package/dist/relations/belongs-to/belongs-to.decorator.js +64 -0
  68. package/dist/relations/belongs-to/belongs-to.decorator.js.map +1 -0
  69. package/dist/relations/belongs-to/belongs-to.helpers.d.ts +17 -0
  70. package/dist/relations/belongs-to/belongs-to.helpers.js +63 -0
  71. package/dist/relations/belongs-to/belongs-to.helpers.js.map +1 -0
  72. package/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts +14 -0
  73. package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js +36 -0
  74. package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js.map +1 -0
  75. package/dist/relations/belongs-to/belongs-to.repository.d.ts +28 -0
  76. package/dist/relations/belongs-to/belongs-to.repository.js +33 -0
  77. package/dist/relations/belongs-to/belongs-to.repository.js.map +1 -0
  78. package/dist/relations/belongs-to/index.d.ts +4 -0
  79. package/dist/relations/belongs-to/index.js +12 -0
  80. package/dist/relations/belongs-to/index.js.map +1 -0
  81. package/dist/relations/has-many/has-many-through.helpers.d.ts +182 -0
  82. package/dist/relations/has-many/has-many-through.helpers.js +282 -0
  83. package/dist/relations/has-many/has-many-through.helpers.js.map +1 -0
  84. package/dist/relations/has-many/has-many-through.inclusion-resolver.d.ts +16 -0
  85. package/dist/relations/has-many/has-many-through.inclusion-resolver.js +78 -0
  86. package/dist/relations/has-many/has-many-through.inclusion-resolver.js.map +1 -0
  87. package/dist/relations/has-many/has-many-through.repository-factory.d.ts +17 -0
  88. package/dist/relations/has-many/has-many-through.repository-factory.js +37 -0
  89. package/dist/relations/has-many/has-many-through.repository-factory.js.map +1 -0
  90. package/dist/relations/has-many/has-many-through.repository.d.ts +114 -0
  91. package/dist/relations/has-many/has-many-through.repository.js +103 -0
  92. package/dist/relations/has-many/has-many-through.repository.js.map +1 -0
  93. package/dist/relations/has-many/has-many.decorator.d.ts +11 -0
  94. package/dist/relations/has-many/has-many.decorator.js +36 -0
  95. package/dist/relations/has-many/has-many.decorator.js.map +1 -0
  96. package/dist/relations/has-many/has-many.helpers.d.ts +26 -0
  97. package/dist/relations/has-many/has-many.helpers.js +78 -0
  98. package/dist/relations/has-many/has-many.helpers.js.map +1 -0
  99. package/dist/relations/has-many/has-many.inclusion-resolver.d.ts +14 -0
  100. package/dist/relations/has-many/has-many.inclusion-resolver.js +45 -0
  101. package/dist/relations/has-many/has-many.inclusion-resolver.js.map +1 -0
  102. package/dist/relations/has-many/has-many.repository-factory.d.ts +28 -0
  103. package/dist/relations/has-many/has-many.repository-factory.js +39 -0
  104. package/dist/relations/has-many/has-many.repository-factory.js.map +1 -0
  105. package/dist/relations/has-many/has-many.repository.d.ts +54 -0
  106. package/dist/relations/has-many/has-many.repository.js +38 -0
  107. package/dist/relations/has-many/has-many.repository.js.map +1 -0
  108. package/dist/relations/has-many/index.d.ts +6 -0
  109. package/dist/relations/has-many/index.js +14 -0
  110. package/dist/relations/has-many/index.js.map +1 -0
  111. package/dist/relations/has-one/has-one.decorator.d.ts +3 -0
  112. package/dist/relations/has-one/has-one.decorator.js +37 -0
  113. package/dist/relations/has-one/has-one.decorator.js.map +1 -0
  114. package/dist/relations/has-one/has-one.helpers.d.ts +17 -0
  115. package/dist/relations/has-one/has-one.helpers.js +64 -0
  116. package/dist/relations/has-one/has-one.helpers.js.map +1 -0
  117. package/dist/relations/has-one/has-one.inclusion-resolver.d.ts +14 -0
  118. package/dist/relations/has-one/has-one.inclusion-resolver.js +35 -0
  119. package/dist/relations/has-one/has-one.inclusion-resolver.js.map +1 -0
  120. package/dist/relations/has-one/has-one.repository-factory.d.ts +28 -0
  121. package/dist/relations/has-one/has-one.repository-factory.js +39 -0
  122. package/dist/relations/has-one/has-one.repository-factory.js.map +1 -0
  123. package/dist/relations/has-one/has-one.repository.d.ts +53 -0
  124. package/dist/relations/has-one/has-one.repository.js +45 -0
  125. package/dist/relations/has-one/has-one.repository.js.map +1 -0
  126. package/dist/relations/has-one/index.d.ts +3 -0
  127. package/dist/relations/has-one/index.js +11 -0
  128. package/dist/relations/has-one/index.js.map +1 -0
  129. package/dist/relations/index.d.ts +6 -0
  130. package/dist/relations/index.js +14 -0
  131. package/dist/relations/index.js.map +1 -0
  132. package/dist/relations/relation.decorator.d.ts +39 -0
  133. package/dist/relations/relation.decorator.js +88 -0
  134. package/dist/relations/relation.decorator.js.map +1 -0
  135. package/dist/relations/relation.helpers.d.ts +105 -0
  136. package/dist/relations/relation.helpers.js +298 -0
  137. package/dist/relations/relation.helpers.js.map +1 -0
  138. package/dist/relations/relation.types.d.ts +142 -0
  139. package/dist/relations/relation.types.js +21 -0
  140. package/dist/relations/relation.types.js.map +1 -0
  141. package/dist/repositories/constraint-utils.d.ts +49 -0
  142. package/dist/repositories/constraint-utils.js +87 -0
  143. package/dist/repositories/constraint-utils.js.map +1 -0
  144. package/dist/repositories/index.d.ts +5 -0
  145. package/dist/repositories/index.js +13 -0
  146. package/dist/repositories/index.js.map +1 -0
  147. package/dist/repositories/kv.repository.bridge.d.ts +30 -0
  148. package/dist/repositories/kv.repository.bridge.js +76 -0
  149. package/dist/repositories/kv.repository.bridge.js.map +1 -0
  150. package/dist/repositories/kv.repository.d.ts +74 -0
  151. package/{lib/crud-connector.js → dist/repositories/kv.repository.js} +2 -2
  152. package/dist/repositories/kv.repository.js.map +1 -0
  153. package/dist/repositories/legacy-juggler-bridge.d.ts +305 -0
  154. package/dist/repositories/legacy-juggler-bridge.js +452 -0
  155. package/dist/repositories/legacy-juggler-bridge.js.map +1 -0
  156. package/dist/repositories/repository.d.ts +223 -0
  157. package/dist/repositories/repository.js +157 -0
  158. package/dist/repositories/repository.js.map +1 -0
  159. package/dist/transaction.d.ts +30 -0
  160. package/dist/transaction.js +18 -0
  161. package/dist/transaction.js.map +1 -0
  162. package/dist/type-resolver.d.ts +42 -0
  163. package/dist/type-resolver.js +61 -0
  164. package/dist/type-resolver.js.map +1 -0
  165. package/{lib6 → dist}/types/any.d.ts +1 -1
  166. package/{lib6 → dist}/types/any.js +3 -2
  167. package/dist/types/any.js.map +1 -0
  168. package/{lib6 → dist}/types/array.d.ts +4 -4
  169. package/{lib → dist}/types/array.js +6 -4
  170. package/dist/types/array.js.map +1 -0
  171. package/{lib → dist}/types/boolean.d.ts +1 -1
  172. package/{lib → dist}/types/boolean.js +3 -2
  173. package/dist/types/boolean.js.map +1 -0
  174. package/{lib6 → dist}/types/buffer.d.ts +2 -2
  175. package/{lib6 → dist}/types/buffer.js +8 -6
  176. package/dist/types/buffer.js.map +1 -0
  177. package/{lib → dist}/types/date.d.ts +1 -1
  178. package/{lib6 → dist}/types/date.js +6 -4
  179. package/dist/types/date.js.map +1 -0
  180. package/{lib → dist}/types/index.d.ts +11 -9
  181. package/dist/types/index.js +49 -0
  182. package/dist/types/index.js.map +1 -0
  183. package/{lib6 → dist}/types/model.d.ts +2 -1
  184. package/{lib → dist}/types/model.js +2 -2
  185. package/dist/types/model.js.map +1 -0
  186. package/dist/types/null.d.ts +12 -0
  187. package/{lib6/types/boolean.js → dist/types/null.js} +12 -11
  188. package/dist/types/null.js.map +1 -0
  189. package/{lib6 → dist}/types/number.d.ts +1 -1
  190. package/{lib6 → dist}/types/number.js +6 -4
  191. package/dist/types/number.js.map +1 -0
  192. package/{lib → dist}/types/object.d.ts +1 -1
  193. package/{lib6 → dist}/types/object.js +7 -6
  194. package/dist/types/object.js.map +1 -0
  195. package/{lib → dist}/types/string.d.ts +1 -1
  196. package/{lib → dist}/types/string.js +3 -2
  197. package/dist/types/string.js.map +1 -0
  198. package/{lib → dist}/types/type.d.ts +7 -7
  199. package/{lib6 → dist}/types/type.js +1 -1
  200. package/dist/types/type.js.map +1 -0
  201. package/{lib → dist}/types/union.d.ts +1 -1
  202. package/{lib6 → dist}/types/union.js +6 -4
  203. package/dist/types/union.js.map +1 -0
  204. package/package.json +49 -32
  205. package/src/common-types.ts +123 -0
  206. package/src/connectors/connector.ts +70 -0
  207. package/src/connectors/crud.connector.ts +208 -0
  208. package/src/connectors/index.ts +8 -0
  209. package/src/connectors/kv.connector.ts +113 -0
  210. package/src/datasource.ts +37 -0
  211. package/src/decorators/index.ts +8 -0
  212. package/src/decorators/metadata.ts +84 -0
  213. package/src/decorators/model.decorator.ts +166 -0
  214. package/src/decorators/repository.decorator.ts +223 -0
  215. package/src/define-model-class.ts +90 -0
  216. package/src/define-repository-class.ts +170 -0
  217. package/src/errors/entity-not-found.error.ts +40 -0
  218. package/src/errors/index.ts +7 -0
  219. package/src/errors/invalid-relation.error.ts +39 -0
  220. package/src/index.ts +36 -0
  221. package/src/keys.ts +40 -0
  222. package/{index.d.ts → src/mixins/index.ts} +2 -2
  223. package/src/mixins/repository.mixin.ts +499 -0
  224. package/src/model.ts +539 -0
  225. package/src/relations/belongs-to/belongs-to.accessor.ts +74 -0
  226. package/src/relations/belongs-to/belongs-to.decorator.ts +81 -0
  227. package/src/relations/belongs-to/belongs-to.helpers.ts +78 -0
  228. package/src/relations/belongs-to/belongs-to.inclusion-resolver.ts +71 -0
  229. package/src/relations/belongs-to/belongs-to.repository.ts +55 -0
  230. package/src/relations/belongs-to/index.ts +9 -0
  231. package/src/relations/has-many/has-many-through.helpers.ts +361 -0
  232. package/src/relations/has-many/has-many-through.inclusion-resolver.ts +135 -0
  233. package/src/relations/has-many/has-many-through.repository-factory.ts +121 -0
  234. package/src/relations/has-many/has-many-through.repository.ts +318 -0
  235. package/src/relations/has-many/has-many.decorator.ts +38 -0
  236. package/src/relations/has-many/has-many.helpers.ts +100 -0
  237. package/src/relations/has-many/has-many.inclusion-resolver.ts +88 -0
  238. package/src/relations/has-many/has-many.repository-factory.ts +76 -0
  239. package/src/relations/has-many/has-many.repository.ts +118 -0
  240. package/src/relations/has-many/index.ts +11 -0
  241. package/src/relations/has-one/has-one.decorator.ts +40 -0
  242. package/src/relations/has-one/has-one.helpers.ts +84 -0
  243. package/src/relations/has-one/has-one.inclusion-resolver.ts +65 -0
  244. package/src/relations/has-one/has-one.repository-factory.ts +72 -0
  245. package/src/relations/has-one/has-one.repository.ts +127 -0
  246. package/src/relations/has-one/index.ts +8 -0
  247. package/src/relations/index.ts +11 -0
  248. package/src/relations/relation.decorator.ts +90 -0
  249. package/src/relations/relation.helpers.ts +364 -0
  250. package/src/relations/relation.types.ts +180 -0
  251. package/src/repositories/constraint-utils.ts +98 -0
  252. package/src/repositories/index.ts +10 -0
  253. package/src/repositories/kv.repository.bridge.ts +97 -0
  254. package/src/repositories/kv.repository.ts +87 -0
  255. package/src/repositories/legacy-juggler-bridge.ts +788 -0
  256. package/src/repositories/repository.ts +441 -0
  257. package/src/transaction.ts +39 -0
  258. package/src/type-resolver.ts +98 -0
  259. package/src/types/any.ts +38 -0
  260. package/src/types/array.ts +53 -0
  261. package/src/types/boolean.ts +35 -0
  262. package/src/types/buffer.ts +53 -0
  263. package/src/types/date.ts +61 -0
  264. package/src/types/index.ts +52 -0
  265. package/src/types/model.ts +24 -0
  266. package/src/types/null.ts +35 -0
  267. package/src/types/number.ts +42 -0
  268. package/src/types/object.ts +53 -0
  269. package/src/types/string.ts +42 -0
  270. package/src/types/type.ts +51 -0
  271. package/src/types/union.ts +55 -0
  272. package/api-docs/apple-touch-icon-114x114-precomposed.png +0 -0
  273. package/api-docs/apple-touch-icon-144x144-precomposed.png +0 -0
  274. package/api-docs/apple-touch-icon-57x57-precomposed.png +0 -0
  275. package/api-docs/apple-touch-icon-72x72-precomposed.png +0 -0
  276. package/api-docs/apple-touch-icon-precomposed.png +0 -0
  277. package/api-docs/apple-touch-icon.png +0 -0
  278. package/api-docs/css/bootstrap.min.css +0 -9
  279. package/api-docs/css/code-themes/arta.css +0 -158
  280. package/api-docs/css/code-themes/ascetic.css +0 -50
  281. package/api-docs/css/code-themes/brown_paper.css +0 -104
  282. package/api-docs/css/code-themes/brown_papersq.png +0 -0
  283. package/api-docs/css/code-themes/dark.css +0 -103
  284. package/api-docs/css/code-themes/default.css +0 -135
  285. package/api-docs/css/code-themes/far.css +0 -111
  286. package/api-docs/css/code-themes/github.css +0 -127
  287. package/api-docs/css/code-themes/googlecode.css +0 -144
  288. package/api-docs/css/code-themes/idea.css +0 -121
  289. package/api-docs/css/code-themes/ir_black.css +0 -104
  290. package/api-docs/css/code-themes/magula.css +0 -121
  291. package/api-docs/css/code-themes/monokai.css +0 -114
  292. package/api-docs/css/code-themes/pojoaque.css +0 -104
  293. package/api-docs/css/code-themes/pojoaque.jpg +0 -0
  294. package/api-docs/css/code-themes/rainbow.css +0 -114
  295. package/api-docs/css/code-themes/school_book.css +0 -111
  296. package/api-docs/css/code-themes/school_book.png +0 -0
  297. package/api-docs/css/code-themes/sl-theme.css +0 -45
  298. package/api-docs/css/code-themes/solarized_dark.css +0 -88
  299. package/api-docs/css/code-themes/solarized_light.css +0 -88
  300. package/api-docs/css/code-themes/sunburst.css +0 -158
  301. package/api-docs/css/code-themes/tomorrow-night-blue.css +0 -52
  302. package/api-docs/css/code-themes/tomorrow-night-bright.css +0 -51
  303. package/api-docs/css/code-themes/tomorrow-night-eighties.css +0 -51
  304. package/api-docs/css/code-themes/tomorrow-night.css +0 -52
  305. package/api-docs/css/code-themes/tomorrow.css +0 -49
  306. package/api-docs/css/code-themes/vs.css +0 -86
  307. package/api-docs/css/code-themes/xcode.css +0 -154
  308. package/api-docs/css/code-themes/zenburn.css +0 -115
  309. package/api-docs/css/main.css +0 -139
  310. package/api-docs/favicon.ico +0 -0
  311. package/api-docs/fonts/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  312. package/api-docs/fonts/OsJ2DjdpjqFRVUSto6IffLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  313. package/api-docs/fonts/_aijTyevf54tkVDLy-dlnLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  314. package/api-docs/index.html +0 -17872
  315. package/api-docs/js/main.js +0 -19
  316. package/api-docs/js/vendor/bootstrap.min.js +0 -6
  317. package/api-docs/js/vendor/jquery-1.10.1.min.js +0 -6
  318. package/api-docs/js/vendor/jquery.scrollTo-1.4.3.1.js +0 -218
  319. package/api-docs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
  320. package/index.js +0 -9
  321. package/lib/common-types.d.ts +0 -44
  322. package/lib/common-types.js.map +0 -1
  323. package/lib/connector.d.ts +0 -12
  324. package/lib/connector.js.map +0 -1
  325. package/lib/crud-connector.js.map +0 -1
  326. package/lib/datasource.d.ts +0 -11
  327. package/lib/datasource.js.map +0 -1
  328. package/lib/decorators/model.d.ts +0 -14
  329. package/lib/decorators/model.js +0 -35
  330. package/lib/decorators/model.js.map +0 -1
  331. package/lib/decorators/relation.d.ts +0 -65
  332. package/lib/decorators/relation.js +0 -126
  333. package/lib/decorators/relation.js.map +0 -1
  334. package/lib/decorators/repository.d.ts +0 -61
  335. package/lib/decorators/repository.js +0 -103
  336. package/lib/decorators/repository.js.map +0 -1
  337. package/lib/index.d.ts +0 -15
  338. package/lib/index.js +0 -19
  339. package/lib/index.js.map +0 -1
  340. package/lib/kv-connector.d.ts +0 -77
  341. package/lib/kv-connector.js +0 -7
  342. package/lib/kv-connector.js.map +0 -1
  343. package/lib/kv-repository.d.ts +0 -78
  344. package/lib/kv-repository.js +0 -7
  345. package/lib/kv-repository.js.map +0 -1
  346. package/lib/legacy-juggler-bridge.d.ts +0 -44
  347. package/lib/legacy-juggler-bridge.js +0 -119
  348. package/lib/legacy-juggler-bridge.js.map +0 -1
  349. package/lib/loopback-datasource-juggler.d.ts +0 -666
  350. package/lib/loopback-datasource-juggler.js +0 -8
  351. package/lib/loopback-datasource-juggler.js.map +0 -1
  352. package/lib/mixin.d.ts +0 -43
  353. package/lib/mixin.js +0 -34
  354. package/lib/mixin.js.map +0 -1
  355. package/lib/model.d.ts +0 -127
  356. package/lib/model.js +0 -187
  357. package/lib/model.js.map +0 -1
  358. package/lib/query.d.ts +0 -112
  359. package/lib/query.js +0 -25
  360. package/lib/query.js.map +0 -1
  361. package/lib/repository.d.ts +0 -172
  362. package/lib/repository.js +0 -127
  363. package/lib/repository.js.map +0 -1
  364. package/lib/types/any.d.ts +0 -12
  365. package/lib/types/any.js +0 -35
  366. package/lib/types/any.js.map +0 -1
  367. package/lib/types/array.d.ts +0 -14
  368. package/lib/types/array.js.map +0 -1
  369. package/lib/types/boolean.js.map +0 -1
  370. package/lib/types/buffer.d.ts +0 -14
  371. package/lib/types/buffer.js +0 -57
  372. package/lib/types/buffer.js.map +0 -1
  373. package/lib/types/date.js +0 -60
  374. package/lib/types/date.js.map +0 -1
  375. package/lib/types/index.js +0 -33
  376. package/lib/types/index.js.map +0 -1
  377. package/lib/types/model.d.ts +0 -11
  378. package/lib/types/model.js.map +0 -1
  379. package/lib/types/number.d.ts +0 -12
  380. package/lib/types/number.js +0 -40
  381. package/lib/types/number.js.map +0 -1
  382. package/lib/types/object.js +0 -49
  383. package/lib/types/object.js.map +0 -1
  384. package/lib/types/string.js.map +0 -1
  385. package/lib/types/type.js +0 -7
  386. package/lib/types/type.js.map +0 -1
  387. package/lib/types/union.js +0 -51
  388. package/lib/types/union.js.map +0 -1
  389. package/lib6/common-types.d.ts +0 -44
  390. package/lib6/common-types.js +0 -7
  391. package/lib6/common-types.js.map +0 -1
  392. package/lib6/connector.d.ts +0 -12
  393. package/lib6/connector.js +0 -7
  394. package/lib6/connector.js.map +0 -1
  395. package/lib6/crud-connector.d.ts +0 -130
  396. package/lib6/crud-connector.js +0 -7
  397. package/lib6/crud-connector.js.map +0 -1
  398. package/lib6/datasource.d.ts +0 -11
  399. package/lib6/datasource.js.map +0 -1
  400. package/lib6/decorators/model.d.ts +0 -14
  401. package/lib6/decorators/model.js +0 -35
  402. package/lib6/decorators/model.js.map +0 -1
  403. package/lib6/decorators/relation.d.ts +0 -65
  404. package/lib6/decorators/relation.js +0 -126
  405. package/lib6/decorators/relation.js.map +0 -1
  406. package/lib6/decorators/repository.d.ts +0 -61
  407. package/lib6/decorators/repository.js +0 -113
  408. package/lib6/decorators/repository.js.map +0 -1
  409. package/lib6/index.d.ts +0 -15
  410. package/lib6/index.js +0 -19
  411. package/lib6/index.js.map +0 -1
  412. package/lib6/kv-connector.js +0 -7
  413. package/lib6/kv-connector.js.map +0 -1
  414. package/lib6/kv-repository.d.ts +0 -78
  415. package/lib6/kv-repository.js +0 -7
  416. package/lib6/kv-repository.js.map +0 -1
  417. package/lib6/legacy-juggler-bridge.d.ts +0 -44
  418. package/lib6/legacy-juggler-bridge.js +0 -119
  419. package/lib6/legacy-juggler-bridge.js.map +0 -1
  420. package/lib6/loopback-datasource-juggler.d.ts +0 -666
  421. package/lib6/loopback-datasource-juggler.js +0 -8
  422. package/lib6/loopback-datasource-juggler.js.map +0 -1
  423. package/lib6/mixin.d.ts +0 -43
  424. package/lib6/mixin.js +0 -34
  425. package/lib6/mixin.js.map +0 -1
  426. package/lib6/model.d.ts +0 -127
  427. package/lib6/model.js +0 -187
  428. package/lib6/model.js.map +0 -1
  429. package/lib6/query.d.ts +0 -112
  430. package/lib6/query.js +0 -25
  431. package/lib6/query.js.map +0 -1
  432. package/lib6/repository.d.ts +0 -172
  433. package/lib6/repository.js +0 -127
  434. package/lib6/repository.js.map +0 -1
  435. package/lib6/types/any.js.map +0 -1
  436. package/lib6/types/array.js +0 -53
  437. package/lib6/types/array.js.map +0 -1
  438. package/lib6/types/boolean.d.ts +0 -12
  439. package/lib6/types/boolean.js.map +0 -1
  440. package/lib6/types/buffer.js.map +0 -1
  441. package/lib6/types/date.d.ts +0 -12
  442. package/lib6/types/date.js.map +0 -1
  443. package/lib6/types/index.d.ts +0 -30
  444. package/lib6/types/index.js +0 -33
  445. package/lib6/types/index.js.map +0 -1
  446. package/lib6/types/model.js +0 -25
  447. package/lib6/types/model.js.map +0 -1
  448. package/lib6/types/number.js.map +0 -1
  449. package/lib6/types/object.d.ts +0 -15
  450. package/lib6/types/object.js.map +0 -1
  451. package/lib6/types/string.d.ts +0 -12
  452. package/lib6/types/string.js +0 -40
  453. package/lib6/types/string.js.map +0 -1
  454. package/lib6/types/type.d.ts +0 -38
  455. package/lib6/types/type.js.map +0 -1
  456. package/lib6/types/union.d.ts +0 -14
  457. package/lib6/types/union.js.map +0 -1
@@ -1,77 +0,0 @@
1
- import { Connector } from './connector';
2
- import { Entity, EntityData } from './model';
3
- import { Class, Options } from './common-types';
4
- import { Filter } from './query';
5
- /**
6
- * Key/Value operations for connector implementations
7
- */
8
- export interface KVConnector<T extends Entity> extends Connector {
9
- /**
10
- * Delete an entry by key
11
- * @param modelClass Model class
12
- * @param key Key for the entry
13
- * @param options Options for the operation
14
- * @returns Promise<true> if an entry is deleted for the id, otherwise
15
- * Promise<false>
16
- */
17
- delete(modelClass: Class<Entity>, key: string, options?: Options): Promise<boolean>;
18
- /**
19
- * Delete all entries
20
- * @param modelClass Model class
21
- * @param options Options for the operation
22
- * @returns A promise of the number of entries deleted
23
- */
24
- deleteAll(modelClass: Class<Entity>, options?: Options): Promise<number>;
25
- /**
26
- * Get an entry by key
27
- * @param modelClass Model class
28
- * @param key Key for the entry
29
- * @param options Options for the operation
30
- * @returns A promise of the entry found for the key
31
- */
32
- get(modelClass: Class<Entity>, key: string, options?: Options): Promise<T>;
33
- /**
34
- * Set an entry with key/value
35
- * @param modelClass Model class
36
- * @param key Key for the entry
37
- * @param value Value for the entry
38
- * @param options Options for the operation
39
- * @returns Promise<true> if an entry is set for the key, otherwise
40
- * Promise<false>
41
- */
42
- set(modelClass: Class<Entity>, key: string, value: EntityData, options?: Options): Promise<boolean>;
43
- /**
44
- * Set up ttl for an entry by key
45
- * @param modelClass Model class
46
- * @param key Key for the entry
47
- * @param options Options for the operation
48
- * @returns Promise<true> if an entry is configured for the key, otherwise
49
- * Promise<false>
50
- */
51
- expire(modelClass: Class<Entity>, key: string, ttl: number, options?: Options): Promise<boolean>;
52
- /**
53
- * Get ttl for an entry by key
54
- * @param modelClass Model class
55
- * @param key Key for the entry
56
- * @param ttl Time to live in millisenconds
57
- * @param options Options for the operation
58
- * @returns A promise of the TTL value
59
- */
60
- ttl?(modelClass: Class<Entity>, key: string, ttl: number, options?: Options): Promise<number>;
61
- /**
62
- * Fetch all keys
63
- * @param modelClass Model class
64
- * @param key Key for the entry
65
- * @param options Options for the operation
66
- * @returns A promise of an array of keys for all entries
67
- */
68
- keys?(modelClass: Class<Entity>, options?: Options): Promise<string[]>;
69
- /**
70
- * Get an Iterator for matching keys
71
- * @param modelClass Model class
72
- * @param filter Matching filter
73
- * @param options Options for the operation
74
- * @returns A promise of an iterator of entries
75
- */
76
- iterateKeys?(modelClass: Class<Entity>, filter?: Filter, options?: Options): Promise<Iterator<T>>;
77
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. 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
- //# sourceMappingURL=kv-connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-connector.js","sourceRoot":"","sources":["../src/kv-connector.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE"}
@@ -1,78 +0,0 @@
1
- import { Repository } from './repository';
2
- import { Options } from './common-types';
3
- import { Model } from './model';
4
- import { DataObject } from './common-types';
5
- import { Filter } from './query';
6
- /**
7
- * Key/Value operations for connector implementations
8
- */
9
- export interface KVRepository<T extends Model> extends Repository<T> {
10
- /**
11
- * Delete an entry by key
12
- *
13
- * @param key Key for the entry
14
- * @param options Options for the operation
15
- * @returns Promise<true> if an entry is deleted for the key, otherwise
16
- * Promise<false>
17
- */
18
- delete(key: string, options?: Options): Promise<boolean>;
19
- /**
20
- * Delete all entries
21
- *
22
- * @param key Key for the entry
23
- * @param options Options for the operation
24
- * @returns A promise of the number of entries deleted
25
- */
26
- deleteAll(options?: Options): Promise<number>;
27
- /**
28
- * Get an entry by key
29
- *
30
- * @param key Key for the entry
31
- * @param options Options for the operation
32
- * @returns A promise of the entry
33
- */
34
- get(key: string, options?: Options): Promise<T>;
35
- /**
36
- * Set an entry with key/value
37
- *
38
- * @param key Key for the entry
39
- * @param value Value for the entry
40
- * @param options Options for the operation
41
- * @returns Promise<true> if an entry is set for the key, otherwise
42
- * Promise<false>
43
- */
44
- set(key: string, value: DataObject<T>, options?: Options): Promise<boolean>;
45
- /**
46
- * Set up ttl for an entry by key
47
- *
48
- * @param key Key for the entry
49
- * @param options Options for the operation
50
- * @returns Promise<true> if an entry is set for the key, otherwise
51
- * Promise<false>
52
- */
53
- expire(key: string, ttl: number, options?: Options): Promise<boolean>;
54
- /**
55
- * Get ttl for an entry by key
56
- *
57
- * @param key Key for the entry
58
- * @param options Options for the operation
59
- * @returns A promise of the TTL value
60
- */
61
- ttl?(key: string, ttl: number, options?: Options): Promise<number>;
62
- /**
63
- * Fetch all keys
64
- *
65
- * @param key Key for the entry
66
- * @param options Options for the operation
67
- * @returns A promise of an array of keys for all entries
68
- */
69
- keys?(options?: Options): Promise<string[]>;
70
- /**
71
- * Get an Iterator for matching keys
72
- *
73
- * @param filter Filter for keys
74
- * @param options Options for the operation
75
- * @returns A promise of an iterator of entries
76
- */
77
- iterateKeys?(filter?: Filter, options?: Options): Promise<Iterator<T>>;
78
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. 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
- //# sourceMappingURL=kv-repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kv-repository.js","sourceRoot":"","sources":["../src/kv-repository.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE"}
@@ -1,44 +0,0 @@
1
- export declare const jugglerModule: any;
2
- import { DataObject, Options } from './common-types';
3
- import { Entity } from './model';
4
- import { Filter, Where } from './query';
5
- import { EntityCrudRepository } from './repository';
6
- import { juggler } from './loopback-datasource-juggler';
7
- export * from './loopback-datasource-juggler';
8
- export declare const DataSourceConstructor: typeof juggler.DataSource;
9
- export declare const ModelBaseConstructor: typeof juggler.ModelBase;
10
- /**
11
- * This is a bridge to the legacy DAO class. The function mixes DAO methods
12
- * into a model class and attach it to a given data source
13
- * @param modelClass {} Model class
14
- * @param ds {DataSource} Data source
15
- * @returns {} The new model class with DAO (CRUD) operations
16
- */
17
- export declare function bindModel<T extends typeof juggler.ModelBase>(modelClass: T, ds: juggler.DataSource): T;
18
- /**
19
- * Default implementation of CRUD repository using legacy juggler model
20
- * and data source
21
- */
22
- export declare class DefaultCrudRepository<T extends Entity, ID> implements EntityCrudRepository<T, ID> {
23
- modelClass: typeof juggler.PersistedModel;
24
- /**
25
- * Constructor of DefaultCrudRepository
26
- * @param modelClass Legacy model class
27
- * @param dataSource Legacy data source
28
- */
29
- constructor(modelClass: typeof juggler.PersistedModel, dataSource: juggler.DataSource);
30
- create(entity: DataObject<T>, options?: Options): Promise<T>;
31
- createAll(entities: DataObject<T>[], options?: Options): Promise<T[]>;
32
- save(entity: DataObject<T>, options?: Options): Promise<T | null>;
33
- find(filter?: Filter, options?: Options): Promise<T[]>;
34
- findById(id: ID, filter?: Filter, options?: Options): Promise<T>;
35
- update(entity: DataObject<T>, options?: Options): Promise<boolean>;
36
- delete(entity: DataObject<T>, options?: Options): Promise<boolean>;
37
- updateAll(data: DataObject<T>, where?: Where, options?: Options): Promise<number>;
38
- updateById(id: ID, data: DataObject<T>, options?: Options): Promise<boolean>;
39
- replaceById(id: ID, data: DataObject<T>, options?: Options): Promise<boolean>;
40
- deleteAll(where?: Where, options?: Options): Promise<number>;
41
- deleteById(id: ID, options?: Options): Promise<boolean>;
42
- count(where?: Where, options?: Options): Promise<number>;
43
- exists(id: ID, options?: Options): Promise<boolean>;
44
- }
@@ -1,119 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. 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
- function __export(m) {
7
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
8
- }
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.jugglerModule = require('loopback-datasource-juggler');
11
- const context_1 = require("@loopback/context");
12
- __export(require("./loopback-datasource-juggler"));
13
- /* tslint:disable-next-line:variable-name */
14
- exports.DataSourceConstructor = exports.jugglerModule.DataSource;
15
- /* tslint:disable-next-line:variable-name */
16
- exports.ModelBaseConstructor = exports.jugglerModule.ModelBaseClass;
17
- /**
18
- * This is a bridge to the legacy DAO class. The function mixes DAO methods
19
- * into a model class and attach it to a given data source
20
- * @param modelClass {} Model class
21
- * @param ds {DataSource} Data source
22
- * @returns {} The new model class with DAO (CRUD) operations
23
- */
24
- function bindModel(modelClass, ds) {
25
- const boundModelClass = class extends modelClass {
26
- };
27
- boundModelClass.attachTo(ds);
28
- return boundModelClass;
29
- }
30
- exports.bindModel = bindModel;
31
- /**
32
- * Ensure the value is a promise
33
- * @param p Promise or void
34
- */
35
- /* tslint:disable-next-line:no-any */
36
- function ensurePromise(p) {
37
- if (p && context_1.isPromise(p)) {
38
- return p;
39
- }
40
- else {
41
- return Promise.reject(new Error('The value should be a Promise: ' + p));
42
- }
43
- }
44
- /**
45
- * Default implementation of CRUD repository using legacy juggler model
46
- * and data source
47
- */
48
- class DefaultCrudRepository {
49
- /**
50
- * Constructor of DefaultCrudRepository
51
- * @param modelClass Legacy model class
52
- * @param dataSource Legacy data source
53
- */
54
- constructor(modelClass, dataSource) {
55
- // Bind the legacy model class to the datasource to create
56
- // a subclass of the model
57
- this.modelClass = bindModel(modelClass, dataSource);
58
- }
59
- create(entity, options) {
60
- return ensurePromise(this.modelClass.create(entity, options));
61
- }
62
- createAll(entities, options) {
63
- return ensurePromise(this.modelClass.create(entities, options));
64
- }
65
- save(entity, options) {
66
- const idName = this.modelClass.definition.idName();
67
- let id;
68
- if (typeof entity.getId === 'function') {
69
- id = entity.getId();
70
- }
71
- else {
72
- id = entity[idName];
73
- }
74
- if (id == null) {
75
- return this.create(entity, options);
76
- }
77
- else {
78
- return this.replaceById(id, entity, options).then(result => (result ? entity : null));
79
- }
80
- }
81
- find(filter, options) {
82
- return ensurePromise(this.modelClass.find(filter, options));
83
- }
84
- findById(id, filter, options) {
85
- return ensurePromise(this.modelClass.findById(id, filter, options));
86
- }
87
- update(entity, options) {
88
- return this.updateById(entity.getId(), entity, options);
89
- }
90
- delete(entity, options) {
91
- return this.deleteById(entity.getId(), options);
92
- }
93
- updateAll(data, where, options) {
94
- return ensurePromise(this.modelClass.updateAll(where, data, options)).then(result => result.count);
95
- }
96
- updateById(id, data, options) {
97
- const idProp = this.modelClass.definition.idName();
98
- const where = {};
99
- where[idProp] = id;
100
- return this.updateAll(data, where, options).then(count => count > 0);
101
- }
102
- replaceById(id, data, options) {
103
- return ensurePromise(this.modelClass.replaceById(id, data, options)).then(result => !!result);
104
- }
105
- deleteAll(where, options) {
106
- return ensurePromise(this.modelClass.deleteAll(where, options)).then(result => result.count);
107
- }
108
- deleteById(id, options) {
109
- return ensurePromise(this.modelClass.deleteById(id, options)).then(result => result.count > 0);
110
- }
111
- count(where, options) {
112
- return ensurePromise(this.modelClass.count(where, options));
113
- }
114
- exists(id, options) {
115
- return ensurePromise(this.modelClass.exists(id, options));
116
- }
117
- }
118
- exports.DefaultCrudRepository = DefaultCrudRepository;
119
- //# sourceMappingURL=legacy-juggler-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-juggler-bridge.js","sourceRoot":"","sources":["../src/legacy-juggler-bridge.ts"],"names":[],"mappings":"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"}