@voiceflow/common 8.2.5 → 8.2.7-RC1
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/CHANGELOG.md +373 -0
- package/build/cjs/constants/environment.d.ts +1 -0
- package/build/cjs/constants/environment.d.ts.map +1 -0
- package/build/cjs/constants/environment.js +0 -1
- package/build/cjs/constants/index.d.ts +1 -0
- package/build/cjs/constants/index.d.ts.map +1 -0
- package/build/cjs/constants/index.js +0 -1
- package/build/cjs/constants/intent.d.ts +1 -0
- package/build/cjs/constants/intent.d.ts.map +1 -0
- package/build/cjs/constants/intent.js +0 -1
- package/build/cjs/constants/regexp.d.ts +1 -0
- package/build/cjs/constants/regexp.d.ts.map +1 -0
- package/build/cjs/constants/regexp.js +0 -1
- package/build/cjs/constants/runtime.d.ts +1 -0
- package/build/cjs/constants/runtime.d.ts.map +1 -0
- package/build/cjs/constants/runtime.js +0 -1
- package/build/cjs/constants/slot.d.ts +1 -0
- package/build/cjs/constants/slot.d.ts.map +1 -0
- package/build/cjs/constants/slot.js +0 -1
- package/build/cjs/crypto/base64.d.ts +1 -0
- package/build/cjs/crypto/base64.d.ts.map +1 -0
- package/build/cjs/crypto/base64.js +0 -1
- package/build/cjs/crypto/hex2abc.d.ts +1 -0
- package/build/cjs/crypto/hex2abc.d.ts.map +1 -0
- package/build/cjs/crypto/hex2abc.js +0 -1
- package/build/cjs/crypto/hex2abc.test.d.ts +2 -0
- package/build/cjs/crypto/hex2abc.test.d.ts.map +1 -0
- package/build/cjs/crypto/hex2abc.test.js +12 -0
- package/build/cjs/crypto/index.d.ts +1 -0
- package/build/cjs/crypto/index.d.ts.map +1 -0
- package/build/cjs/crypto/index.js +0 -1
- package/build/cjs/crypto/murmurhash.d.ts +1 -0
- package/build/cjs/crypto/murmurhash.d.ts.map +1 -0
- package/build/cjs/crypto/murmurhash.js +1 -2
- package/build/cjs/crypto/murmurhash.test.d.ts +2 -0
- package/build/cjs/crypto/murmurhash.test.d.ts.map +1 -0
- package/build/cjs/crypto/murmurhash.test.js +23 -0
- package/build/cjs/crypto/synchronous.d.ts +2 -0
- package/build/cjs/crypto/synchronous.d.ts.map +1 -0
- package/build/cjs/crypto/synchronous.js +0 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.d.ts.map +1 -0
- package/build/cjs/index.js +0 -1
- package/build/cjs/types.d.ts +1 -0
- package/build/cjs/types.d.ts.map +1 -0
- package/build/cjs/types.js +0 -1
- package/build/cjs/utils/__fixtures__/name.json +64 -0
- package/build/cjs/utils/array.d.ts +1 -0
- package/build/cjs/utils/array.d.ts.map +1 -0
- package/build/cjs/utils/array.js +0 -1
- package/build/cjs/utils/array.test.d.ts +2 -0
- package/build/cjs/utils/array.test.d.ts.map +1 -0
- package/build/cjs/utils/array.test.js +237 -0
- package/build/cjs/utils/email.test.d.ts +2 -0
- package/build/cjs/utils/email.test.d.ts.map +1 -0
- package/build/cjs/utils/email.test.js +22 -0
- package/build/cjs/utils/emails.d.ts +1 -0
- package/build/cjs/utils/emails.d.ts.map +1 -0
- package/build/cjs/utils/emails.js +0 -1
- package/build/cjs/utils/functional.d.ts +1 -0
- package/build/cjs/utils/functional.d.ts.map +1 -0
- package/build/cjs/utils/functional.js +8 -11
- package/build/cjs/utils/functional.test.d.ts +2 -0
- package/build/cjs/utils/functional.test.d.ts.map +1 -0
- package/build/cjs/utils/functional.test.js +139 -0
- package/build/cjs/utils/generate.d.ts +1 -0
- package/build/cjs/utils/generate.d.ts.map +1 -0
- package/build/cjs/utils/generate.js +0 -1
- package/build/cjs/utils/id.d.ts +1 -0
- package/build/cjs/utils/id.d.ts.map +1 -0
- package/build/cjs/utils/id.js +2 -3
- package/build/cjs/utils/id.test.d.ts +2 -0
- package/build/cjs/utils/id.test.d.ts.map +1 -0
- package/build/cjs/utils/id.test.js +66 -0
- package/build/cjs/utils/index.d.ts +1 -0
- package/build/cjs/utils/index.d.ts.map +1 -0
- package/build/cjs/utils/index.js +0 -1
- package/build/cjs/utils/intent.d.ts +6 -5
- package/build/cjs/utils/intent.d.ts.map +1 -0
- package/build/cjs/utils/intent.js +10 -14
- package/build/cjs/utils/intent.test.d.ts +2 -0
- package/build/cjs/utils/intent.test.d.ts.map +1 -0
- package/build/cjs/utils/intent.test.js +100 -0
- package/build/cjs/utils/map.d.ts +1 -0
- package/build/cjs/utils/map.d.ts.map +1 -0
- package/build/cjs/utils/map.js +0 -1
- package/build/cjs/utils/map.test.d.ts +2 -0
- package/build/cjs/utils/map.test.d.ts.map +1 -0
- package/build/cjs/utils/map.test.js +22 -0
- package/build/cjs/utils/mathjs.d.ts +1 -0
- package/build/cjs/utils/mathjs.d.ts.map +1 -0
- package/build/cjs/utils/mathjs.js +0 -1
- package/build/cjs/utils/normalized.d.ts +1 -0
- package/build/cjs/utils/normalized.d.ts.map +1 -0
- package/build/cjs/utils/normalized.js +18 -21
- package/build/cjs/utils/number.d.ts +1 -0
- package/build/cjs/utils/number.d.ts.map +1 -0
- package/build/cjs/utils/number.js +0 -1
- package/build/cjs/utils/object/common.d.ts +1 -0
- package/build/cjs/utils/object/common.d.ts.map +1 -0
- package/build/cjs/utils/object/common.js +2 -3
- package/build/cjs/utils/object/common.test.d.ts +2 -0
- package/build/cjs/utils/object/common.test.d.ts.map +1 -0
- package/build/cjs/utils/object/common.test.js +175 -0
- package/build/cjs/utils/object/deepMap.d.ts +1 -0
- package/build/cjs/utils/object/deepMap.d.ts.map +1 -0
- package/build/cjs/utils/object/deepMap.js +0 -1
- package/build/cjs/utils/object/deepMap.test.d.ts +2 -0
- package/build/cjs/utils/object/deepMap.test.d.ts.map +1 -0
- package/build/cjs/utils/object/deepMap.test.js +111 -0
- package/build/cjs/utils/object/diff.d.ts +1 -0
- package/build/cjs/utils/object/diff.d.ts.map +1 -0
- package/build/cjs/utils/object/diff.js +0 -1
- package/build/cjs/utils/object/diff.test.d.ts +2 -0
- package/build/cjs/utils/object/diff.test.d.ts.map +1 -0
- package/build/cjs/utils/object/diff.test.js +19 -0
- package/build/cjs/utils/object/index.d.ts +1 -0
- package/build/cjs/utils/object/index.d.ts.map +1 -0
- package/build/cjs/utils/object/index.js +0 -1
- package/build/cjs/utils/object/keys.d.ts +1 -0
- package/build/cjs/utils/object/keys.d.ts.map +1 -0
- package/build/cjs/utils/object/keys.js +0 -1
- package/build/cjs/utils/object/keys.test.d.ts +2 -0
- package/build/cjs/utils/object/keys.test.d.ts.map +1 -0
- package/build/cjs/utils/object/keys.test.js +15 -0
- package/build/cjs/utils/promise.d.ts +1 -0
- package/build/cjs/utils/promise.d.ts.map +1 -0
- package/build/cjs/utils/promise.js +0 -1
- package/build/cjs/utils/promise.test.d.ts +2 -0
- package/build/cjs/utils/promise.test.d.ts.map +1 -0
- package/build/cjs/utils/promise.test.js +25 -0
- package/build/cjs/utils/protocol.d.ts +1 -0
- package/build/cjs/utils/protocol.d.ts.map +1 -0
- package/build/cjs/utils/protocol.js +2 -6
- package/build/cjs/utils/protocol.test.d.ts +2 -0
- package/build/cjs/utils/protocol.test.d.ts.map +1 -0
- package/build/cjs/utils/protocol.test.js +40 -0
- package/build/cjs/utils/slot.d.ts +1 -0
- package/build/cjs/utils/slot.d.ts.map +1 -0
- package/build/cjs/utils/slot.js +4 -2
- package/build/cjs/utils/slot.test.d.ts +2 -0
- package/build/cjs/utils/slot.test.d.ts.map +1 -0
- package/build/cjs/utils/slot.test.js +38 -0
- package/build/cjs/utils/string.d.ts +1 -0
- package/build/cjs/utils/string.d.ts.map +1 -0
- package/build/cjs/utils/string.js +0 -1
- package/build/cjs/utils/string.test.d.ts +2 -0
- package/build/cjs/utils/string.test.d.ts.map +1 -0
- package/build/cjs/utils/string.test.js +53 -0
- package/build/cjs/utils/time.d.ts +1 -0
- package/build/cjs/utils/time.d.ts.map +1 -0
- package/build/cjs/utils/time.js +0 -1
- package/build/cjs/utils/timezones.d.ts +1 -0
- package/build/cjs/utils/timezones.d.ts.map +1 -0
- package/build/cjs/utils/timezones.js +0 -1
- package/build/cjs/utils/timezones.test.d.ts +2 -0
- package/build/cjs/utils/timezones.test.d.ts.map +1 -0
- package/build/cjs/utils/timezones.test.js +12 -0
- package/build/cjs/utils/typeguard.d.ts +1 -0
- package/build/cjs/utils/typeguard.d.ts.map +1 -0
- package/build/cjs/utils/typeguard.js +0 -1
- package/build/cjs/utils/typeguard.test.d.ts +2 -0
- package/build/cjs/utils/typeguard.test.d.ts.map +1 -0
- package/build/cjs/utils/typeguard.test.js +55 -0
- package/build/cjs/utils/variables.d.ts +2 -1
- package/build/cjs/utils/variables.d.ts.map +1 -0
- package/build/cjs/utils/variables.js +1 -2
- package/build/esm/constants/environment.d.ts +1 -0
- package/build/esm/constants/environment.d.ts.map +1 -0
- package/build/esm/constants/environment.js +0 -1
- package/build/esm/constants/index.d.ts +1 -0
- package/build/esm/constants/index.d.ts.map +1 -0
- package/build/esm/constants/index.js +0 -1
- package/build/esm/constants/intent.d.ts +1 -0
- package/build/esm/constants/intent.d.ts.map +1 -0
- package/build/esm/constants/intent.js +0 -1
- package/build/esm/constants/regexp.d.ts +1 -0
- package/build/esm/constants/regexp.d.ts.map +1 -0
- package/build/esm/constants/regexp.js +0 -1
- package/build/esm/constants/runtime.d.ts +1 -0
- package/build/esm/constants/runtime.d.ts.map +1 -0
- package/build/esm/constants/runtime.js +0 -1
- package/build/esm/constants/slot.d.ts +1 -0
- package/build/esm/constants/slot.d.ts.map +1 -0
- package/build/esm/constants/slot.js +0 -1
- package/build/esm/crypto/base64.d.ts +1 -0
- package/build/esm/crypto/base64.d.ts.map +1 -0
- package/build/esm/crypto/base64.js +0 -1
- package/build/esm/crypto/hex2abc.d.ts +1 -0
- package/build/esm/crypto/hex2abc.d.ts.map +1 -0
- package/build/esm/crypto/hex2abc.js +0 -1
- package/build/esm/crypto/hex2abc.test.d.ts +2 -0
- package/build/esm/crypto/hex2abc.test.d.ts.map +1 -0
- package/build/esm/crypto/hex2abc.test.js +10 -0
- package/build/esm/crypto/index.d.ts +1 -0
- package/build/esm/crypto/index.d.ts.map +1 -0
- package/build/esm/crypto/index.js +0 -1
- package/build/esm/crypto/murmurhash.d.ts +1 -0
- package/build/esm/crypto/murmurhash.d.ts.map +1 -0
- package/build/esm/crypto/murmurhash.js +1 -2
- package/build/esm/crypto/murmurhash.test.d.ts +2 -0
- package/build/esm/crypto/murmurhash.test.d.ts.map +1 -0
- package/build/esm/crypto/murmurhash.test.js +21 -0
- package/build/esm/crypto/synchronous.d.ts +2 -0
- package/build/esm/crypto/synchronous.d.ts.map +1 -0
- package/build/esm/crypto/synchronous.js +0 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.d.ts.map +1 -0
- package/build/esm/index.js +0 -1
- package/build/esm/types.d.ts +1 -0
- package/build/esm/types.d.ts.map +1 -0
- package/build/esm/types.js +0 -1
- package/build/esm/utils/__fixtures__/name.json +64 -0
- package/build/esm/utils/array.d.ts +1 -0
- package/build/esm/utils/array.d.ts.map +1 -0
- package/build/esm/utils/array.js +0 -1
- package/build/esm/utils/array.test.d.ts +2 -0
- package/build/esm/utils/array.test.d.ts.map +1 -0
- package/build/esm/utils/array.test.js +235 -0
- package/build/esm/utils/email.test.d.ts +2 -0
- package/build/esm/utils/email.test.d.ts.map +1 -0
- package/build/esm/utils/email.test.js +20 -0
- package/build/esm/utils/emails.d.ts +1 -0
- package/build/esm/utils/emails.d.ts.map +1 -0
- package/build/esm/utils/emails.js +0 -1
- package/build/esm/utils/functional.d.ts +1 -0
- package/build/esm/utils/functional.d.ts.map +1 -0
- package/build/esm/utils/functional.js +8 -11
- package/build/esm/utils/functional.test.d.ts +2 -0
- package/build/esm/utils/functional.test.d.ts.map +1 -0
- package/build/esm/utils/functional.test.js +137 -0
- package/build/esm/utils/generate.d.ts +1 -0
- package/build/esm/utils/generate.d.ts.map +1 -0
- package/build/esm/utils/generate.js +0 -1
- package/build/esm/utils/id.d.ts +1 -0
- package/build/esm/utils/id.d.ts.map +1 -0
- package/build/esm/utils/id.js +1 -2
- package/build/esm/utils/id.test.d.ts +2 -0
- package/build/esm/utils/id.test.d.ts.map +1 -0
- package/build/esm/utils/id.test.js +64 -0
- package/build/esm/utils/index.d.ts +1 -0
- package/build/esm/utils/index.d.ts.map +1 -0
- package/build/esm/utils/index.js +0 -1
- package/build/esm/utils/intent.d.ts +6 -5
- package/build/esm/utils/intent.d.ts.map +1 -0
- package/build/esm/utils/intent.js +10 -14
- package/build/esm/utils/intent.test.d.ts +2 -0
- package/build/esm/utils/intent.test.d.ts.map +1 -0
- package/build/esm/utils/intent.test.js +75 -0
- package/build/esm/utils/map.d.ts +1 -0
- package/build/esm/utils/map.d.ts.map +1 -0
- package/build/esm/utils/map.js +0 -1
- package/build/esm/utils/map.test.d.ts +2 -0
- package/build/esm/utils/map.test.d.ts.map +1 -0
- package/build/esm/utils/map.test.js +20 -0
- package/build/esm/utils/mathjs.d.ts +1 -0
- package/build/esm/utils/mathjs.d.ts.map +1 -0
- package/build/esm/utils/mathjs.js +0 -1
- package/build/esm/utils/normalized.d.ts +1 -0
- package/build/esm/utils/normalized.d.ts.map +1 -0
- package/build/esm/utils/normalized.js +18 -21
- package/build/esm/utils/number.d.ts +1 -0
- package/build/esm/utils/number.d.ts.map +1 -0
- package/build/esm/utils/number.js +0 -1
- package/build/esm/utils/object/common.d.ts +1 -0
- package/build/esm/utils/object/common.d.ts.map +1 -0
- package/build/esm/utils/object/common.js +2 -3
- package/build/esm/utils/object/common.test.d.ts +2 -0
- package/build/esm/utils/object/common.test.d.ts.map +1 -0
- package/build/esm/utils/object/common.test.js +173 -0
- package/build/esm/utils/object/deepMap.d.ts +1 -0
- package/build/esm/utils/object/deepMap.d.ts.map +1 -0
- package/build/esm/utils/object/deepMap.js +0 -1
- package/build/esm/utils/object/deepMap.test.d.ts +2 -0
- package/build/esm/utils/object/deepMap.test.d.ts.map +1 -0
- package/build/esm/utils/object/deepMap.test.js +109 -0
- package/build/esm/utils/object/diff.d.ts +1 -0
- package/build/esm/utils/object/diff.d.ts.map +1 -0
- package/build/esm/utils/object/diff.js +0 -1
- package/build/esm/utils/object/diff.test.d.ts +2 -0
- package/build/esm/utils/object/diff.test.d.ts.map +1 -0
- package/build/esm/utils/object/diff.test.js +17 -0
- package/build/esm/utils/object/index.d.ts +1 -0
- package/build/esm/utils/object/index.d.ts.map +1 -0
- package/build/esm/utils/object/index.js +0 -1
- package/build/esm/utils/object/keys.d.ts +1 -0
- package/build/esm/utils/object/keys.d.ts.map +1 -0
- package/build/esm/utils/object/keys.js +0 -1
- package/build/esm/utils/object/keys.test.d.ts +2 -0
- package/build/esm/utils/object/keys.test.d.ts.map +1 -0
- package/build/esm/utils/object/keys.test.js +13 -0
- package/build/esm/utils/promise.d.ts +1 -0
- package/build/esm/utils/promise.d.ts.map +1 -0
- package/build/esm/utils/promise.js +0 -1
- package/build/esm/utils/promise.test.d.ts +2 -0
- package/build/esm/utils/promise.test.d.ts.map +1 -0
- package/build/esm/utils/promise.test.js +23 -0
- package/build/esm/utils/protocol.d.ts +1 -0
- package/build/esm/utils/protocol.d.ts.map +1 -0
- package/build/esm/utils/protocol.js +1 -2
- package/build/esm/utils/protocol.test.d.ts +2 -0
- package/build/esm/utils/protocol.test.d.ts.map +1 -0
- package/build/esm/utils/protocol.test.js +38 -0
- package/build/esm/utils/slot.d.ts +1 -0
- package/build/esm/utils/slot.d.ts.map +1 -0
- package/build/esm/utils/slot.js +4 -2
- package/build/esm/utils/slot.test.d.ts +2 -0
- package/build/esm/utils/slot.test.d.ts.map +1 -0
- package/build/esm/utils/slot.test.js +13 -0
- package/build/esm/utils/string.d.ts +1 -0
- package/build/esm/utils/string.d.ts.map +1 -0
- package/build/esm/utils/string.js +0 -1
- package/build/esm/utils/string.test.d.ts +2 -0
- package/build/esm/utils/string.test.d.ts.map +1 -0
- package/build/esm/utils/string.test.js +51 -0
- package/build/esm/utils/time.d.ts +1 -0
- package/build/esm/utils/time.d.ts.map +1 -0
- package/build/esm/utils/time.js +0 -1
- package/build/esm/utils/timezones.d.ts +1 -0
- package/build/esm/utils/timezones.d.ts.map +1 -0
- package/build/esm/utils/timezones.js +0 -1
- package/build/esm/utils/timezones.test.d.ts +2 -0
- package/build/esm/utils/timezones.test.d.ts.map +1 -0
- package/build/esm/utils/timezones.test.js +10 -0
- package/build/esm/utils/typeguard.d.ts +1 -0
- package/build/esm/utils/typeguard.d.ts.map +1 -0
- package/build/esm/utils/typeguard.js +0 -1
- package/build/esm/utils/typeguard.test.d.ts +2 -0
- package/build/esm/utils/typeguard.test.d.ts.map +1 -0
- package/build/esm/utils/typeguard.test.js +53 -0
- package/build/esm/utils/variables.d.ts +2 -1
- package/build/esm/utils/variables.d.ts.map +1 -0
- package/build/esm/utils/variables.js +1 -2
- package/package.json +12 -10
- package/build/cjs/constants/environment.js.map +0 -1
- package/build/cjs/constants/index.js.map +0 -1
- package/build/cjs/constants/intent.js.map +0 -1
- package/build/cjs/constants/regexp.js.map +0 -1
- package/build/cjs/constants/runtime.js.map +0 -1
- package/build/cjs/constants/slot.js.map +0 -1
- package/build/cjs/crypto/base64.js.map +0 -1
- package/build/cjs/crypto/hex2abc.js.map +0 -1
- package/build/cjs/crypto/index.js.map +0 -1
- package/build/cjs/crypto/murmurhash.js.map +0 -1
- package/build/cjs/crypto/synchronous.js.map +0 -1
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/types.js.map +0 -1
- package/build/cjs/utils/array.js.map +0 -1
- package/build/cjs/utils/emails.js.map +0 -1
- package/build/cjs/utils/functional.js.map +0 -1
- package/build/cjs/utils/generate.js.map +0 -1
- package/build/cjs/utils/id.js.map +0 -1
- package/build/cjs/utils/index.js.map +0 -1
- package/build/cjs/utils/intent.js.map +0 -1
- package/build/cjs/utils/map.js.map +0 -1
- package/build/cjs/utils/mathjs.js.map +0 -1
- package/build/cjs/utils/normalized.js.map +0 -1
- package/build/cjs/utils/number.js.map +0 -1
- package/build/cjs/utils/object/common.js.map +0 -1
- package/build/cjs/utils/object/deepMap.js.map +0 -1
- package/build/cjs/utils/object/diff.js.map +0 -1
- package/build/cjs/utils/object/index.js.map +0 -1
- package/build/cjs/utils/object/keys.js.map +0 -1
- package/build/cjs/utils/promise.js.map +0 -1
- package/build/cjs/utils/protocol.js.map +0 -1
- package/build/cjs/utils/slot.js.map +0 -1
- package/build/cjs/utils/string.js.map +0 -1
- package/build/cjs/utils/time.js.map +0 -1
- package/build/cjs/utils/timezones.js.map +0 -1
- package/build/cjs/utils/typeguard.js.map +0 -1
- package/build/cjs/utils/variables.js.map +0 -1
- package/build/esm/constants/environment.js.map +0 -1
- package/build/esm/constants/index.js.map +0 -1
- package/build/esm/constants/intent.js.map +0 -1
- package/build/esm/constants/regexp.js.map +0 -1
- package/build/esm/constants/runtime.js.map +0 -1
- package/build/esm/constants/slot.js.map +0 -1
- package/build/esm/crypto/base64.js.map +0 -1
- package/build/esm/crypto/hex2abc.js.map +0 -1
- package/build/esm/crypto/index.js.map +0 -1
- package/build/esm/crypto/murmurhash.js.map +0 -1
- package/build/esm/crypto/synchronous.js.map +0 -1
- package/build/esm/index.js.map +0 -1
- package/build/esm/types.js.map +0 -1
- package/build/esm/utils/array.js.map +0 -1
- package/build/esm/utils/emails.js.map +0 -1
- package/build/esm/utils/functional.js.map +0 -1
- package/build/esm/utils/generate.js.map +0 -1
- package/build/esm/utils/id.js.map +0 -1
- package/build/esm/utils/index.js.map +0 -1
- package/build/esm/utils/intent.js.map +0 -1
- package/build/esm/utils/map.js.map +0 -1
- package/build/esm/utils/mathjs.js.map +0 -1
- package/build/esm/utils/normalized.js.map +0 -1
- package/build/esm/utils/number.js.map +0 -1
- package/build/esm/utils/object/common.js.map +0 -1
- package/build/esm/utils/object/deepMap.js.map +0 -1
- package/build/esm/utils/object/diff.js.map +0 -1
- package/build/esm/utils/object/index.js.map +0 -1
- package/build/esm/utils/object/keys.js.map +0 -1
- package/build/esm/utils/promise.js.map +0 -1
- package/build/esm/utils/protocol.js.map +0 -1
- package/build/esm/utils/slot.js.map +0 -1
- package/build/esm/utils/string.js.map +0 -1
- package/build/esm/utils/time.js.map +0 -1
- package/build/esm/utils/timezones.js.map +0 -1
- package/build/esm/utils/typeguard.js.map +0 -1
- package/build/esm/utils/variables.js.map +0 -1
- package/build/tsconfig.build.tsbuildinfo +0 -1
- package/build/tsconfig.esm.tsbuildinfo +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LOWER_CASE_CUSTOM_SLOT_TYPE, SLOT_REGEXP, SPACE_REGEXP } from '../constants/index.js';
|
|
2
1
|
import _sample from 'lodash/sample';
|
|
2
|
+
import { LOWER_CASE_CUSTOM_SLOT_TYPE, SLOT_REGEXP, SPACE_REGEXP } from '../constants/index.js';
|
|
3
3
|
import { getAllSamples } from './slot.js';
|
|
4
4
|
export const formatIntentName = (name) => {
|
|
5
5
|
if (!name) {
|
|
@@ -13,15 +13,14 @@ export const formatIntentName = (name) => {
|
|
|
13
13
|
return formattedName;
|
|
14
14
|
};
|
|
15
15
|
export const getUtterancesWithSlotNames = ({ slots = [], utterances = [], }) => utterances
|
|
16
|
-
.filter((utterance) =>
|
|
16
|
+
.filter((utterance) => !!utterance.text?.trim())
|
|
17
17
|
.map(({ text }) => text.replace(SLOT_REGEXP, (substring, _name, key) => {
|
|
18
18
|
const slot = slots.find((_slot) => _slot.key === key);
|
|
19
|
-
return
|
|
19
|
+
return slot?.name ? `{${slot.name}}` : substring;
|
|
20
20
|
}));
|
|
21
21
|
export const getSlotType = (slots, slot) => {
|
|
22
|
-
var _a, _b;
|
|
23
22
|
let type = slot.name;
|
|
24
|
-
const lowerCaseType =
|
|
23
|
+
const lowerCaseType = slot.type.value?.toLowerCase() ?? '';
|
|
25
24
|
if (!!slot.type.value && lowerCaseType !== LOWER_CASE_CUSTOM_SLOT_TYPE) {
|
|
26
25
|
const builtinSlot = slots.find((_slot) => _slot.label.toLowerCase() === lowerCaseType);
|
|
27
26
|
if (!builtinSlot) {
|
|
@@ -48,23 +47,21 @@ const continuousReplace = (text, regex, replacer) => {
|
|
|
48
47
|
return current;
|
|
49
48
|
};
|
|
50
49
|
export const utteranceEntityPermutations = ({ utterances, entitiesByID, limit = 22, replacer, getSamples = getAllSamples, }) => {
|
|
51
|
-
var _a;
|
|
52
50
|
const newUtterances = [];
|
|
53
51
|
const entityRef = {};
|
|
54
52
|
const addNewUtterance = (utterance) => {
|
|
55
|
-
if (!
|
|
53
|
+
if (!utterance?.trim())
|
|
56
54
|
return;
|
|
57
55
|
const entities = [];
|
|
58
56
|
// Find all occurences of {entityName} in training utterances
|
|
59
57
|
const text = continuousReplace(utterance, VF_ENTITY_REGEXP, (_match, entityName, entityID, offset) => {
|
|
60
|
-
var _a, _b, _c, _d;
|
|
61
58
|
const entity = entitiesByID[entityID];
|
|
62
59
|
if (!entity)
|
|
63
60
|
return entityName;
|
|
64
|
-
const sample = (
|
|
65
|
-
if (!
|
|
61
|
+
const sample = (entityRef[entityID]?.samples.shift() || _sample(getSamples(entity?.inputs)) || entityName).trim();
|
|
62
|
+
if (!entityRef[entityID]?.samples?.length)
|
|
66
63
|
delete entityRef[entityID];
|
|
67
|
-
const replacement =
|
|
64
|
+
const replacement = replacer?.(sample, entityID) ?? sample;
|
|
68
65
|
// This module should additionally create one full training utterance with positional entity (startPos, endPos, entityName).
|
|
69
66
|
const startPos = offset || 0;
|
|
70
67
|
const endPos = startPos + replacement.length - 1;
|
|
@@ -103,8 +100,8 @@ export const utteranceEntityPermutations = ({ utterances, entitiesByID, limit =
|
|
|
103
100
|
});
|
|
104
101
|
while (Object.keys(entityRef).length > 0 && newUtterances.length < limit) {
|
|
105
102
|
const entityID = Object.keys(entityRef)[0];
|
|
106
|
-
const utterancesUsingEntity =
|
|
107
|
-
if (utterancesUsingEntity
|
|
103
|
+
const utterancesUsingEntity = entityRef[entityID]?.utterances;
|
|
104
|
+
if (utterancesUsingEntity?.length) {
|
|
108
105
|
addNewUtterance(utterancesUsingEntity[newUtterances.length % utterancesUsingEntity.length]);
|
|
109
106
|
}
|
|
110
107
|
else {
|
|
@@ -137,4 +134,3 @@ export const injectUtteranceSpaces = (originalUtterance) => {
|
|
|
137
134
|
};
|
|
138
135
|
// VF.HELP -> help
|
|
139
136
|
export const cleanVFIntentName = (intentName) => (intentName.startsWith('VF.') ? intentName.slice(3).toLowerCase() : intentName);
|
|
140
|
-
//# sourceMappingURL=intent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.test.d.ts","sourceRoot":"","sources":["../../../src/utils/intent.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as data from './__fixtures__/name.json';
|
|
2
|
+
import { injectUtteranceSpaces, utteranceEntityPermutations } from './intent.js';
|
|
3
|
+
describe('utteranceEntityPermutations unit tests', () => {
|
|
4
|
+
it('works correctly', async () => {
|
|
5
|
+
const utterances = data.intents[0].inputs.map(({ text }) => text);
|
|
6
|
+
const entitiesByID = Object.fromEntries(data.slots.map((slot) => [slot.key, slot]));
|
|
7
|
+
const key = '4i3h3mmi';
|
|
8
|
+
const luisUtterances = utteranceEntityPermutations({ utterances, entitiesByID });
|
|
9
|
+
expect(luisUtterances.length).toBe(Math.min(entitiesByID[key].inputs.length, 22));
|
|
10
|
+
// Check that each slot value is within one of the utterances
|
|
11
|
+
entitiesByID[key].inputs.forEach((input, i) => {
|
|
12
|
+
if (i < 22) {
|
|
13
|
+
expect(luisUtterances.filter((utt) => utt.text?.includes(input)).length).toBeGreaterThan(0);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
// Check that a fake name is not within the utterances
|
|
17
|
+
expect(luisUtterances.filter((utt) => utt.text?.includes('fakeName')).length).toBe(0);
|
|
18
|
+
});
|
|
19
|
+
it('with replacer', async () => {
|
|
20
|
+
const utterances = [
|
|
21
|
+
'{{[slot].4i3h3mmi}} testing {{[slotmans].4i3h3mmi}} {{[third].third}}',
|
|
22
|
+
'close {{[slotmans].4i3h3mmi}}{{[third].third}} together',
|
|
23
|
+
];
|
|
24
|
+
const entitiesByID = {
|
|
25
|
+
'4i3h3mmi': { name: 'slotmans', inputs: ['value1', 'value_super_long', 'v3'] },
|
|
26
|
+
third: { name: 'third', inputs: ['thirdvalue'] },
|
|
27
|
+
};
|
|
28
|
+
// this generates the rasa format
|
|
29
|
+
const replacer = (sample, entityID) => {
|
|
30
|
+
return `[${sample}](${entitiesByID[entityID].name})`;
|
|
31
|
+
};
|
|
32
|
+
const replacedUtterances = utteranceEntityPermutations({ utterances, entitiesByID, replacer });
|
|
33
|
+
expect(replacedUtterances.map(({ text }) => text)).toEqual([
|
|
34
|
+
'[value1](slotmans) testing [value_super_long](slotmans) [thirdvalue](third)',
|
|
35
|
+
'close [v3](slotmans)[thirdvalue](third) together',
|
|
36
|
+
]);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('injectUtteranceSpaces', () => {
|
|
40
|
+
const testUtterances = [
|
|
41
|
+
'',
|
|
42
|
+
'{{[slot].4i3h3mmi}}',
|
|
43
|
+
'{{[slot].4i3h3mmi}}{{[slotmans].4i3h3mmi}}',
|
|
44
|
+
'hello there {{[slotmans].4i3h3mma}}',
|
|
45
|
+
'hello there {{[slotmans].4i3h3mmb}} words',
|
|
46
|
+
'hello there{{[slotmans].4i3h3mmc}} words',
|
|
47
|
+
'hello there {{[slotmans].4i3h3mmd}}words',
|
|
48
|
+
'hello there{{[slotmans].4i3h3mme}}words',
|
|
49
|
+
'hello there {{[slotmans].4i3h3mmf}}, words',
|
|
50
|
+
'hello there:{{[slotmans].4i3h3mmg}},words',
|
|
51
|
+
'{{[slot].4i3h3mmi}}and{{[third].third}}',
|
|
52
|
+
'{{[slot].4i3h3mmi}}{{[slotmans].4i3h3mmi}}{{[third].third}}',
|
|
53
|
+
'multiple{{[slotmans].4i3h3mmi}}slots{{[slotmans].4i3h3mmi}}words{{[slotmans].4i3h3mmi}}',
|
|
54
|
+
];
|
|
55
|
+
const expectedResults = [
|
|
56
|
+
'',
|
|
57
|
+
'{{[slot].4i3h3mmi}}',
|
|
58
|
+
'{{[slot].4i3h3mmi}} {{[slotmans].4i3h3mmi}}',
|
|
59
|
+
'hello there {{[slotmans].4i3h3mma}}',
|
|
60
|
+
'hello there {{[slotmans].4i3h3mmb}} words',
|
|
61
|
+
'hello there {{[slotmans].4i3h3mmc}} words',
|
|
62
|
+
'hello there {{[slotmans].4i3h3mmd}} words',
|
|
63
|
+
'hello there {{[slotmans].4i3h3mme}} words',
|
|
64
|
+
'hello there {{[slotmans].4i3h3mmf}}, words',
|
|
65
|
+
'hello there:{{[slotmans].4i3h3mmg}},words',
|
|
66
|
+
'{{[slot].4i3h3mmi}} and {{[third].third}}',
|
|
67
|
+
'{{[slot].4i3h3mmi}} {{[slotmans].4i3h3mmi}} {{[third].third}}',
|
|
68
|
+
'multiple {{[slotmans].4i3h3mmi}} slots {{[slotmans].4i3h3mmi}} words {{[slotmans].4i3h3mmi}}',
|
|
69
|
+
];
|
|
70
|
+
it('add spaces around slots if needed', () => {
|
|
71
|
+
for (let i = 0; i < testUtterances.length; ++i) {
|
|
72
|
+
expect(injectUtteranceSpaces(testUtterances[i])).toBe(expectedResults[i]);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
package/build/esm/utils/map.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/utils/map.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AAC/E,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC"}
|
package/build/esm/utils/map.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.test.d.ts","sourceRoot":"","sources":["../../../src/utils/map.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getOrDefault } from './map.js';
|
|
2
|
+
describe('Utils | map', () => {
|
|
3
|
+
describe('getOrDefault', () => {
|
|
4
|
+
it('returns the value at the given key if it exists in the map', () => {
|
|
5
|
+
const map = new Map([['key', 'value']]);
|
|
6
|
+
const value = getOrDefault(map, 'key', 'other');
|
|
7
|
+
expect(value).toBe('value');
|
|
8
|
+
});
|
|
9
|
+
it('inserts and returns the default value if key does not exist in the map', () => {
|
|
10
|
+
const map = new Map();
|
|
11
|
+
const value = getOrDefault(map, 'key', 'other');
|
|
12
|
+
expect(value).toBe('other');
|
|
13
|
+
});
|
|
14
|
+
it('inserts and returns the result of the default value function if key does not exist in the map', () => {
|
|
15
|
+
const map = new Map();
|
|
16
|
+
const value = getOrDefault(map, 'key', () => 'other');
|
|
17
|
+
expect(value).toBe('other');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathjs.d.ts","sourceRoot":"","sources":["../../../src/utils/mathjs.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,MAAM,QAAS,MAAM,WAuCjC,CAAC"}
|
|
@@ -71,3 +71,4 @@ export declare const addAllNormalizedByKeys: <T extends unknown, K extends GetKe
|
|
|
71
71
|
* @deprecated prefer `normal-store`
|
|
72
72
|
*/
|
|
73
73
|
export declare const reorderKeys: <T>(newKeyArray: string[], byKey: Record<string, T>) => Normalized<T>;
|
|
74
|
+
//# sourceMappingURL=normalized.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalized.d.ts","sourceRoot":"","sources":["../../../src/utils/normalized.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CACnG;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IACrD,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;CAC1G;AAGD,eAAO,MAAM,KAAK,iBAA0B,CAAC;AAE7C,oBAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC;AACxE,oBAAY,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC;AAE7E,eAAO,MAAM,aAAa,4CAAwD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,OAAO,gCAA6E,CAAC;AAIlG,eAAO,MAAM,UAAU,yBAEjB,MAAM,SAAS,MAAM,MACX,CAAC;AAEjB,eAAO,MAAM,QAAQ,0CAEb,MAAM,MACC,CAAC;AAEhB,eAAO,MAAM,WAAW,eAAgB,MAAM,EAAE,kBAAkB,MAAM,SAAS,MAAM,4BAK/E,CAAC;AAET;;GAEG;AACH,eAAO,MAAM,SAAS,yFAOrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+CAA6E,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAA6E,CAAC;AAE/G;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,sBACQ,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,sBAAsB,sCAAuC,MAAM,EAAE,QAAkC,CAAC;AAErH;;GAEG;AACH,eAAO,MAAM,qBAAqB,2DAA4D,MAAM,cAI3F,CAAC;AAEV;;GAEG;AACH,eAAO,MAAM,kBAAkB,sCAAuC,MAAM;;;CAG1E,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB,sCAAuC,MAAM;;;CAGjF,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB,wDAAwE,MAAM,gFAehH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,mBAAoB,MAAM,EAAE,4CAGlD,CAAC"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
1
|
import { stringify } from './functional.js';
|
|
13
2
|
import { hasProperty } from './object/index.js';
|
|
14
3
|
const createEmptyNormalized = () => ({ byKey: {}, allKeys: [] });
|
|
@@ -29,7 +18,7 @@ export const buildLookup = (allKeys, getValue) => allKeys.reduce((acc, key, inde
|
|
|
29
18
|
* @deprecated prefer `normal-store`
|
|
30
19
|
*/
|
|
31
20
|
export const normalize = (items, getKey) => {
|
|
32
|
-
const allKeys = items.map(getKey
|
|
21
|
+
const allKeys = items.map(getKey ?? defaultGetKey);
|
|
33
22
|
return {
|
|
34
23
|
byKey: buildLookup(allKeys, getByIndex(items)),
|
|
35
24
|
allKeys,
|
|
@@ -54,26 +43,35 @@ export const getAllNormalizedByKeys = ({ byKey }, keys) => keys.map((key) => byK
|
|
|
54
43
|
/**
|
|
55
44
|
* @deprecated prefer `normal-store`
|
|
56
45
|
*/
|
|
57
|
-
export const updateNormalizedByKey = (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
};
|
|
46
|
+
export const updateNormalizedByKey = ({ byKey, ...rest }, key, obj) => ({
|
|
47
|
+
...rest,
|
|
48
|
+
byKey: { ...byKey, [key]: obj },
|
|
49
|
+
});
|
|
61
50
|
/**
|
|
62
51
|
* @deprecated prefer `normal-store`
|
|
63
52
|
*/
|
|
64
|
-
export const addNormalizedByKey = (normalized, key, obj) => (
|
|
53
|
+
export const addNormalizedByKey = (normalized, key, obj) => ({
|
|
54
|
+
...updateNormalizedByKey(normalized, key, obj),
|
|
55
|
+
allKeys: safeAdd(normalized.allKeys, key),
|
|
56
|
+
});
|
|
65
57
|
/**
|
|
66
58
|
* @deprecated prefer `normal-store`
|
|
67
59
|
*/
|
|
68
|
-
export const addToStartNormalizedByKey = (normalized, key, obj) => (
|
|
60
|
+
export const addToStartNormalizedByKey = (normalized, key, obj) => ({
|
|
61
|
+
...updateNormalizedByKey(normalized, key, obj),
|
|
62
|
+
allKeys: safeAddToStart(normalized.allKeys, key),
|
|
63
|
+
});
|
|
69
64
|
/**
|
|
70
65
|
* @deprecated prefer `normal-store`
|
|
71
66
|
*/
|
|
72
67
|
export const addAllNormalizedByKeys = (normalized, objs, getKey) => {
|
|
73
|
-
const keyGetter = getKey
|
|
68
|
+
const keyGetter = getKey ?? defaultGetKey;
|
|
74
69
|
const keys = objs.map(keyGetter);
|
|
75
70
|
return {
|
|
76
|
-
byKey:
|
|
71
|
+
byKey: {
|
|
72
|
+
...normalized.byKey,
|
|
73
|
+
...objs.reduce((acc, obj) => Object.assign(acc, { [keyGetter(obj)]: obj }), {}),
|
|
74
|
+
},
|
|
77
75
|
allKeys: keys.reduce(safeAdd, normalized.allKeys),
|
|
78
76
|
};
|
|
79
77
|
};
|
|
@@ -84,4 +82,3 @@ export const reorderKeys = (newKeyArray, byKey) => ({
|
|
|
84
82
|
allKeys: newKeyArray,
|
|
85
83
|
byKey,
|
|
86
84
|
});
|
|
87
|
-
//# sourceMappingURL=normalized.js.map
|
|
@@ -2,3 +2,4 @@ export declare const NON_ALPHANUMERIC_REGEXP: RegExp;
|
|
|
2
2
|
export declare const convertToWord: (value: number) => string;
|
|
3
3
|
export declare const isInRange: (target: number, min: number, max: number) => boolean;
|
|
4
4
|
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
5
|
+
//# sourceMappingURL=number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/utils/number.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAA4E,CAAC;AAE3H,eAAO,MAAM,SAAS,WAAY,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,OAAyC,CAAC;AAE/G,eAAO,MAAM,KAAK,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAA6C,CAAC"}
|
|
@@ -3,4 +3,3 @@ export const NON_ALPHANUMERIC_REGEXP = /\W/g;
|
|
|
3
3
|
export const convertToWord = (value) => numberToWords.toWords(value).replace(NON_ALPHANUMERIC_REGEXP, ' ');
|
|
4
4
|
export const isInRange = (target, min, max) => target >= min && target <= max;
|
|
5
5
|
export const clamp = (value, min, max) => Math.max(Math.min(value, max), min);
|
|
6
|
-
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/utils/object/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,WAAW,2FAGV,CAAC;AAEf,eAAO,MAAM,QAAQ;;qBAAoB,CAAC;AAE1C,eAAO,MAAM,SAAS;;sBAAqB,CAAC;AAE5C,eAAO,MAAM,WAAW;;wBAAuB,CAAC;AAEhD,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAA2D,CAAC;AAEjG,eAAO,MAAM,aAAa,QAAS,OAAO,kBAAuC,CAAC;AAElF,eAAO,MAAM,WAAW,kFACwB,CAAC;AAEjD,eAAO,MAAM,IAAI,yDAsBhB,CAAC;AAEF,eAAO,MAAM,IAAI,yDAgChB,CAAC;AAEF,UAAU,UAAU;IAClB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC;CAChH;AAED,eAAO,MAAM,MAAM,EAAE,UAOb,CAAC;AAET,eAAO,MAAM,MAAM,EAAE,UAUlB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,aAAa,YAAS,CAAC;AAEpC,eAAO,MAAM,QAAQ;;CACkC,CAAC;AAExD,eAAO,MAAM,QAAQ;;CACkE,CAAC;AAExF,eAAO,MAAM,oBAAoB,4DAC2E,CAAC"}
|
|
@@ -8,7 +8,7 @@ export const isObject = (obj) => obj !== null && typeof obj === 'object';
|
|
|
8
8
|
export const isPlainObject = (obj) => _isPlainObject(obj);
|
|
9
9
|
export const hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
|
|
10
10
|
export const omit = (obj, keys) => {
|
|
11
|
-
const newObj =
|
|
11
|
+
const newObj = { ...obj };
|
|
12
12
|
if (keys.length > 3) {
|
|
13
13
|
return keys.reduce((acc, key) => {
|
|
14
14
|
delete acc[key];
|
|
@@ -62,7 +62,7 @@ export const omitBy = (obj, predicate) => Object.entries(obj).reduce((acc, [key,
|
|
|
62
62
|
delete acc[key];
|
|
63
63
|
}
|
|
64
64
|
return acc;
|
|
65
|
-
},
|
|
65
|
+
}, { ...obj });
|
|
66
66
|
/**
|
|
67
67
|
* @deprecated use pickBy instead
|
|
68
68
|
*/
|
|
@@ -70,4 +70,3 @@ export const filterEntries = pickBy;
|
|
|
70
70
|
export const mapEntry = (obj, callback) => Object.fromEntries(Object.entries(obj).map(callback));
|
|
71
71
|
export const mapValue = (obj, callback) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, callback(value)]));
|
|
72
72
|
export const shallowPartialEquals = (obj, partial) => Object.entries(partial).every(([key, partialValue]) => hasProperty(obj, key) && partialValue === obj[key]);
|
|
73
|
-
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/object/common.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { hasProperty, isObject, mapEntry, mapValue, omit, omitBy, pick, pickBy, selectField, selectID, selectKey, selectValue, shallowPartialEquals, } from './common.js';
|
|
2
|
+
describe('Utils | object | common', () => {
|
|
3
|
+
describe('selectField()', () => {
|
|
4
|
+
it('creates function', () => {
|
|
5
|
+
expect(typeof selectField('field')).toBe('function');
|
|
6
|
+
});
|
|
7
|
+
it('works', () => {
|
|
8
|
+
expect(selectField('field')({ field: 1 })).toBe(1);
|
|
9
|
+
expect(selectField('field2')({ field1: 1, field2: 2 })).toBe(2);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
describe('selectID()', () => {
|
|
13
|
+
it('works', () => {
|
|
14
|
+
expect(selectID({ id: '1' })).toBe('1');
|
|
15
|
+
expect(selectID({ id: 0 })).toBe(0);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
describe('selectKey()', () => {
|
|
19
|
+
it('works', () => {
|
|
20
|
+
expect(selectKey({ key: '1' })).toBe('1');
|
|
21
|
+
expect(selectKey({ key: 0 })).toBe(0);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('selectValue()', () => {
|
|
25
|
+
it('works', () => {
|
|
26
|
+
expect(selectValue({ value: '1' })).toBe('1');
|
|
27
|
+
expect(selectValue({ value: 0 })).toBe(0);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('isObject()', () => {
|
|
31
|
+
it('works positive', () => {
|
|
32
|
+
expect(isObject({})).toBe(true);
|
|
33
|
+
expect(isObject({})).toBe(true);
|
|
34
|
+
expect(isObject([])).toBe(true);
|
|
35
|
+
// eslint-disable-next-line no-new-wrappers
|
|
36
|
+
expect(isObject(new Number(1))).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
it('works negative', () => {
|
|
39
|
+
expect(isObject(null)).toBe(false);
|
|
40
|
+
expect(isObject(undefined)).toBe(false);
|
|
41
|
+
expect(isObject('')).toBe(false);
|
|
42
|
+
expect(isObject('lorem')).toBe(false);
|
|
43
|
+
expect(isObject(0)).toBe(false);
|
|
44
|
+
expect(isObject(Symbol('s'))).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('hasProperty()', () => {
|
|
48
|
+
it('works', () => {
|
|
49
|
+
expect(hasProperty({ value: '1' }, 'value')).toBe(true);
|
|
50
|
+
expect(hasProperty({}, 'key')).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe('omit()', () => {
|
|
54
|
+
it('works with 0-3 keys', () => {
|
|
55
|
+
expect(omit({ value1: '1' }, [])).toEqual({ value1: '1' });
|
|
56
|
+
expect(omit({ value1: '1' }, ['value1'])).toEqual({});
|
|
57
|
+
expect(omit({ value1: '1', value2: '2', value3: 3 }, ['value1', 'value2'])).toEqual({ value3: 3 });
|
|
58
|
+
expect(omit({ value1: '1', value2: '2', value3: 3, value4: 4 }, ['value1', 'value2', 'value3'])).toEqual({ value4: 4 });
|
|
59
|
+
});
|
|
60
|
+
it('works with 3+ keys', () => {
|
|
61
|
+
expect(omit({ value1: '1', value2: '2', value3: 3 }, ['value1', 'value2', 'value3'])).toEqual({});
|
|
62
|
+
expect(omit({ value1: '1', value2: '2', value3: 3, value4: undefined, value5: null }, ['value1', 'value2', 'value3', 'value5'])).toEqual({
|
|
63
|
+
value4: undefined,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('pick()', () => {
|
|
68
|
+
it('works with 0-3 keys', () => {
|
|
69
|
+
expect(pick({ value1: '1' }, [])).toEqual({});
|
|
70
|
+
expect(pick({ value1: '1' }, ['value1'])).toEqual({ value1: '1' });
|
|
71
|
+
expect(pick({ value1: '1', value2: '2', value3: 3 }, ['value1', 'value2'])).toEqual({ value1: '1', value2: '2' });
|
|
72
|
+
expect(pick({ value1: '1', value2: '2', value3: 3, value4: 4 }, ['value1', 'value2', 'value3'])).toEqual({
|
|
73
|
+
value1: '1',
|
|
74
|
+
value2: '2',
|
|
75
|
+
value3: 3,
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it('works with 3+ keys', () => {
|
|
79
|
+
expect(pick({ value1: '1', value2: '2', value3: 3 }, ['value1', 'value2', 'value3'])).toEqual({ value1: '1', value2: '2', value3: 3 });
|
|
80
|
+
expect(pick({ value1: '1', value2: '2', value3: 3, value4: undefined, value5: null }, ['value1', 'value2', 'value3', 'value5'])).toEqual({
|
|
81
|
+
value1: '1',
|
|
82
|
+
value2: '2',
|
|
83
|
+
value3: 3,
|
|
84
|
+
value5: null,
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
it('works with undefined keys', () => {
|
|
88
|
+
expect(pick({ value1: '1', value2: '2' }, ['value1', 'value2', 'value3'])).toEqual({ value1: '1', value2: '2' });
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
describe('omitBy()', () => {
|
|
92
|
+
it('works', () => {
|
|
93
|
+
const keys = new Set(['value1', 'value2', 'value5']);
|
|
94
|
+
expect(omitBy({ value1: '1' }, () => false)).toEqual({ value1: '1' });
|
|
95
|
+
expect(omitBy({ value1: '1' }, (key) => keys.has(key))).toEqual({});
|
|
96
|
+
expect(omitBy({ value1: '1', value2: '2', value3: 3 }, (key) => keys.has(key))).toEqual({ value3: 3 });
|
|
97
|
+
expect(omitBy({ value1: '1', value2: '2', value3: 3 }, (key) => key === 'value3' || keys.has(key))).toEqual({});
|
|
98
|
+
expect(omitBy({ value1: '1', value2: '2', value3: 3, value4: undefined, value5: null }, (key) => keys.has(key))).toEqual({
|
|
99
|
+
value3: 3,
|
|
100
|
+
value4: undefined,
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
describe('pickBy()', () => {
|
|
105
|
+
it('works', () => {
|
|
106
|
+
const keys = new Set(['value1', 'value2', 'value5']);
|
|
107
|
+
expect(pickBy({ value1: '1' }, () => false)).toEqual({});
|
|
108
|
+
expect(pickBy({ value1: '1' }, (key) => keys.has(key))).toEqual({ value1: '1' });
|
|
109
|
+
expect(pickBy({ value1: '1', value2: '2', value3: 3 }, (key) => keys.has(key))).toEqual({
|
|
110
|
+
value1: '1',
|
|
111
|
+
value2: '2',
|
|
112
|
+
});
|
|
113
|
+
expect(pickBy({ value1: '1', value2: '2', value3: 3 }, (key) => key === 'value3' || keys.has(key))).toEqual({
|
|
114
|
+
value1: '1',
|
|
115
|
+
value2: '2',
|
|
116
|
+
value3: 3,
|
|
117
|
+
});
|
|
118
|
+
expect(pickBy({ value1: '1', value2: '2', value3: 3, value4: undefined, value5: null }, (key) => keys.has(key))).toEqual({
|
|
119
|
+
value1: '1',
|
|
120
|
+
value2: '2',
|
|
121
|
+
value5: null,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
describe('mapValue()', () => {
|
|
126
|
+
it('works', () => {
|
|
127
|
+
const objects = {
|
|
128
|
+
a: { id: 1 },
|
|
129
|
+
b: { id: 2 },
|
|
130
|
+
c: { id: 3 },
|
|
131
|
+
};
|
|
132
|
+
expect(mapValue(objects, ({ id }) => id)).toEqual({ a: 1, b: 2, c: 3 });
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
describe('mapEntry()', () => {
|
|
136
|
+
it('works', () => {
|
|
137
|
+
const objects = {
|
|
138
|
+
a: { id: 1 },
|
|
139
|
+
b: { id: 2 },
|
|
140
|
+
c: { id: 3 },
|
|
141
|
+
};
|
|
142
|
+
expect(mapEntry(objects, ([key, { id }]) => [`new_${key}`, id])).toEqual({ new_a: 1, new_b: 2, new_c: 3 });
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
describe('shallowPartialEquals()', () => {
|
|
146
|
+
it('works', () => {
|
|
147
|
+
const obj1 = {
|
|
148
|
+
a: 1,
|
|
149
|
+
b: 2,
|
|
150
|
+
};
|
|
151
|
+
const obj1Update = {
|
|
152
|
+
a: 1,
|
|
153
|
+
c: undefined,
|
|
154
|
+
};
|
|
155
|
+
expect(shallowPartialEquals(obj1, obj1Update)).toBe(false);
|
|
156
|
+
const obj2 = {
|
|
157
|
+
a: 1,
|
|
158
|
+
b: 2,
|
|
159
|
+
};
|
|
160
|
+
const obj2Update = {
|
|
161
|
+
a: 1,
|
|
162
|
+
};
|
|
163
|
+
expect(shallowPartialEquals(obj2, obj2Update)).toBe(true);
|
|
164
|
+
const obj3 = {
|
|
165
|
+
a: 1,
|
|
166
|
+
};
|
|
167
|
+
const obj3Update = {
|
|
168
|
+
b: 1,
|
|
169
|
+
};
|
|
170
|
+
expect(shallowPartialEquals(obj3, obj3Update)).toBe(false);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
});
|
|
@@ -3,3 +3,4 @@ export declare const deepMap: <T = Struct>(object: unknown, mapFunction: (value:
|
|
|
3
3
|
inPlace?: boolean;
|
|
4
4
|
}) => T;
|
|
5
5
|
export declare const deepMapKeys: <T = Struct>(object: unknown, mapFunction: (key: string, value: unknown) => string) => T;
|
|
6
|
+
//# sourceMappingURL=deepMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMap.d.ts","sourceRoot":"","sources":["../../../../src/utils/object/deepMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,OAAO,uBACV,OAAO,uBACM,OAAO,OAAO,MAAM,GAAG,MAAM,KAAK,OAAO,YACrD;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,MA8C/B,CAAC;AAEF,eAAO,MAAM,WAAW,uBAAwB,OAAO,qBAAqB,MAAM,SAAS,OAAO,KAAK,MAAM,MA6C5G,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMap.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/object/deepMap.test.ts"],"names":[],"mappings":""}
|