gina 0.1.1-alpha.16 → 0.1.1-alpha.160

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 (324) hide show
  1. package/AUTHORS +2 -1
  2. package/LICENSE +1 -1
  3. package/README-4Contributors.md +30 -0
  4. package/README.md +202 -32
  5. package/bin/cli +165 -68
  6. package/bin/cli-debug +49 -18
  7. package/bin/cmd +40 -18
  8. package/bin/gina +48 -37
  9. package/{framework/v0.1.1-alpha.16/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  10. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/AUTHORS +0 -0
  11. package/framework/{v0.1.1-alpha.16/lib/inherits → v0.1.1-alpha.160}/LICENSE +1 -1
  12. package/framework/v0.1.1-alpha.160/VERSION +1 -0
  13. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/html/nolayout.html +0 -0
  14. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/html/static.html +0 -0
  15. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/android-chrome-192x192.png +0 -0
  16. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/android-chrome-512x512.png +0 -0
  17. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/apple-touch-icon.png +0 -0
  18. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon-16x16.png +0 -0
  19. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon-32x32.png +0 -0
  20. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/asset/img/favicon.ico +0 -0
  21. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.js +887 -874
  22. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.js.map +3 -3
  23. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.min.css +0 -0
  24. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.min.css.map +0 -0
  25. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.min.js +739 -0
  26. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.min.js.map +8 -0
  27. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  28. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  29. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  30. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  31. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  32. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  33. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/main.js +1542 -0
  34. package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  35. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/readme.md +6 -6
  36. package/framework/{v0.1.1-alpha.16/core/asset/js → v0.1.1-alpha.160/core/asset}/plugin/uuid.json +0 -0
  37. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/config.js +29 -14
  38. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/index.js +331 -222
  39. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.js +6 -4
  40. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.v2.js +47 -47
  41. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  42. package/framework/v0.1.1-alpha.160/core/connectors/couchbase/lib/connector.v4.js +384 -0
  43. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/n1ql.js +3 -2
  44. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.js +6 -5
  45. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  46. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  47. package/framework/v0.1.1-alpha.160/core/connectors/couchbase/lib/session-store.v4.js +362 -0
  48. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/controller.framework.js +0 -0
  49. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/controller.js +691 -677
  50. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/controller/index.js +0 -0
  51. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/.travis.yml +0 -0
  52. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/LICENSE +0 -0
  53. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/README.md +0 -0
  54. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  55. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  56. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/main.js +0 -0
  57. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/types/multipart.js +0 -0
  58. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  59. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/lib/utils.js +0 -0
  60. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/busboy/package.json +0 -0
  61. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  62. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/index.js +1 -1
  63. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/class.js +0 -0
  64. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/factory.js +1 -1
  65. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/dev/lib/tools.js +0 -0
  66. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/gna.js +3 -4
  67. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/README.md +0 -0
  68. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/currency.json +0 -0
  69. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/language/en.json +0 -0
  70. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/language/fr.json +0 -0
  71. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/region/en.json +0 -0
  72. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/dist/region/fr.json +0 -0
  73. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/index.js +2 -2
  74. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/make.js +0 -0
  75. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/currency.csv +0 -0
  76. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/region.csv +0 -0
  77. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/locales/src/resources/region.mapping.json +0 -0
  78. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/mime.types +0 -0
  79. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/entity.js +81 -61
  80. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/index.js +8 -7
  81. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/template/entityFactory.js +1 -1
  82. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/model/template/index.js +1 -1
  83. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/README.md +0 -0
  84. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/index.js +1 -1
  85. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/README.md +0 -0
  86. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/build.json +0 -0
  87. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/file/package.json +1 -1
  88. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/README.md +0 -0
  89. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/build.json +0 -0
  90. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/package.json +1 -1
  91. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/intl/src/main.js +0 -0
  92. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/README.md +0 -0
  93. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/build.json +0 -0
  94. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/package.json +1 -1
  95. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/storage/src/main.js +0 -0
  96. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/README.md +0 -0
  97. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/build.json +0 -0
  98. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/package.json +1 -1
  99. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/src/form-validator.js +0 -0
  100. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/plugins/lib/validator/src/main.js +0 -0
  101. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/router.js +92 -79
  102. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.express.js +0 -0
  103. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.isaac.js +117 -108
  104. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/server.js +44 -1
  105. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/status.codes +0 -0
  106. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/app.json +0 -0
  107. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/routing.json +0 -0
  108. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/settings.json +0 -0
  109. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  110. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/config/templates.json +4 -4
  111. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  112. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  113. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  114. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle/index.js +0 -0
  115. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  116. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  117. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  118. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  119. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  120. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_public/readme.md +0 -0
  121. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  122. package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  123. package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  124. package/framework/v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  125. package/framework/{v0.1.1-alpha.16/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.160/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  126. package/framework/v0.1.1-alpha.160/core/template/command/gina.bat.tpl +8 -0
  127. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/command/gina.tpl +1 -1
  128. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/env.json +0 -0
  129. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/manifest.json +0 -0
  130. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/package.json +1 -1
  131. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/settings.json +0 -0
  132. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/statics.json +3 -3
  133. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/conf/templates.json +2 -2
  134. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/401.json +0 -0
  135. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/403.json +0 -0
  136. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/client/json/404.json +0 -0
  137. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/html/50x.html +0 -0
  138. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/json/500.json +0 -0
  139. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/error/server/json/503.json +0 -0
  140. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/core/template/extensions/logger/config.json +0 -0
  141. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/console.js +1 -1
  142. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/context.js +145 -5
  143. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/dateFormat.js +4 -2
  144. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/index.js +10 -5
  145. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/json/README.md +0 -0
  146. package/framework/{v0.1.1-alpha.16/helpers/plugins → v0.1.1-alpha.160/helpers/json}/package.json +1 -1
  147. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/json/src/main.js +22 -22
  148. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/path.js +143 -89
  149. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/README.md +0 -0
  150. package/framework/{v0.1.1-alpha.16/helpers/json → v0.1.1-alpha.160/helpers/plugins}/package.json +1 -1
  151. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/src/api-error.js +23 -23
  152. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/plugins/src/main.js +2 -2
  153. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/prototypes.js +35 -36
  154. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/task.js +21 -14
  155. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/helpers/text.js +1 -1
  156. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/README.md +0 -0
  157. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/build.json +0 -0
  158. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/package.json +1 -1
  159. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/src/dep/jszip.min.js +0 -0
  160. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/archiver/src/main.js +167 -167
  161. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/aliases.json +4 -1
  162. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/add.js +43 -17
  163. package/framework/v0.1.1-alpha.160/lib/cmd/bundle/arguments.json +6 -0
  164. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/copy.js +0 -0
  165. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/cp.js +0 -0
  166. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/help.js +0 -0
  167. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/help.txt +2 -2
  168. package/framework/v0.1.1-alpha.160/lib/cmd/bundle/list.js +176 -0
  169. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/remove.js +22 -22
  170. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/rename.js +0 -0
  171. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/restart.js +0 -0
  172. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/rm.js +0 -0
  173. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/start.js +257 -46
  174. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/status.js +0 -0
  175. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/bundle/stop.js +93 -74
  176. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/add.js +0 -0
  177. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/get.js +0 -0
  178. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/help.js +0 -0
  179. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/help.txt +0 -0
  180. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/link-dev.js +0 -0
  181. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/list.js +0 -0
  182. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/remove.js +0 -0
  183. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/rm.js +0 -0
  184. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/set.js +0 -0
  185. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/env/unset.js +0 -0
  186. package/framework/{v0.1.1-alpha.16/lib/cmd/scope → v0.1.1-alpha.160/lib/cmd/env}/use.js +21 -1
  187. package/framework/v0.1.1-alpha.160/lib/cmd/framework/build.js +85 -0
  188. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/dot.js +0 -0
  189. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/get.js +0 -0
  190. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/help.js +0 -0
  191. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/help.txt +0 -0
  192. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/init.js +212 -21
  193. package/framework/v0.1.1-alpha.160/lib/cmd/framework/link-node-modules.js +86 -0
  194. package/framework/v0.1.1-alpha.160/lib/cmd/framework/link.js +94 -0
  195. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/msg.json +0 -0
  196. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/open.js +15 -0
  197. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/restart.js +58 -26
  198. package/framework/v0.1.1-alpha.160/lib/cmd/framework/set.js +264 -0
  199. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/start.js +35 -12
  200. package/framework/v0.1.1-alpha.160/lib/cmd/framework/status.js +138 -0
  201. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/stop.js +44 -28
  202. package/framework/v0.1.1-alpha.160/lib/cmd/framework/tail.js +271 -0
  203. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/update.js +0 -0
  204. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/framework/version.js +12 -3
  205. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina-dev.1.md +0 -0
  206. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina-framework.1.md +0 -0
  207. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/gina.1.md +0 -0
  208. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/helper.js +74 -5
  209. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/index.js +22 -22
  210. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/msg.json +0 -0
  211. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/help.js +0 -0
  212. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/help.txt +0 -0
  213. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/inc/scan.js +32 -17
  214. package/framework/v0.1.1-alpha.160/lib/cmd/port/list.js +446 -0
  215. package/framework/v0.1.1-alpha.160/lib/cmd/port/reset.js +426 -0
  216. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/port/set.js +0 -0
  217. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/add.js +146 -122
  218. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/arguments.json +0 -0
  219. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/build.js +0 -0
  220. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/help.js +0 -0
  221. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/help.txt +0 -0
  222. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/import.js +0 -0
  223. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/list.js +16 -2
  224. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/move.js +0 -0
  225. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/remove.js +17 -17
  226. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/rename.js +0 -0
  227. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/restart.js +0 -0
  228. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/rm.js +0 -0
  229. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/start.js +0 -0
  230. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/status.js +0 -0
  231. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/project/stop.js +0 -0
  232. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/help.js +0 -0
  233. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/help.txt +0 -0
  234. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/list.js +0 -0
  235. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/protocol/set.js +239 -201
  236. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/help.js +0 -0
  237. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/help.txt +0 -0
  238. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/link-local.js +0 -0
  239. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/list.js +0 -0
  240. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/remove.js +0 -0
  241. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/rm.js +0 -0
  242. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/set.js +0 -0
  243. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/scope/unset.js +0 -0
  244. package/framework/{v0.1.1-alpha.16/lib/cmd/env → v0.1.1-alpha.160/lib/cmd/scope}/use.js +0 -0
  245. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cmd/view/add.js +34 -9
  246. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/README.md +0 -0
  247. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/build.json +0 -0
  248. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/package.json +1 -1
  249. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/collection/src/main.js +0 -0
  250. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/config.js +2 -1
  251. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/README.md +0 -0
  252. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/package.json +1 -1
  253. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/cron/src/main.js +0 -0
  254. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/generator/index.js +1 -1
  255. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/index.js +1 -1
  256. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160/lib/inherits}/LICENSE +1 -1
  257. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/README.md +0 -0
  258. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  259. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/protected_inheritance.js +0 -0
  260. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/simple_inheritance.js +0 -0
  261. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  262. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/package.json +1 -1
  263. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/inherits/src/main.js +1 -1
  264. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/README.md +0 -0
  265. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/package.json +1 -1
  266. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/default/index.js +13 -2
  267. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/index.js +105 -14
  268. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  269. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  270. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/index.js +2 -1
  271. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/listener.js +16 -14
  272. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/containers/mq/speaker.js +32 -3
  273. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/helper.js +20 -1
  274. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/logger/src/main.js +5 -2
  275. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/math/index.js +7 -7
  276. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/README.md +0 -0
  277. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge.js +0 -0
  278. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge_2_literal objects.js +0 -0
  279. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/example/merge_and_preserve_first.js +0 -0
  280. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/package.json +1 -1
  281. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/merge/src/main.js +0 -0
  282. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/model.js +9 -9
  283. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/proc.js +75 -47
  284. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/README.md +0 -0
  285. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/build.json +0 -0
  286. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/package.json +1 -1
  287. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/routing/src/main.js +258 -258
  288. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/session-store.js +6 -6
  289. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/shell.js +3 -3
  290. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/README.md +0 -0
  291. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/package.json +1 -1
  292. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/swig-filters/src/main.js +55 -52
  293. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/README.md +0 -0
  294. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/index.js +0 -0
  295. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/mocks.json +0 -0
  296. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/routing.json +0 -0
  297. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/url/test.js +0 -0
  298. package/framework/{v0.1.1-alpha.16 → v0.1.1-alpha.160}/lib/validator.js +0 -0
  299. package/framework/v0.1.1-alpha.160/package.json +14 -0
  300. package/package.json +33 -24
  301. package/resources/home/main.json +44 -1
  302. package/resources/home/settings.json +7 -0
  303. package/resources/home/user/extensions/logger/default/config.json +1 -1
  304. package/resources/package.json.template +29 -18
  305. package/script/post_install.js +410 -120
  306. package/script/post_publish.js +185 -0
  307. package/script/pre_install.js +424 -76
  308. package/script/prepare_version.js +152 -22
  309. package/utils/helper.js +230 -185
  310. package/utils/prototypes.js +9 -9
  311. package/utils/prototypes.json_clone.js +31 -31
  312. package/doc/framework/cli/doc.json +0 -9
  313. package/doc/framework/index.md +0 -60
  314. package/framework/v0.1.1-alpha.16/VERSION +0 -1
  315. package/framework/v0.1.1-alpha.16/core/asset/js/plugin/dist/gina.min.js +0 -736
  316. package/framework/v0.1.1-alpha.16/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  317. package/framework/v0.1.1-alpha.16/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  318. package/framework/v0.1.1-alpha.16/lib/cmd/bundle/arguments.json +0 -4
  319. package/framework/v0.1.1-alpha.16/lib/cmd/bundle/list.js +0 -129
  320. package/framework/v0.1.1-alpha.16/lib/cmd/framework/set.js +0 -161
  321. package/framework/v0.1.1-alpha.16/lib/cmd/framework/status.js +0 -72
  322. package/framework/v0.1.1-alpha.16/lib/cmd/framework/tail.js +0 -183
  323. package/framework/v0.1.1-alpha.16/lib/cmd/port/list.js +0 -176
  324. package/framework/v0.1.1-alpha.16/package.json +0 -14
@@ -1,6 +1,7 @@
1
1
  //"use strict";
2
2
  // Imports.
3
3
  var fs = require('fs');
4
+ const { version } = require('os');
4
5
  //var util = require('util');
5
6
  //var promisify = require('util').promisify;
6
7
  // Use couchbase module from the user's project dependencies if not found
@@ -22,7 +23,7 @@ var console = lib.logger;
22
23
  function Couchbase(conn, infos) {
23
24
  var EntitySuperClass = null, EntityN1qlClass = null;
24
25
  var envIsDev = ( /^true$/i.test(process.env.NODE_ENV_IS_DEV) ) ? true : false;
25
-
26
+
26
27
  /**
27
28
  * Init
28
29
  * @constructor
@@ -101,33 +102,36 @@ function Couchbase(conn, infos) {
101
102
  if ( /^\./.test(files[f]) ) {
102
103
  continue;
103
104
  }
104
-
105
+
105
106
  filename = _(dir +'/'+ files[f]);
106
107
  loadN1QL(entities, filename)
107
108
  }
108
109
  }
109
-
110
+
110
111
  return entities
111
112
  };
112
113
 
113
114
  var loadN1QL = function(entities, filename) {
115
+ var arr = null
116
+ , entityName = null
117
+ ;
114
118
 
115
119
  if ( fs.statSync(filename).isDirectory() ) {
116
120
  var files = fs.readdirSync(filename)
117
121
  , f = 0
118
- , arr = filename.split(/\//g)
119
- , entityName = arr[arr.length-1];
120
-
121
- entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
122
+ ;
123
+ arr = filename.split(/\//g);
124
+ entityName = arr[arr.length-1];
125
+ entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
122
126
 
123
127
  for (; f < files.length; ++f) {
124
128
  // ignoring filename starting with . & sub folders
125
- if (
129
+ if (
126
130
  /^\./.test(files[f])
127
131
  ||
128
- !/\.sql$/i.test(files[f])
132
+ !/\.sql$/i.test(files[f])
129
133
  ||
130
- fs.statSync( _(filename + '/' + files[f], true) ).isDirectory()
134
+ fs.statSync( _(filename + '/' + files[f], true) ).isDirectory()
131
135
  ) {
132
136
  continue;
133
137
  }
@@ -135,11 +139,10 @@ function Couchbase(conn, infos) {
135
139
  }
136
140
 
137
141
  } else {
138
- var arr = filename.split(/\//g)
139
- , entityName = arr[arr.length-1].replace(/\.sql/, '').split(/\_/)[0];
142
+ arr = filename.split(/\//g);
143
+ entityName = arr[arr.length-1].replace(/\.sql/, '').split(/\_/)[0];
144
+ entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
140
145
 
141
- entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
142
- nbbnnb
143
146
  readSource(entities, entityName, filename)
144
147
  }
145
148
  }
@@ -166,28 +169,28 @@ function Couchbase(conn, infos) {
166
169
  if ( includes && includes.length > 0 ) {
167
170
  for (let i = 0, len = includes.length; i < len; i++) {
168
171
  let filename = includes[i].replace(/\"|\'|\;|(\@include\s+|\@include)/g, '');
169
- if (
172
+ if (
170
173
  /^\./.test(filename)
171
174
  ||
172
175
  // windows style location
173
- /^[a-z]:(\\|\/\/)/i.test(filename)
176
+ /^[a-z]:(\\|\/\/)/i.test(filename)
174
177
  ||
175
178
  // not unix absolut
176
179
  !/^\//.test(filename)
177
180
  && !/^[a-z]:(\\|\/\/)/i.test(filename)
178
-
181
+
179
182
  ) {
180
183
  let dir = new _(source).toUnixStyle();
181
184
  dir = dir.substr(0, dir.lastIndexOf('/')) + '/'
182
185
  filename = _(dir + filename.replace(/^\.\//, ''), true);
183
186
  }
184
- // remove @include calls
187
+ // remove @include calls
185
188
  //console.debug('including .....'+ filename);
186
189
  queryString = queryString.replace(includes[i], fs.readFileSync( filename ).toString() );
187
190
  }
188
191
  }
189
192
  queryString = queryString.replace(/\n/g, ' ');
190
-
193
+
191
194
  // extract comments
192
195
  comments = queryString.match(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*)/g);
193
196
  // extract return type
@@ -200,9 +203,9 @@ function Couchbase(conn, infos) {
200
203
  params = comments[0].match(/\$\w+/g); // param list from comments
201
204
  queryString = queryString.replace(comments[0], '');
202
205
  }
203
-
206
+
204
207
  inlineParams = queryString.match(/\$\w+/g);
205
-
208
+
206
209
  // getting rid of duplicated
207
210
  if ( typeof(Set) == 'function' ) { // ES6
208
211
  inlineParams = Array.from(new Set(inlineParams))
@@ -222,8 +225,8 @@ function Couchbase(conn, infos) {
222
225
  entities[entityName].prototype._collection = entityName;
223
226
  entities[entityName].prototype._filename = _( __dirname + '/lib/n1ql.js', true );
224
227
  }
225
-
226
-
228
+
229
+
227
230
  entities[entityName].prototype[name] = function() {
228
231
  var self = this;
229
232
  var key = null
@@ -234,15 +237,15 @@ function Couchbase(conn, infos) {
234
237
  , _mainCallback = null;
235
238
 
236
239
  if ( params && params.length != args.length && !/function/.test(typeof(args[args.length-1])) ) {
237
- throw new Error('[ N1QL:' + entityName+'#'+name+'() ] arguments must match parameters length. Please refer to [ '+ source +' ]\nFound in param list: ('+ params.join(', ') +') !')
240
+ throw new Error('[N1QL][ ' + entityName+'#'+name+'() ] arguments must match parameters length. Please refer to [ '+ source +' ]\nFound in param list: ('+ params.join(', ') +') !')
238
241
  } else if ( /function/.test( typeof(args[args.length-1]) ) ) {
239
242
  // to hande Nodejs Util.promisify
240
243
  _mainCallback = args[args.length-1]
241
244
  }
242
245
 
243
246
  var sdkVersion = conn.sdk.version || 2;
244
- var queryParams = [];
245
- queryStatement = queryString.slice(0);
247
+ var queryParams = [];
248
+ queryStatement = queryString.slice(0);
246
249
  if (params) {
247
250
  // BO - patch prepared statement case when placeholder is used as a cursor
248
251
  var p = []
@@ -254,7 +257,7 @@ function Couchbase(conn, infos) {
254
257
  // rightCase already handled by default
255
258
  //, foundSpecialRightCase = /(\$|\%)\d+\.\w+/.test(qStr)
256
259
  ;
257
-
260
+
258
261
  // e.g.: c.documentNextId.$2 = $3
259
262
  // e.g.: n.alertedOn.$1 = true
260
263
  if (foundSpecialLeftCase) {
@@ -263,33 +266,34 @@ function Couchbase(conn, infos) {
263
266
  key = inl.indexOf(params[i]);
264
267
  if (key > -1) {
265
268
  p[key] = args[key];
266
-
267
- re = new RegExp('(.*)\\.'+ inl[key].replace(/([$%]+)/, '\\$1'));
269
+
270
+ re = new RegExp('(.*)\\.'+ inl[key].replace(/([$%]+)/, '\\$1'));
268
271
  if ( re.test(qStr) ) {
269
272
  p[key] = args[key];
270
273
  qStr = qStr.replace( new RegExp('(.*)\\.'+ params[i].replace(/([$%]+)/, '\\$1')), '$1\.'+args[i]);
271
274
  inl.splice(key, 1);
272
275
  }
273
- }
276
+ }
274
277
  }
275
278
 
276
- queryStatement = qStr;
277
- if ( sdkVersion > 2 ) { // starting from SDK v3
279
+
280
+ if ( sdkVersion == 3 ) { // SDK v3 only
278
281
  queryParams = {};
279
- index = 0; i = 0; len = inlineParams.length;
282
+ index = 0; i = 0; len = inlineParams.length;
280
283
  var matched = null;
281
- for (; i < len; ++i) {
284
+ for (; i < len; ++i) {
282
285
  //matched = params.indexOf( inlineParams[i] );
283
286
  matched = params.indexOf( inl[i] );
284
- if ( matched > -1 && typeof(p[matched]) != 'undefined' ) {
285
- // e.g.: queryParams[ $3 ] = 1
286
- queryParams[ inl[i] ] = p[matched]
287
+ if ( matched > -1 && typeof(p[matched]) != 'undefined' ) {
288
+ // e.g.: queryParams[ $3 ] = 1
289
+ queryParams[ inl[i] ] = p[matched];
290
+ // qStr = qStr.replace( new RegExp('\\'+ inl[i], 'g'), '"' + p[matched] + '"')
287
291
  }
288
292
  }
289
293
  } else {
290
294
  // Novemeber 2020 patch
291
295
  index = 0; i = 0; len = params.length;
292
- for (; i < len; ++i) {
296
+ for (; i < len; ++i) {
293
297
  if ( typeof(p[i]) != 'undefined' ) {
294
298
  queryParams[i] = p[i];
295
299
  } else { // means that placeholder has been replaced
@@ -298,54 +302,59 @@ function Couchbase(conn, infos) {
298
302
  }
299
303
  }
300
304
  }
301
-
305
+
306
+ queryStatement = qStr;
307
+
302
308
  }
303
-
309
+
304
310
  // e.g.: c.id = $1.id
305
311
  // if (foundSpecialRightCase) {
306
312
  // console.debug('foundSpecialRightCase...')
307
313
  // }
308
-
314
+
309
315
  // normal case
310
316
  if (
311
317
  !foundSpecialLeftCase /**&& !foundSpecialRightCase*/
312
- || Array.isArray(queryParams) && queryParams.length == 0
313
- ) {
314
- queryParams = args;
318
+ || Array.isArray(queryParams) && queryParams.length == 0
319
+ ) {
320
+ queryParams = JSON.clone(args);
321
+ // starting from SDK v3
322
+ if ( typeof(queryParams[queryParams.length-1]) == 'function' ) {
323
+ queryParams.splice(queryParams.length-1, 1)
324
+ }
315
325
  }
316
326
  // EO - patch
317
327
  }
