@jupyterlab/observables 5.0.0-alpha.8 → 5.0.0-beta.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/lib/modeldb.d.ts +1 -1
- package/lib/observablejson.js.map +1 -1
- package/lib/observablelist.d.ts +9 -22
- package/lib/observablelist.js +13 -13
- package/lib/observablelist.js.map +1 -1
- package/lib/undoablelist.js +16 -17
- package/lib/undoablelist.js.map +1 -1
- package/package.json +13 -13
- package/src/index.ts +15 -0
- package/src/modeldb.ts +595 -0
- package/src/observablejson.ts +98 -0
- package/src/observablelist.ts +719 -0
- package/src/observablemap.ts +354 -0
- package/src/observablestring.ts +227 -0
- package/src/undoablelist.ts +308 -0
package/lib/modeldb.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { IObservableUndoableList } from './undoablelist';
|
|
|
9
9
|
* String type annotations for Observable objects that can be
|
|
10
10
|
* created and placed in the IModelDB interface.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export type ObservableType = 'Map' | 'List' | 'String' | 'Value';
|
|
13
13
|
/**
|
|
14
14
|
* Base interface for Observable objects.
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observablejson.js","sourceRoot":"","sources":["../src/observablejson.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EACL,OAAO,EAIR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAkB,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"observablejson.js","sourceRoot":"","sources":["../src/observablejson.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EACL,OAAO,EAIR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAkB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAwBhE;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAuC;IACzE;;OAEG;IACH,YAAY,UAAmC,EAAE;QAC/C,KAAK,CAAC;YACJ,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,GAAG,GAAsB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB,CAAC;aACzD;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED;;GAEG;AACH,WAAiB,cAAc;IAW7B;;OAEG;IACH,MAAa,aAAc,SAAQ,OAAO;QACxC;;WAEG;QACH,YAAY,IAAY,EAAE,IAAkC;YAC1D,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;KAMF;IAbY,4BAAa,gBAazB,CAAA;AACH,CAAC,EA5BgB,cAAc,KAAd,cAAc,QA4B9B"}
|
package/lib/observablelist.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { IIterator, IterableOrArrayLike } from '@lumino/algorithm';
|
|
2
1
|
import { IDisposable } from '@lumino/disposable';
|
|
3
2
|
import { ISignal } from '@lumino/signaling';
|
|
4
3
|
/**
|
|
5
4
|
* A list which can be observed for changes.
|
|
6
5
|
*/
|
|
7
|
-
export interface IObservableList<T> extends IDisposable {
|
|
6
|
+
export interface IObservableList<T> extends IDisposable, Iterable<T> {
|
|
8
7
|
/**
|
|
9
8
|
* A signal emitted when the list has changed.
|
|
10
9
|
*/
|
|
@@ -20,18 +19,6 @@ export interface IObservableList<T> extends IDisposable {
|
|
|
20
19
|
* This is a read-only property.
|
|
21
20
|
*/
|
|
22
21
|
length: number;
|
|
23
|
-
/**
|
|
24
|
-
* Create an iterator over the values in the list.
|
|
25
|
-
*
|
|
26
|
-
* @returns A new iterator starting at the front of the list.
|
|
27
|
-
*
|
|
28
|
-
* #### Complexity
|
|
29
|
-
* Constant.
|
|
30
|
-
*
|
|
31
|
-
* #### Iterator Validity
|
|
32
|
-
* No changes.
|
|
33
|
-
*/
|
|
34
|
-
iter(): IIterator<T>;
|
|
35
22
|
/**
|
|
36
23
|
* Remove all values from the list.
|
|
37
24
|
*
|
|
@@ -92,7 +79,7 @@ export interface IObservableList<T> extends IDisposable {
|
|
|
92
79
|
* #### Undefined Behavior.
|
|
93
80
|
* An `index` which is non-integral.
|
|
94
81
|
*/
|
|
95
|
-
insertAll(index: number, values:
|
|
82
|
+
insertAll(index: number, values: Iterable<T>): void;
|
|
96
83
|
/**
|
|
97
84
|
* Move a value from one index to another.
|
|
98
85
|
*
|
|
@@ -128,7 +115,7 @@ export interface IObservableList<T> extends IDisposable {
|
|
|
128
115
|
/**
|
|
129
116
|
* Push a set of values to the back of the list.
|
|
130
117
|
*
|
|
131
|
-
* @param values - An iterable
|
|
118
|
+
* @param values - An iterable set of values to add.
|
|
132
119
|
*
|
|
133
120
|
* @returns The new length of the list.
|
|
134
121
|
*
|
|
@@ -138,7 +125,7 @@ export interface IObservableList<T> extends IDisposable {
|
|
|
138
125
|
* #### Iterator Validity
|
|
139
126
|
* No changes.
|
|
140
127
|
*/
|
|
141
|
-
pushAll(values:
|
|
128
|
+
pushAll(values: Iterable<T>): number;
|
|
142
129
|
/**
|
|
143
130
|
* Remove and return the value at a specific index.
|
|
144
131
|
*
|
|
@@ -304,7 +291,7 @@ export declare class ObservableList<T> implements IObservableList<T> {
|
|
|
304
291
|
* #### Iterator Validity
|
|
305
292
|
* No changes.
|
|
306
293
|
*/
|
|
307
|
-
|
|
294
|
+
[Symbol.iterator](): IterableIterator<T>;
|
|
308
295
|
/**
|
|
309
296
|
* Get the value at the specified index.
|
|
310
297
|
*
|
|
@@ -441,7 +428,7 @@ export declare class ObservableList<T> implements IObservableList<T> {
|
|
|
441
428
|
/**
|
|
442
429
|
* Push a set of values to the back of the list.
|
|
443
430
|
*
|
|
444
|
-
* @param values - An iterable
|
|
431
|
+
* @param values - An iterable set of values to add.
|
|
445
432
|
*
|
|
446
433
|
* @returns The new length of the list.
|
|
447
434
|
*
|
|
@@ -455,7 +442,7 @@ export declare class ObservableList<T> implements IObservableList<T> {
|
|
|
455
442
|
* #### Iterator Validity
|
|
456
443
|
* No changes.
|
|
457
444
|
*/
|
|
458
|
-
pushAll(values:
|
|
445
|
+
pushAll(values: Iterable<T>): number;
|
|
459
446
|
/**
|
|
460
447
|
* Insert a set of items into the list at the specified index.
|
|
461
448
|
*
|
|
@@ -477,7 +464,7 @@ export declare class ObservableList<T> implements IObservableList<T> {
|
|
|
477
464
|
* #### Undefined Behavior.
|
|
478
465
|
* An `index` which is non-integral.
|
|
479
466
|
*/
|
|
480
|
-
insertAll(index: number, values:
|
|
467
|
+
insertAll(index: number, values: Iterable<T>): void;
|
|
481
468
|
/**
|
|
482
469
|
* Remove a range of items from the list.
|
|
483
470
|
*
|
|
@@ -513,7 +500,7 @@ export declare namespace ObservableList {
|
|
|
513
500
|
/**
|
|
514
501
|
* An optional initial set of values.
|
|
515
502
|
*/
|
|
516
|
-
values?:
|
|
503
|
+
values?: Iterable<T>;
|
|
517
504
|
/**
|
|
518
505
|
* The item comparison function for change detection on `set`.
|
|
519
506
|
*
|
package/lib/observablelist.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { ArrayExt
|
|
3
|
+
import { ArrayExt } from '@lumino/algorithm';
|
|
4
4
|
import { Signal } from '@lumino/signaling';
|
|
5
5
|
/**
|
|
6
6
|
* A concrete implementation of [[IObservableList]].
|
|
@@ -13,10 +13,10 @@ export class ObservableList {
|
|
|
13
13
|
this._array = [];
|
|
14
14
|
this._isDisposed = false;
|
|
15
15
|
this._changed = new Signal(this);
|
|
16
|
-
if (options.values
|
|
17
|
-
|
|
16
|
+
if (options.values) {
|
|
17
|
+
for (const value of options.values) {
|
|
18
18
|
this._array.push(value);
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
}
|
|
21
21
|
this._itemCmp = options.itemCmp || Private.itemCmp;
|
|
22
22
|
}
|
|
@@ -66,8 +66,8 @@ export class ObservableList {
|
|
|
66
66
|
* #### Iterator Validity
|
|
67
67
|
* No changes.
|
|
68
68
|
*/
|
|
69
|
-
|
|
70
|
-
return
|
|
69
|
+
[Symbol.iterator]() {
|
|
70
|
+
return this._array[Symbol.iterator]();
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* Get the value at the specified index.
|
|
@@ -292,7 +292,7 @@ export class ObservableList {
|
|
|
292
292
|
/**
|
|
293
293
|
* Push a set of values to the back of the list.
|
|
294
294
|
*
|
|
295
|
-
* @param values - An iterable
|
|
295
|
+
* @param values - An iterable set of values to add.
|
|
296
296
|
*
|
|
297
297
|
* @returns The new length of the list.
|
|
298
298
|
*
|
|
@@ -308,15 +308,15 @@ export class ObservableList {
|
|
|
308
308
|
*/
|
|
309
309
|
pushAll(values) {
|
|
310
310
|
const newIndex = this.length;
|
|
311
|
-
|
|
311
|
+
for (const value of values) {
|
|
312
312
|
this._array.push(value);
|
|
313
|
-
}
|
|
313
|
+
}
|
|
314
314
|
this._changed.emit({
|
|
315
315
|
type: 'add',
|
|
316
316
|
oldIndex: -1,
|
|
317
317
|
newIndex,
|
|
318
318
|
oldValues: [],
|
|
319
|
-
newValues:
|
|
319
|
+
newValues: Array.from(values)
|
|
320
320
|
});
|
|
321
321
|
return this.length;
|
|
322
322
|
}
|
|
@@ -343,15 +343,15 @@ export class ObservableList {
|
|
|
343
343
|
*/
|
|
344
344
|
insertAll(index, values) {
|
|
345
345
|
const newIndex = index;
|
|
346
|
-
|
|
346
|
+
for (const value of values) {
|
|
347
347
|
ArrayExt.insert(this._array, index++, value);
|
|
348
|
-
}
|
|
348
|
+
}
|
|
349
349
|
this._changed.emit({
|
|
350
350
|
type: 'add',
|
|
351
351
|
oldIndex: -2,
|
|
352
352
|
newIndex,
|
|
353
353
|
oldValues: [],
|
|
354
|
-
newValues:
|
|
354
|
+
newValues: Array.from(values)
|
|
355
355
|
});
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observablelist.js","sourceRoot":"","sources":["../src/observablelist.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"observablelist.js","sourceRoot":"","sources":["../src/observablelist.ts"],"names":[],"mappings":"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"}
|
package/lib/undoablelist.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { each } from '@lumino/algorithm';
|
|
4
3
|
import { ObservableList } from './observablelist';
|
|
5
4
|
/**
|
|
6
5
|
* A concrete implementation of an observable undoable list.
|
|
@@ -125,21 +124,21 @@ export class ObservableUndoableList extends ObservableList {
|
|
|
125
124
|
const serializer = this._serializer;
|
|
126
125
|
switch (change.type) {
|
|
127
126
|
case 'add':
|
|
128
|
-
|
|
127
|
+
for (let length = change.newValues.length; length > 0; length--) {
|
|
129
128
|
this.remove(change.newIndex);
|
|
130
|
-
}
|
|
129
|
+
}
|
|
131
130
|
break;
|
|
132
131
|
case 'set':
|
|
133
132
|
index = change.oldIndex;
|
|
134
|
-
|
|
133
|
+
for (const value of change.oldValues) {
|
|
135
134
|
this.set(index++, serializer.fromJSON(value));
|
|
136
|
-
}
|
|
135
|
+
}
|
|
137
136
|
break;
|
|
138
137
|
case 'remove':
|
|
139
138
|
index = change.oldIndex;
|
|
140
|
-
|
|
139
|
+
for (const value of change.oldValues) {
|
|
141
140
|
this.insert(index++, serializer.fromJSON(value));
|
|
142
|
-
}
|
|
141
|
+
}
|
|
143
142
|
break;
|
|
144
143
|
case 'move':
|
|
145
144
|
this.move(change.newIndex, change.oldIndex);
|
|
@@ -157,20 +156,20 @@ export class ObservableUndoableList extends ObservableList {
|
|
|
157
156
|
switch (change.type) {
|
|
158
157
|
case 'add':
|
|
159
158
|
index = change.newIndex;
|
|
160
|
-
|
|
159
|
+
for (const value of change.newValues) {
|
|
161
160
|
this.insert(index++, serializer.fromJSON(value));
|
|
162
|
-
}
|
|
161
|
+
}
|
|
163
162
|
break;
|
|
164
163
|
case 'set':
|
|
165
164
|
index = change.newIndex;
|
|
166
|
-
|
|
165
|
+
for (const value of change.newValues) {
|
|
167
166
|
this.set(change.newIndex++, serializer.fromJSON(value));
|
|
168
|
-
}
|
|
167
|
+
}
|
|
169
168
|
break;
|
|
170
169
|
case 'remove':
|
|
171
|
-
|
|
170
|
+
for (let length = change.oldValues.length; length > 0; length--) {
|
|
172
171
|
this.remove(change.oldIndex);
|
|
173
|
-
}
|
|
172
|
+
}
|
|
174
173
|
break;
|
|
175
174
|
case 'move':
|
|
176
175
|
this.move(change.oldIndex, change.newIndex);
|
|
@@ -184,13 +183,13 @@ export class ObservableUndoableList extends ObservableList {
|
|
|
184
183
|
*/
|
|
185
184
|
_copyChange(change) {
|
|
186
185
|
const oldValues = [];
|
|
187
|
-
|
|
186
|
+
for (const value of change.oldValues) {
|
|
188
187
|
oldValues.push(this._serializer.toJSON(value));
|
|
189
|
-
}
|
|
188
|
+
}
|
|
190
189
|
const newValues = [];
|
|
191
|
-
|
|
190
|
+
for (const value of change.newValues) {
|
|
192
191
|
newValues.push(this._serializer.toJSON(value));
|
|
193
|
-
}
|
|
192
|
+
}
|
|
194
193
|
return {
|
|
195
194
|
type: change.type,
|
|
196
195
|
oldIndex: change.oldIndex,
|
package/lib/undoablelist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undoablelist.js","sourceRoot":"","sources":["../src/undoablelist.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;
|
|
1
|
+
{"version":3,"file":"undoablelist.js","sourceRoot":"","sources":["../src/undoablelist.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/observables",
|
|
3
|
-
"version": "5.0.0-
|
|
3
|
+
"version": "5.0.0-beta.0",
|
|
4
4
|
"description": "Data structures which may be observed for changes.",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
25
|
-
"style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
|
|
25
|
+
"style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
|
|
26
|
+
"src/**/*.{ts,tsx}"
|
|
26
27
|
],
|
|
27
28
|
"scripts": {
|
|
28
29
|
"build": "tsc -b",
|
|
@@ -36,20 +37,19 @@
|
|
|
36
37
|
"watch": "tsc -b --watch"
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
|
-
"@lumino/algorithm": "^
|
|
40
|
-
"@lumino/coreutils": "^
|
|
41
|
-
"@lumino/disposable": "^
|
|
42
|
-
"@lumino/messaging": "^
|
|
43
|
-
"@lumino/signaling": "^
|
|
40
|
+
"@lumino/algorithm": "^2.0.0",
|
|
41
|
+
"@lumino/coreutils": "^2.0.0",
|
|
42
|
+
"@lumino/disposable": "^2.0.0",
|
|
43
|
+
"@lumino/messaging": "^2.0.0",
|
|
44
|
+
"@lumino/signaling": "^2.0.0"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
|
-
"@jupyterlab/
|
|
47
|
-
"@types/jest": "^
|
|
48
|
-
"jest": "^
|
|
47
|
+
"@jupyterlab/testing": "^4.0.0-beta.0",
|
|
48
|
+
"@types/jest": "^29.2.0",
|
|
49
|
+
"jest": "^29.2.0",
|
|
49
50
|
"rimraf": "~3.0.0",
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"typescript": "~4.5.2"
|
|
51
|
+
"typedoc": "~0.23.25",
|
|
52
|
+
"typescript": "~5.0.2"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* -----------------------------------------------------------------------------
|
|
2
|
+
| Copyright (c) Jupyter Development Team.
|
|
3
|
+
| Distributed under the terms of the Modified BSD License.
|
|
4
|
+
|----------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module observables
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export * from './modeldb';
|
|
11
|
+
export * from './observablejson';
|
|
12
|
+
export * from './observablelist';
|
|
13
|
+
export * from './observablemap';
|
|
14
|
+
export * from './observablestring';
|
|
15
|
+
export * from './undoablelist';
|