@zajno/common 2.3.18 → 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.map +1 -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.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.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.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 -3
- package/lazy/light.d.ts.map +0 -1
- package/lazy/light.js +0 -24
- 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.map +0 -1
- package/lazy/singleton.d.ts +0 -22
- package/lazy/singleton.d.ts.map +0 -1
- package/lazy/singleton.js.map +0 -1
- package/lazy/types.d.ts +0 -13
- package/lazy/types.d.ts.map +0 -1
- package/lazy/types.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/expire.d.ts +0 -14
- package/structures/expire.d.ts.map +0 -1
- package/structures/expire.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 -30
- package/structures/tempoCache.d.ts.map +0 -1
- 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 -15
- package/validation/throwers.d.ts.map +0 -1
- package/validation/throwers.js +0 -33
- 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/{lazy → cjs/lazy}/promise.js +0 -0
- /package/{lazy → cjs/lazy}/singleton.js +0 -0
- /package/{lazy → 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/{math → 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/{models → 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/{storage → cjs/storage}/types.js +0 -0
- /package/{storage → cjs/storage}/wrappers.js +0 -0
- /package/{structures → cjs/structures}/expire.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}/path/types.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/{structures → cjs/structures}/tempoCache.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,24 @@
|
|
|
1
|
+
// Symbol.dispose ??= Symbol('Symbol.dispose');
|
|
2
|
+
if (!('dispose' in Symbol)) {
|
|
3
|
+
// @ts-expect-error polyfill for Symbol.dispose
|
|
4
|
+
Symbol.dispose = Symbol('Symbol.dispose');
|
|
5
|
+
}
|
|
6
|
+
// Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
|
|
7
|
+
if (!('asyncDispose' in Symbol)) {
|
|
8
|
+
// @ts-expect-error polyfill for Symbol.asyncDispose
|
|
9
|
+
Symbol.asyncDispose = Symbol('Symbol.asyncDispose');
|
|
10
|
+
}
|
|
11
|
+
// for demonstration purposes, but use as base class if needed
|
|
12
|
+
export class SymbolDisposable {
|
|
13
|
+
[Symbol.dispose] = () => this.dispose();
|
|
14
|
+
}
|
|
15
|
+
export function makeSymbolDisposable(obj) {
|
|
16
|
+
const fn = () => obj.dispose();
|
|
17
|
+
Object.defineProperty(obj, Symbol.dispose, {
|
|
18
|
+
get() {
|
|
19
|
+
return fn;
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=disposer.symbols.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposer.symbols.js","sourceRoot":"","sources":["../../../src/functions/disposer.symbols.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;IACzB,+CAA+C;IAC/C,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED,yDAAyD;AACzD,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAAE,CAAC;IAC9B,oDAAoD;IACpD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACxD,CAAC;AAED,8DAA8D;AAC9D,MAAM,OAAgB,gBAAgB;IAElC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;CAG3C;AAGD,MAAM,UAAU,oBAAoB,CAAwB,GAAM;IAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAE/B,MAAM,CAAC,cAAc,CACjB,GAAG,EACH,MAAM,CAAC,OAAO,EACd;QACI,GAAG;YACC,OAAO,EAAE,CAAC;QACd,CAAC;KACJ,CACJ,CAAC;IAEF,OAAO,GAA2B,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe.js","sourceRoot":"","sources":["../../../src/functions/safe.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE,EAAuB;IAC9E,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { createManualPromise } from '../async/misc';
|
|
2
|
+
import { createLogger } from '../logger';
|
|
3
|
+
import { random } from '../math';
|
|
4
|
+
import { catchPromise } from './safe';
|
|
5
|
+
/** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
|
|
6
|
+
export class ThrottleAction {
|
|
7
|
+
timeout;
|
|
8
|
+
_timeoutRef = null;
|
|
9
|
+
_postponedCb = null;
|
|
10
|
+
_locked = false;
|
|
11
|
+
_logger = null;
|
|
12
|
+
/**
|
|
13
|
+
* In case previous action has started processing but not finished yet, and the following one is going to start,
|
|
14
|
+
* this flag allows to run the second in parallel.
|
|
15
|
+
*/
|
|
16
|
+
_allowParallelRuns = false;
|
|
17
|
+
_currentRun = null;
|
|
18
|
+
constructor(timeout = 1000) {
|
|
19
|
+
this.timeout = timeout;
|
|
20
|
+
}
|
|
21
|
+
useParallelRuns() {
|
|
22
|
+
this._allowParallelRuns = true;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
useLogger(logger) {
|
|
26
|
+
if (typeof logger === 'string') {
|
|
27
|
+
this._logger = createLogger(logger);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this._logger = logger;
|
|
31
|
+
}
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
clear() {
|
|
35
|
+
if (this._timeoutRef) {
|
|
36
|
+
clearTimeout(this._timeoutRef);
|
|
37
|
+
}
|
|
38
|
+
this._timeoutRef = null;
|
|
39
|
+
this._postponedCb = null;
|
|
40
|
+
}
|
|
41
|
+
tryRun(cb, restartTimeout = false) {
|
|
42
|
+
if (!this._timeoutRef) { // start new timeout
|
|
43
|
+
if (!this._currentRun) {
|
|
44
|
+
this._currentRun = createManualPromise();
|
|
45
|
+
}
|
|
46
|
+
const result = this._currentRun.promise;
|
|
47
|
+
this._postponedCb = cb;
|
|
48
|
+
this._timeoutRef = setTimeout(() => catchPromise(this.forceRun()), this.timeout);
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
if (restartTimeout) {
|
|
52
|
+
this.clear();
|
|
53
|
+
return this.tryRun(cb, false);
|
|
54
|
+
}
|
|
55
|
+
return this.getPromise();
|
|
56
|
+
}
|
|
57
|
+
forceRun = async () => {
|
|
58
|
+
const cb = this._postponedCb;
|
|
59
|
+
const p = this._currentRun;
|
|
60
|
+
this._currentRun = null;
|
|
61
|
+
this.clear();
|
|
62
|
+
if (!this._allowParallelRuns && this._locked) {
|
|
63
|
+
// This happening when the previous call is still running, while the new one has finished its timeout and is willing to run.
|
|
64
|
+
// This is probably OK since the running call should cover the current one.
|
|
65
|
+
// TODO Maybe just don't start timeout if the lock is set?
|
|
66
|
+
// The reason for not doing that 👆 is there's still a valid case when previous is still working but it's legit to start a new one (e.g. some state has changed already)
|
|
67
|
+
this._logger?.warn('[ThrottleAction] THROTTLE LOCKED, but another call is forced. Skipping since the behavior is undefined.');
|
|
68
|
+
}
|
|
69
|
+
else if (cb) {
|
|
70
|
+
let result = undefined;
|
|
71
|
+
const lockId = random(1, 1_000_000);
|
|
72
|
+
try {
|
|
73
|
+
this._locked = lockId;
|
|
74
|
+
result = await cb();
|
|
75
|
+
p?.resolve(result);
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
p?.reject(err);
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
if (this._locked === lockId) {
|
|
84
|
+
this._locked = false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
getPromise() {
|
|
90
|
+
return this._currentRun?.promise || Promise.resolve(undefined);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export class ThrottleProcessor {
|
|
94
|
+
process;
|
|
95
|
+
_queue = [];
|
|
96
|
+
_action;
|
|
97
|
+
_promise = null;
|
|
98
|
+
constructor(process, timeout = 1000) {
|
|
99
|
+
this.process = process;
|
|
100
|
+
if (!process) {
|
|
101
|
+
throw new Error('Arg0 expected: process');
|
|
102
|
+
}
|
|
103
|
+
this._action = new ThrottleAction(timeout)
|
|
104
|
+
.useParallelRuns();
|
|
105
|
+
}
|
|
106
|
+
useLogger(logger) {
|
|
107
|
+
this._action.useLogger(logger);
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
async push(data) {
|
|
111
|
+
const index = this._queue.push(data) - 1;
|
|
112
|
+
const res = await this._action.tryRun(this._process, true);
|
|
113
|
+
return {
|
|
114
|
+
result: res,
|
|
115
|
+
index,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
_process = async () => {
|
|
119
|
+
if (!this._queue.length) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const objs = this._queue.slice();
|
|
123
|
+
this._queue.length = 0;
|
|
124
|
+
return this.process(objs);
|
|
125
|
+
};
|
|
126
|
+
clear() {
|
|
127
|
+
this._action.clear();
|
|
128
|
+
this._promise?.resolve(undefined);
|
|
129
|
+
this._promise = null;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=throttle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/functions/throttle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function createLazy(factory) {
|
|
2
|
+
const _factory = factory;
|
|
3
|
+
let _instance = undefined;
|
|
4
|
+
const res = {
|
|
5
|
+
get value() {
|
|
6
|
+
if (_instance === undefined) {
|
|
7
|
+
_instance = _factory();
|
|
8
|
+
}
|
|
9
|
+
return _instance;
|
|
10
|
+
},
|
|
11
|
+
get currentValue() { return _instance; },
|
|
12
|
+
get hasValue() { return _instance !== undefined; },
|
|
13
|
+
reset: () => {
|
|
14
|
+
_instance = undefined;
|
|
15
|
+
},
|
|
16
|
+
dispose: () => res.reset(),
|
|
17
|
+
};
|
|
18
|
+
return res;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/lazy/light.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAI,OAAgB;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,SAAS,GAAkB,SAAS,CAAC;IAEzC,MAAM,GAAG,GAAa;QAClB,IAAI,KAAK;YACL,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,YAAY,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;QAClD,KAAK,EAAE,GAAG,EAAE;YACR,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export class LazyPromise {
|
|
2
|
+
_factory;
|
|
3
|
+
initial;
|
|
4
|
+
_instance = undefined;
|
|
5
|
+
_busy = null;
|
|
6
|
+
_promise;
|
|
7
|
+
_expireTracker;
|
|
8
|
+
constructor(_factory, initial = undefined) {
|
|
9
|
+
this._factory = _factory;
|
|
10
|
+
this.initial = initial;
|
|
11
|
+
this._instance = initial;
|
|
12
|
+
}
|
|
13
|
+
get busy() { return this._busy; }
|
|
14
|
+
get hasValue() { return this._busy === false; }
|
|
15
|
+
get promise() {
|
|
16
|
+
this.ensureInstanceLoading();
|
|
17
|
+
return this._promise;
|
|
18
|
+
}
|
|
19
|
+
get value() {
|
|
20
|
+
this.ensureInstanceLoading();
|
|
21
|
+
return this._instance;
|
|
22
|
+
}
|
|
23
|
+
/** does not calls factory */
|
|
24
|
+
get currentValue() {
|
|
25
|
+
return this._instance;
|
|
26
|
+
}
|
|
27
|
+
withExpire = (tracker) => {
|
|
28
|
+
this._expireTracker = tracker;
|
|
29
|
+
return this;
|
|
30
|
+
};
|
|
31
|
+
ensureInstanceLoading() {
|
|
32
|
+
if (this.busy === false && this._instance !== undefined && this._expireTracker?.isExpired) {
|
|
33
|
+
// do not reset the instance, just make sure it will be reloaded
|
|
34
|
+
this._busy = null;
|
|
35
|
+
}
|
|
36
|
+
if (this._busy === null) {
|
|
37
|
+
this._busy = true;
|
|
38
|
+
this._promise = this._factory().then(this.onResolved.bind(this));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
onResolved(res) {
|
|
42
|
+
// case: during the promise `setInstance` was called
|
|
43
|
+
if (!this._busy && this._instance !== undefined) {
|
|
44
|
+
return this._instance;
|
|
45
|
+
}
|
|
46
|
+
this.setInstance(res);
|
|
47
|
+
return res;
|
|
48
|
+
}
|
|
49
|
+
setInstance = (res) => {
|
|
50
|
+
this._busy = false;
|
|
51
|
+
// refresh promise so it won't keep old callbacks
|
|
52
|
+
// + make sure it's resolved with the freshest value
|
|
53
|
+
// also do this before setting the instance... just in case :)
|
|
54
|
+
this._promise = Promise.resolve(res);
|
|
55
|
+
this._instance = res;
|
|
56
|
+
if (this._expireTracker) {
|
|
57
|
+
this._expireTracker.restart();
|
|
58
|
+
}
|
|
59
|
+
return res;
|
|
60
|
+
};
|
|
61
|
+
reset = () => {
|
|
62
|
+
this._busy = null;
|
|
63
|
+
this._instance = this.initial;
|
|
64
|
+
this._promise = undefined;
|
|
65
|
+
};
|
|
66
|
+
dispose = () => this.reset();
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../src/lazy/promise.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IASC;IACA;IARb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,CAAyB;IACjC,cAAc,CAA6B;IAEnD,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEQ,qBAAqB;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC;YACxF,gEAAgE;YAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAES,UAAU,CAAC,GAAM;QACvB,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,WAAW,GAAG,CAAC,GAAkB,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,iDAAiD;QACjD,oDAAoD;QACpD,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAErB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;CAChC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export class Lazy {
|
|
2
|
+
_factory;
|
|
3
|
+
_instance = undefined;
|
|
4
|
+
_expireTracker;
|
|
5
|
+
_disposer;
|
|
6
|
+
constructor(_factory) {
|
|
7
|
+
this._factory = _factory;
|
|
8
|
+
}
|
|
9
|
+
get hasValue() { return this._instance !== undefined; }
|
|
10
|
+
get value() {
|
|
11
|
+
this.ensureInstance();
|
|
12
|
+
return this._instance;
|
|
13
|
+
}
|
|
14
|
+
get currentValue() {
|
|
15
|
+
return this._instance;
|
|
16
|
+
}
|
|
17
|
+
/** Override me: additional way to make sure instance is valid */
|
|
18
|
+
get isValid() {
|
|
19
|
+
if (!this.hasValue) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (this._expireTracker) {
|
|
23
|
+
if (this._expireTracker.isExpired) {
|
|
24
|
+
this.reset();
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
withDisposer = (disposer) => {
|
|
31
|
+
this._disposer = disposer;
|
|
32
|
+
return this;
|
|
33
|
+
};
|
|
34
|
+
withExpire = (tracker) => {
|
|
35
|
+
this._expireTracker = tracker;
|
|
36
|
+
return this;
|
|
37
|
+
};
|
|
38
|
+
ensureInstance() {
|
|
39
|
+
if (this.isValid) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// additional reset to make sure previous instance has been disposed
|
|
43
|
+
this.reset();
|
|
44
|
+
const res = this._factory();
|
|
45
|
+
this.setInstance(res);
|
|
46
|
+
}
|
|
47
|
+
prewarm() {
|
|
48
|
+
this.ensureInstance();
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
setInstance(instance) {
|
|
52
|
+
this._instance = instance;
|
|
53
|
+
if (this._instance !== undefined && this._expireTracker) {
|
|
54
|
+
this._expireTracker.restart();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
reset() {
|
|
58
|
+
if (this.hasValue && this._instance && this._disposer) {
|
|
59
|
+
this._disposer(this._instance);
|
|
60
|
+
}
|
|
61
|
+
this.setInstance(undefined);
|
|
62
|
+
}
|
|
63
|
+
dispose() { this.reset(); }
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=singleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../src/lazy/singleton.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,GAAG,CAAC,QAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEM,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lazy/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractions.js","sourceRoot":"","sources":["../../../src/logger/abstractions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function batchLoggers(...loggers) {
|
|
2
|
+
return {
|
|
3
|
+
log: (...args) => loggers.forEach(l => l.log(...args)),
|
|
4
|
+
warn: (...args) => loggers.forEach(l => l.warn(...args)),
|
|
5
|
+
error: (...args) => loggers.forEach(l => l.error(...args)),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/logger/batch.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,GAAG,OAAkB;IAC9C,OAAO;QACH,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;KACpE,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NamedLogger } from './named';
|
|
2
|
+
export const CONSOLE = console;
|
|
3
|
+
export class ConsoleLogger extends NamedLogger {
|
|
4
|
+
get implementation() { return CONSOLE; }
|
|
5
|
+
}
|
|
6
|
+
export class BufferedConsoleLogger {
|
|
7
|
+
_name;
|
|
8
|
+
_logs = [];
|
|
9
|
+
_level = 1;
|
|
10
|
+
_log = CONSOLE.log;
|
|
11
|
+
constructor(name) {
|
|
12
|
+
this._name = name || '';
|
|
13
|
+
}
|
|
14
|
+
log(...args) {
|
|
15
|
+
this._logs.push('\t--->', ...args);
|
|
16
|
+
}
|
|
17
|
+
warn(...args) {
|
|
18
|
+
this._logs.push('\t---> [WARN]', ...args);
|
|
19
|
+
this._raiseLevel(2);
|
|
20
|
+
}
|
|
21
|
+
error(...args) {
|
|
22
|
+
this._logs.push('\t---> [ERROR]', ...args);
|
|
23
|
+
this._raiseLevel(3);
|
|
24
|
+
}
|
|
25
|
+
flush() {
|
|
26
|
+
if (this._logs.length > 0) {
|
|
27
|
+
this._log(this._name, ...this._logs);
|
|
28
|
+
this._logs.length = 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_raiseLevel(l) {
|
|
32
|
+
if (l > this._level) {
|
|
33
|
+
this._level = l;
|
|
34
|
+
if (l >= 3) {
|
|
35
|
+
this._log = CONSOLE.error;
|
|
36
|
+
}
|
|
37
|
+
else if (l >= 2) {
|
|
38
|
+
this._log = CONSOLE.warn;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logger/console.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAY,OAAO,CAAC;AAExC,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,IAAc,cAAc,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,OAAO,qBAAqB;IACb,KAAK,CAAS;IACd,KAAK,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,CAAC,CAAC;IAEX,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAE3B,YAAY,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,GAAG,IAAW;QACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,CAAS;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import * as Path from 'path';
|
|
3
|
+
import * as FS from 'fs';
|
|
4
|
+
import * as Util from 'util';
|
|
5
|
+
export class FileLoggerNode {
|
|
6
|
+
extraLogger;
|
|
7
|
+
instantFlush;
|
|
8
|
+
_buffer = [];
|
|
9
|
+
_logFilePath = null;
|
|
10
|
+
constructor(extraLogger = console, instantFlush = false) {
|
|
11
|
+
this.extraLogger = extraLogger;
|
|
12
|
+
this.instantFlush = instantFlush;
|
|
13
|
+
this.setLogName('');
|
|
14
|
+
}
|
|
15
|
+
setLogFilePath(path) {
|
|
16
|
+
this._logFilePath = path;
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
setLogName(name) {
|
|
20
|
+
const n = name ? `-${name}` : '';
|
|
21
|
+
this._logFilePath = Path.resolve(process.cwd(), `run${n}.${new Date().toISOString()}.log`);
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
append(..._args) {
|
|
25
|
+
const str = Util.format.apply(null, _args) + '\n';
|
|
26
|
+
this._buffer.push(str);
|
|
27
|
+
if (this.instantFlush) {
|
|
28
|
+
this.flush();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
log = (...args) => {
|
|
32
|
+
this.extraLogger?.log(...args);
|
|
33
|
+
this.append(...args);
|
|
34
|
+
};
|
|
35
|
+
warn = (...args) => {
|
|
36
|
+
this.extraLogger?.warn(...args);
|
|
37
|
+
this.append(...args);
|
|
38
|
+
};
|
|
39
|
+
error = (...args) => {
|
|
40
|
+
this.extraLogger?.error(...args);
|
|
41
|
+
this.append(...args);
|
|
42
|
+
};
|
|
43
|
+
flush() {
|
|
44
|
+
if (!this._buffer.length) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
if (this._logFilePath) {
|
|
49
|
+
FS.appendFileSync(this._logFilePath, this._buffer.join(''));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
console.warn('Failed to flush file, error', err);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
this._buffer.length = 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/logger/file.ts"],"names":[],"mappings":"AACA,+BAA+B;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,MAAM,OAAO,cAAc;IAIF;IAAyC;IAH7C,OAAO,GAAa,EAAE,CAAC;IAChC,YAAY,GAAkB,IAAI,CAAC;IAE3C,YAAqB,cAAuB,OAAO,EAAW,eAAe,KAAK;QAA7D,gBAAW,GAAX,WAAW,CAAmB;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAC9E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,IAAY;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,GAAG,KAAY;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAED,GAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACrB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACvB,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ConsoleLogger } from './console';
|
|
2
|
+
import { batchLoggers } from './batch';
|
|
3
|
+
import { LoggersManager } from './manager';
|
|
4
|
+
export { NamedLogger } from './named';
|
|
5
|
+
export { ConsoleLogger, batchLoggers };
|
|
6
|
+
const manager = new LoggersManager();
|
|
7
|
+
export function createLogger(name, mode = undefined) {
|
|
8
|
+
return manager.create(name, mode);
|
|
9
|
+
}
|
|
10
|
+
export function detachLogger(instance, terminate = false) {
|
|
11
|
+
return manager.detach(instance, terminate);
|
|
12
|
+
}
|
|
13
|
+
export function setMode(mode) {
|
|
14
|
+
manager.setMode(mode);
|
|
15
|
+
}
|
|
16
|
+
export function getMode() { return manager.mode; }
|
|
17
|
+
const logger = createLogger(undefined, false);
|
|
18
|
+
export default logger;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAe,cAAc,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AAErC,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,OAAgC,SAAS;IAC5F,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAiB,EAAE,SAAS,GAAG,KAAK;IAC7D,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAoC;IACxD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,KAAK,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAElD,MAAM,MAAM,GAAY,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAEvD,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Getter } from '../types/getter';
|
|
2
|
+
import { CONSOLE } from './console';
|
|
3
|
+
import { ProxyLogger } from './proxy';
|
|
4
|
+
export class LoggersManager {
|
|
5
|
+
_managed = new Set();
|
|
6
|
+
_all = new Set();
|
|
7
|
+
_mode = false;
|
|
8
|
+
get mode() { return this._mode; }
|
|
9
|
+
/** Creates and attaches an logger instance created from the current mode */
|
|
10
|
+
create(name, mode = undefined) {
|
|
11
|
+
const result = this._createImplementation(mode);
|
|
12
|
+
const proxy = new ProxyLogger(result, name);
|
|
13
|
+
this._managed.add(proxy);
|
|
14
|
+
this._all.add(proxy);
|
|
15
|
+
return proxy;
|
|
16
|
+
}
|
|
17
|
+
/** Attaches existing instance, optionally adds name prefix to it */
|
|
18
|
+
attach(instance, name) {
|
|
19
|
+
const proxy = new ProxyLogger(instance, name);
|
|
20
|
+
this._all.add(proxy);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
/** Sets the current mode if changed. All internally created loggers implementation will be overridden with a new implementation according to the new mode. */
|
|
24
|
+
setMode(mode) {
|
|
25
|
+
if (this._mode === mode) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this._mode = mode || false;
|
|
29
|
+
if (!this._mode) {
|
|
30
|
+
for (const l of this._all) {
|
|
31
|
+
l.disable();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
for (const l of this._all) {
|
|
36
|
+
if (this._managed.has(l)) {
|
|
37
|
+
l.setLogger(this._createImplementation());
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
l.enable();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
recognize(instance) {
|
|
46
|
+
const result = this._findInstance(instance);
|
|
47
|
+
return result ? instance : null;
|
|
48
|
+
}
|
|
49
|
+
/** Detaches instance so it won't be affected by setting mode later on, optionally disables it */
|
|
50
|
+
detach(instance, terminate = false) {
|
|
51
|
+
const recognized = this.recognize(instance);
|
|
52
|
+
if (!recognized) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
this._all.delete(recognized);
|
|
56
|
+
this._managed.delete(recognized);
|
|
57
|
+
if (terminate) {
|
|
58
|
+
recognized.disable();
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
_findInstance(instance) {
|
|
63
|
+
if (!(instance instanceof ProxyLogger)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return this._all.has(instance);
|
|
67
|
+
}
|
|
68
|
+
_createImplementation(overrideMode = undefined) {
|
|
69
|
+
const mode = overrideMode !== undefined
|
|
70
|
+
? overrideMode
|
|
71
|
+
: this._mode;
|
|
72
|
+
switch (mode) {
|
|
73
|
+
case 'console': {
|
|
74
|
+
return CONSOLE;
|
|
75
|
+
}
|
|
76
|
+
case false: {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
default: {
|
|
80
|
+
return Getter.getValue(mode);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/logger/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const EMPTY_FUNCTION = () => { };
|
|
2
|
+
export class NamedLogger {
|
|
3
|
+
log = EMPTY_FUNCTION;
|
|
4
|
+
warn = EMPTY_FUNCTION;
|
|
5
|
+
error = EMPTY_FUNCTION;
|
|
6
|
+
_name = null;
|
|
7
|
+
get name() { return this._name; }
|
|
8
|
+
constructor(name) {
|
|
9
|
+
this._name = name || null;
|
|
10
|
+
this.disable();
|
|
11
|
+
}
|
|
12
|
+
enable(overrideName = null) {
|
|
13
|
+
this._name = overrideName || this._name;
|
|
14
|
+
this.log = this._name
|
|
15
|
+
? (...args) => this.implementation.log(this._name, ...args)
|
|
16
|
+
: this.implementation.log;
|
|
17
|
+
this.warn = this._name
|
|
18
|
+
? (...args) => this.implementation.warn(this._name, ...args)
|
|
19
|
+
: this.implementation.warn;
|
|
20
|
+
this.error = this._name
|
|
21
|
+
? (...args) => this.implementation.error(this._name, ...args)
|
|
22
|
+
: this.implementation.error;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
disable() {
|
|
26
|
+
this.log = EMPTY_FUNCTION;
|
|
27
|
+
this.warn = EMPTY_FUNCTION;
|
|
28
|
+
this.error = EMPTY_FUNCTION;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=named.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named.js","sourceRoot":"","sources":["../../../src/logger/named.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,GAAe,CAAC,CAAC;AAEpD,MAAM,OAAgB,WAAW;IACtB,GAAG,GAAmB,cAAc,CAAC;IACrC,IAAI,GAAmB,cAAc,CAAC;IACtC,KAAK,GAAmB,cAAc,CAAC;IAEtC,KAAK,GAAkB,IAAI,CAAC;IAEpC,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAIjC,YAAY,IAAa;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,eAA8B,IAAI;QACrC,IAAI,CAAC,KAAK,GAAG,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC;QAExC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK;YACjB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAE9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;YAClB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;YACnB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|