@mongez/atom 1.0.2 → 1.0.4

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.
@@ -1,6 +1,6 @@
1
1
  import type { Atom, AtomActions, AtomOptions } from './types';
2
2
  export type IndexOrCallback<Value> = number | ((value: Value, index: number, list: Value[]) => boolean);
3
- interface AtomCollectionActions<Value> extends AtomActions<Value[]> {
3
+ export interface AtomCollectionActions<Value> extends AtomActions<Value[]> {
4
4
  /**
5
5
  * Add items to the end of the array
6
6
  */
@@ -62,5 +62,4 @@ export type CollectionOptions<Value> = Omit<AtomOptions<Value[], AtomCollectionA
62
62
  * Create an atom collection
63
63
  */
64
64
  export declare function atomCollection<Value = any>(options: CollectionOptions<Value>): Atom<Value[], AtomCollectionActions<Value>>;
65
- export {};
66
65
  //# sourceMappingURL=atom-collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom-collection.d.ts","sourceRoot":"","sources":["../src/atom-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom-collection.d.ts","sourceRoot":"","sources":["../src/atom-collection.ts"],"names":[],"mappings":"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"}
package/cjs/atom.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Atom, AtomActions, AtomOptions, AtomValue } from './types';
1
+ import { Atom, AtomActions, AtomOptions, AtomValue } from "./types";
2
2
  export declare const atoms: Record<string, Atom<any>>;
3
3
  /**
4
4
  * Get atom by name
package/cjs/atom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../src/atom.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAA6B,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/F,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAM,CAAC;AAEnD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,SAAS,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAC7F,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAC3C,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAoLtB;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAEvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAEvD"}
1
+ {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../src/atom.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAM,CAAC;AAEnD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,GAAG,GAAG,EACX,OAAO,SAAS,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EACvD,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAsMpE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAEvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAEvD"}
package/cjs/atom.js CHANGED
@@ -16,11 +16,11 @@ function createAtom(data) {
16
16
  let defaultValue = data.default;
17
17
  let atomValue = data.default;
18
18
  let atomValueIsObject = false;
19
- if (defaultValue && typeof defaultValue === 'object') {
19
+ if (defaultValue && typeof defaultValue === "object") {
20
20
  atomValue = defaultValue = reinforcements.clone(defaultValue);
21
21
  atomValueIsObject = true;
22
22
  }
23
- const atomType = Array.isArray(defaultValue) ? 'array' : typeof defaultValue;
23
+ const atomType = Array.isArray(defaultValue) ? "array" : typeof defaultValue;
24
24
  const atomEvent = `atoms.${data.key}`;
25
25
  const event = (type) => `${atomEvent}.${type}`;
26
26
  const watchers = {};
@@ -73,17 +73,20 @@ function createAtom(data) {
73
73
  return;
74
74
  const oldValue = this.currentValue;
75
75
  let updatedValue;
76
- if (typeof newValue === 'function') {
76
+ if (typeof newValue === "function") {
77
77
  updatedValue = newValue(oldValue, this);
78
78
  }
79
79
  else {
80
80
  updatedValue = newValue;
81
81
  }
82
82
  if (data.beforeUpdate) {
83
- updatedValue = data.beforeUpdate(updatedValue, oldValue, this);
83
+ const beforeUpdateOutput = data.beforeUpdate(updatedValue, oldValue, this);
84
+ if (beforeUpdateOutput !== undefined) {
85
+ updatedValue = beforeUpdateOutput;
86
+ }
84
87
  }
85
88
  this.currentValue = updatedValue;
86
- events__default.default.trigger(event('update'), this.currentValue, oldValue, this);
89
+ events__default.default.trigger(event("update"), this.currentValue, oldValue, this);
87
90
  if (atomValueIsObject) {
88
91
  for (const key in watchers) {
89
92
  const keyOldValue = reinforcements.get(oldValue, key);
@@ -98,7 +101,7 @@ function createAtom(data) {
98
101
  if (newValue === this.currentValue)
99
102
  return;
100
103
  const oldValue = this.currentValue;
101
- if (typeof newValue === 'function') {
104
+ if (typeof newValue === "function") {
102
105
  newValue = newValue(oldValue, this);
103
106
  }
104
107
  if (data.beforeUpdate) {
@@ -107,10 +110,10 @@ function createAtom(data) {
107
110
  this.currentValue = newValue;
108
111
  },
109
112
  onChange(callback) {
110
- return events__default.default.subscribe(event('update'), callback);
113
+ return events__default.default.subscribe(event("update"), callback);
111
114
  },
112
115
  onReset(callback) {
113
- return events__default.default.subscribe(event('reset'), callback);
116
+ return events__default.default.subscribe(event("reset"), callback);
114
117
  },
115
118
  get(key, defaultValue) {
116
119
  if (data.get) {
@@ -121,7 +124,7 @@ function createAtom(data) {
121
124
  return value?.bind ? value.bind(this.currentValue) : value;
122
125
  },
123
126
  destroy() {
124
- events__default.default.trigger(event('delete'), this);
127
+ events__default.default.trigger(event("delete"), this);
125
128
  events__default.default.unsubscribeNamespace(atomEvent);
126
129
  delete atoms[this.key];
127
130
  },
@@ -130,7 +133,7 @@ function createAtom(data) {
130
133
  },
131
134
  reset() {
132
135
  const update = this.update(this.defaultValue);
133
- events__default.default.trigger(event('reset'), this);
136
+ events__default.default.trigger(event("reset"), this);
134
137
  return update;
135
138
  },
136
139
  /**
@@ -139,12 +142,12 @@ function createAtom(data) {
139
142
  */
140
143
  silentReset() {
141
144
  this.currentValue = reinforcements.clone(this.defaultValue);
142
- events__default.default.trigger(event('reset'), this);
145
+ events__default.default.trigger(event("reset"), this);
143
146
  return this;
144
147
  },
145
148
  clone() {
146
149
  return createAtom({
147
- key: this.key + 'Cloned' + reinforcements.Random.int(1000, 9999),
150
+ key: this.key + "Cloned" + reinforcements.Random.int(1000, 9999),
148
151
  default: reinforcements.clone(this.currentValue),
149
152
  beforeUpdate: data.beforeUpdate,
150
153
  get: data.get,
@@ -159,7 +162,7 @@ function createAtom(data) {
159
162
  });
160
163
  }
161
164
  if (data.onUpdate) {
162
- events__default.default.subscribe(event('update'), data.onUpdate.bind(atom));
165
+ events__default.default.subscribe(event("update"), data.onUpdate.bind(atom));
163
166
  }
164
167
  atoms[atomKey] = atom;
165
168
  return atom;
package/cjs/atom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"atom.js","sources":["../src/atom.ts"],"sourcesContent":[null],"names":["clone","events","get","Random"],"mappings":"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"}
1
+ {"version":3,"file":"atom.js","sources":["../src/atom.ts"],"sourcesContent":[null],"names":["clone","events","get","Random"],"mappings":"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"}
package/cjs/types.d.ts CHANGED
@@ -20,7 +20,7 @@ export type AtomOptions<Value = any, Actions extends AtomActions<Value> = {}> =
20
20
  /**
21
21
  * Make adjustments on the value before updating the atom
22
22
  */
23
- beforeUpdate?: (newValue: Value, oldValue: Value, atom: Atom<AtomValue<Value>, Actions>) => Value;
23
+ beforeUpdate?: (newValue: Value, oldValue: Value, atom: Atom<AtomValue<Value>, Actions>) => Value | void;
24
24
  /**
25
25
  * Triggered when atom is updated
26
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Atom, AtomActions, AtomOptions } from './types';
2
2
  export type IndexOrCallback<Value> = number | ((value: Value, index: number, list: Value[]) => boolean);
3
- interface AtomCollectionActions<Value> extends AtomActions<Value[]> {
3
+ export interface AtomCollectionActions<Value> extends AtomActions<Value[]> {
4
4
  /**
5
5
  * Add items to the end of the array
6
6
  */
@@ -62,5 +62,4 @@ export type CollectionOptions<Value> = Omit<AtomOptions<Value[], AtomCollectionA
62
62
  * Create an atom collection
63
63
  */
64
64
  export declare function atomCollection<Value = any>(options: CollectionOptions<Value>): Atom<Value[], AtomCollectionActions<Value>>;
65
- export {};
66
65
  //# sourceMappingURL=atom-collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom-collection.d.ts","sourceRoot":"","sources":["../src/atom-collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom-collection.d.ts","sourceRoot":"","sources":["../src/atom-collection.ts"],"names":[],"mappings":"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"}
package/esm/atom.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Atom, AtomActions, AtomOptions, AtomValue } from './types';
1
+ import { Atom, AtomActions, AtomOptions, AtomValue } from "./types";
2
2
  export declare const atoms: Record<string, Atom<any>>;