318
-
328
+
319
329
  var query = null, execQuery = null, _collection = null;
320
330
  // values by default
321
331
  var queryOptions = {
322
- // Do not turn off the adhoc flag for each query since
332
+ // Do not turn off the adhoc flag for each query since
323
333
  // only a finite number of query plans (currently 5000) can be stored in the SDK
324
334
  adhoc: false, // false to use plan optimization, but need a statement `name param` or `num param`
325
335
  consistency: 1 // NOT_BOUNDED, but STATEMENT_PLUS is set by default for insert & update
326
336
  };
327
337
  if ( sdkVersion > 2 ) { // starting from SDK v3
328
- _collection = queryStatement.match(/\_collection(\s+\=|=)(.*)(\'|\")/);
329
- if (_collection.length > 0) {
330
- _collection = _collection[0];
331
- if ( /\_collection/.test(_collection) ) {
332
- _collection = _collection.replace(/\_collection|\W+/ig, '');
333
- } else {
334
- _collection = null
335
- }
336
- }
337
-
338
- //var bucket = conn._cluster.bucket(conn._name);
338
+ // _collection = queryStatement.match(/\_collection(\s+\=|=)(.*)(\'|\")/);
339
+ // if (_collection.length > 0) {
340
+ // _collection = _collection[0];
341
+ // if ( /\_collection/.test(_collection) ) {
342
+ // _collection = _collection.replace(/\_collection|\W+/ig, '');
343
+ // } else {
344
+ // _collection = null
345
+ // }
346
+ // }
347
+
339
348
  //var scope = conn.scope(conn._name);
340
349
  //var coll = (_collection) ? scope.collection(_collection) : scope.defaultCollection();
341
350
  //execQuery = conn._cluster.query;
342
351
  execQuery = inherits(conn, conn._cluster.query);
343
-
352
+
344
353
  query = queryStatement;
345
354
  queryOptions.parameters = queryParams;
346
-
355
+
347
356
  } else { // version 2
348
- // prepared statement
357
+ // prepared statement
349
358
  query = N1qlQuery.fromString(queryStatement.replace(/^\s+/, ''));
350
359
  // query options
351
360
  // @param {object} options
@@ -388,34 +397,70 @@ function Couchbase(conn, infos) {
388
397
  // merge options
389
398
  for (var qOpt in queryOptions) {
390
399
  if ( typeof(query[ qOpt ]) == 'undefined' ) {
391
- console.warn('N1QL:'+entityName.toLowerCase()+ '#'+ name + ': `'+ qOpt +'` is not a valid queryOption. Ignorig...');
400
+ console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
392
401
  continue;
393
402
  }
394
403
  query[ qOpt ]( queryOptions[ qOpt ] );
395
- }
396
-
404
+ }
405
+
397
406
  }
398
407
 
399
-
408
+ // JUNE 2021 patch
409
+ // Adding support for FTS since it is not implemented in sdkVersion 2:
410
+ // variables not replaced by value
411
+ // looking for FTS (Full Text Search)
412
+ var ftsClause = ( sdkVersion > 2 ) ? query.match(/(search\(|search\s+\().*\)/i) : query.options.statement.match(/(search\(|search\s+\().*\)/i);
413
+ if (ftsClause && Array.isArray(queryParams) ) {
414
+ var originalFtsClauses = JSON.clone(ftsClause), _queryParams = null;
415
+
416
+ if ( sdkVersion > 2 && Array.isArray(queryOptions.parameters) ) {
417
+ _queryParams = queryOptions.parameters;
418
+ } else if (sdkVersion <=2 && Array.isArray(queryParams) ) {
419
+ _queryParams = queryParams;
420
+ }
421
+
422
+ for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
423
+ if ( !/\)$/.test(ftsClause[s]) ) continue;
424
+ for (let p = 0, pLen = _queryParams.length; p < pLen; p++) {
425
+ if ( typeof(_queryParams[p]) == 'function' ) continue;
426
+ let searchValue = ( /^(true|false)$/i.test(_queryParams[p]) ) ? _queryParams[p] : '"'+_queryParams[p]+'"';
427
+ ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
428
+ }
429
+
430
+ if ( sdkVersion > 2 ) {
431
+ query = query.replace(originalFtsClauses[s], ftsClause[s]);
432
+ } else {
433
+ query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
434
+ }
435
+ }
436
+
437
+ originalFtsClauses = null;
438
+ }
439
+ ftsClause = null;
440
+
441
+
400
442
 
401
443
 
402
444
  // trick to set event on the fly
403
445
  var trigger = 'N1QL:'+entityName.toLowerCase()+ '#'+ name;
404
446
  var statement = (sdkVersion <= 2) ? query.options.statement : query;
405
-
447
+
406
448
  if (envIsDev) {
407
449
  //var statement = (sdkVersion <= 2) ? query.options.statement : query;
408
450
  console.debug('[ ' + trigger +' ] '+ statement);
409
451
  //console.debug('[ ' + trigger +' ] options: '+ JSON.stringify(queryOptions, null, 2));
452
+ if (queryParams.length > 0) {
453
+ console.debug('[ ' + trigger +' ] Found query params: '+ queryParams);
454
+ }
410
455
  }
411
-
412
-
413
-
456
+
457
+
458
+
414
459
  var onQueryCallback = function(err, data, meta) {
415
460
  // if (/^company#getDocumentNextId$/.test(trigger)) {
416
461
  // console.log('[ ' + trigger + '] onQueryCallback => ', err, data, meta);
417
462
  // }
418
-
463
+
419
464
  if (!data || data.length == 0) {
420
465
  data = null
421
466
  }
@@ -428,26 +473,26 @@ function Couchbase(conn, infos) {
428
473
  err.message = '[ '+source+' ]\n'+ err.message;
429
474
  err.stack = '[ '+source+' ]\n'+ err.stack;
430
475
  }
431
-
476
+
432
477
  // handle return type
433
- if ( returnType && returnType == 'boolean' ) {
478
+ if ( returnType && returnType == 'boolean' ) {
434
479
  // CASE #1
435
480
  // SELECT COUNT(a) AS someField <- means that keyword `COUNT(` is found in queryString
436
- // [ { someField: 1 }] <- a collection with only one object which has prop: <number>
437
- if (
481
+ // [ { someField: 1 }] <- a collection with only one object which has prop: <number>
482
+ if (
438
483
  /count\(|count\s+\(/i.test(queryString)
439
- && Array.isArray(data)
484
+ && Array.isArray(data)
440
485
  && /object/i.test(typeof(data[0]))
441
486
  && Object.keys(data[0]).length == 1
442
487
  && /number/i.test( typeof(data[0][Object.keys(data[0])]) )
443
488
  ) {
444
489
  data = ( data[0][Object.keys(data[0])] > 0 ) ? true : false
445
- }
490
+ }
446
491
  // CASE #2
447
492
  // regular query, just counting result
448
493
  else {
449
494
  data = ( typeof(data.length) != 'undefined' && data.length > 0 ) ? true : false
450
- }
495
+ }
451
496
  } else if ( returnType && returnType == 'object' ) {
452
497
 
453
498
  data = (data) ? data[0] : data
@@ -472,52 +517,54 @@ function Couchbase(conn, infos) {
472
517
  } else { // Promise case
473
518
  throw err
474
519
  }
475
-
520
+
476
521
  } else {
477
522
  if ( typeof(self.emit) != 'undefined' ) {
478
523
  self.emit(trigger, err, data, meta);
479
524
  } else { // Promise case
480
525
  return data
481
- }
526
+ }
482
527
  }
483
- return
528
+ return
484
529
  }
485
-
486
- } catch (_err) {
530
+
531
+ } catch (_err) {
487
532
  if ( _mainCallback != null ) {
488
533
  _mainCallback(err, data, meta)
489
534
  } else {
490
535
  if ( typeof(self.emit) != 'undefined' ) {
491
536
  self.emit(trigger, _err);
492
537
  } else {
493
- throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
494
- }
495
- }
538
+ throw new Error('[ Couchbase ][ Core Entity Exception] '+ trigger + '\n'+ _err.stack)
539
+ }
540
+ }
496
541
  }
