@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,117 +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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const assert = require("assert");
16
- const legacy_juggler_bridge_1 = require("../legacy-juggler-bridge");
17
- const context_1 = require("@loopback/context");
18
- /**
19
- * Metadata for a repository
20
- */
21
- class RepositoryMetadata {
22
- /**
23
- * Constructor for RepositoryMetadata
24
- *
25
- * @param model Name or class of the model. If the value is a string and
26
- * `dataSource` is not present, it will treated as the name of a predefined
27
- * repository
28
- * @param dataSource Name or instance of the data source
29
- *
30
- * For example:
31
- *
32
- * - new RepositoryMetadata(repoName);
33
- * - new RepositoryMetadata(modelName, dataSourceName);
34
- * - new RepositoryMetadata(modelClass, dataSourceInstance);
35
- * - new RepositoryMetadata(modelName, dataSourceInstance);
36
- * - new RepositoryMetadata(modelClass, dataSourceName);
37
- */
38
- constructor(modelOrRepo, dataSource) {
39
- this.name = typeof modelOrRepo === 'string' && dataSource === undefined
40
- ? modelOrRepo
41
- : undefined;
42
- this.modelName = typeof modelOrRepo === 'string' && dataSource != null
43
- ? modelOrRepo
44
- : undefined;
45
- this.modelClass = typeof modelOrRepo === 'function'
46
- ? modelOrRepo
47
- : undefined;
48
- this.dataSourceName = typeof dataSource === 'string'
49
- ? dataSource
50
- : undefined;
51
- this.dataSource = typeof dataSource === 'object' ? dataSource : undefined;
52
- }
53
- }
54
- exports.RepositoryMetadata = RepositoryMetadata;
55
- /**
56
- * Decorator for model definitions
57
- * @param model Name of the repo or name/class of the model
58
- * @param dataSource Name or instance of the data source
59
- * @returns {(target:AnyType)}
60
- *
61
- * For example:
62
- *
63
- * - @repository('myCustomerRepo')
64
- * - @repository('Customer', 'mysqlDataSource')
65
- * - @repository(Customer, mysqlDataSource)
66
- * - @repository('Customer', mysqlDataSource)
67
- * - @repository(Customer, 'mysqlDataSource')
68
- */
69
- function repository(model, dataSource) {
70
- const meta = new RepositoryMetadata(model, dataSource);
71
- return function (target, key, descriptor) {
72
- if (key || typeof descriptor === 'number') {
73
- if (meta.name) {
74
- // Make it shortcut to `@inject('repositories.MyRepo')`
75
- // Please note key is undefined for constructor. If strictNullChecks
76
- // is true, the compiler will complain as reflect-metadata won't
77
- // accept undefined or null for key. Use ! to fool the compiler.
78
- context_1.inject('repositories.' + meta.name, meta)(target, key, descriptor);
79
- }
80
- else {
81
- // Use repository-factory to create a repository from model + dataSource
82
- // inject('repository-factory', meta)(target, key!, descriptor);
83
- context_1.inject('', meta, resolve)(target, key, descriptor);
84
- // throw new Error('@repository(model, dataSource) is not implemented');
85
- }
86
- return;
87
- }
88
- // Mixin repository into the class
89
- throw new Error('Class level @repository is not implemented');
90
- };
91
- }
92
- exports.repository = repository;
93
- /**
94
- * Resolve the @repository injection
95
- * @param ctx Context
96
- * @param injection Injection metadata
97
- */
98
- function resolve(ctx, injection) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- const meta = injection.metadata;
101
- let modelClass = meta.modelClass;
102
- if (meta.modelName) {
103
- modelClass = (yield ctx.get('models.' + meta.modelName));
104
- }
105
- if (!modelClass) {
106
- throw new Error('Invalid repository config: ' +
107
- ' neither modelClass nor modelName was specified.');
108
- }
109
- let dataSource = meta.dataSource;
110
- if (meta.dataSourceName) {
111
- dataSource = yield ctx.get('datasources.' + meta.dataSourceName);
112
- }
113
- assert(dataSource instanceof legacy_juggler_bridge_1.DataSourceConstructor, 'DataSource must be provided');
114
- return new legacy_juggler_bridge_1.DefaultCrudRepository(modelClass, dataSource);
115
- });
116
- }
117
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/decorators/repository.ts"],"names":[],"mappings":"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"}
package/lib6/index.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export * from './common-types';
2
- export * from './decorators/model';
3
- export * from './decorators/repository';
4
- export * from './decorators/relation';
5
- export * from './types';
6
- export * from './model';
7
- export * from './query';
8
- export * from './datasource';
9
- export * from './mixin';
10
- export * from './repository';
11
- export * from './connector';
12
- export * from './crud-connector';
13
- export * from './kv-connector';
14
- export * from './kv-repository';
15
- export * from './legacy-juggler-bridge';
16
- export * from './loopback-datasource-juggler';
package/lib6/index.js DELETED
@@ -1,20 +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
- __export(require("./decorators/model"));
11
- __export(require("./decorators/repository"));
12
- __export(require("./decorators/relation"));
13
- __export(require("./types"));
14
- __export(require("./model"));
15
- __export(require("./query"));
16
- __export(require("./mixin"));
17
- __export(require("./repository"));
18
- __export(require("./legacy-juggler-bridge"));
19
- __export(require("./loopback-datasource-juggler"));
20
- //# sourceMappingURL=index.js.map
package/lib6/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;;AAGhE,wCAAmC;AACnC,6CAAwC;AACxC,2CAAsC;AACtC,6BAAwB;AACxB,6BAAwB;AACxB,6BAAwB;AAExB,6BAAwB;AACxB,kCAA6B;AAK7B,6CAAwC;AACxC,mDAA8C"}
@@ -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,158 +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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- function __export(m) {
15
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
16
- }
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.jugglerModule = require('loopback-datasource-juggler');
19
- const assert = require("assert");
20
- const context_1 = require("@loopback/context");
21
- __export(require("./loopback-datasource-juggler"));
22
- /* tslint:disable-next-line:variable-name */
23
- exports.DataSourceConstructor = exports.jugglerModule.DataSource;
24
- /* tslint:disable-next-line:variable-name */
25
- exports.ModelBaseConstructor = exports.jugglerModule.ModelBaseClass;
26
- /**
27
- * This is a bridge to the legacy DAO class. The function mixes DAO methods
28
- * into a model class and attach it to a given data source
29
- * @param modelClass {} Model class
30
- * @param ds {DataSource} Data source
31
- * @returns {} The new model class with DAO (CRUD) operations
32
- */
33
- function bindModel(modelClass, ds) {
34
- const boundModelClass = class extends modelClass {
35
- };
36
- boundModelClass.attachTo(ds);
37
- return boundModelClass;
38
- }
39
- exports.bindModel = bindModel;
40
- /**
41
- * Ensure the value is a promise
42
- * @param p Promise or void
43
- */
44
- /* tslint:disable-next-line:no-any */
45
- function ensurePromise(p) {
46
- if (p && context_1.isPromise(p)) {
47
- return p;
48
- }
49
- else {
50
- return Promise.reject(new Error('The value should be a Promise: ' + p));
51
- }
52
- }
53
- /**
54
- * Default implementation of CRUD repository using legacy juggler model
55
- * and data source
56
- */
57
- class DefaultCrudRepository {
58
- /**
59
- * Constructor of DefaultCrudRepository
60
- * @param modelClass Legacy model class
61
- * @param dataSource Legacy data source
62
- */
63
- constructor(
64
- // entityClass should have type "typeof T", but that's not supported by TSC
65
- entityClass, dataSource) {
66
- this.entityClass = entityClass;
67
- const definition = entityClass.definition;
68
- assert(!!definition, `Entity ${entityClass.name} must have valid model definition.`);
69
- assert(definition.idProperties().length > 0, `Entity ${entityClass.name} must have at least one id/pk property.`);
70
- // Create an internal legacy Model attached to the datasource
71
- // We need to convert property definitions from PropertyDefinition
72
- // to plain data object because of a juggler limitation
73
- const properties = {};
74
- for (const p in definition.properties) {
75
- properties[p] = Object.assign({}, definition.properties[p]);
76
- }
77
- this.modelClass = dataSource.createModel(definition.name, properties, definition.settings);
78
- this.modelClass.attachTo(dataSource);
79
- }
80
- create(entity, options) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const model = yield ensurePromise(this.modelClass.create(entity, options));
83
- return this.toEntity(model);
84
- });
85
- }
86
- createAll(entities, options) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const models = yield ensurePromise(this.modelClass.create(entities, options));
89
- return this.toEntities(models);
90
- });
91
- }
92
- save(entity, options) {
93
- const idName = this.modelClass.definition.idName();
94
- let id;
95
- if (typeof entity.getId === 'function') {
96
- id = entity.getId();
97
- }
98
- else {
99
- id = entity[idName];
100
- }
101
- if (id == null) {
102
- return this.create(entity, options);
103
- }
104
- else {
105
- return this.replaceById(id, entity, options).then(result => (result ? this.toEntity(entity) : null));
106
- }
107
- }
108
- find(filter, options) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- const models = yield ensurePromise(this.modelClass.find(filter, options));
111
- return this.toEntities(models);
112
- });
113
- }
114
- findById(id, filter, options) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const model = yield ensurePromise(this.modelClass.findById(id, filter, options));
117
- return this.toEntity(model);
118
- });
119
- }
120
- update(entity, options) {
121
- return this.updateById(entity.getId(), entity, options);
122
- }
123
- delete(entity, options) {
124
- return this.deleteById(entity.getId(), options);
125
- }
126
- updateAll(data, where, options) {
127
- return ensurePromise(this.modelClass.updateAll(where, data, options)).then(result => result.count);
128
- }
129
- updateById(id, data, options) {
130
- const idProp = this.modelClass.definition.idName();
131
- const where = {};
132
- where[idProp] = id;
133
- return this.updateAll(data, where, options).then(count => count > 0);
134
- }
135
- replaceById(id, data, options) {
136
- return ensurePromise(this.modelClass.replaceById(id, data, options)).then(result => !!result);
137
- }
138
- deleteAll(where, options) {
139
- return ensurePromise(this.modelClass.deleteAll(where, options)).then(result => result.count);
140
- }
141
- deleteById(id, options) {
142
- return ensurePromise(this.modelClass.deleteById(id, options)).then(result => result.count > 0);
143
- }
144
- count(where, options) {
145
- return ensurePromise(this.modelClass.count(where, options));
146
- }
147
- exists(id, options) {
148
- return ensurePromise(this.modelClass.exists(id, options));
149
- }
150
- toEntity(model) {
151
- return new this.entityClass(model.toObject());
152
- }
153
- toEntities(models) {
154
- return models.map(m => this.toEntity(m));
155
- }
156
- }
157
- exports.DefaultCrudRepository = DefaultCrudRepository;
158
- //# 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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"}