@zajno/common 2.7.7 → 2.8.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/lazy/extensions.js +48 -0
- package/cjs/lazy/extensions.js.map +1 -0
- package/cjs/lazy/lazy.js +35 -14
- package/cjs/lazy/lazy.js.map +1 -1
- package/cjs/lazy/light.js +11 -1
- package/cjs/lazy/light.js.map +1 -1
- package/cjs/lazy/promise.js +139 -18
- package/cjs/lazy/promise.js.map +1 -1
- package/cjs/models/Loading.js.map +1 -1
- package/cjs/structures/extendObject.js +8 -0
- package/cjs/structures/extendObject.js.map +1 -0
- package/cjs/structures/path/utils/indexTrim.js +3 -3
- package/cjs/structures/path/utils/indexTrim.js.map +1 -1
- package/cjs/structures/promiseCache.js +126 -19
- package/cjs/structures/promiseCache.js.map +1 -1
- package/cjs/structures/promiseProxy.js +2 -5
- package/cjs/structures/promiseProxy.js.map +1 -1
- package/cjs/structures/tempoCache.js.map +1 -1
- package/esm/lazy/extensions.js +45 -0
- package/esm/lazy/extensions.js.map +1 -0
- package/esm/lazy/lazy.js +35 -14
- package/esm/lazy/lazy.js.map +1 -1
- package/esm/lazy/light.js +11 -1
- package/esm/lazy/light.js.map +1 -1
- package/esm/lazy/promise.js +139 -18
- package/esm/lazy/promise.js.map +1 -1
- package/esm/models/Loading.js.map +1 -1
- package/esm/structures/extendObject.js +5 -0
- package/esm/structures/extendObject.js.map +1 -0
- package/esm/structures/path/utils/indexTrim.js +3 -3
- package/esm/structures/path/utils/indexTrim.js.map +1 -1
- package/esm/structures/promiseCache.js +126 -19
- package/esm/structures/promiseCache.js.map +1 -1
- package/esm/structures/promiseProxy.js +2 -5
- package/esm/structures/promiseProxy.js.map +1 -1
- package/esm/structures/tempoCache.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/lazy/extensions.d.ts +10 -0
- package/types/lazy/lazy.d.ts +8 -3
- package/types/lazy/light.d.ts +3 -1
- package/types/lazy/promise.d.ts +63 -10
- package/types/lazy/types.d.ts +106 -8
- package/types/models/Loading.d.ts +4 -4
- package/types/models/Model.d.ts +2 -2
- package/types/models/types.d.ts +1 -1
- package/types/structures/extendObject.d.ts +13 -0
- package/types/structures/path/utils/indexTrim.d.ts +2 -1
- package/types/structures/promiseCache.d.ts +127 -12
- package/types/structures/promiseProxy.d.ts +10 -6
- package/types/structures/tempoCache.d.ts +3 -2
package/package.json
CHANGED
package/tsconfig.cjs.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
package/tsconfig.esm.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.config.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/config.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/hooks.ts","../src/api/index.ts","../src/api/interceptor.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/endpointhooks.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/extensions.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/empty.ts","../src/logger/index.ts","../src/logger/loggable.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/provider.ts","../src/logger/proxy.ts","../src/logger/types.ts","../src/logger/buffered/base.ts","../src/logger/buffered/buffered.logger.ts","../src/logger/buffered/buffered.memory.ts","../src/logger/buffered/index.ts","../src/logger/buffered/file/buffered.file.ts","../src/logger/buffered/file/index.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/observing/transition.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/extendobject.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/singleton.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils/combineurls.ts","../src/structures/path/utils/index.ts","../src/structures/path/utils/indextrim.ts","../src/structures/path/utils/optionals.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validationerror.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IKeyedStorage, IKeyedStorageSync } from '../storage/types.js';
|
|
2
|
+
import type { ILazyPromiseExtension } from './types.js';
|
|
3
|
+
export interface ICachedLazyPromiseExtension<T, TStorage extends IKeyedStorage<T> | IKeyedStorageSync<T>> {
|
|
4
|
+
readonly cache: TStorage;
|
|
5
|
+
/** Resets the current value to undefined and cleans up the cache. */
|
|
6
|
+
resetWithCache(): void;
|
|
7
|
+
/** Sets the current value and updates the cache. */
|
|
8
|
+
setCachedInstance(value: T | undefined): T | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare function createCacheExtension<T, TStorage extends IKeyedStorage<T> | IKeyedStorageSync<T>>(storage: TStorage): ILazyPromiseExtension<T, ICachedLazyPromiseExtension<T, TStorage>>;
|
package/types/lazy/lazy.d.ts
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
|
+
import { type IDisposable } from '../functions/disposer.js';
|
|
2
|
+
import type { IResettableModel } from '../models/types.js';
|
|
1
3
|
import type { IExpireTracker } from '../structures/expire.js';
|
|
2
4
|
import type { ILazy } from './types.js';
|
|
3
|
-
export declare class Lazy<T> implements ILazy<T
|
|
5
|
+
export declare class Lazy<T> implements ILazy<T>, IDisposable, IResettableModel {
|
|
4
6
|
protected readonly _factory: (() => T);
|
|
5
7
|
protected _instance: T | undefined;
|
|
6
8
|
private _expireTracker;
|
|
7
9
|
private _disposer?;
|
|
10
|
+
private _error;
|
|
8
11
|
constructor(_factory: (() => T));
|
|
9
12
|
get hasValue(): boolean;
|
|
10
|
-
get value():
|
|
13
|
+
get value(): T;
|
|
11
14
|
get currentValue(): T | undefined;
|
|
15
|
+
get error(): string | null;
|
|
12
16
|
/** Override me: additional way to make sure instance is valid */
|
|
13
17
|
protected get isValid(): boolean;
|
|
14
18
|
withDisposer(disposer: (prev: T) => void): this;
|
|
15
19
|
withExpire(tracker: IExpireTracker | undefined): this;
|
|
16
|
-
private ensureInstance;
|
|
17
20
|
prewarm(): this;
|
|
18
21
|
setInstance(instance: T | undefined): void;
|
|
19
22
|
reset(): void;
|
|
20
23
|
dispose(): void;
|
|
24
|
+
private ensureInstance;
|
|
25
|
+
protected parseError(err: unknown): string;
|
|
21
26
|
}
|
package/types/lazy/light.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
import type { IDisposable } from '../functions/disposer.js';
|
|
2
|
+
import type { IResettableModel } from '../models/types.js';
|
|
1
3
|
import type { ILazy } from './types.js';
|
|
2
|
-
export declare function createLazy<T>(factory: () => T): ILazy<T
|
|
4
|
+
export declare function createLazy<T>(factory: () => T): ILazy<T> & IDisposable & IResettableModel;
|
package/types/lazy/promise.d.ts
CHANGED
|
@@ -1,23 +1,76 @@
|
|
|
1
|
+
import { type IDisposable } from '../functions/disposer.js';
|
|
2
|
+
import type { IResettableModel } from '../models/types.js';
|
|
1
3
|
import type { IExpireTracker } from '../structures/expire.js';
|
|
2
|
-
import type {
|
|
3
|
-
export declare class LazyPromise<T> implements
|
|
4
|
-
private
|
|
5
|
-
private readonly
|
|
4
|
+
import type { IControllableLazyPromise, ILazyPromiseExtension, LazyFactory } from './types.js';
|
|
5
|
+
export declare class LazyPromise<T, TInitial extends T | undefined = undefined> implements IControllableLazyPromise<T, TInitial>, IDisposable, IResettableModel {
|
|
6
|
+
private _factory;
|
|
7
|
+
private readonly _initial;
|
|
6
8
|
private _instance;
|
|
7
|
-
private
|
|
9
|
+
private _isLoading;
|
|
8
10
|
private _promise;
|
|
9
11
|
private _expireTracker;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
private _lastRefreshingPromise;
|
|
13
|
+
private _error;
|
|
14
|
+
constructor(factory: LazyFactory<T>, initial?: TInitial);
|
|
15
|
+
get isLoading(): boolean | null;
|
|
12
16
|
get hasValue(): boolean;
|
|
17
|
+
get error(): string | null;
|
|
13
18
|
get promise(): Promise<T>;
|
|
14
|
-
get value():
|
|
19
|
+
get value(): T | TInitial;
|
|
15
20
|
/** does not calls factory */
|
|
16
|
-
get currentValue(): T |
|
|
21
|
+
get currentValue(): T | TInitial;
|
|
17
22
|
withExpire(tracker: IExpireTracker | undefined): this;
|
|
23
|
+
/**
|
|
24
|
+
* Extends this instance with additional functionality by applying extensions in place.
|
|
25
|
+
*
|
|
26
|
+
* **Capabilities:**
|
|
27
|
+
* - `overrideFactory`: Wrap the factory function (logging, retry, caching, etc.)
|
|
28
|
+
* - `extendShape`: Add custom properties/methods to the instance
|
|
29
|
+
*
|
|
30
|
+
* **Type Safety:**
|
|
31
|
+
* - Use `ILazyPromiseExtension<any>` for universal extensions
|
|
32
|
+
* - Use `ILazyPromiseExtension<ConcreteType>` for type-specific extensions (e.g., number-only)
|
|
33
|
+
*
|
|
34
|
+
* **Note:** Extensions mutate the instance and can be chained. Subclasses preserve their type.
|
|
35
|
+
*
|
|
36
|
+
* @param extension - Configuration with factory override and/or shape extensions
|
|
37
|
+
* @returns The same instance (this) with applied extensions
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* // Universal logging extension
|
|
42
|
+
* const logged = lazy.extend({
|
|
43
|
+
* overrideFactory: (factory) => async (refreshing) => {
|
|
44
|
+
* console.log('Loading...');
|
|
45
|
+
* return await factory(refreshing);
|
|
46
|
+
* }
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* // Type-specific extension with custom methods
|
|
50
|
+
* const enhanced = lazyNumber.extend<{ double: () => number | undefined }>({
|
|
51
|
+
* extendShape: (instance) => Object.assign(instance, {
|
|
52
|
+
* double: () => instance.currentValue !== undefined
|
|
53
|
+
* ? instance.currentValue * 2
|
|
54
|
+
* : undefined
|
|
55
|
+
* })
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* // Chaining multiple extensions
|
|
59
|
+
* const composed = lazy
|
|
60
|
+
* .extend(cacheExtension)
|
|
61
|
+
* .extend(loggingExtension);
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
extend<TExtShape extends object = object>(extension: Partial<ILazyPromiseExtension<any, TExtShape>>): object extends TExtShape ? this : this & TExtShape;
|
|
18
65
|
protected ensureInstanceLoading(): void;
|
|
66
|
+
protected doLoad(): void;
|
|
19
67
|
protected onResolved(res: T): T;
|
|
20
|
-
|
|
68
|
+
protected onRejected(e: unknown): T;
|
|
69
|
+
setInstance(res: T): T;
|
|
70
|
+
protected setError(err: unknown): void;
|
|
71
|
+
protected clearError(): void;
|
|
72
|
+
refresh(): Promise<T>;
|
|
21
73
|
reset(): void;
|
|
22
74
|
dispose(): void;
|
|
75
|
+
protected parseError(err: unknown): string;
|
|
23
76
|
}
|
package/types/lazy/types.d.ts
CHANGED
|
@@ -1,12 +1,110 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import type { IResettableModel } from '../models/types.js';
|
|
2
|
+
/** Represents a lazily loaded value. */
|
|
3
|
+
export interface ILazy<T> {
|
|
4
|
+
/** Returns current value. If not loaded, loading is triggered. */
|
|
4
5
|
readonly value: T;
|
|
6
|
+
/** Returns whether has current value. Accessing this property does not trigger loading. */
|
|
5
7
|
readonly hasValue: boolean;
|
|
6
|
-
/**
|
|
8
|
+
/** Returns current value or undefined if not present. Accessing this property does not trigger loading. */
|
|
7
9
|
readonly currentValue: T | undefined;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/** Returns error message if loading failed, null otherwise. Accessing this property does not trigger loading. */
|
|
11
|
+
readonly error: string | null;
|
|
12
|
+
}
|
|
13
|
+
/** Represents a lazily asynchronously loaded value. */
|
|
14
|
+
export interface ILazyPromise<T, TInitial extends T | undefined = undefined> extends ILazy<T | TInitial> {
|
|
15
|
+
/**
|
|
16
|
+
* Returns true if loading is in progress, false if loading is completed, null if loading was not initiated.
|
|
17
|
+
*
|
|
18
|
+
* Accessing this property does not trigger loading.
|
|
19
|
+
*/
|
|
20
|
+
readonly isLoading: boolean | null;
|
|
21
|
+
/** Returns the promise for the current value. If not loaded, accessing this property triggers loading. */
|
|
11
22
|
readonly promise: Promise<T>;
|
|
12
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Refreshes the value by re-executing the factory function.
|
|
25
|
+
* The factory will be called with `refreshing: true` parameter.
|
|
26
|
+
* If multiple refreshes are called concurrently, only the last one will update the instance.
|
|
27
|
+
*
|
|
28
|
+
* **⚠️ Use sparingly:** This method should only be called when you explicitly need fresh data.
|
|
29
|
+
* Over-using refresh defeats the purpose of lazy loading and caching.
|
|
30
|
+
*
|
|
31
|
+
* **Common valid use cases:**
|
|
32
|
+
* - User-initiated refresh action (pull-to-refresh, refresh button)
|
|
33
|
+
* - Cache invalidation after a mutation (e.g., after updating data on server)
|
|
34
|
+
* - Time-based refresh with proper debouncing/throttling
|
|
35
|
+
* - Recovery from an error state
|
|
36
|
+
*
|
|
37
|
+
* **Anti-patterns to avoid:**
|
|
38
|
+
* - Calling refresh on every render or component mount
|
|
39
|
+
* - Using refresh instead of proper cache expiration (use `withExpire` instead)
|
|
40
|
+
* - Calling refresh in loops or high-frequency events without debouncing
|
|
41
|
+
* - Using refresh as a substitute for real-time updates (consider WebSockets/polling instead)
|
|
42
|
+
*
|
|
43
|
+
* @returns Promise that resolves to the refreshed value, or current value if refresh fails.
|
|
44
|
+
*/
|
|
45
|
+
refresh(): Promise<T>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Represents a controllable lazy promise with manual state management capabilities.
|
|
49
|
+
* Extends ILazyPromise and IResettableModel with methods to manually set values and reset state.
|
|
50
|
+
* Use this interface in extensions that need direct control over the lazy value lifecycle.
|
|
51
|
+
*/
|
|
52
|
+
export interface IControllableLazyPromise<T, TInitial extends T | undefined = undefined> extends ILazyPromise<T, TInitial>, IResettableModel {
|
|
53
|
+
/**
|
|
54
|
+
* Manually sets the instance value and marks loading as complete.
|
|
55
|
+
* Useful for cache synchronization and manual state management.
|
|
56
|
+
*
|
|
57
|
+
* @param value - The value to set
|
|
58
|
+
* @returns The value that was set
|
|
59
|
+
*/
|
|
60
|
+
setInstance(value: T): T;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Factory function to retrieve the fresh value.
|
|
64
|
+
*
|
|
65
|
+
* @param refreshing - indicates whether manual refresh is requested
|
|
66
|
+
* */
|
|
67
|
+
export type LazyFactory<T> = (refreshing?: boolean) => Promise<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Extension for LazyPromise instances.
|
|
70
|
+
*
|
|
71
|
+
* @template T - The type of value the extension is compatible with. Use `any` for universal extensions.
|
|
72
|
+
* @template TExtShape - Additional shape added to the extended instance (properties/methods).
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Type-specific extension (only for numbers)
|
|
77
|
+
* const doublingExtension: ILazyPromiseExtension<number> = {
|
|
78
|
+
* overrideFactory: (original) => async (refreshing) => {
|
|
79
|
+
* const result = await original(refreshing);
|
|
80
|
+
* return result * 2;
|
|
81
|
+
* }
|
|
82
|
+
* };
|
|
83
|
+
*
|
|
84
|
+
* // Universal extension (works with any type)
|
|
85
|
+
* const loggingExtension: ILazyPromiseExtension<any> = {
|
|
86
|
+
* overrideFactory: (original) => async (refreshing) => {
|
|
87
|
+
* console.log('Loading...');
|
|
88
|
+
* return await original(refreshing);
|
|
89
|
+
* }
|
|
90
|
+
* };
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export interface ILazyPromiseExtension<T = any, TExtShape extends object = object> {
|
|
94
|
+
/**
|
|
95
|
+
* Override or wrap the factory function.
|
|
96
|
+
* @param original - The original factory function
|
|
97
|
+
* @param target - The LazyPromise instance being extended
|
|
98
|
+
* @returns A new factory function
|
|
99
|
+
*/
|
|
100
|
+
overrideFactory?: <TInitial extends T | undefined = undefined>(original: LazyFactory<T>, target: ILazyPromise<T, TInitial>) => LazyFactory<T>;
|
|
101
|
+
/**
|
|
102
|
+
* Extend the instance with additional properties/methods.
|
|
103
|
+
* Receives IControllableLazyPromise which includes setInstance() and reset() methods
|
|
104
|
+
* for manual state management and cache synchronization.
|
|
105
|
+
*
|
|
106
|
+
* @param previous - The controllable LazyPromise instance to extend
|
|
107
|
+
* @returns The instance with additional shape
|
|
108
|
+
*/
|
|
109
|
+
extendShape?: <TInitial extends T | undefined = undefined>(previous: IControllableLazyPromise<T, TInitial>) => IControllableLazyPromise<T, TInitial> & TExtShape;
|
|
110
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IResettableModel, IValueModel } from './types.js';
|
|
2
2
|
export type LoadingWorker<T> = () => (T | Promise<T>);
|
|
3
3
|
export type LoadingResult<T = unknown> = {
|
|
4
4
|
aborted: true;
|
|
@@ -7,8 +7,8 @@ export type LoadingResult<T = unknown> = {
|
|
|
7
7
|
result: T;
|
|
8
8
|
};
|
|
9
9
|
export declare function withLoading<T>(this: void, model: IValueModel<boolean>, cb: LoadingWorker<T>, exclusive?: boolean | 'throw'): Promise<LoadingResult<T>>;
|
|
10
|
-
export declare class LoadingModel implements IValueModel<boolean>,
|
|
11
|
-
protected readonly _number: IValueModel<number> &
|
|
10
|
+
export declare class LoadingModel implements IValueModel<boolean>, IResettableModel {
|
|
11
|
+
protected readonly _number: IValueModel<number> & IResettableModel;
|
|
12
12
|
protected _firstInit: boolean;
|
|
13
13
|
/**
|
|
14
14
|
* @param useFirstInit - if true, then `isLoading` will be returning 'true' until first `useLoading` call. Defaults to false.
|
|
@@ -27,7 +27,7 @@ export declare class LoadingModel implements IValueModel<boolean>, IResetableMod
|
|
|
27
27
|
/** override me
|
|
28
28
|
*
|
|
29
29
|
* Called in the ctor. Should be pure and should NOT access `this`. */
|
|
30
|
-
protected pureConstructNumberModel(): IValueModel<number> &
|
|
30
|
+
protected pureConstructNumberModel(): IValueModel<number> & IResettableModel;
|
|
31
31
|
}
|
|
32
32
|
export declare class ExclusiveLoadingError extends Error {
|
|
33
33
|
readonly actionName?: string | undefined;
|
package/types/models/Model.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IResettableModel, IValueModel } from './types.js';
|
|
2
2
|
import { Getter } from '../types/getter.js';
|
|
3
3
|
import type { Nullable } from '../types/misc.js';
|
|
4
|
-
export declare class Model<T> implements IValueModel<Nullable<T>>,
|
|
4
|
+
export declare class Model<T> implements IValueModel<Nullable<T>>, IResettableModel {
|
|
5
5
|
private _value;
|
|
6
6
|
private readonly _defaultValue;
|
|
7
7
|
constructor(v?: Getter<Nullable<T>>);
|
package/types/models/types.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface IValueModel<TValue> extends IValueModelReadonly<TValue> {
|
|
|
7
7
|
export interface ILabel<T> {
|
|
8
8
|
readonly label: T;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface IResettableModel {
|
|
11
11
|
readonly reset: () => void;
|
|
12
12
|
readonly isDefault?: boolean;
|
|
13
13
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type BasePropertyDescriptor = Pick<PropertyDescriptor, 'configurable' | 'enumerable' | 'writable'>;
|
|
2
|
+
type PropertyDescriptorTyped<T> = BasePropertyDescriptor & ({
|
|
3
|
+
value: T;
|
|
4
|
+
} | {
|
|
5
|
+
get: () => T;
|
|
6
|
+
set?: (value: T) => void;
|
|
7
|
+
});
|
|
8
|
+
type ExtensionMap<T extends object> = {
|
|
9
|
+
[K in keyof T]: PropertyDescriptorTyped<T[K]>;
|
|
10
|
+
};
|
|
11
|
+
/** Type-safe version of `Object.defineProperties` */
|
|
12
|
+
export declare function extendObject<T extends object, TExtension extends object>(base: T, extensionDescriptorsMap: ExtensionMap<TExtension>): T & TExtension;
|
|
13
|
+
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type TrimChar<T extends string, C extends string> = [T] extends undefined ? '' : T extends `${C}${infer R}` ? TrimChar<R, C> : T extends `${infer R}${C}` ? TrimChar<R, C> : T;
|
|
2
|
+
export declare function indexTrim<T extends string, C extends string>(str: T | null | undefined, ch: C): TrimChar<T, C>;
|