497
542
  }; // EO onQueryCallback
498
-
543
+
499
544
  self._isRegisteredFromProto = false;
545
+ // `register()` is only used for v2
500
546
  var register = function (trigger, queryParams, onQueryCallback, cb) {
501
- // JUNE 2021 patch
502
- // Adding support for FTS since it is not implemented in sdkVersion 2:
503
- // variables not replaced by value
504
- // looking for FTS (Full Text Search)
505
- var ftsClause = query.options.statement.match(/(search\(|search\s+\().*\)/i);
506
- if (ftsClause && Array.isArray(queryParams) ) {
507
- var originalFtsClauses = JSON.clone(ftsClause);
508
- for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
509
- if ( !/\)$/.test(ftsClause[s]) ) continue;
510
- for (let p = 0, pLen = queryParams.length; p < pLen; p++) {
511
- if ( typeof(queryParams[p]) == 'function' ) continue;
512
- let searchValue = ( /^(true|false)$/i.test(queryParams[p]) ) ? queryParams[p] : '"'+queryParams[p]+'"';
513
- ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
514
- }
515
- query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
516
- }
517
- originalFtsClauses = null;
518
- }
519
- ftsClause = null;
520
-
547
+ // // JUNE 2021 patch
548
+ // // Adding support for FTS since it is not implemented in sdkVersion 2:
549
+ // // variables not replaced by value
550
+ // // looking for FTS (Full Text Search)
551
+ // var ftsClause = query.options.statement.match(/(search\(|search\s+\().*\)/i);
552
+ // if (ftsClause && Array.isArray(queryParams) ) {
553
+ // var originalFtsClauses = JSON.clone(ftsClause);
554
+ // for (let s = 0, sLen = ftsClause.length; s < sLen; s++) {
555
+ // if ( !/\)$/.test(ftsClause[s]) ) continue;
556
+ // for (let p = 0, pLen = queryParams.length; p < pLen; p++) {
557
+ // if ( typeof(queryParams[p]) == 'function' ) continue;
558
+ // let searchValue = ( /^(true|false)$/i.test(queryParams[p]) ) ? queryParams[p] : '"'+queryParams[p]+'"';
559
+ // ftsClause[s] = ftsClause[s].replace( new RegExp('\\$'+ (p+1),'g'), searchValue)
560
+ // }
561
+ // query.options.statement = query.options.statement.replace(originalFtsClauses[s], ftsClause[s]);
562
+ // }
563
+ // originalFtsClauses = null;
564
+ // }
565
+ // ftsClause = null;
566
+
567
+
521
568
  if ( typeof(self.once) != 'undefined' && typeof(cb) != 'undefined' ) {
522
569
  self._isRegisteredFromProto = true;
523
570
  //console.debug('registered trigger: ', trigger, self._isRegisteredFromProto);
@@ -525,106 +572,109 @@ function Couchbase(conn, infos) {
525
572
  //console.debug('received ', trigger, meta, err);
526
573
  try {
527
574
  cb(err, data, meta)
528
- } catch (onCompleteError) {
575
+ } catch (onCompleteError) {
529
576
  cb(onCompleteError)
530
- }
577
+ }
531
578
  });
