@degenerate/generic 0.0.13 → 0.0.17

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.
package/LICENCE.md ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) [2024] [Degenerateiinc.ca]
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # @Degenerate/generic Package
2
2
 
3
- This package contains generic functions and models for use in the SAFE ecosystem. The package is used to provide common functionality across the different services in the SAFE environment.
3
+ This package contains generic functions and models for use in the SAFE ecosystem. The package is used to provide common functionality across the different services in the SAFE environment.
@@ -4,5 +4,13 @@
4
4
  * @param incomingArray the incoming array to get a random item from.
5
5
  */
6
6
  declare const getRandomItemFromArray: <T>(incomingArray: T[]) => T;
7
- export { getRandomItemFromArray };
7
+ /**
8
+ * This ensures that all items in an array are of the same type.
9
+ *
10
+ * @param array the array to check
11
+ * @param type the type to check against
12
+ * @returns
13
+ */
14
+ declare const checkIfAllItemsInAnArrayAreSameType: (array: unknown[], type: string) => boolean;
15
+ export { getRandomItemFromArray, checkIfAllItemsInAnArrayAreSameType, };
8
16
  //# sourceMappingURL=array-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/array/array-helpers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,QAAA,MAAM,sBAAsB,GAAI,CAAC,iBAAiB,CAAC,EAAE,KAAG,CAGvD,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"array-helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers/array/array-helpers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,QAAA,MAAM,sBAAsB,GAAI,CAAC,iBAAiB,CAAC,EAAE,KAAG,CAGvD,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,mCAAmC,UAAW,OAAO,EAAE,QAAQ,MAAM,KAAG,OAE7E,CAAC;AAEF,OAAO,EACH,sBAAsB,EACtB,mCAAmC,GACtC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // This file contains the helper functions for arrays.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getRandomItemFromArray = void 0;
4
+ exports.checkIfAllItemsInAnArrayAreSameType = exports.getRandomItemFromArray = void 0;
5
5
  /**
6
6
  * this gets a random item from an array.
7
7
  *
@@ -12,3 +12,14 @@ const getRandomItemFromArray = (incomingArray) => {
12
12
  return incomingArray[randomIndex];
13
13
  };
14
14
  exports.getRandomItemFromArray = getRandomItemFromArray;
15
+ /**
16
+ * This ensures that all items in an array are of the same type.
17
+ *
18
+ * @param array the array to check
19
+ * @param type the type to check against
20
+ * @returns
21
+ */
22
+ const checkIfAllItemsInAnArrayAreSameType = (array, type) => {
23
+ return array.every(item => typeof item === type);
24
+ };
25
+ exports.checkIfAllItemsInAnArrayAreSameType = checkIfAllItemsInAnArrayAreSameType;
@@ -6,6 +6,7 @@ import { IShareFunction, IShareTransactionHistory, IShareData } from '../models/
6
6
  */
