spice-js 2.5.24 → 2.5.25

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.
@@ -24,7 +24,9 @@ var SDate = require("sonover-date"),
24
24
  _ = require("lodash"),
25
25
  _database = Symbol(),
26
26
  _props = Symbol(),
27
+ _args = Symbol(),
27
28
  _hooks = Symbol(),
29
+ _disable_lifecycle_events = Symbol(),
28
30
  _serializers = Symbol();
29
31
 
30
32
  var that;
@@ -46,11 +48,15 @@ class SpiceModel {
46
48
  }
47
49
 
48
50
  try {
51
+ var _args$args;
52
+
49
53
  var dbtype = spice.config.database.connections[args.connection].type || "couchbase";
50
54
 
51
55
  var Database = require("spice-" + dbtype);
52
56
 
53
57
  this.type = "";
58
+ this[_args] = args.args;
59
+ this[_disable_lifecycle_events] = ((_args$args = args.args) == null ? void 0 : _args$args.disable_lifecycle_events) || false;
54
60
  this[_hooks] = {
55
61
  create: {
56
62
  before: [],
@@ -719,16 +725,18 @@ class SpiceModel {
719
725
 
720
726
  return _asyncToGenerator(function* () {
721
727
  try {
722
- var resourceLifecycleTriggered = new _ResourceLifecycleTriggered.default({
723
- data: {
724
- data,
725
- operation: op,
726
- when,
727
- old_data,
728
- resource: _this9.type
729
- }
730
- });
731
- resourceLifecycleTriggered.dispatch();
728
+ if (_this9[_disable_lifecycle_events] == false) {
729
+ var resourceLifecycleTriggered = new _ResourceLifecycleTriggered.default({
730
+ data: {
731
+ data,
732
+ operation: op,
733
+ when,
734
+ old_data,
735
+ resource: _this9.type
736
+ }
737
+ });
738
+ resourceLifecycleTriggered.dispatch();
739
+ }
732
740
 
733
741
  if (_this9[_hooks] && _this9[_hooks][op] && _this9[_hooks][op][when]) {
734
742
  for (var i of _this9[_hooks][op][when]) {
@@ -764,6 +772,8 @@ class SpiceModel {
764
772
  }
765
773
 
766
774
  mapToObject(data, Class, source_property, store_property, property) {
775
+ var _this10 = this;
776
+
767
777
  return _asyncToGenerator(function* () {
768
778
  var original_is_array = _.isArray(data);
769
779
 
@@ -781,7 +791,7 @@ class SpiceModel {
781
791
  });
782
792
 
783
793
  var returned_all = yield Promise.allSettled(_.map(classes, obj => {
784
- return new obj().getMulti({
794
+ return new obj(_this10[_args]).getMulti({
785
795
  ids: ids
786
796
  });
787
797
  }));
@@ -799,6 +809,8 @@ class SpiceModel {
799
809
  }
800
810
 
801
811
  mapToObjectArray(data, Class, source_property, store_property, property) {
812
+ var _this11 = this;
813
+
802
814
  return _asyncToGenerator(function* () {
803
815
  var original_is_array = _.isArray(data);
804
816
 
@@ -826,7 +838,7 @@ class SpiceModel {
826
838
 
827
839
  var classes = _.isArray(Class) ? Class : [Class];
828
840
  var returned_all = yield Promise.allSettled(_.map(classes, obj => {
829
- return new obj().getMulti({
841
+ return new obj(_this11[_args]).getMulti({
830
842
  ids: ids
831
843
  });
832
844
  }));
@@ -873,7 +885,7 @@ class SpiceModel {
873
885
  }
874
886
 
875
887
  createMofifier(properties) {
876
- var _this10 = this;
888
+ var _this12 = this;
877
889
 
878
890
  var _loop = function _loop(i) {
879
891
  if (properties[i].map) {
@@ -884,11 +896,11 @@ class SpiceModel {
884
896
  case String:
885
897
  case "string":
886
898
  {
887
- _this10.addModifier({
899
+ _this12.addModifier({
888
900
  when: properties[i].map.when || "read",
889
901
  execute: function () {
890
902
  var _execute = _asyncToGenerator(function* (data) {
891
- 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]);
903
+ return yield _this12.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]);
892
904
  });
893
905
 
894
906
  function execute(_x) {
@@ -905,11 +917,11 @@ class SpiceModel {
905
917
  case Array:
906
918
  case "array":
907
919
  {
908
- _this10.addModifier({
920
+ _this12.addModifier({
909
921
  when: properties[i].map.when || "read",
910
922
  execute: function () {
911
923
  var _execute2 = _asyncToGenerator(function* (data) {
912
- 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]);
924
+ return yield _this12.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]);
913
925
  });
914
926
 
915
927
  function execute(_x2) {
@@ -941,13 +953,13 @@ class SpiceModel {
941
953
  }
942
954
 
943
955
  do_serialize(data, type, old_data, args) {
944
- var _this11 = this;
956
+ var _this13 = this;
945
957
 
946
958
  return _asyncToGenerator(function* () {
947
959
  try {
948
960
  // run serializers
949
- if (_this11.shouldSerializerRun(args, type)) {
950
- for (var i of _this11[_serializers][type]["modifiers"]) {
961
+ if (_this13.shouldSerializerRun(args, type)) {
962
+ for (var i of _this13[_serializers][type]["modifiers"]) {
951
963
  try {
952
964
  data = yield i(data, old_data);
953
965
  } catch (e) {
@@ -965,12 +977,12 @@ class SpiceModel {
965
977
 
966
978
  var defaults = {};
967
979
 
968
- for (var _i in _this11.props) {
969
- if (_this11.props[_i].defaults != undefined && _this11.props[_i].defaults[type] != undefined && _this11.props[_i].defaults[type] != undefined) {
970
- defaults[_i] = _.isFunction(_this11.props[_i].defaults[type]) ? _this11.props[_i].defaults[type]({
980
+ for (var _i in _this13.props) {
981
+ if (_this13.props[_i].defaults != undefined && _this13.props[_i].defaults[type] != undefined && _this13.props[_i].defaults[type] != undefined) {
982
+ defaults[_i] = _.isFunction(_this13.props[_i].defaults[type]) ? _this13.props[_i].defaults[type]({
971
983
  old_data: data,
972
984
  new_data: old_data
973
- }) : _this11.props[_i].defaults[type];
985
+ }) : _this13.props[_i].defaults[type];
974
986
  }
975
987
  } // apply defaults
976
988
 
@@ -983,8 +995,8 @@ class SpiceModel {
983
995
  if (type == "read") {
984
996
  var props_to_clean = ["deleted", "type"];
985
997
 
986
- for (var _i3 in _this11.props) {
987
- if (_this11.props[_i3].hide) {
998
+ for (var _i3 in _this13.props) {
999
+ if (_this13.props[_i3].hide) {
988
1000
  props_to_clean.push(_i3);
989
1001
  }
990
1002
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spice-js",
3
- "version": "2.5.24",
3
+ "version": "2.5.25",
4
4
  "description": "spice",
5
5
  "main": "build/index.js",
6
6
  "repository": {
@@ -10,7 +10,9 @@ var SDate = require("sonover-date"),
10
10
  _ = require("lodash"),
11
11
  _database = Symbol(),
12
12
  _props = Symbol(),
13
+ _args = Symbol(),
13
14
  _hooks = Symbol(),
15
+ _disable_lifecycle_events = Symbol(),
14
16
  _serializers = Symbol();
15
17
  let that;
16
18
  if (!Promise.allSettled) {
@@ -36,7 +38,9 @@ export default class SpiceModel {
36
38
  spice.config.database.connections[args.connection].type || "couchbase";
37
39
  let Database = require(`spice-${dbtype}`);
38
40
  this.type = "";
39
-
41
+ this[_args] = args.args;
42
+ this[_disable_lifecycle_events] =
43
+ args.args?.disable_lifecycle_events || false;
40
44
  this[_hooks] = {
41
45
  create: {
42
46
  before: [],
@@ -611,10 +615,12 @@ export default class SpiceModel {
611
615
 
612
616
  async run_hook(data, op, when, old_data) {
613
617
  try {
614
- let resourceLifecycleTriggered = new ResourceLifecycleTriggered({
615
- data: { data, operation: op, when, old_data, resource: this.type },
616
- });
617
- resourceLifecycleTriggered.dispatch();
618
+ if (this[_disable_lifecycle_events] == false) {
619
+ let resourceLifecycleTriggered = new ResourceLifecycleTriggered({
620
+ data: { data, operation: op, when, old_data, resource: this.type },
621
+ });
622
+ resourceLifecycleTriggered.dispatch();
623
+ }
618
624
  if (this[_hooks] && this[_hooks][op] && this[_hooks][op][when]) {
619
625
  for (let i of this[_hooks][op][when]) {
620
626
  data = await i(data, old_data);
@@ -661,7 +667,7 @@ export default class SpiceModel {
661
667
 
662
668
  var returned_all = await Promise.allSettled(
663
669
  _.map(classes, (obj) => {
664
- return new obj().getMulti({
670
+ return new obj(this[_args]).getMulti({
665
671
  ids: ids,
666
672
  });
667
673
  })
@@ -712,7 +718,7 @@ export default class SpiceModel {
712
718
  let classes = _.isArray(Class) ? Class : [Class];
713
719
  var returned_all = await Promise.allSettled(
714
720
  _.map(classes, (obj) => {
715
- return new obj().getMulti({
721
+ return new obj(this[_args]).getMulti({
716
722
  ids: ids,
717
723
  });
718
724
  })