532
579
  // if (/triggerToDebug/.test(trigger)) {
533
580
  // console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
534
581
  // }
535
- conn.query(query, queryParams, onQueryCallback);
536
- } // else promise case
537
-
538
-
582
+
583
+ if (sdkVersion > 2) {
584
+ conn._cluster.query(query, queryParams)
585
+ .catch( function onError(err) {
586
+ try {
587
+ var error = new Error(err.cause.first_error_message);
588
+ error.stack = trigger +'\n'+ err.cause.http_body;
589
+ onQueryCallback(error);
590
+ } catch (_err) {
591
+ console.error(_err.stack);
592
+ }
593
+ })
594
+ .then( function onResult(data, meta) {
595
+ try {
596
+ onQueryCallback(false, data.rows, data.meta);
597
+ } catch (_err) {
598
+ console.error(_err.stack);
599
+ }
600
+ });
601
+ } else {
602
+ conn.query(query, queryParams, onQueryCallback);
603
+ }
604
+
605
+
606
+ } // else promise case
607
+
608
+
539
609
  if (!self._isRegisteredFromProto) {
540
610
  //console.debug('regular trigger: ', trigger, self._isRegisteredFromProto);
541
611
  // if (/triggerToDebug/.test(trigger)) {
542
612
  // console.log('[ ' + trigger + '] onQuery => ', query, queryParams);
543
613
  // }
544
- conn.query(query, queryParams, onQueryCallback);
614
+
615
+ if (sdkVersion > 2) {
616
+ conn._cluster.query(query, queryParams)
617
+ .catch( function onError(err) {
618
+ try {
619
+ var error = new Error(err.cause.first_error_message);
620
+ error.stack = trigger +'\n'+ err.cause.http_body;
621
+ onQueryCallback(error);
622
+ } catch (_err) {
623
+ console.error(_err.stack);
624
+ }
625
+ })
626
+ .then( function onResult(data) {
627
+ try {
628
+ onQueryCallback(false, data.rows, data.meta);
629
+ } catch (_err) {
630
+ console.error(_err.stack);
631
+ }
632
+ });
633
+ } else {
634
+ conn.query(query, queryParams, onQueryCallback);
635
+ }
545
636
  }
