@zajno/common 2.3.18 → 2.4.1
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 +15 -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 +11 -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 +5 -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 @@
|
|
|
1
|
+
{"version":3,"file":"promiseProxy.js","sourceRoot":"","sources":["../../../src/structures/promiseProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,aAAa,GAAG,WAAW,CAAC;AAwBlC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAAuD;IAEvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;IAEpE,gFAAgF;IAChF,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAG,CAA6B,CAAC;IAC1D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,IAAI,SAAS,GAAa,IAAI,CAAC;IAE/B,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;QAC5B,iBAAiB;QACjB,MAAM,MAAM,GAAM,MAAM,MAAM,EAAE,CAAC;QACjC,qCAAqC;QACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,MAAM,EAAE,GAAG,GAAwB,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,GAAc,CAAC,GAAG,KAAmB,CAAC;YACjD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,iEAAiE;QACjE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAA6B,CAAC;YACnD,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,SAAS,GAAG,MAAM,CAAC;QACnB,IAAI,SAAS,EAAE,CAAC;YACZ,oDAAoD;YACpD,IAAI,GAAG,IAAW,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,GAAG;YACX,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3C,CAAC;YAED,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAC3C,OAAO,MAAM,CAAC,GAA0B,CAAC,CAAC;gBAC9C,CAAC;gBACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAA2B,CAAC,CAAC;gBACjD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAQ,GAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC;YAED,IAAI,MAAM,EAAE,QAAQ,CAAC,GAAc,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;oBACtB,aAAa,CAAC,GAAG,CAAC,GAAc,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,GAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK;YAClB,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAA2B,CAAC,GAAG,KAAK,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAA0B,CAAC,GAAG,KAAK,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,GAAG;YAChC,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,MAAM;YACV,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,KAAuD,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { createLogger } from '../../logger';
|
|
2
|
+
import { Event } from '../../observing/event';
|
|
3
|
+
import { OneTimeLateEvent } from '../../observing/event.late';
|
|
4
|
+
export class ParallelQueue {
|
|
5
|
+
_queues = {};
|
|
6
|
+
_inProgress = null;
|
|
7
|
+
_currentIndex = 0;
|
|
8
|
+
_maxIndex = 0;
|
|
9
|
+
_logger = null;
|
|
10
|
+
_beforePriorityRun = new Event();
|
|
11
|
+
_afterPriorityRun = new Event();
|
|
12
|
+
_finished = new OneTimeLateEvent();
|
|
13
|
+
get currentPriority() { return this._currentIndex; }
|
|
14
|
+
get inProgress() { return this._inProgress || false; }
|
|
15
|
+
get beforePriorityRun() { return this._beforePriorityRun.expose(); }
|
|
16
|
+
get afterPriorityRun() { return this._afterPriorityRun.expose(); }
|
|
17
|
+
get finished() { return this._finished.expose(); }
|
|
18
|
+
withLogger(name) {
|
|
19
|
+
this._logger = createLogger(`[Queue:${name || '?'}]`);
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
/** @returns A callback that will try to cancel queued item */
|
|
23
|
+
enqueue(cb, priority) {
|
|
24
|
+
const p = Math.round(priority || 0);
|
|
25
|
+
// if it's started and the priority has been processing already
|
|
26
|
+
// or it has just finished
|
|
27
|
+
if (this._inProgress && p < this._currentIndex || this._inProgress === false) {
|
|
28
|
+
// just start the loader
|
|
29
|
+
this._executeLoader(cb, p, 1000);
|
|
30
|
+
return () => false;
|
|
31
|
+
}
|
|
32
|
+
// Enqueue for future execution
|
|
33
|
+
const q = this.getQueue(p);
|
|
34
|
+
q.push(cb);
|
|
35
|
+
this._maxIndex = Math.max(this._maxIndex, p);
|
|
36
|
+
// Return callback for removing the item from the queue
|
|
37
|
+
return () => {
|
|
38
|
+
// The processing has started and this queue has been passed already
|
|
39
|
+
if (this._inProgress != null && this._currentIndex >= p) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
// find and remove the item
|
|
43
|
+
const i = q.findIndex(qi => qi === cb);
|
|
44
|
+
if (i >= 0) {
|
|
45
|
+
q.splice(i, 1);
|
|
46
|
+
// return true if we're sure that the item hasn't been executed yet
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async start() {
|
|
53
|
+
if (this._inProgress != null) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
this._inProgress = true;
|
|
57
|
+
try {
|
|
58
|
+
await this.tryStartQueue();
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
this._logger?.warn('Failed to process queue:', err);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
getQueue(priority = 0) {
|
|
67
|
+
let q = this._queues[priority];
|
|
68
|
+
if (!q) {
|
|
69
|
+
q = [];
|
|
70
|
+
this._queues[priority] = q;
|
|
71
|
+
}
|
|
72
|
+
return q;
|
|
73
|
+
}
|
|
74
|
+
async tryStartQueue() {
|
|
75
|
+
let current = null;
|
|
76
|
+
let iterations = 0;
|
|
77
|
+
let totalItems = 0;
|
|
78
|
+
await this._beforePriorityRun.triggerAsync(this._currentIndex);
|
|
79
|
+
const MAX_ATTEMPTS = 5;
|
|
80
|
+
while ((current = this._queues[this._currentIndex])?.length) {
|
|
81
|
+
if (iterations++ > MAX_ATTEMPTS) {
|
|
82
|
+
this._logger?.warn('Tried to purge queue for priority =', this._currentIndex, 'for too many times of', MAX_ATTEMPTS, '; totalItems =', totalItems, '; skipping.');
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
this._logger?.log('Processing priority =', this._currentIndex, '; count =', current.length);
|
|
86
|
+
const items = current.slice();
|
|
87
|
+
current.length = 0;
|
|
88
|
+
totalItems += items.length;
|
|
89
|
+
await Promise.all(items.map((loader, index) => this._executeLoader(loader, this._currentIndex, index)));
|
|
90
|
+
}
|
|
91
|
+
if (!current?.length && iterations === 0) {
|
|
92
|
+
this._logger?.log('Skipping priority =', this._currentIndex, '; no items');
|
|
93
|
+
}
|
|
94
|
+
await this._afterPriorityRun.triggerAsync(this._currentIndex);
|
|
95
|
+
const next = this._currentIndex + 1;
|
|
96
|
+
if (next > this._maxIndex) {
|
|
97
|
+
// looks like we've finished!
|
|
98
|
+
this._inProgress = false;
|
|
99
|
+
this._logger?.log('Finished processing at index =', this._currentIndex);
|
|
100
|
+
this._finished.trigger();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
++this._currentIndex;
|
|
104
|
+
await this.tryStartQueue();
|
|
105
|
+
}
|
|
106
|
+
_executeLoader = async (l, priority, index) => {
|
|
107
|
+
try {
|
|
108
|
+
await l();
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
this._logger?.warn('Failed to process queue item at priority =', priority, ' at index =', index || '?');
|
|
112
|
+
this._logger?.error(err);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../../src/structures/queue/parallel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export class TasksQueue {
|
|
2
|
+
limit;
|
|
3
|
+
_items = [];
|
|
4
|
+
_running = 0;
|
|
5
|
+
_logger = null;
|
|
6
|
+
constructor(limit) {
|
|
7
|
+
this.limit = limit;
|
|
8
|
+
if (!limit || limit < 0) {
|
|
9
|
+
throw new Error('TasksQueue: limit should be a positive number');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
get isFull() { return this._running >= this.limit; }
|
|
13
|
+
get running() { return this._running; }
|
|
14
|
+
addLogger(logger) {
|
|
15
|
+
this._logger = logger;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
enqueue(factory, name) {
|
|
19
|
+
if (typeof factory !== 'function') {
|
|
20
|
+
throw new Error('Invalid arg: factory not a function');
|
|
21
|
+
}
|
|
22
|
+
if (this.isFull) {
|
|
23
|
+
const item = {
|
|
24
|
+
factory,
|
|
25
|
+
finish: undefined,
|
|
26
|
+
name,
|
|
27
|
+
};
|
|
28
|
+
const waitPromise = new Promise((resolve, reject) => {
|
|
29
|
+
item.finish = async (res) => {
|
|
30
|
+
try {
|
|
31
|
+
const rr = await res;
|
|
32
|
+
resolve(rr);
|
|
33
|
+
return rr;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
reject(err);
|
|
37
|
+
throw err;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
this._items.push(item);
|
|
42
|
+
return waitPromise;
|
|
43
|
+
}
|
|
44
|
+
return this._runFactory(factory);
|
|
45
|
+
}
|
|
46
|
+
_runFactory = async (factory, name) => {
|
|
47
|
+
this._running++;
|
|
48
|
+
try {
|
|
49
|
+
const result = await factory();
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
this._logger?.warn(`Factory "${name || factory.name || '<unknown>'}" thrown. Rethrowing...`);
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
this._running--;
|
|
58
|
+
this._tryRunNext();
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
_tryRunNext = async () => {
|
|
62
|
+
if (!this._items.length || this.isFull) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const next = this._items.shift();
|
|
66
|
+
if (!next || !next.finish || !next.factory) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
await next.finish(this._runFactory(next.factory));
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/structures/queue/tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createLogger } from '../logger';
|
|
2
|
+
import { combineDisposers } from '../functions/disposer';
|
|
3
|
+
import { catchPromise } from '../functions/safe';
|
|
4
|
+
export class SubscribersMap {
|
|
5
|
+
subscribe;
|
|
6
|
+
name;
|
|
7
|
+
/** Unsubscribers map: key => unsub fn */
|
|
8
|
+
_map = new Map();
|
|
9
|
+
/** Timeouts map: key => timeout handle */
|
|
10
|
+
_timeouts = new Map();
|
|
11
|
+
_logger;
|
|
12
|
+
_count = 0;
|
|
13
|
+
constructor(subscribe, name) {
|
|
14
|
+
this.subscribe = subscribe;
|
|
15
|
+
this.name = name;
|
|
16
|
+
this._logger = createLogger(`[Observers:${this.name || '?'}]`);
|
|
17
|
+
}
|
|
18
|
+
get count() { return this._count; }
|
|
19
|
+
getIsObserving(key) {
|
|
20
|
+
return this._map.has(key);
|
|
21
|
+
}
|
|
22
|
+
getHasObserveTimeout(key) {
|
|
23
|
+
return this.getIsObserving(key) && this._timeouts.has(key);
|
|
24
|
+
}
|
|
25
|
+
async enable(key, enable, clearAfter = null, existingUnsubs = null) {
|
|
26
|
+
if (enable === this.getIsObserving(key)) {
|
|
27
|
+
this.refreshTimeout(key, enable, clearAfter, true);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (enable) {
|
|
31
|
+
this._logger.log('Adding observer for key =', key, clearAfter ? `, clearAfter = ${clearAfter}` : '');
|
|
32
|
+
// this marker will help to determine whether unsubscribe was requested while we were in process of subscribing
|
|
33
|
+
let disabled = false;
|
|
34
|
+
const marker = () => { disabled = true; };
|
|
35
|
+
this._map.set(key, marker);
|
|
36
|
+
if (!this.subscribe && !existingUnsubs) {
|
|
37
|
+
throw new Error('Neither subscribe function nor existingUnsubs has been configured');
|
|
38
|
+
}
|
|
39
|
+
const unsubs = existingUnsubs || await this.subscribe?.(key) || [];
|
|
40
|
+
const result = combineDisposers(...unsubs);
|
|
41
|
+
if (disabled) { // unsubscribe was requested
|
|
42
|
+
result();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this._map.set(key, result);
|
|
46
|
+
this.setCount(this._count + 1);
|
|
47
|
+
this.refreshTimeout(key, true, clearAfter);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this._logger.log('Removing observer for key =', key);
|
|
52
|
+
this.refreshTimeout(key, false);
|
|
53
|
+
const unsub = this._map.get(key);
|
|
54
|
+
this._map.delete(key);
|
|
55
|
+
unsub?.();
|
|
56
|
+
this.setCount(this._count - 1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
refreshTimeout(key, enable, timeout, refresh = false) {
|
|
60
|
+
const current = this._timeouts.get(key);
|
|
61
|
+
if (current) {
|
|
62
|
+
clearTimeout(current);
|
|
63
|
+
this._timeouts.delete(key);
|
|
64
|
+
}
|
|
65
|
+
if (enable && refresh && current == null) {
|
|
66
|
+
// DO NOT setup new timeout because it's not intended to clear subscription if it was previously enabled for long term
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (enable && timeout) {
|
|
70
|
+
const t = setTimeout(() => catchPromise(this.enable(key, false), err => this._logger?.error('Unexpected error:', err)), timeout);
|
|
71
|
+
this._timeouts.set(key, t);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
setCount(v) {
|
|
75
|
+
this._count = v;
|
|
76
|
+
}
|
|
77
|
+
clear() {
|
|
78
|
+
// Clear timeouts
|
|
79
|
+
for (const t of this._timeouts.values()) {
|
|
80
|
+
clearTimeout(t);
|
|
81
|
+
}
|
|
82
|
+
this._timeouts.clear();
|
|
83
|
+
// Invoke unsubscribers
|
|
84
|
+
for (const u of this._map.values()) {
|
|
85
|
+
u();
|
|
86
|
+
}
|
|
87
|
+
this._map.clear();
|
|
88
|
+
this.setCount(0);
|
|
89
|
+
}
|
|
90
|
+
dispose() {
|
|
91
|
+
this.clear();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=subscribersMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribersMap.js","sourceRoot":"","sources":["../../../src/structures/subscribersMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAe,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,OAAO,cAAc;IASF;IAAgE;IARrF,yCAAyC;IACxB,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtD,0CAA0C;IACzB,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;IAEnC,OAAO,CAAU;IACxB,MAAM,GAAG,CAAC,CAAC;IAErB,YAAqB,SAAqD,EAAW,IAAa;QAA7E,cAAS,GAAT,SAAS,CAA4C;QAAW,SAAI,GAAJ,IAAI,CAAS;QAC9F,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnC,cAAc,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,oBAAoB,CAAC,GAAW;QACnC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,MAAe,EAAE,aAA4B,IAAI,EAAE,iBAAgC,IAAI;QACpH,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO;QACX,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAErG,+GAA+G;YAC/G,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC;YAE3C,IAAI,QAAQ,EAAE,CAAC,CAAC,4BAA4B;gBACxC,MAAM,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,MAAe,EAAE,OAAuB,EAAE,OAAO,GAAG,KAAK;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACvC,sHAAsH;YACtH,OAAO;QACX,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,EACjG,OAAO,CACV,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAES,QAAQ,CAAC,CAAS;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK;QACR,iBAAiB;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,uBAAuB;QACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACjC,CAAC,EAAE,CAAC;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ExpireTracker } from './expire';
|
|
2
|
+
/**
|
|
3
|
+
* Calls factory fn to fetch and store some value for a limited time.
|
|
4
|
+
*
|
|
5
|
+
* To factory method be called, `current` getter must be accessed.
|
|
6
|
+
*/
|
|
7
|
+
export class TempoCache {
|
|
8
|
+
factory;
|
|
9
|
+
_current = undefined;
|
|
10
|
+
tracker;
|
|
11
|
+
constructor(factory, lifetimeMs) {
|
|
12
|
+
this.factory = factory;
|
|
13
|
+
this.tracker = new ExpireTracker(lifetimeMs);
|
|
14
|
+
}
|
|
15
|
+
get isExpired() { return this.tracker.isExpired; }
|
|
16
|
+
get current() {
|
|
17
|
+
if (this.isExpired) {
|
|
18
|
+
this._current = this.factory();
|
|
19
|
+
this.tracker.restart();
|
|
20
|
+
}
|
|
21
|
+
return this._current;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/* istanbul ignore next -- @preserve */
|
|
25
|
+
(function (TempoCache) {
|
|
26
|
+
function createFactory(source, key) {
|
|
27
|
+
return () => {
|
|
28
|
+
// each time factory is called means value is invalidated
|
|
29
|
+
// so we need to reset the lazy
|
|
30
|
+
source.reset();
|
|
31
|
+
return source[key];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a TempoCache instance which caches `ILazy.value` for a specified time.
|
|
36
|
+
*
|
|
37
|
+
* Note a limitation: calling `reset` (or changing the stored value directly in other way) on `lazy` will not affect the value cached by `TempoCache` instance.
|
|
38
|
+
*/
|
|
39
|
+
function createFromLazy(lazy, lifetimeMs) {
|
|
40
|
+
const factory = createFactory(lazy, 'value');
|
|
41
|
+
return new TempoCache(factory, lifetimeMs);
|
|
42
|
+
}
|
|
43
|
+
TempoCache.createFromLazy = createFromLazy;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a TempoCache instance which caches `ILazyPromise.promise` for a specified time.
|
|
46
|
+
*
|
|
47
|
+
* Note a limitation: calling `reset` (or changing the stored value directly in other way) on `lazy` will not affect the value cached by `TempoCache` instance.
|
|
48
|
+
*/
|
|
49
|
+
function createFromLazyPromise(lazy, lifetimeMs) {
|
|
50
|
+
const factory = createFactory(lazy, 'promise');
|
|
51
|
+
return new TempoCache(factory, lifetimeMs);
|
|
52
|
+
}
|
|
53
|
+
TempoCache.createFromLazyPromise = createFromLazyPromise;
|
|
54
|
+
})(TempoCache || (TempoCache = {}));
|
|
55
|
+
//# sourceMappingURL=tempoCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tempoCache.js","sourceRoot":"","sources":["../../../src/structures/tempoCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;EAIE;AACF,MAAM,OAAO,UAAU;IAME;IAJb,QAAQ,GAAkB,SAAS,CAAC;IAE5B,OAAO,CAAgB;IAEvC,YAAqB,OAAgB,EAAE,UAAkB;QAApC,YAAO,GAAP,OAAO,CAAS;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzD,IAAW,OAAO;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,uCAAuC;AACvC,WAAiB,UAAU;IAEvB,SAAS,aAAa,CAA+C,MAAS,EAAE,GAAM;QAClF,OAAO,GAAG,EAAE;YACR,yDAAyD;YACzD,+BAA+B;YAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC;IACN,CAAC;IAED;;;;MAIE;IACF,SAAgB,cAAc,CAAI,IAAc,EAAE,UAAkB;QAChE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAHe,yBAAc,iBAG7B,CAAA;IAED;;;;MAIE;IACF,SAAgB,qBAAqB,CAAI,IAAqB,EAAE,UAAkB;QAC9E,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAHe,gCAAqB,wBAGpC,CAAA;AACL,CAAC,EA9BgB,UAAU,KAAV,UAAU,QA8B1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/types/arrays.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAI,KAAQ;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AACjD,CAAC;AAID,MAAM,UAAU,MAAM,CAAI,KAAQ;IAC9B,OAAO,CAAC,CAAC,KAAK,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/types/comparator.ts"],"names":[],"mappings":"AAGA,MAAM,KAAW,UAAU,CAE1B;AAFD,WAAiB,UAAU;IACV,kBAAO,GAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,EAFgB,UAAU,KAAV,UAAU,QAE1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep.js","sourceRoot":"","sources":["../../../src/types/deep.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/types/functions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export var Getter;
|
|
2
|
+
(function (Getter) {
|
|
3
|
+
/** @deprecated use {@link toValue} instead */
|
|
4
|
+
function getValue(getter) {
|
|
5
|
+
return toValue(getter);
|
|
6
|
+
}
|
|
7
|
+
Getter.getValue = getValue;
|
|
8
|
+
function toValue(getter) {
|
|
9
|
+
if (typeof getter === 'function') {
|
|
10
|
+
return getter();
|
|
11
|
+
}
|
|
12
|
+
return getter;
|
|
13
|
+
}
|
|
14
|
+
Getter.toValue = toValue;
|
|
15
|
+
function toFn(getter) {
|
|
16
|
+
if (typeof getter === 'function') {
|
|
17
|
+
return getter;
|
|
18
|
+
}
|
|
19
|
+
return () => getter;
|
|
20
|
+
}
|
|
21
|
+
Getter.toFn = toFn;
|
|
22
|
+
})(Getter || (Getter = {}));
|
|
23
|
+
//# sourceMappingURL=getter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getter.js","sourceRoot":"","sources":["../../../src/types/getter.ts"],"names":[],"mappings":"AAIA,MAAM,KAAW,MAAM,CAmBtB;AAnBD,WAAiB,MAAM;IACnB,8CAA8C;IAC9C,SAAgB,QAAQ,CAAI,MAAiB;QACzC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAFe,eAAQ,WAEvB,CAAA;IAED,SAAgB,OAAO,CAAI,MAAiB;QACxC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAQ,MAAgB,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IALe,cAAO,UAKtB,CAAA;IAED,SAAgB,IAAI,CAAI,MAAiB;QACrC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,MAAe,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;IACxB,CAAC;IALe,WAAI,OAKnB,CAAA;AACL,CAAC,EAnBgB,MAAM,KAAN,MAAM,QAmBtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ident.js","sourceRoot":"","sources":["../../../src/types/ident.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/types/misc.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import EnumHelper from '../structures/helpers/enum';
|
|
2
|
+
export var ValidationErrors;
|
|
3
|
+
(function (ValidationErrors) {
|
|
4
|
+
ValidationErrors[ValidationErrors["None"] = 0] = "None";
|
|
5
|
+
// generic
|
|
6
|
+
ValidationErrors[ValidationErrors["ShouldBeNonEmpty"] = 1] = "ShouldBeNonEmpty";
|
|
7
|
+
ValidationErrors[ValidationErrors["ShouldBeEqualTo"] = 2] = "ShouldBeEqualTo";
|
|
8
|
+
ValidationErrors[ValidationErrors["InvalidFormat"] = 3] = "InvalidFormat";
|
|
9
|
+
ValidationErrors[ValidationErrors["Inconsistent"] = 4] = "Inconsistent";
|
|
10
|
+
// specific to fields & data
|
|
11
|
+
ValidationErrors[ValidationErrors["InvalidNameFormat"] = 5] = "InvalidNameFormat";
|
|
12
|
+
ValidationErrors[ValidationErrors["InvalidEmailFormat"] = 6] = "InvalidEmailFormat";
|
|
13
|
+
ValidationErrors[ValidationErrors["InvalidPasswordFormat"] = 7] = "InvalidPasswordFormat";
|
|
14
|
+
ValidationErrors[ValidationErrors["OnlyEnglishLetters"] = 8] = "OnlyEnglishLetters";
|
|
15
|
+
ValidationErrors[ValidationErrors["InvalidPhoneFormat"] = 9] = "InvalidPhoneFormat";
|
|
16
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardFormat"] = 10] = "InvalidCreditCardFormat";
|
|
17
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardExpiryDateFormat"] = 11] = "InvalidCreditCardExpiryDateFormat";
|
|
18
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardCvvFormat"] = 12] = "InvalidCreditCardCvvFormat";
|
|
19
|
+
ValidationErrors[ValidationErrors["OnlyDigit"] = 13] = "OnlyDigit";
|
|
20
|
+
// business logic
|
|
21
|
+
ValidationErrors[ValidationErrors["EmailIsInUse"] = 14] = "EmailIsInUse";
|
|
22
|
+
ValidationErrors[ValidationErrors["FirstName"] = 15] = "FirstName";
|
|
23
|
+
ValidationErrors[ValidationErrors["LastName"] = 16] = "LastName";
|
|
24
|
+
ValidationErrors[ValidationErrors["Website"] = 17] = "Website";
|
|
25
|
+
ValidationErrors[ValidationErrors["Linkedin"] = 18] = "Linkedin";
|
|
26
|
+
})(ValidationErrors || (ValidationErrors = {}));
|
|
27
|
+
(function (ValidationErrors) {
|
|
28
|
+
ValidationErrors.Helper = new EnumHelper(ValidationErrors);
|
|
29
|
+
})(ValidationErrors || (ValidationErrors = {}));
|
|
30
|
+
//# sourceMappingURL=ValidationErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidationErrors.js","sourceRoot":"","sources":["../../../src/validation/ValidationErrors.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAC;AAEpD,MAAM,CAAN,IAAY,gBA0BX;AA1BD,WAAY,gBAAgB;IACxB,uDAAQ,CAAA;IAER,UAAU;IACV,+EAAgB,CAAA;IAChB,6EAAe,CAAA;IACf,yEAAa,CAAA;IACb,uEAAY,CAAA;IAEZ,4BAA4B;IAC5B,iFAAiB,CAAA;IACjB,mFAAkB,CAAA;IAClB,yFAAqB,CAAA;IACrB,mFAAkB,CAAA;IAClB,mFAAkB,CAAA;IAClB,8FAAuB,CAAA;IACvB,kHAAiC,CAAA;IACjC,oGAA0B,CAAA;IAC1B,kEAAS,CAAA;IAET,iBAAiB;IACjB,wEAAY,CAAA;IACZ,kEAAS,CAAA;IACT,gEAAQ,CAAA;IACR,8DAAO,CAAA;IACP,gEAAQ,CAAA;AACZ,CAAC,EA1BW,gBAAgB,KAAhB,gBAAgB,QA0B3B;AAED,WAAiB,gBAAgB;IAChB,uBAAM,GAAG,IAAI,UAAU,CAAmB,gBAAgB,CAAC,CAAC;AAC7E,CAAC,EAFgB,gBAAgB,KAAhB,gBAAgB,QAEhC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const regexp = /^\D*3[47]/;
|
|
2
|
+
const types = {
|
|
3
|
+
0: 'credit-card-alt',
|
|
4
|
+
3: 'cc-amex',
|
|
5
|
+
4: 'cc-visa',
|
|
6
|
+
5: 'cc-mastercard',
|
|
7
|
+
6: 'cc-discover',
|
|
8
|
+
};
|
|
9
|
+
function getDigitsCount(val) {
|
|
10
|
+
return regexp.test(val) ? 15 : 16; // 15 digits if Amex
|
|
11
|
+
}
|
|
12
|
+
function getType(cardNumber) {
|
|
13
|
+
const val = cardNumber + '';
|
|
14
|
+
const firstDigit = +(val && val[0]) || 0;
|
|
15
|
+
return types[firstDigit] || types[0];
|
|
16
|
+
}
|
|
17
|
+
export default {
|
|
18
|
+
DEFAULT: types[0],
|
|
19
|
+
getDigitsCount,
|
|
20
|
+
getType,
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=creditCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creditCard.js","sourceRoot":"","sources":["../../../src/validation/creditCard.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,WAAW,CAAC;AAE3B,MAAM,KAAK,GAAgC;IACvC,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,aAAa;CACnB,CAAC;AAEF,SAAS,cAAc,CAAC,GAAW;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB;AAC3D,CAAC;AAED,SAAS,OAAO,CAAC,UAAkB;IAC/B,MAAM,GAAG,GAAG,UAAU,GAAG,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,eAAe;IACX,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACjB,cAAc;IACd,OAAO;CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/validation/emails.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAAC,KAAgC;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,WAAW,EAAE;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { someAsync } from '../async/arrays';
|
|
2
|
+
import { ValidationErrors } from './ValidationErrors';
|
|
3
|
+
import { ValidationError, } from './types';
|
|
4
|
+
export function createShouldBeEqualTo(getter) {
|
|
5
|
+
return (val) => getter() === val ? ValidationErrors.None : ValidationErrors.ShouldBeEqualTo;
|
|
6
|
+
}
|
|
7
|
+
export function throwNotOk(result, message = 'Validation error') {
|
|
8
|
+
if (result) {
|
|
9
|
+
throw new ValidationError(message, result);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function validateObject(obj, validators, onlyTruthy = false, context) {
|
|
13
|
+
const res = {};
|
|
14
|
+
Object.keys(obj).forEach(k => {
|
|
15
|
+
const kk = k;
|
|
16
|
+
const validator = validators[kk];
|
|
17
|
+
if (!validator) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const v = obj[k];
|
|
21
|
+
if (onlyTruthy && !v) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const err = validator(v, context || obj);
|
|
25
|
+
if (err) {
|
|
26
|
+
res[kk] = err;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return res;
|
|
30
|
+
}
|
|
31
|
+
export function combineValidators(...validators) {
|
|
32
|
+
return (val, ctx) => {
|
|
33
|
+
for (const validator of validators) {
|
|
34
|
+
const err = validator(val, ctx);
|
|
35
|
+
if (err) {
|
|
36
|
+
return err;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return ValidationErrors.None;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export async function combineValidatorsAsync(...validators) {
|
|
43
|
+
return async (val, ctx) => {
|
|
44
|
+
for (const validator of validators) {
|
|
45
|
+
const err = await validator(val, ctx);
|
|
46
|
+
if (err) {
|
|
47
|
+
return err;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return ValidationErrors.None;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export async function IsSomeInvalid(validatables, stopOnFail = true) {
|
|
54
|
+
if (stopOnFail) {
|
|
55
|
+
return someAsync(validatables, async (v) => !(await v.validate()));
|
|
56
|
+
}
|
|
57
|
+
const results = await Promise.all(validatables.map(v => v.validate()));
|
|
58
|
+
return results.some(r => !r);
|
|
59
|
+
}
|
|
60
|
+
export async function getFirstValidationError(...validatables) {
|
|
61
|
+
for (const v of validatables) {
|
|
62
|
+
if (!(await v.validate())) {
|
|
63
|
+
return v.error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/validation/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './ValidationErrors';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './validators';
|
|
4
|
+
export * from './wrappers';
|
|
5
|
+
export * from './helpers';
|
|
6
|
+
// TODO Make it universal
|
|
7
|
+
// This module looks like pretty project-specific, so probably won't be useful
|
|
8
|
+
// but can be used as a template anyways
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAE1B,yBAAyB;AACzB,8EAA8E;AAC9E,wCAAwC"}
|