@zajno/common 2.0.3 → 2.0.4
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/abstractions → abstractions}/controllers/IPluggableController.d.ts +0 -0
- package/{lib/abstractions → abstractions}/controllers/IPluggableController.d.ts.map +0 -0
- package/{lib/abstractions → abstractions}/controllers/IPluggableController.js +0 -0
- package/{lib/abstractions → abstractions}/controllers/IPluggableController.js.map +0 -0
- package/{lib/async → async}/arrays.d.ts +0 -0
- package/{lib/async → async}/arrays.d.ts.map +0 -0
- package/{lib/async → async}/arrays.extend.d.ts +0 -0
- package/{lib/async → async}/arrays.extend.d.ts.map +0 -0
- package/{lib/async → async}/arrays.extend.js +0 -0
- package/{lib/async → async}/arrays.extend.js.map +0 -0
- package/{lib/async → async}/arrays.js +0 -0
- package/{lib/async → async}/arrays.js.map +0 -0
- package/{lib/async → async}/misc.d.ts +0 -0
- package/{lib/async → async}/misc.d.ts.map +0 -0
- package/{lib/async → async}/misc.js +0 -0
- package/{lib/async → async}/misc.js.map +0 -0
- package/{lib/async → async}/timeout.d.ts +0 -0
- package/{lib/async → async}/timeout.d.ts.map +0 -0
- package/{lib/async → async}/timeout.js +0 -0
- package/{lib/async → async}/timeout.js.map +0 -0
- package/{lib/controllers → controllers}/PluggableController.d.ts +0 -0
- package/{lib/controllers → controllers}/PluggableController.d.ts.map +0 -0
- package/{lib/controllers → controllers}/PluggableController.js +0 -0
- package/{lib/controllers → controllers}/PluggableController.js.map +0 -0
- package/{lib/dates → dates}/calc.d.ts +0 -0
- package/{lib/dates → dates}/calc.d.ts.map +0 -0
- package/{lib/dates → dates}/calc.js +0 -0
- package/{lib/dates → dates}/calc.js.map +0 -0
- package/{lib/dates → dates}/convert.d.ts +0 -0
- package/{lib/dates → dates}/convert.d.ts.map +0 -0
- package/{lib/dates → dates}/convert.js +0 -0
- package/{lib/dates → dates}/convert.js.map +0 -0
- package/{lib/dates → dates}/datex.d.ts +0 -0
- package/{lib/dates → dates}/datex.d.ts.map +0 -0
- package/{lib/dates → dates}/datex.js +0 -0
- package/{lib/dates → dates}/datex.js.map +0 -0
- package/{lib/dates → dates}/format.d.ts +0 -0
- package/{lib/dates → dates}/format.d.ts.map +0 -0
- package/{lib/dates → dates}/format.js +0 -0
- package/{lib/dates → dates}/format.js.map +0 -0
- package/{lib/dates → dates}/index.d.ts +0 -0
- package/{lib/dates → dates}/index.d.ts.map +0 -0
- package/{lib/dates → dates}/index.js +0 -0
- package/{lib/dates → dates}/index.js.map +0 -0
- package/{lib/dates → dates}/parse.d.ts +0 -0
- package/{lib/dates → dates}/parse.d.ts.map +0 -0
- package/{lib/dates → dates}/parse.js +0 -0
- package/{lib/dates → dates}/parse.js.map +0 -0
- package/{lib/dates → dates}/period.d.ts +0 -0
- package/{lib/dates → dates}/period.d.ts.map +0 -0
- package/{lib/dates → dates}/period.js +0 -0
- package/{lib/dates → dates}/period.js.map +0 -0
- package/{lib/dates → dates}/shift.d.ts +0 -0
- package/{lib/dates → dates}/shift.d.ts.map +0 -0
- package/{lib/dates → dates}/shift.js +0 -0
- package/{lib/dates → dates}/shift.js.map +0 -0
- package/{lib/dates → dates}/types.d.ts +0 -0
- package/{lib/dates → dates}/types.d.ts.map +0 -0
- package/{lib/dates → dates}/types.js +0 -0
- package/{lib/dates → dates}/types.js.map +0 -0
- package/{lib/dates → dates}/yearDate.d.ts +0 -0
- package/{lib/dates → dates}/yearDate.d.ts.map +0 -0
- package/{lib/dates → dates}/yearDate.js +0 -0
- package/{lib/dates → dates}/yearDate.js.map +0 -0
- package/{lib/fields → fields}/filter.d.ts +0 -0
- package/{lib/fields → fields}/filter.d.ts.map +0 -0
- package/{lib/fields → fields}/filter.js +0 -0
- package/{lib/fields → fields}/filter.js.map +0 -0
- package/{lib/fields → fields}/index.d.ts +0 -0
- package/{lib/fields → fields}/index.d.ts.map +0 -0
- package/{lib/fields → fields}/index.js +0 -0
- package/{lib/fields → fields}/index.js.map +0 -0
- package/{lib/fields → fields}/transfer.d.ts +0 -0
- package/{lib/fields → fields}/transfer.d.ts.map +0 -0
- package/{lib/fields → fields}/transfer.js +0 -0
- package/{lib/fields → fields}/transfer.js.map +0 -0
- package/{lib/fields → fields}/update.d.ts +0 -0
- package/{lib/fields → fields}/update.d.ts.map +0 -0
- package/{lib/fields → fields}/update.js +0 -0
- package/{lib/fields → fields}/update.js.map +0 -0
- package/{lib/functions → functions}/assert.d.ts +0 -0
- package/{lib/functions → functions}/assert.d.ts.map +0 -0
- package/{lib/functions → functions}/assert.js +0 -0
- package/{lib/functions → functions}/assert.js.map +0 -0
- package/{lib/functions → functions}/disposer.d.ts +0 -0
- package/{lib/functions → functions}/disposer.d.ts.map +0 -0
- package/{lib/functions → functions}/disposer.js +0 -0
- package/{lib/functions → functions}/disposer.js.map +0 -0
- package/{lib/functions → functions}/safeCall.d.ts +0 -0
- package/{lib/functions → functions}/safeCall.d.ts.map +0 -0
- package/{lib/functions → functions}/safeCall.js +0 -0
- package/{lib/functions → functions}/safeCall.js.map +0 -0
- package/{lib/functions → functions}/throttle.d.ts +0 -0
- package/{lib/functions → functions}/throttle.d.ts.map +0 -0
- package/{lib/functions → functions}/throttle.js +0 -0
- package/{lib/functions → functions}/throttle.js.map +0 -0
- package/{lib/lazy → lazy}/light.d.ts +0 -0
- package/{lib/lazy → lazy}/light.d.ts.map +0 -0
- package/{lib/lazy → lazy}/light.js +0 -0
- package/{lib/lazy → lazy}/light.js.map +0 -0
- package/{lib/lazy → lazy}/promise.d.ts +0 -0
- package/{lib/lazy → lazy}/promise.d.ts.map +0 -0
- package/{lib/lazy → lazy}/promise.js +0 -0
- package/{lib/lazy → lazy}/promise.js.map +0 -0
- package/{lib/lazy → lazy}/singleton.d.ts +0 -0
- package/{lib/lazy → lazy}/singleton.d.ts.map +0 -0
- package/{lib/lazy → lazy}/singleton.js +0 -0
- package/{lib/lazy → lazy}/singleton.js.map +0 -0
- package/{lib/logger → logger}/abstractions.d.ts +0 -0
- package/{lib/logger → logger}/abstractions.d.ts.map +0 -0
- package/{lib/logger → logger}/abstractions.js +0 -0
- package/{lib/logger → logger}/abstractions.js.map +0 -0
- package/{lib/logger → logger}/batch.d.ts +0 -0
- package/{lib/logger → logger}/batch.d.ts.map +0 -0
- package/{lib/logger → logger}/batch.js +0 -0
- package/{lib/logger → logger}/batch.js.map +0 -0
- package/{lib/logger → logger}/console.d.ts +0 -0
- package/{lib/logger → logger}/console.d.ts.map +0 -0
- package/{lib/logger → logger}/console.js +0 -0
- package/{lib/logger → logger}/console.js.map +0 -0
- package/{lib/logger → logger}/file.d.ts +0 -0
- package/{lib/logger → logger}/file.d.ts.map +0 -0
- package/{lib/logger → logger}/file.js +0 -0
- package/{lib/logger → logger}/file.js.map +0 -0
- package/{lib/logger → logger}/index.d.ts +0 -0
- package/{lib/logger → logger}/index.d.ts.map +0 -0
- package/{lib/logger → logger}/index.js +0 -0
- package/{lib/logger → logger}/index.js.map +0 -0
- package/{lib/logger → logger}/named.d.ts +0 -0
- package/{lib/logger → logger}/named.d.ts.map +0 -0
- package/{lib/logger → logger}/named.js +0 -0
- package/{lib/logger → logger}/named.js.map +0 -0
- package/{lib/logger → logger}/proxy.d.ts +0 -0
- package/{lib/logger → logger}/proxy.d.ts.map +0 -0
- package/{lib/logger → logger}/proxy.js +0 -0
- package/{lib/logger → logger}/proxy.js.map +0 -0
- package/{lib/math → math}/arrays.d.ts +0 -0
- package/{lib/math → math}/arrays.d.ts.map +0 -0
- package/{lib/math → math}/arrays.js +0 -0
- package/{lib/math → math}/arrays.js.map +0 -0
- package/{lib/math → math}/calc.d.ts +0 -0
- package/{lib/math → math}/calc.d.ts.map +0 -0
- package/{lib/math → math}/calc.js +0 -0
- package/{lib/math → math}/calc.js.map +0 -0
- package/{lib/math → math}/distribution.d.ts +0 -0
- package/{lib/math → math}/distribution.d.ts.map +0 -0
- package/{lib/math → math}/distribution.js +0 -0
- package/{lib/math → math}/distribution.js.map +0 -0
- package/{lib/math → math}/index.d.ts +0 -0
- package/{lib/math → math}/index.d.ts.map +0 -0
- package/{lib/math → math}/index.js +0 -0
- package/{lib/math → math}/index.js.map +0 -0
- package/{lib/models → models}/EntityWithStatus.d.ts +0 -0
- package/{lib/models → models}/EntityWithStatus.d.ts.map +0 -0
- package/{lib/models → models}/EntityWithStatus.js +0 -0
- package/{lib/models → models}/EntityWithStatus.js.map +0 -0
- package/{lib/models → models}/File.d.ts +0 -0
- package/{lib/models → models}/File.d.ts.map +0 -0
- package/{lib/models → models}/File.js +0 -0
- package/{lib/models → models}/File.js.map +0 -0
- package/models/Model.d.ts +12 -0
- package/models/Model.d.ts.map +1 -0
- package/models/Model.js +23 -0
- package/models/Model.js.map +1 -0
- package/{lib/observing → observing}/event.d.ts +0 -0
- package/{lib/observing → observing}/event.d.ts.map +0 -0
- package/{lib/observing → observing}/event.js +0 -0
- package/{lib/observing → observing}/event.js.map +0 -0
- package/{lib/observing → observing}/progressTracker.d.ts +0 -0
- package/{lib/observing → observing}/progressTracker.d.ts.map +0 -0
- package/{lib/observing → observing}/progressTracker.js +0 -0
- package/{lib/observing → observing}/progressTracker.js.map +0 -0
- package/{lib/observing → observing}/throttledEvent.d.ts +0 -0
- package/{lib/observing → observing}/throttledEvent.d.ts.map +0 -0
- package/{lib/observing → observing}/throttledEvent.js +0 -0
- package/{lib/observing → observing}/throttledEvent.js.map +0 -0
- package/{lib/observing → observing}/timer.d.ts +0 -0
- package/{lib/observing → observing}/timer.d.ts.map +0 -0
- package/{lib/observing → observing}/timer.js +0 -0
- package/{lib/observing → observing}/timer.js.map +0 -0
- package/package.json +8 -9
- package/{lib/storage → storage}/abstractions.d.ts +0 -0
- package/{lib/storage → storage}/abstractions.d.ts.map +0 -0
- package/{lib/storage → storage}/abstractions.js +0 -0
- package/{lib/storage → storage}/abstractions.js.map +0 -0
- package/{lib/storage → storage}/asyncWrapper.d.ts +0 -0
- package/{lib/storage → storage}/asyncWrapper.d.ts.map +0 -0
- package/{lib/storage → storage}/asyncWrapper.js +0 -0
- package/{lib/storage → storage}/asyncWrapper.js.map +0 -0
- package/{lib/storage → storage}/index.d.ts +0 -0
- package/{lib/storage → storage}/index.d.ts.map +0 -0
- package/{lib/storage → storage}/index.js +0 -0
- package/{lib/storage → storage}/index.js.map +0 -0
- package/{lib/storage → storage}/keyStorage.d.ts +0 -0
- package/{lib/storage → storage}/keyStorage.d.ts.map +0 -0
- package/{lib/storage → storage}/keyStorage.js +0 -0
- package/{lib/storage → storage}/keyStorage.js.map +0 -0
- package/{lib/structures → structures}/helpers/enum.d.ts +0 -0
- package/{lib/structures → structures}/helpers/enum.d.ts.map +0 -0
- package/{lib/structures → structures}/helpers/enum.js +0 -0
- package/{lib/structures → structures}/helpers/enum.js.map +0 -0
- package/{lib/structures → structures}/helpers/name.d.ts +0 -0
- package/{lib/structures → structures}/helpers/name.d.ts.map +0 -0
- package/{lib/structures → structures}/helpers/name.js +0 -0
- package/{lib/structures → structures}/helpers/name.js.map +0 -0
- package/{lib/structures → structures}/linkedList.d.ts +0 -0
- package/{lib/structures → structures}/linkedList.d.ts.map +0 -0
- package/{lib/structures → structures}/linkedList.js +0 -0
- package/{lib/structures → structures}/linkedList.js.map +0 -0
- package/{lib/structures → structures}/pool.d.ts +0 -0
- package/{lib/structures → structures}/pool.d.ts.map +0 -0
- package/{lib/structures → structures}/pool.js +0 -0
- package/{lib/structures → structures}/pool.js.map +0 -0
- package/{lib/structures → structures}/queue/parallel.d.ts +0 -0
- package/{lib/structures → structures}/queue/parallel.d.ts.map +0 -0
- package/{lib/structures → structures}/queue/parallel.js +0 -0
- package/{lib/structures → structures}/queue/parallel.js.map +0 -0
- package/{lib/structures → structures}/queue/tasks.d.ts +0 -0
- package/{lib/structures → structures}/queue/tasks.d.ts.map +0 -0
- package/{lib/structures → structures}/queue/tasks.js +0 -0
- package/{lib/structures → structures}/queue/tasks.js.map +0 -0
- package/{lib/structures → structures}/tempoCache.d.ts +0 -0
- package/{lib/structures → structures}/tempoCache.d.ts.map +0 -0
- package/{lib/structures → structures}/tempoCache.js +0 -0
- package/{lib/structures → structures}/tempoCache.js.map +0 -0
- package/{lib/types → types}/comparator.d.ts +0 -0
- package/{lib/types → types}/comparator.d.ts.map +0 -0
- package/{lib/types → types}/comparator.js +0 -0
- package/{lib/types → types}/comparator.js.map +0 -0
- package/{lib/types → types}/deep.d.ts +0 -0
- package/{lib/types → types}/deep.d.ts.map +0 -0
- package/{lib/types → types}/deep.js +0 -0
- package/{lib/types → types}/deep.js.map +0 -0
- package/{lib/types → types}/functions.d.ts +0 -0
- package/{lib/types → types}/functions.d.ts.map +0 -0
- package/{lib/types → types}/functions.js +0 -0
- package/{lib/types → types}/functions.js.map +0 -0
- package/{lib/types → types}/getter.d.ts +0 -0
- package/{lib/types → types}/getter.d.ts.map +0 -0
- package/{lib/types → types}/getter.js +0 -0
- package/{lib/types → types}/getter.js.map +0 -0
- package/{lib/types → types}/ident.d.ts +0 -0
- package/{lib/types → types}/ident.d.ts.map +0 -0
- package/{lib/types → types}/ident.js +0 -0
- package/{lib/types → types}/ident.js.map +0 -0
- package/{lib/types → types}/index.d.ts +3 -0
- package/{lib/types → types}/index.d.ts.map +1 -1
- package/{lib/types → types}/index.js +0 -0
- package/{lib/types → types}/index.js.map +0 -0
- package/types/models.d.ts +19 -0
- package/types/models.d.ts.map +1 -0
- package/types/models.js +3 -0
- package/types/models.js.map +1 -0
- package/{lib/validation → validation}/ValidationErrors.d.ts +0 -0
- package/{lib/validation → validation}/ValidationErrors.d.ts.map +0 -0
- package/{lib/validation → validation}/ValidationErrors.js +0 -0
- package/{lib/validation → validation}/ValidationErrors.js.map +0 -0
- package/{lib/validation → validation}/creditCard.d.ts +0 -0
- package/{lib/validation → validation}/creditCard.d.ts.map +0 -0
- package/{lib/validation → validation}/creditCard.js +0 -0
- package/{lib/validation → validation}/creditCard.js.map +0 -0
- package/{lib/validation → validation}/emails.d.ts +0 -0
- package/{lib/validation → validation}/emails.d.ts.map +0 -0
- package/{lib/validation → validation}/emails.js +0 -0
- package/{lib/validation → validation}/emails.js.map +0 -0
- package/{lib/validation → validation}/helpers.d.ts +0 -0
- package/{lib/validation → validation}/helpers.d.ts.map +0 -0
- package/{lib/validation → validation}/helpers.js +0 -0
- package/{lib/validation → validation}/helpers.js.map +0 -0
- package/{lib/validation → validation}/index.d.ts +0 -0
- package/{lib/validation → validation}/index.d.ts.map +0 -0
- package/{lib/validation → validation}/index.js +0 -0
- package/{lib/validation → validation}/index.js.map +0 -0
- package/{lib/validation → validation}/types.d.ts +0 -0
- package/{lib/validation → validation}/types.d.ts.map +0 -0
- package/{lib/validation → validation}/types.js +0 -0
- package/{lib/validation → validation}/types.js.map +0 -0
- package/{lib/validation → validation}/validators.d.ts +0 -0
- package/{lib/validation → validation}/validators.d.ts.map +0 -0
- package/{lib/validation → validation}/validators.js +0 -0
- package/{lib/validation → validation}/validators.js.map +0 -0
- package/{lib/validation → validation}/wrappers.d.ts +0 -0
- package/{lib/validation → validation}/wrappers.d.ts.map +0 -0
- package/{lib/validation → validation}/wrappers.js +0 -0
- package/{lib/validation → validation}/wrappers.js.map +0 -0
- package/.eslintignore +0 -5
- package/.eslintrc.js +0 -9
- package/.github/workflows/CI.yml +0 -48
- package/.gitignore +0 -13
- package/.nvmrc +0 -1
- package/coverage/clover.xml +0 -1280
- package/coverage/coverage-final.json +0 -43
- package/coverage/lcov-report/CommonModel.ts.html +0 -215
- package/coverage/lcov-report/FlagModel.ts.html +0 -290
- package/coverage/lcov-report/MultiSelectModel.ts.html +0 -614
- package/coverage/lcov-report/NumberModel.ts.html +0 -230
- package/coverage/lcov-report/SelectModel.ts.html +0 -503
- package/coverage/lcov-report/Validatable.ts.html +0 -386
- package/coverage/lcov-report/__tests__/helpers/expect.ts.html +0 -94
- package/coverage/lcov-report/__tests__/helpers/index.html +0 -131
- package/coverage/lcov-report/__tests__/helpers/main.ts.html +0 -121
- package/coverage/lcov-report/async/arrays.ts.html +0 -199
- package/coverage/lcov-report/async/index.html +0 -131
- package/coverage/lcov-report/async/timeout.ts.html +0 -337
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/dates/calc.ts.html +0 -301
- package/coverage/lcov-report/dates/convert.ts.html +0 -658
- package/coverage/lcov-report/dates/datex.ts.html +0 -211
- package/coverage/lcov-report/dates/format.ts.html +0 -403
- package/coverage/lcov-report/dates/index.html +0 -251
- package/coverage/lcov-report/dates/index.ts.html +0 -112
- package/coverage/lcov-report/dates/parse.ts.html +0 -157
- package/coverage/lcov-report/dates/period.ts.html +0 -154
- package/coverage/lcov-report/dates/shift.ts.html +0 -355
- package/coverage/lcov-report/dates/types.ts.html +0 -181
- package/coverage/lcov-report/dates/yearDate.ts.html +0 -193
- package/coverage/lcov-report/disposer.ts.html +0 -376
- package/coverage/lcov-report/enumHelper.ts.html +0 -454
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/fields/index.html +0 -116
- package/coverage/lcov-report/fields/update.ts.html +0 -457
- package/coverage/lcov-report/functions/disposer.ts.html +0 -376
- package/coverage/lcov-report/functions/index.html +0 -116
- package/coverage/lcov-report/functions/safeCall.ts.html +0 -103
- package/coverage/lcov-report/index.html +0 -311
- package/coverage/lcov-report/lazy/index.html +0 -131
- package/coverage/lcov-report/lazy/light.ts.html +0 -172
- package/coverage/lcov-report/lazy/promise.ts.html +0 -241
- package/coverage/lcov-report/lazy/singleton.ts.html +0 -181
- package/coverage/lcov-report/logger/batch.ts.html +0 -112
- package/coverage/lcov-report/logger/console.ts.html +0 -241
- package/coverage/lcov-report/logger/index.html +0 -176
- package/coverage/lcov-report/logger/index.ts.html +0 -298
- package/coverage/lcov-report/logger/named.ts.html +0 -226
- package/coverage/lcov-report/logger/proxy.ts.html +0 -172
- package/coverage/lcov-report/math/arrays.ts.html +0 -907
- package/coverage/lcov-report/math/calc.ts.html +0 -292
- package/coverage/lcov-report/math/distribution.ts.html +0 -145
- package/coverage/lcov-report/math/index.html +0 -161
- package/coverage/lcov-report/math/index.ts.html +0 -166
- package/coverage/lcov-report/observing/event.ts.html +0 -358
- package/coverage/lcov-report/observing/index.html +0 -116
- package/coverage/lcov-report/observing/transition.ts.html +0 -634
- package/coverage/lcov-report/parallel.ts.html +0 -550
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/queue/index.html +0 -116
- package/coverage/lcov-report/queue/parallel.ts.html +0 -499
- package/coverage/lcov-report/queue/tasks.ts.html +0 -358
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/src/__tests__/helpers/expect.ts.html +0 -94
- package/coverage/lcov-report/src/__tests__/helpers/index.html +0 -131
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +0 -121
- package/coverage/lcov-report/src/async/arrays.ts.html +0 -199
- package/coverage/lcov-report/src/async/index.html +0 -131
- package/coverage/lcov-report/src/async/timeout.ts.html +0 -337
- package/coverage/lcov-report/src/cache.ts.html +0 -628
- package/coverage/lcov-report/src/dates/calc.ts.html +0 -301
- package/coverage/lcov-report/src/dates/convert.ts.html +0 -658
- package/coverage/lcov-report/src/dates/datex.ts.html +0 -211
- package/coverage/lcov-report/src/dates/format.ts.html +0 -403
- package/coverage/lcov-report/src/dates/index.html +0 -251
- package/coverage/lcov-report/src/dates/index.ts.html +0 -112
- package/coverage/lcov-report/src/dates/parse.ts.html +0 -157
- package/coverage/lcov-report/src/dates/period.ts.html +0 -154
- package/coverage/lcov-report/src/dates/shift.ts.html +0 -355
- package/coverage/lcov-report/src/dates/types.ts.html +0 -181
- package/coverage/lcov-report/src/dates/yearDate.ts.html +0 -193
- package/coverage/lcov-report/src/disposer.ts.html +0 -376
- package/coverage/lcov-report/src/enumHelper.ts.html +0 -454
- package/coverage/lcov-report/src/event.ts.html +0 -361
- package/coverage/lcov-report/src/fields/index.html +0 -116
- package/coverage/lcov-report/src/fields/update.ts.html +0 -457
- package/coverage/lcov-report/src/functions.ts.html +0 -127
- package/coverage/lcov-report/src/index.html +0 -251
- package/coverage/lcov-report/src/lazy/index.html +0 -161
- package/coverage/lcov-report/src/lazy/lazy.ts.html +0 -181
- package/coverage/lcov-report/src/lazy/light.ts.html +0 -172
- package/coverage/lcov-report/src/lazy/observable.ts.html +0 -196
- package/coverage/lcov-report/src/lazy/promise.ts.html +0 -241
- package/coverage/lcov-report/src/lazy/singleton.ts.html +0 -181
- package/coverage/lcov-report/src/lazy.light.ts.html +0 -172
- package/coverage/lcov-report/src/logger/batch.ts.html +0 -112
- package/coverage/lcov-report/src/logger/console.ts.html +0 -241
- package/coverage/lcov-report/src/logger/index.html +0 -176
- package/coverage/lcov-report/src/logger/index.ts.html +0 -298
- package/coverage/lcov-report/src/logger/named.ts.html +0 -226
- package/coverage/lcov-report/src/logger/proxy.ts.html +0 -172
- package/coverage/lcov-report/src/math/arrays.ts.html +0 -868
- package/coverage/lcov-report/src/math/calc.ts.html +0 -292
- package/coverage/lcov-report/src/math/distribution.ts.html +0 -145
- package/coverage/lcov-report/src/math/index.html +0 -161
- package/coverage/lcov-report/src/math/index.ts.html +0 -166
- package/coverage/lcov-report/src/observers.ts.html +0 -368
- package/coverage/lcov-report/src/observersMap.ts.html +0 -400
- package/coverage/lcov-report/src/observingCache.ts.html +0 -565
- package/coverage/lcov-report/src/queue/index.html +0 -131
- package/coverage/lcov-report/src/queue/parallel.ts.html +0 -511
- package/coverage/lcov-report/src/queue/tasks.ts.html +0 -358
- package/coverage/lcov-report/src/tempoCache.ts.html +0 -139
- package/coverage/lcov-report/src/transitionObserver.ts.html +0 -634
- package/coverage/lcov-report/src/types/comparator.ts.html +0 -103
- package/coverage/lcov-report/src/types/getter.ts.html +0 -127
- package/coverage/lcov-report/src/types/index.html +0 -146
- package/coverage/lcov-report/src/types/index.ts.html +0 -112
- package/coverage/lcov-report/src/types.ts.html +0 -175
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +0 -163
- package/coverage/lcov-report/src/validation/creditCard.ts.html +0 -160
- package/coverage/lcov-report/src/validation/helpers.ts.html +0 -226
- package/coverage/lcov-report/src/validation/index.html +0 -206
- package/coverage/lcov-report/src/validation/index.ts.html +0 -112
- package/coverage/lcov-report/src/validation/types.ts.html +0 -139
- package/coverage/lcov-report/src/validation/validators.ts.html +0 -250
- package/coverage/lcov-report/src/validation/wrappers.ts.html +0 -163
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +0 -220
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +0 -295
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +0 -241
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +0 -619
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +0 -235
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +0 -541
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +0 -466
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +0 -391
- package/coverage/lcov-report/src/viewModels/index.html +0 -236
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +0 -232
- package/coverage/lcov-report/structures/helpers/enum.ts.html +0 -454
- package/coverage/lcov-report/structures/helpers/index.html +0 -116
- package/coverage/lcov-report/structures/index.html +0 -116
- package/coverage/lcov-report/structures/promiseCache.ts.html +0 -628
- package/coverage/lcov-report/structures/queue/index.html +0 -131
- package/coverage/lcov-report/structures/queue/parallel.ts.html +0 -511
- package/coverage/lcov-report/structures/queue/tasks.ts.html +0 -358
- package/coverage/lcov-report/structures/subscribersMap.ts.html +0 -400
- package/coverage/lcov-report/structures/subscribersPromiseCache.ts.html +0 -562
- package/coverage/lcov-report/structures/tempoCache.ts.html +0 -139
- package/coverage/lcov-report/tasks.ts.html +0 -355
- package/coverage/lcov-report/tempoCache.ts.html +0 -134
- package/coverage/lcov-report/timer.ts.html +0 -200
- package/coverage/lcov-report/types/comparator.ts.html +0 -103
- package/coverage/lcov-report/types/getter.ts.html +0 -127
- package/coverage/lcov-report/types/index.html +0 -146
- package/coverage/lcov-report/types/index.ts.html +0 -136
- package/coverage/lcov-report/update.ts.html +0 -374
- package/coverage/lcov-report/validation/ValidationErrors.ts.html +0 -163
- package/coverage/lcov-report/validation/creditCard.ts.html +0 -160
- package/coverage/lcov-report/validation/helpers.ts.html +0 -226
- package/coverage/lcov-report/validation/index.html +0 -206
- package/coverage/lcov-report/validation/index.ts.html +0 -112
- package/coverage/lcov-report/validation/types.ts.html +0 -139
- package/coverage/lcov-report/validation/validators.ts.html +0 -250
- package/coverage/lcov-report/validation/wrappers.ts.html +0 -163
- package/coverage/lcov-report/viewModels/CommonModel.ts.html +0 -215
- package/coverage/lcov-report/viewModels/FlagModel.ts.html +0 -290
- package/coverage/lcov-report/viewModels/LoadingModel.ts.html +0 -244
- package/coverage/lcov-report/viewModels/MultiSelectModel.ts.html +0 -614
- package/coverage/lcov-report/viewModels/NumberModel.ts.html +0 -230
- package/coverage/lcov-report/viewModels/SelectModel.ts.html +0 -536
- package/coverage/lcov-report/viewModels/TextModel.ts.html +0 -461
- package/coverage/lcov-report/viewModels/Validatable.ts.html +0 -386
- package/coverage/lcov-report/viewModels/index.html +0 -116
- package/coverage/lcov.info +0 -2763
- package/global-test-setup.js +0 -3
- package/jest.config.js +0 -10
- package/src/.DS_Store +0 -0
- package/src/__tests__/helpers/expect.ts +0 -3
- package/src/__tests__/helpers/main.ts +0 -12
- package/src/abstractions/controllers/IPluggableController.ts +0 -7
- package/src/async/__tests__/timeout.test.ts +0 -74
- package/src/async/arrays.extend.ts +0 -17
- package/src/async/arrays.ts +0 -38
- package/src/async/misc.ts +0 -26
- package/src/async/timeout.ts +0 -84
- package/src/controllers/PluggableController.ts +0 -35
- package/src/dates/__tests__/dates.test.ts +0 -1314
- package/src/dates/calc.ts +0 -72
- package/src/dates/convert.ts +0 -191
- package/src/dates/datex.ts +0 -42
- package/src/dates/format.ts +0 -106
- package/src/dates/index.ts +0 -9
- package/src/dates/parse.ts +0 -24
- package/src/dates/period.ts +0 -23
- package/src/dates/shift.ts +0 -90
- package/src/dates/types.ts +0 -32
- package/src/dates/yearDate.ts +0 -36
- package/src/fields/__tests__/fields.update.test.ts +0 -73
- package/src/fields/filter.ts +0 -27
- package/src/fields/index.ts +0 -4
- package/src/fields/transfer.ts +0 -85
- package/src/fields/update.ts +0 -124
- package/src/functions/assert.ts +0 -19
- package/src/functions/disposer.ts +0 -97
- package/src/functions/safeCall.ts +0 -6
- package/src/functions/throttle.ts +0 -96
- package/src/lazy/__tests__/lazy.test.ts +0 -48
- package/src/lazy/light.ts +0 -29
- package/src/lazy/promise.ts +0 -52
- package/src/lazy/singleton.ts +0 -32
- package/src/logger/__tests__/logger.test.ts +0 -206
- package/src/logger/abstractions.ts +0 -13
- package/src/logger/batch.ts +0 -9
- package/src/logger/console.ts +0 -52
- package/src/logger/file.ts +0 -66
- package/src/logger/index.ts +0 -71
- package/src/logger/named.ts +0 -47
- package/src/logger/proxy.ts +0 -29
- package/src/math/__tests__/arrays.test.ts +0 -196
- package/src/math/__tests__/calc.test.ts +0 -67
- package/src/math/__tests__/distribution.test.ts +0 -25
- package/src/math/__tests__/index.test.ts +0 -20
- package/src/math/arrays.ts +0 -274
- package/src/math/calc.ts +0 -69
- package/src/math/distribution.ts +0 -20
- package/src/math/index.ts +0 -27
- package/src/models/EntityWithStatus.ts +0 -58
- package/src/models/File.ts +0 -14
- package/src/observing/event.ts +0 -91
- package/src/observing/progressTracker.ts +0 -90
- package/src/observing/throttledEvent.ts +0 -20
- package/src/observing/timer.ts +0 -40
- package/src/storage/abstractions.ts +0 -18
- package/src/storage/asyncWrapper.ts +0 -24
- package/src/storage/index.ts +0 -2
- package/src/storage/keyStorage.ts +0 -40
- package/src/structures/__tests__/enumHelper.test.ts +0 -85
- package/src/structures/__tests__/tempoCache.test.ts +0 -31
- package/src/structures/helpers/enum.ts +0 -123
- package/src/structures/helpers/name.ts +0 -58
- package/src/structures/linkedList.ts +0 -129
- package/src/structures/pool.ts +0 -47
- package/src/structures/queue/__tests__/parallel.test.ts +0 -58
- package/src/structures/queue/__tests__/tasks.test.ts +0 -87
- package/src/structures/queue/parallel.ts +0 -142
- package/src/structures/queue/tasks.ts +0 -91
- package/src/structures/tempoCache.ts +0 -18
- package/src/types/comparator.ts +0 -6
- package/src/types/deep.ts +0 -18
- package/src/types/functions.ts +0 -8
- package/src/types/getter.ts +0 -14
- package/src/types/ident.ts +0 -8
- package/src/types/index.ts +0 -17
- package/src/validation/ValidationErrors.ts +0 -26
- package/src/validation/__tests__/index.test.ts +0 -8
- package/src/validation/__tests__/validator.test.ts +0 -107
- package/src/validation/creditCard.ts +0 -25
- package/src/validation/emails.ts +0 -5
- package/src/validation/helpers.ts +0 -47
- package/src/validation/index.ts +0 -9
- package/src/validation/types.ts +0 -18
- package/src/validation/validators.ts +0 -55
- package/src/validation/wrappers.ts +0 -26
- package/tsconfig.build.json +0 -10
- package/tsconfig.json +0 -32
- package/yarn-error.log +0 -3709
- package/yarn.lock +0 -3446
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { faker } from '@faker-js/faker';
|
|
2
|
-
import logger, { batchLoggers, createLogger, getMode, ILogger, setMode } from '..';
|
|
3
|
-
import fc from 'fast-check';
|
|
4
|
-
import { toArbitrary } from '../../__tests__/helpers/main';
|
|
5
|
-
import { Getter } from '../../types';
|
|
6
|
-
|
|
7
|
-
const CONSOLE = console;
|
|
8
|
-
|
|
9
|
-
describe('#logger-tests', () => {
|
|
10
|
-
|
|
11
|
-
const customLogger = {
|
|
12
|
-
log: jest.fn().mockImplementation(),
|
|
13
|
-
warn: jest.fn().mockImplementation(),
|
|
14
|
-
error: jest.fn().mockImplementation(),
|
|
15
|
-
};
|
|
16
|
-
const customLoggerGetter = () => customLogger;
|
|
17
|
-
|
|
18
|
-
const consoleMocks: Record<keyof ILogger, jest.SpyInstance> = {
|
|
19
|
-
log: jest.spyOn(CONSOLE, 'log').mockImplementation(),
|
|
20
|
-
warn: jest.spyOn(CONSOLE, 'warn').mockImplementation(),
|
|
21
|
-
error: jest.spyOn(CONSOLE, 'error').mockImplementation(),
|
|
22
|
-
} as const;
|
|
23
|
-
const loggerMethods = Object.keys(consoleMocks) as (keyof ILogger)[];
|
|
24
|
-
|
|
25
|
-
it('use logger without mode (default logger)', () => {
|
|
26
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.internet.url());
|
|
27
|
-
let iteration = 0;
|
|
28
|
-
|
|
29
|
-
fc.assert(
|
|
30
|
-
fc.property(_textToLog, (textToLog) => {
|
|
31
|
-
const methodName = loggerMethods[iteration];
|
|
32
|
-
logger[methodName](textToLog);
|
|
33
|
-
|
|
34
|
-
expect(getMode()).toBe(false);
|
|
35
|
-
expect(consoleMocks[methodName]).not.toHaveBeenCalled();
|
|
36
|
-
|
|
37
|
-
++iteration;
|
|
38
|
-
}), {
|
|
39
|
-
numRuns: loggerMethods.length,
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('use logger with runtime mode disabling', () => {
|
|
44
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
|
|
45
|
-
|
|
46
|
-
let iteration = 0;
|
|
47
|
-
fc.assert(
|
|
48
|
-
fc.property(_textToLog, (textToLog) => {
|
|
49
|
-
// set mode before or after creating a new logger
|
|
50
|
-
|
|
51
|
-
if (iteration % 2 === 0) { setMode('console'); setMode(customLoggerGetter); setMode(false); }
|
|
52
|
-
const logger = createLogger(faker.random.word());
|
|
53
|
-
if (iteration % 2 === 1) { setMode('console'); setMode(customLoggerGetter); setMode(false); }
|
|
54
|
-
|
|
55
|
-
const methodName = loggerMethods[iteration % 3];
|
|
56
|
-
logger[methodName](textToLog);
|
|
57
|
-
|
|
58
|
-
expect(getMode()).toBe(false);
|
|
59
|
-
expect(consoleMocks[methodName]).not.toHaveBeenCalled();
|
|
60
|
-
++iteration;
|
|
61
|
-
}), {
|
|
62
|
-
numRuns: loggerMethods.length * 2,
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('use logger with \'null\' mode', () => {
|
|
67
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.internet.url());
|
|
68
|
-
|
|
69
|
-
let iteration = 0;
|
|
70
|
-
fc.assert(
|
|
71
|
-
fc.property(_textToLog, (textToLog) => {
|
|
72
|
-
if (iteration % 2 === 0) setMode(null);
|
|
73
|
-
const logger = createLogger(faker.random.word());
|
|
74
|
-
if (iteration % 2 === 1) setMode(null);
|
|
75
|
-
|
|
76
|
-
const methodName = loggerMethods[iteration % 3];
|
|
77
|
-
logger[methodName](textToLog);
|
|
78
|
-
|
|
79
|
-
const spyLogger = jest.spyOn(CONSOLE, methodName);
|
|
80
|
-
|
|
81
|
-
expect(getMode()).toBeNull();
|
|
82
|
-
expect(spyLogger).not.toHaveBeenCalled();
|
|
83
|
-
++iteration;
|
|
84
|
-
}), {
|
|
85
|
-
numRuns: loggerMethods.length * 2,
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it('use logger with \'console\' mode', () => {
|
|
90
|
-
const loggerName = `[${faker.random.word()}]`;
|
|
91
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
|
|
92
|
-
|
|
93
|
-
let iteration = 0;
|
|
94
|
-
fc.assert(
|
|
95
|
-
fc.property(_textToLog, (textToLog) => {
|
|
96
|
-
|
|
97
|
-
if (iteration % 2 === 0) setMode('console');
|
|
98
|
-
const logger = createLogger(loggerName);
|
|
99
|
-
if (iteration % 2 === 1) setMode('console');
|
|
100
|
-
const methodName = loggerMethods[iteration % 3];
|
|
101
|
-
logger[methodName](textToLog);
|
|
102
|
-
|
|
103
|
-
expect(getMode()).toBe('console');
|
|
104
|
-
expect(consoleMocks[methodName]).toHaveBeenCalledWith(loggerName, textToLog);
|
|
105
|
-
consoleMocks[methodName].mockClear();
|
|
106
|
-
|
|
107
|
-
++iteration;
|
|
108
|
-
}), {
|
|
109
|
-
numRuns: loggerMethods.length * 2,
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
it('use logger with custom mode', () => {
|
|
114
|
-
const loggerName = `[${faker.random.word()}]`;
|
|
115
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
|
|
116
|
-
|
|
117
|
-
let iteration = 0;
|
|
118
|
-
fc.assert(
|
|
119
|
-
fc.property(_textToLog, (textToLog) => {
|
|
120
|
-
if (iteration % 2 === 0) setMode(customLoggerGetter);
|
|
121
|
-
const logger = createLogger(loggerName);
|
|
122
|
-
if (iteration % 2 === 1) setMode(customLoggerGetter);
|
|
123
|
-
|
|
124
|
-
const methodName = loggerMethods[iteration % 3];
|
|
125
|
-
logger[methodName](textToLog);
|
|
126
|
-
|
|
127
|
-
const impl = customLogger[methodName];
|
|
128
|
-
|
|
129
|
-
expect(getMode()).toBe(customLoggerGetter);
|
|
130
|
-
expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
|
|
131
|
-
impl.mockClear();
|
|
132
|
-
++iteration;
|
|
133
|
-
}), {
|
|
134
|
-
numRuns: loggerMethods.length * 2,
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
it('use logger with override mode #override', () => {
|
|
139
|
-
|
|
140
|
-
const loggerName = `[${faker.random.word()}]`;
|
|
141
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
|
|
142
|
-
|
|
143
|
-
expect(Getter.getValue(customLoggerGetter as Getter<ILogger>)).toBe(customLogger);
|
|
144
|
-
|
|
145
|
-
setMode('console');
|
|
146
|
-
|
|
147
|
-
let iteration = 0;
|
|
148
|
-
fc.assert(
|
|
149
|
-
fc.property(_textToLog, (textToLog) => {
|
|
150
|
-
const loggerDisabled = createLogger(loggerName, false);
|
|
151
|
-
const loggerCustom = createLogger(loggerName, customLoggerGetter);
|
|
152
|
-
|
|
153
|
-
const methodName = loggerMethods[iteration % 3];
|
|
154
|
-
loggerDisabled[methodName](textToLog);
|
|
155
|
-
expect(consoleMocks[methodName]).not.toHaveBeenCalled();
|
|
156
|
-
|
|
157
|
-
loggerCustom[methodName](textToLog);
|
|
158
|
-
|
|
159
|
-
expect(consoleMocks[methodName]).not.toHaveBeenCalled();
|
|
160
|
-
|
|
161
|
-
const impl = customLogger[methodName];
|
|
162
|
-
expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
|
|
163
|
-
impl.mockClear();
|
|
164
|
-
|
|
165
|
-
++iteration;
|
|
166
|
-
}), {
|
|
167
|
-
numRuns: loggerMethods.length,
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
expect(getMode()).toBe('console');
|
|
171
|
-
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
it('batches loggers', () => {
|
|
175
|
-
|
|
176
|
-
const loggerName = `[${faker.random.word()}]`;
|
|
177
|
-
const _textToLog: fc.Arbitrary<string> = toArbitrary(() => faker.random.word());
|
|
178
|
-
|
|
179
|
-
setMode(false);
|
|
180
|
-
|
|
181
|
-
let iteration = 0;
|
|
182
|
-
fc.assert(
|
|
183
|
-
fc.property(_textToLog, (textToLog) => {
|
|
184
|
-
const logger = batchLoggers(
|
|
185
|
-
createLogger(loggerName, 'console'),
|
|
186
|
-
createLogger(loggerName, customLoggerGetter),
|
|
187
|
-
);
|
|
188
|
-
|
|
189
|
-
const methodName = loggerMethods[iteration % 3];
|
|
190
|
-
logger[methodName](textToLog);
|
|
191
|
-
|
|
192
|
-
expect(consoleMocks[methodName]).toHaveBeenCalledWith(loggerName, textToLog);
|
|
193
|
-
const impl = customLogger[methodName];
|
|
194
|
-
expect(impl).toHaveBeenCalledWith(loggerName, textToLog);
|
|
195
|
-
impl.mockClear();
|
|
196
|
-
|
|
197
|
-
++iteration;
|
|
198
|
-
}), {
|
|
199
|
-
numRuns: loggerMethods.length,
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
expect(getMode()).toBe(false);
|
|
203
|
-
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
});
|
package/src/logger/batch.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ILogger } from './abstractions';
|
|
2
|
-
|
|
3
|
-
export function batchLoggers(...loggers: ILogger[]): ILogger {
|
|
4
|
-
return {
|
|
5
|
-
log: (...args) => loggers.forEach(l => l.log(...args)),
|
|
6
|
-
warn: (...args) => loggers.forEach(l => l.warn(...args)),
|
|
7
|
-
error: (...args) => loggers.forEach(l => l.error(...args)),
|
|
8
|
-
};
|
|
9
|
-
}
|
package/src/logger/console.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ILogger } from './abstractions';
|
|
2
|
-
import { NamedLogger } from './named';
|
|
3
|
-
|
|
4
|
-
export const CONSOLE: ILogger = console;
|
|
5
|
-
|
|
6
|
-
export class ConsoleLogger extends NamedLogger {
|
|
7
|
-
protected get implementation() { return CONSOLE; }
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export class BufferedConsoleLogger implements ILogger {
|
|
11
|
-
private readonly _name: string = null;
|
|
12
|
-
private readonly _logs: string[] = [];
|
|
13
|
-
private _level = 1;
|
|
14
|
-
|
|
15
|
-
private _log = CONSOLE.log;
|
|
16
|
-
|
|
17
|
-
constructor(name: string) {
|
|
18
|
-
this._name = name || '';
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
log(...args: any[]) {
|
|
22
|
-
this._logs.push('\t--->', ...args);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
warn(...args: any[]) {
|
|
26
|
-
this._logs.push('\t---> [WARN]', ...args);
|
|
27
|
-
this._raiseLevel(2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
error(...args: any[]) {
|
|
31
|
-
this._logs.push('\t---> [ERROR]', ...args);
|
|
32
|
-
this._raiseLevel(3);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
flush() {
|
|
36
|
-
if (this._logs.length > 0) {
|
|
37
|
-
this._log(this._name, ...this._logs);
|
|
38
|
-
this._logs.length = 0;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
private _raiseLevel(l: number) {
|
|
43
|
-
if (l > this._level) {
|
|
44
|
-
this._level = l;
|
|
45
|
-
if (l >= 3) {
|
|
46
|
-
this._log = CONSOLE.error;
|
|
47
|
-
} else if (l >= 2) {
|
|
48
|
-
this._log = CONSOLE.warn;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
package/src/logger/file.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/* eslint-disable no-console */
|
|
3
|
-
import * as Path from 'path';
|
|
4
|
-
import * as FS from 'fs';
|
|
5
|
-
import * as Util from 'util';
|
|
6
|
-
|
|
7
|
-
import { ILogger } from './abstractions';
|
|
8
|
-
|
|
9
|
-
export class FileLoggerNode implements ILogger {
|
|
10
|
-
private readonly _buffer: string[] = [];
|
|
11
|
-
private _logFilePath: string = null;
|
|
12
|
-
|
|
13
|
-
constructor(readonly extraLogger: ILogger = console, readonly instantFlush = false) {
|
|
14
|
-
this.setLogName('');
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
setLogFilePath(path: string) {
|
|
18
|
-
this._logFilePath = path;
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
setLogName(name: string) {
|
|
23
|
-
const n = name ? `-${name}` : '';
|
|
24
|
-
this._logFilePath = Path.resolve(__dirname, `../run${n}.${new Date().toISOString()}.log`);
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
private append(..._args: any[]) {
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
const str = Util.format.apply(null, arguments) + '\n';
|
|
31
|
-
this._buffer.push(str);
|
|
32
|
-
|
|
33
|
-
if (this.instantFlush) {
|
|
34
|
-
this.flush();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
log = (...args: any[]) => {
|
|
39
|
-
this.extraLogger?.log(...args);
|
|
40
|
-
this.append(...args);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
warn = (...args: any[]) => {
|
|
44
|
-
this.extraLogger?.warn(...args);
|
|
45
|
-
this.append(...args);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
error = (...args: any[]) => {
|
|
49
|
-
this.extraLogger?.error(...args);
|
|
50
|
-
this.append(...args);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
flush() {
|
|
54
|
-
if (!this._buffer.length) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
FS.appendFileSync(this._logFilePath, this._buffer.join(''));
|
|
60
|
-
} catch (err) {
|
|
61
|
-
console.warn('Failed to flush file, error', err);
|
|
62
|
-
} finally {
|
|
63
|
-
this._buffer.length = 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
package/src/logger/index.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Getter } from '../types';
|
|
2
|
-
import { ILogger, LoggerFunction } from './abstractions';
|
|
3
|
-
import { CONSOLE, ConsoleLogger } from './console';
|
|
4
|
-
import { ProxyLogger } from './proxy';
|
|
5
|
-
import { batchLoggers } from './batch';
|
|
6
|
-
import { removeItem } from '../math';
|
|
7
|
-
|
|
8
|
-
export { NamedLogger } from './named';
|
|
9
|
-
export { ILogger, LoggerFunction, ConsoleLogger, batchLoggers };
|
|
10
|
-
|
|
11
|
-
// TBD Introduce more logger types ?
|
|
12
|
-
export type LoggerTypes = 'console';
|
|
13
|
-
|
|
14
|
-
let Mode: LoggerTypes | false | Getter<ILogger> = false;
|
|
15
|
-
|
|
16
|
-
const proxies: ProxyLogger[] = [];
|
|
17
|
-
|
|
18
|
-
export function createLogger(name: string, mode: typeof Mode = undefined): ILogger {
|
|
19
|
-
const result = _createImplementation(mode);
|
|
20
|
-
const proxy = new ProxyLogger(result, name);
|
|
21
|
-
proxies.push(proxy);
|
|
22
|
-
return proxy;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function detachLogger(instance: ILogger, terminate = false) {
|
|
26
|
-
const item = removeItem(proxies, instance as ProxyLogger);
|
|
27
|
-
if (item) {
|
|
28
|
-
if (terminate) {
|
|
29
|
-
item.disable();
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function setMode(mode: typeof Mode) {
|
|
37
|
-
if (Mode === mode) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
Mode = mode;
|
|
42
|
-
|
|
43
|
-
if (!Mode) {
|
|
44
|
-
proxies.forEach(l => l.disable());
|
|
45
|
-
} else {
|
|
46
|
-
proxies.forEach(l => l.setLogger(_createImplementation()));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function getMode() { return Mode; }
|
|
51
|
-
|
|
52
|
-
const logger: ILogger = createLogger(null, false);
|
|
53
|
-
|
|
54
|
-
export default logger;
|
|
55
|
-
|
|
56
|
-
function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
|
|
57
|
-
const mode = overrideMode !== undefined ? overrideMode : Mode;
|
|
58
|
-
switch (mode) {
|
|
59
|
-
case 'console': {
|
|
60
|
-
return CONSOLE;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
case false: {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
default: {
|
|
68
|
-
return Getter.getValue(mode as Getter<ILogger>);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
package/src/logger/named.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ILogger, ILoggerSwitchable, LoggerFunction } from './abstractions';
|
|
2
|
-
|
|
3
|
-
export const EMPTY_FUNCTION = () => { /* no-op */ };
|
|
4
|
-
|
|
5
|
-
export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
|
|
6
|
-
public log: LoggerFunction = null;
|
|
7
|
-
public warn: LoggerFunction = null;
|
|
8
|
-
public error: LoggerFunction = null;
|
|
9
|
-
|
|
10
|
-
private _name: string = null;
|
|
11
|
-
|
|
12
|
-
get name() { return this._name; }
|
|
13
|
-
|
|
14
|
-
protected abstract get implementation(): ILogger;
|
|
15
|
-
|
|
16
|
-
constructor(name?: string, enabled = true) {
|
|
17
|
-
this._name = name;
|
|
18
|
-
|
|
19
|
-
if (enabled) {
|
|
20
|
-
this.enable();
|
|
21
|
-
} else {
|
|
22
|
-
this.disable();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
enable(overrideName = null) {
|
|
27
|
-
this._name = overrideName || this._name;
|
|
28
|
-
|
|
29
|
-
this.log = this._name
|
|
30
|
-
? (...args) => this.implementation.log(this._name, ...args)
|
|
31
|
-
: this.implementation.log;
|
|
32
|
-
|
|
33
|
-
this.warn = this._name
|
|
34
|
-
? (...args) => this.implementation.warn(this._name, ...args)
|
|
35
|
-
: this.implementation.warn;
|
|
36
|
-
|
|
37
|
-
this.error = this._name
|
|
38
|
-
? (...args) => this.implementation.error(this._name, ...args)
|
|
39
|
-
: this.implementation.error;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
disable() {
|
|
43
|
-
this.log = EMPTY_FUNCTION;
|
|
44
|
-
this.warn = EMPTY_FUNCTION;
|
|
45
|
-
this.error = EMPTY_FUNCTION;
|
|
46
|
-
}
|
|
47
|
-
}
|
package/src/logger/proxy.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ILogger } from './abstractions';
|
|
2
|
-
import { EMPTY_FUNCTION, NamedLogger } from './named';
|
|
3
|
-
|
|
4
|
-
export const EMPTY_LOGGER: ILogger = {
|
|
5
|
-
log: EMPTY_FUNCTION,
|
|
6
|
-
warn: EMPTY_FUNCTION,
|
|
7
|
-
error: EMPTY_FUNCTION,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export class ProxyLogger extends NamedLogger {
|
|
11
|
-
|
|
12
|
-
protected get implementation() { return this._logger || EMPTY_LOGGER; }
|
|
13
|
-
|
|
14
|
-
private _logger: ILogger = null;
|
|
15
|
-
|
|
16
|
-
constructor(logger: ILogger, name: string) {
|
|
17
|
-
super(name, logger != null);
|
|
18
|
-
this._logger = logger;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public setLogger(logger: ILogger) {
|
|
22
|
-
this._logger = logger || null;
|
|
23
|
-
if (this._logger) {
|
|
24
|
-
this.enable();
|
|
25
|
-
} else {
|
|
26
|
-
this.disable();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import * as arrays from '../arrays';
|
|
2
|
-
|
|
3
|
-
describe('math/arrays', () => {
|
|
4
|
-
it('arrayCompareG', () => {
|
|
5
|
-
expect(arrays.arrayCompareG<any>(null, null)).toBeNull();
|
|
6
|
-
expect(arrays.arrayCompareG<any>([], null)).toBeNull();
|
|
7
|
-
|
|
8
|
-
type T = { a: number };
|
|
9
|
-
const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 3 } ];
|
|
10
|
-
expect(arrays.arrayCompareG<T>(tArr, (t, p) => !p || t.a > p.a))
|
|
11
|
-
.toEqual({ a: 3 });
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it('arrayCompare', () => {
|
|
15
|
-
expect(arrays.arrayCompare(null, false, null)).toBeNull();
|
|
16
|
-
expect(arrays.arrayCompare([], false, null)).toBeNull();
|
|
17
|
-
|
|
18
|
-
expect(() => arrays.arrayCompare([1, 2, 3], false, null)).toThrow();
|
|
19
|
-
|
|
20
|
-
expect(arrays.arrayCompare([1, 2, 3], false, (i, t) => i > t)).toBe(3);
|
|
21
|
-
expect(arrays.arrayCompare([1, 2, 3], false, (i, t) => i < t)).toBe(1);
|
|
22
|
-
|
|
23
|
-
expect(arrays.arrayCompare([-1, 2, -3], true, (i, t) => i > t)).toBe(3);
|
|
24
|
-
expect(arrays.arrayCompare([-1, 2, -3], true, (i, t) => i < t)).toEqual(-1);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('arrayMax', () => {
|
|
28
|
-
expect(arrays.arrayMax([], false)).toBeNull();
|
|
29
|
-
expect(arrays.arrayMax([1, 2, 3], false)).toBe(3);
|
|
30
|
-
expect(arrays.arrayMax([-1, 2, -3], true)).toBe(3);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('arrayMin', () => {
|
|
34
|
-
expect(arrays.arrayMin([], false)).toBeNull();
|
|
35
|
-
expect(arrays.arrayMin([1, 2, 3], false)).toBe(1);
|
|
36
|
-
expect(arrays.arrayMin([-1, 2, -3], true)).toEqual(-1);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it('arrayAverage', () => {
|
|
40
|
-
expect(arrays.arrayAverage(null)).toBe(0);
|
|
41
|
-
expect(arrays.arrayAverage([])).toBe(0);
|
|
42
|
-
expect(arrays.arrayAverage([1, 2, 3])).toBe(2);
|
|
43
|
-
expect(arrays.arrayAverage([-2, 2, -3])).toEqual(-1);
|
|
44
|
-
expect(arrays.arrayAverage([-1, 2, -3], true)).toBe(2);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
it('arrayCount', () => {
|
|
48
|
-
expect(arrays.arrayCount(null, null)).toBe(0);
|
|
49
|
-
expect(arrays.arrayCount([], null)).toBe(0);
|
|
50
|
-
|
|
51
|
-
expect(() => arrays.arrayCount([1, 2, 3], null)).toThrow();
|
|
52
|
-
expect(arrays.arrayCount([1, 2, 3], i => i >= 2)).toBe(2);
|
|
53
|
-
|
|
54
|
-
type T = { a: number };
|
|
55
|
-
const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 3 } ];
|
|
56
|
-
expect(arrays.arrayCount(tArr, i => i.a >= 2)).toBe(2);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it('arrayFirstResult', () => {
|
|
60
|
-
expect(arrays.arrayFirstResult(null, null)).toBeFalsy();
|
|
61
|
-
expect(arrays.arrayFirstResult([], null)).toBeFalsy();
|
|
62
|
-
|
|
63
|
-
expect(() => arrays.arrayFirstResult([1, 2, 3], null)).toThrow();
|
|
64
|
-
expect(arrays.arrayFirstResult([1, 2, 3], i => i == 2 ? 'pass' : false)).toBe('pass');
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it('arraysCompare', () => {
|
|
68
|
-
expect(arrays.arraysCompare(null, null)).toBeNull();
|
|
69
|
-
expect(arrays.arraysCompare([], null)).toBeNull();
|
|
70
|
-
|
|
71
|
-
const result = (missing, extra, diff) => ({ missing, extra, diff });
|
|
72
|
-
|
|
73
|
-
expect(arrays.arraysCompare([], [])).toStrictEqual(result([], [], 0));
|
|
74
|
-
expect(arrays.arraysCompare([1], [])).toStrictEqual(result([1], [], 1));
|
|
75
|
-
expect(arrays.arraysCompare([1, 2], [1])).toStrictEqual(result([2], [], 1));
|
|
76
|
-
expect(arrays.arraysCompare([1], [1])).toStrictEqual(result([], [], 0));
|
|
77
|
-
expect(arrays.arraysCompare([], [1])).toStrictEqual(result([], [1], 1));
|
|
78
|
-
expect(arrays.arraysCompare([1, 2, 3], [3, 2, 1])).toStrictEqual(result([1, 3], [], 2));
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it('arraysCompareDistinct', () => {
|
|
82
|
-
expect(arrays.arraysCompareDistinct(null, null)).toBeNull();
|
|
83
|
-
expect(arrays.arraysCompareDistinct([], null)).toBeNull();
|
|
84
|
-
|
|
85
|
-
const result = (missing, extra, diff) => ({ missing, extra, diff });
|
|
86
|
-
|
|
87
|
-
expect(arrays.arraysCompareDistinct([], [])).toStrictEqual(result([], [], 0));
|
|
88
|
-
expect(arrays.arraysCompareDistinct([1], [])).toStrictEqual(result([1], [], 1));
|
|
89
|
-
expect(arrays.arraysCompareDistinct([1, 2], [1])).toStrictEqual(result([2], [], 1));
|
|
90
|
-
expect(arrays.arraysCompareDistinct([1], [1])).toStrictEqual(result([], [], 0));
|
|
91
|
-
expect(arrays.arraysCompareDistinct([], [1])).toStrictEqual(result([], [1], 1));
|
|
92
|
-
expect(arrays.arraysCompareDistinct([1, 2], [2, 1, 1])).toStrictEqual(result([], [], 0));
|
|
93
|
-
expect(arrays.arraysCompareDistinct([1, 2, 3], [3, 2, 1])).toStrictEqual(result([], [], 0));
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it('arrayDistinct', () => {
|
|
97
|
-
expect(arrays.arrayDistinct(null)).toStrictEqual([]);
|
|
98
|
-
expect(arrays.arrayDistinct([])).toStrictEqual([]);
|
|
99
|
-
expect(arrays.arrayDistinct([1])).toStrictEqual([1]);
|
|
100
|
-
expect(arrays.arrayDistinct([1, 2, 3])).toStrictEqual([1, 2, 3]);
|
|
101
|
-
expect(arrays.arrayDistinct([1, '2', 3])).toStrictEqual([1, '2', 3]);
|
|
102
|
-
expect(arrays.arrayDistinct([1, 1, 1])).toStrictEqual([1]);
|
|
103
|
-
expect(arrays.arrayDistinct(['1', '1', '1'])).toStrictEqual(['1']);
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
it('normalize', () => {
|
|
107
|
-
expect(arrays.normalize([])).toHaveLength(0);
|
|
108
|
-
|
|
109
|
-
expect(arrays.normalize([10, 10])).toEqual([1, 1]);
|
|
110
|
-
expect(arrays.normalize([1, 2, 3])).toEqual([0, 0.5, 1]);
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
it('randomArrayItem', () => {
|
|
114
|
-
expect(() => arrays.randomArrayItem(null)).toThrow();
|
|
115
|
-
expect(arrays.randomArrayItem([])).toBeNull();
|
|
116
|
-
|
|
117
|
-
expect(arrays.randomArrayItem([1])).toBe(1);
|
|
118
|
-
expect([1, 2, 3]).toContain(arrays.randomArrayItem([1, 2, 3]));
|
|
119
|
-
|
|
120
|
-
const arr1 = [1, 2, 3], arr2 = arr1.slice();
|
|
121
|
-
arrays.arraySwap(arr2, 0, 2);
|
|
122
|
-
expect(arr2[0]).toEqual(arr1[2]);
|
|
123
|
-
expect(arr2[2]).toEqual(arr1[0]);
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it('shuffle', () => {
|
|
127
|
-
expect(arrays.shuffle(null)).toStrictEqual([]);
|
|
128
|
-
expect(arrays.shuffle(null, true)).toStrictEqual([]);
|
|
129
|
-
|
|
130
|
-
const arr1 = [1, 2, 3], arr2 = arr1.slice();
|
|
131
|
-
arrays.shuffle(arr2);
|
|
132
|
-
arrays.shuffle(arr2, true);
|
|
133
|
-
expect(arr2).toHaveLength(arr1.length);
|
|
134
|
-
arr2.forEach(i => {
|
|
135
|
-
expect(arr1).toContain(i);
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
it('groupBy', () => {
|
|
140
|
-
expect(() => arrays.groupBy(null, null)).toThrow();
|
|
141
|
-
|
|
142
|
-
type T = { a: number };
|
|
143
|
-
const tArr: T[] = [ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ];
|
|
144
|
-
const result = arrays.groupBy(tArr, i => i.a);
|
|
145
|
-
expect(result).toBeTruthy();
|
|
146
|
-
|
|
147
|
-
expect(result[1]).toHaveLength(1);
|
|
148
|
-
expect(result[1][0]).toEqual({ a: 1 });
|
|
149
|
-
|
|
150
|
-
expect(result[2]).toHaveLength(2);
|
|
151
|
-
expect(result[2][0]).toEqual({ a: 2 });
|
|
152
|
-
|
|
153
|
-
expect(result[3]).toHaveLength(1);
|
|
154
|
-
expect(result[3][0]).toEqual({ a: 3 });
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
it('groupOneBy', () => {
|
|
158
|
-
expect(() => arrays.groupOneBy(null, null)).toThrow();
|
|
159
|
-
|
|
160
|
-
const result = arrays.groupOneBy([ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ], i => i.a);
|
|
161
|
-
expect(result).toBeTruthy();
|
|
162
|
-
|
|
163
|
-
expect(result[1]).toEqual({ a: 1 });
|
|
164
|
-
expect(result[2]).toEqual({ a: 2 });
|
|
165
|
-
expect(result[3]).toEqual({ a: 3 });
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
it('arraySplit', () => {
|
|
169
|
-
expect(() => arrays.arraySplit(null, null)).toThrow();
|
|
170
|
-
|
|
171
|
-
const result = arrays.arraySplit([ { a: 1 }, { a: 2 }, { a: 2 }, { a: 3 } ], i => i.a >= 2);
|
|
172
|
-
expect(result).toBeTruthy();
|
|
173
|
-
|
|
174
|
-
expect(result[0]).toHaveLength(3);
|
|
175
|
-
expect(result[1]).toHaveLength(1);
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
it('findIndexLeast', () => {
|
|
179
|
-
expect(() => arrays.findIndexLeast(0, null)).toThrow();
|
|
180
|
-
|
|
181
|
-
expect(arrays.findIndexLeast(2, [3, 2, 1])).toBe(0);
|
|
182
|
-
expect(arrays.findIndexLeast(2, [3, 2, 1], true)).toBe(2);
|
|
183
|
-
expect(arrays.findIndexLeast(2, [1, 2, 3])).toBe(2);
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
it('removeItem', () => {
|
|
187
|
-
const check = (input: any[], remove: any, output: any[]) => {
|
|
188
|
-
arrays.removeItem(input, remove);
|
|
189
|
-
expect(input).toStrictEqual(output);
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
check([1, 2, 3], 1, [2, 3]);
|
|
193
|
-
check([1, 2, 3], item => item === 1, [2, 3]);
|
|
194
|
-
check([1, 2, 3], '1', [1, 2, 3]);
|
|
195
|
-
});
|
|
196
|
-
});
|