546
- }
547
-
637
+ } //EO register
638
+
548
639
  var _proto = {
549
- onComplete : function(cb) {
550
- //console.debug('onComplete trigger: ', trigger, self._isRegisteredFromProto);
551
- register(trigger, queryParams, onQueryCallback, cb)
640
+ onComplete : function(cb) {
641
+ // console.warn('onComplete trigger: ', trigger, self._isRegisteredFromProto);
642
+ if ( sdkVersion > 2 ) {
643
+ register(trigger, queryOptions, onQueryCallback, cb)
644
+ } else {
645
+ register(trigger, queryParams, onQueryCallback, cb)
646
+ }
552
647
  }
553
648
  };
554
-
555
-
556
- if ( sdkVersion > 2 ) {
557
- var qErr = false, qData = null, qMeta = null;
558
-
559
- if ( _mainCallback == null ) {
560
- return {
561
- onComplete : function(cb) {
562
- //console.debug('registered trigger: ', trigger);
563
- self.once(trigger, function onComplete(err, data, meta){
564
- //console.debug('received ', trigger);
565
- try {
566
- cb(err, data, meta)
567
- } catch (onCompleteError) {
568
- cb(onCompleteError)
569
- }
570
- });
571
-
572
- conn._cluster.query(query, queryOptions)
573
- .catch( function onError(err) {
574
- qErr = err;
575
- })
576
- .then( function onResult(data, meta) {
577
- qData = data;
578
- qMeta = meta;
579
- });
580
-
581
- try {
582
- if ( qErr ) {
583
- onQueryCallback(qErr);
584
- } else {
585
- onQueryCallback(false, qData, qMeta);
586
- }
587
- } catch (_err) {
588
- console.error(_err.stack);
589
- }
649
+
650
+
651
+ if ( sdkVersion > 2 ) {
652
+ if ( _mainCallback == null ) {
653
+ setTimeout((trigger, queryOptions, onQueryCallback) => {
654
+ if (!self._isRegisteredFromProto) {
655
+ // needed when used as a synchrone method
656
+ register(trigger, queryOptions, onQueryCallback);
590
657
  }
591
- }
658
+ }, 0, trigger, queryOptions, onQueryCallback);
659
+ return _proto
660
+
592
661
  } else {
593
- conn._cluster.query(query, queryOptions)
594
- .catch( function onError(err) {
595
- qErr = err;
596
- })
597
- .then( function onResult(data, meta) {
598
- qData = data;
599
- qMeta = meta;
600
- });
601
-
602
- try {
603
- if ( qErr ) {
604
- onQueryCallback(qErr);
605
- } else {
606
- onQueryCallback(false, qData, qMeta);
607
- }
608
- } catch (_err) {
609
- console.error(_err.stack);
610
- }
611
- }
612
-
613
-
614
- } else {
615
-
616
- if ( _mainCallback == null ) {
662
+ register(trigger, queryOptions, onQueryCallback, _mainCallback)
663
+ }
664
+ } else {
665
+
666
+ if ( _mainCallback == null ) {
617
667
  setTimeout((trigger, queryParams, onQueryCallback) => {
618
- if (!self._isRegisteredFromProto) {
619
- // needed when used as a synchrone method
668
+ if (!self._isRegisteredFromProto) {
669
+ // needed when used as a synchrone method
620
670
  register(trigger, queryParams, onQueryCallback);
621
671
  }
622
- }, 0, trigger, queryParams, onQueryCallback);
623
- return _proto
624
-
672
+ }, 0, trigger, queryParams, onQueryCallback);
673
+ return _proto
674
+
625
675
  } else {
626
676
  register(trigger, queryParams, onQueryCallback, _mainCallback)
627
- }
677
+ }
628
678
  }
629
679
  }
630
680
 
@@ -637,27 +687,39 @@ function Couchbase(conn, infos) {
637
687
 
638
688
  /**
639
689
  * bulkInsert
640
- *
690
+ *
641
691
  * Supported options
642
692
  * - adhoc : [ true | false ]
643
- * // scan consistency level - default is 1
693
+ * // scan consistency level - here, default is 3
644
694
  * - consistency : [ 1 | 2 | 3 ] where 1 = NOT_BOUNDED, 2 = REQUEST_PLUS, 3 = STATEMENT_PLUS
645
- *
695
+ * not_bounded:
696
+ * Executes the query immediately, without requiring any consistency for the query. If index-maintenance is running behind, out-of-date results may be returned.
697
+ * at_plus:
698
+ * Executes the query, requiring indexes first to be updated to the timestamp of the last update. If index-maintenance is running behind, the query waits for it to catch up.
699
+ * request_plus:
700
+ * Executes the query, requiring the indexes first to be updated to the timestamp of the current query-request. If index-maintenance is running behind, the query waits for it to catch up.
701
+ *
646
702
  * @param {array} rec collection
647
- * @param {object} [options] e.g: { consistency: 3 }
648
- *
703
+ * @param {object} [options] e.g: { consistency: 2 }
704
+ *
649
705
  */
650
706
  var bulkInsert = function(rec, options) {
651
707
 
652
- try {
653
- var conn = this.getConnection();
654
- var sdkVersion = conn.sdk.version || 2;
708
+ try {
709
+ var conn = this.getConnection();
710
+ // retrieve & return the collection
711
+ // if ( typeof(conn._scope) == 'undefined' && typeof(conn.scope) != 'undefined' ) {
712
+ // var newConn = conn.scope(scope).collection(currentCollection);
713
+ // newConn.sdk = conn.sdk;
714
+ // conn = newConn;
715
+ // }
716
+ var sdkVersion = conn.sdk.version || 2;
655
717
  // by default
656
- var queryOptions = {
718
+ var queryOptions = {
657
719
  adhoc: true,
658
720
  consistency: 3
659
721
  };
660
-
722
+
661
723
  if ( typeof(options) != 'undefined' ) {
662
724
  queryOptions = merge(options, queryOptions)
663
725
  }
@@ -670,7 +732,8 @@ function Couchbase(conn, infos) {
670
732
 
671
733
 
672
734
  var queryString = 'INSERT INTO '+ this.database +' (KEY, VALUE)';
673
- for (var id in rec) {
735
+ var recCount = 0;
736
+ for (let id in rec) {
674
737
  if ( typeof(rec[id].values) == 'undefined' )
675
738
  throw new Error('rec["'+ id +'"].values not found ! Please inspect your record root: type must be an Array.');
676
739
 
@@ -680,67 +743,113 @@ function Couchbase(conn, infos) {
680
743
  rec[id].values._collection = this._collection;
681
744
 
682
745
  queryString += '\t\nVALUES ("'+ id +'", '+ JSON.stringify(rec[id].values) +'),';
746
+ recCount++;
683
747
  }
684
748
 
685
749
  queryString = queryString.substr(0, queryString.length-1);
686
750
  queryString += '\nRETURNING '+ this.database +'.*;';
687
751
 
688
-
752
+
689
753
  var query = null;
690
754
  if ( sdkVersion > 2) { // starting SDK v3
691
- var scope = conn.scope(conn._name);
692
- var coll = (_collection) ? scope.collection(_collection) : scope.defaultCollection();
693
- query = merge(queryString, queryOptions);
755
+ query = queryString;
756
+ // queryOptions.parameters = queryParams;
694
757
  } else {
695
758
  // prepared statement
696
759
  query = N1qlQuery.fromString(queryString);
697
760
  // merge options
698
761
  for (var qOpt in queryOptions) {
699
762
  if ( typeof(query[ qOpt ]) == 'undefined' ) {
700
- console.warn('N1QL:'+entityName.toLowerCase()+ '#'+ name + ': `'+ qOpt +'` is not a valid queryOption. Ignorig...');
763
+ console.warn('[N1QL]['+entityName.toLowerCase()+ '#'+ name + '] `'+ qOpt +'` is not a valid queryOption. Ignorig...');
701
764
  continue;
702
765
  }
703
766
  query[ qOpt ]( queryOptions[ qOpt ] )
704
767
  }
705
768
  }
706
-
769
+
707
770
 
708
771
  // trick to set event on the fly
709
772
  var trigger = 'N1QL:'+ this.name.toLowerCase()+ '#'+ name;
710
773
  // trick to set event on the fly
711
774
  var statement = (sdkVersion <= 2) ? query.options.statement : query;
712
-
775
+
713
776
  if (envIsDev) {
714
777
  console.debug('[ ' + trigger +' ] '+statement);
715
778
  }
716
779
 
717
780
  var self = this;
718
- conn.query(query, rec, function(err, data, meta) {
719
- if (!data || data.length == 0) {
720
- data = null
721
- }
722
781
 
723
- if (!err && meta && typeof(meta.errors) != 'undefined' ) {
724
- err = new Error('`GenericN1QLError::bulkInsert`\n'+meta.errors[0].msg);
725
- err.status = 403;
726
- } else if (err) {
727
- err.status = 500;
728
- err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
729
- err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
730
- }
731
- if (envIsDev) {
732
- console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(meta) +'\n data :\n'+ JSON.stringify(data) );
733
- }
782
+ if (sdkVersion > 2) {
783
+ var err = false;
784
+ conn._scope._bucket._cluster.query(query, queryOptions)
785
+ .catch( function onError(err) {
786
+ try {
787
+ var error = new Error(err.cause.first_error_message);
788
+ error.stack = trigger +'\n'+ err.cause.http_body;
789
+ self.emit(trigger, error);
790
+ } catch (_err) {
791
+ console.error(_err.stack);
792
+ }
793
+ })
794
+ .then( function onResult(data) {
795
+ try {
796
+ var _data = data.rows, _meta = data.meta;
797
+ if (!_data || _data.length == 0) {
798
+ _data = null
799
+ }
800
+
801
+ if (!err && _meta && typeof(_meta.errors) != 'undefined' ) {
802
+ err = new Error('`GenericN1QLError::bulkInsert`\n'+_meta.errors[0].msg);
803
+ err.status = 403;
804
+ } else if (err) {
805
+ err.status = 500;
806
+ err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
807
+ err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
808
+ }
809
+ if (envIsDev) {
810
+ console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(_meta) +'\n data :\n'+ JSON.stringify(_data) );
811
+ }
812
+
813
+ self.emit(trigger, err, data.rows, data.meta);
814
+ // Tempory fix
815
+ // setTimeout(() => {
816
+ // self.emit(trigger, err, data.rows, data.meta);
817
+ // }, (9+recCount) );
818
+
819
+ } catch (_err) {
820
+ console.error(_err.stack);
821
+ }
822
+ });
823
+ } else {
824
+ conn.query(query, rec, function(err, data, meta) {
825
+ if (!data || data.length == 0) {
826
+ data = null
827
+ }
828
+
829
+ if (!err && meta && typeof(meta.errors) != 'undefined' ) {
830
+ err = new Error('`GenericN1QLError::bulkInsert`\n'+meta.errors[0].msg);
831
+ err.status = 403;
832
+ } else if (err) {
833
+ err.status = 500;
834
+ err.message = '`GenericN1QLError::bulkInsert`\n'+ err.message;
835
+ err.stack = '`GenericN1QLError::bulkInsert`\n'+ err.stack;
836
+ }
837
+ if (envIsDev) {
838
+ console.debug('[ bulkInsert response ] : err ? '+ err + ', meta : \n'+ JSON.stringify(meta) +'\n data :\n'+ JSON.stringify(data) );
839
+ }
840
+
841
+ self.emit(trigger, err, data, meta);
842
+ });
843
+ }
734
844
 
735
- self.emit(trigger, err, data, meta);
736
- });
737
845
 
738
846
  return {
739
847
  onComplete : function(cb) {
740
848
  self.once(trigger, function(err, data, meta){
741
849
  if (envIsDev) {
742
- console.debug('[ bulkInsert triggerd ] '+ trigger);
850
+ console.debug('[ bulkInsert triggerd ] '+ trigger + ' - Rec count: '+ recCount);
743
851
  }
852
+
744
853
  cb(err, data, meta)
745
854
  })
746
855
  }
@@ -752,6 +861,6 @@ function Couchbase(conn, infos) {
752
861
  }
753
862
 
754
863
  return init(conn, infos)
755
- };
864
+ }
756
865
 
757
- module.exports = Couchbase
866
+ module.exports = Couchbase;