as-model 0.1.8 → 0.1.9

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/dist/index.js CHANGED
@@ -1109,6 +1109,9 @@
1109
1109
  isDestroyed: function isDestroyed() {
1110
1110
  return updater.isDestroyed;
1111
1111
  },
1112
+ extends: function _extends(e) {
1113
+ return Object.assign(store, e);
1114
+ },
1112
1115
  updater,
1113
1116
  modelStoreIdentifier
1114
1117
  };
@@ -1125,6 +1128,9 @@
1125
1128
  var storeConfig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1126
1129
  return createStore(wrapModel, _object_spread({}, config2, storeConfig));
1127
1130
  };
1131
+ wrapModel.extends = function extendsKey(e) {
1132
+ return Object.assign(wrapModel, e);
1133
+ };
1128
1134
  return wrapModel;
1129
1135
  }
1130
1136
  createKey.isModelKey = isModelKey;
@@ -1220,6 +1226,9 @@
1220
1226
  selector: currentSelector
1221
1227
  }));
1222
1228
  };
1229
+ modelWrapper.extends = function extendsModelUsage(e) {
1230
+ return Object.assign(modelWrapper, e);
1231
+ };
1223
1232
  modelWrapper.selector = currentSelector;
1224
1233
  modelWrapper.modelUsageIdentifier = modelUsageIdentifier;
1225
1234
  return modelWrapper;
package/esm/key/index.js CHANGED
@@ -9,6 +9,9 @@ function createKey(model) {
9
9
  var storeConfig = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
10
10
  return createStore(wrapModel, _object_spread({}, config, storeConfig));
11
11
  };
12
+ wrapModel.extends = function extendsKey(e) {
13
+ return Object.assign(wrapModel, e);
14
+ };
12
15
  return wrapModel;
13
16
  }
14
17
  createKey.isModelKey = isModelKey;
@@ -30,6 +30,9 @@ function configModel(config) {
30
30
  selector: currentSelector
31
31
  }));
32
32
  };
33
+ modelWrapper.extends = function extendsModelUsage(e) {
34
+ return Object.assign(modelWrapper, e);
35
+ };
33
36
  modelWrapper.selector = currentSelector;
34
37
  modelWrapper.modelUsageIdentifier = modelUsageIdentifier;
35
38
  return modelWrapper;
@@ -82,6 +82,9 @@ function createStore(modelLike) {
82
82
  isDestroyed: function isDestroyed() {
83
83
  return updater.isDestroyed;
84
84
  },
85
+ extends: function _extends(e) {
86
+ return Object.assign(store, e);
87
+ },
85
88
  updater,
86
89
  modelStoreIdentifier
87
90
  };
package/index.d.ts CHANGED
@@ -84,6 +84,7 @@ export declare interface Store<
84
84
  callback?: (payload: P | undefined) => P | undefined
85
85
  ) => P | undefined;
86
86
  isDestroyed: () => boolean;
87
+ extends: <E extends Record<string, any>>(e: E) => Store<S, T, R> & E;
87
88
  }
88
89
 
89
90
  export declare function createStore<
@@ -105,6 +106,7 @@ export declare interface ModelKey<
105
106
  > extends Key<S, T, R> {
106
107
  (s: S): T;
107
108
  createStore: <D extends S>(state?: D) => Store<S, T, R>;
109
+ extends: <E extends Record<string, any>>(e: E) => ModelKey<S, T, R> & E;
108
110
  }
109
111
 
110
112
  export declare function createKey<
@@ -147,6 +149,7 @@ export declare interface ModelUsage<
147
149
  s: C
148
150
  ) => ModelUsage<S, T, C>;
149
151
  selector: R;
152
+ extends: <E extends Record<string, any>>(e: E) => ModelUsage<S, T, R> & E;
150
153
  }
151
154
 
152
155
  declare type FieldStructure<R = any> = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "as-model",
4
- "version": "0.1.8",
4
+ "version": "0.1.9",
5
5
  "description": "This is a model state management tool",
6
6
  "license": "MIT",
7
7
  "author": "Jimmy.Harding",