@g9tm/lynxcontrols-native 1.4.3 → 1.4.5
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/README.md +19 -4
- package/android/build.gradle.kts +8 -0
- package/android/src/main/AndroidManifest.xml +7 -0
- package/android/src/main/java/com/g9lynx/g9native/G9HostModule.kt +31 -5
- package/android/src/main/java/com/g9lynx/g9native/G9SpeechModule.kt +206 -0
- package/android/src/main/java/com/g9lynx/g9native/generated/G9SpeechModuleSpec.java +27 -0
- package/android/src/main/java/com/g9lynx/g9native/host/core/G9SafeAreaCore.kt +19 -0
- package/android/src/main/java/com/g9lynx/g9native/input/G9InputUI.kt +118 -0
- package/android/src/main/java/com/g9lynx/g9native/input/core/G9DigitsCore.kt +56 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/protocol.d.ts +14 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +8 -2
- package/dist/services.js.map +1 -1
- package/dist/speech.d.ts +24 -0
- package/dist/speech.d.ts.map +1 -0
- package/dist/speech.js +114 -0
- package/dist/speech.js.map +1 -0
- package/generated/G9SpeechModule.ts +64 -0
- package/ios/g9lynx-native.podspec +4 -3
- package/ios/src/G9SpeechModule.h +18 -0
- package/ios/src/G9SpeechModule.m +201 -0
- package/ios/src/generated/G9SpeechModuleSpec.h +16 -0
- package/ios/src/generated/G9SpeechModuleSpec.m +2 -0
- package/package.json +4 -4
- package/types/platform-native-module.d.ts +21 -0
package/dist/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/animation.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@lynx-js/types/types/common/csstype.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/animation.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/element.d.ts","../../../node_modules/@lynx-js/types/types/common/events.d.ts","../../../node_modules/@lynx-js/types/types/common/system-info.d.ts","../../../node_modules/@lynx-js/types/types/common/performance.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/lynx.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/events.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/index.d.ts","../../../node_modules/@lynx-js/types/types/common/lynx.d.ts","../../../node_modules/@lynx-js/types/types/common/global.d.ts","../../../node_modules/@lynx-js/types/types/common/props.d.ts","../../../node_modules/@lynx-js/types/types/common/element/component.d.ts","../../../node_modules/@lynx-js/types/types/common/element/filter-image.d.ts","../../../node_modules/@lynx-js/types/types/common/element/image.d.ts","../../../node_modules/@lynx-js/types/types/common/element/common.d.ts","../../../node_modules/@lynx-js/types/types/common/element/list.d.ts","../../../node_modules/@lynx-js/types/types/common/element/list-item.d.ts","../../../node_modules/@lynx-js/types/types/common/element/page.d.ts","../../../node_modules/@lynx-js/types/types/common/element/scroll-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/text.d.ts","../../../node_modules/@lynx-js/types/types/common/element/view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/input.d.ts","../../../node_modules/@lynx-js/types/types/common/element/textarea.d.ts","../../../node_modules/@lynx-js/types/types/common/element/title-bar-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/svg.d.ts","../../../node_modules/@lynx-js/types/types/common/element/refresh.d.ts","../../../node_modules/@lynx-js/types/types/common/element/scroll-coordinator.d.ts","../../../node_modules/@lynx-js/types/types/common/element/viewpager.d.ts","../../../node_modules/@lynx-js/types/types/common/element/blur-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/webview.d.ts","../../../node_modules/@lynx-js/types/types/common/element/markdown.d.ts","../../../node_modules/@lynx-js/types/types/common/element/video.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/lynx-performance-entry.d.ts","../../../node_modules/@lynx-js/types/types/common/element/frame.d.ts","../../../node_modules/@lynx-js/types/types/common/element/overlay.d.ts","../../../node_modules/@lynx-js/types/types/common/element/element.d.ts","../../../node_modules/@lynx-js/types/types/common/element/methods.d.ts","../../../node_modules/@lynx-js/types/types/common/element/attributes.d.ts","../../../node_modules/@lynx-js/types/types/common/element/index.d.ts","../../../node_modules/@lynx-js/types/types/common/console.d.ts","../../../node_modules/@lynx-js/types/types/common/index.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/event.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/nodes-ref.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/app.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/performance.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/fetch.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/lynx.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/native-modules.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/text-encoder-decoder.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/index.d.ts","../../../node_modules/@lynx-js/types/types/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/@lynx-js/react/runtime/jsx-runtime/index.d.ts","../../sqlite/dist/values/ids.d.ts","../../sqlite/dist/values/int64.d.ts","../../sqlite/dist/values/local-date-time.d.ts","../../sqlite/dist/values/sql-value.d.ts","../../sqlite/dist/codecs/codecs.d.ts","../../foundation/dist/collections.d.ts","../../foundation/dist/culture/digits.d.ts","../../foundation/dist/culture/culture.d.ts","../../foundation/dist/culture/calendar.d.ts","../../foundation/dist/culture/date-format.d.ts","../../foundation/dist/culture/duration.d.ts","../../foundation/dist/culture/numbers.d.ts","../../foundation/dist/culture/strings.d.ts","../../foundation/dist/culture/relative-time.d.ts","../../foundation/dist/culture/index.d.ts","../../foundation/dist/enums/index.d.ts","../../foundation/dist/errors.d.ts","../../foundation/dist/exec/diagnostics.d.ts","../../foundation/dist/services/abort.d.ts","../../foundation/dist/exec/options.d.ts","../../foundation/dist/services/clock.d.ts","../../foundation/dist/exec/trace.d.ts","../../foundation/dist/exec/safe-executor.d.ts","../../foundation/dist/exec/index.d.ts","../../foundation/dist/icons/generated/glyph-svg.d.ts","../../foundation/dist/icons/glyph.d.ts","../../foundation/dist/icons/icon.d.ts","../../foundation/dist/icons/glyph-slots.d.ts","../../foundation/dist/icons/icon-fonts.d.ts","../../foundation/dist/icons/svg.d.ts","../../foundation/dist/icons/index.d.ts","../../foundation/dist/services/preferences.d.ts","../../foundation/dist/services/contracts.d.ts","../../foundation/dist/services/index.d.ts","../../foundation/dist/theme/color.d.ts","../../foundation/dist/tokens/generated/palettes.d.ts","../../foundation/dist/theme/theme.d.ts","../../foundation/dist/theme/control-colors.d.ts","../../foundation/dist/theme/variants.d.ts","../../foundation/dist/theme/index.d.ts","../../foundation/dist/tokens/generated/metrics.d.ts","../../foundation/dist/tokens/layout-metrics.d.ts","../../foundation/dist/tokens/css-vars.d.ts","../../foundation/dist/tokens/index.d.ts","../../foundation/dist/index.d.ts","../../sqlite/dist/driver/types.d.ts","../../sqlite/dist/contract/run-contract.d.ts","../../sqlite/dist/errors.d.ts","../../sqlite/dist/schema/columns.d.ts","../../sqlite/dist/query/expr.d.ts","../../sqlite/dist/schema/policies.d.ts","../../sqlite/dist/schema/entity.d.ts","../../sqlite/dist/query/compile.d.ts","../../sqlite/dist/query/builders.d.ts","../../sqlite/dist/repo/audit.d.ts","../../sqlite/dist/session/ambient.d.ts","../../sqlite/dist/session/locator.d.ts","../../sqlite/dist/session/migrations.d.ts","../../sqlite/dist/session/mutex.d.ts","../../sqlite/dist/session/write-hooks.d.ts","../../sqlite/dist/session/database.d.ts","../../sqlite/dist/session/cache.d.ts","../../sqlite/dist/session/scope.d.ts","../../sqlite/dist/repo/repository.d.ts","../../sqlite/dist/session/schema-setup.d.ts","../../sqlite/dist/index.d.ts","../src/protocol.ts","../src/transport.ts","../src/driver.ts","../src/services.ts","../src/index.ts","../../../node_modules/@lynx-js/react/runtime/lib/runtime-marker.d.ts","../../../node_modules/preact/src/jsx.d.ts","../../../node_modules/preact/src/dom.d.ts","../../../node_modules/preact/src/index.d.ts","../../../node_modules/preact/hooks/src/index.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/hooks/react.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/runwithforce.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/lynx.d.ts","../../../node_modules/preact/compat/src/suspense.d.ts","../../../node_modules/preact/compat/src/index.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/children.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/element.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/portalspending.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/portals.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/suspense.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/hooks/uselynxglobaleventlistener.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/globalprops.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/initdata.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/background-function/run-on-background.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/worklet/call/runonmainthread.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/animation/effect.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/animation/animation.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/element.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/bindings/types.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/main-thread-ref.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/lynx-api.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/index.d.ts","../../../node_modules/@lynx-js/react/types/react.docs.d.ts","../../../node_modules/@lynx-js/react/types/react.d.ts","../src/media.tsx"],"fileIdsList":[[41,95,96,197,198],[172,173,178,184],[41,173],[41,172,173,178,184],[41,192],[169,172,174,176,178,179,180,182,183,194],[41,184,185,186,187,188,193],[174,175],[172,178],[41,95,197,198],[41,95,172,181,197,198],[172],[189],[191],[190],[41,95,97,196,197,198],[41,174,194,195],[42,85,86,87],[53],[42,77,86,87,88,89,91,92,93],[42,85,86,87,89,90],[85,87],[42,85],[49,77],[43],[44],[51,55],[47],[41,51,55,56,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,78,79],[47,51,55,77],[47,51,55],[56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,78,79,80,81,82],[47,51,55,59],[47,60,63],[46],[48,52,53,94],[44,47,48,49,51,53,54,55,83,84],[44,47],[52,85,94],[45,85],[46,47,55],[45,46,50,51],[49,85],[38,39,40],[41],[170,172,173,177],[170,171],[105],[104],[104,105,106],[104,105,106,107,108,109,110,111],[110],[115,117,119,120],[116],[110,115,116,117,118,119],[115,118],[124],[123],[122,123,124,125,126,127],[103,112,113,114,121,128,131,137,141],[114,116,118,129],[116,118,129,130],[114],[132,134],[132,134,135,136],[132,133],[113,132,133],[133,138,139],[133,138,139,140],[97,163,164,165],[97,164,165,166,167],[95,97,142,164,197],[97],[97,142,164],[97,163,164],[98,99,100,101],[101,143],[101,142],[142],[98,99,100,101,102,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162],[101,102,147,149,150],[101,102,147],[101,102,146],[98,100,149],[100,101,142,143,147,148,149,151,157,158,159,160,163],[99,100,102],[146,147,148],[147],[98,100,142],[148,149,158],[98,100,102,142,143,149,151,153,154,155,156,157,159],[142,149],[102,143,149,158],[143,148,149,151,157,158,159,161],[142,145,147,149],[99]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"035312d4945d13efa134ae482f6dc56a1a9346f7ac3be7ccbad5741058ce87f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"07b03f752ae52a7130e06c5a8399d3a0dde07a1a634f8430b80cd6236c56b5c8","impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"acbac4ca6cd4b2b459debc4a274535775cb6278a8315be383fafa623ab78f18e","impliedFormat":1},{"version":"e421d0b097c78304a2597c1f33da586630e1dc665ae381c0c36e5ebc4aaf4566","impliedFormat":1},{"version":"adf624c89a0d509a789f3c0bf522969d2c47033dbeb50920b37cd89be475a65e","impliedFormat":1},{"version":"8ff8dade82d215fba372ec8ca795cb433997a41287e049acf294dd50cba08cc4","impliedFormat":1},{"version":"b32b532dcbe0a91d71fd94cb780e94bdfdce10be21608d914c29fb4b8939b24a","impliedFormat":1},{"version":"eb2b64881998b562a4fe9330e55aa2466cd3a41a1a57e93feac6555218cec06f","impliedFormat":1},{"version":"6db1694d205177322d792d924335b046b80607445a45c0d2de1fcffd190b48c0","impliedFormat":1},{"version":"2b47193137d251e8a5d4cea2d67fe85a68199795ba019e41d635f7cf5f8a35c5","impliedFormat":1},{"version":"f7e5c3960dd9df65d83408b9be446f7119fa1db1dd8266dd343349d90c3bf2ce","impliedFormat":1},{"version":"09c6491ed74af89a4155feafedecaf77780f5751c66d4b65b18d30fc0e053a75","impliedFormat":1},{"version":"188b01044640e5ef65f6edf0dd6e6454f02dd19f4ead66b9e03ebe26cc7298ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"c2be64f223b024c0b70c5096a8c361c9e11c7644f3bd8325d19c2720ee7087cd","impliedFormat":1},{"version":"5bf51107315834a209b08395b141e262b7d143d14f6b4e4d403d8e020cef7e32","impliedFormat":1},{"version":"db0dcbe48d5cb38315083b412c8ab6995b0d42dc73b286833e296827feb0e5b4","impliedFormat":1},{"version":"b3e4a49a3ba19463662e7b821544948b953d2f6708370d42406bda558084000c","impliedFormat":1},{"version":"90bebc017d1c8408719f5a056813cce04e171a53469c263a136c35076121bab0","impliedFormat":1},{"version":"0675f9dddf11b81ec71825d5d97fdd789e445003506255513e0fc829ebfb795a","impliedFormat":1},{"version":"32d1e153cac16ca3a3f5f6b68fae76cddcda509950fa00d038c465776359db0c","impliedFormat":1},{"version":"0d85d0fa55dd433acf924675d7e976c025c8521c91a76079844cd15e52855ccf","impliedFormat":1},{"version":"89da6ea3ee9735e712691227b0e5ee74381779f9ad8b0f4fb7ced0247b16735a","impliedFormat":1},{"version":"37f90d8b4384dae49b873e620b7fff15655c706105104809114ba98df6373124","impliedFormat":1},{"version":"7618f7fdf0abf7f712cefe766ac1ab7fcd1f8e753c513e57d3ada9ada3a57257","impliedFormat":1},{"version":"759df9936f492afeacebec2cea4efafdb647951e0e5edfc4c677ce2441eac9d0","impliedFormat":1},{"version":"8d8848528b40a84ab42200e89d08f3d5cd83efa275de1bb70ae38cb9e6fd5911","impliedFormat":1},{"version":"0e323630cbfda771430e2720f6a2f02f257becd8fb9722aa975ae773fb572210","impliedFormat":1},{"version":"56dbc770513baae28f7cfbadeba5078bb13a37a13132a5292e98a8b103312b98","impliedFormat":1},{"version":"84ff906032fe12e816bfb7441cee6726243e5a7316c4f2d6b0a6c149f1a91a16","impliedFormat":1},{"version":"a8641f25f667160f356c504936576de22899e50ea575d7a4da47fe3b3704dd93","impliedFormat":1},{"version":"dcbbe1fb0f2c0efc12e29db8bbccb5b82513384d01d7a55342065cb0611da272","impliedFormat":1},{"version":"af209189a194cf5ad1f7b22dd680b52843fec2e30f1283be20b2977872fd4424","impliedFormat":1},{"version":"14745f699217e89ff1034f7be978bc28c195472a597b5f36442ef83d954d47b0","impliedFormat":1},{"version":"10c1feac0328f8f90a81f348b7f3c6d3c3b3454e46fc045ba1a706406c58fd8e","impliedFormat":1},{"version":"f64cd565aca17df45f4666473da75e4ce51a2610e2ed1c31198e9f9325747a24","impliedFormat":1},{"version":"e415a17ab6a413d6be640457231e045541405eab1f0f370c7dd1e5567aa25999","impliedFormat":1},{"version":"8c03a41d6dc701b6648db83d71a92dc27147d7677ab5d70f32675e7e37b3795a","impliedFormat":1},{"version":"09c18bc60888c58e8f4568b6ca973af72613a8a01e7b213aab778e910ae18b2f","impliedFormat":1},{"version":"5258d7af58615ea380d959cbcb6d83cb7b9841b8c8267f5a0fcb36c092dadbdb","impliedFormat":1},{"version":"b2d74af681f440a07e714ae9a33e3ea49c79870b9674058114c0404d2aa2f190","impliedFormat":1},{"version":"24f31e43eb3505e5d2946315e7b8ee8b426dfbe92c3031e435a4eb2d9dd8d69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"679f7b45a77210e6dd0d72a4b81fd177868d2eacfd8ee6919ce6babd7512562d","impliedFormat":1},{"version":"c669ee7ba01fa6a60b17c3535f96b65fa82dfd2a475a8760364f2f3952f9bcbd","impliedFormat":1},{"version":"a8b121f6a75d603075e62793ff0c109112e882dd6ca2b70bdccbd8d8f753429b","impliedFormat":1},{"version":"f378d7ed5e3ecbe382ade55127a9c98e826c76f786e06effad6fde91a7023d55","impliedFormat":1},{"version":"4e3e9539df72b3bfcc56fa13140070020dac72f1eff39237b11253482cb99847","impliedFormat":1},{"version":"5a47b3a2bbe2c9b015fe356462afe0abe391c592fffbe277126e2415e0811967","impliedFormat":1},{"version":"a3e797c70a421cda37cdea4349dced37dceb1611669652d9c4c5523467a55cbf","impliedFormat":1},{"version":"9164e652ff4e7cbd993ca20acd0e2ad7e1cb775a7aefc577b506cf588763ec42","impliedFormat":1},{"version":"e52840670587e82e129c9bfc6a2f42d9c2f2e1fd6ce176fea998383a8c941ea5","impliedFormat":1},{"version":"31ca1ee726f5d7c7709913b98be76fc40fdfaaca6ad7fafc222108981e11227c","impliedFormat":1},{"version":"556db73da59f5162cdf5c7ea1bc3b063b6ccb758078ef6517ad6f6e4ae7b199a","impliedFormat":1},{"version":"0a2c8ef08611f5a5f711c7b10ba70d10dc1c6af0c9dba8168cbbf34911b74188","impliedFormat":1},{"version":"1d6ef45145a9939a43062fe18188d4f7bdfdf4547978e1f6b7c9089fe53e81e5","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"509a86836776d5c821901abc16a2d21de674d2c8943ceb8d018049bf324bc56c","impliedFormat":99},"bbe47f7ebb177015803b69bad47ecf0e5987449cae5dd498664a9e4885d7cdff","4f260a074507a0065f3cd71d1adc1b361f5337b3db9e8d01589d5872e9387a4a","7674dcae15d29bcba5a7e8c26defdb06bf75297bfaa3025037bcc1e4df7b0ae1","97ff954e351fb81e182a8bc0d7c6e3625054e2c37ea5df0ad0ea12952bd5d9c0","c65ecf314f579465ceba2eb45ec7529f977a7809480ff6119c7c129022472cca","d533d1fe3018752aa47ee74ae5dbdca34377441b891176ad99bd33366a64372f","44b82e4f46178400732ea809a906f7ffb9dd38efab331ca23e7ca4586bf903ef","d3dcff003bac57338c3e60be409d0ff167ec1ff513539a5534c7679332dbc992","16d64c89cec74fa23e8cee7c72acc7549f117dcf7845051870c40366c7522d09","11f9f682c02d51de68eed569f8de1e91c56df296a78f3a6c520b93d52aac2308","28b43630d8d29a300e1e5b0f5efb04c8f994d372fff1b653ce8bb70d4e011e1a","b06c48902c3d127098839c1a6500f41d3e21b2f07f277ba7de23ec730df7275d","94659c94bb0ae17efde21aaf59f2beb05d286bea13f2d3b2b288a6df4faeac18","a7a0e658ca429cfb5268d4bf2e2e6e9fe871ffd06b6588d65424ba4eba35338f","ab4c80cb9cf211a7cd100429cb4a823c5bd9f3618bf981e6504c6606abf08656","e60dd3f69310681e28813b910da7d57f5cf0078feccfd683d22a29b45bb7a035","ccd708c3fff99b4ec315e14315dce6b9e85f4c96d10131e9fd219edb6efbdb26","abc924fce33b86b9f8588de3a5be04c609fafa6cb1dc42629b3e9e3e18f7d018","f919e3a8b2d274b631ee4fee0c50eba1d3f39ceaccba04dff915e9f61e9f153c","3ae17ae844491c7326d070c3e70a94a9239394e7a1e84eb203eb1d57470e752e","d1b2970d348eb9f89ef0f0c6730d27e9331067a28f21c8bd667ba1138d5d3e93","b2c4833e6308888c3947953770b3343deaf4276c803bb36148991a3fb90b4f6a","41b7c8204ea79a93e380a228f5c744e9c9a80183133ac62633a4c76e3fdbd7db","d0a441df587b0632c16a813117f110574d903ddd0bc4d28599cc82ff8af7c094","b24ac81f4fcff56ed9827736abcf2f92ea5f86e16d66eb2ee3ccfa0bb8143bc9","068309ff581d08c276c4a772ddf3ab9c8090e591fc9917fdc6cdffc12c95a5bf","5c1d368a451520260ebb6c06121201f18abf86d80540290df6e424d372c5d0ed","bb3ccaacf5c19a7170939b7f735c6a94537fd95ad16b4247a6ad572b23183e74","2c8b86d9d29c4ea62762c3815ffe4fdb0c5dbc0dd096b9703236010f4a17c255","9528dc401d1a2502393af70423c895c3df61ef62240c0dca429a7cd1bd535b82","eebf270ff516980678bf039e03e18a9461f196aee2825d4d65f7d8a1fa362bff","ee4e73f46ce2f6517e82434bd9fc63c8b6b2179d37d74525899f124a76d06669","b04de3a3cd10559130d898b36da5612fda5db2c31c95b502077cad9fe538ed6c","bc4c3476708a74ae09c06bcdbb9765baaa135592e1cf6e25f2ee9a942c6cd5ec","29e6e980f179ac2981d68954462dfd4a4545f73c021f6a4c8a5f442c0e16e56c","faa64d270fa523f80fd31bc7340ee7f6a21632c2ea0cea6535bf5a34bcc6adf7","cbd4ce7ee090549d836cbffac2e76a192ac5b1c5f15bcbe29c06d32dc7006f34","ea5a5d5873c239b97d846fb8c78437e08ffd731924764f746c0ebcb7731d7648","fb6b5b4592e0eca5b8dc2507432e621a18c16d488ae8a610e4d1ddba1edff667","df85ab12f80aced067959d43bd7744017fccb1eb95adcfa343f16cba7c9ef670","613df14d2c8c0ba78286705c4ed01ec701ed03189ca3803dd69bc7086b9c02ff","298f8d2584216932ea238927177ef343d0b8da735eb40a5ba96b1f92e3675e33","c8082c78975419ed5a9f7daa655643425cdd98fee91bb82fd92d25f908c78465","3d1717d66cd1094139f0c1f0ed07ec56d91e4f5cd27e2b6309b6f195491e7f4a","6f1302be2fa00d8a64e3bd48b4ccdf5d77a402441d7728d48c2ecee706c79127","efb30c7f5b1e7e2c8941c95355161907fdd6f3f28941cceacf81edc11db89bad","37700ef2907cfee5d680c1ceb83ba8355223f375c8093f523b9ee2ce108c1044","a244408662b901d15567a5bcff4b29cd13a2a6c9bb2c27329eec616c48c8f144","cf4c01af6890db612fcb2eda144fa7a947a0fd005052f41485459d195cd7396d","770c7abd7f2b17ff392e7179ad9b14518bc284f18834ec6efc00b4c62b8a4846","f29c840652a2d49e5b24debe0c06f9dd6ca15f96421cbac112ba982258b16a94","44a3d19d7e208acb0261a1f718c047854d0794683a0d5c2193522d310e36bdec","090ce3b05198a4c287542354fcedbfd570d87b2f32d0363cab0eb48989aecd2e","ad4b4e5abb5f01f966304dfa08c347137a3fe77329c7ae6c17c824c3d4babf33","b78cb18aa49943470bbab837676a7c35d1dfbfae7241c144f1d7fbd183989022","024aeda8ac048f7b98839a2b806e2034fe2fa1db797418cf8923a06fb32358c8","54f9c37e150e434622cff5d71fb87237c48497141cb379fc1ab4d019a4a43e2e","0d912ede0e33119759d7a3eee223fcbb83f1ca4c229719c62d54aa071487ceca","6f5878e8666a8abbb560dcc15b19c95ac5b0f4f85aabab2e804abb6a145030e4","ac683a7d8aa2506a3d5a3243ed94348867c85307ba54e46e6dd4a440b6a3012d","cf08b5dd44744b109ed2ddb8968bc8cbd4c6192b74180e5fb0fb1671f38d5dbc","efa3706b88ec75d05bfa7fa44d39af58305b7affda1b3789cf6d3688bb83070b","0a589d620f1d4719925c345e3c6e17dde3137765ea8db58c5a790f52ccdc58a6","8a3a12f093b91e0e3ca5f9909fb0cbaed59e2d864f04f103487f8f87095dfbfb","07d6a4c577cad80d9c1a2cf5d0e0ddae1aafadb264f5e41396999edd5963c94d","ba23c12c72c1523b39716c37b20fddaaab05f3f82139c8cdc33d552c3de70684",{"version":"4643eefbe63f810c9a62806874ee74b9f845e3ac41d271302dcbc8b41aa565c0","signature":"ef010a3efd3a152c93ad02fee09ae186c4325672de691cf20c2d5b634d560117"},{"version":"b196a892a7087bc69d5e14a1647aaf5acfcdf995c1935a55afe405253c153b4c","signature":"f63a428eadbfdbc8c9137c4bdaa77a23988f7e82d1b01b5ef7d13e2f37d3d044"},{"version":"bb4df5f784c131c8fc70cfb1868ab99b883347d48c7260450d3c56958a996d60","signature":"b2b0e3e6fd8b425abfb54a11133c8b9abfc186d61ac86adc8deaba0b8c2f4e8f"},{"version":"faf3b4d50980988d8870ec5a63705d314d100f0338e3c9978362acea7a50e825","signature":"bd3f683b47db8bdf2c50f5c3becea6fd0610f1e70ae35e0a2d0605c7200b6719"},{"version":"0763d2dcc3c222b35e5692a428540b531055e3344853e6ec9519cd914f36a1ad","signature":"1b4441c0bc7e477dcec93ac03d68c33a05edd9369a6f1c205f797c325c9f4bf5"},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"8a2ef120c4da7aab664148ed8d283aa0b98df4d5f15c570d830c8998ef05718b","impliedFormat":1},{"version":"4433d18f82991634feae5150a68f9b30f5b05b55416af8ff9f7251fb29431ed5","impliedFormat":1},{"version":"cc5d0b221824b7d8597e8a2bbdad2383af877eb564eaca392992049839e88c9e","impliedFormat":1},{"version":"21898d939444825cee1232af435330610b09171bea22a2f892cf2058d764b63d","impliedFormat":1},{"version":"6ec5f3b496e6f10c4f0a079e3b1102acef9c0bf5e3464909fa6e88b16a26480f","impliedFormat":99},{"version":"d9d320cf31f6d63659484f6c9ca4db4ae673daefa65118dd8589838925ff1397","impliedFormat":99},{"version":"027cf2216d065a97bf5a8ea126b3ea2734fab6cfe32adaff81ab4e94a1b51bbe","impliedFormat":99},{"version":"f6e6313fad233c5141220f7d25eae120cdd6e5079fbe0aba56821a1e99d05df8","impliedFormat":1},{"version":"9534c35b4577c193e499178deb47419fdadddd5e53af5ec8cb88218848013f65","impliedFormat":1},{"version":"804dca323c25404588a6e71d76e52eb09806f05e6013f0be1fcea1fb7eed5fa3","impliedFormat":99},{"version":"aeba529dfa69caa0efcdee1f1455540250d026522e5551b20b8a7ba9eebc707a","impliedFormat":99},{"version":"dfe6945467765f8e7843442a9dfbcf6b5526b6465b07b4c75a54a750329b5f17","impliedFormat":99},{"version":"7f9f6c9fe0e48c401d855d849e28112ffe2425569eca01b08b8c6112b8200695","impliedFormat":99},{"version":"68fcdc663627d12d336b420b19b3e54258844d0cbca0879f711c22aafd853352","impliedFormat":99},{"version":"6e97a7762ca61b836f275a14bf22a1696559bfa01bd6176df9498e717b5ff298","impliedFormat":99},{"version":"86535783bd695ee43e1a403e8cc50b1d643d3741df8074d30fbfae3b0438f996","impliedFormat":99},{"version":"7c94c072f4eef88b15710e2a6dd17036bfd943b390976aecc94af63df2f8a287","impliedFormat":99},{"version":"7e8a2efc54958a4ea7d678671d8703b00ae48a519d0f795a8f44f605abdba3d5","impliedFormat":99},{"version":"1409a9680115403cac91934df0062646e0a77f1b220b60faec5fe26cd775d9ca","impliedFormat":99},{"version":"335226d599a9382c9bea07d37e23bf998c1022c0f67e4d6d2b69633de6ac118f","impliedFormat":99},{"version":"ae430fd9bac320e71c3fe9299d90dcf67555d9a4f97ecaa35947b430ba8648ea","impliedFormat":99},{"version":"9061ff14146280f47d740b344ddd641c16df526ecaa868c348852277a9fb8686","impliedFormat":99},{"version":"7fa70acc5eed701b456f21e33f8f289e9e0e77fdd1f952385c33d6b9ecfb2021","impliedFormat":99},{"version":"16c6bbe197b6bf88db162c620e37218fab4c1c32892132d4aa33e461ae2b990a","impliedFormat":99},{"version":"9778598e1d86d1e544ab77fbc0bb5199d2fbb08ed386b3520732246b90005545","impliedFormat":99},{"version":"feed66ae8815d1981ad575482766fb9a82385e75cce35ae2f13be58e50c4349f","impliedFormat":99},{"version":"7e500d1f51b14c04c6dce8dcbadc5c48f4bec6fca0f321397c165868834916a2","affectsGlobalScope":true,"impliedFormat":99},{"version":"20c1041fbd4f1537686af4b707872b87c90a22201f8979e5def4554d28b46a5b","impliedFormat":99},{"version":"57ff3023920f09ea08ee1fb662518ff60312e81781e03c4e3b50cef3322143be","signature":"495d5d4a044fa18020972e7146c7416e467a364a9b23de05b096335d212ac9bb"}],"root":[[164,168],198],"options":{"composite":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"jsx":4,"jsxImportSource":"@lynx-js/react","module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":6,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[97,1],[185,2],[174,3],[186,4],[193,5],[195,6],[194,7],[176,8],[179,9],[180,10],[182,11],[183,12],[190,13],[189,14],[191,15],[192,14],[197,16],[196,17],[88,18],[90,19],[94,20],[91,21],[92,22],[87,23],[89,24],[44,25],[82,26],[73,27],[59,28],[56,27],[80,29],[57,27],[78,30],[58,31],[83,32],[66,31],[61,27],[60,33],[75,31],[81,34],[79,31],[62,27],[70,31],[71,31],[63,33],[69,31],[64,31],[67,31],[68,27],[76,31],[65,27],[72,31],[74,31],[47,35],[54,36],[85,37],[55,38],[95,39],[45,35],[46,40],[51,41],[52,42],[50,43],[41,44],[96,45],[178,46],[177,12],[173,12],[171,12],[172,47],[170,12],[106,48],[105,49],[107,50],[112,51],[109,49],[111,52],[110,48],[121,53],[117,54],[120,55],[119,56],[125,57],[126,57],[124,58],[128,59],[127,58],[142,60],[130,61],[131,62],[132,63],[135,64],[137,65],[134,66],[136,67],[140,68],[141,69],[166,70],[168,71],[198,72],[164,73],[167,74],[165,75],[102,76],[144,77],[143,78],[145,79],[163,80],[151,81],[150,82],[147,83],[152,84],[161,85],[146,86],[149,87],[148,88],[153,89],[159,90],[158,91],[155,92],[162,93],[160,94],[157,95],[101,96]],"latestChangedDtsFile":"./media.d.ts","version":"5.9.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/animation.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@lynx-js/types/types/common/csstype.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/animation.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/element.d.ts","../../../node_modules/@lynx-js/types/types/common/events.d.ts","../../../node_modules/@lynx-js/types/types/common/system-info.d.ts","../../../node_modules/@lynx-js/types/types/common/performance.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/lynx.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/events.d.ts","../../../node_modules/@lynx-js/types/types/main-thread/index.d.ts","../../../node_modules/@lynx-js/types/types/common/lynx.d.ts","../../../node_modules/@lynx-js/types/types/common/global.d.ts","../../../node_modules/@lynx-js/types/types/common/props.d.ts","../../../node_modules/@lynx-js/types/types/common/element/component.d.ts","../../../node_modules/@lynx-js/types/types/common/element/filter-image.d.ts","../../../node_modules/@lynx-js/types/types/common/element/image.d.ts","../../../node_modules/@lynx-js/types/types/common/element/common.d.ts","../../../node_modules/@lynx-js/types/types/common/element/list.d.ts","../../../node_modules/@lynx-js/types/types/common/element/list-item.d.ts","../../../node_modules/@lynx-js/types/types/common/element/page.d.ts","../../../node_modules/@lynx-js/types/types/common/element/scroll-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/text.d.ts","../../../node_modules/@lynx-js/types/types/common/element/view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/input.d.ts","../../../node_modules/@lynx-js/types/types/common/element/textarea.d.ts","../../../node_modules/@lynx-js/types/types/common/element/title-bar-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/svg.d.ts","../../../node_modules/@lynx-js/types/types/common/element/refresh.d.ts","../../../node_modules/@lynx-js/types/types/common/element/scroll-coordinator.d.ts","../../../node_modules/@lynx-js/types/types/common/element/viewpager.d.ts","../../../node_modules/@lynx-js/types/types/common/element/blur-view.d.ts","../../../node_modules/@lynx-js/types/types/common/element/webview.d.ts","../../../node_modules/@lynx-js/types/types/common/element/markdown.d.ts","../../../node_modules/@lynx-js/types/types/common/element/video.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/lynx-performance-entry.d.ts","../../../node_modules/@lynx-js/types/types/common/element/frame.d.ts","../../../node_modules/@lynx-js/types/types/common/element/overlay.d.ts","../../../node_modules/@lynx-js/types/types/common/element/element.d.ts","../../../node_modules/@lynx-js/types/types/common/element/methods.d.ts","../../../node_modules/@lynx-js/types/types/common/element/attributes.d.ts","../../../node_modules/@lynx-js/types/types/common/element/index.d.ts","../../../node_modules/@lynx-js/types/types/common/console.d.ts","../../../node_modules/@lynx-js/types/types/common/index.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/event.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/nodes-ref.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/app.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/performance.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/fetch.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/lynx.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/native-modules.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/text-encoder-decoder.d.ts","../../../node_modules/@lynx-js/types/types/background-thread/index.d.ts","../../../node_modules/@lynx-js/types/types/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/@lynx-js/react/runtime/jsx-runtime/index.d.ts","../../sqlite/dist/values/ids.d.ts","../../sqlite/dist/values/int64.d.ts","../../sqlite/dist/values/local-date-time.d.ts","../../sqlite/dist/values/sql-value.d.ts","../../sqlite/dist/codecs/codecs.d.ts","../../foundation/dist/collections.d.ts","../../foundation/dist/culture/digits.d.ts","../../foundation/dist/culture/culture.d.ts","../../foundation/dist/culture/calendar.d.ts","../../foundation/dist/culture/date-format.d.ts","../../foundation/dist/culture/duration.d.ts","../../foundation/dist/culture/numbers.d.ts","../../foundation/dist/culture/strings.d.ts","../../foundation/dist/culture/relative-time.d.ts","../../foundation/dist/culture/index.d.ts","../../foundation/dist/enums/index.d.ts","../../foundation/dist/errors.d.ts","../../foundation/dist/exec/diagnostics.d.ts","../../foundation/dist/services/abort.d.ts","../../foundation/dist/exec/options.d.ts","../../foundation/dist/services/clock.d.ts","../../foundation/dist/exec/trace.d.ts","../../foundation/dist/exec/safe-executor.d.ts","../../foundation/dist/exec/index.d.ts","../../foundation/dist/icons/generated/glyph-svg.d.ts","../../foundation/dist/icons/glyph.d.ts","../../foundation/dist/icons/icon.d.ts","../../foundation/dist/icons/glyph-slots.d.ts","../../foundation/dist/icons/icon-fonts.d.ts","../../foundation/dist/icons/svg.d.ts","../../foundation/dist/icons/index.d.ts","../../foundation/dist/services/preferences.d.ts","../../foundation/dist/services/contracts.d.ts","../../foundation/dist/services/index.d.ts","../../foundation/dist/theme/color.d.ts","../../foundation/dist/tokens/generated/palettes.d.ts","../../foundation/dist/theme/theme.d.ts","../../foundation/dist/theme/control-colors.d.ts","../../foundation/dist/theme/variants.d.ts","../../foundation/dist/theme/index.d.ts","../../foundation/dist/tokens/generated/metrics.d.ts","../../foundation/dist/tokens/layout-metrics.d.ts","../../foundation/dist/tokens/css-vars.d.ts","../../foundation/dist/tokens/index.d.ts","../../foundation/dist/index.d.ts","../../sqlite/dist/driver/types.d.ts","../../sqlite/dist/contract/run-contract.d.ts","../../sqlite/dist/errors.d.ts","../../sqlite/dist/schema/columns.d.ts","../../sqlite/dist/query/expr.d.ts","../../sqlite/dist/schema/policies.d.ts","../../sqlite/dist/schema/entity.d.ts","../../sqlite/dist/query/compile.d.ts","../../sqlite/dist/query/builders.d.ts","../../sqlite/dist/repo/audit.d.ts","../../sqlite/dist/session/ambient.d.ts","../../sqlite/dist/session/locator.d.ts","../../sqlite/dist/session/migrations.d.ts","../../sqlite/dist/session/mutex.d.ts","../../sqlite/dist/session/write-hooks.d.ts","../../sqlite/dist/session/database.d.ts","../../sqlite/dist/session/cache.d.ts","../../sqlite/dist/session/scope.d.ts","../../sqlite/dist/repo/repository.d.ts","../../sqlite/dist/session/schema-setup.d.ts","../../sqlite/dist/index.d.ts","../src/protocol.ts","../src/transport.ts","../src/driver.ts","../src/services.ts","../src/speech.ts","../src/index.ts","../../../node_modules/@lynx-js/react/runtime/lib/runtime-marker.d.ts","../../../node_modules/preact/src/jsx.d.ts","../../../node_modules/preact/src/dom.d.ts","../../../node_modules/preact/src/index.d.ts","../../../node_modules/preact/hooks/src/index.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/hooks/react.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/runwithforce.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/lynx.d.ts","../../../node_modules/preact/compat/src/suspense.d.ts","../../../node_modules/preact/compat/src/index.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/children.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/element.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/portalspending.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/portals.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/lynx/suspense.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/hooks/uselynxglobaleventlistener.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/globalprops.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/initdata.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/background-function/run-on-background.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/snapshot/worklet/call/runonmainthread.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/animation/effect.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/animation/animation.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/api/element.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/worklet-runtime/bindings/types.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/core/main-thread-ref.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/lynx-api.d.ts","../../../node_modules/@lynx-js/react/runtime/lib/index.d.ts","../../../node_modules/@lynx-js/react/types/react.docs.d.ts","../../../node_modules/@lynx-js/react/types/react.d.ts","../src/media.tsx"],"fileIdsList":[[41,95,96,198,199],[173,174,179,185],[41,174],[41,173,174,179,185],[41,193],[170,173,175,177,179,180,181,183,184,195],[41,185,186,187,188,189,194],[175,176],[173,179],[41,95,198,199],[41,95,173,182,198,199],[173],[190],[192],[191],[41,95,97,197,198,199],[41,175,195,196],[42,85,86,87],[53],[42,77,86,87,88,89,91,92,93],[42,85,86,87,89,90],[85,87],[42,85],[49,77],[43],[44],[51,55],[47],[41,51,55,56,57,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,78,79],[47,51,55,77],[47,51,55],[56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,78,79,80,81,82],[47,51,55,59],[47,60,63],[46],[48,52,53,94],[44,47,48,49,51,53,54,55,83,84],[44,47],[52,85,94],[45,85],[46,47,55],[45,46,50,51],[49,85],[38,39,40],[41],[171,173,174,178],[171,172],[105],[104],[104,105,106],[104,105,106,107,108,109,110,111],[110],[115,117,119,120],[116],[110,115,116,117,118,119],[115,118],[124],[123],[122,123,124,125,126,127],[103,112,113,114,121,128,131,137,141],[114,116,118,129],[116,118,129,130],[114],[132,134],[132,134,135,136],[132,133],[113,132,133],[133,138,139],[133,138,139,140],[97,163,164,165],[97,164,165,166,167,168],[95,97,142,164,198],[97],[97,142,164],[97,163,164],[98,99,100,101],[101,143],[101,142],[142],[98,99,100,101,102,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162],[101,102,147,149,150],[101,102,147],[101,102,146],[98,100,149],[100,101,142,143,147,148,149,151,157,158,159,160,163],[99,100,102],[146,147,148],[147],[98,100,142],[148,149,158],[98,100,102,142,143,149,151,153,154,155,156,157,159],[142,149],[102,143,149,158],[143,148,149,151,157,158,159,161],[142,145,147,149],[99]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"035312d4945d13efa134ae482f6dc56a1a9346f7ac3be7ccbad5741058ce87f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"07b03f752ae52a7130e06c5a8399d3a0dde07a1a634f8430b80cd6236c56b5c8","impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"acbac4ca6cd4b2b459debc4a274535775cb6278a8315be383fafa623ab78f18e","impliedFormat":1},{"version":"e421d0b097c78304a2597c1f33da586630e1dc665ae381c0c36e5ebc4aaf4566","impliedFormat":1},{"version":"adf624c89a0d509a789f3c0bf522969d2c47033dbeb50920b37cd89be475a65e","impliedFormat":1},{"version":"8ff8dade82d215fba372ec8ca795cb433997a41287e049acf294dd50cba08cc4","impliedFormat":1},{"version":"b32b532dcbe0a91d71fd94cb780e94bdfdce10be21608d914c29fb4b8939b24a","impliedFormat":1},{"version":"eb2b64881998b562a4fe9330e55aa2466cd3a41a1a57e93feac6555218cec06f","impliedFormat":1},{"version":"6db1694d205177322d792d924335b046b80607445a45c0d2de1fcffd190b48c0","impliedFormat":1},{"version":"2b47193137d251e8a5d4cea2d67fe85a68199795ba019e41d635f7cf5f8a35c5","impliedFormat":1},{"version":"f7e5c3960dd9df65d83408b9be446f7119fa1db1dd8266dd343349d90c3bf2ce","impliedFormat":1},{"version":"09c6491ed74af89a4155feafedecaf77780f5751c66d4b65b18d30fc0e053a75","impliedFormat":1},{"version":"188b01044640e5ef65f6edf0dd6e6454f02dd19f4ead66b9e03ebe26cc7298ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"c2be64f223b024c0b70c5096a8c361c9e11c7644f3bd8325d19c2720ee7087cd","impliedFormat":1},{"version":"5bf51107315834a209b08395b141e262b7d143d14f6b4e4d403d8e020cef7e32","impliedFormat":1},{"version":"db0dcbe48d5cb38315083b412c8ab6995b0d42dc73b286833e296827feb0e5b4","impliedFormat":1},{"version":"b3e4a49a3ba19463662e7b821544948b953d2f6708370d42406bda558084000c","impliedFormat":1},{"version":"90bebc017d1c8408719f5a056813cce04e171a53469c263a136c35076121bab0","impliedFormat":1},{"version":"0675f9dddf11b81ec71825d5d97fdd789e445003506255513e0fc829ebfb795a","impliedFormat":1},{"version":"32d1e153cac16ca3a3f5f6b68fae76cddcda509950fa00d038c465776359db0c","impliedFormat":1},{"version":"0d85d0fa55dd433acf924675d7e976c025c8521c91a76079844cd15e52855ccf","impliedFormat":1},{"version":"89da6ea3ee9735e712691227b0e5ee74381779f9ad8b0f4fb7ced0247b16735a","impliedFormat":1},{"version":"37f90d8b4384dae49b873e620b7fff15655c706105104809114ba98df6373124","impliedFormat":1},{"version":"7618f7fdf0abf7f712cefe766ac1ab7fcd1f8e753c513e57d3ada9ada3a57257","impliedFormat":1},{"version":"759df9936f492afeacebec2cea4efafdb647951e0e5edfc4c677ce2441eac9d0","impliedFormat":1},{"version":"8d8848528b40a84ab42200e89d08f3d5cd83efa275de1bb70ae38cb9e6fd5911","impliedFormat":1},{"version":"0e323630cbfda771430e2720f6a2f02f257becd8fb9722aa975ae773fb572210","impliedFormat":1},{"version":"56dbc770513baae28f7cfbadeba5078bb13a37a13132a5292e98a8b103312b98","impliedFormat":1},{"version":"84ff906032fe12e816bfb7441cee6726243e5a7316c4f2d6b0a6c149f1a91a16","impliedFormat":1},{"version":"a8641f25f667160f356c504936576de22899e50ea575d7a4da47fe3b3704dd93","impliedFormat":1},{"version":"dcbbe1fb0f2c0efc12e29db8bbccb5b82513384d01d7a55342065cb0611da272","impliedFormat":1},{"version":"af209189a194cf5ad1f7b22dd680b52843fec2e30f1283be20b2977872fd4424","impliedFormat":1},{"version":"14745f699217e89ff1034f7be978bc28c195472a597b5f36442ef83d954d47b0","impliedFormat":1},{"version":"10c1feac0328f8f90a81f348b7f3c6d3c3b3454e46fc045ba1a706406c58fd8e","impliedFormat":1},{"version":"f64cd565aca17df45f4666473da75e4ce51a2610e2ed1c31198e9f9325747a24","impliedFormat":1},{"version":"e415a17ab6a413d6be640457231e045541405eab1f0f370c7dd1e5567aa25999","impliedFormat":1},{"version":"8c03a41d6dc701b6648db83d71a92dc27147d7677ab5d70f32675e7e37b3795a","impliedFormat":1},{"version":"09c18bc60888c58e8f4568b6ca973af72613a8a01e7b213aab778e910ae18b2f","impliedFormat":1},{"version":"5258d7af58615ea380d959cbcb6d83cb7b9841b8c8267f5a0fcb36c092dadbdb","impliedFormat":1},{"version":"b2d74af681f440a07e714ae9a33e3ea49c79870b9674058114c0404d2aa2f190","impliedFormat":1},{"version":"24f31e43eb3505e5d2946315e7b8ee8b426dfbe92c3031e435a4eb2d9dd8d69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"679f7b45a77210e6dd0d72a4b81fd177868d2eacfd8ee6919ce6babd7512562d","impliedFormat":1},{"version":"c669ee7ba01fa6a60b17c3535f96b65fa82dfd2a475a8760364f2f3952f9bcbd","impliedFormat":1},{"version":"a8b121f6a75d603075e62793ff0c109112e882dd6ca2b70bdccbd8d8f753429b","impliedFormat":1},{"version":"f378d7ed5e3ecbe382ade55127a9c98e826c76f786e06effad6fde91a7023d55","impliedFormat":1},{"version":"4e3e9539df72b3bfcc56fa13140070020dac72f1eff39237b11253482cb99847","impliedFormat":1},{"version":"5a47b3a2bbe2c9b015fe356462afe0abe391c592fffbe277126e2415e0811967","impliedFormat":1},{"version":"a3e797c70a421cda37cdea4349dced37dceb1611669652d9c4c5523467a55cbf","impliedFormat":1},{"version":"9164e652ff4e7cbd993ca20acd0e2ad7e1cb775a7aefc577b506cf588763ec42","impliedFormat":1},{"version":"e52840670587e82e129c9bfc6a2f42d9c2f2e1fd6ce176fea998383a8c941ea5","impliedFormat":1},{"version":"31ca1ee726f5d7c7709913b98be76fc40fdfaaca6ad7fafc222108981e11227c","impliedFormat":1},{"version":"556db73da59f5162cdf5c7ea1bc3b063b6ccb758078ef6517ad6f6e4ae7b199a","impliedFormat":1},{"version":"0a2c8ef08611f5a5f711c7b10ba70d10dc1c6af0c9dba8168cbbf34911b74188","impliedFormat":1},{"version":"1d6ef45145a9939a43062fe18188d4f7bdfdf4547978e1f6b7c9089fe53e81e5","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"509a86836776d5c821901abc16a2d21de674d2c8943ceb8d018049bf324bc56c","impliedFormat":99},"bbe47f7ebb177015803b69bad47ecf0e5987449cae5dd498664a9e4885d7cdff","4f260a074507a0065f3cd71d1adc1b361f5337b3db9e8d01589d5872e9387a4a","7674dcae15d29bcba5a7e8c26defdb06bf75297bfaa3025037bcc1e4df7b0ae1","97ff954e351fb81e182a8bc0d7c6e3625054e2c37ea5df0ad0ea12952bd5d9c0","c65ecf314f579465ceba2eb45ec7529f977a7809480ff6119c7c129022472cca","d533d1fe3018752aa47ee74ae5dbdca34377441b891176ad99bd33366a64372f","44b82e4f46178400732ea809a906f7ffb9dd38efab331ca23e7ca4586bf903ef","d3dcff003bac57338c3e60be409d0ff167ec1ff513539a5534c7679332dbc992","16d64c89cec74fa23e8cee7c72acc7549f117dcf7845051870c40366c7522d09","11f9f682c02d51de68eed569f8de1e91c56df296a78f3a6c520b93d52aac2308","28b43630d8d29a300e1e5b0f5efb04c8f994d372fff1b653ce8bb70d4e011e1a","b06c48902c3d127098839c1a6500f41d3e21b2f07f277ba7de23ec730df7275d","94659c94bb0ae17efde21aaf59f2beb05d286bea13f2d3b2b288a6df4faeac18","a7a0e658ca429cfb5268d4bf2e2e6e9fe871ffd06b6588d65424ba4eba35338f","ab4c80cb9cf211a7cd100429cb4a823c5bd9f3618bf981e6504c6606abf08656","e60dd3f69310681e28813b910da7d57f5cf0078feccfd683d22a29b45bb7a035","ccd708c3fff99b4ec315e14315dce6b9e85f4c96d10131e9fd219edb6efbdb26","abc924fce33b86b9f8588de3a5be04c609fafa6cb1dc42629b3e9e3e18f7d018","f919e3a8b2d274b631ee4fee0c50eba1d3f39ceaccba04dff915e9f61e9f153c","3ae17ae844491c7326d070c3e70a94a9239394e7a1e84eb203eb1d57470e752e","d1b2970d348eb9f89ef0f0c6730d27e9331067a28f21c8bd667ba1138d5d3e93","b2c4833e6308888c3947953770b3343deaf4276c803bb36148991a3fb90b4f6a","41b7c8204ea79a93e380a228f5c744e9c9a80183133ac62633a4c76e3fdbd7db","d0a441df587b0632c16a813117f110574d903ddd0bc4d28599cc82ff8af7c094","b24ac81f4fcff56ed9827736abcf2f92ea5f86e16d66eb2ee3ccfa0bb8143bc9","068309ff581d08c276c4a772ddf3ab9c8090e591fc9917fdc6cdffc12c95a5bf","5c1d368a451520260ebb6c06121201f18abf86d80540290df6e424d372c5d0ed","bb3ccaacf5c19a7170939b7f735c6a94537fd95ad16b4247a6ad572b23183e74","2c8b86d9d29c4ea62762c3815ffe4fdb0c5dbc0dd096b9703236010f4a17c255","9528dc401d1a2502393af70423c895c3df61ef62240c0dca429a7cd1bd535b82","eebf270ff516980678bf039e03e18a9461f196aee2825d4d65f7d8a1fa362bff","ee4e73f46ce2f6517e82434bd9fc63c8b6b2179d37d74525899f124a76d06669","b04de3a3cd10559130d898b36da5612fda5db2c31c95b502077cad9fe538ed6c","bc4c3476708a74ae09c06bcdbb9765baaa135592e1cf6e25f2ee9a942c6cd5ec","29e6e980f179ac2981d68954462dfd4a4545f73c021f6a4c8a5f442c0e16e56c","faa64d270fa523f80fd31bc7340ee7f6a21632c2ea0cea6535bf5a34bcc6adf7","cbd4ce7ee090549d836cbffac2e76a192ac5b1c5f15bcbe29c06d32dc7006f34","ea5a5d5873c239b97d846fb8c78437e08ffd731924764f746c0ebcb7731d7648","fb6b5b4592e0eca5b8dc2507432e621a18c16d488ae8a610e4d1ddba1edff667","df85ab12f80aced067959d43bd7744017fccb1eb95adcfa343f16cba7c9ef670","613df14d2c8c0ba78286705c4ed01ec701ed03189ca3803dd69bc7086b9c02ff","298f8d2584216932ea238927177ef343d0b8da735eb40a5ba96b1f92e3675e33","c8082c78975419ed5a9f7daa655643425cdd98fee91bb82fd92d25f908c78465","3d1717d66cd1094139f0c1f0ed07ec56d91e4f5cd27e2b6309b6f195491e7f4a","6f1302be2fa00d8a64e3bd48b4ccdf5d77a402441d7728d48c2ecee706c79127","efb30c7f5b1e7e2c8941c95355161907fdd6f3f28941cceacf81edc11db89bad","37700ef2907cfee5d680c1ceb83ba8355223f375c8093f523b9ee2ce108c1044","a244408662b901d15567a5bcff4b29cd13a2a6c9bb2c27329eec616c48c8f144","cf4c01af6890db612fcb2eda144fa7a947a0fd005052f41485459d195cd7396d","770c7abd7f2b17ff392e7179ad9b14518bc284f18834ec6efc00b4c62b8a4846","f29c840652a2d49e5b24debe0c06f9dd6ca15f96421cbac112ba982258b16a94","44a3d19d7e208acb0261a1f718c047854d0794683a0d5c2193522d310e36bdec","090ce3b05198a4c287542354fcedbfd570d87b2f32d0363cab0eb48989aecd2e","ad4b4e5abb5f01f966304dfa08c347137a3fe77329c7ae6c17c824c3d4babf33","b78cb18aa49943470bbab837676a7c35d1dfbfae7241c144f1d7fbd183989022","024aeda8ac048f7b98839a2b806e2034fe2fa1db797418cf8923a06fb32358c8","54f9c37e150e434622cff5d71fb87237c48497141cb379fc1ab4d019a4a43e2e","0d912ede0e33119759d7a3eee223fcbb83f1ca4c229719c62d54aa071487ceca","6f5878e8666a8abbb560dcc15b19c95ac5b0f4f85aabab2e804abb6a145030e4","ac683a7d8aa2506a3d5a3243ed94348867c85307ba54e46e6dd4a440b6a3012d","cf08b5dd44744b109ed2ddb8968bc8cbd4c6192b74180e5fb0fb1671f38d5dbc","efa3706b88ec75d05bfa7fa44d39af58305b7affda1b3789cf6d3688bb83070b","0a589d620f1d4719925c345e3c6e17dde3137765ea8db58c5a790f52ccdc58a6","8a3a12f093b91e0e3ca5f9909fb0cbaed59e2d864f04f103487f8f87095dfbfb","07d6a4c577cad80d9c1a2cf5d0e0ddae1aafadb264f5e41396999edd5963c94d","ba23c12c72c1523b39716c37b20fddaaab05f3f82139c8cdc33d552c3de70684",{"version":"7b7770361f404e9b167bce0ee92a608d8d14cb0b2f747ca9b300998db438a0fb","signature":"81d5aa9d15ee1ca18b073ecd13aa979f24d9100c2842f9e254d27992e014dd8a"},{"version":"b196a892a7087bc69d5e14a1647aaf5acfcdf995c1935a55afe405253c153b4c","signature":"f63a428eadbfdbc8c9137c4bdaa77a23988f7e82d1b01b5ef7d13e2f37d3d044"},{"version":"bb4df5f784c131c8fc70cfb1868ab99b883347d48c7260450d3c56958a996d60","signature":"b2b0e3e6fd8b425abfb54a11133c8b9abfc186d61ac86adc8deaba0b8c2f4e8f"},{"version":"0f5c336dc6acf154d2d0345e712c571683389b378778690a43d6d60ae386d4ea","signature":"bd3f683b47db8bdf2c50f5c3becea6fd0610f1e70ae35e0a2d0605c7200b6719"},{"version":"a6ed2271e6d0d4530f902777df5c4123b86c872f50ef6796ec63b77f56ac11b9","signature":"46ec089d57ddc32a6869f7cdfb6a81e37a8b93eb3d4c15798ea7c2de2ff947d4"},{"version":"a2199b85e9360ee3c5f384b56666662168daecca269293ab815da773e1e6391d","signature":"f7e148507097b2e8e1703df7b0b9acb7b65afed60aa3addd303f0cc97dab640c"},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"8a2ef120c4da7aab664148ed8d283aa0b98df4d5f15c570d830c8998ef05718b","impliedFormat":1},{"version":"4433d18f82991634feae5150a68f9b30f5b05b55416af8ff9f7251fb29431ed5","impliedFormat":1},{"version":"cc5d0b221824b7d8597e8a2bbdad2383af877eb564eaca392992049839e88c9e","impliedFormat":1},{"version":"21898d939444825cee1232af435330610b09171bea22a2f892cf2058d764b63d","impliedFormat":1},{"version":"6ec5f3b496e6f10c4f0a079e3b1102acef9c0bf5e3464909fa6e88b16a26480f","impliedFormat":99},{"version":"d9d320cf31f6d63659484f6c9ca4db4ae673daefa65118dd8589838925ff1397","impliedFormat":99},{"version":"027cf2216d065a97bf5a8ea126b3ea2734fab6cfe32adaff81ab4e94a1b51bbe","impliedFormat":99},{"version":"f6e6313fad233c5141220f7d25eae120cdd6e5079fbe0aba56821a1e99d05df8","impliedFormat":1},{"version":"9534c35b4577c193e499178deb47419fdadddd5e53af5ec8cb88218848013f65","impliedFormat":1},{"version":"804dca323c25404588a6e71d76e52eb09806f05e6013f0be1fcea1fb7eed5fa3","impliedFormat":99},{"version":"aeba529dfa69caa0efcdee1f1455540250d026522e5551b20b8a7ba9eebc707a","impliedFormat":99},{"version":"dfe6945467765f8e7843442a9dfbcf6b5526b6465b07b4c75a54a750329b5f17","impliedFormat":99},{"version":"7f9f6c9fe0e48c401d855d849e28112ffe2425569eca01b08b8c6112b8200695","impliedFormat":99},{"version":"68fcdc663627d12d336b420b19b3e54258844d0cbca0879f711c22aafd853352","impliedFormat":99},{"version":"6e97a7762ca61b836f275a14bf22a1696559bfa01bd6176df9498e717b5ff298","impliedFormat":99},{"version":"86535783bd695ee43e1a403e8cc50b1d643d3741df8074d30fbfae3b0438f996","impliedFormat":99},{"version":"7c94c072f4eef88b15710e2a6dd17036bfd943b390976aecc94af63df2f8a287","impliedFormat":99},{"version":"7e8a2efc54958a4ea7d678671d8703b00ae48a519d0f795a8f44f605abdba3d5","impliedFormat":99},{"version":"1409a9680115403cac91934df0062646e0a77f1b220b60faec5fe26cd775d9ca","impliedFormat":99},{"version":"335226d599a9382c9bea07d37e23bf998c1022c0f67e4d6d2b69633de6ac118f","impliedFormat":99},{"version":"ae430fd9bac320e71c3fe9299d90dcf67555d9a4f97ecaa35947b430ba8648ea","impliedFormat":99},{"version":"9061ff14146280f47d740b344ddd641c16df526ecaa868c348852277a9fb8686","impliedFormat":99},{"version":"7fa70acc5eed701b456f21e33f8f289e9e0e77fdd1f952385c33d6b9ecfb2021","impliedFormat":99},{"version":"16c6bbe197b6bf88db162c620e37218fab4c1c32892132d4aa33e461ae2b990a","impliedFormat":99},{"version":"9778598e1d86d1e544ab77fbc0bb5199d2fbb08ed386b3520732246b90005545","impliedFormat":99},{"version":"feed66ae8815d1981ad575482766fb9a82385e75cce35ae2f13be58e50c4349f","impliedFormat":99},{"version":"7e500d1f51b14c04c6dce8dcbadc5c48f4bec6fca0f321397c165868834916a2","affectsGlobalScope":true,"impliedFormat":99},{"version":"20c1041fbd4f1537686af4b707872b87c90a22201f8979e5def4554d28b46a5b","impliedFormat":99},{"version":"57ff3023920f09ea08ee1fb662518ff60312e81781e03c4e3b50cef3322143be","signature":"495d5d4a044fa18020972e7146c7416e467a364a9b23de05b096335d212ac9bb"}],"root":[[164,169],199],"options":{"composite":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"jsx":4,"jsxImportSource":"@lynx-js/react","module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":6,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[97,1],[186,2],[175,3],[187,4],[194,5],[196,6],[195,7],[177,8],[180,9],[181,10],[183,11],[184,12],[191,13],[190,14],[192,15],[193,14],[198,16],[197,17],[88,18],[90,19],[94,20],[91,21],[92,22],[87,23],[89,24],[44,25],[82,26],[73,27],[59,28],[56,27],[80,29],[57,27],[78,30],[58,31],[83,32],[66,31],[61,27],[60,33],[75,31],[81,34],[79,31],[62,27],[70,31],[71,31],[63,33],[69,31],[64,31],[67,31],[68,27],[76,31],[65,27],[72,31],[74,31],[47,35],[54,36],[85,37],[55,38],[95,39],[45,35],[46,40],[51,41],[52,42],[50,43],[41,44],[96,45],[179,46],[178,12],[174,12],[172,12],[173,47],[171,12],[106,48],[105,49],[107,50],[112,51],[109,49],[111,52],[110,48],[121,53],[117,54],[120,55],[119,56],[125,57],[126,57],[124,58],[128,59],[127,58],[142,60],[130,61],[131,62],[132,63],[135,64],[137,65],[134,66],[136,67],[140,68],[141,69],[166,70],[169,71],[199,72],[164,73],[167,74],[168,74],[165,75],[102,76],[144,77],[143,78],[145,79],[163,80],[151,81],[150,82],[147,83],[152,84],[161,85],[146,86],[149,87],[148,88],[153,89],[159,90],[158,91],[155,92],[162,93],[160,94],[157,95],[101,96]],"latestChangedDtsFile":"./media.d.ts","version":"5.9.3"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createNativeSqliteDriver, type G9NativeDriverOptions, nativeSqliteModule } from './driver.js';
|
|
2
2
|
export type * from './protocol.js';
|
|
3
3
|
export { createNativeHostServices, type G9InsetsSubscriber, type G9NativeHostOptions, type G9NativeServices, lynxInsetsEvents, nativeHostModule, } from './services.js';
|
|
4
|
+
export { createNativeSpeechToText, type G9NativeSpeechOptions, type G9SpeechEvents, lynxSpeechEvents, nativeSpeechModule, } from './speech.js';
|
|
4
5
|
export { decodeRunValue, toArrayBuffer } from './transport.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpG,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpG,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { createNativeSqliteDriver, nativeSqliteModule } from "./driver.js";
|
|
2
2
|
export { createNativeHostServices, lynxInsetsEvents, nativeHostModule } from "./services.js";
|
|
3
|
+
export { createNativeSpeechToText, lynxSpeechEvents, nativeSpeechModule } from "./speech.js";
|
|
3
4
|
export { decodeRunValue, toArrayBuffer } from "./transport.js";
|
package/dist/protocol.d.ts
CHANGED
|
@@ -111,5 +111,19 @@ export interface G9HostNativeModule {
|
|
|
111
111
|
appDataDirectory(callback: Reply<string>): void;
|
|
112
112
|
assetUri(path: string, callback: Reply<string>): void;
|
|
113
113
|
}
|
|
114
|
+
/** What `G9SpeechModule.listen` settles with (the `G9SpeechToTextResult` statuses). */
|
|
115
|
+
export type G9NativeSpeechResult = {
|
|
116
|
+
readonly status: 'recognized';
|
|
117
|
+
readonly text: string;
|
|
118
|
+
} | {
|
|
119
|
+
readonly status: 'no-match' | 'cancelled' | 'denied';
|
|
120
|
+
};
|
|
121
|
+
/** `NativeModules.G9SpeechModule` (dictation). Partial results: the global event `g9:speech`, `{"session","text"}`. */
|
|
122
|
+
export interface G9SpeechNativeModule {
|
|
123
|
+
isAvailable(locale: string, callback: Reply<boolean>): void;
|
|
124
|
+
requestPermission(callback: Reply<string>): void;
|
|
125
|
+
listen(session: string, locale: string, callback: Reply<G9NativeSpeechResult>): void;
|
|
126
|
+
cancel(session: string): void;
|
|
127
|
+
}
|
|
114
128
|
export {};
|
|
115
129
|
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAGA,sHAAsH;AACtH,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,WAAW,GACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjC,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAE1D,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpD,qGAAqG;AACrG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED,2GAA2G;AAC3G,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAErE,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAErD,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CACF,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAClF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GACtB,IAAI,CAAC;IACR,GAAG,CACD,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,EAC3D,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,iBAAiB,CAAA;KAAE,EAC1F,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAChC,IAAI,CAAC;IACR,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACpE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,wGAAwG;IACxG,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3F,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAC/F,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,IAAI,IAAI,CAAC;IACnB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CACvD"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,YAAY,CAAC;AAY3F,sFAAsF;AACtF,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,IAAI,CAM5D;AAiBD,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;AAE1F,0HAA0H;AAC1H,wBAAgB,gBAAgB,IAAI,kBAAkB,CAQrD;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;CAC5C;AAED,mHAAmH;AACnH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,gGAAgG;IAChG,UAAU,IAAI,IAAI,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,mBAAwB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,YAAY,CAAC;AAY3F,sFAAsF;AACtF,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,IAAI,CAM5D;AAiBD,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;AAE1F,0HAA0H;AAC1H,wBAAgB,gBAAgB,IAAI,kBAAkB,CAQrD;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;CAC5C;AAED,mHAAmH;AACnH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,gGAAgG;IAChG,UAAU,IAAI,IAAI,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,mBAAwB,GAAG,gBAAgB,CAuE5F"}
|
package/dist/services.js
CHANGED
|
@@ -54,8 +54,14 @@ function createNativeHostServices(options = {}) {
|
|
|
54
54
|
});
|
|
55
55
|
for (const listener of Array.from(listeners))listener(insets);
|
|
56
56
|
};
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
let reported = false;
|
|
58
|
+
call((reply)=>native.safeInsets(reply)).then((first)=>{
|
|
59
|
+
if (!reported) publish(first);
|
|
60
|
+
}, ()=>void 0);
|
|
61
|
+
subscribe((next)=>{
|
|
62
|
+
reported = true;
|
|
63
|
+
publish(next);
|
|
64
|
+
});
|
|
59
65
|
const host = {
|
|
60
66
|
exit: ()=>native.moveToBack(),
|
|
61
67
|
hideKeyboard: ()=>native.hideKeyboard(),
|
package/dist/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sources":["../src/services.ts"],"sourcesContent":["// The mobile host services over `NativeModules.G9HostModule` (plan/specs/06 §7): G9HostServices and an asynchronous\n// G9PreferenceStore. Safe-area insets are read once and then follow the host's `g9:insets` global event.\nimport {\n G9Error,\n type G9HostServices,\n type G9PreferenceStore,\n type G9PreferenceValue,\n type G9SafeInsets,\n} from '@g9tm/lynxcontrols-foundation';\nimport type { G9HostNativeModule, G9NativeEnvelope, G9NativePreference } from './protocol';\n\ndeclare const NativeModules: { G9HostModule?: G9HostNativeModule } | undefined;\ndeclare const lynx:\n | {\n getJSModule?(name: string): {\n addListener(name: string, listener: (...args: never[]) => void): void;\n removeListener(name: string, listener: (...args: never[]) => void): void;\n };\n }\n | undefined;\n\n/** `NativeModules.G9HostModule`, or `null` where the native library is not linked. */\nexport function nativeHostModule(): G9HostNativeModule | null {\n try {\n return (typeof NativeModules === 'undefined' ? undefined : NativeModules?.G9HostModule) ?? null;\n } catch {\n return null;\n }\n}\n\nfunction call<T>(\n invoke: (reply: (envelope: G9NativeEnvelope<T>) => void) => void,\n missingCode = 'preference-store',\n): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n invoke((envelope) => {\n if (envelope?.ok) resolve(envelope.value);\n else {\n const e = envelope?.error ?? { code: missingCode, message: 'The native module sent no reply.' };\n reject(new G9Error(e.code, e.message));\n }\n });\n });\n}\n\n/** Subscribes to the host's insets event; returns the unsubscribe function. */\nexport type G9InsetsSubscriber = (listener: (insets: G9SafeInsets) => void) => () => void;\n\n/** The default insets source: the `g9:insets` global event a host sends on rotation / resize (Lynx background thread). */\nexport function lynxInsetsEvents(): G9InsetsSubscriber {\n return (listener) => {\n const target = typeof lynx === 'undefined' ? undefined : lynx?.getJSModule?.('GlobalEventEmitter');\n if (!target) return () => undefined;\n const handler = ((insets: G9SafeInsets) => listener(insets)) as unknown as (...args: never[]) => void;\n target.addListener('g9:insets', handler);\n return () => target.removeListener('g9:insets', handler);\n };\n}\n\n/** Options of {@link createNativeHostServices}. */\nexport interface G9NativeHostOptions {\n /** The module (default: `NativeModules.G9HostModule`). Tests pass a fake. */\n readonly module?: G9HostNativeModule;\n /** Where inset changes come from (default: {@link lynxInsetsEvents}). */\n readonly insetsEvents?: G9InsetsSubscriber;\n}\n\n/** What {@link createNativeHostServices} returns: the services for `G9Provider`, plus the optional haptic tick. */\nexport interface G9NativeServices {\n readonly host: G9HostServices;\n readonly preferences: G9PreferenceStore;\n /** A light haptic tick (Android `HapticFeedbackConstants`, iOS `UIImpactFeedbackGenerator`). */\n hapticTick(): void;\n /**\n * The app's private data directory, absolute (MAUI `FileSystem.AppDataDirectory`: Android `Context.filesDir`, iOS\n * the user `Library` directory), so the database keeps the path its MAUI version used. Pass it to a database\n * locator (`singleFileDatabaseLocator(dir + '/g9.db')` or `perUserDatabaseLocator({ root: dir, … })`).\n * Rejects with `host-data-directory` when the host reports none.\n */\n appDataDirectory(): Promise<string>;\n}\n\nconst NO_INSETS: G9SafeInsets = Object.freeze({ top: 0, end: 0, bottom: 0, start: 0 });\n\n/**\n * Android/iOS host services: `exit` moves the task to the back (Android; iOS has no programmatic exit, the module\n * ignores it), `hideKeyboard`, `setSoftInputMode` (Android), safe-area insets, and preferences in `SharedPreferences`\n * / `NSUserDefaults` (typed int/string, `null` string removes). Throws outside a host that linked `@g9tm/lynxcontrols-native`.\n */\nexport function createNativeHostServices(options: G9NativeHostOptions = {}): G9NativeServices {\n const native = options.module ?? nativeHostModule();\n if (!native) {\n throw new Error(\n 'NativeModules.G9HostModule is missing: add @g9tm/lynxcontrols-native to the app so Autolink links it.',\n );\n }\n const subscribe = options.insetsEvents ?? lynxInsetsEvents();\n let insets: G9SafeInsets = NO_INSETS;\n const listeners = new Set<(insets: G9SafeInsets) => void>();\n const publish = (next: G9SafeInsets) => {\n insets = Object.freeze({ top: next.top, end: next.end, bottom: next.bottom, start: next.start });\n for (const listener of Array.from(listeners)) listener(insets);\n };\n call<G9SafeInsets>((reply) => native.safeInsets(reply)).then(publish, () => undefined);\n subscribe(publish);\n\n const host: G9HostServices = {\n exit: () => native.moveToBack(),\n hideKeyboard: () => native.hideKeyboard(),\n getSafeInsets: () => insets,\n subscribeSafeInsets(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n setSoftInputMode: (mode) => native.setSoftInputMode(mode),\n };\n const preferences: G9PreferenceStore = {\n async getInt(key, defaultValue) {\n const stored = await call<G9NativePreference | null>((reply) => native.getPreference(key, reply));\n return stored?.type === 'int' ? stored.value : defaultValue;\n },\n async setInt(key, value) {\n await call<null>((reply) => native.setPreference(key, 'int', String(value), reply));\n },\n async getString(key, defaultValue) {\n const stored = await call<G9NativePreference | null>((reply) => native.getPreference(key, reply));\n return stored?.type === 'string' ? stored.value : defaultValue;\n },\n async setString(key, value) {\n await call<null>((reply) => native.setPreference(key, 'string', value, reply));\n },\n async remove(key) {\n await call<null>((reply) => native.setPreference(key, 'remove', null, reply));\n },\n async entries(prefix): Promise<ReadonlyArray<readonly [string, G9PreferenceValue]>> {\n const list = await call<Array<[string, number | string]>>((reply) => native.preferenceEntries(prefix, reply));\n return list.map(([key, value]) => [key, value] as const);\n },\n };\n const appDataDirectory = async (): Promise<string> => {\n const dir = await call<string>((reply) => native.appDataDirectory(reply), 'host-data-directory');\n if (typeof dir !== 'string' || dir.trim() === '') {\n throw new G9Error('host-data-directory', 'The host reported no app data directory.');\n }\n return dir;\n };\n return { host, preferences, hapticTick: () => native.hapticTick(), appDataDirectory };\n}\n"],"names":["nativeHostModule","_ref","NativeModules","undefined","call","invoke","missingCode","Promise","resolve","reject","envelope","e","G9Error","lynxInsetsEvents","listener","lynx","target","handler","insets","NO_INSETS","Object","createNativeHostServices","options","_options_module","_options_insetsEvents","native","Error","subscribe","listeners","Set","publish","next","Array","reply","host","mode","preferences","key","defaultValue","stored","value","String","prefix","list","appDataDirectory","dir"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.js","sources":["../src/services.ts"],"sourcesContent":["// The mobile host services over `NativeModules.G9HostModule` (plan/specs/06 §7): G9HostServices and an asynchronous\n// G9PreferenceStore. Safe-area insets are read once and then follow the host's `g9:insets` global event.\nimport {\n G9Error,\n type G9HostServices,\n type G9PreferenceStore,\n type G9PreferenceValue,\n type G9SafeInsets,\n} from '@g9tm/lynxcontrols-foundation';\nimport type { G9HostNativeModule, G9NativeEnvelope, G9NativePreference } from './protocol';\n\ndeclare const NativeModules: { G9HostModule?: G9HostNativeModule } | undefined;\ndeclare const lynx:\n | {\n getJSModule?(name: string): {\n addListener(name: string, listener: (...args: never[]) => void): void;\n removeListener(name: string, listener: (...args: never[]) => void): void;\n };\n }\n | undefined;\n\n/** `NativeModules.G9HostModule`, or `null` where the native library is not linked. */\nexport function nativeHostModule(): G9HostNativeModule | null {\n try {\n return (typeof NativeModules === 'undefined' ? undefined : NativeModules?.G9HostModule) ?? null;\n } catch {\n return null;\n }\n}\n\nfunction call<T>(\n invoke: (reply: (envelope: G9NativeEnvelope<T>) => void) => void,\n missingCode = 'preference-store',\n): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n invoke((envelope) => {\n if (envelope?.ok) resolve(envelope.value);\n else {\n const e = envelope?.error ?? { code: missingCode, message: 'The native module sent no reply.' };\n reject(new G9Error(e.code, e.message));\n }\n });\n });\n}\n\n/** Subscribes to the host's insets event; returns the unsubscribe function. */\nexport type G9InsetsSubscriber = (listener: (insets: G9SafeInsets) => void) => () => void;\n\n/** The default insets source: the `g9:insets` global event a host sends on rotation / resize (Lynx background thread). */\nexport function lynxInsetsEvents(): G9InsetsSubscriber {\n return (listener) => {\n const target = typeof lynx === 'undefined' ? undefined : lynx?.getJSModule?.('GlobalEventEmitter');\n if (!target) return () => undefined;\n const handler = ((insets: G9SafeInsets) => listener(insets)) as unknown as (...args: never[]) => void;\n target.addListener('g9:insets', handler);\n return () => target.removeListener('g9:insets', handler);\n };\n}\n\n/** Options of {@link createNativeHostServices}. */\nexport interface G9NativeHostOptions {\n /** The module (default: `NativeModules.G9HostModule`). Tests pass a fake. */\n readonly module?: G9HostNativeModule;\n /** Where inset changes come from (default: {@link lynxInsetsEvents}). */\n readonly insetsEvents?: G9InsetsSubscriber;\n}\n\n/** What {@link createNativeHostServices} returns: the services for `G9Provider`, plus the optional haptic tick. */\nexport interface G9NativeServices {\n readonly host: G9HostServices;\n readonly preferences: G9PreferenceStore;\n /** A light haptic tick (Android `HapticFeedbackConstants`, iOS `UIImpactFeedbackGenerator`). */\n hapticTick(): void;\n /**\n * The app's private data directory, absolute (MAUI `FileSystem.AppDataDirectory`: Android `Context.filesDir`, iOS\n * the user `Library` directory), so the database keeps the path its MAUI version used. Pass it to a database\n * locator (`singleFileDatabaseLocator(dir + '/g9.db')` or `perUserDatabaseLocator({ root: dir, … })`).\n * Rejects with `host-data-directory` when the host reports none.\n */\n appDataDirectory(): Promise<string>;\n}\n\nconst NO_INSETS: G9SafeInsets = Object.freeze({ top: 0, end: 0, bottom: 0, start: 0 });\n\n/**\n * Android/iOS host services: `exit` moves the task to the back (Android; iOS has no programmatic exit, the module\n * ignores it), `hideKeyboard`, `setSoftInputMode` (Android), safe-area insets, and preferences in `SharedPreferences`\n * / `NSUserDefaults` (typed int/string, `null` string removes). Throws outside a host that linked `@g9tm/lynxcontrols-native`.\n */\nexport function createNativeHostServices(options: G9NativeHostOptions = {}): G9NativeServices {\n const native = options.module ?? nativeHostModule();\n if (!native) {\n throw new Error(\n 'NativeModules.G9HostModule is missing: add @g9tm/lynxcontrols-native to the app so Autolink links it.',\n );\n }\n const subscribe = options.insetsEvents ?? lynxInsetsEvents();\n let insets: G9SafeInsets = NO_INSETS;\n const listeners = new Set<(insets: G9SafeInsets) => void>();\n const publish = (next: G9SafeInsets) => {\n insets = Object.freeze({ top: next.top, end: next.end, bottom: next.bottom, start: next.start });\n for (const listener of Array.from(listeners)) listener(insets);\n };\n // The first read answers later than it asks: an `insets` event that arrived meanwhile is newer and wins (the read\n // once overwrote a fresh report with a stale one — AgriPad Lynx on Android 10, 48 dp under every bottom bar).\n let reported = false;\n call<G9SafeInsets>((reply) => native.safeInsets(reply)).then(\n (first) => {\n if (!reported) publish(first);\n },\n () => undefined,\n );\n subscribe((next) => {\n reported = true;\n publish(next);\n });\n\n const host: G9HostServices = {\n exit: () => native.moveToBack(),\n hideKeyboard: () => native.hideKeyboard(),\n getSafeInsets: () => insets,\n subscribeSafeInsets(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n setSoftInputMode: (mode) => native.setSoftInputMode(mode),\n };\n const preferences: G9PreferenceStore = {\n async getInt(key, defaultValue) {\n const stored = await call<G9NativePreference | null>((reply) => native.getPreference(key, reply));\n return stored?.type === 'int' ? stored.value : defaultValue;\n },\n async setInt(key, value) {\n await call<null>((reply) => native.setPreference(key, 'int', String(value), reply));\n },\n async getString(key, defaultValue) {\n const stored = await call<G9NativePreference | null>((reply) => native.getPreference(key, reply));\n return stored?.type === 'string' ? stored.value : defaultValue;\n },\n async setString(key, value) {\n await call<null>((reply) => native.setPreference(key, 'string', value, reply));\n },\n async remove(key) {\n await call<null>((reply) => native.setPreference(key, 'remove', null, reply));\n },\n async entries(prefix): Promise<ReadonlyArray<readonly [string, G9PreferenceValue]>> {\n const list = await call<Array<[string, number | string]>>((reply) => native.preferenceEntries(prefix, reply));\n return list.map(([key, value]) => [key, value] as const);\n },\n };\n const appDataDirectory = async (): Promise<string> => {\n const dir = await call<string>((reply) => native.appDataDirectory(reply), 'host-data-directory');\n if (typeof dir !== 'string' || dir.trim() === '') {\n throw new G9Error('host-data-directory', 'The host reported no app data directory.');\n }\n return dir;\n };\n return { host, preferences, hapticTick: () => native.hapticTick(), appDataDirectory };\n}\n"],"names":["nativeHostModule","_ref","NativeModules","undefined","call","invoke","missingCode","Promise","resolve","reject","envelope","e","G9Error","lynxInsetsEvents","listener","lynx","target","handler","insets","NO_INSETS","Object","createNativeHostServices","options","_options_module","_options_insetsEvents","native","Error","subscribe","listeners","Set","publish","next","Array","reported","reply","first","host","mode","preferences","key","defaultValue","stored","value","String","prefix","list","appDataDirectory","dir"],"mappings":"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"}
|
package/dist/speech.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type G9SpeechToText } from '@g9tm/lynxcontrols-foundation';
|
|
2
|
+
import type { G9SpeechNativeModule } from './protocol.js';
|
|
3
|
+
/** `NativeModules.G9SpeechModule`, or `null` where the native library is not linked. */
|
|
4
|
+
export declare function nativeSpeechModule(): G9SpeechNativeModule | null;
|
|
5
|
+
/** Subscribes to the partial results (`{ session, text }`); returns the unsubscribe function. */
|
|
6
|
+
export type G9SpeechEvents = (listener: (event: {
|
|
7
|
+
readonly session: string;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
}) => void) => () => void;
|
|
10
|
+
/** The default partial-result source: the module's `g9:speech` global event (one JSON argument). */
|
|
11
|
+
export declare function lynxSpeechEvents(): G9SpeechEvents;
|
|
12
|
+
/** Options of {@link createNativeSpeechToText}. */
|
|
13
|
+
export interface G9NativeSpeechOptions {
|
|
14
|
+
/** The module (default: `NativeModules.G9SpeechModule`). Tests pass a fake. */
|
|
15
|
+
readonly module?: G9SpeechNativeModule;
|
|
16
|
+
/** Where partial results come from (default: {@link lynxSpeechEvents}). */
|
|
17
|
+
readonly events?: G9SpeechEvents;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The speech capability for `G9Provider` (`capabilities.speech`), or `null` where `G9SpeechModule` is not linked — the
|
|
21
|
+
* fields then hide their microphone.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createNativeSpeechToText(options?: G9NativeSpeechOptions): G9SpeechToText | null;
|
|
24
|
+
//# sourceMappingURL=speech.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../src/speech.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAYzE,wFAAwF;AACxF,wBAAgB,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAMhE;AAED,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,KAC3E,MAAM,IAAI,CAAC;AAEhB,oGAAoG;AACpG,wBAAgB,gBAAgB,IAAI,cAAc,CAgBjD;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAaD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,GAAG,IAAI,CAgEnG"}
|
package/dist/speech.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { G9Error } from "@g9tm/lynxcontrols-foundation";
|
|
2
|
+
function nativeSpeechModule() {
|
|
3
|
+
try {
|
|
4
|
+
var _ref;
|
|
5
|
+
return null != (_ref = "u" < typeof NativeModules ? void 0 : null == NativeModules ? void 0 : NativeModules.G9SpeechModule) ? _ref : null;
|
|
6
|
+
} catch {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function lynxSpeechEvents() {
|
|
11
|
+
return (listener)=>{
|
|
12
|
+
var _lynx_getJSModule;
|
|
13
|
+
const target = "u" < typeof lynx ? void 0 : null == lynx ? void 0 : null == (_lynx_getJSModule = lynx.getJSModule) ? void 0 : _lynx_getJSModule.call(lynx, 'GlobalEventEmitter');
|
|
14
|
+
if (!target) return ()=>void 0;
|
|
15
|
+
const handler = (raw)=>{
|
|
16
|
+
try {
|
|
17
|
+
const event = 'string' == typeof raw ? JSON.parse(raw) : raw;
|
|
18
|
+
if ('string' == typeof (null == event ? void 0 : event.session) && 'string' == typeof event.text) listener({
|
|
19
|
+
session: event.session,
|
|
20
|
+
text: event.text
|
|
21
|
+
});
|
|
22
|
+
} catch {}
|
|
23
|
+
};
|
|
24
|
+
target.addListener('g9:speech', handler);
|
|
25
|
+
return ()=>target.removeListener('g9:speech', handler);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function unwrap(envelope) {
|
|
29
|
+
if (null == envelope ? void 0 : envelope.ok) return envelope.value;
|
|
30
|
+
const e = envelope && !envelope.ok ? envelope.error : {
|
|
31
|
+
code: 'speech-recognition',
|
|
32
|
+
message: 'The native module sent no reply.'
|
|
33
|
+
};
|
|
34
|
+
throw new G9Error(e.code, e.message);
|
|
35
|
+
}
|
|
36
|
+
const PERMISSIONS = new Set([
|
|
37
|
+
'granted',
|
|
38
|
+
'denied',
|
|
39
|
+
'restricted'
|
|
40
|
+
]);
|
|
41
|
+
function createNativeSpeechToText(options = {}) {
|
|
42
|
+
var _options_module, _options_events;
|
|
43
|
+
const native = null != (_options_module = options.module) ? _options_module : nativeSpeechModule();
|
|
44
|
+
if (!native) return null;
|
|
45
|
+
const events = null != (_options_events = options.events) ? _options_events : lynxSpeechEvents();
|
|
46
|
+
let next = 0;
|
|
47
|
+
return {
|
|
48
|
+
isAvailable: (locale)=>new Promise((resolve)=>{
|
|
49
|
+
native.isAvailable(locale, (reply)=>{
|
|
50
|
+
try {
|
|
51
|
+
resolve(true === unwrap(reply));
|
|
52
|
+
} catch {
|
|
53
|
+
resolve(false);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}),
|
|
57
|
+
requestPermission: ()=>new Promise((resolve, reject)=>{
|
|
58
|
+
native.requestPermission((reply)=>{
|
|
59
|
+
try {
|
|
60
|
+
const value = unwrap(reply);
|
|
61
|
+
resolve(PERMISSIONS.has(value) ? value : 'denied');
|
|
62
|
+
} catch (error) {
|
|
63
|
+
reject(error);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}),
|
|
67
|
+
listen: (opts)=>new Promise((resolve, reject)=>{
|
|
68
|
+
var _opts_signal, _opts_signal1;
|
|
69
|
+
const session = `s${++next}`;
|
|
70
|
+
let settled = false;
|
|
71
|
+
const off = events((e)=>{
|
|
72
|
+
var _opts_onPartialResult;
|
|
73
|
+
if (!settled && e.session === session) null == (_opts_onPartialResult = opts.onPartialResult) || _opts_onPartialResult.call(opts, e.text);
|
|
74
|
+
});
|
|
75
|
+
const settle = (result, error)=>{
|
|
76
|
+
var _opts_signal;
|
|
77
|
+
if (settled) return;
|
|
78
|
+
settled = true;
|
|
79
|
+
off();
|
|
80
|
+
null == (_opts_signal = opts.signal) || _opts_signal.removeEventListener('abort', onAbort);
|
|
81
|
+
if (result) resolve(result);
|
|
82
|
+
else reject(error);
|
|
83
|
+
};
|
|
84
|
+
const onAbort = ()=>{
|
|
85
|
+
native.cancel(session);
|
|
86
|
+
settle({
|
|
87
|
+
status: 'cancelled'
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
if (null == (_opts_signal = opts.signal) ? void 0 : _opts_signal.aborted) return settle({
|
|
91
|
+
status: 'cancelled'
|
|
92
|
+
});
|
|
93
|
+
null == (_opts_signal1 = opts.signal) || _opts_signal1.addEventListener('abort', onAbort);
|
|
94
|
+
native.listen(session, opts.locale, (reply)=>{
|
|
95
|
+
try {
|
|
96
|
+
var _value_text;
|
|
97
|
+
const value = unwrap(reply);
|
|
98
|
+
if ((null == value ? void 0 : value.status) === 'recognized') settle({
|
|
99
|
+
status: 'recognized',
|
|
100
|
+
text: String(null != (_value_text = value.text) ? _value_text : '')
|
|
101
|
+
});
|
|
102
|
+
else (null == value ? void 0 : value.status) === 'no-match' || (null == value ? void 0 : value.status) === 'denied' || (null == value ? void 0 : value.status) === 'cancelled' ? settle({
|
|
103
|
+
status: value.status
|
|
104
|
+
}) : settle(null, new G9Error('speech-recognition', `Unknown dictation status "${String(null == value ? void 0 : value.status)}".`));
|
|
105
|
+
} catch (error) {
|
|
106
|
+
settle(null, error);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
})
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export { createNativeSpeechToText, lynxSpeechEvents, nativeSpeechModule };
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=speech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech.js","sources":["../src/speech.ts"],"sourcesContent":["// `G9SpeechToText` over `NativeModules.G9SpeechModule` (MAUI `IG9SpeechToText`): what the fields' dictation\n// (`controls/fields/dictation.ts`) listens through. One session at a time on the native side; this side numbers the\n// sessions, routes the `g9:speech` partial events to the session that asked, turns an abort into the native cancel, and\n// settles each `listen` exactly once — a reply after an abort, or a second reply, is dropped.\nimport {\n G9Error,\n type G9PermissionStatus,\n type G9SpeechToText,\n type G9SpeechToTextOptions,\n type G9SpeechToTextResult,\n} from '@g9tm/lynxcontrols-foundation';\nimport type { G9NativeEnvelope, G9SpeechNativeModule } from './protocol';\n\ndeclare const NativeModules: { G9SpeechModule?: G9SpeechNativeModule } | undefined;\ndeclare const lynx:\n | {\n getJSModule?(name: string): {\n addListener(name: string, listener: (...args: never[]) => void): void;\n removeListener(name: string, listener: (...args: never[]) => void): void;\n };\n }\n | undefined;\n\n/** `NativeModules.G9SpeechModule`, or `null` where the native library is not linked. */\nexport function nativeSpeechModule(): G9SpeechNativeModule | null {\n try {\n return (typeof NativeModules === 'undefined' ? undefined : NativeModules?.G9SpeechModule) ?? null;\n } catch {\n return null;\n }\n}\n\n/** Subscribes to the partial results (`{ session, text }`); returns the unsubscribe function. */\nexport type G9SpeechEvents = (\n listener: (event: { readonly session: string; readonly text: string }) => void,\n) => () => void;\n\n/** The default partial-result source: the module's `g9:speech` global event (one JSON argument). */\nexport function lynxSpeechEvents(): G9SpeechEvents {\n return (listener) => {\n const target = typeof lynx === 'undefined' ? undefined : lynx?.getJSModule?.('GlobalEventEmitter');\n if (!target) return () => undefined;\n const handler = ((raw: unknown) => {\n try {\n const event = (typeof raw === 'string' ? JSON.parse(raw) : raw) as { session?: unknown; text?: unknown };\n if (typeof event?.session === 'string' && typeof event.text === 'string')\n listener({ session: event.session, text: event.text });\n } catch {\n // not JSON: not ours\n }\n }) as unknown as (...args: never[]) => void;\n target.addListener('g9:speech', handler);\n return () => target.removeListener('g9:speech', handler);\n };\n}\n\n/** Options of {@link createNativeSpeechToText}. */\nexport interface G9NativeSpeechOptions {\n /** The module (default: `NativeModules.G9SpeechModule`). Tests pass a fake. */\n readonly module?: G9SpeechNativeModule;\n /** Where partial results come from (default: {@link lynxSpeechEvents}). */\n readonly events?: G9SpeechEvents;\n}\n\nfunction unwrap<T>(envelope: G9NativeEnvelope<T> | undefined): T {\n if (envelope?.ok) return envelope.value;\n const e =\n envelope && !envelope.ok\n ? envelope.error\n : { code: 'speech-recognition', message: 'The native module sent no reply.' };\n throw new G9Error(e.code, e.message);\n}\n\nconst PERMISSIONS: ReadonlySet<string> = new Set(['granted', 'denied', 'restricted']);\n\n/**\n * The speech capability for `G9Provider` (`capabilities.speech`), or `null` where `G9SpeechModule` is not linked — the\n * fields then hide their microphone.\n */\nexport function createNativeSpeechToText(options: G9NativeSpeechOptions = {}): G9SpeechToText | null {\n const native = options.module ?? nativeSpeechModule();\n if (!native) return null;\n const events = options.events ?? lynxSpeechEvents();\n let next = 0;\n return {\n isAvailable: (locale) =>\n new Promise<boolean>((resolve) => {\n native.isAvailable(locale, (reply) => {\n try {\n resolve(unwrap<boolean>(reply) === true);\n } catch {\n resolve(false);\n }\n });\n }),\n requestPermission: () =>\n new Promise<G9PermissionStatus>((resolve, reject) => {\n native.requestPermission((reply) => {\n try {\n const value = unwrap<string>(reply);\n resolve(PERMISSIONS.has(value) ? (value as G9PermissionStatus) : 'denied');\n } catch (error) {\n reject(error);\n }\n });\n }),\n listen: (opts: G9SpeechToTextOptions) =>\n new Promise<G9SpeechToTextResult>((resolve, reject) => {\n const session = `s${++next}`;\n let settled = false;\n const off = events((e) => {\n if (!settled && e.session === session) opts.onPartialResult?.(e.text);\n });\n const settle = (result: G9SpeechToTextResult | null, error?: unknown) => {\n if (settled) return;\n settled = true;\n off();\n opts.signal?.removeEventListener('abort', onAbort);\n if (result) resolve(result);\n else reject(error);\n };\n const onAbort = () => {\n native.cancel(session);\n settle({ status: 'cancelled' });\n };\n if (opts.signal?.aborted) return settle({ status: 'cancelled' }); // never started: nothing to cancel natively\n opts.signal?.addEventListener('abort', onAbort);\n native.listen(session, opts.locale, (reply) => {\n try {\n const value = unwrap<{ status?: string; text?: string }>(\n reply as G9NativeEnvelope<{ status?: string; text?: string }>,\n );\n if (value?.status === 'recognized') settle({ status: 'recognized', text: String(value.text ?? '') });\n else if (value?.status === 'no-match' || value?.status === 'denied' || value?.status === 'cancelled')\n settle({ status: value.status });\n else\n settle(null, new G9Error('speech-recognition', `Unknown dictation status \"${String(value?.status)}\".`));\n } catch (error) {\n settle(null, error);\n }\n });\n }),\n };\n}\n"],"names":["nativeSpeechModule","_ref","NativeModules","undefined","lynxSpeechEvents","listener","lynx","target","handler","raw","event","JSON","unwrap","envelope","e","G9Error","PERMISSIONS","Set","createNativeSpeechToText","options","_options_module","_options_events","native","events","next","locale","Promise","resolve","reply","reject","value","error","opts","_opts_signal","_opts_signal1","session","settled","off","settle","result","onAbort","_value_text","String"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Generated by @lynx-js/autolink-codegen. Do not edit.
|
|
2
|
+
|
|
3
|
+
const ADDON_NAME = "G9SpeechModule";
|
|
4
|
+
|
|
5
|
+
export interface G9SpeechModuleSpec {
|
|
6
|
+
isAvailable(locale: string, callback: (reply: Record<string, unknown>) => void): void;
|
|
7
|
+
requestPermission(callback: (reply: Record<string, unknown>) => void): void;
|
|
8
|
+
listen(session: string, locale: string, callback: (reply: Record<string, unknown>) => void): void;
|
|
9
|
+
cancel(session: string): void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type AddonExports = Record<string, unknown>;
|
|
13
|
+
|
|
14
|
+
declare let NativeModules: Record<string, unknown>;
|
|
15
|
+
|
|
16
|
+
declare global {
|
|
17
|
+
interface LynxNapiLoader {
|
|
18
|
+
load(moduleName: string): AddonExports | null | undefined;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// eslint-disable-next-line no-var
|
|
22
|
+
var __lynxNapiLoader: LynxNapiLoader | undefined;
|
|
23
|
+
|
|
24
|
+
function getNapiLoader(): LynxNapiLoader | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const lynx: {
|
|
28
|
+
getModuleLoader?(): LynxNapiLoader | undefined;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
function getNativeModules(): Record<string, unknown> | undefined {
|
|
32
|
+
const globalObject = globalThis as unknown as {
|
|
33
|
+
NativeModules?: Record<string, unknown>;
|
|
34
|
+
};
|
|
35
|
+
return typeof NativeModules !== 'undefined'
|
|
36
|
+
? NativeModules
|
|
37
|
+
: globalObject.NativeModules;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function installG9SpeechModuleShim(): void {
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function requireG9SpeechModule(): G9SpeechModuleSpec {
|
|
45
|
+
const nativeModules = getNativeModules();
|
|
46
|
+
const existingModule = nativeModules?.[ADDON_NAME];
|
|
47
|
+
if (existingModule !== undefined && existingModule !== null) {
|
|
48
|
+
return existingModule as G9SpeechModuleSpec;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
throw new Error(`Native module "${ADDON_NAME}" is unavailable.`);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const G9SpeechModule = new Proxy({}, {
|
|
57
|
+
get(_target, property) {
|
|
58
|
+
return requireG9SpeechModule()[property as keyof G9SpeechModuleSpec];
|
|
59
|
+
},
|
|
60
|
+
}) as G9SpeechModuleSpec;
|
|
61
|
+
|
|
62
|
+
installG9SpeechModuleShim();
|
|
63
|
+
|
|
64
|
+
export default G9SpeechModule;
|