7
7
  export declare class ShareData {
8
8
  private _id;
9
+ private _version;
9
10
  private _rules;
10
11
  private _functions;
11
12
  private _transactionHistory;
@@ -64,6 +65,10 @@ export declare class ShareData {
64
65
  * This returns the current state of data for the share block
65
66
  */
66
67
  get data(): IShareData;
68
+ /**
69
+ * This gets the version of the share data
70
+ */
71
+ get version(): number;
67
72
  /**
68
73
  * This copies a share data object to a new transaction number
69
74
  * @param transactionNumber the number of the transaction to run until.
@@ -1 +1 @@
1
- {"version":3,"file":"share-data.d.ts","sourceRoot":"","sources":["../../src/share-data/share-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAEvH;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAsD;IACxE,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAa;IAE1B;;;OAGG;gBACS,EAAE,EAAE,MAAM;IAYtB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAOtC;;OAEG;IACH,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAE/B;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAO1E;;OAEG;IACH,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAEnE;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,eAAe,EAAE,CAE9B;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAItC;;;;OAIG;IACH,8BAA8B,CAC1B,YAAY,EAAE,UAAU,EACxB,eAAe,EAAE,yBAAyB,EAC1C,mBAAmB,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GACvE,IAAI;IAwBP;;;;;OAKG;IACH,0BAA0B,CACtB,YAAY,EAAE,UAAU,EACxB,mBAAmB,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GACvE,IAAI;IA0BP;;OAEG;IACH,IAAI,kBAAkB,IAAI,wBAAwB,EAAE,CAEnD;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS;CAW/C"}
1
+ {"version":3,"file":"share-data.d.ts","sourceRoot":"","sources":["../../src/share-data/share-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAEvH;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAsD;IACxE,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,KAAK,CAAa;IAE1B;;;OAGG;gBACS,EAAE,EAAE,MAAM;IAatB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAOtC;;OAEG;IACH,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAE/B;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAO1E;;OAEG;IACH,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAEnE;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,eAAe,EAAE,CAE9B;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAItC;;;;OAIG;IACH,8BAA8B,CAC1B,YAAY,EAAE,UAAU,EACxB,eAAe,EAAE,yBAAyB,EAC1C,mBAAmB,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GACvE,IAAI;IAwBP;;;;;OAKG;IACH,0BAA0B,CACtB,YAAY,EAAE,UAAU,EACxB,mBAAmB,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GACvE,IAAI;IA0BP;;OAEG;IACH,IAAI,kBAAkB,IAAI,wBAAwB,EAAE,CAEnD;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS;CAa/C"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ShareData = void 0;
4
- const rules_1 = require("@degenerate/rules");
4
+ const dist_1 = require("../../../rules/dist");
5
5
  const errors_1 = require("../errors");
6
6
  const share_data_1 = require("../models/share-data/share-data");
7
7
  /**
@@ -14,7 +14,8 @@ class ShareData {
14
14
  */
15
15
  constructor(id) {
16
16
  this.isLocked = false;
17
- this._id = id;
17
+ this._version = 1,
18
+ this._id = id;
18
19
  this._rules = [];
19
20
  this._functions = [];
20
21
  this._transactionHistory = [];
@@ -106,7 +107,7 @@ class ShareData {
106
107
  }
107
108
  // // evaluate the rules.
108
109
  // const rulesEvalOutcome = evaluateRules('transaction', this._data, proposedData, this._rules);
109
- const rulesOutcome = (0, rules_1.startRuleEvaluation)(this._id, transactionFunction, this.functions, this._rules, this._data, proposedData);
110
+ const rulesOutcome = (0, dist_1.startRuleEvaluation)(this._id, transactionFunction, this.functions, this._rules, this._data, proposedData);
110
111
  const transactionTime = Date.now(); // get the current time
111
112
  const transactionId = this._transactionHistory.length + 1; // get the transaction id
112
113
  const transaction = {
@@ -135,6 +136,12 @@ class ShareData {
135
136
  get data() {
136
137
  return this._data;
137
138
  }
139
+ /**
140
+ * This gets the version of the share data
141
+ */
142
+ get version() {
143
+ return this._version;
144
+ }
138
145
  /**
139
146
  * This copies a share data object to a new transaction number
140
147
  * @param transactionNumber the number of the transaction to run until.
@@ -145,7 +152,9 @@ class ShareData {
145
152
  newShareData._rules = [...this._rules];
146
153
  newShareData._functions = [...this._functions];
147
154
  newShareData._transactionHistory = [...this._transactionHistory];
155
+ newShareData._events = [...this._events];
148
156
  newShareData._data = { ...this._data };
157
+ newShareData._version = this._version;
149
158
  return newShareData;
150
159
  }
151
160
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@degenerate/generic",
3
- "version": "0.0.13",
3
+ "version": "0.0.17",
4
4
  "description": "This contains the generic information needed for the ShareData Adaptive Framework Ecosystem (SAFE) network",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,5 +51,6 @@
51
51
  "@degenerate/rules": "^0.0.5",
52
52
  "bip39": "^3.1.0",
53
53
  "elliptic": "^6.5.7"
54
- }
54
+ },
55
+ "gitHead": "19d2d9b7bf58aa69e761ad804f9c8e58ab6cde6f"
55
56
  }