gina 0.1.1-alpha.180 → 0.1.1-alpha.181

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 (299) hide show
  1. package/framework/v0.1.1-alpha.181/VERSION +1 -0
  2. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -1
  3. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/js/gina.js +57 -14
  4. package/framework/v0.1.1-alpha.181/core/asset/plugin/dist/vendor/gina/js/gina.min.js +759 -0
  5. package/framework/v0.1.1-alpha.181/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  6. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +2 -2
  7. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/config.js +2 -1
  8. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/controller/controller.js +1 -0
  9. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/model/template/index.js +2 -1
  10. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/storage/src/main.js +2 -1
  11. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/validator/src/form-validator.js +4 -2
  12. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/validator/src/main.js +5 -5
  13. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/router.js +2 -0
  14. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/server.js +129 -128
  15. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/context.js +2 -1
  16. package/framework/v0.1.1-alpha.181/helpers/json/README.md +12 -0
  17. package/framework/v0.1.1-alpha.181/helpers/json/src/main.js +361 -0
  18. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/helper.js +8 -1
  19. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/collection/src/main.js +2 -1
  20. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/main.js +2 -0
  21. package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/src/main.js +44 -5
  22. package/package.json +2 -2
  23. package/utils/prototypes.json_clone.js +34 -2
  24. package/framework/v0.1.1-alpha.180/VERSION +0 -1
  25. package/framework/v0.1.1-alpha.180/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -759
  26. package/framework/v0.1.1-alpha.180/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  27. package/framework/v0.1.1-alpha.180/helpers/json/src/main.js +0 -123
  28. package/framework/v0.1.1-alpha.180/lib/url/README.md +0 -0
  29. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/AUTHORS +0 -0
  30. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/LICENSE +0 -0
  31. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/html/nolayout.html +0 -0
  32. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/html/static.html +0 -0
  33. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/android-chrome-192x192.png +0 -0
  34. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/android-chrome-512x512.png +0 -0
  35. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/apple-touch-icon.png +0 -0
  36. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/favicon-16x16.png +0 -0
  37. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/favicon-32x32.png +0 -0
  38. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/img/favicon.ico +0 -0
  39. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/README.md +0 -0
  40. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  41. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  42. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  43. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/asset/plugin/uuid.json +0 -0
  44. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/index.js +0 -0
  45. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/connector.js +0 -0
  46. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  47. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  48. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  49. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/n1ql.js +0 -0
  50. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/session-store.js +0 -0
  51. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  52. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  53. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  54. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/controller/controller.framework.js +0 -0
  55. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/controller/index.js +0 -0
  56. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/.travis.yml +0 -0
  57. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/LICENSE +0 -0
  58. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/README.md +0 -0
  59. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  60. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  61. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/lib/main.js +0 -0
  62. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/lib/types/multipart.js +0 -0
  63. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  64. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/lib/utils.js +0 -0
  65. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/busboy/package.json +0 -0
  66. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  67. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/dev/index.js +0 -0
  68. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/dev/lib/class.js +0 -0
  69. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/dev/lib/factory.js +0 -0
  70. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/dev/lib/tools.js +0 -0
  71. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/gna.js +0 -0
  72. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/README.md +0 -0
  73. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/currency.json +0 -0
  74. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/dist/language/en.json +0 -0
  75. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/dist/language/fr.json +0 -0
  76. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/dist/region/en.json +0 -0
  77. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/dist/region/fr.json +0 -0
  78. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/index.js +0 -0
  79. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/src/make.js +0 -0
  80. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/src/resources/currency.csv +0 -0
  81. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/src/resources/region.csv +0 -0
  82. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/locales/src/resources/region.mapping.json +0 -0
  83. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/mime.types +0 -0
  84. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/model/entity.js +0 -0
  85. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/model/index.js +0 -0
  86. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/model/template/entityFactory.js +0 -0
  87. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/README.md +0 -0
  88. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/index.js +0 -0
  89. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/file/README.md +0 -0
  90. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/file/build.json +0 -0
  91. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/file/package.json +0 -0
  92. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/intl/README.md +0 -0
  93. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/intl/build.json +0 -0
  94. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/intl/package.json +0 -0
  95. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/intl/src/main.js +0 -0
  96. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/storage/README.md +0 -0
  97. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/storage/build.json +0 -0
  98. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/storage/package.json +0 -0
  99. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/validator/README.md +0 -0
  100. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/validator/build.json +0 -0
  101. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/plugins/lib/validator/package.json +0 -0
  102. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/server.express.js +0 -0
  103. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/server.isaac.js +0 -0
  104. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/status.codes +0 -0
  105. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/config/app.json +0 -0
  106. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/config/routing.json +0 -0
  107. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/config/settings.json +0 -0
  108. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  109. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/config/templates.json +0 -0
  110. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  111. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  112. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  113. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle/index.js +0 -0
  114. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  115. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  116. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  117. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  118. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  119. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_public/readme.md +0 -0
  120. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  121. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  122. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  123. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  124. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  125. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/command/gina.bat.tpl +0 -0
  126. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/command/gina.tpl +0 -0
  127. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/env.json +0 -0
  128. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/manifest.json +0 -0
  129. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/package.json +0 -0
  130. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/settings.json +0 -0
  131. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/statics.json +0 -0
  132. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/conf/templates.json +0 -0
  133. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/client/json/401.json +0 -0
  134. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/client/json/403.json +0 -0
  135. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/client/json/404.json +0 -0
  136. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/server/html/50x.html +0 -0
  137. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/server/json/500.json +0 -0
  138. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/error/server/json/503.json +0 -0
  139. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/core/template/extensions/logger/config.json +0 -0
  140. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/console.js +0 -0
  141. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/dateFormat.js +0 -0
  142. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/index.js +0 -0
  143. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/json/LICENSE +0 -0
  144. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/json/package.json +0 -0
  145. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/path.js +0 -0
  146. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/plugins/README.md +0 -0
  147. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/plugins/package.json +0 -0
  148. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/plugins/src/api-error.js +0 -0
  149. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/plugins/src/main.js +0 -0
  150. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/prototypes.js +0 -0
  151. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/task.js +0 -0
  152. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/helpers/text.js +0 -0
  153. /package/framework/{v0.1.1-alpha.180/helpers/json → v0.1.1-alpha.181/lib/archiver}/README.md +0 -0
  154. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/archiver/build.json +0 -0
  155. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/archiver/package.json +0 -0
  156. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/archiver/src/dep/jszip.min.js +0 -0
  157. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/archiver/src/main.js +0 -0
  158. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/aliases.json +0 -0
  159. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/add.js +0 -0
  160. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/arguments.json +0 -0
  161. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/copy.js +0 -0
  162. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/cp.js +0 -0
  163. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/help.js +0 -0
  164. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/help.txt +0 -0
  165. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/list.js +0 -0
  166. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/remove.js +0 -0
  167. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/rename.js +0 -0
  168. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/restart.js +0 -0
  169. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/rm.js +0 -0
  170. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/start.js +0 -0
  171. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/status.js +0 -0
  172. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/bundle/stop.js +0 -0
  173. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/add.js +0 -0
  174. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/get.js +0 -0
  175. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/help.js +0 -0
  176. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/help.txt +0 -0
  177. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/link-dev.js +0 -0
  178. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/list.js +0 -0
  179. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/remove.js +0 -0
  180. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/rm.js +0 -0
  181. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/set.js +0 -0
  182. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/unset.js +0 -0
  183. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/env/use.js +0 -0
  184. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/build.js +0 -0
  185. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/dot.js +0 -0
  186. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/get.js +0 -0
  187. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/help.js +0 -0
  188. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/help.txt +0 -0
  189. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/init.js +0 -0
  190. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/link-node-modules.js +0 -0
  191. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/link.js +0 -0
  192. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/msg.json +0 -0
  193. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/open.js +0 -0
  194. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/restart.js +0 -0
  195. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/set.js +0 -0
  196. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/start.js +0 -0
  197. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/status.js +0 -0
  198. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/stop.js +0 -0
  199. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/tail.js +0 -0
  200. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/update.js +0 -0
  201. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/framework/version.js +0 -0
  202. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/gina-dev.1.md +0 -0
  203. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/gina-framework.1.md +0 -0
  204. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/gina.1.md +0 -0
  205. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/index.js +0 -0
  206. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/msg.json +0 -0
  207. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/help.js +0 -0
  208. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/help.txt +0 -0
  209. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/inc/scan.js +0 -0
  210. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/list.js +0 -0
  211. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/reset.js +0 -0
  212. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/port/set.js +0 -0
  213. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/add.js +0 -0
  214. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/arguments.json +0 -0
  215. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/build.js +0 -0
  216. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/help.js +0 -0
  217. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/help.txt +0 -0
  218. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/import.js +0 -0
  219. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/list.js +0 -0
  220. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/move.js +0 -0
  221. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/remove.js +0 -0
  222. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/rename.js +0 -0
  223. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/restart.js +0 -0
  224. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/rm.js +0 -0
  225. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/start.js +0 -0
  226. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/status.js +0 -0
  227. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/project/stop.js +0 -0
  228. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/protocol/help.js +0 -0
  229. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/protocol/help.txt +0 -0
  230. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/protocol/list.js +0 -0
  231. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/protocol/set.js +0 -0
  232. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/help.js +0 -0
  233. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/help.txt +0 -0
  234. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/link-local.js +0 -0
  235. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/list.js +0 -0
  236. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/remove.js +0 -0
  237. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/rm.js +0 -0
  238. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/set.js +0 -0
  239. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/unset.js +0 -0
  240. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/scope/use.js +0 -0
  241. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cmd/view/add.js +0 -0
  242. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/collection/README.md +0 -0
  243. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/collection/build.json +0 -0
  244. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/collection/package.json +0 -0
  245. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/config.js +0 -0
  246. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cron/README.md +0 -0
  247. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cron/package.json +0 -0
  248. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/cron/src/main.js +0 -0
  249. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/LICENSE +0 -0
  250. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/README.md +0 -0
  251. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/dist/public_suffix_list.dat +0 -0
  252. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/exemples/backend.js +0 -0
  253. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/exemples/frontend.html +0 -0
  254. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/package.json +0 -0
  255. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/domain/src/main.js +0 -0
  256. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/generator/index.js +0 -0
  257. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/index.js +0 -0
  258. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/LICENSE +0 -0
  259. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/README.md +0 -0
  260. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  261. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/example/protected_inheritance.js +0 -0
  262. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/example/simple_inheritance.js +0 -0
  263. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  264. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/package.json +0 -0
  265. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/inherits/src/main.js +0 -0
  266. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/README.md +0 -0
  267. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/package.json +0 -0
  268. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/default/index.js +0 -0
  269. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/file/index.js +0 -0
  270. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  271. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  272. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/mq/index.js +0 -0
  273. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/mq/listener.js +0 -0
  274. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/containers/mq/speaker.js +0 -0
  275. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/logger/src/helper.js +0 -0
  276. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/math/index.js +0 -0
  277. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/example/merge.js +0 -0
  279. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/example/merge_2_literal objects.js +0 -0
  280. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/example/merge_and_preserve_first.js +0 -0
  281. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/merge/package.json +0 -0
  282. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/model.js +0 -0
  283. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/proc.js +0 -0
  284. /package/framework/{v0.1.1-alpha.180/lib/archiver → v0.1.1-alpha.181/lib/routing}/README.md +0 -0
  285. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/routing/build.json +0 -0
  286. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/routing/package.json +0 -0
  287. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/routing/src/main.js +0 -0
  288. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/session-store.js +0 -0
  289. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/shell.js +0 -0
  290. /package/framework/{v0.1.1-alpha.180/lib/routing → v0.1.1-alpha.181/lib/swig-filters}/README.md +0 -0
  291. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/swig-filters/package.json +0 -0
  292. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/swig-filters/src/main.js +0 -0
  293. /package/framework/{v0.1.1-alpha.180/lib/swig-filters → v0.1.1-alpha.181/lib/url}/README.md +0 -0
  294. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/url/index.js +0 -0
  295. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/url/mocks.json +0 -0
  296. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/url/routing.json +0 -0
  297. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/url/test.js +0 -0
  298. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/lib/validator.js +0 -0
  299. /package/framework/{v0.1.1-alpha.180 → v0.1.1-alpha.181}/package.json +0 -0
