@oscarpalmer/atoms 0.50.0 → 0.52.0

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/js/array.js CHANGED
@@ -31,12 +31,11 @@ var findValue = function(type, array, value, key) {
31
31
  return type === "index" ? array.indexOf(value) : array.find((item) => item === value);
32
32
  }
33
33
  if (callbacks.bool != null) {
34
- const index2 = array.findIndex(callbacks.bool);
35
- return type === "index" ? index2 : index2 > -1 ? array[index2] : undefined;
34
+ const index = array.findIndex(callbacks.bool);
35
+ return type === "index" ? index : index > -1 ? array[index] : undefined;
36
36
  }
37
37
  const { length } = array;
38
- let index = 0;
39
- for (;index < length; index += 1) {
38
+ for (let index = 0;index < length; index += 1) {
40
39
  const item = array[index];
41
40
  if (callbacks.key?.(item) === value) {
42
41
  return type === "index" ? index : item;
@@ -59,8 +58,7 @@ var findValues = function(type, array, value, key) {
59
58
  const hasCallback = typeof callbacks?.key === "function";
60
59
  const result = [];
61
60
  const values = hasCallback ? [] : result;
62
- let index = 0;
63
- for (;index < length; index += 1) {
61
+ for (let index = 0;index < length; index += 1) {
64
62
  const item = array[index];
65
63
  const itemValue = hasCallback ? callbacks.key?.(item) : item;
66
64
  if (type === "all" && itemValue === value || type === "unique" && values.indexOf(itemValue) === -1) {
@@ -106,8 +104,7 @@ function groupBy(array, key) {
106
104
  }
107
105
  const grouped = {};
108
106
  const { length } = array;
109
- let index = 0;
110
- for (;index < length; index += 1) {
107
+ for (let index = 0;index < length; index += 1) {
111
108
  const item = array[index];
112
109
  const value = callbacks.key(item);
113
110
  if (value in grouped) {
@@ -127,9 +124,8 @@ function insert(array, index, values) {
127
124
  var insertValues = function(type, array, values, start, deleteCount) {
128
125
  const chunked = chunk(values).reverse();
129
126
  const { length } = chunked;
130
- let index = 0;
131
127
  let returned;
132
- for (;index < length; index += 1) {
128
+ for (let index = 0;index < length; index += 1) {
133
129
  const result = array.splice(start, index === 0 ? deleteCount : 0, ...chunked[index]);
134
130
  if (returned == null) {
135
131
  returned = result;
package/dist/js/array.mjs CHANGED
@@ -31,12 +31,11 @@ var findValue = function(type, array, value, key) {
31
31
  return type === "index" ? array.indexOf(value) : array.find((item) => item === value);
32
32
  }
33
33
  if (callbacks.bool != null) {
34
- const index2 = array.findIndex(callbacks.bool);
35
- return type === "index" ? index2 : index2 > -1 ? array[index2] : undefined;
34
+ const index = array.findIndex(callbacks.bool);
35
+ return type === "index" ? index : index > -1 ? array[index] : undefined;
36
36
  }
37
37
  const { length } = array;
38
- let index = 0;
39
- for (;index < length; index += 1) {
38
+ for (let index = 0;index < length; index += 1) {
40
39
  const item = array[index];
41
40
  if (callbacks.key?.(item) === value) {
42
41
  return type === "index" ? index : item;
@@ -59,8 +58,7 @@ var findValues = function(type, array, value, key) {
59
58
  const hasCallback = typeof callbacks?.key === "function";
60
59
  const result = [];
61
60
  const values = hasCallback ? [] : result;
62
- let index = 0;
63
- for (;index < length; index += 1) {
61
+ for (let index = 0;index < length; index += 1) {
64
62
  const item = array[index];
65
63
  const itemValue = hasCallback ? callbacks.key?.(item) : item;
66
64
  if (type === "all" && itemValue === value || type === "unique" && values.indexOf(itemValue) === -1) {
@@ -106,8 +104,7 @@ function groupBy(array, key) {
106
104
  }
107
105
  const grouped = {};
108
106
  const { length } = array;
109
- let index = 0;
110
- for (;index < length; index += 1) {
107
+ for (let index = 0;index < length; index += 1) {
111
108
  const item = array[index];
112
109
  const value = callbacks.key(item);
113
110
  if (value in grouped) {
@@ -127,9 +124,8 @@ function insert(array, index, values) {
127
124
  var insertValues = function(type, array, values, start, deleteCount) {
128
125
  const chunked = chunk(values).reverse();
129
126
  const { length } = chunked;
130
- let index = 0;
131
127
  let returned;
132
- for (;index < length; index += 1) {
128
+ for (let index = 0;index < length; index += 1) {
133
129
  const result = array.splice(start, index === 0 ? deleteCount : 0, ...chunked[index]);
134
130
  if (returned == null) {
135
131
  returned = result;
package/dist/js/clone.js CHANGED
@@ -54,8 +54,7 @@ var cloneNested = function(value) {
54
54
  const cloned = Array.isArray(value) ? [] : {};
55
55
  const keys = Object.keys(value);
56
56
  const { length } = keys;
57
- let index = 0;
58
- for (;index < length; index += 1) {
57
+ for (let index = 0;index < length; index += 1) {
59
58
  const key = keys[index];
60
59
  cloned[key] = clone(value[key]);
61
60
  }
package/dist/js/clone.mjs CHANGED
@@ -43,8 +43,7 @@ var cloneNested = function(value) {
43
43
  const cloned = Array.isArray(value) ? [] : {};
44
44
  const keys = Object.keys(value);
45
45
  const { length } = keys;
46
- let index = 0;
47
- for (;index < length; index += 1) {
46
+ for (let index = 0;index < length; index += 1) {
48
47
  const key = keys[index];
49
48
  cloned[key] = clone(value[key]);
50
49
  }
@@ -32,8 +32,7 @@ var getValidElements = function(parent, filters, tabbable) {
32
32
  const indiced = [];
33
33
  const zeroed = [];
34
34
  const { length } = items;
35
- let index = 0;
36
- for (;index < length; index += 1) {
35
+ for (let index = 0;index < length; index += 1) {
37
36
  const item = items[index];
38
37
  if (item.tabIndex === 0) {
39
38
  zeroed.push(item.element);
@@ -61,8 +60,7 @@ var isDisabledFromFieldset = function(element) {
61
60
  if (parent instanceof HTMLFieldSetElement && parent.disabled) {
62
61
  const children = Array.from(parent.children);
63
62
  const { length } = children;
64
- let index = 0;
65
- for (;index < length; index += 1) {
63
+ for (let index = 0;index < length; index += 1) {
66
64
  const child = children[index];
67
65
  if (child instanceof HTMLLegendElement) {
68
66
  return parent.matches("fieldset[disabled] *") ? true : !child.contains(element);
@@ -32,8 +32,7 @@ var getValidElements = function(parent, filters, tabbable) {
32
32
  const indiced = [];
33
33
  const zeroed = [];
34
34
  const { length } = items;
35
- let index = 0;
36
- for (;index < length; index += 1) {
35
+ for (let index = 0;index < length; index += 1) {
37
36
  const item = items[index];
38
37
  if (item.tabIndex === 0) {
39
38
  zeroed.push(item.element);
@@ -61,8 +60,7 @@ var isDisabledFromFieldset = function(element) {
61
60
  if (parent instanceof HTMLFieldSetElement && parent.disabled) {
62
61
  const children = Array.from(parent.children);
63
62
  const { length } = children;
64
- let index = 0;
65
- for (;index < length; index += 1) {
63
+ for (let index = 0;index < length; index += 1) {
66
64
  const child = children[index];
67
65
  if (child instanceof HTMLLegendElement) {
68
66
  return parent.matches("fieldset[disabled] *") ? true : !child.contains(element);
@@ -33,9 +33,8 @@ var findElementOrElements = function(selector, context, single) {
33
33
  const result = [];
34
34
  if (typeof selector === "string") {
35
35
  const { length: length2 } = contexts;
36
- let index2 = 0;
37
- for (;index2 < length2; index2 += 1) {
38
- const value = callback.call(contexts[index2], selector);
36
+ for (let index = 0;index < length2; index += 1) {
37
+ const value = callback.call(contexts[index], selector);
39
38
  if (single) {
40
39
  if (value == null) {
41
40
  continue;
@@ -44,12 +43,11 @@ var findElementOrElements = function(selector, context, single) {
44
43
  }
45
44
  result.push(...Array.from(value));
46
45
  }
47
- return single ? undefined : result.filter((value, index3, array) => array.indexOf(value) === index3);
46
+ return single ? undefined : result.filter((value, index, array) => array.indexOf(value) === index);
48
47
  }
49
48
  const nodes = Array.isArray(selector) ? selector : selector instanceof NodeList ? Array.from(selector) : [selector];
50
49
  const { length } = nodes;
51
- let index = 0;
52
- for (;index < length; index += 1) {
50
+ for (let index = 0;index < length; index += 1) {
53
51
  const node = nodes[index];
54
52
  const element = node instanceof Document ? node.body : node instanceof Element ? node : undefined;
55
53
  if (element != null && (context == null || contexts.length === 0 || contexts.some((context2) => context2 === element || context2.contains(element))) && !result.includes(element)) {
@@ -9,9 +9,8 @@ var findElementOrElements = function(selector, context, single) {
9
9
  const result = [];
10
10
  if (typeof selector === "string") {
11
11
  const { length: length2 } = contexts;
12
- let index2 = 0;
13
- for (;index2 < length2; index2 += 1) {
14
- const value = callback.call(contexts[index2], selector);
12
+ for (let index = 0;index < length2; index += 1) {
13
+ const value = callback.call(contexts[index], selector);
15
14
  if (single) {
16
15
  if (value == null) {
17
16
  continue;
@@ -20,12 +19,11 @@ var findElementOrElements = function(selector, context, single) {
20
19
  }
21
20
  result.push(...Array.from(value));
22
21
  }
23
- return single ? undefined : result.filter((value, index3, array) => array.indexOf(value) === index3);
22
+ return single ? undefined : result.filter((value, index, array) => array.indexOf(value) === index);
24
23
  }
25
24
  const nodes = Array.isArray(selector) ? selector : selector instanceof NodeList ? Array.from(selector) : [selector];
26
25
  const { length } = nodes;
27
- let index = 0;
28
- for (;index < length; index += 1) {
26
+ for (let index = 0;index < length; index += 1) {
29
27
  const node = nodes[index];
30
28
  const element = node instanceof Document ? node.body : node instanceof Element ? node : undefined;
31
29
  if (element != null && (context == null || contexts.length === 0 || contexts.some((context2) => context2 === element || context2.contains(element))) && !result.includes(element)) {
@@ -0,0 +1,108 @@
1
+ // src/js/emitter.ts
2
+ var createObserable = function(emitter, observers) {
3
+ const instance = Object.create({
4
+ subscribe(first, second, third) {
5
+ return createSubscription(emitter, observers, getObserver(first, second, third));
6
+ }
7
+ });
8
+ return instance;
9
+ };
10
+ var createSubscription = function(emitter, observers, observer) {
11
+ let closed = false;
12
+ const instance = Object.create({
13
+ unsubscribe() {
14
+ if (!closed) {
15
+ closed = true;
16
+ observers.delete(instance);
17
+ }
18
+ }
19
+ });
20
+ Object.defineProperty(instance, "closed", {
21
+ get() {
22
+ return closed || !emitter.active;
23
+ }
24
+ });
25
+ observers.set(instance, observer);
26
+ observer.next?.(emitter.value);
27
+ return instance;
28
+ };
29
+ var getObserver = function(first, second, third) {
30
+ let observer;
31
+ if (typeof first === "object") {
32
+ observer = first;
33
+ } else {
34
+ observer = {
35
+ error: second,
36
+ next: first,
37
+ complete: third
38
+ };
39
+ }
40
+ return observer;
41
+ };
42
+ function emitter(value) {
43
+ let active = true;
44
+ let stored = value;
45
+ function finish(emit) {
46
+ if (active) {
47
+ active = false;
48
+ for (const [subscription, observer] of observers) {
49
+ if (emit) {
50
+ observer.complete?.();
51
+ }
52
+ subscription.unsubscribe();
53
+ }
54
+ }
55
+ }
56
+ const observers = new Map;
57
+ const instance = Object.create({
58
+ destroy() {
59
+ finish(false);
60
+ },
61
+ emit(value2, complete) {
62
+ if (active) {
63
+ stored = value2;
64
+ for (const [, observer] of observers) {
65
+ observer.next?.(value2);
66
+ }
67
+ if (complete === true) {
68
+ finish(true);
69
+ }
70
+ }
71
+ },
72
+ error(error, complete) {
73
+ if (active) {
74
+ for (const [, observer] of observers) {
75
+ observer.error?.(error);
76
+ }
77
+ if (complete === true) {
78
+ finish(true);
79
+ }
80
+ }
81
+ },
82
+ finish() {
83
+ finish(true);
84
+ }
85
+ });
86
+ const observable = createObserable(instance, observers);
87
+ Object.defineProperties(instance, {
88
+ active: {
89
+ get() {
90
+ return active;
91
+ }
92
+ },
93
+ observable: {
94
+ get() {
95
+ return observable;
96
+ }
97
+ },
98
+ value: {
99
+ get() {
100
+ return stored;
101
+ }
102
+ }
103
+ });
104
+ return instance;
105
+ }
106
+ export {
107
+ emitter
108
+ };
@@ -0,0 +1,108 @@
1
+ // src/js/emitter.ts
2
+ var createObserable = function(emitter, observers) {
3
+ const instance = Object.create({
4
+ subscribe(first, second, third) {
5
+ return createSubscription(emitter, observers, getObserver(first, second, third));
6
+ }
7
+ });
8
+ return instance;
9
+ };
10
+ var createSubscription = function(emitter, observers, observer) {
11
+ let closed = false;
12
+ const instance = Object.create({
13
+ unsubscribe() {
14
+ if (!closed) {
15
+ closed = true;
16
+ observers.delete(instance);
17
+ }
18
+ }
19
+ });
20
+ Object.defineProperty(instance, "closed", {
21
+ get() {
22
+ return closed || !emitter.active;
23
+ }
24
+ });
25
+ observers.set(instance, observer);
26
+ observer.next?.(emitter.value);
27
+ return instance;
28
+ };
29
+ var getObserver = function(first, second, third) {
30
+ let observer;
31
+ if (typeof first === "object") {
32
+ observer = first;
33
+ } else {
34
+ observer = {
35
+ error: second,
36
+ next: first,
37
+ complete: third
38
+ };
39
+ }
40
+ return observer;
41
+ };
42
+ function emitter(value) {
43
+ let active = true;
44
+ let stored = value;
45
+ function finish(emit) {
46
+ if (active) {
47
+ active = false;
48
+ for (const [subscription, observer] of observers) {
49
+ if (emit) {
50
+ observer.complete?.();
51
+ }
52
+ subscription.unsubscribe();
53
+ }
54
+ }
55
+ }
56
+ const observers = new Map;
57
+ const instance = Object.create({
58
+ destroy() {
59
+ finish(false);
60
+ },
61
+ emit(value2, complete) {
62
+ if (active) {
63
+ stored = value2;
64
+ for (const [, observer] of observers) {
65
+ observer.next?.(value2);
66
+ }
67
+ if (complete === true) {
68
+ finish(true);
69
+ }
70
+ }
71
+ },
72
+ error(error, complete) {
73
+ if (active) {
74
+ for (const [, observer] of observers) {
75
+ observer.error?.(error);
76
+ }
77
+ if (complete === true) {
78
+ finish(true);
79
+ }
80
+ }
81
+ },
82
+ finish() {
83
+ finish(true);
84
+ }
85
+ });
86
+ const observable = createObserable(instance, observers);
87
+ Object.defineProperties(instance, {
88
+ active: {
89
+ get() {
90
+ return active;
91
+ }
92
+ },
93
+ observable: {
94
+ get() {
95
+ return observable;
96
+ }
97
+ },
98
+ value: {
99
+ get() {
100
+ return stored;
101
+ }
102
+ }
103
+ });
104
+ return instance;
105
+ }
106
+ export {
107
+ emitter
108
+ };
package/dist/js/equal.js CHANGED
@@ -19,7 +19,7 @@ function equal(first, second) {
19
19
  case (first instanceof ArrayBuffer && second instanceof ArrayBuffer):
20
20
  return equalArrayBuffer(first, second);
21
21
  case typeof first === "boolean":
22
- case first instanceof Date:
22
+ case (first instanceof Date && second instanceof Date):
23
23
  return Object.is(Number(first), Number(second));
24
24
  case (first instanceof DataView && second instanceof DataView):
25
25
  return equalDataView(first, second);
package/dist/js/equal.mjs CHANGED
@@ -11,7 +11,7 @@ function equal(first, second) {
11
11
  case (first instanceof ArrayBuffer && second instanceof ArrayBuffer):
12
12
  return equalArrayBuffer(first, second);
13
13
  case typeof first === "boolean":
14
- case first instanceof Date:
14
+ case (first instanceof Date && second instanceof Date):
15
15
  return Object.is(Number(first), Number(second));
16
16
  case (first instanceof DataView && second instanceof DataView):
17
17
  return equalDataView(first, second);
@@ -0,0 +1,6 @@
1
+ // src/js/function.ts
2
+ function noop() {
3
+ }
4
+ export {
5
+ noop
6
+ };
@@ -0,0 +1,6 @@
1
+ // src/js/function.ts
2
+ function noop() {
3
+ }
4
+ export {
5
+ noop
6
+ };