3
3
  /**
4
4
  * Get atom by name
package/esm/atom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../src/atom.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAA6B,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/F,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAM,CAAC;AAEnD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,SAAS,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAC7F,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAC3C,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAoLtB;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAEvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAEvD"}
1
+ {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../src/atom.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,WAAW,EAEX,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAM,CAAC;AAEnD;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,GAAG,GAAG,EACX,OAAO,SAAS,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EACvD,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAsMpE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAEvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAEvD"}
package/esm/atom.js CHANGED
@@ -16,11 +16,11 @@ function createAtom(data) {
16
16
  let defaultValue = data.default;
17
17
  let atomValue = data.default;
18
18
  let atomValueIsObject = false;
19
- if (defaultValue && typeof defaultValue === 'object') {
19
+ if (defaultValue && typeof defaultValue === "object") {
20
20
  atomValue = defaultValue = clone(defaultValue);
21
21
  atomValueIsObject = true;
22
22
  }
23
- const atomType = Array.isArray(defaultValue) ? 'array' : typeof defaultValue;
23
+ const atomType = Array.isArray(defaultValue) ? "array" : typeof defaultValue;
24
24
  const atomEvent = `atoms.${data.key}`;
25
25
  const event = (type) => `${atomEvent}.${type}`;
26
26
  const watchers = {};
@@ -73,17 +73,20 @@ function createAtom(data) {
73
73
  return;
74
74
  const oldValue = this.currentValue;
75
75
  let updatedValue;
76
- if (typeof newValue === 'function') {
76
+ if (typeof newValue === "function") {
77
77
  updatedValue = newValue(oldValue, this);
78
78
  }
79
79
  else {
80
80
  updatedValue = newValue;
81
81
  }
82
82
  if (data.beforeUpdate) {
83
- updatedValue = data.beforeUpdate(updatedValue, oldValue, this);
83
+ const beforeUpdateOutput = data.beforeUpdate(updatedValue, oldValue, this);
84
+ if (beforeUpdateOutput !== undefined) {
85
+ updatedValue = beforeUpdateOutput;
86
+ }
84
87
  }
85
88
  this.currentValue = updatedValue;
86
- events.trigger(event('update'), this.currentValue, oldValue, this);
89
+ events.trigger(event("update"), this.currentValue, oldValue, this);
87
90
  if (atomValueIsObject) {
88
91
  for (const key in watchers) {
89
92
  const keyOldValue = get(oldValue, key);
@@ -98,7 +101,7 @@ function createAtom(data) {
98
101
  if (newValue === this.currentValue)
99
102
  return;
100
103
  const oldValue = this.currentValue;
101
- if (typeof newValue === 'function') {
104
+ if (typeof newValue === "function") {
102
105
  newValue = newValue(oldValue, this);
103
106
  }
104
107
  if (data.beforeUpdate) {
@@ -107,10 +110,10 @@ function createAtom(data) {
107
110
  this.currentValue = newValue;
108
111
  },
109
112
  onChange(callback) {
110
- return events.subscribe(event('update'), callback);
113
+ return events.subscribe(event("update"), callback);
111
114
  },
112
115
  onReset(callback) {
113
- return events.subscribe(event('reset'), callback);
116
+ return events.subscribe(event("reset"), callback);
114
117
  },
115
118
  get(key, defaultValue) {
116
119
  if (data.get) {
@@ -121,7 +124,7 @@ function createAtom(data) {
121
124
  return value?.bind ? value.bind(this.currentValue) : value;
122
125
  },
123
126
  destroy() {
124
- events.trigger(event('delete'), this);
127
+ events.trigger(event("delete"), this);
125
128
  events.unsubscribeNamespace(atomEvent);
126
129
  delete atoms[this.key];
127
130
  },
@@ -130,7 +133,7 @@ function createAtom(data) {
130
133
  },
131
134
  reset() {
132
135
  const update = this.update(this.defaultValue);
133
- events.trigger(event('reset'), this);
136
+ events.trigger(event("reset"), this);
134
137
  return update;
135
138
  },
136
139
  /**
@@ -139,12 +142,12 @@ function createAtom(data) {
139
142
  */
