django-handyhelpers 0.3.20__py3-none-any.whl → 0.3.36__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/METADATA +16 -6
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/RECORD +562 -75
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/WHEEL +1 -1
- handyhelpers/__init__.py +6 -6
- handyhelpers/forms.py +9 -1
- handyhelpers/mixins/form_mixins.py +61 -0
- handyhelpers/mixins/model_mixins.py +21 -0
- handyhelpers/mixins/serializer_mixins.py +35 -0
- handyhelpers/mixins/view_mixins.py +5 -2
- handyhelpers/serializers.py +23 -3
- handyhelpers/static/handyhelpers/css/table_sortable.css +17 -0
- handyhelpers/static/handyhelpers/js/sidebar.js +8 -4
- handyhelpers/static/handyhelpers/js/table_sortable.js +119 -0
- handyhelpers/static/node_modules/.bin/acorn +4 -0
- handyhelpers/static/node_modules/.bin/css-b64-images +13 -0
- handyhelpers/static/node_modules/.bin/esbuild +0 -0
- handyhelpers/static/node_modules/.bin/html-minifier-terser +308 -0
- handyhelpers/static/node_modules/.bin/minify +98 -0
- handyhelpers/static/node_modules/.bin/terser +21 -0
- handyhelpers/static/node_modules/.bin/uglifyjs +624 -0
- handyhelpers/static/node_modules/.package-lock.json +750 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/README.md +3 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
- handyhelpers/static/node_modules/@esbuild/linux-x64/package.json +20 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/README.md +227 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +230 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +246 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +88 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +36 -0
- handyhelpers/static/node_modules/@jridgewell/gen-mapping/package.json +76 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/README.md +40 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +232 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +240 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +4 -0
- handyhelpers/static/node_modules/@jridgewell/resolve-uri/package.json +69 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/README.md +37 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.mjs +69 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.umd.js +83 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts +32 -0
- handyhelpers/static/node_modules/@jridgewell/set-array/package.json +65 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/README.md +184 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.cjs +95 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.cjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.mjs +90 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.umd.js +1242 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/source-map.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/dist/types/source-map.d.ts +35 -0
- handyhelpers/static/node_modules/@jridgewell/source-map/package.json +71 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/LICENSE +21 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/README.md +264 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +424 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +439 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts +49 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +8 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts +15 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts +6 -0
- handyhelpers/static/node_modules/@jridgewell/sourcemap-codec/package.json +75 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/LICENSE +19 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/README.md +257 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +580 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +600 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +8 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +32 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +7 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +1 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +2 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +4 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +79 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +99 -0
- handyhelpers/static/node_modules/@jridgewell/trace-mapping/package.json +77 -0
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/enums.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-base.js +12 -170
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-base.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-lite.js +14 -184
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper-lite.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper.js +14 -197
- handyhelpers/static/node_modules/@popperjs/core/dist/cjs/popper.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/createPopper.js +6 -66
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/modifiers/arrow.js +1 -12
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/modifiers/computeStyles.js +2 -14
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +0 -4
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/userAgent.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/enums.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/enums.min.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.js +12 -170
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-base.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.js +14 -184
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.js +14 -197
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.min.js +2 -2
- handyhelpers/static/node_modules/@popperjs/core/dist/umd/popper.min.js.map +1 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/createPopper.js +6 -66
- handyhelpers/static/node_modules/@popperjs/core/lib/createPopper.js.flow +2 -80
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/arrow.js +1 -12
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/arrow.js.flow +0 -22
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +2 -14
- handyhelpers/static/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.flow +3 -33
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +0 -4
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.flow +0 -12
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/userAgent.js +1 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/userAgent.js.flow +1 -1
- handyhelpers/static/node_modules/@popperjs/core/package.json +1 -1
- handyhelpers/static/node_modules/@putout/minify/LICENSE +21 -0
- handyhelpers/static/node_modules/@putout/minify/README.md +110 -0
- handyhelpers/static/node_modules/@putout/minify/bundle/minify.min.js +52 -0
- handyhelpers/static/node_modules/@putout/minify/package.json +112 -0
- handyhelpers/static/node_modules/@swc/core/Visitor.d.ts +218 -0
- handyhelpers/static/node_modules/@swc/core/Visitor.js +1407 -0
- handyhelpers/static/node_modules/@swc/core/binding.d.ts +56 -0
- handyhelpers/static/node_modules/@swc/core/binding.js +351 -0
- handyhelpers/static/node_modules/@swc/core/index.d.ts +118 -0
- handyhelpers/static/node_modules/@swc/core/index.js +439 -0
- handyhelpers/static/node_modules/@swc/core/package.json +114 -0
- handyhelpers/static/node_modules/@swc/core/postinstall.js +148 -0
- handyhelpers/static/node_modules/@swc/core/spack.d.ts +51 -0
- handyhelpers/static/node_modules/@swc/core/spack.js +87 -0
- handyhelpers/static/node_modules/@swc/core/util.d.ts +1 -0
- handyhelpers/static/node_modules/@swc/core/util.js +104 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/README.md +3 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/package.json +45 -0
- handyhelpers/static/node_modules/@swc/core-linux-x64-gnu/swc.linux-x64-gnu.node +0 -0
- handyhelpers/static/node_modules/@swc/counter/CHANGELOG.md +7 -0
- handyhelpers/static/node_modules/@swc/counter/README.md +7 -0
- handyhelpers/static/node_modules/@swc/counter/index.js +1 -0
- handyhelpers/static/node_modules/@swc/counter/package.json +27 -0
- handyhelpers/static/node_modules/@swc/types/LICENSE +201 -0
- handyhelpers/static/node_modules/@swc/types/README.md +4 -0
- handyhelpers/static/node_modules/@swc/types/assumptions.d.ts +92 -0
- handyhelpers/static/node_modules/@swc/types/assumptions.js +2 -0
- handyhelpers/static/node_modules/@swc/types/index.d.ts +1977 -0
- handyhelpers/static/node_modules/@swc/types/index.js +2 -0
- handyhelpers/static/node_modules/@swc/types/package.json +39 -0
- handyhelpers/static/node_modules/acorn/CHANGELOG.md +928 -0
- handyhelpers/static/node_modules/acorn/LICENSE +21 -0
- handyhelpers/static/node_modules/acorn/README.md +282 -0
- handyhelpers/static/node_modules/acorn/bin/acorn +4 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.d.mts +866 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.d.ts +866 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.js +6174 -0
- handyhelpers/static/node_modules/acorn/dist/acorn.mjs +6145 -0
- handyhelpers/static/node_modules/acorn/dist/bin.js +90 -0
- handyhelpers/static/node_modules/acorn/package.json +50 -0
- handyhelpers/static/node_modules/buffer-from/LICENSE +21 -0
- handyhelpers/static/node_modules/buffer-from/index.js +72 -0
- handyhelpers/static/node_modules/buffer-from/package.json +19 -0
- handyhelpers/static/node_modules/buffer-from/readme.md +69 -0
- handyhelpers/static/node_modules/camel-case/LICENSE +21 -0
- handyhelpers/static/node_modules/camel-case/README.md +47 -0
- handyhelpers/static/node_modules/camel-case/dist/index.d.ts +5 -0
- handyhelpers/static/node_modules/camel-case/dist/index.js +23 -0
- handyhelpers/static/node_modules/camel-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.js +26 -0
- handyhelpers/static/node_modules/camel-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.js +17 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
- handyhelpers/static/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/camel-case/package.json +89 -0
- handyhelpers/static/node_modules/clean-css/History.md +1504 -0
- handyhelpers/static/node_modules/clean-css/LICENSE +19 -0
- handyhelpers/static/node_modules/clean-css/README.md +987 -0
- handyhelpers/static/node_modules/clean-css/index.js +1 -0
- handyhelpers/static/node_modules/clean-css/package.json +48 -0
- handyhelpers/static/node_modules/commander/LICENSE +22 -0
- handyhelpers/static/node_modules/commander/Readme.md +1134 -0
- handyhelpers/static/node_modules/commander/esm.mjs +16 -0
- handyhelpers/static/node_modules/commander/index.js +27 -0
- handyhelpers/static/node_modules/commander/package-support.json +16 -0
- handyhelpers/static/node_modules/commander/package.json +80 -0
- handyhelpers/static/node_modules/commander/typings/index.d.ts +889 -0
- handyhelpers/static/node_modules/css-b64-images/.npmignore +15 -0
- handyhelpers/static/node_modules/css-b64-images/.travis.yml +5 -0
- handyhelpers/static/node_modules/css-b64-images/README.md +78 -0
- handyhelpers/static/node_modules/css-b64-images/bin/css-b64-images +13 -0
- handyhelpers/static/node_modules/css-b64-images/draft.png +0 -0
- handyhelpers/static/node_modules/css-b64-images/draft.xcf +0 -0
- handyhelpers/static/node_modules/css-b64-images/package.json +30 -0
- handyhelpers/static/node_modules/css-b64-images/test/css-b64-images-test.js +38 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/css/style.css +52 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.eot +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.svg +248 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.ttf +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/callunasansregular-webfont.woff +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.eot +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.svg +245 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.ttf +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/fonts/maven_pro_medium-webfont.woff +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/background-pattern.gif +0 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/dots.svg +6 -0
- handyhelpers/static/node_modules/css-b64-images/test/fixture/img/mixit-banner.png +0 -0
- handyhelpers/static/node_modules/debug/LICENSE +20 -0
- handyhelpers/static/node_modules/debug/README.md +481 -0
- handyhelpers/static/node_modules/debug/package.json +65 -0
- handyhelpers/static/node_modules/debug/src/browser.js +272 -0
- handyhelpers/static/node_modules/debug/src/common.js +292 -0
- handyhelpers/static/node_modules/debug/src/index.js +10 -0
- handyhelpers/static/node_modules/debug/src/node.js +263 -0
- handyhelpers/static/node_modules/dot-case/LICENSE +21 -0
- handyhelpers/static/node_modules/dot-case/README.md +37 -0
- handyhelpers/static/node_modules/dot-case/dist/index.d.ts +3 -0
- handyhelpers/static/node_modules/dot-case/dist/index.js +11 -0
- handyhelpers/static/node_modules/dot-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.js +26 -0
- handyhelpers/static/node_modules/dot-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.js +7 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
- handyhelpers/static/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/dot-case/package.json +89 -0
- handyhelpers/static/node_modules/entities/LICENSE +11 -0
- handyhelpers/static/node_modules/entities/package.json +90 -0
- handyhelpers/static/node_modules/entities/readme.md +122 -0
- handyhelpers/static/node_modules/esbuild/LICENSE.md +21 -0
- handyhelpers/static/node_modules/esbuild/README.md +3 -0
- handyhelpers/static/node_modules/esbuild/bin/esbuild +0 -0
- handyhelpers/static/node_modules/esbuild/install.js +286 -0
- handyhelpers/static/node_modules/esbuild/package.json +47 -0
- handyhelpers/static/node_modules/find-up/index.d.ts +247 -0
- handyhelpers/static/node_modules/find-up/index.js +107 -0
- handyhelpers/static/node_modules/find-up/license +9 -0
- handyhelpers/static/node_modules/find-up/package.json +61 -0
- handyhelpers/static/node_modules/find-up/readme.md +160 -0
- handyhelpers/static/node_modules/fun-effects/LICENSE +674 -0
- handyhelpers/static/node_modules/fun-effects/README.md +10 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/background_icons.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/blur_group.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/fades.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/marquee.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/css/scroller.min.css +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/index.js +15 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/background_icons.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/marquee.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/dist/js/scroller.min.js +1 -0
- handyhelpers/static/node_modules/fun-effects/package.json +39 -0
- handyhelpers/static/node_modules/fun-effects/src/css/background_icons.css +39 -0
- handyhelpers/static/node_modules/fun-effects/src/css/blur_group.css +22 -0
- handyhelpers/static/node_modules/fun-effects/src/css/fades.css +94 -0
- handyhelpers/static/node_modules/fun-effects/src/css/marquee.css +45 -0
- handyhelpers/static/node_modules/fun-effects/src/css/scroller.css +144 -0
- handyhelpers/static/node_modules/fun-effects/src/index.js +15 -0
- handyhelpers/static/node_modules/fun-effects/src/js/background_icons.js +101 -0
- handyhelpers/static/node_modules/fun-effects/src/js/marquee.js +81 -0
- handyhelpers/static/node_modules/fun-effects/src/js/scroller.js +37 -0
- handyhelpers/static/node_modules/html-minifier-terser/LICENSE +22 -0
- handyhelpers/static/node_modules/html-minifier-terser/README.md +168 -0
- handyhelpers/static/node_modules/html-minifier-terser/cli.js +308 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.cjs +1857 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.esm.bundle.js +57509 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.umd.bundle.js +57520 -0
- handyhelpers/static/node_modules/html-minifier-terser/dist/htmlminifier.umd.bundle.min.js +9 -0
- handyhelpers/static/node_modules/html-minifier-terser/package.json +105 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/htmlminifier.js +1366 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/htmlparser.js +565 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/tokenchain.js +68 -0
- handyhelpers/static/node_modules/html-minifier-terser/src/utils.js +11 -0
- handyhelpers/static/node_modules/jju/LICENSE +21 -0
- handyhelpers/static/node_modules/jju/Makefile +20 -0
- handyhelpers/static/node_modules/jju/README.md +249 -0
- handyhelpers/static/node_modules/jju/index.js +32 -0
- handyhelpers/static/node_modules/jju/package.json +34 -0
- handyhelpers/static/node_modules/jju/package.yaml +36 -0
- handyhelpers/static/node_modules/locate-path/index.d.ts +92 -0
- handyhelpers/static/node_modules/locate-path/index.js +77 -0
- handyhelpers/static/node_modules/locate-path/license +9 -0
- handyhelpers/static/node_modules/locate-path/package.json +48 -0
- handyhelpers/static/node_modules/locate-path/readme.md +123 -0
- handyhelpers/static/node_modules/lower-case/LICENSE +21 -0
- handyhelpers/static/node_modules/lower-case/README.md +35 -0
- handyhelpers/static/node_modules/lower-case/dist/index.d.ts +8 -0
- handyhelpers/static/node_modules/lower-case/dist/index.js +53 -0
- handyhelpers/static/node_modules/lower-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.js +36 -0
- handyhelpers/static/node_modules/lower-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.js +48 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
- handyhelpers/static/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/lower-case/package.json +87 -0
- handyhelpers/static/node_modules/minify/ChangeLog +1307 -0
- handyhelpers/static/node_modules/minify/LICENSE +22 -0
- handyhelpers/static/node_modules/minify/README.md +177 -0
- handyhelpers/static/node_modules/minify/bin/minify.js +98 -0
- handyhelpers/static/node_modules/minify/deno.json +5 -0
- handyhelpers/static/node_modules/minify/help.json +8 -0
- handyhelpers/static/node_modules/minify/package.json +65 -0
- handyhelpers/static/node_modules/ms/index.js +162 -0
- handyhelpers/static/node_modules/ms/license.md +21 -0
- handyhelpers/static/node_modules/ms/package.json +38 -0
- handyhelpers/static/node_modules/ms/readme.md +59 -0
- handyhelpers/static/node_modules/no-case/LICENSE +21 -0
- handyhelpers/static/node_modules/no-case/README.md +37 -0
- handyhelpers/static/node_modules/no-case/dist/index.d.ts +10 -0
- handyhelpers/static/node_modules/no-case/dist/index.js +35 -0
- handyhelpers/static/node_modules/no-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.js +59 -0
- handyhelpers/static/node_modules/no-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.d.ts +10 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.js +31 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.js +57 -0
- handyhelpers/static/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/no-case/package.json +85 -0
- handyhelpers/static/node_modules/p-limit/index.d.ts +40 -0
- handyhelpers/static/node_modules/p-limit/index.js +68 -0
- handyhelpers/static/node_modules/p-limit/license +9 -0
- handyhelpers/static/node_modules/p-limit/package.json +54 -0
- handyhelpers/static/node_modules/p-limit/readme.md +99 -0
- handyhelpers/static/node_modules/p-locate/index.d.ts +49 -0
- handyhelpers/static/node_modules/p-locate/index.js +48 -0
- handyhelpers/static/node_modules/p-locate/license +9 -0
- handyhelpers/static/node_modules/p-locate/package.json +56 -0
- handyhelpers/static/node_modules/p-locate/readme.md +91 -0
- handyhelpers/static/node_modules/param-case/LICENSE +21 -0
- handyhelpers/static/node_modules/param-case/README.md +37 -0
- handyhelpers/static/node_modules/param-case/dist/index.d.ts +3 -0
- handyhelpers/static/node_modules/param-case/dist/index.js +11 -0
- handyhelpers/static/node_modules/param-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.js +24 -0
- handyhelpers/static/node_modules/param-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.d.ts +3 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.js +7 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.js +22 -0
- handyhelpers/static/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/param-case/package.json +91 -0
- handyhelpers/static/node_modules/pascal-case/LICENSE +21 -0
- handyhelpers/static/node_modules/pascal-case/README.md +47 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.d.ts +5 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.js +24 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.js +25 -0
- handyhelpers/static/node_modules/pascal-case/dist/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.js +18 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
- handyhelpers/static/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
- handyhelpers/static/node_modules/pascal-case/package.json +90 -0
- handyhelpers/static/node_modules/path-exists/index.d.ts +31 -0
- handyhelpers/static/node_modules/path-exists/index.js +19 -0
- handyhelpers/static/node_modules/path-exists/license +9 -0
- handyhelpers/static/node_modules/path-exists/package.json +41 -0
- handyhelpers/static/node_modules/path-exists/readme.md +52 -0
- handyhelpers/static/node_modules/readjson/ChangeLog +110 -0
- handyhelpers/static/node_modules/readjson/LICENSE +21 -0
- handyhelpers/static/node_modules/readjson/README.md +36 -0
- handyhelpers/static/node_modules/readjson/package.json +46 -0
- handyhelpers/static/node_modules/relateurl/README.md +159 -0
- handyhelpers/static/node_modules/relateurl/license +21 -0
- handyhelpers/static/node_modules/relateurl/package.json +46 -0
- handyhelpers/static/node_modules/simport/ChangeLog +77 -0
- handyhelpers/static/node_modules/simport/LICENSE +21 -0
- handyhelpers/static/node_modules/simport/README.md +81 -0
- handyhelpers/static/node_modules/simport/fixture/context.js +3 -0
- handyhelpers/static/node_modules/simport/fixture/default-frozen-function.mjs +2 -0
- handyhelpers/static/node_modules/simport/fixture/default-frozen-object.mjs +2 -0
- handyhelpers/static/node_modules/simport/package.json +65 -0
- handyhelpers/static/node_modules/simport/simport.js +84 -0
- handyhelpers/static/node_modules/simport/simport.mjs +22 -0
- handyhelpers/static/node_modules/source-map/CHANGELOG.md +301 -0
- handyhelpers/static/node_modules/source-map/LICENSE +28 -0
- handyhelpers/static/node_modules/source-map/README.md +742 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.debug.js +3234 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.js +3233 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.min.js +2 -0
- handyhelpers/static/node_modules/source-map/dist/source-map.min.js.map +1 -0
- handyhelpers/static/node_modules/source-map/package.json +73 -0
- handyhelpers/static/node_modules/source-map/source-map.d.ts +98 -0
- handyhelpers/static/node_modules/source-map/source-map.js +8 -0
- handyhelpers/static/node_modules/source-map-support/LICENSE.md +21 -0
- handyhelpers/static/node_modules/source-map-support/README.md +284 -0
- handyhelpers/static/node_modules/source-map-support/browser-source-map-support.js +114 -0
- handyhelpers/static/node_modules/source-map-support/package.json +31 -0
- handyhelpers/static/node_modules/source-map-support/register-hook-require.js +1 -0
- handyhelpers/static/node_modules/source-map-support/register.js +1 -0
- handyhelpers/static/node_modules/source-map-support/source-map-support.js +625 -0
- handyhelpers/static/node_modules/terser/CHANGELOG.md +783 -0
- handyhelpers/static/node_modules/terser/LICENSE +27 -0
- handyhelpers/static/node_modules/terser/PATRONS.md +15 -0
- handyhelpers/static/node_modules/terser/README.md +1421 -0
- handyhelpers/static/node_modules/terser/bin/package.json +10 -0
- handyhelpers/static/node_modules/terser/bin/terser +21 -0
- handyhelpers/static/node_modules/terser/bin/uglifyjs +10 -0
- handyhelpers/static/node_modules/terser/dist/.gitkeep +0 -0
- handyhelpers/static/node_modules/terser/dist/bundle.min.js +32962 -0
- handyhelpers/static/node_modules/terser/dist/package.json +10 -0
- handyhelpers/static/node_modules/terser/main.js +27 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/CHANGELOG.md +419 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/LICENSE +22 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/Readme.md +428 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/index.js +1224 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/package.json +38 -0
- handyhelpers/static/node_modules/terser/node_modules/commander/typings/index.d.ts +310 -0
- handyhelpers/static/node_modules/terser/package.json +153 -0
- handyhelpers/static/node_modules/terser/tools/domprops.js +9026 -0
- handyhelpers/static/node_modules/terser/tools/exit.cjs +7 -0
- handyhelpers/static/node_modules/terser/tools/props.html +68 -0
- handyhelpers/static/node_modules/terser/tools/terser.d.ts +216 -0
- handyhelpers/static/node_modules/tippy.js/LICENSE +21 -0
- handyhelpers/static/node_modules/tippy.js/README.md +63 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/perspective.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/scale.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-away.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward-extreme.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward-subtle.css +1 -0
- handyhelpers/static/node_modules/tippy.js/animations/shift-toward.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/backdrop.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/border.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/svg-arrow.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.js +2516 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy-bundle.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.cjs.js +2497 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.cjs.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.css +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.esm.js +2486 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.esm.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.js +2496 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/dist/tippy.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.cjs.js +2388 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.cjs.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.esm.js +2377 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.esm.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.js +2382 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.min.js +2 -0
- handyhelpers/static/node_modules/tippy.js/headless/dist/tippy-headless.umd.min.js.map +1 -0
- handyhelpers/static/node_modules/tippy.js/headless/package.json +16 -0
- handyhelpers/static/node_modules/tippy.js/index.d.ts +260 -0
- handyhelpers/static/node_modules/tippy.js/package.json +157 -0
- handyhelpers/static/node_modules/tippy.js/themes/light-border.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/light.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/material.css +1 -0
- handyhelpers/static/node_modules/tippy.js/themes/translucent.css +1 -0
- handyhelpers/static/node_modules/try-catch/ChangeLog +55 -0
- handyhelpers/static/node_modules/try-catch/LICENSE +21 -0
- handyhelpers/static/node_modules/try-catch/README.md +38 -0
- handyhelpers/static/node_modules/try-catch/package.json +34 -0
- handyhelpers/static/node_modules/try-to-catch/ChangeLog +64 -0
- handyhelpers/static/node_modules/try-to-catch/LICENSE +21 -0
- handyhelpers/static/node_modules/try-to-catch/README.md +74 -0
- handyhelpers/static/node_modules/try-to-catch/package.json +47 -0
- handyhelpers/static/node_modules/tslib/CopyrightNotice.txt +15 -0
- handyhelpers/static/node_modules/tslib/LICENSE.txt +12 -0
- handyhelpers/static/node_modules/tslib/README.md +164 -0
- handyhelpers/static/node_modules/tslib/SECURITY.md +41 -0
- handyhelpers/static/node_modules/tslib/modules/index.d.ts +38 -0
- handyhelpers/static/node_modules/tslib/modules/index.js +70 -0
- handyhelpers/static/node_modules/tslib/modules/package.json +3 -0
- handyhelpers/static/node_modules/tslib/package.json +47 -0
- handyhelpers/static/node_modules/tslib/tslib.d.ts +460 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.html +1 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.js +402 -0
- handyhelpers/static/node_modules/tslib/tslib.es6.mjs +401 -0
- handyhelpers/static/node_modules/tslib/tslib.html +1 -0
- handyhelpers/static/node_modules/tslib/tslib.js +484 -0
- handyhelpers/static/node_modules/uglify-js/LICENSE +29 -0
- handyhelpers/static/node_modules/uglify-js/README.md +1479 -0
- handyhelpers/static/node_modules/uglify-js/bin/uglifyjs +624 -0
- handyhelpers/static/node_modules/uglify-js/package.json +56 -0
- handyhelpers/static/node_modules/uglify-js/tools/domprops.html +456 -0
- handyhelpers/static/node_modules/uglify-js/tools/domprops.json +8327 -0
- handyhelpers/static/node_modules/uglify-js/tools/exports.js +8 -0
- handyhelpers/static/node_modules/uglify-js/tools/node.js +115 -0
- handyhelpers/static/node_modules/uglify-js/tools/tty.js +22 -0
- handyhelpers/static/node_modules/unicorn-magic/default.js +14 -0
- handyhelpers/static/node_modules/unicorn-magic/index.d.ts +29 -0
- handyhelpers/static/node_modules/unicorn-magic/license +9 -0
- handyhelpers/static/node_modules/unicorn-magic/node.js +7 -0
- handyhelpers/static/node_modules/unicorn-magic/package.json +49 -0
- handyhelpers/static/node_modules/unicorn-magic/readme.md +25 -0
- handyhelpers/static/node_modules/yocto-queue/index.d.ts +61 -0
- handyhelpers/static/node_modules/yocto-queue/index.js +78 -0
- handyhelpers/static/node_modules/yocto-queue/license +9 -0
- handyhelpers/static/node_modules/yocto-queue/package.json +48 -0
- handyhelpers/static/node_modules/yocto-queue/readme.md +70 -0
- handyhelpers/static/package.json +3 -1
- handyhelpers/static/yarn.lock +393 -20
- handyhelpers/templates/handyhelpers/generic/bs5/generic_index.html +5 -8
- handyhelpers/templates/handyhelpers/handyhelpers_base_bs5.htm +5 -1
- handyhelpers/templates/handyhelpers/handyhelpers_with_sidebar.htm +50 -3
- handyhelpers/templates/handyhelpers/htmx/bs5/filter_form/generic_modal_swap.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/form_wrapper.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/inline_form.htm +166 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/form/inline_form_disabled.htm +125 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/generic_modal_swap.htm +2 -3
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/content_title.htm +38 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/controls.htm +21 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/card.htm +17 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/list.htm +11 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/examples/table.htm +21 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/filter_form_modal_swap.htm +48 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/full.html +6 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_card.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_list.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_minimal.htm +7 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/htmx_option_multi_filter_view/wrapper_table.htm +18 -0
- handyhelpers/templates/handyhelpers/htmx/bs5/index.htm +34 -0
- handyhelpers/templates/handyhelpers/report/annual_stats.html +6 -0
- handyhelpers/templates/handyhelpers/report/annual_stats_content.htm +43 -0
- handyhelpers/templates/handyhelpers/report/chartjs/annual_progress_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/annual_progress_content.htm +40 -39
- handyhelpers/templates/handyhelpers/report/chartjs/annual_stats.html +25 -36
- handyhelpers/templates/handyhelpers/report/chartjs/annual_trends_content.htm +35 -34
- handyhelpers/templates/handyhelpers/report/chartjs/day_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/month_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/week_count_chart.htm +1 -1
- handyhelpers/templates/handyhelpers/report/chartjs/year_count_chart.htm +1 -1
- handyhelpers/templatetags/form_tags.py +47 -0
- handyhelpers/templatetags/htmx_tags.py +21 -0
- handyhelpers/views/action.py +3 -1
- handyhelpers/views/calendar.py +33 -14
- handyhelpers/views/htmx.py +396 -4
- handyhelpers/views/report.py +12 -5
- handyhelpers/management/commands/generate_admin.py +0 -110
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/format.js +0 -9
- handyhelpers/static/node_modules/@popperjs/core/dist/esm/utils/validateModifiers.js +0 -81
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.d.ts +0 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.js +0 -9
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/format.js.flow +0 -5
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.d.ts +0 -1
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.js +0 -81
- handyhelpers/static/node_modules/@popperjs/core/lib/utils/validateModifiers.js.flow +0 -151
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/LICENSE +0 -0
- {django_handyhelpers-0.3.20.dist-info → django_handyhelpers-0.3.36.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,249 @@
|
|
1
|
+
`jju` - a set of utilities to work with JSON / JSON5 documents
|
2
|
+
|
3
|
+
[![npm version badge](https://img.shields.io/npm/v/jju.svg)](https://www.npmjs.org/package/jju)
|
4
|
+
[![travis badge](http://img.shields.io/travis/rlidwka/jju.svg)](https://travis-ci.org/rlidwka/jju)
|
5
|
+
[![downloads badge](http://img.shields.io/npm/dm/jju.svg)](https://www.npmjs.org/package/jju)
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
```
|
10
|
+
yarn add jju
|
11
|
+
```
|
12
|
+
|
13
|
+
or
|
14
|
+
|
15
|
+
```
|
16
|
+
npm install jju
|
17
|
+
```
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
This module provides following functions:
|
22
|
+
|
23
|
+
1. [jju.parse()](#jjuparse-function) parses json/json5 text and returns a javascript value it corresponds to
|
24
|
+
2. [jju.stringify()](#jjustringify-function) converts javascript value to an appropriate json/json5 text
|
25
|
+
3. [jju.tokenize()](#jjutokenize-function) parses json/json5 text and returns an array of tokens it consists of ([see demo](http://rlidwka.github.io/jju/tokenizer.html))
|
26
|
+
4. [jju.analyze()](#jjuanalyze-function) parses json/json5 text and tries to guess indentation, quoting style, etc.
|
27
|
+
5. [jju.update()](#jjuupdate-function) changes json/json5 text, preserving original formatting as much as possible ([see demo](http://rlidwka.github.io/jju/editor.html))
|
28
|
+
|
29
|
+
All functions are able to work with a standard JSON documents. `jju.parse()` and `jju.stringify()` are better in some cases, but slower than native `JSON.parse()` and `JSON.stringify()` versions. Detailed description see below.
|
30
|
+
|
31
|
+
### jju.parse() function
|
32
|
+
|
33
|
+
```javascript
|
34
|
+
/*
|
35
|
+
* Main syntax:
|
36
|
+
*
|
37
|
+
* `text` - text to parse, type: String
|
38
|
+
* `options` - parser options, type: Object
|
39
|
+
*/
|
40
|
+
jju.parse(text[, options])
|
41
|
+
|
42
|
+
// compatibility syntax
|
43
|
+
jju.parse(text[, reviver])
|
44
|
+
```
|
45
|
+
|
46
|
+
Options:
|
47
|
+
|
48
|
+
- reserved\_keys - what to do with reserved keys (String, default="ignore")
|
49
|
+
- "ignore" - ignore reserved keys
|
50
|
+
- "throw" - throw SyntaxError in case of reserved keys
|
51
|
+
- "replace" - replace reserved keys, this is the default JSON.parse behaviour, unsafe
|
52
|
+
|
53
|
+
Reserved keys are keys that exist in an empty object (`hasOwnProperty`, `__proto__`, etc.).
|
54
|
+
|
55
|
+
```javascript
|
56
|
+
// 'ignore' will cause reserved keys to be ignored:
|
57
|
+
parse('{hasOwnProperty: 1}', {reserved_keys: 'ignore'}) == {}
|
58
|
+
parse('{hasOwnProperty: 1, x: 2}', {reserved_keys: 'ignore'}).hasOwnProperty('x') == true
|
59
|
+
|
60
|
+
// 'throw' will cause SyntaxError in these cases:
|
61
|
+
parse('{hasOwnProperty: 1}', {reserved_keys: 'throw'}) == SyntaxError
|
62
|
+
|
63
|
+
// 'replace' will replace reserved keys with new ones:
|
64
|
+
parse('{hasOwnProperty: 1}', {reserved_keys: 'replace'}) == {hasOwnProperty: 1}
|
65
|
+
parse('{hasOwnProperty: 1, x: 2}', {reserved_keys: 'replace'}).hasOwnProperty('x') == TypeError
|
66
|
+
```
|
67
|
+
|
68
|
+
|
69
|
+
- null\_prototype - create object as Object.create(null) instead of '{}' (Boolean)
|
70
|
+
|
71
|
+
if `reserved_keys != 'replace'`, default is **false**
|
72
|
+
|
73
|
+
if `reserved_keys == 'replace'`, default is **true**
|
74
|
+
|
75
|
+
It is usually unsafe and not recommended to change this option to false in the last case.
|
76
|
+
|
77
|
+
- reviver - reviver function - Function
|
78
|
+
|
79
|
+
This function should follow JSON specification
|
80
|
+
|
81
|
+
- mode - operation mode, set it to 'json' if you want to throw on non-strict json files (String)
|
82
|
+
|
83
|
+
### jju.stringify() function
|
84
|
+
|
85
|
+
```javascript
|
86
|
+
/*
|
87
|
+
* Main syntax:
|
88
|
+
*
|
89
|
+
* `value` - value to serialize, type: *
|
90
|
+
* `options` - serializer options, type: Object
|
91
|
+
*/
|
92
|
+
jju.stringify(value[, options])
|
93
|
+
|
94
|
+
// compatibility syntax
|
95
|
+
jju.stringify(value[, replacer [, indent])
|
96
|
+
```
|
97
|
+
|
98
|
+
Options:
|
99
|
+
|
100
|
+
- ascii - output ascii only (Boolean, default=false)
|
101
|
+
If this option is enabled, output will not have any characters except of 0x20-0x7f.
|
102
|
+
|
103
|
+
- indent - indentation (String, Number or Boolean, default='\t')
|
104
|
+
This option follows JSON specification.
|
105
|
+
|
106
|
+
- quote - enquoting char (String, "'" or '"', default="'")
|
107
|
+
- quote\_keys - whether keys quoting in objects is required or not (String, default=false)
|
108
|
+
If you want `{"q": 1}` instead of `{q: 1}`, set it to true.
|
109
|
+
|
110
|
+
- sort\_keys - sort all keys while stringifying (Boolean or Function, default=false)
|
111
|
+
By default sort order will depend on implementation, with v8 it's insertion order. If set to `true`, all keys (but not arrays) will be sorted alphabetically. You can provide your own sorting function as well.
|
112
|
+
|
113
|
+
- replacer - replacer function or array (Function or Array)
|
114
|
+
This option follows JSON specification.
|
115
|
+
|
116
|
+
- no\_trailing\_comma = don't output trailing comma (Boolean, default=false)
|
117
|
+
If this option is set, arrays like this `[1,2,3,]` will never be generated. Otherwise they may be generated for pretty printing.
|
118
|
+
|
119
|
+
- mode - operation mode, set it to 'json' if you want correct json in the output (String)
|
120
|
+
|
121
|
+
Currently it's either 'json' or something else. If it is 'json', following options are implied:
|
122
|
+
|
123
|
+
- options.quote = '"'
|
124
|
+
- options.no\_trailing\_comma = true
|
125
|
+
- options.quote\_keys = true
|
126
|
+
- '\x' literals are not used
|
127
|
+
|
128
|
+
### jju.tokenize() function
|
129
|
+
|
130
|
+
```javascript
|
131
|
+
/*
|
132
|
+
* Main syntax:
|
133
|
+
*
|
134
|
+
* `text` - text to tokenize, type: String
|
135
|
+
* `options` - parser options, type: Object
|
136
|
+
*/
|
137
|
+
jju.tokenize(text[, options])
|
138
|
+
```
|
139
|
+
|
140
|
+
Options are the same as for the `jju.parse` function.
|
141
|
+
|
142
|
+
Return value is an array of tokens, where each token is an object:
|
143
|
+
|
144
|
+
- raw (String) - raw text of this token, if you join all raw's, you will get the original document
|
145
|
+
- type (String) - type of the token, can be `whitespace`, `comment`, `key`, `literal`, `separator` or `newline`
|
146
|
+
- stack (Array) - path to the current token in the syntax tree
|
147
|
+
- value - value of the token if token is a `key` or `literal`
|
148
|
+
|
149
|
+
You can check tokenizer for yourself using [this demo](http://rlidwka.github.io/jju/tokenizer.html).
|
150
|
+
|
151
|
+
### jju.analyze() function
|
152
|
+
|
153
|
+
```javascript
|
154
|
+
/*
|
155
|
+
* Main syntax:
|
156
|
+
*
|
157
|
+
* `text` - text to analyze, type: String
|
158
|
+
* `options` - parser options, type: Object
|
159
|
+
*/
|
160
|
+
jju.analyze(text[, options])
|
161
|
+
```
|
162
|
+
|
163
|
+
Options are the same as for the `jju.parse` function.
|
164
|
+
|
165
|
+
Return value is an object defining a programming style in which the document was written.
|
166
|
+
|
167
|
+
- indent (String) - preferred indentation
|
168
|
+
- newline (String) - preferred newline
|
169
|
+
- quote (String) - `"` or `'` depending on which quote is preferred
|
170
|
+
- quote\_keys (Boolean) - `true` if unquoted keys were used at least once
|
171
|
+
- has\_whitespace (Boolean) - `true` if input has a whitespace token
|
172
|
+
- has\_comments (Boolean) - `true` if input has a comment token
|
173
|
+
- has\_newlines (Boolean) - `true` if input has a newline token
|
174
|
+
- has\_trailing\_comma (Boolean) - `true` if input has at least one trailing comma
|
175
|
+
|
176
|
+
### jju.update() function
|
177
|
+
|
178
|
+
```javascript
|
179
|
+
/*
|
180
|
+
* Main syntax:
|
181
|
+
*
|
182
|
+
* `text` - original text, type: String
|
183
|
+
* `new_value` - new value you want to set
|
184
|
+
* `options` - parser or stringifier options, type: Object
|
185
|
+
*/
|
186
|
+
jju.update(text, new_value[, options])
|
187
|
+
```
|
188
|
+
|
189
|
+
If you want to update a JSON document, here is the general approach:
|
190
|
+
|
191
|
+
```javascript
|
192
|
+
// here is your original JSON document:
|
193
|
+
var input = '{"foo": "bar", "baz": 123}'
|
194
|
+
|
195
|
+
// you need to parse it first:
|
196
|
+
var json = jju.parse(input, {mode: 'json'})
|
197
|
+
// json is { foo: 'bar', baz: 123 }
|
198
|
+
|
199
|
+
// then you can change it as you like:
|
200
|
+
json.foo = 'quux'
|
201
|
+
json.hello = 'world'
|
202
|
+
|
203
|
+
// then you run an update function to change the original json:
|
204
|
+
var output = jju.update(input, json, {mode: 'json'})
|
205
|
+
// output is '{"foo": "quux", "baz": 123, "hello": "world"}'
|
206
|
+
```
|
207
|
+
|
208
|
+
Look at [this demo](http://rlidwka.github.io/jju/editor.html) to test various types of json.
|
209
|
+
|
210
|
+
## Advantages over existing JSON libraries
|
211
|
+
|
212
|
+
In a few cases it makes sense to use this module instead of built-in JSON methods.
|
213
|
+
|
214
|
+
Parser:
|
215
|
+
- better error reporting with source code and line numbers
|
216
|
+
|
217
|
+
In case of syntax error, JSON.parse does not return any good information to the user. This module does:
|
218
|
+
|
219
|
+
```
|
220
|
+
$ node -e 'require("jju").parse("[1,1,1,1,invalid]")'
|
221
|
+
|
222
|
+
SyntaxError: Unexpected token 'i' at 0:9
|
223
|
+
[1,1,1,1,invalid]
|
224
|
+
^
|
225
|
+
```
|
226
|
+
|
227
|
+
This module is about 5 times slower, so if user experience matters to you more than performance, use this module. If you're working with a lot of machine-generated data, use JSON.parse instead.
|
228
|
+
|
229
|
+
Stringifier:
|
230
|
+
- util.inspect-like pretty printing
|
231
|
+
|
232
|
+
This module behaves more smart when dealing with object and arrays, and does not always print newlines in them:
|
233
|
+
|
234
|
+
```
|
235
|
+
$ node -e 'console.log(require("./").stringify([[,,,],,,[,,,,]], {mode:"json"}))'
|
236
|
+
[
|
237
|
+
[null, null, null],
|
238
|
+
null,
|
239
|
+
null,
|
240
|
+
[null, null, null, null]
|
241
|
+
]
|
242
|
+
```
|
243
|
+
|
244
|
+
JSON.stringify will split this into 15 lines, and it's hard to read.
|
245
|
+
|
246
|
+
Yet again, this feature comes with a performance hit, so if user experience matters to you more than performance, use this module. If your JSON will be consumed by machines, use JSON.stringify instead.
|
247
|
+
|
248
|
+
As a rule of thumb, if you use "space" argument to indent your JSON, you'd better use this module instead.
|
249
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
module.exports.__defineGetter__('parse', function() {
|
3
|
+
return require('./lib/parse').parse
|
4
|
+
})
|
5
|
+
|
6
|
+
module.exports.__defineGetter__('stringify', function() {
|
7
|
+
return require('./lib/stringify').stringify
|
8
|
+
})
|
9
|
+
|
10
|
+
module.exports.__defineGetter__('tokenize', function() {
|
11
|
+
return require('./lib/parse').tokenize
|
12
|
+
})
|
13
|
+
|
14
|
+
module.exports.__defineGetter__('update', function() {
|
15
|
+
return require('./lib/document').update
|
16
|
+
})
|
17
|
+
|
18
|
+
module.exports.__defineGetter__('analyze', function() {
|
19
|
+
return require('./lib/analyze').analyze
|
20
|
+
})
|
21
|
+
|
22
|
+
module.exports.__defineGetter__('utils', function() {
|
23
|
+
return require('./lib/utils')
|
24
|
+
})
|
25
|
+
|
26
|
+
/**package
|
27
|
+
{ "name": "jju",
|
28
|
+
"version": "0.0.0",
|
29
|
+
"dependencies": {"js-yaml": "*"},
|
30
|
+
"scripts": {"postinstall": "js-yaml package.yaml > package.json ; npm install"}
|
31
|
+
}
|
32
|
+
**/
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"name": "jju",
|
3
|
+
"version": "1.4.0",
|
4
|
+
"description": "a set of utilities to work with JSON / JSON5 documents",
|
5
|
+
"author": {
|
6
|
+
"name": "Alex Kocharin",
|
7
|
+
"email": "alex@kocharin.ru"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "git://github.com/rlidwka/jju"
|
12
|
+
},
|
13
|
+
"bugs": {
|
14
|
+
"url": "https://github.com/rlidwka/jju/issues"
|
15
|
+
},
|
16
|
+
"homepage": "http://rlidwka.github.io/jju/",
|
17
|
+
"devDependencies": {
|
18
|
+
"mocha": "^5.2.0",
|
19
|
+
"js-yaml": "^3.12.0",
|
20
|
+
"eslint": "~0.4.2"
|
21
|
+
},
|
22
|
+
"scripts": {
|
23
|
+
"test": "make test",
|
24
|
+
"lint": "make lint"
|
25
|
+
},
|
26
|
+
"keywords": [
|
27
|
+
"json",
|
28
|
+
"json5",
|
29
|
+
"parser",
|
30
|
+
"serializer",
|
31
|
+
"data"
|
32
|
+
],
|
33
|
+
"license": "MIT"
|
34
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# "jju" stands for "json/json5 utils"
|
2
|
+
name: jju
|
3
|
+
|
4
|
+
version: 1.4.0
|
5
|
+
description: a set of utilities to work with JSON / JSON5 documents
|
6
|
+
|
7
|
+
author:
|
8
|
+
name: Alex Kocharin
|
9
|
+
email: alex@kocharin.ru
|
10
|
+
|
11
|
+
repository:
|
12
|
+
type: git
|
13
|
+
url: git://github.com/rlidwka/jju
|
14
|
+
|
15
|
+
bugs:
|
16
|
+
url: https://github.com/rlidwka/jju/issues
|
17
|
+
|
18
|
+
homepage: http://rlidwka.github.io/jju/
|
19
|
+
|
20
|
+
devDependencies:
|
21
|
+
mocha: '^5.2.0'
|
22
|
+
js-yaml: '^3.12.0'
|
23
|
+
eslint: '~0.4.2' # TODO: update this
|
24
|
+
|
25
|
+
scripts:
|
26
|
+
test: make test
|
27
|
+
lint: make lint
|
28
|
+
|
29
|
+
keywords:
|
30
|
+
- json
|
31
|
+
- json5
|
32
|
+
- parser
|
33
|
+
- serializer
|
34
|
+
- data
|
35
|
+
|
36
|
+
license: MIT
|
@@ -0,0 +1,92 @@
|
|
1
|
+
export interface Options {
|
2
|
+
/**
|
3
|
+
The current working directory.
|
4
|
+
|
5
|
+
@default process.cwd()
|
6
|
+
*/
|
7
|
+
readonly cwd?: URL | string;
|
8
|
+
|
9
|
+
/**
|
10
|
+
The type of path to match.
|
11
|
+
|
12
|
+
@default 'file'
|
13
|
+
*/
|
14
|
+
readonly type?: 'file' | 'directory';
|
15
|
+
|
16
|
+
/**
|
17
|
+
Allow symbolic links to match if they point to the requested path type.
|
18
|
+
|
19
|
+
@default true
|
20
|
+
*/
|
21
|
+
readonly allowSymlinks?: boolean;
|
22
|
+
}
|
23
|
+
|
24
|
+
export interface AsyncOptions extends Options {
|
25
|
+
/**
|
26
|
+
The number of concurrently pending promises.
|
27
|
+
|
28
|
+
Minimum: `1`
|
29
|
+
|
30
|
+
@default Infinity
|
31
|
+
*/
|
32
|
+
readonly concurrency?: number;
|
33
|
+
|
34
|
+
/**
|
35
|
+
Preserve `paths` order when searching.
|
36
|
+
|
37
|
+
Disable this to improve performance if you don't care about the order.
|
38
|
+
|
39
|
+
@default true
|
40
|
+
*/
|
41
|
+
readonly preserveOrder?: boolean;
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
Get the first path that exists on disk of multiple paths.
|
46
|
+
|
47
|
+
@param paths - The paths to check.
|
48
|
+
@returns The first path that exists or `undefined` if none exists.
|
49
|
+
|
50
|
+
@example
|
51
|
+
```
|
52
|
+
import {locatePath} from 'locate-path';
|
53
|
+
|
54
|
+
const files = [
|
55
|
+
'unicorn.png',
|
56
|
+
'rainbow.png', // Only this one actually exists on disk
|
57
|
+
'pony.png'
|
58
|
+
];
|
59
|
+
|
60
|
+
console(await locatePath(files));
|
61
|
+
//=> 'rainbow'
|
62
|
+
```
|
63
|
+
*/
|
64
|
+
export function locatePath(
|
65
|
+
paths: Iterable<string>,
|
66
|
+
options?: AsyncOptions
|
67
|
+
): Promise<string | undefined>;
|
68
|
+
|
69
|
+
/**
|
70
|
+
Synchronously get the first path that exists on disk of multiple paths.
|
71
|
+
|
72
|
+
@param paths - The paths to check.
|
73
|
+
@returns The first path that exists or `undefined` if none exists.
|
74
|
+
|
75
|
+
@example
|
76
|
+
```
|
77
|
+
import {locatePathSync} from 'locate-path';
|
78
|
+
|
79
|
+
const files = [
|
80
|
+
'unicorn.png',
|
81
|
+
'rainbow.png', // Only this one actually exists on disk
|
82
|
+
'pony.png'
|
83
|
+
];
|
84
|
+
|
85
|
+
console(locatePathSync(files));
|
86
|
+
//=> 'rainbow'
|
87
|
+
```
|
88
|
+
*/
|
89
|
+
export function locatePathSync(
|
90
|
+
paths: Iterable<string>,
|
91
|
+
options?: Options
|
92
|
+
): string | undefined;
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import process from 'node:process';
|
2
|
+
import path from 'node:path';
|
3
|
+
import fs, {promises as fsPromises} from 'node:fs';
|
4
|
+
import {fileURLToPath} from 'node:url';
|
5
|
+
import pLocate from 'p-locate';
|
6
|
+
|
7
|
+
const typeMappings = {
|
8
|
+
directory: 'isDirectory',
|
9
|
+
file: 'isFile',
|
10
|
+
};
|
11
|
+
|
12
|
+
function checkType(type) {
|
13
|
+
if (Object.hasOwnProperty.call(typeMappings, type)) {
|
14
|
+
return;
|
15
|
+
}
|
16
|
+
|
17
|
+
throw new Error(`Invalid type specified: ${type}`);
|
18
|
+
}
|
19
|
+
|
20
|
+
const matchType = (type, stat) => stat[typeMappings[type]]();
|
21
|
+
|
22
|
+
const toPath = urlOrPath => urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath;
|
23
|
+
|
24
|
+
export async function locatePath(
|
25
|
+
paths,
|
26
|
+
{
|
27
|
+
cwd = process.cwd(),
|
28
|
+
type = 'file',
|
29
|
+
allowSymlinks = true,
|
30
|
+
concurrency,
|
31
|
+
preserveOrder,
|
32
|
+
} = {},
|
33
|
+
) {
|
34
|
+
checkType(type);
|
35
|
+
cwd = toPath(cwd);
|
36
|
+
|
37
|
+
const statFunction = allowSymlinks ? fsPromises.stat : fsPromises.lstat;
|
38
|
+
|
39
|
+
return pLocate(paths, async path_ => {
|
40
|
+
try {
|
41
|
+
const stat = await statFunction(path.resolve(cwd, path_));
|
42
|
+
return matchType(type, stat);
|
43
|
+
} catch {
|
44
|
+
return false;
|
45
|
+
}
|
46
|
+
}, {concurrency, preserveOrder});
|
47
|
+
}
|
48
|
+
|
49
|
+
export function locatePathSync(
|
50
|
+
paths,
|
51
|
+
{
|
52
|
+
cwd = process.cwd(),
|
53
|
+
type = 'file',
|
54
|
+
allowSymlinks = true,
|
55
|
+
} = {},
|
56
|
+
) {
|
57
|
+
checkType(type);
|
58
|
+
cwd = toPath(cwd);
|
59
|
+
|
60
|
+
const statFunction = allowSymlinks ? fs.statSync : fs.lstatSync;
|
61
|
+
|
62
|
+
for (const path_ of paths) {
|
63
|
+
try {
|
64
|
+
const stat = statFunction(path.resolve(cwd, path_), {
|
65
|
+
throwIfNoEntry: false,
|
66
|
+
});
|
67
|
+
|
68
|
+
if (!stat) {
|
69
|
+
continue;
|
70
|
+
}
|
71
|
+
|
72
|
+
if (matchType(type, stat)) {
|
73
|
+
return path_;
|
74
|
+
}
|
75
|
+
} catch {}
|
76
|
+
}
|
77
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
6
|
+
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
8
|
+
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
"name": "locate-path",
|
3
|
+
"version": "7.2.0",
|
4
|
+
"description": "Get the first path that exists on disk of multiple paths",
|
5
|
+
"license": "MIT",
|
6
|
+
"repository": "sindresorhus/locate-path",
|
7
|
+
"funding": "https://github.com/sponsors/sindresorhus",
|
8
|
+
"author": {
|
9
|
+
"name": "Sindre Sorhus",
|
10
|
+
"email": "sindresorhus@gmail.com",
|
11
|
+
"url": "https://sindresorhus.com"
|
12
|
+
},
|
13
|
+
"type": "module",
|
14
|
+
"exports": "./index.js",
|
15
|
+
"engines": {
|
16
|
+
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
17
|
+
},
|
18
|
+
"scripts": {
|
19
|
+
"test": "xo && ava && tsd"
|
20
|
+
},
|
21
|
+
"files": [
|
22
|
+
"index.js",
|
23
|
+
"index.d.ts"
|
24
|
+
],
|
25
|
+
"keywords": [
|
26
|
+
"locate",
|
27
|
+
"path",
|
28
|
+
"paths",
|
29
|
+
"file",
|
30
|
+
"files",
|
31
|
+
"exists",
|
32
|
+
"find",
|
33
|
+
"finder",
|
34
|
+
"search",
|
35
|
+
"searcher",
|
36
|
+
"array",
|
37
|
+
"iterable",
|
38
|
+
"iterator"
|
39
|
+
],
|
40
|
+
"dependencies": {
|
41
|
+
"p-locate": "^6.0.0"
|
42
|
+
},
|
43
|
+
"devDependencies": {
|
44
|
+
"ava": "^3.15.0",
|
45
|
+
"tsd": "^0.17.0",
|
46
|
+
"xo": "^0.44.0"
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# locate-path
|
2
|
+
|
3
|
+
> Get the first path that exists on disk of multiple paths
|
4
|
+
|
5
|
+
## Install
|
6
|
+
|
7
|
+
```
|
8
|
+
$ npm install locate-path
|
9
|
+
```
|
10
|
+
|
11
|
+
## Usage
|
12
|
+
|
13
|
+
Here we find the first file that exists on disk, in array order.
|
14
|
+
|
15
|
+
```js
|
16
|
+
import {locatePath} from 'locate-path';
|
17
|
+
|
18
|
+
const files = [
|
19
|
+
'unicorn.png',
|
20
|
+
'rainbow.png', // Only this one actually exists on disk
|
21
|
+
'pony.png'
|
22
|
+
];
|
23
|
+
|
24
|
+
console(await locatePath(files));
|
25
|
+
//=> 'rainbow'
|
26
|
+
```
|
27
|
+
|
28
|
+
## API
|
29
|
+
|
30
|
+
### locatePath(paths, options?)
|
31
|
+
|
32
|
+
Returns a `Promise<string>` for the first path that exists or `undefined` if none exists.
|
33
|
+
|
34
|
+
#### paths
|
35
|
+
|
36
|
+
Type: `Iterable<string>`
|
37
|
+
|
38
|
+
The paths to check.
|
39
|
+
|
40
|
+
#### options
|
41
|
+
|
42
|
+
Type: `object`
|
43
|
+
|
44
|
+
##### concurrency
|
45
|
+
|
46
|
+
Type: `number`\
|
47
|
+
Default: `Infinity`\
|
48
|
+
Minimum: `1`
|
49
|
+
|
50
|
+
The number of concurrently pending promises.
|
51
|
+
|
52
|
+
##### preserveOrder
|
53
|
+
|
54
|
+
Type: `boolean`\
|
55
|
+
Default: `true`
|
56
|
+
|
57
|
+
Preserve `paths` order when searching.
|
58
|
+
|
59
|
+
Disable this to improve performance if you don't care about the order.
|
60
|
+
|
61
|
+
##### cwd
|
62
|
+
|
63
|
+
Type: `URL | string`\
|
64
|
+
Default: `process.cwd()`
|
65
|
+
|
66
|
+
The current working directory.
|
67
|
+
|
68
|
+
##### type
|
69
|
+
|
70
|
+
Type: `string`\
|
71
|
+
Default: `'file'`\
|
72
|
+
Values: `'file' | 'directory'`
|
73
|
+
|
74
|
+
The type of paths that can match.
|
75
|
+
|
76
|
+
##### allowSymlinks
|
77
|
+
|
78
|
+
Type: `boolean`\
|
79
|
+
Default: `true`
|
80
|
+
|
81
|
+
Allow symbolic links to match if they point to the chosen path type.
|
82
|
+
|
83
|
+
### locatePathSync(paths, options?)
|
84
|
+
|
85
|
+
Returns the first path that exists or `undefined` if none exists.
|
86
|
+
|
87
|
+
#### paths
|
88
|
+
|
89
|
+
Type: `Iterable<string>`
|
90
|
+
|
91
|
+
The paths to check.
|
92
|
+
|
93
|
+
#### options
|
94
|
+
|
95
|
+
Type: `object`
|
96
|
+
|
97
|
+
##### cwd
|
98
|
+
|
99
|
+
Same as above.
|
100
|
+
|
101
|
+
##### type
|
102
|
+
|
103
|
+
Same as above.
|
104
|
+
|
105
|
+
##### allowSymlinks
|
106
|
+
|
107
|
+
Same as above.
|
108
|
+
|
109
|
+
## Related
|
110
|
+
|
111
|
+
- [path-exists](https://github.com/sindresorhus/path-exists) - Check if a path exists
|
112
|
+
|
113
|
+
---
|
114
|
+
|
115
|
+
<div align="center">
|
116
|
+
<b>
|
117
|
+
<a href="https://tidelift.com/subscription/pkg/npm-locate-path?utm_source=npm-locate-path&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
118
|
+
</b>
|
119
|
+
<br>
|
120
|
+
<sub>
|
121
|
+
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
122
|
+
</sub>
|
123
|
+
</div>
|