@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.
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 +304 -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/{lib → 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/{lib6 → 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/{lib6 → 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/{lib → 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/{lib → 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/{lib6 → 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/{lib/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/{lib → 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/{lib → 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/{lib6 → 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/{lib → 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 +373 -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 -18017
  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 -17
  329. package/lib/decorators/model.js +0 -55
  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 -107
  336. package/lib/decorators/repository.js.map +0 -1
  337. package/lib/index.d.ts +0 -16
  338. package/lib/index.js +0 -20
  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 -53
  347. package/lib/legacy-juggler-bridge.js +0 -142
  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 -137
  356. package/lib/model.js +0 -182
  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.js +0 -35
  365. package/lib/types/any.js.map +0 -1
  366. package/lib/types/array.d.ts +0 -14
  367. package/lib/types/array.js +0 -53
  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.map +0 -1
  372. package/lib/types/date.js.map +0 -1
  373. package/lib/types/index.js +0 -33
  374. package/lib/types/index.js.map +0 -1
  375. package/lib/types/model.d.ts +0 -11
  376. package/lib/types/model.js +0 -25
  377. package/lib/types/model.js.map +0 -1
  378. package/lib/types/number.d.ts +0 -12
  379. package/lib/types/number.js.map +0 -1
  380. package/lib/types/object.js.map +0 -1
  381. package/lib/types/string.js.map +0 -1
  382. package/lib/types/type.d.ts +0 -38
  383. package/lib/types/type.js +0 -7
  384. package/lib/types/type.js.map +0 -1
  385. package/lib/types/union.js.map +0 -1
  386. package/lib6/common-types.d.ts +0 -44
  387. package/lib6/common-types.js +0 -7
  388. package/lib6/common-types.js.map +0 -1
  389. package/lib6/connector.d.ts +0 -12
  390. package/lib6/connector.js +0 -7
  391. package/lib6/connector.js.map +0 -1
  392. package/lib6/crud-connector.d.ts +0 -130
  393. package/lib6/crud-connector.js +0 -7
  394. package/lib6/crud-connector.js.map +0 -1
  395. package/lib6/datasource.d.ts +0 -11
  396. package/lib6/datasource.js.map +0 -1
  397. package/lib6/decorators/model.d.ts +0 -17
  398. package/lib6/decorators/model.js +0 -55
  399. package/lib6/decorators/model.js.map +0 -1
  400. package/lib6/decorators/relation.d.ts +0 -65
  401. package/lib6/decorators/relation.js +0 -126
  402. package/lib6/decorators/relation.js.map +0 -1
  403. package/lib6/decorators/repository.d.ts +0 -61
  404. package/lib6/decorators/repository.js +0 -117
  405. package/lib6/decorators/repository.js.map +0 -1
  406. package/lib6/index.d.ts +0 -16
  407. package/lib6/index.js +0 -20
  408. package/lib6/index.js.map +0 -1
  409. package/lib6/kv-connector.js +0 -7
  410. package/lib6/kv-connector.js.map +0 -1
  411. package/lib6/kv-repository.d.ts +0 -78
  412. package/lib6/kv-repository.js +0 -7
  413. package/lib6/kv-repository.js.map +0 -1
  414. package/lib6/legacy-juggler-bridge.d.ts +0 -53
  415. package/lib6/legacy-juggler-bridge.js +0 -158
  416. package/lib6/legacy-juggler-bridge.js.map +0 -1
  417. package/lib6/loopback-datasource-juggler.d.ts +0 -666
  418. package/lib6/loopback-datasource-juggler.js +0 -8
  419. package/lib6/loopback-datasource-juggler.js.map +0 -1
  420. package/lib6/mixin.d.ts +0 -43
  421. package/lib6/mixin.js +0 -34
  422. package/lib6/mixin.js.map +0 -1
  423. package/lib6/model.d.ts +0 -137
  424. package/lib6/model.js +0 -182
  425. package/lib6/model.js.map +0 -1
  426. package/lib6/query.d.ts +0 -112
  427. package/lib6/query.js +0 -25
  428. package/lib6/query.js.map +0 -1
  429. package/lib6/repository.d.ts +0 -172
  430. package/lib6/repository.js +0 -127
  431. package/lib6/repository.js.map +0 -1
  432. package/lib6/types/any.d.ts +0 -12
  433. package/lib6/types/any.js.map +0 -1
  434. package/lib6/types/array.js.map +0 -1
  435. package/lib6/types/boolean.d.ts +0 -12
  436. package/lib6/types/boolean.js.map +0 -1
  437. package/lib6/types/buffer.js +0 -57
  438. package/lib6/types/buffer.js.map +0 -1
  439. package/lib6/types/date.d.ts +0 -12
  440. package/lib6/types/date.js +0 -60
  441. package/lib6/types/date.js.map +0 -1
  442. package/lib6/types/index.d.ts +0 -30
  443. package/lib6/types/index.js +0 -33
  444. package/lib6/types/index.js.map +0 -1
  445. package/lib6/types/model.js.map +0 -1
  446. package/lib6/types/number.js +0 -40
  447. package/lib6/types/number.js.map +0 -1
  448. package/lib6/types/object.d.ts +0 -15
  449. package/lib6/types/object.js +0 -49
  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.js.map +0 -1
  455. package/lib6/types/union.d.ts +0 -14
  456. package/lib6/types/union.js +0 -51
  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,53 +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
- export * from './loopback-datasource-juggler';
7
- import { juggler } from './loopback-datasource-juggler';
8
- declare type DataSourceType = juggler.DataSource;
9
- export { DataSourceType };
10
- export declare const DataSourceConstructor: typeof juggler.DataSource;
11
- export declare const ModelBaseConstructor: typeof juggler.ModelBase;
12
- /**
13
- * This is a bridge to the legacy DAO class. The function mixes DAO methods
14
- * into a model class and attach it to a given data source
15
- * @param modelClass {} Model class
16
- * @param ds {DataSource} Data source
17
- * @returns {} The new model class with DAO (CRUD) operations
18
- */
19
- export declare function bindModel<T extends typeof juggler.ModelBase>(modelClass: T, ds: juggler.DataSource): T;
20
- /**
21
- * Default implementation of CRUD repository using legacy juggler model
22
- * and data source
23
- */
24
- export declare class DefaultCrudRepository<T extends Entity, ID> implements EntityCrudRepository<T, ID> {
25
- entityClass: typeof Entity & {
26
- prototype: T;
27
- };
28
- modelClass: typeof juggler.PersistedModel;
29
- /**
30
- * Constructor of DefaultCrudRepository
31
- * @param modelClass Legacy model class
32
- * @param dataSource Legacy data source
33
- */
34
- constructor(entityClass: typeof Entity & {
35
- prototype: T;
36
- }, dataSource: juggler.DataSource);
37
- create(entity: Partial<T>, options?: Options): Promise<T>;
38
- createAll(entities: Partial<T>[], options?: Options): Promise<T[]>;
39
- save(entity: T, options?: Options): Promise<T | null>;
40
- find(filter?: Filter, options?: Options): Promise<T[]>;
41
- findById(id: ID, filter?: Filter, options?: Options): Promise<T>;
42
- update(entity: T, options?: Options): Promise<boolean>;
43
- delete(entity: T, options?: Options): Promise<boolean>;
44
- updateAll(data: Partial<T>, where?: Where, options?: Options): Promise<number>;
45
- updateById(id: ID, data: Partial<T>, options?: Options): Promise<boolean>;
46
- replaceById(id: ID, data: Partial<T>, options?: Options): Promise<boolean>;
47
- deleteAll(where?: Where, options?: Options): Promise<number>;
48
- deleteById(id: ID, options?: Options): Promise<boolean>;
49
- count(where?: Where, options?: Options): Promise<number>;
50
- exists(id: ID, options?: Options): Promise<boolean>;
51
- protected toEntity(model: DataObject<T>): T;
52
- protected toEntities(models: DataObject<T>[]): T[];
53
- }
@@ -1,142 +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 assert = require("assert");
12
- const context_1 = require("@loopback/context");
13
- __export(require("./loopback-datasource-juggler"));
14
- /* tslint:disable-next-line:variable-name */
15
- exports.DataSourceConstructor = exports.jugglerModule.DataSource;
16
- /* tslint:disable-next-line:variable-name */
17
- exports.ModelBaseConstructor = exports.jugglerModule.ModelBaseClass;
18
- /**
19
- * This is a bridge to the legacy DAO class. The function mixes DAO methods
20
- * into a model class and attach it to a given data source
21
- * @param modelClass {} Model class
22
- * @param ds {DataSource} Data source
23
- * @returns {} The new model class with DAO (CRUD) operations
24
- */
25
- function bindModel(modelClass, ds) {
26
- const boundModelClass = class extends modelClass {
27
- };
28
- boundModelClass.attachTo(ds);
29
- return boundModelClass;
30
- }
31
- exports.bindModel = bindModel;
32
- /**
33
- * Ensure the value is a promise
34
- * @param p Promise or void
35
- */
36
- /* tslint:disable-next-line:no-any */
37
- function ensurePromise(p) {
38
- if (p && context_1.isPromise(p)) {
39
- return p;
40
- }
41
- else {
42
- return Promise.reject(new Error('The value should be a Promise: ' + p));
43
- }
44
- }
45
- /**
46
- * Default implementation of CRUD repository using legacy juggler model
47
- * and data source
48
- */
49
- class DefaultCrudRepository {
50
- /**
51
- * Constructor of DefaultCrudRepository
52
- * @param modelClass Legacy model class
53
- * @param dataSource Legacy data source
54
- */
55
- constructor(
56
- // entityClass should have type "typeof T", but that's not supported by TSC
57
- entityClass, dataSource) {
58
- this.entityClass = entityClass;
59
- const definition = entityClass.definition;
60
- assert(!!definition, `Entity ${entityClass.name} must have valid model definition.`);
61
- assert(definition.idProperties().length > 0, `Entity ${entityClass.name} must have at least one id/pk property.`);
62
- // Create an internal legacy Model attached to the datasource
63
- // We need to convert property definitions from PropertyDefinition
64
- // to plain data object because of a juggler limitation
65
- const properties = {};
66
- for (const p in definition.properties) {
67
- properties[p] = Object.assign({}, definition.properties[p]);
68
- }
69
- this.modelClass = dataSource.createModel(definition.name, properties, definition.settings);
70
- this.modelClass.attachTo(dataSource);
71
- }
72
- async create(entity, options) {
73
- const model = await ensurePromise(this.modelClass.create(entity, options));
74
- return this.toEntity(model);
75
- }
76
- async createAll(entities, options) {
77
- const models = await ensurePromise(this.modelClass.create(entities, options));
78
- return this.toEntities(models);
79
- }
80
- save(entity, options) {
81
- const idName = this.modelClass.definition.idName();
82
- let id;
83
- if (typeof entity.getId === 'function') {
84
- id = entity.getId();
85
- }
86
- else {
87
- id = entity[idName];
88
- }
89
- if (id == null) {
90
- return this.create(entity, options);
91
- }
92
- else {
93
- return this.replaceById(id, entity, options).then(result => (result ? this.toEntity(entity) : null));
94
- }
95
- }
96
- async find(filter, options) {
97
- const models = await ensurePromise(this.modelClass.find(filter, options));
98
- return this.toEntities(models);
99
- }
100
- async findById(id, filter, options) {
101
- const model = await ensurePromise(this.modelClass.findById(id, filter, options));
102
- return this.toEntity(model);
103
- }
104
- update(entity, options) {
105
- return this.updateById(entity.getId(), entity, options);
106
- }
107
- delete(entity, options) {
108
- return this.deleteById(entity.getId(), options);
109
- }
110
- updateAll(data, where, options) {
111
- return ensurePromise(this.modelClass.updateAll(where, data, options)).then(result => result.count);
112
- }
113
- updateById(id, data, options) {
114
- const idProp = this.modelClass.definition.idName();
115
- const where = {};
116
- where[idProp] = id;
117
- return this.updateAll(data, where, options).then(count => count > 0);
118
- }
119
- replaceById(id, data, options) {
120
- return ensurePromise(this.modelClass.replaceById(id, data, options)).then(result => !!result);
121
- }
122
- deleteAll(where, options) {
123
- return ensurePromise(this.modelClass.deleteAll(where, options)).then(result => result.count);
124
- }
125
- deleteById(id, options) {
126
- return ensurePromise(this.modelClass.deleteById(id, options)).then(result => result.count > 0);
127
- }
128
- count(where, options) {
129
- return ensurePromise(this.modelClass.count(where, options));
130
- }
131
- exists(id, options) {
132
- return ensurePromise(this.modelClass.exists(id, options));
133
- }
134
- toEntity(model) {
135
- return new this.entityClass(model.toObject());
136
- }
137
- toEntities(models) {
138
- return models.map(m => this.toEntity(m));
139
- }
140
- }
141
- exports.DefaultCrudRepository = DefaultCrudRepository;
142
- //# 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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"}