140
143
  silentReset() {
141
144
  this.currentValue = clone(this.defaultValue);
142
- events.trigger(event('reset'), this);
145
+ events.trigger(event("reset"), this);
143
146
  return this;
144
147
  },
145
148
  clone() {
146
149
  return createAtom({
147
- key: this.key + 'Cloned' + Random.int(1000, 9999),
150
+ key: this.key + "Cloned" + Random.int(1000, 9999),
148
151
  default: clone(this.currentValue),
149
152
  beforeUpdate: data.beforeUpdate,
150
153
  get: data.get,
@@ -159,7 +162,7 @@ function createAtom(data) {
159
162
  });
160
163
  }
161
164
  if (data.onUpdate) {
162
- events.subscribe(event('update'), data.onUpdate.bind(atom));
165
+ events.subscribe(event("update"), data.onUpdate.bind(atom));
163
166
  }
164
167
  atoms[atomKey] = atom;
165
168
  return atom;
package/esm/atom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"atom.js","sources":["../src/atom.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.js","sources":["../src/atom.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/esm/types.d.ts CHANGED
@@ -20,7 +20,7 @@ export type AtomOptions<Value = any, Actions extends AtomActions<Value> = {}> =
20
20
  /**
21
21
  * Make adjustments on the value before updating the atom
22
22
  */
23
- beforeUpdate?: (newValue: Value, oldValue: Value, atom: Atom<AtomValue<Value>, Actions>) => Value;
23
+ beforeUpdate?: (newValue: Value, oldValue: Value, atom: Atom<AtomValue<Value>, Actions>) => Value | void;
24
24
  /**
25
25
  * Triggered when atom is updated
26
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongez/atom",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "An agnostic state management tool that work with any framework on browser or server",
5
5
  "main": "./cjs/index.js",
6
6
  "author": "hassanzohdy",