subay 0.0.13 → 0.1.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.
@@ -121,7 +121,7 @@
121
121
  <script type="importmap">
122
122
  {
123
123
  "imports": {
124
- "subay": "../lib/index.dev.js"
124
+ "subay": "../lib/dev.js"
125
125
  }
126
126
  }
127
127
  </script>
@@ -177,20 +177,13 @@
177
177
  * @returns {Array<Node>}
178
178
  */
179
179
  const TodoList = (todos, onToggle, onDelete) => {
180
- if (todos().length === 0) {
181
- return html` <div class="empty-state">No todos yet. Add your first todo!</div> `;
182
- }
183
-
184
180
  return html`
181
+ ${() =>
182
+ todos().length === 0 ? html` <div class="empty-state">No todos yet. Add your first todo!</div> ` : []}
185
183
  <ul class="todo-list">
186
184
  ${map(
187
185
  () => todos(),
188
- (todo) =>
189
- html`<${TodoItem}
190
- todo="${todo}"
191
- onToggle="${onToggle}"
192
- onDelete="${onDelete}"
193
- ></${TodoItem}> `,
186
+ (todo) => TodoItem(todo, onToggle, onDelete),
194
187
  )}
195
188
  </ul>
196
189
  `;
@@ -266,15 +259,7 @@
266
259
  return html`
267
260
  <div>
268
261
  <h1>Todo App</h1>
269
- <${TodoForm}
270
- newTodoText="${newTodoText}"
271
- onAddTodo="${handleAddTodo}"
272
- ></${TodoForm}>
273
- <${TodoList}
274
- todos="${todos}"
275
- onToggle="${handleToggleTodo}"
276
- onDelete="${handleDeleteTodo}"
277
- ></${TodoList}>
262
+ ${() => TodoForm(newTodoText, handleAddTodo)} ${() => TodoList(todos, handleToggleTodo, handleDeleteTodo)}
278
263
  </div>
279
264
  `;
280
265
  };
package/lib/arr.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const arr: <T>(aKeys: readonly T[], bKeys: readonly T[], onDelete: (item: T) => void, onCreate: (item: T) => void, onRemain: (item: T) => void, onLocate: (item: T) => void) => void;
2
+ //# sourceMappingURL=arr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arr.d.ts","sourceRoot":"","sources":["../src/arr.ts"],"names":[],"mappings":"AAiQA,eAAO,MAAM,GAAG,GAAI,CAAC,EACjB,OAAO,SAAS,CAAC,EAAE,EACnB,OAAO,SAAS,CAAC,EAAE,EACnB,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAC5B,IA0FF,CAAC"}
package/lib/arr.js ADDED
@@ -0,0 +1,122 @@
1
+ export const arr = (aKeys, bKeys, onDelete, onCreate, onRemain, onLocate) => {
2
+ const bLength = bKeys.length;
3
+ const aLength = aKeys.length;
4
+ if (bLength === 0) {
5
+ if (aLength > 0) {
6
+ aKeys.forEach(onDelete);
7
+ }
8
+ }
9
+ else if (aLength === 0) {
10
+ bKeys.forEach(onCreate);
11
+ }
12
+ else {
13
+ let aEnd = aLength - 1;
14
+ let bEnd = bLength - 1;
15
+ let start = 0;
16
+ while (start <= aEnd && start <= bEnd && aKeys[start] === bKeys[start]) {
17
+ onRemain(aKeys[start++]);
18
+ }
19
+ while (start <= aEnd && start <= bEnd && aKeys[aEnd] === bKeys[bEnd]) {
20
+ aEnd--;
21
+ bEnd--;
22
+ }
23
+ if (start > aEnd) {
24
+ while (start <= bEnd) {
25
+ onCreate(bKeys[start++]);
26
+ }
27
+ }
28
+ else if (start > bEnd) {
29
+ while (start <= aEnd) {
30
+ onDelete(aKeys[start++]);
31
+ }
32
+ }
33
+ else {
34
+ const bLength = bEnd - start + 1;
35
+ const sources = new Int32Array(bLength);
36
+ const keyIndex = new Map();
37
+ for (let i = 0, j = start; i < bLength; i++, j++) {
38
+ sources[i] = -1;
39
+ keyIndex.set(bKeys[j], j);
40
+ }
41
+ let nodePosition = 0;
42
+ for (let i = start; i <= aEnd; i++) {
43
+ const nextPosition = keyIndex.get(aKeys[i]);
44
+ if (nextPosition !== void 0) {
45
+ nodePosition = nodePosition < nextPosition ? nextPosition : 1073741823;
46
+ sources[nextPosition - start] = i;
47
+ }
48
+ else {
49
+ onDelete(aKeys[i]);
50
+ }
51
+ }
52
+ if (nodePosition === 1073741823) {
53
+ markLIS(sources);
54
+ }
55
+ for (let i = 0; i < bLength; i++) {
56
+ const bNode = bKeys[start + i];
57
+ const lisValue = sources[i];
58
+ if (lisValue === -1) {
59
+ onCreate(bNode);
60
+ }
61
+ else if (nodePosition === 1073741823 && lisValue !== -2) {
62
+ onLocate(bNode);
63
+ }
64
+ else {
65
+ onRemain(bNode);
66
+ }
67
+ }
68
+ }
69
+ for (let i = 1; i + aEnd < aLength; i++) {
70
+ onRemain(aKeys[i + aEnd]);
71
+ }
72
+ }
73
+ };
74
+ const markLIS = (a) => {
75
+ const length = a.length;
76
+ const parent = new Int32Array(length);
77
+ const index = new Int32Array(length);
78
+ let indexLength = 0;
79
+ let i = 0;
80
+ let j;
81
+ let k;
82
+ let lo;
83
+ let hi;
84
+ while (a[i] === -1)
85
+ i++;
86
+ index[0] = i++;
87
+ for (; i < length; i++) {
88
+ k = a[i];
89
+ if (k !== -1) {
90
+ j = index[indexLength];
91
+ if (a[j] < k) {
92
+ parent[i] = j;
93
+ index[++indexLength] = i;
94
+ }
95
+ else {
96
+ lo = 0;
97
+ hi = indexLength;
98
+ while (lo < hi) {
99
+ j = (lo + hi) >> 1;
100
+ if (a[index[j]] < k) {
101
+ lo = j + 1;
102
+ }
103
+ else {
104
+ hi = j;
105
+ }
106
+ }
107
+ if (k < a[index[lo]]) {
108
+ if (lo > 0) {
109
+ parent[i] = index[lo - 1];
110
+ }
111
+ index[lo] = i;
112
+ }
113
+ }
114
+ }
115
+ }
116
+ j = index[indexLength];
117
+ while (indexLength-- >= 0) {
118
+ a[j] = -2;
119
+ j = parent[j];
120
+ }
121
+ };
122
+ //# sourceMappingURL=arr.js.map
package/lib/arr.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arr.js","sourceRoot":"","sources":["../src/arr.ts"],"names":[],"mappings":"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"}
package/lib/h.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AAsYA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAoDrE,CAAC;AAkIF,eAAO,MAAM,GAAG,aAdD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAmB3D,CAAC;AACF,eAAO,MAAM,IAAI,aApBF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAyB3D,CAAC"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AA+MA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAkDrE,CAAC;AA+FF,eAAO,MAAM,GAAG,aAVD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAa3D,CAAC;AACF,eAAO,MAAM,IAAI,aAdF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAc+C,CAAC"}