@@ -0,0 +1,361 @@
1
+ /*
2
+ * This file is part of the gina package.
3
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
4
+ *
5
+ * For the full copyright and license information, please view the LICENSE
6
+ * file that was distributed with this source code.
7
+ */
8
+
9
+ var fs = require('fs');
10
+ var console = require('./../../../lib/logger');
11
+ /**
12
+ * JSONHelper
13
+ *
14
+ * @package Gina.Lib.Helpers
15
+ * @author Rhinostone <contact@gina.io>
16
+ * @api public
17
+ * */
18
+
19
+ module.exports = function(){
20
+
21
+ // `JSON.clone()` is a prototype defined in `GINA_DIR//lib/prototypes.json_clone`
22
+
23
+ encodeRFC5987ValueChars = function(str) {
24
+ // return encodeURIComponent(str).
25
+ // // Bien que la RFC 3986 réserve "!", RFC 5987 ne réserve pas ce caractère,
26
+ // // il n'est donc pas nécessaire l'échapper
27
+ // replace(/['()*]/g, c => '%' + c.charCodeAt(0).toString(16)). // i.e., %27 %28 %29 %2a
28
+ // // on notera que l'encodage valide pour "*" est %2A et qui faut donc appeler toUpperCase()
29
+ // // pour encoder exactement.
30
+
31
+ // // Selon la RFC 5987 ce qui suit n'est pas nécessairement requis
32
+ // // on peut donc bénéficier d'un peu plus de lisibilité : |`^
33
+ // replace(/%(7C|60|5E)/g, (str, hex) => String.fromCharCode(parseInt(hex, 16)));
34
+
35
+ // return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
36
+ // return '%' + c.charCodeAt(0).toString(16);
37
+ // });
38
+
39
+ return encodeURIComponent(str).
40
+ // Bien que la RFC 3986 réserve "!", RFC 5987 ne réserve pas ce caractère,
41
+ // il n'est donc pas nécessaire l'échapper
42
+ replace(/['()]/g, escape). // c'est-à-dire %27 %28 %29
43
+ replace(/\*/g, '%2A').
44
+ // Selon la RFC 5987 ce qui suit n'est pas nécessairement requis
45
+ // on peut donc bénéficier d'un peu plus de lisibilité : |`^
46
+ replace(/%(?:7C|60|5E)/g, unescape);
47
+ };
48
+
49
+ /**
50
+ * Load a json file and removing comments if found
51
+ *
52
+ * @param {string} filename - path to json content
53
+ *
54
+ * @return {object} jsonObject
55
+ * */
56
+ requireJSON = function(filename){
57
+
58
+ //console.debug('[ Helpers ][ requireJSON ] ', filename);
59
+
60
+ var i = null
61
+ , len = null
62
+ , commentsWithSlashes = null
63
+ , jsonStr = null
64
+ ;
65
+
66
+ try {
67
+ if ( typeof(process.env.NODE_ENV_IS_DEV) != 'undefined' && /true/i.test(process.env.NODE_ENV_IS_DEV) ) {
68
+ delete require.cache[filename];
69
+ }
70
+ jsonStr = fs.readFileSync(filename).toString();
71
+ } catch (err) {
72
+ if ( typeof(console.emerg) != 'undefined' ) {
73
+ console.emerg(err.stack);
74
+ process.exit(1);
75
+ }
76
+ throw err
77
+ }
78
+
79
+
80
+ /** block style comments */
81
+ if ( /\/\*\*/.test(jsonStr) ) {
82
+ jsonStr = jsonStr.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)/g, '');
83
+ }
84
+
85
+ // line style comments
86
+ commentsWithSlashes = jsonStr.match(/\/\/(.*)?/g);
87
+
88
+ len = ( commentsWithSlashes) ? commentsWithSlashes.length : 0;
89
+ if (commentsWithSlashes && len > 0) {
90
+ i = 0;
91
+ for(; i< len; ++i) {
92
+ // ignore urls
93
+ if ( /(\:|\")/.test( jsonStr.substr(jsonStr.indexOf(commentsWithSlashes[i])-1,1) ) )
94
+ continue;
95
+
96
+ jsonStr = jsonStr.replace(commentsWithSlashes[i], '');
97
+ }
98
+ }
99
+
100
+ try {
101
+ return JSON.parse(jsonStr)
102
+ } catch (err) {
103
+ var pos = null
104
+ , msg = null
105
+ , error = null
106
+ ;
107
+ var stack = err.stack.match(/position(\s|\s+)\d+/);
108
+ if ( Array.isArray(stack) && stack.length > 0) {
109
+ pos = stack[0].replace(/[^\d+]/g, '');
110
+ jsonStr = jsonStr.substr(0, pos) + '--(ERROR !)--\n' + jsonStr.substr(pos);
111
+ msg = (jsonStr.length > 400) ? '...'+ jsonStr.substr(pos-200, 300) +'...' : jsonStr;
112
+ error = new Error('[ requireJSON ] could not parse `'+ filename +'`:' +'\n\rSomething is wrong around this portion:\n\r'+msg+'<strong style="color:red">"</strong>\n\rPlease check your file: `'+ filename +'`'+ '\n\r<strong style="color:red">'+err.stack+'</strong>\n');
113
+ } else {
114
+ error = new Error('[ requireJSON ] could not parse `'+ filename +'`:' +'\n\rSomething is wrong with the content of your file.\n\rPlease check the syntax of your file : `'+ filename +'`'+ '\n\r<strong style="color:red">'+err.stack+'</strong>\n');
115
+ }
116
+
117
+ if ( !/\/controllers/i.test(err.stack) && typeof(console.emerg) != 'undefined' ) {
118
+ console.emerg(error.message);
119
+ process.exit(1);
120
+ }
121
+ throw error;
122
+ }
123
+ };
124
+
125
+ // var isEncoded = function(uri) {
126
+ // uri = uri || '';
127
+ // return uri !== decodeURIComponent(uri);
128
+ // }
129
+
130
+ /**
131
+ * Convert JSON string with structured keys to object
132
+ *
133
+ * @param {string} JSON string with structured keys
134
+ * */
135
+ parseBodyString = function(bodyStr){
136
+ try {
137
+ bodyStr = decodeURIComponent(bodyStr);
138
+ } catch (err) {
139
+ // Already decoded - ignoring
140
+ }
141
+
142
+ // false & true case
143
+ if ( /(\"false\"|\"true\"|\"on\")/.test(bodyStr) ) {
144
+ bodyStr = bodyStr.replace(/\"false\"/g, false).replace(/\"true\"/g, true).replace(/\"on\"/g, true);
145
+ }
146
+ if ( /(\"null\")/i.test(bodyStr) ) {
147
+ bodyStr = bodyStr.replace(/\"null\"/ig, null);
148
+ }
149
+
150
+ return parseBody(bodyStr);
151
+ }
152
+
153
+ var parseCollection = function (collection, obj) {
154
+
155
+ for(var i = 0, len = collection.length; i<len; ++i) {
156
+ obj[i] = parseObject(collection[i], obj);
157
+ }
158
+
159
+ return obj
160
+ }
161
+
162
+ var parseObject = function (tmp, obj) {
163
+ var el = []
164
+ , key = null
165
+ ;
166
+
167
+ if (!obj) {
168
+ obj = {}
169
+ }
170
+
171
+ for (let o in tmp) {
172
+
173
+ el[0] = o;
174
+ el[1] = tmp[o];
175
+
176
+ if ( /^(.*)\[(.*)\]/.test(el[0]) ) { // some[field] ?
177
+ key = el[0].replace(/\]/g, '').split(/\[/g);
178
+ obj = parseLocalObj(obj, key, 0, el[1])
179
+ } else {
180
+ obj[ el[0] ] = el[1]
181
+ }
182
+ }
183
+
184
+ return obj
185
+ }
186
+
187
+ var parseBody = function(body) {
188
+ var obj = null
189
+ , tmp = null
190
+ , arr = null
191
+ , isArrayType = null
192
+ ;
193
+ if ( /^(\{|\[|\%7B|\%5B)/.test(body) ) {
194
+ try {
195
+ isArrayType = ( /^(\{|\%7B)/.test(body) ) ? false : true;
196
+ obj = ( isArrayType ) ? [] : {};
197
+
198
+ if ( /^(\%7B|\%5B)/.test(body) ) {
199
+ tmp = JSON.parse(decodeURIComponent(body))
200
+ } else {
201
+ tmp = JSON.parse(body)
202
+ }
203
+
204
+ if ( Array.isArray(tmp) ) {
205
+ obj = parseCollection(tmp, obj)
206
+ } else {
207
+ obj = parseObject(tmp, obj)
208
+ }
209
+
210
+ return obj
211
+ } catch (err) {
212
+ console.error('[365] could not parse body:\n' + body)
213
+ }
214
+
215
+ } else {
216
+ obj = {};
217
+ arr = body.split(/&/g);
218
+ if ( /(\"false\"|\"true\"|\"on\")/.test(body) )
219
+ body = body.replace(/\"false\"/g, false).replace(/\"true\"/g, true).replace(/\"on\"/g, true);
220
+
221
+
222
+ var el = {}
223
+ , value = null
224
+ , key = null;
225
+
226
+ for (var i = 0, len = arr.length; i < len; ++i) {
227
+ if (!arr[i]) continue;
228
+
229
+ arr[i] = decodeURIComponent(arr[i]);
230
+
231
+ if ( /^\{/.test(arr[i]) || /\=\{/.test(arr[i]) || /\=\[/.test(arr[i]) ) {
232
+ try {
233
+ if (/^\{/.test(arr[i])) {
234
+ obj = JSON.parse(arr[i]);
235
+ break;
236
+ } else {
237
+ el = arr[i].match(/\=(.*)/);
238
+ el[0] = arr[i].split(/\=/)[0];
239
+ obj[ el[0] ] = JSON.parse( el[1] );
240
+ }
241
+
242
+
243
+ } catch (err) {
244
+ console.error('[parseBody#1] could not parse body:\n' + arr[i])
245
+ }
246
+ } else {
247
+ el = arr[i].split(/=/);
248
+ if ( /\{\}\"\:/.test(el[1]) ) { //might be a json
249
+ try {
250
+ el[1] = JSON.parse(el[1])
251
+ } catch (err) {
252
+ console.error('[parseBody#2] could not parse body:\n' + el[1])
253
+ }
254
+ }
255
+
256
+ if ( typeof(el[1]) == 'string' && !/\[object /.test(el[1])) {
257
+ key = null;
258
+ el[0] = decodeURIComponent(el[0]);
259
+ el[1] = decodeURIComponent(el[1]);
260
+
261
+ if ( /^(.*)\[(.*)\]/.test(el[0]) ) { // some[field] ?
262
+ key = el[0].replace(/\]/g, '').split(/\[/g);
263
+ obj = parseLocalObj(obj, key, 0, el[1])
264
+ } else {
265
+ obj[ el[0] ] = el[1]
266
+ }
267
+ }
268
+ }
269
+ }
270
+
271
+ return obj
272
+ }
273
+ }
274
+
275
+ // var parseLocalObj = function(obj, key, k, value) {
276
+
277
+ // if ( typeof(obj[ key[k] ]) == 'undefined' ) {
278
+ // obj[ key[k] ] = {};
279
+ // }
280
+
281
+ // for (var prop in obj) {
282
+
283
+ // if (k == key.length-1) {
284
+
285
+ // if (prop == key[k]) {
286
+ // obj[prop] = ( typeof(value) != 'undefined' ) ? value : '';
287
+ // }
288
+
289
+ // } else if ( key.indexOf(prop) > -1 ) {
290
+ // ++k;
291
+ // if ( !obj[prop][ key[k] ] )
292
+ // obj[prop][ key[k] ] = {};
293
+
294
+
295
+ // parseLocalObj(obj[prop], key, k, value)
296
+
297
+ // }
298
+ // }
299
+
300
+ // return obj;
301
+ // }
302
+
303
+ var parseLocalObj = function(obj, key, k, value) {
304
+
305
+ for (let i=0,len=key.length; i<len; i++) {
306
+ // by default
307
+ let _key = key[k];
308
+ if (i == k) {
309
+ // Array or Object ?
310
+ if ( typeof(obj[ key[k] ]) == 'undefined' || typeof(obj[ key[k] ]) == 'string' ) {
311
+ if ( Array.isArray(obj) ) {
312
+ // index
313
+ // _key = obj.length;
314
+ _key = ~~key[k];
315
+ obj[ _key ] = ( /^\d+$/.test(key[k+1]) ) ? [] : {};
316
+ } else {
317
+ obj[ key[k] ] = ( /^\d+$/.test(key[k+1]) ) ? [] : {};
318
+ }
319
+ }
320
+
321
+ // Assinging value
322
+ if (k == key.length-1) {
323
+ let _value = ( typeof(value) != 'undefined' ) ? value : '';
324
+ if ( Array.isArray( obj[key[k]] ) ) {
325
+ obj[key[k]].push(_value);
326
+ // _key = (obj.length > 0) ? obj.length-1 : 0;
327
+ // obj[ _key ] = _value;
328
+ }
329
+ else {
330
+ obj[ key[k] ] = _value;
331
+ }
332
+ break;
333
+ }
334
+ // Assinging index or key
335
+ else {
336
+ if ( /^\d+$/.test(key[k]) && !Array.isArray(obj) ) {
337
+ obj = [];
338
+ // _key = (obj.length > 0) ? obj.length-1 : 0;
339
+ }
340
+ // Handle unstructured array from object
341
+ // E.G.: design[1][id] where design is starting with `1` index instead of `0`
342
+ // if ( Array.isArray(obj) ) {
343
+ // // current Index
344
+ // _key = ~~key[k];
345
+ // // _key = (obj.length > 0) ? obj.length-1 : 0;
346
+ // }
347
+ // Init array or object
348
+ if ( typeof(obj[ _key ]) == 'undefined' ) {
349
+ // obj[ _key ] = ( /^\d+$/.test(key[k+1]) ) ? [] : {};
350
+ obj[ _key ] = null;
351
+ }
352
+
353
+ parseLocalObj(obj[ _key ], key, k+1, value);
354
+ }
355
+ }
356
+ }
357
+
358
+ return obj;
359
+ }
360
+
361
+ };//EO JSONHelper.
@@ -2,6 +2,7 @@ const { execSync } = require('child_process');
2
2
  var fs = require('fs');
3
3
  var console = lib.logger;
4
4
  var merge = lib.merge;
5
+ var inherits = lib.inherits;
5
6
  var Collection = lib.Collection;
6
7
  var helpers = require( getPath('gina').helpers);
7
8
  /**
@@ -80,7 +81,12 @@ function CmdHelper(cmd, client, debug) {
80
81
 
81
82
 
82
83
  // merging with default
83
- cmd = merge(cmd, self);
84
+ var _cmd = JSON.clone(cmd);
85
+
86
+ _cmd = merge(_cmd, self);
87
+ for (let prop in _cmd) {
88
+ cmd[prop] = _cmd[prop]
89
+ }
84
90
 
85
91
  var getParams = function () {
86
92
 
@@ -1211,6 +1217,7 @@ function CmdHelper(cmd, client, debug) {
1211
1217
  process.exit()
1212
1218
  }
1213
1219
  }
1220
+
1214
1221
  };
1215
1222
 
1216
1223
  module.exports = CmdHelper;
@@ -924,7 +924,8 @@ function Collection(content, options) {
924
924
  if (foundResults.length > 0 ) {
925
925
  var arr = foundResults.toRaw();
926
926
  for (var a = 0, aLen = arr.length; a < aLen; ++a) {
927
- arr[a] = merge( JSON.clone(set), arr[a]);
927
+ arr[a] = merge(JSON.clone(set), arr[a]);
928
+ // arr[a] = merge(set, arr[a]);
928
929
  for (var r = 0, rLen = result.length; r < rLen; ++r) {
929
930
  if ( typeof(result[r][key]) == 'undefined' && key == '_uuid' && typeof(result[r]['id']) != 'undefined' ) {
930
931
  key = 'id';
@@ -302,6 +302,8 @@ function Logger() {
302
302
  // setting up `opt`
303
303
  // this is done to repespect arrays order
304
304
  var newDefaultOptions = merge(JSON.clone(defaultOptions), userOptions);
305
+ // var newDefaultOptions = merge(defaultOptions, userOptions);
306
+
305
307
  defaultOptions = JSON.clone(newDefaultOptions);
306
308
  newDefaultOptions = null;
307
309
  if (userOptions && userOptions.flows) {
@@ -2,6 +2,7 @@
2
2
  function Merge() {
3
3
 
4
4
  var newTarget = []
5
+ , originalValueshasBeenCached = false
5
6
  //, keyComparison = 'id' // use for collections merging [{ id: 'val1' }, { id: 'val2' }, {id: 'val3' }, ...]
6
7
  ;
7
8
 
@@ -14,7 +15,33 @@ function Merge() {
14
15
  *
15
16
  * @returns {object} [result]
16
17
  * */
17
- var browse = function (target, source) {
18
+ var browse = function (_target, _source) {
19
+
20
+ var target = _target, source = _source;
21
+
22
+ // clone target & source to prevent mutations from the originals
23
+ if (!originalValueshasBeenCached) {
24
+ if ( typeof(_target) == 'object' && Array.isArray(_target) ) {
25
+ // target = _target.slice();
26
+ } else if ( typeof(_target) == 'object' ) {
27
+ // try {
28
+ // if ( typeof(_target['modelUtil']) != 'undefined' && typeof(_target['loggerInstance']) != 'undefined' ) {
29
+ // console.info('Pause ... this is something')
30
+ // }
31
+ // target = JSON.clone(_target);
32
+ // } catch(cloneErr) { // might be a complex object
33
+ // console.warn('Merge ignoring complex object backup: '+ cloneErr.stack);
34
+ // }
35
+ }
36
+
37
+ // if ( typeof(_source) == 'object' && Array.isArray(_source) ) {
38
+ // source = _source.slice();
39
+ // } else if ( typeof(_source) == 'object' && !Array.isArray(_source) ) {
40
+ // source = JSON.clone(_source);
41
+ // }
42
+
43
+ originalValueshasBeenCached = true;
44
+ }
18
45
 
19
46
  if ( typeof(target) == 'undefined' ) {
20
47
  target = ( typeof(source) != 'undefined' && Array.isArray(source)) ? [] : {}
@@ -186,6 +213,7 @@ function Merge() {
186
213
  }
187
214
 
188
215
  newTarget = [];
216
+ originalValueshasBeenCached = false;
189
217
 
190
218
  return target;
191
219
  };
@@ -206,6 +234,7 @@ function Merge() {
206
234
  // if collection, comparison will be done uppon the `id` attribute by default unless you call .setKeyComparison('someField')
207
235
  if (
208
236
  typeof(options[0]) == 'object'
237
+ && options[0] != null
209
238
  && typeof(options[0][keyComparison]) != 'undefined'
210
239
  && typeof(target[0]) == 'object'
211
240
  && typeof(target[0][keyComparison]) != 'undefined'
@@ -362,9 +391,17 @@ function Merge() {
362
391
  } else { // normal case `arrays`
363
392
  a = 0;
364
393
  // in case there is no keyComparison in options[*].props
365
- var localKeyComparison = null;
394
+ var localKeyComparison = null, ownPropertyNames = null;
366
395
  for (; a < options.length; ++a ) {
367
- localKeyComparison = (typeof(options) != 'undefined' && typeof(options[a]) == 'object' && !Array.isArray(options[a]) ) ? Object.getOwnPropertyNames(options[a])[0] : null;
396
+ ownPropertyNames = null;
397
+ if (typeof(options) != 'undefined' && typeof(options[a]) == 'object' && !Array.isArray(options[a]) && options[a] != null ) {
398
+ ownPropertyNames = Object.getOwnPropertyNames(options[a])
399
+ }
400
+ if ( typeof(ownPropertyNames) != 'undefined' && ownPropertyNames != null) {
401
+ ownPropertyNames = ownPropertyNames[0] || null
402
+ }
403
+ // localKeyComparison = (typeof(options) != 'undefined' && typeof(options[a]) == 'object' && !Array.isArray(options[a]) ) ? ownPropertyNames : null;
404
+ localKeyComparison = ownPropertyNames;
368
405
  if ( target.indexOf(options[a]) > -1 && override) {
369
406
  target.splice(target.indexOf(options[a]), 1, options[a])
370
407
  } else if ( typeof(newTarget[a]) == 'undefined' && typeof(options[a]) == 'object' ) {
@@ -493,10 +530,12 @@ function Merge() {
493
530
  return keyComparison
494
531
  }
495
532
 
496
- // clone target & source to prevent mutations from the originals
533
+ // // clone target & source to prevent mutations from the originals
497
534
  // if (!browse.originalValueshasBeenCached) {
498
535
  // for (let a = 0, aLen = arguments.length; a < aLen; a++) {
499
- // if ( typeof(arguments[a]) == 'object' ) {
536
+ // if ( typeof(arguments[a]) == 'object' && Array.isArray(arguments[a])) {
537
+ // arguments[a] = arguments[a].slice();
538
+ // } else if ( typeof(arguments[a]) == 'object' ) {
500
539
  // arguments[a] = JSON.clone(arguments[a]);
501
540
  // }
502
541
  // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gina",
3
- "version": "0.1.1-alpha.180",
3
+ "version": "0.1.1-alpha.181",
4
4
  "description": "MVC Framework for Node.",
5
5
  "keywords": [
6
6
  "framework",
@@ -51,7 +51,7 @@
51
51
  "bin": {
52
52
  "gina": "./bin/gina"
53
53
  },
54
- "main": "./framework/v0.1.1-alpha.180/core/gna",
54
+ "main": "./framework/v0.1.1-alpha.181/core/gna",
55
55
  "scripts": {
56
56
  "prepare": "node ./script/prepare_version.js",
57
57
  "postpublish": "node ./script/post_publish.js",
@@ -38,6 +38,7 @@ function JSONClone(source, target) {
38
38
  , srcObjProps = Object.getOwnPropertyNames(source)
39
39
  , len = srcObjProps.length || 0
40
40
  , keys = Object.keys(source)
41
+ , warn = null
41
42
  ;
42
43
 
43
44
  while (i<len) {
@@ -47,7 +48,7 @@ function JSONClone(source, target) {
47
48
  continue;
48
49
  }
49
50
  if (source[key] === undefined) {
50
- var warn = new Error('JSON.clone(...) possible error detected: source['+key+'] is undefined !! Key `'+ key +'` should not be left `undefined`. Assigning to `null`');
51
+ warn = new Error('JSON.clone(...) possible error detected: source['+key+'] is undefined !! Key `'+ key +'` should not be left `undefined`. Assigning to `null`');
51
52
  warn.stack = warn.stack.replace(/^Error\:\s+/g, '');
52
53
  if ( typeof(warn.message) != 'undefined' ) {
53
54
  warn.message = warn.message.replace(/^Error\:\s+/g, '');
@@ -55,7 +56,38 @@ function JSONClone(source, target) {
55
56
  console.warn(warn);
56
57
  target[key] = null
57
58
  } else {
58
- target[key] = (typeof target[key] == 'undefined' ) ? JSONClone(source[key], null) : target[key];
59
+ // try {
60
+
61
+ // if (key == 'contexts') {
62
+ // // if ( typeof(target[key]) == 'undefined' && target[key] != 'null' && typeof(source[key]) == 'object' && !Array.isArray(source[key]) && typeof(source[key]) != 'object' && !/\[native code\]/.test(source[key].constructor) ) {
63
+ // console.log('Kyeyyyyy ', key);
64
+
65
+ // target[key] = {}.toString.call(source[key]);
66
+ // // target[key] = {};
67
+ // i++;
68
+ // continue;
69
+ // }
70
+
71
+
72
+ target[key] = (typeof(target[key]) == 'undefined' ) ? JSONClone(source[key], null) : target[key];
73
+ // } catch (jsonErr) {
74
+ // // warn = new Error('JSON.clone(...) Exception detected @ source['+key+']\nKey: '+ key +'\nType: '+ (typeof(source[key])) + '\nisArray ? '+ Array.isArray(source[key]) +'\n');
75
+ // // warn.stack = warn.stack.replace(/^Error\:\s+/g, '');
76
+ // // if ( typeof(warn.message) != 'undefined' ) {
77
+ // // warn.message = warn.message.replace(/^Error\:\s+/g, '');
78
+ // // }
79
+ // // console.warn(warn);
80
+ // // console.warn('key: '+ key, '\nvalue: ', source[key], jsonErr);
81
+
82
+ // console.warn('JSON.clone(...) Complex Object Exception detected @ source['+key+']\nConstructor: '+ source.constructor +'\nKey: '+ key +'\nType: '+ (typeof(source[key])) + '\nisArray ? '+ Array.isArray(source[key]) +'\nTarget[key]: '+ target[key] +'\n'+jsonErr.stack);
83
+ // // Break to avoid memory leak
84
+ // break;
85
+
86
+ // // throw new Error('JSON.clone(...) Complex Object Exception detected @ source['+key+']\nKey: '+ key +'\nType: '+ (typeof(source[key])) + '\nisArray ? '+ Array.isArray(source[key]) +'\n'+jsonErr.stack)
87
+
88
+ // // throw jsonErr;
89
+ // }
90
+
59
91
  }
60
92
 
61
93
  i++;
@@ -1 +0,0 @@
1
- 0.1.1-alpha.180