omdev 0.0.47__tar.gz → 0.0.48__tar.gz
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.
- {omdev-0.0.47/omdev.egg-info → omdev-0.0.48}/PKG-INFO +14 -14
- {omdev-0.0.47 → omdev-0.0.48}/omdev/.om-manifests.json +1 -1
- {omdev-0.0.47 → omdev-0.0.48}/omdev/__about__.py +1 -1
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/cli/main.py +29 -11
- omdev-0.0.48/omdev/dockerdev/resources/fragments/om.sh +8 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/secrets.py +2 -8
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libregexp.c +18 -1
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs-libc.c +2 -2
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs.c +88 -65
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs.h +1 -1
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/ci.py +13 -4
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/io/pipelines.py +13 -4
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/formats.py +3 -5
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/sqlrepl.py +2 -3
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/underlinebar.py +44 -20
- {omdev-0.0.47 → omdev-0.0.48/omdev.egg-info}/PKG-INFO +14 -14
- {omdev-0.0.47 → omdev-0.0.48}/omdev.egg-info/requires.txt +13 -13
- {omdev-0.0.47 → omdev-0.0.48}/pyproject.toml +14 -14
- omdev-0.0.47/omdev/dockerdev/resources/fragments/om.sh +0 -21
- {omdev-0.0.47 → omdev-0.0.48}/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/MANIFEST.in +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/README.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/README.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/cli/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/gen.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/imports.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/manifests.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/resources.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/srcfiles.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/strip.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/gen/typing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/info.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/amalg/sources.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/darwin/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/darwin/aps.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/darwin/ax.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/darwin/cf.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/darwin/cg.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/linux/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/capi/linux/x11.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cc/srclangs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/build.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/configs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/ci.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/compose.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/consts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/cacheserved/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/cacheserved/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/cacheserved/manifests.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/clients.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v1/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v1/api.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v1/client.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v2/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v2/api.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v2/azure.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/api/v2/client.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/shell.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/ci/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/install.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/main.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/managers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cli/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/capi/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/capi/darwin_cf.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/capi/linux_x11.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/commands.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/platform.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/clipboard/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmake.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmdlog/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmdlog/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmdlog/_cmdlog.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmdlog/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/cmdlog/cmdlog.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/_dumping.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/_template.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/codegen.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataclasses/dumping.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/diffs/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/build.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/config.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/config.toml +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/content.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/discovery.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/gen.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/helpers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/ops.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/.python-versions.json +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/configs/.vimrc +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/depsets/python.toml +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/depsets/system.toml +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/go.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/man.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/user.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/install-claude +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/install-codex +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/install-pi +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/run-mysql +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/scripts/run-postgres +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/resources/shift-uid.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/run.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/dockerdev/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/magic.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/revisions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/shallow.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/status.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/aborting.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/diffing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/errors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/journals.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/merging.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/paths.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/pulling.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/runners.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/specs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/git/vendor/upstreams.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/paths.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/home/shadow.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/imgur.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/intellij/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/intellij/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/intellij/ides.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/intellij/open.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/default.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/pomgen.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/java/xml.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/TODO.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_pyqjsng.c +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_pyqjsng.pyi +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/builtin-array-fromasync.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/builtin-iterator-zip-keyed.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/builtin-iterator-zip.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/cutils.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/dtoa.c +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/dtoa.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libregexp-opcode.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libregexp.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libunicode-table.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libunicode.c +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/libunicode.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/list.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs-atom.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs-c-atomics.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs-libc.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/_quickjs/quickjs-opcode.h +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/js/quickjs/snapshots.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/find.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/magic.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/magic/styles.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/_dumping.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/building.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/dumping.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/manifests/main.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/markdownit/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/markdownit/incparse.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/markdownit/tokens.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/mypy/report.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/names.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/requirements.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/revisions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/packaging/wheelfile.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pip.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/base.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/blanklines.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/caches.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/git.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/imports.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/main.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/precheck/unicode.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/asts/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/asts/parents.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/asts/toplevel.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/asts/visitors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/attrdocs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/bracepy.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/classdot.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/attrdoc.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/common.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/epydoc.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/google.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/numpydoc.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/parser.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/docstrings/rest.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/findimports.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/reprs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/scripts/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/scripts/bumpversion.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/scripts/importtrace.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/srcheaders.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tokens/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tokens/all.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tokens/tokenizert.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tokens/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tools/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tools/fixdocstrings.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tools/importscan.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tools/mkrelimp.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py/tools/pipdepup.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/py.typed +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/resources/dockerdev.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/tools/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/tools/aboutdeps.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/tools/buildrs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/tools/pyversions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyproject/versions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyright/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/pyright/report.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/rs/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/formats/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/formats/goyaml.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/inject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/io/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/io/streambufs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/logs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/lib/marshal.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/pidfiles.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/messages/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/messages/base.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/messages/formats.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/messages/messages.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/messages/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/numerics/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/numerics/formats.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/numerics/numerics.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/numerics/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/consts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/errors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/message.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/nuh.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/tags.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/irc/protocol/utils.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/analysis.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/config.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/errors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/generator.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/ir.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/names.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/transforms.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/jsonschema/codegen/typing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/building.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/compression.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/data.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/datarefs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/dataserver.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/loading.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/media.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/pack/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/pack/packing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/pack/repositories.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/pack/unpacking.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/repositories.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/specs/oci/tars.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tagstrings.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/diff.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/doc.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/docker.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/cloning.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/consts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/git/messages.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/resources/jsonview.css +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/jsonview/resources/jsonview.js +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/ocr.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/pawk/README.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/pip.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/prof.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/qr.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/shadow.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tools/shell.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/README.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_dataclasses.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/design.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/dev_00_initial.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/dev_01_parity_push.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/intro.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/requirements.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/_devdocs/research.md +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/base.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/cards.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/history.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/markdown.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/spinners.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/stacks.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/static.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/status.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/suggestions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/controls/textarea.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/cursors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/documents.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/edits.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/highlighting.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/positions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/searching.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/docs/treesitter.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/keymaps.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/keys.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/types.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/events/xterm.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/runtime/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/runtime/asyncs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/runtime/drivers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/runtime/timers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/screens/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/screens/cells.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/screens/diffs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/surfaces/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/surfaces/alts.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/surfaces/base.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/surfaces/inlines.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/surfaces/writers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/colors.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/highlights.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/markdown.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/markdownit.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/pdcmark.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/pygments.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/segments.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/sgr.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/styles.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/themes.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/widths.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/text/wraps.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/tty/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/tty/terminals.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/engine.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/modes.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/motions.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/options.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/parsing.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/registers.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/scans.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/status.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/substitutes.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/minitui/vim/textobjs.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/console2.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/LICENSE +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/__main__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/_compat.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/cli.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/renderables.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/diff/rendering.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/markdown2.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/textual/__init__.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/textual/dark.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/textual/dump.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/textual/themes.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev/tui/rich/trirule.py +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev.egg-info/SOURCES.txt +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.47 → omdev-0.0.48}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.48
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,11 +14,11 @@ Classifier: Programming Language :: Python :: 3.15
|
|
|
14
14
|
Requires-Python: >=3.14
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omcore==0.0.
|
|
17
|
+
Requires-Dist: omcore==0.0.48
|
|
18
18
|
Provides-Extra: ominfra
|
|
19
|
-
Requires-Dist: ominfra==0.0.
|
|
19
|
+
Requires-Dist: ominfra==0.0.48; extra == "ominfra"
|
|
20
20
|
Provides-Extra: omllm
|
|
21
|
-
Requires-Dist: omllm==0.0.
|
|
21
|
+
Requires-Dist: omllm==0.0.48; extra == "omllm"
|
|
22
22
|
Provides-Extra: black
|
|
23
23
|
Requires-Dist: black~=26.5; extra == "black"
|
|
24
24
|
Provides-Extra: c
|
|
@@ -44,7 +44,7 @@ Provides-Extra: tui
|
|
|
44
44
|
Requires-Dist: rich~=15.0; extra == "tui"
|
|
45
45
|
Provides-Extra: tui-syntax
|
|
46
46
|
Requires-Dist: tree-sitter~=0.26; extra == "tui-syntax"
|
|
47
|
-
Requires-Dist: tree-sitter-bash~=0.
|
|
47
|
+
Requires-Dist: tree-sitter-bash~=0.25; extra == "tui-syntax"
|
|
48
48
|
Requires-Dist: tree-sitter-css~=0.25; extra == "tui-syntax"
|
|
49
49
|
Requires-Dist: tree-sitter-go~=0.25; extra == "tui-syntax"
|
|
50
50
|
Requires-Dist: tree-sitter-html~=0.23; extra == "tui-syntax"
|
|
@@ -60,14 +60,14 @@ Requires-Dist: tree-sitter-toml~=0.7; extra == "tui-syntax"
|
|
|
60
60
|
Requires-Dist: tree-sitter-xml~=0.7; extra == "tui-syntax"
|
|
61
61
|
Requires-Dist: tree-sitter-yaml~=0.7; extra == "tui-syntax"
|
|
62
62
|
Provides-Extra: cext
|
|
63
|
-
Requires-Dist: omdev-cext==0.0.
|
|
63
|
+
Requires-Dist: omdev-cext==0.0.48; extra == "cext"
|
|
64
64
|
Provides-Extra: rs
|
|
65
|
-
Requires-Dist: omdev-rs==0.0.
|
|
65
|
+
Requires-Dist: omdev-rs==0.0.48; extra == "rs"
|
|
66
66
|
Provides-Extra: cli
|
|
67
|
-
Requires-Dist: omdev-cli==0.0.
|
|
67
|
+
Requires-Dist: omdev-cli==0.0.48; extra == "cli"
|
|
68
68
|
Provides-Extra: all
|
|
69
|
-
Requires-Dist: ominfra==0.0.
|
|
70
|
-
Requires-Dist: omllm==0.0.
|
|
69
|
+
Requires-Dist: ominfra==0.0.48; extra == "all"
|
|
70
|
+
Requires-Dist: omllm==0.0.48; extra == "all"
|
|
71
71
|
Requires-Dist: black~=26.5; extra == "all"
|
|
72
72
|
Requires-Dist: pycparser~=3.0; extra == "all"
|
|
73
73
|
Requires-Dist: pcpp~=1.30; extra == "all"
|
|
@@ -83,7 +83,7 @@ Requires-Dist: gprof2dot~=2025.4; extra == "all"
|
|
|
83
83
|
Requires-Dist: segno~=1.6; extra == "all"
|
|
84
84
|
Requires-Dist: rich~=15.0; extra == "all"
|
|
85
85
|
Requires-Dist: tree-sitter~=0.26; extra == "all"
|
|
86
|
-
Requires-Dist: tree-sitter-bash~=0.
|
|
86
|
+
Requires-Dist: tree-sitter-bash~=0.25; extra == "all"
|
|
87
87
|
Requires-Dist: tree-sitter-css~=0.25; extra == "all"
|
|
88
88
|
Requires-Dist: tree-sitter-go~=0.25; extra == "all"
|
|
89
89
|
Requires-Dist: tree-sitter-html~=0.23; extra == "all"
|
|
@@ -98,9 +98,9 @@ Requires-Dist: tree-sitter-sql~=0.3; extra == "all"
|
|
|
98
98
|
Requires-Dist: tree-sitter-toml~=0.7; extra == "all"
|
|
99
99
|
Requires-Dist: tree-sitter-xml~=0.7; extra == "all"
|
|
100
100
|
Requires-Dist: tree-sitter-yaml~=0.7; extra == "all"
|
|
101
|
-
Requires-Dist: omdev-cext==0.0.
|
|
102
|
-
Requires-Dist: omdev-rs==0.0.
|
|
103
|
-
Requires-Dist: omdev-cli==0.0.
|
|
101
|
+
Requires-Dist: omdev-cext==0.0.48; extra == "all"
|
|
102
|
+
Requires-Dist: omdev-rs==0.0.48; extra == "all"
|
|
103
|
+
Requires-Dist: omdev-cli==0.0.48; extra == "all"
|
|
104
104
|
Dynamic: license-file
|
|
105
105
|
|
|
106
106
|
# Overview
|
|
@@ -29,6 +29,7 @@ Targets:
|
|
|
29
29
|
import argparse
|
|
30
30
|
import os.path
|
|
31
31
|
import stat
|
|
32
|
+
import tempfile
|
|
32
33
|
import typing as ta
|
|
33
34
|
|
|
34
35
|
from omcore import check
|
|
@@ -59,18 +60,35 @@ def _gen_one(
|
|
|
59
60
|
).gen_amalg()
|
|
60
61
|
|
|
61
62
|
if output_path is not None:
|
|
62
|
-
os.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
| (stat.S_IXGRP if src_mode & stat.S_IRGRP else 0)
|
|
71
|
-
| (stat.S_IXOTH if src_mode & stat.S_IROTH else 0)
|
|
63
|
+
od = os.path.dirname(output_path)
|
|
64
|
+
os.makedirs(od, exist_ok=True)
|
|
65
|
+
|
|
66
|
+
on = os.path.basename(output_path)
|
|
67
|
+
fd, fp = tempfile.mkstemp(
|
|
68
|
+
prefix=('.' if not on.startswith('.') else '') + on,
|
|
69
|
+
suffix='.tmp',
|
|
70
|
+
dir=od,
|
|
72
71
|
)
|
|
73
|
-
|
|
72
|
+
try:
|
|
73
|
+
os.write(fd, src.encode('utf-8'))
|
|
74
|
+
|
|
75
|
+
src_mode = os.stat(input_path).st_mode
|
|
76
|
+
out_mode = (
|
|
77
|
+
src_mode |
|
|
78
|
+
(stat.S_IXUSR if src_mode & stat.S_IRUSR else 0) |
|
|
79
|
+
(stat.S_IXGRP if src_mode & stat.S_IRGRP else 0) |
|
|
80
|
+
(stat.S_IXOTH if src_mode & stat.S_IROTH else 0)
|
|
81
|
+
)
|
|
82
|
+
os.chmod(fp, out_mode)
|
|
83
|
+
|
|
84
|
+
os.replace(fp, output_path)
|
|
85
|
+
|
|
86
|
+
except BaseException:
|
|
87
|
+
os.unlink(fp)
|
|
88
|
+
raise
|
|
89
|
+
|
|
90
|
+
finally:
|
|
91
|
+
os.close(fd)
|
|
74
92
|
|
|
75
93
|
else:
|
|
76
94
|
print(src)
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import os.path
|
|
2
2
|
import typing as ta
|
|
3
3
|
|
|
4
|
-
from omcore import
|
|
4
|
+
from omcore.formats.yaml import all as yaml
|
|
5
5
|
from omcore.os.environ import EnvVar
|
|
6
6
|
from omcore.secrets import all as sec
|
|
7
7
|
|
|
8
8
|
from .paths import get_home_paths
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
if ta.TYPE_CHECKING:
|
|
12
|
-
import yaml
|
|
13
|
-
else:
|
|
14
|
-
yaml = lang.proxy_import('yaml')
|
|
15
|
-
|
|
16
|
-
|
|
17
11
|
##
|
|
18
12
|
|
|
19
13
|
|
|
@@ -31,7 +25,7 @@ def load_secrets() -> sec.Secrets:
|
|
|
31
25
|
dct: dict[str, sec.Secret] = {}
|
|
32
26
|
try:
|
|
33
27
|
with open(get_secrets_file()) as f:
|
|
34
|
-
for k, v in yaml.
|
|
28
|
+
for k, v in yaml.loads(f.read()).items():
|
|
35
29
|
if isinstance(v, str):
|
|
36
30
|
dct[k] = sec.Secret(key=k, value=v)
|
|
37
31
|
except FileNotFoundError:
|
|
@@ -1025,7 +1025,7 @@ static int parse_class_string_disjunction(REParseState *s, REStringList *cr,
|
|
|
1025
1025
|
for(;;) {
|
|
1026
1026
|
str.size = 0;
|
|
1027
1027
|
while (*p != '}' && *p != '|') {
|
|
1028
|
-
c = get_class_atom(s, NULL, &p,
|
|
1028
|
+
c = get_class_atom(s, NULL, &p, true);
|
|
1029
1029
|
if (c < 0)
|
|
1030
1030
|
goto fail;
|
|
1031
1031
|
if (dbuf_put_u32(&str, c)) {
|
|
@@ -1119,6 +1119,23 @@ static int get_class_atom(REParseState *s, REStringList *cr,
|
|
|
1119
1119
|
if (!inclass && s->is_unicode)
|
|
1120
1120
|
goto invalid_escape;
|
|
1121
1121
|
break;
|
|
1122
|
+
case '&':
|
|
1123
|
+
case '!':
|
|
1124
|
+
case '#':
|
|
1125
|
+
case '%':
|
|
1126
|
+
case ',':
|
|
1127
|
+
case ':':
|
|
1128
|
+
case ';':
|
|
1129
|
+
case '<':
|
|
1130
|
+
case '=':
|
|
1131
|
+
case '>':
|
|
1132
|
+
case '@':
|
|
1133
|
+
case '`':
|
|
1134
|
+
case '~':
|
|
1135
|
+
if (s->is_unicode && (!inclass || !s->unicode_sets))
|
|
1136
|
+
/* Only illegal if in unicode mode and not in a class */
|
|
1137
|
+
goto invalid_escape;
|
|
1138
|
+
break;
|
|
1122
1139
|
case '^':
|
|
1123
1140
|
case '$':
|
|
1124
1141
|
case '\\':
|
|
@@ -1920,7 +1920,7 @@ static const JSCFunctionListEntry js_std_funcs[] = {
|
|
|
1920
1920
|
JS_CFUNC_DEF("evalScript", 1, js_evalScript ),
|
|
1921
1921
|
JS_CFUNC_DEF("loadScript", 1, js_loadScript ),
|
|
1922
1922
|
JS_CFUNC_DEF("getenv", 1, js_std_getenv ),
|
|
1923
|
-
JS_CFUNC_DEF("setenv",
|
|
1923
|
+
JS_CFUNC_DEF("setenv", 2, js_std_setenv ),
|
|
1924
1924
|
JS_CFUNC_DEF("unsetenv", 1, js_std_unsetenv ),
|
|
1925
1925
|
JS_CFUNC_DEF("getenviron", 1, js_std_getenviron ),
|
|
1926
1926
|
#if !defined(__wasi__)
|
|
@@ -4449,7 +4449,7 @@ static const JSCFunctionListEntry js_os_funcs[] = {
|
|
|
4449
4449
|
JS_CFUNC_DEF("sleepAsync", 1, js_os_sleepAsync ),
|
|
4450
4450
|
JS_PROP_STRING_DEF("platform", OS_PLATFORM, 0 ),
|
|
4451
4451
|
JS_CFUNC_DEF("getcwd", 0, js_os_getcwd ),
|
|
4452
|
-
JS_CFUNC_DEF("chdir",
|
|
4452
|
+
JS_CFUNC_DEF("chdir", 1, js_os_chdir ),
|
|
4453
4453
|
JS_CFUNC_DEF("mkdir", 1, js_os_mkdir ),
|
|
4454
4454
|
JS_CFUNC_DEF("readdir", 1, js_os_readdir ),
|
|
4455
4455
|
#if !defined(_WIN32) && !defined(__wasi__)
|
|
@@ -4178,7 +4178,7 @@ bool JS_IsRegisteredClass(JSRuntime *rt, JSClassID class_id)
|
|
|
4178
4178
|
JSAtom JS_GetClassName(JSRuntime *rt, JSClassID class_id)
|
|
4179
4179
|
{
|
|
4180
4180
|
if (JS_IsRegisteredClass(rt, class_id)) {
|
|
4181
|
-
return JS_DupAtomRT(rt, rt->class_array[class_id].
|
|
4181
|
+
return JS_DupAtomRT(rt, rt->class_array[class_id].class_name);
|
|
4182
4182
|
} else {
|
|
4183
4183
|
return JS_ATOM_NULL;
|
|
4184
4184
|
}
|
|
@@ -6324,48 +6324,21 @@ JSValue JS_NewObjectProto(JSContext *ctx, JSValueConst proto)
|
|
|
6324
6324
|
JSValue JS_NewObjectFrom(JSContext *ctx, int count, const JSAtom *props,
|
|
6325
6325
|
const JSValue *values)
|
|
6326
6326
|
{
|
|
6327
|
-
JSShapeProperty *pr;
|
|
6328
|
-
uint32_t *hash;
|
|
6329
|
-
JSRuntime *rt;
|
|
6330
|
-
JSObject *p;
|
|
6331
|
-
JSShape *sh;
|
|
6332
6327
|
JSValue obj;
|
|
6333
|
-
JSAtom atom;
|
|
6334
|
-
intptr_t h;
|
|
6335
6328
|
int i;
|
|
6336
6329
|
|
|
6337
|
-
rt = ctx->rt;
|
|
6338
6330
|
obj = JS_NewObject(ctx);
|
|
6339
6331
|
if (JS_IsException(obj))
|
|
6340
6332
|
return JS_EXCEPTION;
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
assert(sh->is_hashed);
|
|
6345
|
-
assert(JS_REF_COUNT(sh) == 1);
|
|
6346
|
-
js_shape_hash_unlink(rt, sh);
|
|
6347
|
-
if (resize_properties(ctx, &sh, p, count)) {
|
|
6348
|
-
js_shape_hash_link(rt, sh);
|
|
6349
|
-
JS_FreeValue(ctx, obj);
|
|
6350
|
-
return JS_EXCEPTION;
|
|
6351
|
-
}
|
|
6352
|
-
p->shape = sh;
|
|
6353
|
-
for (i = 0; i < count; i++) {
|
|
6354
|
-
atom = props[i];
|
|
6355
|
-
pr = &get_shape_prop(sh)[i];
|
|
6356
|
-
sh->hash = shape_hash(shape_hash(sh->hash, atom), JS_PROP_C_W_E);
|
|
6357
|
-
h = atom & sh->prop_hash_mask;
|
|
6358
|
-
hash = &prop_hash_end(sh)[-h - 1];
|
|
6359
|
-
pr->hash_next = *hash;
|
|
6360
|
-
*hash = i + 1;
|
|
6361
|
-
pr->atom = JS_DupAtom(ctx, atom);
|
|
6362
|
-
pr->flags = JS_PROP_C_W_E;
|
|
6363
|
-
p->prop[i].u.value = values[i];
|
|
6364
|
-
}
|
|
6365
|
-
js_shape_hash_link(rt, sh);
|
|
6366
|
-
sh->prop_count = count;
|
|
6367
|
-
}
|
|
6333
|
+
for (i = 0; i < count; i++)
|
|
6334
|
+
if (JS_SetProperty(ctx, obj, props[i], values[i]) < 0)
|
|
6335
|
+
goto fail;
|
|
6368
6336
|
return obj;
|
|
6337
|
+
fail:
|
|
6338
|
+
for (/*empty*/; i < count; i++)
|
|
6339
|
+
JS_FreeValue(ctx, values[i]);
|
|
6340
|
+
JS_FreeValue(ctx, obj);
|
|
6341
|
+
return JS_EXCEPTION;
|
|
6369
6342
|
}
|
|
6370
6343
|
|
|
6371
6344
|
JSValue JS_NewObjectFromStr(JSContext *ctx, int count, const char **props,
|
|
@@ -37051,8 +37024,8 @@ static JSValue js_create_function(JSContext *ctx, JSFunctionDef *fd)
|
|
|
37051
37024
|
goto fail;
|
|
37052
37025
|
|
|
37053
37026
|
function_size = sizeof(*b);
|
|
37054
|
-
cpool_offset = function_size;
|
|
37055
|
-
function_size
|
|
37027
|
+
cpool_offset = (function_size + 7) & ~7;
|
|
37028
|
+
function_size = cpool_offset + fd->cpool_count * sizeof(*fd->cpool);
|
|
37056
37029
|
vardefs_offset = function_size;
|
|
37057
37030
|
function_size += (fd->arg_count + fd->var_count) * sizeof(*b->vardefs);
|
|
37058
37031
|
closure_var_offset = function_size;
|
|
@@ -39753,8 +39726,8 @@ static JSValue JS_ReadFunctionTag(BCReaderState *s)
|
|
|
39753
39726
|
goto fail;
|
|
39754
39727
|
|
|
39755
39728
|
function_size = sizeof(*b);
|
|
39756
|
-
cpool_offset = function_size;
|
|
39757
|
-
function_size
|
|
39729
|
+
cpool_offset = (function_size + 7) & ~7;
|
|
39730
|
+
function_size = cpool_offset + bc.cpool_count * sizeof(*bc.cpool);
|
|
39758
39731
|
vardefs_offset = function_size;
|
|
39759
39732
|
function_size += local_count * sizeof(*bc.vardefs);
|
|
39760
39733
|
closure_var_offset = function_size;
|
|
@@ -40958,7 +40931,7 @@ static JSValue JS_NewCConstructor(JSContext *ctx, int class_id, const char *name
|
|
|
40958
40931
|
const JSCFunctionListEntry *proto_fields, int n_proto_fields,
|
|
40959
40932
|
int flags)
|
|
40960
40933
|
{
|
|
40961
|
-
JSValue ctor = JS_UNDEFINED, proto, parent_proto;
|
|
40934
|
+
JSValue ctor = JS_UNDEFINED, proto, parent_proto, *class_proto;
|
|
40962
40935
|
int proto_class_id, proto_flags, ctor_flags;
|
|
40963
40936
|
|
|
40964
40937
|
proto_flags = 0;
|
|
@@ -40989,8 +40962,12 @@ static JSValue JS_NewCConstructor(JSContext *ctx, int class_id, const char *name
|
|
|
40989
40962
|
n_proto_fields + 1);
|
|
40990
40963
|
if (JS_IsException(proto))
|
|
40991
40964
|
goto fail;
|
|
40992
|
-
if (class_id >= 0)
|
|
40993
|
-
ctx->class_proto[class_id]
|
|
40965
|
+
if (class_id >= 0) {
|
|
40966
|
+
class_proto = &ctx->class_proto[class_id];
|
|
40967
|
+
if (!JS_IsNull(*class_proto))
|
|
40968
|
+
JS_FreeValue(ctx, *class_proto);
|
|
40969
|
+
*class_proto = js_dup(proto);
|
|
40970
|
+
}
|
|
40994
40971
|
}
|
|
40995
40972
|
if (JS_SetPropertyFunctionList(ctx, proto, proto_fields, n_proto_fields))
|
|
40996
40973
|
goto fail;
|
|
@@ -41189,8 +41166,9 @@ static int js_obj_to_desc(JSContext *ctx, JSPropertyDescriptor *d,
|
|
|
41189
41166
|
if (present) {
|
|
41190
41167
|
flags |= JS_PROP_HAS_GET;
|
|
41191
41168
|
getter = JS_GetProperty(ctx, desc, JS_ATOM_get);
|
|
41192
|
-
if (JS_IsException(getter)
|
|
41193
|
-
|
|
41169
|
+
if (JS_IsException(getter))
|
|
41170
|
+
goto fail;
|
|
41171
|
+
if (!(JS_IsUndefined(getter) || JS_IsFunction(ctx, getter))) {
|
|
41194
41172
|
JS_ThrowTypeError(ctx, "Getter must be a function");
|
|
41195
41173
|
goto fail;
|
|
41196
41174
|
}
|
|
@@ -41201,8 +41179,9 @@ static int js_obj_to_desc(JSContext *ctx, JSPropertyDescriptor *d,
|
|
|
41201
41179
|
if (present) {
|
|
41202
41180
|
flags |= JS_PROP_HAS_SET;
|
|
41203
41181
|
setter = JS_GetProperty(ctx, desc, JS_ATOM_set);
|
|
41204
|
-
if (JS_IsException(setter)
|
|
41205
|
-
|
|
41182
|
+
if (JS_IsException(setter))
|
|
41183
|
+
goto fail;
|
|
41184
|
+
if (!(JS_IsUndefined(setter) || JS_IsFunction(ctx, setter))) {
|
|
41206
41185
|
JS_ThrowTypeError(ctx, "Setter must be a function");
|
|
41207
41186
|
goto fail;
|
|
41208
41187
|
}
|
|
@@ -43575,6 +43554,8 @@ static JSValue js_array_every(JSContext *ctx, JSValueConst this_val,
|
|
|
43575
43554
|
n = 0;
|
|
43576
43555
|
|
|
43577
43556
|
for(k = 0; k < len; k++) {
|
|
43557
|
+
if (js_poll_interrupts(ctx))
|
|
43558
|
+
goto exception;
|
|
43578
43559
|
if (special & special_TA) {
|
|
43579
43560
|
val = JS_GetPropertyInt64(ctx, obj, k);
|
|
43580
43561
|
if (JS_IsException(val))
|
|
@@ -43696,6 +43677,8 @@ static JSValue js_array_reduce(JSContext *ctx, JSValueConst this_val,
|
|
|
43696
43677
|
acc = js_dup(argv[1]);
|
|
43697
43678
|
} else {
|
|
43698
43679
|
for(;;) {
|
|
43680
|
+
if (js_poll_interrupts(ctx))
|
|
43681
|
+
goto exception;
|
|
43699
43682
|
if (k >= len) {
|
|
43700
43683
|
JS_ThrowTypeError(ctx, "empty array");
|
|
43701
43684
|
goto exception;
|
|
@@ -43717,6 +43700,8 @@ static JSValue js_array_reduce(JSContext *ctx, JSValueConst this_val,
|
|
|
43717
43700
|
}
|
|
43718
43701
|
}
|
|
43719
43702
|
for (; k < len; k++) {
|
|
43703
|
+
if (js_poll_interrupts(ctx))
|
|
43704
|
+
goto exception;
|
|
43720
43705
|
k1 = (special & special_reduceRight) ? len - k - 1 : k;
|
|
43721
43706
|
if (special & special_TA) {
|
|
43722
43707
|
val = JS_GetPropertyInt64(ctx, obj, k1);
|
|
@@ -43818,6 +43803,8 @@ static JSValue js_array_includes(JSContext *ctx, JSValueConst this_val,
|
|
|
43818
43803
|
}
|
|
43819
43804
|
}
|
|
43820
43805
|
for (; n < len; n++) {
|
|
43806
|
+
if (js_poll_interrupts(ctx))
|
|
43807
|
+
goto exception;
|
|
43821
43808
|
val = JS_GetPropertyInt64(ctx, obj, n);
|
|
43822
43809
|
if (JS_IsException(val))
|
|
43823
43810
|
goto exception;
|
|
@@ -43864,6 +43851,8 @@ static JSValue js_array_indexOf(JSContext *ctx, JSValueConst this_val,
|
|
|
43864
43851
|
}
|
|
43865
43852
|
}
|
|
43866
43853
|
for (; n < len; n++) {
|
|
43854
|
+
if (js_poll_interrupts(ctx))
|
|
43855
|
+
goto exception;
|
|
43867
43856
|
int present = JS_TryGetPropertyInt64(ctx, obj, n, &val);
|
|
43868
43857
|
if (present < 0)
|
|
43869
43858
|
goto exception;
|
|
@@ -43893,6 +43882,7 @@ static JSValue js_array_lastIndexOf(JSContext *ctx, JSValueConst this_val,
|
|
|
43893
43882
|
int64_t len, n;
|
|
43894
43883
|
JSValue *arrp;
|
|
43895
43884
|
uint32_t count;
|
|
43885
|
+
int present;
|
|
43896
43886
|
|
|
43897
43887
|
obj = JS_ToObject(ctx, this_val);
|
|
43898
43888
|
if (js_get_length64(ctx, &len, obj))
|
|
@@ -43913,7 +43903,9 @@ static JSValue js_array_lastIndexOf(JSContext *ctx, JSValueConst this_val,
|
|
|
43913
43903
|
}
|
|
43914
43904
|
}
|
|
43915
43905
|
for (; n >= 0; n--) {
|
|
43916
|
-
|
|
43906
|
+
if (js_poll_interrupts(ctx))
|
|
43907
|
+
goto exception;
|
|
43908
|
+
present = JS_TryGetPropertyInt64(ctx, obj, n, &val);
|
|
43917
43909
|
if (present < 0)
|
|
43918
43910
|
goto exception;
|
|
43919
43911
|
if (present) {
|
|
@@ -43976,6 +43968,8 @@ static JSValue js_array_find(JSContext *ctx, JSValueConst this_val,
|
|
|
43976
43968
|
|
|
43977
43969
|
// TODO(bnoordhuis) add fast path for fast arrays
|
|
43978
43970
|
for(; k != end; k += dir) {
|
|
43971
|
+
if (js_poll_interrupts(ctx))
|
|
43972
|
+
goto exception;
|
|
43979
43973
|
index_val = js_int64(k);
|
|
43980
43974
|
val = JS_GetPropertyValue(ctx, obj, index_val);
|
|
43981
43975
|
if (JS_IsException(val))
|
|
@@ -44684,11 +44678,6 @@ static int js_array_cmp_generic(const void *a, const void *b, void *opaque) {
|
|
|
44684
44678
|
return 0;
|
|
44685
44679
|
|
|
44686
44680
|
if (psc->has_method) {
|
|
44687
|
-
/* custom sort function is specified as returning 0 for identical
|
|
44688
|
-
* objects: avoid method call overhead.
|
|
44689
|
-
*/
|
|
44690
|
-
if (!memcmp(&ap->val, &bp->val, sizeof(ap->val)))
|
|
44691
|
-
goto cmp_same;
|
|
44692
44681
|
argv[0] = ap->val;
|
|
44693
44682
|
argv[1] = bp->val;
|
|
44694
44683
|
res = JS_Call(ctx, psc->method, JS_UNDEFINED, 2, argv);
|
|
@@ -44723,7 +44712,6 @@ static int js_array_cmp_generic(const void *a, const void *b, void *opaque) {
|
|
|
44723
44712
|
}
|
|
44724
44713
|
if (cmp != 0)
|
|
44725
44714
|
return cmp;
|
|
44726
|
-
cmp_same:
|
|
44727
44715
|
/* make sort stable: compare array offsets */
|
|
44728
44716
|
return (ap->pos > bp->pos) - (ap->pos < bp->pos);
|
|
44729
44717
|
|
|
@@ -52235,7 +52223,7 @@ static int js_proxy_has(JSContext *ctx, JSValueConst obj, JSAtom atom)
|
|
|
52235
52223
|
int res;
|
|
52236
52224
|
JSObject *p;
|
|
52237
52225
|
JSValueConst args[2];
|
|
52238
|
-
bool ret
|
|
52226
|
+
bool ret;
|
|
52239
52227
|
|
|
52240
52228
|
s = get_proxy_method(ctx, &method, obj, JS_ATOM_has);
|
|
52241
52229
|
if (!s)
|
|
@@ -52261,8 +52249,15 @@ static int js_proxy_has(JSContext *ctx, JSValueConst obj, JSAtom atom)
|
|
|
52261
52249
|
if (res < 0)
|
|
52262
52250
|
return -1;
|
|
52263
52251
|
if (res) {
|
|
52264
|
-
|
|
52265
|
-
|
|
52252
|
+
if (!(desc_flags & JS_PROP_CONFIGURABLE))
|
|
52253
|
+
goto inconsistent;
|
|
52254
|
+
/* must go through IsExtensible(): the target can be a proxy
|
|
52255
|
+
itself, whose isExtensible trap is observable */
|
|
52256
|
+
res = JS_IsExtensible(ctx, s->target);
|
|
52257
|
+
if (res < 0)
|
|
52258
|
+
return -1;
|
|
52259
|
+
if (!res) {
|
|
52260
|
+
inconsistent:
|
|
52266
52261
|
JS_ThrowTypeError(ctx, "proxy: inconsistent has");
|
|
52267
52262
|
return -1;
|
|
52268
52263
|
}
|
|
@@ -52458,7 +52453,14 @@ static int js_proxy_get_own_property(JSContext *ctx, JSPropertyDescriptor *pdesc
|
|
|
52458
52453
|
js_free_desc(ctx, &target_desc);
|
|
52459
52454
|
if (JS_IsUndefined(trap_result_obj)) {
|
|
52460
52455
|
if (target_desc_ret) {
|
|
52461
|
-
if (!(target_desc.flags & JS_PROP_CONFIGURABLE)
|
|
52456
|
+
if (!(target_desc.flags & JS_PROP_CONFIGURABLE))
|
|
52457
|
+
goto fail;
|
|
52458
|
+
/* must go through IsExtensible(): the target can be a proxy
|
|
52459
|
+
itself, whose isExtensible trap is observable */
|
|
52460
|
+
res = JS_IsExtensible(ctx, s->target);
|
|
52461
|
+
if (res < 0)
|
|
52462
|
+
return -1;
|
|
52463
|
+
if (!res)
|
|
52462
52464
|
goto fail;
|
|
52463
52465
|
}
|
|
52464
52466
|
ret = false;
|
|
@@ -52521,7 +52523,7 @@ static int js_proxy_define_own_property(JSContext *ctx, JSValueConst obj,
|
|
|
52521
52523
|
{
|
|
52522
52524
|
JSProxyData *s;
|
|
52523
52525
|
JSValue method, ret1, prop_val, desc_val;
|
|
52524
|
-
int res;
|
|
52526
|
+
int res, extensible_target;
|
|
52525
52527
|
JSObject *p;
|
|
52526
52528
|
JSValueConst args[3];
|
|
52527
52529
|
JSPropertyDescriptor desc;
|
|
@@ -52565,11 +52567,19 @@ static int js_proxy_define_own_property(JSContext *ctx, JSValueConst obj,
|
|
|
52565
52567
|
res = JS_GetOwnPropertyInternal(ctx, &desc, p, prop);
|
|
52566
52568
|
if (res < 0)
|
|
52567
52569
|
return -1;
|
|
52570
|
+
/* must go through IsExtensible(): the target can be a proxy itself, in
|
|
52571
|
+
which case its isExtensible trap is observable and may throw */
|
|
52572
|
+
extensible_target = JS_IsExtensible(ctx, s->target);
|
|
52573
|
+
if (extensible_target < 0) {
|
|
52574
|
+
if (res)
|
|
52575
|
+
js_free_desc(ctx, &desc);
|
|
52576
|
+
return -1;
|
|
52577
|
+
}
|
|
52568
52578
|
setting_not_configurable = ((flags & (JS_PROP_HAS_CONFIGURABLE |
|
|
52569
52579
|
JS_PROP_CONFIGURABLE)) ==
|
|
52570
52580
|
JS_PROP_HAS_CONFIGURABLE);
|
|
52571
52581
|
if (!res) {
|
|
52572
|
-
if (!
|
|
52582
|
+
if (!extensible_target || setting_not_configurable)
|
|
52573
52583
|
goto fail;
|
|
52574
52584
|
} else {
|
|
52575
52585
|
if (!check_define_prop_flags(desc.flags, flags) ||
|
|
@@ -52698,6 +52708,12 @@ static int js_proxy_get_own_property_names(JSContext *ctx,
|
|
|
52698
52708
|
prop_array = JS_CallFree(ctx, method, s->handler, 1, vc(&s->target));
|
|
52699
52709
|
if (JS_IsException(prop_array))
|
|
52700
52710
|
return -1;
|
|
52711
|
+
/* CreateListFromArrayLike() requires an object */
|
|
52712
|
+
if (JS_VALUE_GET_TAG(prop_array) != JS_TAG_OBJECT) {
|
|
52713
|
+
JS_FreeValue(ctx, prop_array);
|
|
52714
|
+
JS_ThrowTypeError(ctx, "proxy: ownKeys must return an object");
|
|
52715
|
+
return -1;
|
|
52716
|
+
}
|
|
52701
52717
|
tab = NULL;
|
|
52702
52718
|
len = 0;
|
|
52703
52719
|
tab_size = 0;
|
|
@@ -55192,7 +55208,7 @@ static JSValue js_async_dispose_step(JSContext *ctx, JSValueConst this_val,
|
|
|
55192
55208
|
return JS_EXCEPTION;
|
|
55193
55209
|
resolve_fn = JS_NewCFunctionData(ctx, js_async_dispose_rethrow, 0, 0,
|
|
55194
55210
|
1, &prev_err);
|
|
55195
|
-
reject_fn = JS_NewCFunctionData(ctx, js_async_dispose_rethrow,
|
|
55211
|
+
reject_fn = JS_NewCFunctionData(ctx, js_async_dispose_rethrow, 1, 1,
|
|
55196
55212
|
1, &prev_err);
|
|
55197
55213
|
then_args[0] = resolve_fn;
|
|
55198
55214
|
then_args[1] = reject_fn;
|
|
@@ -55303,7 +55319,7 @@ static JSValue js_disposable_stack_dispose(JSContext *ctx,
|
|
|
55303
55319
|
data[2] = hint_val;
|
|
55304
55320
|
resolve_fn = JS_NewCFunctionData(ctx, js_async_dispose_step, 0, 0,
|
|
55305
55321
|
3, data);
|
|
55306
|
-
reject_fn = JS_NewCFunctionData(ctx, js_async_dispose_step,
|
|
55322
|
+
reject_fn = JS_NewCFunctionData(ctx, js_async_dispose_step, 1, 1,
|
|
55307
55323
|
3, data);
|
|
55308
55324
|
JS_FreeValue(ctx, hint_val);
|
|
55309
55325
|
JS_FreeValue(ctx, res->value);
|
|
@@ -60113,10 +60129,13 @@ static JSValue js_typed_array_with(JSContext *ctx, JSValueConst this_val,
|
|
|
60113
60129
|
if (idx < 0)
|
|
60114
60130
|
idx = len + idx;
|
|
60115
60131
|
|
|
60116
|
-
|
|
60132
|
+
if (p->class_id == JS_CLASS_BIG_INT64_ARRAY || p->class_id == JS_CLASS_BIG_UINT64_ARRAY) {
|
|
60133
|
+
val = JS_ToBigInt(ctx, argv[1]);
|
|
60134
|
+
} else {
|
|
60135
|
+
val = JS_ToNumber(ctx, argv[1]);
|
|
60136
|
+
}
|
|
60117
60137
|
if (JS_IsException(val))
|
|
60118
60138
|
return JS_EXCEPTION;
|
|
60119
|
-
|
|
60120
60139
|
/* re-validate after user code (spec step 9: IsValidIntegerIndex) */
|
|
60121
60140
|
if (typed_array_is_oob(p)) {
|
|
60122
60141
|
JS_FreeValue(ctx, val);
|
|
@@ -63772,7 +63791,7 @@ int JS_AddIntrinsicDOMException(JSContext *ctx)
|
|
|
63772
63791
|
}
|
|
63773
63792
|
JS_DefinePropertyValue(ctx, ctx->global_obj, JS_ATOM_DOMException, ctor,
|
|
63774
63793
|
JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE);
|
|
63775
|
-
ctx->class_proto[JS_CLASS_DOM_EXCEPTION]
|
|
63794
|
+
set_value(ctx, &ctx->class_proto[JS_CLASS_DOM_EXCEPTION], proto);
|
|
63776
63795
|
return 0;
|
|
63777
63796
|
}
|
|
63778
63797
|
/* base64 */
|
|
@@ -64836,6 +64855,10 @@ uintptr_t js_std_cmd(int cmd, ...) {
|
|
|
64836
64855
|
if (JS_IsString(*pv))
|
|
64837
64856
|
rv = JS_VALUE_GET_STRING(*pv)->kind;
|
|
64838
64857
|
break;
|
|
64858
|
+
case 4: // GetShapeHashCount
|
|
64859
|
+
rt = va_arg(ap, JSRuntime *);
|
|
64860
|
+
rv = rt->shape_hash_count;
|
|
64861
|
+
break;
|
|
64839
64862
|
default:
|
|
64840
64863
|
rv = -1;
|
|
64841
64864
|
}
|
|
@@ -1449,7 +1449,7 @@ JS_EXTERN int JS_SetModuleExportList(JSContext *ctx, JSModuleDef *m,
|
|
|
1449
1449
|
|
|
1450
1450
|
#define QJS_VERSION_MAJOR 0
|
|
1451
1451
|
#define QJS_VERSION_MINOR 16
|
|
1452
|
-
#define QJS_VERSION_PATCH
|
|
1452
|
+
#define QJS_VERSION_PATCH 2
|
|
1453
1453
|
#define QJS_VERSION_SUFFIX ""
|
|
1454
1454
|
|
|
1455
1455
|
JS_EXTERN const char* JS_GetVersion(void);
|
|
@@ -135,7 +135,7 @@ def __om_amalg__(): # noqa
|
|
|
135
135
|
dict(path='../../omcore/http/headers.py', sha1='ffafd3e3130e86716c856c6ce62ce3e6d509504f'),
|
|
136
136
|
dict(path='../../omcore/http/parsing.py', sha1='24bdc721ed0005175f5ed371f4222b116a552d63'),
|
|
137
137
|
dict(path='../../omcore/http/pipelines/compression/codings.py', sha1='0a249bfaede012e18fea8cd3b0f239c985a6cfec'), # noqa
|
|
138
|
-
dict(path='../../omcore/io/pipelines/core.py', sha1='
|
|
138
|
+
dict(path='../../omcore/io/pipelines/core.py', sha1='bfdf8a42779970de1de82e7531080941d4f078d1'),
|
|
139
139
|
dict(path='../../omcore/io/pipelines/yielding.py', sha1='b076ec9bfd9618c4a9fc9b55a8282066e8ade799'),
|
|
140
140
|
dict(path='../../omcore/io/streambufs/types.py', sha1='b4bb4d4128321c01c58f01bf20397731509e5927'),
|
|
141
141
|
dict(path='../../omcore/lite/json.py', sha1='01124e62093ebd4078602f16df0ec04cb724a612'),
|
|
@@ -7976,12 +7976,14 @@ class IoPipeline:
|
|
|
7976
7976
|
*,
|
|
7977
7977
|
never_handle_exceptions: ta.Tuple[type, ...] = (),
|
|
7978
7978
|
message_tap: ta.Optional[IoPipelineMessageTap] = None,
|
|
7979
|
+
on_state_change: ta.Optional[ta.Callable[['IoPipeline'], None]] = None,
|
|
7979
7980
|
) -> None:
|
|
7980
7981
|
super().__init__()
|
|
7981
7982
|
|
|
7982
7983
|
self._config: ta.Final[IoPipeline.Config] = spec.config
|
|
7983
7984
|
self._never_handle_exceptions = never_handle_exceptions
|
|
7984
7985
|
self._message_tap = message_tap
|
|
7986
|
+
self._on_state_change = on_state_change
|
|
7985
7987
|
|
|
7986
7988
|
self._metadata: ta.Final[IoPipelineMetadatas] = IoPipelineMetadatas.of(spec.metadata)
|
|
7987
7989
|
self._services: ta.Final[IoPipelineServices] = IoPipelineServices.of(spec.services)
|
|
@@ -8024,7 +8026,7 @@ class IoPipeline:
|
|
|
8024
8026
|
|
|
8025
8027
|
#
|
|
8026
8028
|
|
|
8027
|
-
self.
|
|
8029
|
+
self._set_state(IoPipeline.State.READY)
|
|
8028
8030
|
|
|
8029
8031
|
#
|
|
8030
8032
|
|
|
@@ -8060,6 +8062,13 @@ class IoPipeline:
|
|
|
8060
8062
|
|
|
8061
8063
|
_state: State = State.NEW
|
|
8062
8064
|
|
|
8065
|
+
def _set_state(self, state: State) -> None:
|
|
8066
|
+
if self._state == state:
|
|
8067
|
+
return
|
|
8068
|
+
self._state = state
|
|
8069
|
+
if (cb := self._on_state_change) is not None:
|
|
8070
|
+
cb(self)
|
|
8071
|
+
|
|
8063
8072
|
@property
|
|
8064
8073
|
def state(self) -> State:
|
|
8065
8074
|
return self._state
|
|
@@ -8700,7 +8709,7 @@ class IoPipeline:
|
|
|
8700
8709
|
return
|
|
8701
8710
|
|
|
8702
8711
|
check.state(self._state == IoPipeline.State.READY)
|
|
8703
|
-
self.
|
|
8712
|
+
self._set_state(IoPipeline.State.DESTROYING)
|
|
8704
8713
|
|
|
8705
8714
|
try:
|
|
8706
8715
|
self._step_in()
|
|
@@ -8720,7 +8729,7 @@ class IoPipeline:
|
|
|
8720
8729
|
try:
|
|
8721
8730
|
self._fail_pending_completables(AbortedIoPipelineError('Pipeline destroyed before completion'))
|
|
8722
8731
|
finally:
|
|
8723
|
-
self.
|
|
8732
|
+
self._set_state(IoPipeline.State.DESTROYED)
|
|
8724
8733
|
|
|
8725
8734
|
def _fail_pending_completables(self, exc: BaseException) -> None:
|
|
8726
8735
|
first_listener_exc: ta.Optional[BaseException] = None
|