@zajno/common 2.3.17 → 2.4.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/cjs/api/call.js +61 -0
- package/cjs/api/call.js.map +1 -0
- package/cjs/api/endpoint.js.map +1 -0
- package/cjs/api/endpoint.types.js.map +1 -0
- package/cjs/api/error.js.map +1 -0
- package/cjs/api/helpers.js +29 -0
- package/cjs/api/helpers.js.map +1 -0
- package/cjs/api/index.js.map +1 -0
- package/cjs/api/logging.js.map +1 -0
- package/cjs/api/methods.js.map +1 -0
- package/cjs/api/processor.js.map +1 -0
- package/cjs/api/register.js +25 -0
- package/cjs/api/register.js.map +1 -0
- package/cjs/api/statusCodes.js.map +1 -0
- package/cjs/async/arrays.js +38 -0
- package/cjs/async/arrays.js.map +1 -0
- package/cjs/async/misc.js +26 -0
- package/cjs/async/misc.js.map +1 -0
- package/cjs/async/timeout.js +63 -0
- package/cjs/async/timeout.js.map +1 -0
- package/cjs/dates/calc.js +62 -0
- package/cjs/dates/calc.js.map +1 -0
- package/cjs/dates/calendarIndex.js +85 -0
- package/cjs/dates/calendarIndex.js.map +1 -0
- package/cjs/dates/convert.js +127 -0
- package/cjs/dates/convert.js.map +1 -0
- package/cjs/dates/datex.js +101 -0
- package/cjs/dates/datex.js.map +1 -0
- package/cjs/dates/decompose.js +43 -0
- package/cjs/dates/decompose.js.map +1 -0
- package/cjs/dates/format.js.map +1 -0
- package/cjs/dates/index.js.map +1 -0
- package/cjs/dates/parse.js +49 -0
- package/cjs/dates/parse.js.map +1 -0
- package/cjs/dates/period.js.map +1 -0
- package/cjs/dates/shift.js +96 -0
- package/cjs/dates/shift.js.map +1 -0
- package/cjs/dates/types.js.map +1 -0
- package/cjs/dates/tz.js.map +1 -0
- package/cjs/dates/yearDate.js.map +1 -0
- package/cjs/fields/filter.js +28 -0
- package/cjs/fields/filter.js.map +1 -0
- package/cjs/fields/index.js.map +1 -0
- package/cjs/fields/skip.js.map +1 -0
- package/cjs/fields/transfer.js +46 -0
- package/cjs/fields/transfer.js.map +1 -0
- package/cjs/fields/update.js +78 -0
- package/cjs/fields/update.js.map +1 -0
- package/cjs/functions/assert.js +20 -0
- package/cjs/functions/assert.js.map +1 -0
- package/cjs/functions/disposer.js +73 -0
- package/cjs/functions/disposer.js.map +1 -0
- package/cjs/functions/disposer.symbols.js +29 -0
- package/cjs/functions/disposer.symbols.js.map +1 -0
- package/cjs/functions/safe.js +7 -0
- package/cjs/functions/safe.js.map +1 -0
- package/cjs/functions/throttle.js.map +1 -0
- package/cjs/lazy/light.js +23 -0
- package/cjs/lazy/light.js.map +1 -0
- package/cjs/lazy/promise.js +72 -0
- package/cjs/lazy/promise.js.map +1 -0
- package/cjs/lazy/singleton.js +69 -0
- package/cjs/lazy/singleton.js.map +1 -0
- package/cjs/lazy/types.js.map +1 -0
- package/cjs/logger/abstractions.js.map +1 -0
- package/cjs/logger/batch.js +11 -0
- package/cjs/logger/batch.js.map +1 -0
- package/cjs/logger/console.js.map +1 -0
- package/cjs/logger/file.js.map +1 -0
- package/cjs/logger/index.js +28 -0
- package/cjs/logger/index.js.map +1 -0
- package/cjs/logger/manager.js +89 -0
- package/cjs/logger/manager.js.map +1 -0
- package/cjs/logger/named.js.map +1 -0
- package/cjs/logger/proxy.js.map +1 -0
- package/cjs/math/arrays.js +289 -0
- package/cjs/math/arrays.js.map +1 -0
- package/cjs/math/calc.js +84 -0
- package/cjs/math/calc.js.map +1 -0
- package/cjs/math/distribution.js +15 -0
- package/cjs/math/distribution.js.map +1 -0
- package/cjs/math/index.js +29 -0
- package/cjs/math/index.js.map +1 -0
- package/cjs/math/object/helpers.js +28 -0
- package/cjs/math/object/helpers.js.map +1 -0
- package/cjs/math/object/index.js.map +1 -0
- package/cjs/math/object/math.composite.js.map +1 -0
- package/cjs/math/object/math.js.map +1 -0
- package/cjs/math/object/ops.composite.js.map +1 -0
- package/cjs/math/object/ops.js.map +1 -0
- package/cjs/math/object/types.js.map +1 -0
- package/cjs/models/EntityWithStatus.js.map +1 -0
- package/cjs/models/File.js.map +1 -0
- package/cjs/models/Model.js.map +1 -0
- package/cjs/models/ValuesCollector.js.map +1 -0
- package/cjs/models/types.js.map +1 -0
- package/cjs/models/wrappers.js +79 -0
- package/cjs/models/wrappers.js.map +1 -0
- package/cjs/observing/event.js +99 -0
- package/cjs/observing/event.js.map +1 -0
- package/cjs/observing/event.late.js.map +1 -0
- package/cjs/observing/progressTracker.js.map +1 -0
- package/cjs/observing/throttledEvent.js.map +1 -0
- package/cjs/observing/timer.js.map +1 -0
- package/cjs/package.json +3 -0
- package/cjs/storage/index.js.map +1 -0
- package/cjs/storage/types.js.map +1 -0
- package/cjs/storage/wrappers.js.map +1 -0
- package/cjs/structures/expire.js +22 -0
- package/cjs/structures/expire.js.map +1 -0
- package/cjs/structures/helpers/enum.js.map +1 -0
- package/cjs/structures/helpers/name.js.map +1 -0
- package/cjs/structures/linkedList.js.map +1 -0
- package/cjs/structures/nameof.js +26 -0
- package/cjs/structures/nameof.js.map +1 -0
- package/cjs/structures/path/builder.js +170 -0
- package/cjs/structures/path/builder.js.map +1 -0
- package/cjs/structures/path/index.js.map +1 -0
- package/cjs/structures/path/types.js +3 -0
- package/cjs/structures/path/types.js.map +1 -0
- package/cjs/structures/path/utils.js +61 -0
- package/cjs/structures/path/utils.js.map +1 -0
- package/cjs/structures/pool.js.map +1 -0
- package/cjs/structures/promiseCache.js.map +1 -0
- package/cjs/structures/promiseExtended.js +195 -0
- package/cjs/structures/promiseExtended.js.map +1 -0
- package/cjs/structures/promiseProxy.js +92 -0
- package/cjs/structures/promiseProxy.js.map +1 -0
- package/cjs/structures/queue/parallel.js.map +1 -0
- package/cjs/structures/queue/tasks.js.map +1 -0
- package/cjs/structures/subscribersMap.js.map +1 -0
- package/cjs/structures/tempoCache.js +59 -0
- package/cjs/structures/tempoCache.js.map +1 -0
- package/cjs/types/arrays.js +11 -0
- package/cjs/types/arrays.js.map +1 -0
- package/cjs/types/comparator.js.map +1 -0
- package/cjs/types/deep.js.map +1 -0
- package/cjs/types/functions.js.map +1 -0
- package/cjs/types/getter.js +26 -0
- package/cjs/types/getter.js.map +1 -0
- package/cjs/types/ident.js.map +1 -0
- package/cjs/types/index.js.map +1 -0
- package/cjs/types/misc.js.map +1 -0
- package/cjs/validation/ValidationErrors.js.map +1 -0
- package/cjs/validation/creditCard.js.map +1 -0
- package/cjs/validation/emails.js +11 -0
- package/cjs/validation/emails.js.map +1 -0
- package/cjs/validation/helpers.js +77 -0
- package/cjs/validation/helpers.js.map +1 -0
- package/cjs/validation/index.js.map +1 -0
- package/cjs/validation/throwers.js +33 -0
- package/cjs/validation/throwers.js.map +1 -0
- package/cjs/validation/types.js.map +1 -0
- package/cjs/validation/validators.js.map +1 -0
- package/cjs/validation/wrappers.js.map +1 -0
- package/esm/api/call.js +58 -0
- package/esm/api/call.js.map +1 -0
- package/esm/api/endpoint.js +65 -0
- package/esm/api/endpoint.js.map +1 -0
- package/esm/api/endpoint.types.js +8 -0
- package/esm/api/endpoint.types.js.map +1 -0
- package/esm/api/error.js +31 -0
- package/esm/api/error.js.map +1 -0
- package/esm/api/helpers.js +22 -0
- package/esm/api/helpers.js.map +1 -0
- package/esm/api/index.js +7 -0
- package/esm/api/index.js.map +1 -0
- package/esm/api/logging.js +25 -0
- package/esm/api/logging.js.map +1 -0
- package/esm/api/methods.js +8 -0
- package/esm/api/methods.js.map +1 -0
- package/esm/api/processor.js +46 -0
- package/esm/api/processor.js.map +1 -0
- package/esm/api/register.js +19 -0
- package/esm/api/register.js.map +1 -0
- package/esm/api/statusCodes.js +18 -0
- package/esm/api/statusCodes.js.map +1 -0
- package/esm/async/arrays.js +32 -0
- package/esm/async/arrays.js.map +1 -0
- package/esm/async/misc.js +21 -0
- package/esm/async/misc.js.map +1 -0
- package/esm/async/timeout.js +58 -0
- package/esm/async/timeout.js.map +1 -0
- package/esm/dates/calc.js +53 -0
- package/esm/dates/calc.js.map +1 -0
- package/esm/dates/calendarIndex.js +79 -0
- package/esm/dates/calendarIndex.js.map +1 -0
- package/esm/dates/convert.js +115 -0
- package/esm/dates/convert.js.map +1 -0
- package/esm/dates/datex.js +97 -0
- package/esm/dates/datex.js.map +1 -0
- package/esm/dates/decompose.js +39 -0
- package/esm/dates/decompose.js.map +1 -0
- package/esm/dates/format.js +121 -0
- package/esm/dates/format.js.map +1 -0
- package/esm/dates/index.js +11 -0
- package/esm/dates/index.js.map +1 -0
- package/esm/dates/parse.js +44 -0
- package/esm/dates/parse.js.map +1 -0
- package/esm/dates/period.js +22 -0
- package/esm/dates/period.js.map +1 -0
- package/esm/dates/shift.js +88 -0
- package/esm/dates/shift.js.map +1 -0
- package/esm/dates/types.js +48 -0
- package/esm/dates/types.js.map +1 -0
- package/esm/dates/tz.js +49 -0
- package/esm/dates/tz.js.map +1 -0
- package/esm/dates/yearDate.js +35 -0
- package/esm/dates/yearDate.js.map +1 -0
- package/esm/fields/filter.js +25 -0
- package/esm/fields/filter.js.map +1 -0
- package/esm/fields/index.js +4 -0
- package/esm/fields/index.js.map +1 -0
- package/esm/fields/skip.js +29 -0
- package/esm/fields/skip.js.map +1 -0
- package/esm/fields/transfer.js +41 -0
- package/esm/fields/transfer.js.map +1 -0
- package/esm/fields/update.js +73 -0
- package/esm/fields/update.js.map +1 -0
- package/esm/functions/assert.js +16 -0
- package/esm/functions/assert.js.map +1 -0
- package/esm/functions/disposer.js +66 -0
- package/esm/functions/disposer.js.map +1 -0
- package/esm/functions/disposer.symbols.js +24 -0
- package/esm/functions/disposer.symbols.js.map +1 -0
- package/esm/functions/safe.js +4 -0
- package/esm/functions/safe.js.map +1 -0
- package/esm/functions/throttle.js +132 -0
- package/esm/functions/throttle.js.map +1 -0
- package/esm/lazy/light.js +20 -0
- package/esm/lazy/light.js.map +1 -0
- package/esm/lazy/promise.js +68 -0
- package/esm/lazy/promise.js.map +1 -0
- package/esm/lazy/singleton.js +65 -0
- package/esm/lazy/singleton.js.map +1 -0
- package/esm/lazy/types.js +2 -0
- package/esm/lazy/types.js.map +1 -0
- package/esm/logger/abstractions.js +2 -0
- package/esm/logger/abstractions.js.map +1 -0
- package/esm/logger/batch.js +8 -0
- package/esm/logger/batch.js.map +1 -0
- package/esm/logger/console.js +43 -0
- package/esm/logger/console.js.map +1 -0
- package/esm/logger/file.js +60 -0
- package/esm/logger/file.js.map +1 -0
- package/esm/logger/index.js +19 -0
- package/esm/logger/index.js.map +1 -0
- package/esm/logger/manager.js +85 -0
- package/esm/logger/manager.js.map +1 -0
- package/esm/logger/named.js +32 -0
- package/esm/logger/named.js.map +1 -0
- package/esm/logger/proxy.js +24 -0
- package/esm/logger/proxy.js.map +1 -0
- package/esm/math/arrays.js +262 -0
- package/esm/math/arrays.js.map +1 -0
- package/esm/math/calc.js +72 -0
- package/esm/math/calc.js.map +1 -0
- package/esm/math/distribution.js +12 -0
- package/esm/math/distribution.js.map +1 -0
- package/esm/math/index.js +24 -0
- package/esm/math/index.js.map +1 -0
- package/esm/math/object/helpers.js +23 -0
- package/esm/math/object/helpers.js.map +1 -0
- package/esm/math/object/index.js +6 -0
- package/esm/math/object/index.js.map +1 -0
- package/esm/math/object/math.composite.js +58 -0
- package/esm/math/object/math.composite.js.map +1 -0
- package/esm/math/object/math.js +120 -0
- package/esm/math/object/math.js.map +1 -0
- package/esm/math/object/ops.composite.js +46 -0
- package/esm/math/object/ops.composite.js.map +1 -0
- package/esm/math/object/ops.js +85 -0
- package/esm/math/object/ops.js.map +1 -0
- package/esm/math/object/types.js +2 -0
- package/esm/math/object/types.js.map +1 -0
- package/esm/models/EntityWithStatus.js +45 -0
- package/esm/models/EntityWithStatus.js.map +1 -0
- package/esm/models/File.js +2 -0
- package/esm/models/File.js.map +1 -0
- package/esm/models/Model.js +20 -0
- package/esm/models/Model.js.map +1 -0
- package/esm/models/ValuesCollector.js +45 -0
- package/esm/models/ValuesCollector.js.map +1 -0
- package/esm/models/types.js +2 -0
- package/esm/models/types.js.map +1 -0
- package/esm/models/wrappers.js +72 -0
- package/esm/models/wrappers.js.map +1 -0
- package/esm/observing/event.js +94 -0
- package/esm/observing/event.js.map +1 -0
- package/esm/observing/event.late.js +35 -0
- package/esm/observing/event.late.js.map +1 -0
- package/esm/observing/progressTracker.js +72 -0
- package/esm/observing/progressTracker.js.map +1 -0
- package/esm/observing/throttledEvent.js +16 -0
- package/esm/observing/throttledEvent.js.map +1 -0
- package/esm/observing/timer.js +81 -0
- package/esm/observing/timer.js.map +1 -0
- package/esm/package.json +3 -0
- package/esm/storage/index.js +3 -0
- package/esm/storage/index.js.map +1 -0
- package/esm/storage/types.js +2 -0
- package/esm/storage/types.js.map +1 -0
- package/esm/storage/wrappers.js +51 -0
- package/esm/storage/wrappers.js.map +1 -0
- package/esm/structures/expire.js +18 -0
- package/esm/structures/expire.js.map +1 -0
- package/esm/structures/helpers/enum.js +104 -0
- package/esm/structures/helpers/enum.js.map +1 -0
- package/esm/structures/helpers/name.js +42 -0
- package/esm/structures/helpers/name.js.map +1 -0
- package/esm/structures/linkedList.js +78 -0
- package/esm/structures/linkedList.js.map +1 -0
- package/esm/structures/nameof.js +23 -0
- package/esm/structures/nameof.js.map +1 -0
- package/esm/structures/path/builder.js +164 -0
- package/esm/structures/path/builder.js.map +1 -0
- package/esm/structures/path/index.js +3 -0
- package/esm/structures/path/index.js.map +1 -0
- package/esm/structures/path/types.js +2 -0
- package/esm/structures/path/types.js.map +1 -0
- package/esm/structures/path/utils.js +56 -0
- package/esm/structures/path/utils.js.map +1 -0
- package/esm/structures/pool.js +45 -0
- package/esm/structures/pool.js.map +1 -0
- package/esm/structures/promiseCache.js +266 -0
- package/esm/structures/promiseCache.js.map +1 -0
- package/esm/structures/promiseExtended.js +191 -0
- package/esm/structures/promiseExtended.js.map +1 -0
- package/esm/structures/promiseProxy.js +89 -0
- package/esm/structures/promiseProxy.js.map +1 -0
- package/esm/structures/queue/parallel.js +116 -0
- package/esm/structures/queue/parallel.js.map +1 -0
- package/esm/structures/queue/tasks.js +72 -0
- package/esm/structures/queue/tasks.js.map +1 -0
- package/esm/structures/subscribersMap.js +94 -0
- package/esm/structures/subscribersMap.js.map +1 -0
- package/esm/structures/tempoCache.js +55 -0
- package/esm/structures/tempoCache.js.map +1 -0
- package/esm/types/arrays.js +7 -0
- package/esm/types/arrays.js.map +1 -0
- package/esm/types/comparator.js +5 -0
- package/esm/types/comparator.js.map +1 -0
- package/esm/types/deep.js +2 -0
- package/esm/types/deep.js.map +1 -0
- package/esm/types/functions.js +2 -0
- package/esm/types/functions.js.map +1 -0
- package/esm/types/getter.js +23 -0
- package/esm/types/getter.js.map +1 -0
- package/esm/types/ident.js +2 -0
- package/esm/types/ident.js.map +1 -0
- package/esm/types/index.js +5 -0
- package/esm/types/index.js.map +1 -0
- package/esm/types/misc.js +2 -0
- package/esm/types/misc.js.map +1 -0
- package/esm/validation/ValidationErrors.js +30 -0
- package/esm/validation/ValidationErrors.js.map +1 -0
- package/esm/validation/creditCard.js +22 -0
- package/esm/validation/creditCard.js.map +1 -0
- package/esm/validation/emails.js +8 -0
- package/esm/validation/emails.js.map +1 -0
- package/esm/validation/helpers.js +68 -0
- package/esm/validation/helpers.js.map +1 -0
- package/esm/validation/index.js +9 -0
- package/esm/validation/index.js.map +1 -0
- package/esm/validation/throwers.js +28 -0
- package/esm/validation/throwers.js.map +1 -0
- package/esm/validation/types.js +8 -0
- package/esm/validation/types.js.map +1 -0
- package/esm/validation/validators.js +48 -0
- package/esm/validation/validators.js.map +1 -0
- package/esm/validation/wrappers.js +23 -0
- package/esm/validation/wrappers.js.map +1 -0
- package/package.json +80 -11
- package/tsconfig.cjs.tsbuildinfo +1 -0
- package/tsconfig.esm.tsbuildinfo +1 -0
- package/tsconfig.types.tsbuildinfo +1 -0
- package/types/api/call.d.ts +35 -0
- package/types/api/endpoint.d.ts +38 -0
- package/types/api/endpoint.types.d.ts +45 -0
- package/types/api/error.d.ts +17 -0
- package/types/api/helpers.d.ts +9 -0
- package/types/api/index.d.ts +8 -0
- package/types/api/logging.d.ts +13 -0
- package/types/api/methods.d.ts +6 -0
- package/types/api/processor.d.ts +7 -0
- package/types/api/register.d.ts +7 -0
- package/types/api/statusCodes.d.ts +16 -0
- package/types/async/arrays.d.ts +4 -0
- package/types/async/misc.d.ts +8 -0
- package/types/async/timeout.d.ts +8 -0
- package/types/dates/calc.d.ts +9 -0
- package/types/dates/calendarIndex.d.ts +47 -0
- package/types/dates/convert.d.ts +15 -0
- package/types/dates/datex.d.ts +23 -0
- package/types/dates/decompose.d.ts +4 -0
- package/types/dates/format.d.ts +22 -0
- package/types/dates/index.d.ts +10 -0
- package/types/dates/parse.d.ts +10 -0
- package/types/dates/period.d.ts +11 -0
- package/types/dates/shift.d.ts +8 -0
- package/types/dates/types.d.ts +9 -0
- package/types/dates/tz.d.ts +7 -0
- package/types/dates/yearDate.d.ts +12 -0
- package/types/fields/filter.d.ts +9 -0
- package/types/fields/index.d.ts +3 -0
- package/types/fields/skip.d.ts +16 -0
- package/types/fields/transfer.d.ts +14 -0
- package/types/fields/update.d.ts +27 -0
- package/types/functions/assert.d.ts +2 -0
- package/types/functions/disposer.d.ts +24 -0
- package/types/functions/disposer.symbols.d.ts +6 -0
- package/types/functions/safe.d.ts +1 -0
- package/types/functions/throttle.d.ts +38 -0
- package/types/lazy/light.d.ts +2 -0
- package/types/lazy/promise.d.ts +23 -0
- package/types/lazy/singleton.d.ts +21 -0
- package/types/lazy/types.d.ts +12 -0
- package/types/logger/abstractions.d.ts +10 -0
- package/types/logger/batch.d.ts +2 -0
- package/types/logger/console.d.ts +18 -0
- package/types/logger/file.d.ts +15 -0
- package/types/logger/index.d.ts +13 -0
- package/types/logger/manager.d.ts +22 -0
- package/types/logger/named.d.ts +13 -0
- package/types/logger/proxy.d.ts +9 -0
- package/types/math/arrays.d.ts +44 -0
- package/types/math/calc.d.ts +17 -0
- package/types/math/distribution.d.ts +5 -0
- package/types/math/index.d.ts +5 -0
- package/types/math/object/helpers.d.ts +7 -0
- package/types/math/object/index.d.ts +5 -0
- package/types/math/object/math.composite.d.ts +16 -0
- package/types/math/object/math.d.ts +17 -0
- package/types/math/object/ops.composite.d.ts +14 -0
- package/types/math/object/ops.d.ts +20 -0
- package/types/math/object/types.d.ts +36 -0
- package/types/models/EntityWithStatus.d.ts +17 -0
- package/types/models/File.d.ts +9 -0
- package/types/models/Model.d.ts +12 -0
- package/types/models/ValuesCollector.d.ts +25 -0
- package/types/models/types.d.ts +24 -0
- package/types/models/wrappers.d.ts +17 -0
- package/types/observing/event.d.ts +25 -0
- package/types/observing/event.late.d.ts +10 -0
- package/types/observing/progressTracker.d.ts +27 -0
- package/types/observing/throttledEvent.d.ts +7 -0
- package/types/observing/timer.d.ts +41 -0
- package/types/storage/index.d.ts +2 -0
- package/types/storage/types.d.ts +12 -0
- package/types/storage/wrappers.d.ts +10 -0
- package/types/structures/expire.d.ts +13 -0
- package/types/structures/helpers/enum.d.ts +36 -0
- package/types/structures/helpers/name.d.ts +15 -0
- package/types/structures/linkedList.d.ts +38 -0
- package/types/structures/nameof.d.ts +13 -0
- package/types/structures/path/builder.d.ts +15 -0
- package/types/structures/path/index.d.ts +2 -0
- package/types/structures/path/types.d.ts +61 -0
- package/types/structures/path/utils.d.ts +14 -0
- package/types/structures/pool.d.ts +16 -0
- package/types/structures/promiseCache.d.ts +85 -0
- package/types/structures/promiseExtended.d.ts +70 -0
- package/types/structures/promiseProxy.d.ts +29 -0
- package/types/structures/queue/parallel.d.ts +23 -0
- package/types/structures/queue/tasks.d.ts +16 -0
- package/types/structures/subscribersMap.d.ts +22 -0
- package/types/structures/tempoCache.d.ts +29 -0
- package/types/types/arrays.d.ts +3 -0
- package/types/types/comparator.d.ts +4 -0
- package/types/types/deep.d.ts +25 -0
- package/types/types/functions.d.ts +15 -0
- package/types/types/getter.d.ts +9 -0
- package/types/types/ident.d.ts +5 -0
- package/types/types/index.d.ts +4 -0
- package/types/types/misc.d.ts +37 -0
- package/types/validation/ValidationErrors.d.ts +25 -0
- package/types/validation/creditCard.d.ts +8 -0
- package/types/validation/emails.d.ts +3 -0
- package/types/validation/helpers.d.ts +10 -0
- package/types/validation/index.d.ts +5 -0
- package/types/validation/throwers.d.ts +14 -0
- package/types/validation/types.d.ts +18 -0
- package/types/validation/validators.d.ts +30 -0
- package/types/validation/wrappers.d.ts +6 -0
- package/api/call.d.ts +0 -36
- package/api/call.d.ts.map +0 -1
- package/api/call.js +0 -62
- package/api/call.js.map +0 -1
- package/api/endpoint.d.ts +0 -39
- package/api/endpoint.d.ts.map +0 -1
- package/api/endpoint.js.map +0 -1
- package/api/endpoint.types.d.ts +0 -46
- package/api/endpoint.types.d.ts.map +0 -1
- package/api/endpoint.types.js.map +0 -1
- package/api/error.d.ts +0 -18
- package/api/error.d.ts.map +0 -1
- package/api/error.js.map +0 -1
- package/api/helpers.d.ts +0 -10
- package/api/helpers.d.ts.map +0 -1
- package/api/helpers.js +0 -29
- package/api/helpers.js.map +0 -1
- package/api/index.d.ts +0 -9
- package/api/index.d.ts.map +0 -1
- package/api/index.js.map +0 -1
- package/api/logging.d.ts +0 -14
- package/api/logging.d.ts.map +0 -1
- package/api/logging.js.map +0 -1
- package/api/methods.d.ts +0 -7
- package/api/methods.d.ts.map +0 -1
- package/api/methods.js.map +0 -1
- package/api/processor.d.ts +0 -8
- package/api/processor.d.ts.map +0 -1
- package/api/processor.js.map +0 -1
- package/api/register.d.ts +0 -8
- package/api/register.d.ts.map +0 -1
- package/api/register.js +0 -25
- package/api/register.js.map +0 -1
- package/api/statusCodes.d.ts +0 -17
- package/api/statusCodes.d.ts.map +0 -1
- package/api/statusCodes.js.map +0 -1
- package/async/arrays.d.ts +0 -5
- package/async/arrays.d.ts.map +0 -1
- package/async/arrays.js +0 -39
- package/async/arrays.js.map +0 -1
- package/async/misc.d.ts +0 -9
- package/async/misc.d.ts.map +0 -1
- package/async/misc.js +0 -27
- package/async/misc.js.map +0 -1
- package/async/timeout.d.ts +0 -9
- package/async/timeout.d.ts.map +0 -1
- package/async/timeout.js +0 -64
- package/async/timeout.js.map +0 -1
- package/dates/calc.d.ts +0 -10
- package/dates/calc.d.ts.map +0 -1
- package/dates/calc.js +0 -63
- package/dates/calc.js.map +0 -1
- package/dates/calendarIndex.d.ts +0 -48
- package/dates/calendarIndex.d.ts.map +0 -1
- package/dates/calendarIndex.js +0 -85
- package/dates/calendarIndex.js.map +0 -1
- package/dates/convert.d.ts +0 -16
- package/dates/convert.d.ts.map +0 -1
- package/dates/convert.js +0 -128
- package/dates/convert.js.map +0 -1
- package/dates/datex.d.ts +0 -24
- package/dates/datex.d.ts.map +0 -1
- package/dates/datex.js +0 -101
- package/dates/datex.js.map +0 -1
- package/dates/decompose.d.ts +0 -5
- package/dates/decompose.d.ts.map +0 -1
- package/dates/decompose.js +0 -44
- package/dates/decompose.js.map +0 -1
- package/dates/format.d.ts +0 -23
- package/dates/format.d.ts.map +0 -1
- package/dates/format.js.map +0 -1
- package/dates/index.d.ts +0 -11
- package/dates/index.d.ts.map +0 -1
- package/dates/index.js.map +0 -1
- package/dates/parse.d.ts +0 -11
- package/dates/parse.d.ts.map +0 -1
- package/dates/parse.js +0 -49
- package/dates/parse.js.map +0 -1
- package/dates/period.d.ts +0 -12
- package/dates/period.d.ts.map +0 -1
- package/dates/period.js.map +0 -1
- package/dates/shift.d.ts +0 -9
- package/dates/shift.d.ts.map +0 -1
- package/dates/shift.js +0 -96
- package/dates/shift.js.map +0 -1
- package/dates/types.d.ts +0 -10
- package/dates/types.d.ts.map +0 -1
- package/dates/types.js.map +0 -1
- package/dates/tz.d.ts +0 -8
- package/dates/tz.d.ts.map +0 -1
- package/dates/tz.js.map +0 -1
- package/dates/yearDate.d.ts +0 -13
- package/dates/yearDate.d.ts.map +0 -1
- package/dates/yearDate.js.map +0 -1
- package/fields/filter.d.ts +0 -10
- package/fields/filter.d.ts.map +0 -1
- package/fields/filter.js +0 -29
- package/fields/filter.js.map +0 -1
- package/fields/index.d.ts +0 -4
- package/fields/index.d.ts.map +0 -1
- package/fields/index.js.map +0 -1
- package/fields/skip.d.ts +0 -17
- package/fields/skip.d.ts.map +0 -1
- package/fields/skip.js.map +0 -1
- package/fields/transfer.d.ts +0 -15
- package/fields/transfer.d.ts.map +0 -1
- package/fields/transfer.js +0 -47
- package/fields/transfer.js.map +0 -1
- package/fields/update.d.ts +0 -28
- package/fields/update.d.ts.map +0 -1
- package/fields/update.js +0 -79
- package/fields/update.js.map +0 -1
- package/functions/assert.d.ts +0 -3
- package/functions/assert.d.ts.map +0 -1
- package/functions/assert.js +0 -21
- package/functions/assert.js.map +0 -1
- package/functions/disposer.d.ts +0 -25
- package/functions/disposer.d.ts.map +0 -1
- package/functions/disposer.js +0 -73
- package/functions/disposer.js.map +0 -1
- package/functions/disposer.symbols.d.ts +0 -7
- package/functions/disposer.symbols.d.ts.map +0 -1
- package/functions/disposer.symbols.js +0 -29
- package/functions/disposer.symbols.js.map +0 -1
- package/functions/safe.d.ts +0 -2
- package/functions/safe.d.ts.map +0 -1
- package/functions/safe.js +0 -8
- package/functions/safe.js.map +0 -1
- package/functions/throttle.d.ts +0 -39
- package/functions/throttle.d.ts.map +0 -1
- package/functions/throttle.js.map +0 -1
- package/lazy/light.d.ts +0 -9
- package/lazy/light.d.ts.map +0 -1
- package/lazy/light.js +0 -23
- package/lazy/light.js.map +0 -1
- package/lazy/promise.d.ts +0 -24
- package/lazy/promise.d.ts.map +0 -1
- package/lazy/promise.js +0 -56
- package/lazy/promise.js.map +0 -1
- package/lazy/singleton.d.ts +0 -18
- package/lazy/singleton.d.ts.map +0 -1
- package/lazy/singleton.js +0 -44
- package/lazy/singleton.js.map +0 -1
- package/logger/abstractions.d.ts +0 -11
- package/logger/abstractions.d.ts.map +0 -1
- package/logger/abstractions.js.map +0 -1
- package/logger/batch.d.ts +0 -3
- package/logger/batch.d.ts.map +0 -1
- package/logger/batch.js +0 -12
- package/logger/batch.js.map +0 -1
- package/logger/console.d.ts +0 -19
- package/logger/console.d.ts.map +0 -1
- package/logger/console.js.map +0 -1
- package/logger/file.d.ts +0 -16
- package/logger/file.d.ts.map +0 -1
- package/logger/file.js.map +0 -1
- package/logger/index.d.ts +0 -16
- package/logger/index.d.ts.map +0 -1
- package/logger/index.js +0 -64
- package/logger/index.js.map +0 -1
- package/logger/named.d.ts +0 -14
- package/logger/named.d.ts.map +0 -1
- package/logger/named.js.map +0 -1
- package/logger/proxy.d.ts +0 -10
- package/logger/proxy.d.ts.map +0 -1
- package/logger/proxy.js.map +0 -1
- package/math/arrays.d.ts +0 -43
- package/math/arrays.d.ts.map +0 -1
- package/math/arrays.js +0 -273
- package/math/arrays.js.map +0 -1
- package/math/calc.d.ts +0 -18
- package/math/calc.d.ts.map +0 -1
- package/math/calc.js +0 -85
- package/math/calc.js.map +0 -1
- package/math/distribution.d.ts +0 -6
- package/math/distribution.d.ts.map +0 -1
- package/math/distribution.js +0 -16
- package/math/distribution.js.map +0 -1
- package/math/index.d.ts +0 -6
- package/math/index.d.ts.map +0 -1
- package/math/index.js +0 -30
- package/math/index.js.map +0 -1
- package/math/object/helpers.d.ts +0 -8
- package/math/object/helpers.d.ts.map +0 -1
- package/math/object/helpers.js +0 -29
- package/math/object/helpers.js.map +0 -1
- package/math/object/index.d.ts +0 -6
- package/math/object/index.d.ts.map +0 -1
- package/math/object/index.js.map +0 -1
- package/math/object/math.composite.d.ts +0 -17
- package/math/object/math.composite.d.ts.map +0 -1
- package/math/object/math.composite.js.map +0 -1
- package/math/object/math.d.ts +0 -18
- package/math/object/math.d.ts.map +0 -1
- package/math/object/math.js.map +0 -1
- package/math/object/ops.composite.d.ts +0 -15
- package/math/object/ops.composite.d.ts.map +0 -1
- package/math/object/ops.composite.js.map +0 -1
- package/math/object/ops.d.ts +0 -21
- package/math/object/ops.d.ts.map +0 -1
- package/math/object/ops.js.map +0 -1
- package/math/object/types.d.ts +0 -37
- package/math/object/types.d.ts.map +0 -1
- package/math/object/types.js.map +0 -1
- package/models/EntityWithStatus.d.ts +0 -18
- package/models/EntityWithStatus.d.ts.map +0 -1
- package/models/EntityWithStatus.js.map +0 -1
- package/models/File.d.ts +0 -10
- package/models/File.d.ts.map +0 -1
- package/models/File.js.map +0 -1
- package/models/Model.d.ts +0 -13
- package/models/Model.d.ts.map +0 -1
- package/models/Model.js.map +0 -1
- package/models/ValuesCollector.d.ts +0 -26
- package/models/ValuesCollector.d.ts.map +0 -1
- package/models/ValuesCollector.js.map +0 -1
- package/models/types.d.ts +0 -25
- package/models/types.d.ts.map +0 -1
- package/models/types.js.map +0 -1
- package/models/wrappers.d.ts +0 -18
- package/models/wrappers.d.ts.map +0 -1
- package/models/wrappers.js +0 -80
- package/models/wrappers.js.map +0 -1
- package/observing/event.d.ts +0 -26
- package/observing/event.d.ts.map +0 -1
- package/observing/event.js +0 -99
- package/observing/event.js.map +0 -1
- package/observing/event.late.d.ts +0 -11
- package/observing/event.late.d.ts.map +0 -1
- package/observing/event.late.js.map +0 -1
- package/observing/progressTracker.d.ts +0 -28
- package/observing/progressTracker.d.ts.map +0 -1
- package/observing/progressTracker.js.map +0 -1
- package/observing/throttledEvent.d.ts +0 -8
- package/observing/throttledEvent.d.ts.map +0 -1
- package/observing/throttledEvent.js.map +0 -1
- package/observing/timer.d.ts +0 -42
- package/observing/timer.d.ts.map +0 -1
- package/observing/timer.js.map +0 -1
- package/storage/index.d.ts +0 -3
- package/storage/index.d.ts.map +0 -1
- package/storage/index.js.map +0 -1
- package/storage/types.d.ts +0 -13
- package/storage/types.d.ts.map +0 -1
- package/storage/types.js.map +0 -1
- package/storage/wrappers.d.ts +0 -11
- package/storage/wrappers.d.ts.map +0 -1
- package/storage/wrappers.js.map +0 -1
- package/structures/helpers/enum.d.ts +0 -37
- package/structures/helpers/enum.d.ts.map +0 -1
- package/structures/helpers/enum.js.map +0 -1
- package/structures/helpers/name.d.ts +0 -16
- package/structures/helpers/name.d.ts.map +0 -1
- package/structures/helpers/name.js.map +0 -1
- package/structures/linkedList.d.ts +0 -39
- package/structures/linkedList.d.ts.map +0 -1
- package/structures/linkedList.js.map +0 -1
- package/structures/nameof.d.ts +0 -14
- package/structures/nameof.d.ts.map +0 -1
- package/structures/nameof.js +0 -27
- package/structures/nameof.js.map +0 -1
- package/structures/path/builder.d.ts +0 -16
- package/structures/path/builder.d.ts.map +0 -1
- package/structures/path/builder.js +0 -170
- package/structures/path/builder.js.map +0 -1
- package/structures/path/index.d.ts +0 -3
- package/structures/path/index.d.ts.map +0 -1
- package/structures/path/index.js.map +0 -1
- package/structures/path/types.d.ts +0 -62
- package/structures/path/types.d.ts.map +0 -1
- package/structures/path/types.js.map +0 -1
- package/structures/path/utils.d.ts +0 -15
- package/structures/path/utils.d.ts.map +0 -1
- package/structures/path/utils.js +0 -61
- package/structures/path/utils.js.map +0 -1
- package/structures/pool.d.ts +0 -17
- package/structures/pool.d.ts.map +0 -1
- package/structures/pool.js.map +0 -1
- package/structures/promiseCache.d.ts +0 -86
- package/structures/promiseCache.d.ts.map +0 -1
- package/structures/promiseCache.js.map +0 -1
- package/structures/promiseExtended.d.ts +0 -71
- package/structures/promiseExtended.d.ts.map +0 -1
- package/structures/promiseExtended.js +0 -193
- package/structures/promiseExtended.js.map +0 -1
- package/structures/promiseProxy.d.ts +0 -30
- package/structures/promiseProxy.d.ts.map +0 -1
- package/structures/promiseProxy.js +0 -93
- package/structures/promiseProxy.js.map +0 -1
- package/structures/queue/parallel.d.ts +0 -24
- package/structures/queue/parallel.d.ts.map +0 -1
- package/structures/queue/parallel.js.map +0 -1
- package/structures/queue/tasks.d.ts +0 -17
- package/structures/queue/tasks.d.ts.map +0 -1
- package/structures/queue/tasks.js.map +0 -1
- package/structures/subscribersMap.d.ts +0 -23
- package/structures/subscribersMap.d.ts.map +0 -1
- package/structures/subscribersMap.js.map +0 -1
- package/structures/tempoCache.d.ts +0 -10
- package/structures/tempoCache.d.ts.map +0 -1
- package/structures/tempoCache.js +0 -23
- package/structures/tempoCache.js.map +0 -1
- package/types/arrays.d.ts +0 -4
- package/types/arrays.d.ts.map +0 -1
- package/types/arrays.js +0 -12
- package/types/arrays.js.map +0 -1
- package/types/comparator.d.ts +0 -5
- package/types/comparator.d.ts.map +0 -1
- package/types/comparator.js.map +0 -1
- package/types/deep.d.ts +0 -26
- package/types/deep.d.ts.map +0 -1
- package/types/deep.js.map +0 -1
- package/types/functions.d.ts +0 -16
- package/types/functions.d.ts.map +0 -1
- package/types/functions.js.map +0 -1
- package/types/getter.d.ts +0 -5
- package/types/getter.d.ts.map +0 -1
- package/types/getter.js +0 -14
- package/types/getter.js.map +0 -1
- package/types/ident.d.ts +0 -6
- package/types/ident.d.ts.map +0 -1
- package/types/ident.js.map +0 -1
- package/types/index.d.ts +0 -5
- package/types/index.d.ts.map +0 -1
- package/types/index.js.map +0 -1
- package/types/misc.d.ts +0 -38
- package/types/misc.d.ts.map +0 -1
- package/types/misc.js.map +0 -1
- package/validation/ValidationErrors.d.ts +0 -26
- package/validation/ValidationErrors.d.ts.map +0 -1
- package/validation/ValidationErrors.js.map +0 -1
- package/validation/creditCard.d.ts +0 -9
- package/validation/creditCard.d.ts.map +0 -1
- package/validation/creditCard.js.map +0 -1
- package/validation/emails.d.ts +0 -4
- package/validation/emails.d.ts.map +0 -1
- package/validation/emails.js +0 -12
- package/validation/emails.js.map +0 -1
- package/validation/helpers.d.ts +0 -11
- package/validation/helpers.d.ts.map +0 -1
- package/validation/helpers.js +0 -78
- package/validation/helpers.js.map +0 -1
- package/validation/index.d.ts +0 -6
- package/validation/index.d.ts.map +0 -1
- package/validation/index.js.map +0 -1
- package/validation/throwers.d.ts +0 -14
- package/validation/throwers.d.ts.map +0 -1
- package/validation/throwers.js +0 -29
- package/validation/throwers.js.map +0 -1
- package/validation/types.d.ts +0 -19
- package/validation/types.d.ts.map +0 -1
- package/validation/types.js.map +0 -1
- package/validation/validators.d.ts +0 -31
- package/validation/validators.d.ts.map +0 -1
- package/validation/validators.js.map +0 -1
- package/validation/wrappers.d.ts +0 -7
- package/validation/wrappers.d.ts.map +0 -1
- package/validation/wrappers.js.map +0 -1
- /package/{api → cjs/api}/endpoint.js +0 -0
- /package/{api → cjs/api}/endpoint.types.js +0 -0
- /package/{api → cjs/api}/error.js +0 -0
- /package/{api → cjs/api}/index.js +0 -0
- /package/{api → cjs/api}/logging.js +0 -0
- /package/{api → cjs/api}/methods.js +0 -0
- /package/{api → cjs/api}/processor.js +0 -0
- /package/{api → cjs/api}/statusCodes.js +0 -0
- /package/{dates → cjs/dates}/format.js +0 -0
- /package/{dates → cjs/dates}/index.js +0 -0
- /package/{dates → cjs/dates}/period.js +0 -0
- /package/{dates → cjs/dates}/types.js +0 -0
- /package/{dates → cjs/dates}/tz.js +0 -0
- /package/{dates → cjs/dates}/yearDate.js +0 -0
- /package/{fields → cjs/fields}/index.js +0 -0
- /package/{fields → cjs/fields}/skip.js +0 -0
- /package/{functions → cjs/functions}/throttle.js +0 -0
- /package/{math/object → cjs/lazy}/types.js +0 -0
- /package/{logger → cjs/logger}/abstractions.js +0 -0
- /package/{logger → cjs/logger}/console.js +0 -0
- /package/{logger → cjs/logger}/file.js +0 -0
- /package/{logger → cjs/logger}/named.js +0 -0
- /package/{logger → cjs/logger}/proxy.js +0 -0
- /package/{math → cjs/math}/object/index.js +0 -0
- /package/{math → cjs/math}/object/math.composite.js +0 -0
- /package/{math → cjs/math}/object/math.js +0 -0
- /package/{math → cjs/math}/object/ops.composite.js +0 -0
- /package/{math → cjs/math}/object/ops.js +0 -0
- /package/{models → cjs/math/object}/types.js +0 -0
- /package/{models → cjs/models}/EntityWithStatus.js +0 -0
- /package/{models → cjs/models}/File.js +0 -0
- /package/{models → cjs/models}/Model.js +0 -0
- /package/{models → cjs/models}/ValuesCollector.js +0 -0
- /package/{storage → cjs/models}/types.js +0 -0
- /package/{observing → cjs/observing}/event.late.js +0 -0
- /package/{observing → cjs/observing}/progressTracker.js +0 -0
- /package/{observing → cjs/observing}/throttledEvent.js +0 -0
- /package/{observing → cjs/observing}/timer.js +0 -0
- /package/{storage → cjs/storage}/index.js +0 -0
- /package/{structures/path → cjs/storage}/types.js +0 -0
- /package/{storage → cjs/storage}/wrappers.js +0 -0
- /package/{structures → cjs/structures}/helpers/enum.js +0 -0
- /package/{structures → cjs/structures}/helpers/name.js +0 -0
- /package/{structures → cjs/structures}/linkedList.js +0 -0
- /package/{structures → cjs/structures}/path/index.js +0 -0
- /package/{structures → cjs/structures}/pool.js +0 -0
- /package/{structures → cjs/structures}/promiseCache.js +0 -0
- /package/{structures → cjs/structures}/queue/parallel.js +0 -0
- /package/{structures → cjs/structures}/queue/tasks.js +0 -0
- /package/{structures → cjs/structures}/subscribersMap.js +0 -0
- /package/{types → cjs/types}/comparator.js +0 -0
- /package/{types → cjs/types}/deep.js +0 -0
- /package/{types → cjs/types}/functions.js +0 -0
- /package/{types → cjs/types}/ident.js +0 -0
- /package/{types → cjs/types}/index.js +0 -0
- /package/{types → cjs/types}/misc.js +0 -0
- /package/{validation → cjs/validation}/ValidationErrors.js +0 -0
- /package/{validation → cjs/validation}/creditCard.js +0 -0
- /package/{validation → cjs/validation}/index.js +0 -0
- /package/{validation → cjs/validation}/types.js +0 -0
- /package/{validation → cjs/validation}/validators.js +0 -0
- /package/{validation → cjs/validation}/wrappers.js +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { _getInnerValue, doOps } from './helpers';
|
|
2
|
+
export class CompositeObjectOps {
|
|
3
|
+
Empty;
|
|
4
|
+
_ops;
|
|
5
|
+
constructor(innerOps) {
|
|
6
|
+
this._ops = Object.entries(innerOps)
|
|
7
|
+
.map(pair => {
|
|
8
|
+
const result = {
|
|
9
|
+
key: pair[0],
|
|
10
|
+
ops: pair[1],
|
|
11
|
+
};
|
|
12
|
+
return result;
|
|
13
|
+
});
|
|
14
|
+
this.Empty = this.getEmpty();
|
|
15
|
+
}
|
|
16
|
+
isEmpty(o) {
|
|
17
|
+
return !o || this._ops.every(op => op.ops.isEmpty(_getInnerValue(o, op.key)));
|
|
18
|
+
}
|
|
19
|
+
getEmpty() {
|
|
20
|
+
return doOps(this._ops, {}, ops => ops.getEmpty());
|
|
21
|
+
}
|
|
22
|
+
clone(o) {
|
|
23
|
+
return doOps(this._ops, o);
|
|
24
|
+
}
|
|
25
|
+
isValid(o) {
|
|
26
|
+
return o != null && this._ops.every(op => op.ops.isValid(_getInnerValue(o, op.key)));
|
|
27
|
+
}
|
|
28
|
+
isEquals(a, b) {
|
|
29
|
+
if (!a && !b) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
if (!a || !b) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return this._ops.every(pair => pair.ops.isEquals(_getInnerValue(a, pair.key), _getInnerValue(b, pair.key)));
|
|
36
|
+
}
|
|
37
|
+
assign(to, other) {
|
|
38
|
+
this._ops.forEach(pair => {
|
|
39
|
+
const val = _getInnerValue(other, pair.key);
|
|
40
|
+
if (val !== undefined) {
|
|
41
|
+
to[pair.key] = val;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ops.composite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.composite.js","sourceRoot":"","sources":["../../../../src/math/object/ops.composite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGlD,MAAM,OAAO,kBAAkB;IAClB,KAAK,CAAc;IAEX,IAAI,CAAe;IAEpC,YAAY,QAAwB;QAEhC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC/B,GAAG,CAAC,IAAI,CAAC,EAAE;YACR,MAAM,MAAM,GAAe;gBACvB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAS;gBACpB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAwB;aACtC,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,CAAkB;QACtB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAsB,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,CAAkB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,CAAkB;QACtB,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ,CAAC,CAAkB,EAAE,CAAkB;QAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC5C,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAC3B,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAC9B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAK,EAAE,KAAsB;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACvB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { SkipCondition, SkipOptions } from '../../fields/skip';
|
|
2
|
+
import { _getValue } from './helpers';
|
|
3
|
+
export class ObjectOps {
|
|
4
|
+
keys;
|
|
5
|
+
Empty;
|
|
6
|
+
_validator;
|
|
7
|
+
constructor(keys) {
|
|
8
|
+
this.keys = keys;
|
|
9
|
+
this.Empty = this.getEmpty();
|
|
10
|
+
}
|
|
11
|
+
addValidator(validator) {
|
|
12
|
+
this._validator = validator;
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
getEmpty() {
|
|
16
|
+
const result = {};
|
|
17
|
+
this.keys.forEach(key => {
|
|
18
|
+
result[key] = 0;
|
|
19
|
+
});
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
clone(o) {
|
|
23
|
+
const result = this.getEmpty();
|
|
24
|
+
if (o != null) {
|
|
25
|
+
this.keys.forEach(key => {
|
|
26
|
+
const kk = key;
|
|
27
|
+
result[key] = o[kk];
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
isEmpty(o) {
|
|
33
|
+
return !o || this.keys.every(key => !_getValue(o, key));
|
|
34
|
+
}
|
|
35
|
+
isValid(o) {
|
|
36
|
+
return o && (this._validator ? this._validator(o) : !this.isEmpty(o));
|
|
37
|
+
}
|
|
38
|
+
isEquals(a, b) {
|
|
39
|
+
if (!a && !b) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if (!a || !b) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return this.keys.every(key => _getValue(a, key) === _getValue(b, key));
|
|
46
|
+
}
|
|
47
|
+
strip(v, condition = true) {
|
|
48
|
+
const res = {};
|
|
49
|
+
this.keys.forEach(key => {
|
|
50
|
+
const val = _getValue(v, key);
|
|
51
|
+
if (SkipCondition.shouldSkip(condition, key, val)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const kk = key;
|
|
55
|
+
const vv = val;
|
|
56
|
+
res[kk] = vv;
|
|
57
|
+
});
|
|
58
|
+
return res;
|
|
59
|
+
}
|
|
60
|
+
toStringData(v, labels, strip = false) {
|
|
61
|
+
if (!v) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
const results = [];
|
|
65
|
+
this.keys
|
|
66
|
+
.forEach(key => {
|
|
67
|
+
if (SkipOptions.shouldSkip(_getValue(v, key), strip)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const val = _getValue(v, key);
|
|
71
|
+
const label = labels[key];
|
|
72
|
+
results.push([val, label]);
|
|
73
|
+
});
|
|
74
|
+
return results;
|
|
75
|
+
}
|
|
76
|
+
assign(to, other) {
|
|
77
|
+
this.keys.forEach(key => {
|
|
78
|
+
const val = _getValue(other, key);
|
|
79
|
+
if (val !== undefined) {
|
|
80
|
+
to[key] = val;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../../src/math/object/ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/math/object/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export var EntityWithStatus;
|
|
2
|
+
(function (EntityWithStatus) {
|
|
3
|
+
function changeStatus(entity, status, date = null, allowStatusUpdate = false) {
|
|
4
|
+
if (!entity) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
if (entity.status === status && !allowStatusUpdate) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (!entity.history) {
|
|
11
|
+
entity.history = [];
|
|
12
|
+
}
|
|
13
|
+
entity.history.push({ d: entity.date || Date.now(), s: entity.status || null });
|
|
14
|
+
entity.date = date || Date.now();
|
|
15
|
+
entity.status = status;
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
EntityWithStatus.changeStatus = changeStatus;
|
|
19
|
+
function getLastStatusDate(entity, ...statuses) {
|
|
20
|
+
if (!entity || !statuses.length) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
if (entity.status && statuses.includes(entity.status)) {
|
|
24
|
+
return entity.date;
|
|
25
|
+
}
|
|
26
|
+
if (entity.history && entity.history.length) {
|
|
27
|
+
const t = entity.history.find(h => h.s && statuses.includes(h.s));
|
|
28
|
+
if (t) {
|
|
29
|
+
return t.d;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
EntityWithStatus.getLastStatusDate = getLastStatusDate;
|
|
35
|
+
function getFullHistory(entity) {
|
|
36
|
+
const result = [];
|
|
37
|
+
if (entity.history?.length) {
|
|
38
|
+
result.push(...entity.history.map(h => ({ date: h.d, status: h.s })));
|
|
39
|
+
}
|
|
40
|
+
result.push({ date: entity.date, status: entity.status });
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
EntityWithStatus.getFullHistory = getFullHistory;
|
|
44
|
+
})(EntityWithStatus || (EntityWithStatus = {}));
|
|
45
|
+
//# sourceMappingURL=EntityWithStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityWithStatus.js","sourceRoot":"","sources":["../../../src/models/EntityWithStatus.ts"],"names":[],"mappings":"AAcA,MAAM,KAAW,gBAAgB,CAgDhC;AAhDD,WAAiB,gBAAgB;IAE7B,SAAgB,YAAY,CAA8D,MAAkB,EAAE,MAAe,EAAE,OAAsB,IAAI,EAAE,iBAAiB,GAAG,KAAK;QAChL,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAjBe,6BAAY,eAiB3B,CAAA;IAED,SAAgB,iBAAiB,CAA8D,MAAS,EAAE,GAAG,QAAmB;QAC5H,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAjBe,kCAAiB,oBAiBhC,CAAA;IAED,SAAgB,cAAc,CAA8D,MAAS;QACjG,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAClB,CAAC;IAPe,+BAAc,iBAO7B,CAAA;AACL,CAAC,EAhDgB,gBAAgB,KAAhB,gBAAgB,QAgDhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../../src/models/File.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Getter } from '../types/getter';
|
|
2
|
+
export class Model {
|
|
3
|
+
_value;
|
|
4
|
+
_defaultValue;
|
|
5
|
+
constructor(v = null) {
|
|
6
|
+
this._value = v;
|
|
7
|
+
this._defaultValue = v;
|
|
8
|
+
}
|
|
9
|
+
get value() { return Getter.getValue(this._value); }
|
|
10
|
+
set value(v) {
|
|
11
|
+
this.setValue(v);
|
|
12
|
+
}
|
|
13
|
+
setValue(value) {
|
|
14
|
+
this._value = value;
|
|
15
|
+
}
|
|
16
|
+
reset() {
|
|
17
|
+
this.setValue(this._defaultValue);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,OAAO,KAAK;IACN,MAAM,CAAsB;IAEnB,aAAa,CAAsB;IAEpD,YAAY,IAAyB,IAAI;QACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAW,KAAK,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC;IAC5D,IAAW,KAAK,CAAC,CAAI;QACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,KAA0B;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;CACJ"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export class ModelCollector {
|
|
2
|
+
_collectors = {};
|
|
3
|
+
addModels(models) {
|
|
4
|
+
Object.entries(models).forEach(pair => this.addModel(pair[0], pair[1]));
|
|
5
|
+
return this;
|
|
6
|
+
}
|
|
7
|
+
addModel(key, source) {
|
|
8
|
+
this._collectors[key] = {
|
|
9
|
+
get: () => source.value,
|
|
10
|
+
set: v => { source.value = v; },
|
|
11
|
+
};
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
addCollector(key, model, collector) {
|
|
15
|
+
this._collectors[key] = {
|
|
16
|
+
get: () => collector.getValue(model),
|
|
17
|
+
set: v => collector.setValue(model, v),
|
|
18
|
+
};
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
remove(key) {
|
|
22
|
+
delete this._collectors[key];
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
collect() {
|
|
26
|
+
const res = {};
|
|
27
|
+
Object.entries(this._collectors).forEach(pair => {
|
|
28
|
+
const key = pair[0];
|
|
29
|
+
const collector = pair[1];
|
|
30
|
+
res[key] = collector.get();
|
|
31
|
+
});
|
|
32
|
+
return res;
|
|
33
|
+
}
|
|
34
|
+
populate(data) {
|
|
35
|
+
Object.entries(data).forEach(pair => {
|
|
36
|
+
const key = pair[0];
|
|
37
|
+
const value = pair[1];
|
|
38
|
+
const collector = this._collectors[key];
|
|
39
|
+
if (collector) {
|
|
40
|
+
collector.set(value);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ValuesCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValuesCollector.js","sourceRoot":"","sources":["../../../src/models/ValuesCollector.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,cAAc;IAEN,WAAW,GAA2B,EAAG,CAAC;IAEpD,SAAS,CAAC,MAA6B;QAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAY,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,QAAQ,CAA6D,GAAS,EAAE,MAAe;QAClG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;YACpB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK;YACvB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAoF,GAAS,EAAE,KAAa,EAAE,SAAqB;QAClJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;YACpB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACpC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACzC,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,GAAY;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO;QACV,MAAM,GAAG,GAAG,EAAQ,CAAC;QAErB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAY,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAgC,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,QAAQ,CAAC,IAAO;QACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAY,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAe,CAAC;YAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/models/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Getter } from '../types/getter';
|
|
2
|
+
export function withLabel(model, label) {
|
|
3
|
+
const _label = label;
|
|
4
|
+
Object.defineProperty(model, 'label', {
|
|
5
|
+
configurable: true,
|
|
6
|
+
enumerable: false,
|
|
7
|
+
get() { return Getter.getValue(_label); },
|
|
8
|
+
});
|
|
9
|
+
return model;
|
|
10
|
+
}
|
|
11
|
+
export function inject(model, source) {
|
|
12
|
+
Object.defineProperty(model, 'value', {
|
|
13
|
+
configurable: true,
|
|
14
|
+
enumerable: false,
|
|
15
|
+
get() { return source.value; },
|
|
16
|
+
set(v) { source.value = v; },
|
|
17
|
+
});
|
|
18
|
+
return model;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Adds callbacks to setter and getter of the 'value' property of a model. DOES NOT override previous spies (all spies are in charge).
|
|
22
|
+
*
|
|
23
|
+
* Useful mostly for debugging.
|
|
24
|
+
* */
|
|
25
|
+
export function spyModel(model, spySetter, spyGetter) {
|
|
26
|
+
const descriptor = Object.getOwnPropertyDescriptor(model, 'value');
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method -- bound later
|
|
28
|
+
const valueSetter = descriptor?.set;
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method -- bound later
|
|
30
|
+
const valueGetter = descriptor?.get;
|
|
31
|
+
let _overrideValue = descriptor ? descriptor.value : model.value;
|
|
32
|
+
Object.defineProperty(model, 'value', {
|
|
33
|
+
configurable: true,
|
|
34
|
+
set(v) {
|
|
35
|
+
spySetter(v);
|
|
36
|
+
if (valueSetter) {
|
|
37
|
+
valueSetter.call(model, v);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
_overrideValue = v;
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
get() {
|
|
44
|
+
let res = null;
|
|
45
|
+
if (valueGetter) {
|
|
46
|
+
res = valueGetter.call(model);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
res = _overrideValue;
|
|
50
|
+
}
|
|
51
|
+
spyGetter?.(res);
|
|
52
|
+
return res;
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export function wrap(model, getter, setter) {
|
|
57
|
+
return {
|
|
58
|
+
get value() { return getter(model); },
|
|
59
|
+
set value(v) { setter(v, model); },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export function mixinLabel(Superclass) {
|
|
63
|
+
// @ts-expect-error -- hard to deal with this error here
|
|
64
|
+
class Sub extends Superclass {
|
|
65
|
+
constructor(label, initial) {
|
|
66
|
+
super(initial);
|
|
67
|
+
withLabel(this, label);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return Sub;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=wrappers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../../src/models/wrappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,UAAU,SAAS,CAAoD,KAAa,EAAE,KAAqB;IAC7G,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;QAClC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;QACjB,GAAG,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO,KAAgC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,MAAM,CAAmC,KAAa,EAAE,MAAsB;IAC1F,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;QAClC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;QACjB,GAAG,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,GAAG,CAAC,CAAI,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;KAClC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;KAIK;AACL,MAAM,UAAU,QAAQ,CAA8C,KAAa,EAAE,SAAyB,EAAE,SAA0B;IACtI,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnE,4EAA4E;IAC5E,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,CAAC;IACpC,4EAA4E;IAC5E,MAAM,WAAW,GAAG,UAAU,EAAE,GAAG,CAAC;IAEpC,IAAI,cAAc,GAAM,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAEzE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;QAClC,YAAY,EAAE,IAAI;QAClB,GAAG,CAAC,CAAC;YACD,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,WAAW,EAAE,CAAC;gBACd,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,cAAc,GAAG,CAAM,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,GAAG;YACC,IAAI,GAAG,GAAa,IAAI,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAM,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,GAAG,GAAG,cAAc,CAAC;YACzB,CAAC;YACD,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,IAAI,CAAgB,KAAc,EAAE,MAA4B,EAAE,MAAyC;IACvH,OAAO;QACH,IAAI,KAAK,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,CAAO,IAAI,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC3C,CAAC;AACN,CAAC;AAQD,MAAM,UAAU,UAAU,CAAoD,UAAuC;IACjH,wDAAwD;IACxD,MAAM,GAAI,SAAQ,UAAU;QACxB,YAAY,KAAqB,EAAE,OAAW;YAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;KACJ;IAED,OAAO,GAA0C,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { forEachAsync } from '../async/arrays';
|
|
2
|
+
import { createLogger } from '../logger';
|
|
3
|
+
import { catchPromise } from '../functions/safe';
|
|
4
|
+
export class Event {
|
|
5
|
+
_handlers = [];
|
|
6
|
+
_logger = null;
|
|
7
|
+
constructor(withDefaultLogger = true) {
|
|
8
|
+
if (withDefaultLogger) {
|
|
9
|
+
this.withLogger('');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
withLogger(loggerOrName) {
|
|
13
|
+
if (loggerOrName == null) {
|
|
14
|
+
this._logger = null;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
this._logger = typeof loggerOrName === 'string'
|
|
18
|
+
? createLogger(`[Event:${loggerOrName || '?'}]`)
|
|
19
|
+
: loggerOrName;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
/** Clears handlers list */
|
|
23
|
+
resetHandlers = () => {
|
|
24
|
+
this._handlers = [];
|
|
25
|
+
};
|
|
26
|
+
on(handler) {
|
|
27
|
+
this._handlers.push(handler);
|
|
28
|
+
return () => {
|
|
29
|
+
this.off(handler);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
off(handler) {
|
|
33
|
+
this._handlers = this._handlers.filter(h => h !== handler);
|
|
34
|
+
}
|
|
35
|
+
trigger(data) {
|
|
36
|
+
if (!this._handlers.length) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const hh = this._handlers.slice(0);
|
|
40
|
+
hh.forEach(cb => {
|
|
41
|
+
try {
|
|
42
|
+
catchPromise(cb(data), err => this.logError(data, cb, err));
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
this.logError(data, cb, err);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async triggerAsync(data) {
|
|
50
|
+
if (!this._handlers.length) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const hh = this._handlers.slice(0);
|
|
54
|
+
const errors = [];
|
|
55
|
+
await forEachAsync(hh, async (cb) => {
|
|
56
|
+
try {
|
|
57
|
+
await cb(data);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
this.logError(data, cb, err);
|
|
61
|
+
if (err instanceof Error) {
|
|
62
|
+
errors.push(err);
|
|
63
|
+
}
|
|
64
|
+
else if (typeof err === 'string') {
|
|
65
|
+
errors.push(new Error(err));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
errors.push(new Error(`Event handler thrown an exception: ${err}`));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return errors;
|
|
73
|
+
}
|
|
74
|
+
expose() {
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
logError(data, cb, err) {
|
|
78
|
+
this._logger?.error(`[Event.${typeof data}] Handler ${cb.name} thrown an exception: `, err);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function oneTimeSubscription(e, filter) {
|
|
82
|
+
return new Promise((resolve) => {
|
|
83
|
+
let unsubscribe = null;
|
|
84
|
+
unsubscribe = e.on(v => {
|
|
85
|
+
if (!filter || filter(v)) {
|
|
86
|
+
// the callback can be called during subscription, so unsubscribe may not be initialized yet.
|
|
87
|
+
// in that case assume that unsubscribing is not needed
|
|
88
|
+
unsubscribe?.();
|
|
89
|
+
resolve(v);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/observing/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { catchPromise } from '../functions/safe';
|
|
2
|
+
import { Event } from './event';
|
|
3
|
+
export class OneTimeLateEvent extends Event {
|
|
4
|
+
_triggeredWith = undefined;
|
|
5
|
+
_triggered = false;
|
|
6
|
+
trigger(data) {
|
|
7
|
+
if (this._triggered) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
this._triggeredWith = data;
|
|
11
|
+
this._triggered = true;
|
|
12
|
+
super.trigger(data);
|
|
13
|
+
}
|
|
14
|
+
triggerAsync(data) {
|
|
15
|
+
if (this._triggered) {
|
|
16
|
+
return Promise.resolve([]);
|
|
17
|
+
}
|
|
18
|
+
this._triggeredWith = data;
|
|
19
|
+
this._triggered = true;
|
|
20
|
+
return super.triggerAsync(data);
|
|
21
|
+
}
|
|
22
|
+
on(handler) {
|
|
23
|
+
if (this._triggered) {
|
|
24
|
+
catchPromise(handler(this._triggeredWith));
|
|
25
|
+
// do not skip adding to handlers in case the event will be reset
|
|
26
|
+
}
|
|
27
|
+
return super.on(handler);
|
|
28
|
+
}
|
|
29
|
+
/** Allows this event to be triggered again and existing subscribers to receive it */
|
|
30
|
+
reset = () => {
|
|
31
|
+
this._triggered = false;
|
|
32
|
+
this._triggeredWith = undefined;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=event.late.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.late.js","sourceRoot":"","sources":["../../../src/observing/event.late.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAC;AAE9C,MAAM,OAAO,gBAA0B,SAAQ,KAAQ;IAE3C,cAAc,GAAkB,SAAS,CAAC;IAC1C,UAAU,GAAG,KAAK,CAAC;IAE3B,OAAO,CAAC,IAAQ;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,IAAQ;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,EAAE,CAAC,OAAwB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,YAAY,CACR,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC;YACF,iEAAiE;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,qFAAqF;IACrF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC,CAAC;CACL"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as DateHelpers from '../dates';
|
|
2
|
+
import * as MathHelpers from '../math';
|
|
3
|
+
import logger from '../logger';
|
|
4
|
+
import { Event } from './event';
|
|
5
|
+
export class ProgressTracker {
|
|
6
|
+
log;
|
|
7
|
+
_firstTimestamp = Date.now();
|
|
8
|
+
_lastTimestamp = null;
|
|
9
|
+
_lastCompleted = null;
|
|
10
|
+
_completed = 0;
|
|
11
|
+
_total = 0;
|
|
12
|
+
_currentProgress = 0;
|
|
13
|
+
_deltas = [];
|
|
14
|
+
_changed = new Event();
|
|
15
|
+
constructor(log = true) {
|
|
16
|
+
this.log = log;
|
|
17
|
+
}
|
|
18
|
+
get changed() { return this._changed.expose(); }
|
|
19
|
+
get total() { return this._total; }
|
|
20
|
+
get completed() { return this._completed; }
|
|
21
|
+
get current() { return this._currentProgress; }
|
|
22
|
+
get logger() {
|
|
23
|
+
return this.log === true
|
|
24
|
+
? logger
|
|
25
|
+
: (this.log || null);
|
|
26
|
+
}
|
|
27
|
+
setTotal(total) {
|
|
28
|
+
this._total = total;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
add(amount = 1, restart = false) {
|
|
32
|
+
this._completed = restart ? amount : (this._completed + amount);
|
|
33
|
+
this.track(this._completed, this._total);
|
|
34
|
+
}
|
|
35
|
+
track(completed, total) {
|
|
36
|
+
if (!this._lastTimestamp) {
|
|
37
|
+
this._lastTimestamp = this._firstTimestamp;
|
|
38
|
+
}
|
|
39
|
+
const elapsedDelta = Date.now() - this._lastTimestamp;
|
|
40
|
+
const completedDelta = completed - (this._lastCompleted || 0);
|
|
41
|
+
this._lastCompleted = completed;
|
|
42
|
+
this._completed = completed;
|
|
43
|
+
const timePerCompleted = completedDelta > 0 ? (elapsedDelta / completedDelta) : 0;
|
|
44
|
+
this._deltas.push(timePerCompleted);
|
|
45
|
+
if (this._deltas.length > 20) {
|
|
46
|
+
this._deltas.shift();
|
|
47
|
+
}
|
|
48
|
+
this._currentProgress = Math.floor(completed / (total || 100) * 100);
|
|
49
|
+
const itemsLeft = total - completed;
|
|
50
|
+
const leftProgressTime = itemsLeft * (MathHelpers.arrayAverage(this._deltas, true) || 1000);
|
|
51
|
+
this._lastTimestamp = Date.now();
|
|
52
|
+
const totalElapsedMs = this._lastTimestamp - this._firstTimestamp;
|
|
53
|
+
if (this.log) {
|
|
54
|
+
const totalElapsed = msToString(totalElapsedMs);
|
|
55
|
+
const totalEstimated = msToString(leftProgressTime);
|
|
56
|
+
this.logger.log(`Progress: ${completed}/${total} ${totalElapsed}/${totalEstimated} => ${this._currentProgress}%`);
|
|
57
|
+
}
|
|
58
|
+
this._changed.trigger({
|
|
59
|
+
completed,
|
|
60
|
+
total,
|
|
61
|
+
currentProgress: this._currentProgress,
|
|
62
|
+
totalElapsedMs,
|
|
63
|
+
totalEstimatedMs: leftProgressTime,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function msToString(ms) {
|
|
68
|
+
const decs = DateHelpers.decomposeMs(ms, 'second', 'minute', 'hour');
|
|
69
|
+
const nf = (n) => n.toString().padStart(2, '0');
|
|
70
|
+
return `${nf(decs.hour)}:${nf(decs.minute)}:${nf(decs.second)}`;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=progressTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressTracker.js","sourceRoot":"","sources":["../../../src/observing/progressTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Event } from './event';
|
|
2
|
+
import { ThrottleAction } from '../functions/throttle';
|
|
3
|
+
export class ThrottledEvent extends Event {
|
|
4
|
+
_throttle = new ThrottleAction(100);
|
|
5
|
+
setTimeout(timeout) {
|
|
6
|
+
this._throttle.timeout = timeout;
|
|
7
|
+
return this;
|
|
8
|
+
}
|
|
9
|
+
trigger() {
|
|
10
|
+
this._throttle.tryRun(() => super.trigger());
|
|
11
|
+
}
|
|
12
|
+
triggerAsync() {
|
|
13
|
+
throw new Error('ThrottledEvent does not support triggerAsync');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=throttledEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttledEvent.js","sourceRoot":"","sources":["../../../src/observing/throttledEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,OAAO,cAAe,SAAQ,KAAK;IAEpB,SAAS,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;CACJ"}
|