spice-js 2.5.2 → 2.5.6

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.
@@ -6,9 +6,11 @@ var _lodash = _interopRequireDefault(require("lodash"));
6
6
 
7
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
8
 
9
- var EventEmitter = require("events").EventEmitter;
9
+ var EventEmitter = require("events");
10
10
 
11
- var myEmitter = new EventEmitter();
11
+ class MyEmitter extends EventEmitter {}
12
+
13
+ var myEmitter = new MyEmitter();
12
14
  spice.EventEmitter = myEmitter;
13
15
 
14
16
  var eventingManifest = require(_path.default.resolve(_path.default.join(spice.root_path, "/eventing/manifest.js")));
@@ -17,7 +19,6 @@ _lodash.default.each(eventingManifest.default, entry => {
17
19
  var topic = new entry.event().topic;
18
20
  var Processor = spice.config.event.providers[new entry.event().driver || spice.config.event.default_driver];
19
21
  var processor = new Processor();
20
- console.log(processor);
21
22
 
22
23
  _lodash.default.each(entry.handlers, handler => {
23
24
  processor.on(topic, new handler().handle);
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _path = _interopRequireDefault(require("path"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
8
+
9
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+
11
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
12
+
13
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
14
+
15
+ try {
16
+ var resources = ["models", "controllers"];
17
+ console.log(":::::::::::::STARTING MAP:::::::::::::");
18
+ resources.every(resource => {
19
+ var paths = _path.default.join(spice.root_path, resource);
20
+
21
+ spice[resource] = {};
22
+
23
+ require("fs").readdirSync(paths).forEach(
24
+ /*#__PURE__*/
25
+ function () {
26
+ var _ref = _asyncToGenerator(function* (file) {
27
+ console.log("Loading:", file);
28
+ spice[resource][file.split(".")[0]] = (yield Promise.resolve("".concat(_path.default.join(paths, file))).then(s => _interopRequireWildcard(require(s)))).default;
29
+ });
30
+
31
+ return function (_x) {
32
+ return _ref.apply(this, arguments);
33
+ };
34
+ }());
35
+ });
36
+ } catch (error) {
37
+ console.log(error);
38
+ }
@@ -5,24 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _socket = _interopRequireDefault(require("socket.io-client"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- class SpiceEventDriver {
13
- dispatch() {
14
- var {
15
- topic,
16
- data
17
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ //import io from "socket.io-client";
9
+ class SocketEventDriver {
10
+ /*dispatch({ topic, data } = {}) {
18
11
  spice.io.broadcast(topic, data);
19
12
  }
20
-
21
- on(topic, callback) {
22
- var socket = (0, _socket.default)("http://localhost:3005");
13
+ on(topic, callback) {
14
+ var socket = io("http://localhost:3005");
23
15
  socket.on(topic, callback);
24
- }
25
-
16
+ }*/
26
17
  }
27
18
 
28
- exports.default = SpiceEventDriver;
19
+ exports.default = SocketEventDriver;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- class SocketEventDriver {
8
+ class SpiceEventDriver {
9
9
  dispatch() {
10
10
  var {
11
11
  topic,
@@ -20,4 +20,4 @@ class SocketEventDriver {
20
20
 
21
21
  }
22
22
 
23
- exports.default = SocketEventDriver;
23
+ exports.default = SpiceEventDriver;
package/build/index.js CHANGED
@@ -210,6 +210,14 @@ class Spice {
210
210
  spice.config = yield require("./loaders/config")();
211
211
  io.attach(app);
212
212
  spice.io = io;
213
+ io.on("message", (ctx, data) => {
214
+ console.log("client sent data to message endpoint", data);
215
+ });
216
+
217
+ app._io.on("connection", sock => {
218
+ console.log("Connection Up", sock);
219
+ });
220
+
213
221
  app.use(koaSwagger({
214
222
  hideTopbar: true,
215
223
  title: "Spice JS",
@@ -17,7 +17,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
17
17
 
18
18
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
19
19
 
20
- var ordered_modules = ["logger", "error", "database", "views", "routes"];
20
+ var ordered_modules = ["map", "logger", "error", "database", "views", "routes"];
21
21
 
22
22
  function load() {
23
23
  return _load.apply(this, arguments);
@@ -35,6 +35,8 @@ function _load() {
35
35
  console.log('APP Bootstrap directory', app_bootstrap_path); */
36
36
 
37
37
 
38
+ console.log("Loading Ordered Files", ordered_modules);
39
+
38
40
  for (var file of ordered_modules) {
39
41
  var mod = require(_path.default.join(bootstrap_path, file));
40
42
 
@@ -314,7 +314,7 @@ class SpiceModel {
314
314
  }
315
315
 
316
316
  if (omit.length > 0) {
317
- working_properties = _.omit(this.props, pick);
317
+ working_properties = _.omit(this.props, omit);
318
318
  }
319
319
 
320
320
  for (var i in working_properties) {
@@ -857,7 +857,7 @@ class SpiceModel {
857
857
  when: properties[i].map.when || "read",
858
858
  execute: function () {
859
859
  var _execute = _asyncToGenerator(function* (data) {
860
- return yield _this10.mapToObject(data, properties[i].map.reference, i, properties[i].map.destination || i, properties[i]);
860
+ return yield _this10.mapToObject(data, _.isString(properties[i].map.reference) ? spice.models[properties[i].map.reference] : properties[i].map.reference, i, properties[i].map.destination || i, properties[i]);
861
861
  });
862
862
 
863
863
  function execute(_x) {
@@ -878,7 +878,8 @@ class SpiceModel {
878
878
  when: properties[i].map.when || "read",
879
879
  execute: function () {
880
880
  var _execute2 = _asyncToGenerator(function* (data) {
881
- return yield _this10.mapToObjectArray(data, properties[i].map.reference, i, properties[i].map.destination || i, properties[i]);
881
+ console.log(_.isString(properties[i].map.reference), _.isString(properties[i].map.reference) ? spice.models[properties[i].map.reference] : properties[i].map.reference, spice.models, properties[i].map.reference);
882
+ return yield _this10.mapToObjectArray(data, _.isString(properties[i].map.reference) ? spice.models[properties[i].map.reference] : properties[i].map.reference, i, properties[i].map.destination || i, properties[i]);
882
883
  });
883
884
 
884
885
  function execute(_x2) {
package/gulpfile.js CHANGED
@@ -1,34 +1,37 @@
1
- var gulp = require('gulp');
2
- var babel = require('gulp-babel');
1
+ var gulp = require("gulp");
2
+ var babel = require("gulp-babel");
3
3
  var paths = {};
4
- paths.src = './src/**/*.js';
4
+ paths.src = "./src/**/*.js";
5
5
 
6
- gulp.task('build_spice', () =>
7
- gulp.src(paths.src)
8
- .pipe(babel({
9
- presets: [
10
- [
11
- "@babel/preset-env",
12
- {
13
- "targets": {
14
- "esmodules": true,
15
- "node": "current",
6
+ gulp.task("build_spice", () =>
7
+ gulp
8
+ .src(paths.src)
9
+ .pipe(
10
+ babel({
11
+ presets: [
12
+ [
13
+ "@babel/preset-env",
14
+ {
15
+ loose: true,
16
+ targets: {
17
+ esmodules: true,
18
+ node: "current",
19
+ },
16
20
  },
17
-
18
- },
21
+ ],
22
+ ],
23
+ plugins: [
24
+ ["@babel/plugin-proposal-class-properties", { loose: true }],
25
+ ["@babel/plugin-proposal-export-namespace-from", { loose: true }],
26
+ ["@babel/plugin-proposal-export-default-from", { loose: true }],
19
27
  ],
20
- ],
21
- plugins: [
22
- ['@babel/plugin-proposal-class-properties', { "loose": true }],
23
- "@babel/plugin-proposal-export-namespace-from",
24
- "@babel/plugin-proposal-export-default-from",
25
- ],
26
- }))
27
- .pipe(gulp.dest('build'))
28
+ })
29
+ )
30
+ .pipe(gulp.dest("build"))
28
31
  );
29
32
 
30
33
  // Default task
31
- gulp.task('default', gulp.series('build_spice'));
32
- gulp.task('watch', function () {
33
- gulp.watch(paths.src, gulp.series('build_spice'));
34
+ gulp.task("default", gulp.series("build_spice"));
35
+ gulp.task("watch", function () {
36
+ gulp.watch(paths.src, gulp.series("build_spice"));
34
37
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spice-js",
3
- "version": "2.5.2",
3
+ "version": "2.5.6",
4
4
  "description": "spice",
5
5
  "main": "build/index.js",
6
6
  "repository": {
@@ -1,9 +1,9 @@
1
1
  import path from "path";
2
2
  import _ from "lodash";
3
- const EventEmitter = require("events").EventEmitter;
4
- const myEmitter = new EventEmitter();
3
+ const EventEmitter = require("events");
4
+ class MyEmitter extends EventEmitter { }
5
+ const myEmitter = new MyEmitter();
5
6
  spice.EventEmitter = myEmitter;
6
-
7
7
  let eventingManifest = require(path.resolve(
8
8
  path.join(spice.root_path, "/eventing/manifest.js")
9
9
  ));
@@ -16,7 +16,6 @@ _.each(eventingManifest.default, (entry) => {
16
16
  new entry.event().driver || spice.config.event.default_driver
17
17
  ];
18
18
  let processor = new Processor();
19
- console.log(processor);
20
19
  _.each(entry.handlers, (handler) => {
21
20
  processor.on(topic, new handler().handle);
22
21
  });
@@ -0,0 +1,20 @@
1
+ import path from "path";
2
+
3
+ try {
4
+ let resources = ["models", "controllers"];
5
+ console.log(":::::::::::::STARTING MAP:::::::::::::");
6
+ resources.every((resource) => {
7
+ let paths = path.join(spice.root_path, resource);
8
+ spice[resource] = {};
9
+ require("fs")
10
+ .readdirSync(paths)
11
+ .forEach(async function (file) {
12
+ console.log("Loading:", file);
13
+ spice[resource][file.split(".")[0]] = (
14
+ await import(path.join(paths, file))
15
+ ).default;
16
+ });
17
+ });
18
+ } catch (error) {
19
+ console.log(error);
20
+ }
@@ -1,11 +1,11 @@
1
- import io from "socket.io-client";
2
- export default class SpiceEventDriver {
3
- dispatch({ topic, data } = {}) {
1
+ //import io from "socket.io-client";
2
+ export default class SocketEventDriver {
3
+ /*dispatch({ topic, data } = {}) {
4
4
  spice.io.broadcast(topic, data);
5
5
  }
6
6
 
7
7
  on(topic, callback) {
8
8
  var socket = io("http://localhost:3005");
9
9
  socket.on(topic, callback);
10
- }
10
+ }*/
11
11
  }
@@ -1,4 +1,4 @@
1
- export default class SocketEventDriver {
1
+ export default class SpiceEventDriver {
2
2
  dispatch({ topic, data } = {}) {
3
3
  spice.EventEmitter.emit(topic, data);
4
4
  }
package/src/index.js CHANGED
@@ -74,6 +74,12 @@ export default class Spice {
74
74
 
75
75
  io.attach(app);
76
76
  spice.io = io;
77
+ io.on("message", (ctx, data) => {
78
+ console.log("client sent data to message endpoint", data);
79
+ });
80
+ app._io.on("connection", (sock) => {
81
+ console.log("Connection Up", sock);
82
+ });
77
83
  app.use(
78
84
  koaSwagger({
79
85
  hideTopbar: true,
@@ -2,7 +2,7 @@ import path from "path";
2
2
  import fs from "fs";
3
3
  import _ from "lodash";
4
4
 
5
- let ordered_modules = ["logger", "error", "database", "views", "routes"];
5
+ let ordered_modules = ["map", "logger", "error", "database", "views", "routes"];
6
6
  export async function load() {
7
7
  try {
8
8
  /* console.log('loading from array')*/
@@ -10,14 +10,14 @@ export async function load() {
10
10
  let bootstrap_path = path.resolve(
11
11
  path.join(spice.module_root_path, "/bootstrap")
12
12
  );
13
-
13
+
14
14
  let app_bootstrap_path = path.resolve(
15
15
  path.join(spice.root_path, "/bootstrap")
16
16
  );
17
17
 
18
18
  /* console.log('MODULE Bootstrap directory', bootstrap_path);
19
19
  console.log('APP Bootstrap directory', app_bootstrap_path); */
20
-
20
+ console.log("Loading Ordered Files", ordered_modules);
21
21
  for (let file of ordered_modules) {
22
22
  let mod = require(path.join(bootstrap_path, file));
23
23
  if (_.isFunction(mod)) {
@@ -242,7 +242,10 @@ export default class SpiceModel {
242
242
  return _.join(returnVal, "|");
243
243
  }
244
244
 
245
- getValidationRules(method = "POST", { complete = false, pick = [], omit = [] } = {}) {
245
+ getValidationRules(
246
+ method = "POST",
247
+ { complete = false, pick = [], omit = [] } = {}
248
+ ) {
246
249
  let rules = {};
247
250
  let filters = {};
248
251
  let working_properties = this.props;
@@ -251,7 +254,7 @@ export default class SpiceModel {
251
254
  }
252
255
 
253
256
  if (omit.length > 0) {
254
- working_properties = _.omit(this.props, pick);
257
+ working_properties = _.omit(this.props, omit);
255
258
  }
256
259
 
257
260
  for (let i in working_properties) {
@@ -743,14 +746,17 @@ export default class SpiceModel {
743
746
  case "string": {
744
747
  this.addModifier({
745
748
  when: properties[i].map.when || "read",
746
- execute: async (data) =>
747
- await this.mapToObject(
749
+ execute: async (data) => {
750
+ return await this.mapToObject(
748
751
  data,
749
- properties[i].map.reference,
752
+ _.isString(properties[i].map.reference)
753
+ ? spice.models[properties[i].map.reference]
754
+ : properties[i].map.reference,
750
755
  i,
751
756
  properties[i].map.destination || i,
752
757
  properties[i]
753
- ),
758
+ );
759
+ },
754
760
  });
755
761
  break;
756
762
  }
@@ -758,14 +764,25 @@ export default class SpiceModel {
758
764
  case "array": {
759
765
  this.addModifier({
760
766
  when: properties[i].map.when || "read",
761
- execute: async (data) =>
762
- await this.mapToObjectArray(
767
+ execute: async (data) => {
768
+ console.log(
769
+ _.isString(properties[i].map.reference),
770
+ _.isString(properties[i].map.reference)
771
+ ? spice.models[properties[i].map.reference]
772
+ : properties[i].map.reference,
773
+ spice.models,
774
+ properties[i].map.reference
775
+ );
776
+ return await this.mapToObjectArray(
763
777
  data,
764
- properties[i].map.reference,
778
+ _.isString(properties[i].map.reference)
779
+ ? spice.models[properties[i].map.reference]
780
+ : properties[i].map.reference,
765
781
  i,
766
782
  properties[i].map.destination || i,
767
783
  properties[i]
768
- ),
784
+ );
785
+ },
769
786
  });
770
787
  break;
771
788
  }