Anders Kaseorg
4480963f5a
dict: Remove each method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
fac2c71776
dict: Replace items method with @@iterator method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
9e1343ff8a
dict, lazy_set: Return an iterator from values method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
45d3be5449
dict, lazy_set: Return an iterator from keys method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
61de2e8192
dict: Remove is_empty method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
60fac80c8e
dict, lazy_set: Replace num_items method with size property.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
fe54e73c77
dict, lazy_set: Rename del method to delete, for consistency with Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
0e657756f1
dict: Make set method return value consistent with Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:03 -08:00
Anders Kaseorg
ab61222dd5
dict: Reimplement Dict using Map.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:02 -08:00
Anders Kaseorg
b16222a38b
dict: Remove setdefault method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:02 -08:00
Anders Kaseorg
8872aca907
dict: Remove clone method.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:02 -08:00
Anders Kaseorg
22555f53ad
dict: Remove Dict.from_array.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:02 -08:00
Anders Kaseorg
52765796c2
dict: Remove Dict.from.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-04 12:22:02 -08:00
Anders Kaseorg
e4259d48a5
dict: Assert that Dict is only used with string keys.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-02 20:37:41 -08:00
Tim Abbott
9f72e5fc87
int_dict: Move filter_values helper to dict.
...
This fixes a rebase issue between the int_dict introduction and use
for people.js with the introduce of filter_values on dict.js and use
inside people.js.
2020-01-05 13:18:34 -08:00
Steve Howell
ee3e488e02
js: Extract FoldDict class.
...
We have ~5 years of proof that we'll probably never
extend Dict with more options.
Breaking the classes into makes both a little faster
(no options to check), and we remove some options
in FoldDict that are never used (from/from_array).
A possible next step is to fine-tune the Dict to use
Map internally.
Note that the TypeScript types for FoldDict are now
more specific (requiring string keys). Of course,
this isn't really enforced until we convert other
modules to TS.
2020-01-03 17:19:50 -08:00
Steve Howell
b5d0eab0c6
dict: Add filter_values() method.
...
This method can help us avoid some memory
allocations.
2020-01-02 12:03:45 -08:00
Thomas Ip
1268616ca2
dependencies: Upgrade @typescript-eslint/eslint-plugin to 1.9.0.
...
Updated .eslintrc with new rules.
2019-06-03 12:24:00 -07:00
Thomas Ip
90478fc4b2
typescript: Fix violations of new typescript rules.
2019-04-13 11:42:48 -07:00
Thomas Ip
ea9a74fe24
typescript: Fix violations of existing eslint rules.
2019-04-13 11:38:19 -07:00
Thomas Ip
b8e1b8d6ff
coverage: Bring dict.ts line coverage back to 100%.
...
The delete operator could throw a TypeError when attempting to
remove a non-configurable property, which is rare in practice since
they can only be created using `Object.defineProperty()` and
`Object.freeze()`. We also never uses the output of `del()` anyway.
2019-03-30 17:12:50 -07:00
Thomas Ip
a2872c107e
typescript: Move TS files into JS directory.
...
This is just a code reorganization to avoid making it difficult to
find things as we migrate more file to TypeScript.
2019-03-25 12:11:37 -07:00