Skip to content

feat: improve tasks description #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions JavaScript/Tasks.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Facade tasks

1. Analize `1-prototype.js` and improve to be compatible with frontend and backend (node.js)
2. Make implementation from `2-class.js` compatible with Map interface and prepare .d.ts
1. Analyze `1-prototype.js` and implement a facade over Timers to be compatible with frontend and backend (Node.js).
2. Make implementation from `2-class.js` compatible with [Map interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and prepare .d.ts files.
3. Improve implementation in `3-function.js` to be mix-ins free and better optimized for V8. Hint: return object literal from `timeoutCollection`
4. Rewrite `3-function.js` to avoid setTimeout and use collection of expitation time instead
4. Rewrite `3-function.js` to avoid setTimeout for every key. Hint: manually track ttl of each key on every access. Optionally, add a global flush timer for all keys.
5. Fix eslint warning for `4-scheduler.js` with message `Expected this to be used by class method log`, adding constructor for `Logger` class to pass instance of `Console`, pass mentioned instance to `new Scheduler({ options: { output: Console } })`
6. Remove `Task` constructor: remove if statement and use either two methods or two subclasses as well for `Scheduler` method `task`