Use latest MapLibre Style Spec (#2756)
This commit is contained in:
23
.github/workflows/android-ci.yml
vendored
23
.github/workflows/android-ci.yml
vendored
@@ -84,9 +84,30 @@ jobs:
|
|||||||
${{ runner.os }}-build-
|
${{ runner.os }}-build-
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
- name: npm install
|
- name: npm install
|
||||||
run: npm install --ignore-scripts
|
run: npm install --ignore-scripts
|
||||||
working-directory: platform/android
|
working-directory: .
|
||||||
|
|
||||||
|
- name: run platform/android/scripts/generate-style-code.mjs
|
||||||
|
run: node platform/android/scripts/generate-style-code.mjs
|
||||||
|
working-directory: .
|
||||||
|
|
||||||
|
- uses: pre-commit/action@v3.0.1
|
||||||
|
continue-on-error: true # this can mean files are modified, which is not an error
|
||||||
|
with:
|
||||||
|
extra_args: clang-format --all-files
|
||||||
|
|
||||||
|
- uses: pre-commit/action@v3.0.1
|
||||||
|
with:
|
||||||
|
extra_args: clang-format --all-files
|
||||||
|
|
||||||
|
- uses: infotroph/tree-is-clean@v1
|
||||||
|
with:
|
||||||
|
check_untracked: true
|
||||||
|
|
||||||
- uses: hendrikmuhs/ccache-action@v1.2
|
- uses: hendrikmuhs/ccache-action@v1.2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -229,7 +229,6 @@ js_library(
|
|||||||
name = "style-spec",
|
name = "style-spec",
|
||||||
srcs = ["scripts/style-spec.mjs"],
|
srcs = ["scripts/style-spec.mjs"],
|
||||||
data = glob([
|
data = glob([
|
||||||
"scripts/style-spec-reference/*.mjs",
|
|
||||||
"scripts/style-spec-reference/*.json",
|
"scripts/style-spec-reference/*.json",
|
||||||
]),
|
]),
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
|||||||
263
package-lock.json
generated
263
package-lock.json
generated
@@ -9,6 +9,7 @@
|
|||||||
"version": "5.4.0",
|
"version": "5.4.0",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@maplibre/maplibre-gl-style-spec": "^20.3.1",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"simple-git": "^3.25.0"
|
"simple-git": "^3.25.0"
|
||||||
@@ -1088,6 +1089,14 @@
|
|||||||
"flow-remove-types": "flow-remove-types"
|
"flow-remove-types": "flow-remove-types"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@mapbox/jsonlint-lines-primitives": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@mapbox/mvt-fixtures": {
|
"node_modules/@mapbox/mvt-fixtures": {
|
||||||
"version": "3.10.0",
|
"version": "3.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@mapbox/mvt-fixtures/-/mvt-fixtures-3.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@mapbox/mvt-fixtures/-/mvt-fixtures-3.10.0.tgz",
|
||||||
@@ -1119,6 +1128,12 @@
|
|||||||
"xyz": "bin/xyz.js"
|
"xyz": "bin/xyz.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@mapbox/unitbezier": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==",
|
||||||
|
"license": "BSD-2-Clause"
|
||||||
|
},
|
||||||
"node_modules/@mapbox/vector-tile": {
|
"node_modules/@mapbox/vector-tile": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz",
|
||||||
@@ -1128,6 +1143,27 @@
|
|||||||
"@mapbox/point-geometry": "~0.1.0"
|
"@mapbox/point-geometry": "~0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@maplibre/maplibre-gl-style-spec": {
|
||||||
|
"version": "20.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.3.1.tgz",
|
||||||
|
"integrity": "sha512-5ueL4UDitzVtceQ8J4kY+Px3WK+eZTsmGwha3MBKHKqiHvKrjWWwBCIl1K8BuJSc5OFh83uI8IFNoFvQxX2uUw==",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"@mapbox/jsonlint-lines-primitives": "~2.0.2",
|
||||||
|
"@mapbox/unitbezier": "^0.0.1",
|
||||||
|
"json-stringify-pretty-compact": "^4.0.0",
|
||||||
|
"minimist": "^1.2.8",
|
||||||
|
"quickselect": "^2.0.0",
|
||||||
|
"rw": "^1.3.3",
|
||||||
|
"sort-object": "^3.0.3",
|
||||||
|
"tinyqueue": "^3.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"gl-style-format": "dist/gl-style-format.mjs",
|
||||||
|
"gl-style-migrate": "dist/gl-style-migrate.mjs",
|
||||||
|
"gl-style-validate": "dist/gl-style-validate.mjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@octokit/auth-token": {
|
"node_modules/@octokit/auth-token": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.0.tgz",
|
||||||
@@ -2212,6 +2248,15 @@
|
|||||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/arr-union": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/array-buffer-byte-length": {
|
"node_modules/array-buffer-byte-length": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
|
||||||
@@ -2291,6 +2336,15 @@
|
|||||||
"node": ">=0.8"
|
"node": ">=0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/assign-symbols": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/async": {
|
"node_modules/async": {
|
||||||
"version": "3.2.5",
|
"version": "3.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
|
||||||
@@ -2543,6 +2597,25 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/bytewise": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"bytewise-core": "^1.2.2",
|
||||||
|
"typewise": "^1.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/bytewise-core": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"typewise-core": "^1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/call-bind": {
|
"node_modules/call-bind": {
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
|
||||||
@@ -3202,6 +3275,18 @@
|
|||||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/extend-shallow": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"is-extendable": "^0.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/extsprintf": {
|
"node_modules/extsprintf": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||||
@@ -3421,6 +3506,15 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-value": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
|
||||||
|
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/getpass": {
|
"node_modules/getpass": {
|
||||||
"version": "0.1.7",
|
"version": "0.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||||
@@ -3816,6 +3910,15 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-extendable": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
|
||||||
|
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-map": {
|
"node_modules/is-map": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
|
||||||
@@ -3853,6 +3956,18 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-plain-object": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"isobject": "^3.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-regex": {
|
"node_modules/is-regex": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
|
||||||
@@ -3986,6 +4101,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
||||||
},
|
},
|
||||||
|
"node_modules/isobject": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/isstream": {
|
"node_modules/isstream": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||||
@@ -4058,8 +4182,7 @@
|
|||||||
"node_modules/json-stringify-pretty-compact": {
|
"node_modules/json-stringify-pretty-compact": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz",
|
||||||
"integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==",
|
"integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/json-stringify-safe": {
|
"node_modules/json-stringify-safe": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
@@ -4323,7 +4446,6 @@
|
|||||||
"version": "1.2.8",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||||
"dev": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
@@ -4807,6 +4929,12 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/quickselect": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==",
|
||||||
|
"license": "ISC"
|
||||||
|
},
|
||||||
"node_modules/range-parser": {
|
"node_modules/range-parser": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||||
@@ -4951,6 +5079,12 @@
|
|||||||
"protocol-buffers-schema": "^3.3.1"
|
"protocol-buffers-schema": "^3.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/rw": {
|
||||||
|
"version": "1.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
||||||
|
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/safe-array-concat": {
|
"node_modules/safe-array-concat": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
|
||||||
@@ -5111,6 +5245,21 @@
|
|||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/set-value": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"extend-shallow": "^2.0.1",
|
||||||
|
"is-extendable": "^0.1.1",
|
||||||
|
"is-plain-object": "^2.0.3",
|
||||||
|
"split-string": "^3.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/setprototypeof": {
|
"node_modules/setprototypeof": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||||
@@ -5219,6 +5368,41 @@
|
|||||||
"plist": "^3.0.5"
|
"plist": "^3.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/sort-asc": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/sort-desc": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/sort-object": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"bytewise": "^1.1.0",
|
||||||
|
"get-value": "^2.0.2",
|
||||||
|
"is-extendable": "^0.1.1",
|
||||||
|
"sort-asc": "^0.2.0",
|
||||||
|
"sort-desc": "^0.2.0",
|
||||||
|
"union-value": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/spdx-correct": {
|
"node_modules/spdx-correct": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
|
||||||
@@ -5247,6 +5431,43 @@
|
|||||||
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
|
||||||
"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg=="
|
"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/split-string": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"extend-shallow": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/split-string/node_modules/extend-shallow": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"assign-symbols": "^1.0.0",
|
||||||
|
"is-extendable": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/split-string/node_modules/is-extendable": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"is-plain-object": "^2.0.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/sshpk": {
|
"node_modules/sshpk": {
|
||||||
"version": "1.18.0",
|
"version": "1.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
|
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
|
||||||
@@ -5537,6 +5758,12 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tinyqueue": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==",
|
||||||
|
"license": "ISC"
|
||||||
|
},
|
||||||
"node_modules/toidentifier": {
|
"node_modules/toidentifier": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||||
@@ -5678,6 +5905,21 @@
|
|||||||
"node": ">=14.17"
|
"node": ">=14.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/typewise": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"typewise-core": "^1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/typewise-core": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/unbox-primitive": {
|
"node_modules/unbox-primitive": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
|
||||||
@@ -5699,6 +5941,21 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/union-value": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"arr-union": "^3.1.0",
|
||||||
|
"get-value": "^2.0.6",
|
||||||
|
"is-extendable": "^0.1.1",
|
||||||
|
"set-value": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/universal-user-agent": {
|
"node_modules/universal-user-agent": {
|
||||||
"version": "7.0.2",
|
"version": "7.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@maplibre/maplibre-gl-style-spec": "^20.3.1",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"simple-git": "^3.25.0"
|
"simple-git": "^3.25.0"
|
||||||
@@ -44,6 +45,8 @@
|
|||||||
"typescript": "^5.4.5",
|
"typescript": "^5.4.5",
|
||||||
"xcode": "^3.0.1"
|
"xcode": "^3.0.1"
|
||||||
},
|
},
|
||||||
"scripts": {},
|
"scripts": {
|
||||||
|
"copy-style-spec": "cp node_modules/@maplibre/maplibre-gl-style-spec/dist/latest.json scripts/style-spec-reference/v8.json"
|
||||||
|
},
|
||||||
"type": "module"
|
"type": "module"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,19 @@ jni::Local<jni::Object<>> LocationIndicatorLayer::getBearing(jni::JNIEnv& env) {
|
|||||||
return std::move(*convert<jni::Local<jni::Object<>>>(env, toLocationIndicatorLayer(layer).getBearing()));
|
return std::move(*convert<jni::Local<jni::Object<>>>(env, toLocationIndicatorLayer(layer).getBearing()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jni::Local<jni::Object<TransitionOptions>> LocationIndicatorLayer::getBearingTransition(jni::JNIEnv& env) {
|
||||||
|
using namespace mbgl::android::conversion;
|
||||||
|
mbgl::style::TransitionOptions options = toLocationIndicatorLayer(layer).getBearingTransition();
|
||||||
|
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options));
|
||||||
|
}
|
||||||
|
|
||||||
|
void LocationIndicatorLayer::setBearingTransition(jni::JNIEnv&, jlong duration, jlong delay) {
|
||||||
|
mbgl::style::TransitionOptions options;
|
||||||
|
options.duration.emplace(mbgl::Milliseconds(duration));
|
||||||
|
options.delay.emplace(mbgl::Milliseconds(delay));
|
||||||
|
toLocationIndicatorLayer(layer).setBearingTransition(options);
|
||||||
|
}
|
||||||
|
|
||||||
jni::Local<jni::Object<>> LocationIndicatorLayer::getLocation(jni::JNIEnv& env) {
|
jni::Local<jni::Object<>> LocationIndicatorLayer::getLocation(jni::JNIEnv& env) {
|
||||||
using namespace mbgl::android::conversion;
|
using namespace mbgl::android::conversion;
|
||||||
return std::move(*convert<jni::Local<jni::Object<>>>(env, toLocationIndicatorLayer(layer).getLocation()));
|
return std::move(*convert<jni::Local<jni::Object<>>>(env, toLocationIndicatorLayer(layer).getLocation()));
|
||||||
@@ -244,6 +257,8 @@ void LocationIndicatorJavaLayerPeerFactory::registerNative(jni::JNIEnv& env) {
|
|||||||
METHOD(&LocationIndicatorLayer::getShadowImage, "nativeGetShadowImage"),
|
METHOD(&LocationIndicatorLayer::getShadowImage, "nativeGetShadowImage"),
|
||||||
METHOD(&LocationIndicatorLayer::getPerspectiveCompensation, "nativeGetPerspectiveCompensation"),
|
METHOD(&LocationIndicatorLayer::getPerspectiveCompensation, "nativeGetPerspectiveCompensation"),
|
||||||
METHOD(&LocationIndicatorLayer::getImageTiltDisplacement, "nativeGetImageTiltDisplacement"),
|
METHOD(&LocationIndicatorLayer::getImageTiltDisplacement, "nativeGetImageTiltDisplacement"),
|
||||||
|
METHOD(&LocationIndicatorLayer::getBearingTransition, "nativeGetBearingTransition"),
|
||||||
|
METHOD(&LocationIndicatorLayer::setBearingTransition, "nativeSetBearingTransition"),
|
||||||
METHOD(&LocationIndicatorLayer::getBearing, "nativeGetBearing"),
|
METHOD(&LocationIndicatorLayer::getBearing, "nativeGetBearing"),
|
||||||
METHOD(&LocationIndicatorLayer::getLocationTransition, "nativeGetLocationTransition"),
|
METHOD(&LocationIndicatorLayer::getLocationTransition, "nativeGetLocationTransition"),
|
||||||
METHOD(&LocationIndicatorLayer::setLocationTransition, "nativeSetLocationTransition"),
|
METHOD(&LocationIndicatorLayer::setLocationTransition, "nativeSetLocationTransition"),
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ public:
|
|||||||
jni::Local<jni::Object<jni::ObjectTag>> getImageTiltDisplacement(jni::JNIEnv&);
|
jni::Local<jni::Object<jni::ObjectTag>> getImageTiltDisplacement(jni::JNIEnv&);
|
||||||
|
|
||||||
jni::Local<jni::Object<jni::ObjectTag>> getBearing(jni::JNIEnv&);
|
jni::Local<jni::Object<jni::ObjectTag>> getBearing(jni::JNIEnv&);
|
||||||
|
void setBearingTransition(jni::JNIEnv&, jlong duration, jlong delay);
|
||||||
|
jni::Local<jni::Object<TransitionOptions>> getBearingTransition(jni::JNIEnv&);
|
||||||
|
|
||||||
jni::Local<jni::Object<jni::ObjectTag>> getLocation(jni::JNIEnv&);
|
jni::Local<jni::Object<jni::ObjectTag>> getLocation(jni::JNIEnv&);
|
||||||
void setLocationTransition(jni::JNIEnv&, jlong duration, jlong delay);
|
void setLocationTransition(jni::JNIEnv&, jlong duration, jlong delay);
|
||||||
|
|||||||
@@ -134,6 +134,27 @@ class LocationIndicatorLayer extends Layer {
|
|||||||
return (PropertyValue<Double>) new PropertyValue("bearing", nativeGetBearing());
|
return (PropertyValue<Double>) new PropertyValue("bearing", nativeGetBearing());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Bearing property transition options
|
||||||
|
*
|
||||||
|
* @return transition options for Double
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
public TransitionOptions getBearingTransition() {
|
||||||
|
checkThread();
|
||||||
|
return nativeGetBearingTransition();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Bearing property transition options
|
||||||
|
*
|
||||||
|
* @param options transition options for Double
|
||||||
|
*/
|
||||||
|
public void setBearingTransition(@NonNull TransitionOptions options) {
|
||||||
|
checkThread();
|
||||||
|
nativeSetBearingTransition(options.getDuration(), options.getDelay());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Location property
|
* Get the Location property
|
||||||
*
|
*
|
||||||
@@ -423,6 +444,13 @@ class LocationIndicatorLayer extends Layer {
|
|||||||
@Keep
|
@Keep
|
||||||
private native Object nativeGetBearing();
|
private native Object nativeGetBearing();
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Keep
|
||||||
|
private native TransitionOptions nativeGetBearingTransition();
|
||||||
|
|
||||||
|
@Keep
|
||||||
|
private native void nativeSetBearingTransition(long duration, long delay);
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Keep
|
@Keep
|
||||||
private native Object nativeGetLocation();
|
private native Object nativeGetLocation();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import org.maplibre.android.style.expressions.Expression;
|
|||||||
import org.maplibre.android.style.layers.TransitionOptions;
|
import org.maplibre.android.style.layers.TransitionOptions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Client-side hillshading visualization based on DEM data. Currently, the implementation only supports Mapbox Terrain RGB and Mapzen Terrarium tiles.
|
* Client-side hillshading visualization based on DEM data. The implementation supports Mapbox Terrain RGB, Mapzen Terrarium tiles and custom encodings.
|
||||||
*
|
*
|
||||||
* @see <a href="https://maplibre.org/maplibre-style-spec/#layers-hillshade">The online documentation</a>
|
* @see <a href="https://maplibre.org/maplibre-style-spec/#layers-hillshade">The online documentation</a>
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -108,23 +108,23 @@ public final class Property {
|
|||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface SYMBOL_PLACEMENT {}
|
public @interface SYMBOL_PLACEMENT {}
|
||||||
|
|
||||||
// SYMBOL_Z_ORDER: Controls the order in which overlapping symbols in the same layer are rendered
|
// SYMBOL_Z_ORDER: Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use `symbol-sort-key`.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If symbol sort key is set, sort based on that. Otherwise sort symbols by their y-position relative to the viewport.
|
* Sorts symbols by symbol sort key if set. Otherwise, sorts symbols by their y-position relative to the viewport if {@link ICON_ALLOW_OVERLAP} or {@link TEXT_ALLOW_OVERLAP} is set to {@link TRUE} or {@link ICON_IGNORE_PLACEMENT} or {@link TEXT_IGNORE_PLACEMENT} is {@link FALSE}.
|
||||||
*/
|
*/
|
||||||
public static final String SYMBOL_Z_ORDER_AUTO = "auto";
|
public static final String SYMBOL_Z_ORDER_AUTO = "auto";
|
||||||
/**
|
/**
|
||||||
* Symbols will be sorted by their y-position relative to the viewport.
|
* Sorts symbols by their y-position relative to the viewport if {@link ICON_ALLOW_OVERLAP} or {@link TEXT_ALLOW_OVERLAP} is set to {@link TRUE} or {@link ICON_IGNORE_PLACEMENT} or {@link TEXT_IGNORE_PLACEMENT} is {@link FALSE}.
|
||||||
*/
|
*/
|
||||||
public static final String SYMBOL_Z_ORDER_VIEWPORT_Y = "viewport-y";
|
public static final String SYMBOL_Z_ORDER_VIEWPORT_Y = "viewport-y";
|
||||||
/**
|
/**
|
||||||
* Symbols will be rendered in the same order as the source data with no sorting applied.
|
* Sorts symbols by symbol sort key if set. Otherwise, no sorting is applied; symbols are rendered in the same order as the source data.
|
||||||
*/
|
*/
|
||||||
public static final String SYMBOL_Z_ORDER_SOURCE = "source";
|
public static final String SYMBOL_Z_ORDER_SOURCE = "source";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controls the order in which overlapping symbols in the same layer are rendered
|
* Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use `symbol-sort-key`.
|
||||||
*/
|
*/
|
||||||
@StringDef({
|
@StringDef({
|
||||||
SYMBOL_Z_ORDER_AUTO,
|
SYMBOL_Z_ORDER_AUTO,
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color of the icon. This can only be used with sdf icons.
|
* The color of the icon. This can only be used with SDF icons.
|
||||||
*
|
*
|
||||||
* @param value a int color value
|
* @param value a int color value
|
||||||
* @return property wrapper around String color
|
* @return property wrapper around String color
|
||||||
@@ -456,7 +456,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color of the icon. This can only be used with sdf icons.
|
* The color of the icon. This can only be used with SDF icons.
|
||||||
*
|
*
|
||||||
* @param value a String value
|
* @param value a String value
|
||||||
* @return property wrapper around String
|
* @return property wrapper around String
|
||||||
@@ -466,7 +466,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color of the icon. This can only be used with sdf icons.
|
* The color of the icon. This can only be used with SDF icons.
|
||||||
*
|
*
|
||||||
* @param expression an expression statement
|
* @param expression an expression statement
|
||||||
* @return property wrapper around an expression statement
|
* @return property wrapper around an expression statement
|
||||||
@@ -506,7 +506,8 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Distance of halo to the icon outline.
|
* Distance of halo to the icon outline.
|
||||||
|
The unit is in density-independent pixels only for SDF sprites that were created with a blur radius of 8, multiplied by the display density. I.e., the radius needs to be 16 for `@2x` sprites, etc.
|
||||||
*
|
*
|
||||||
* @param value a Float value
|
* @param value a Float value
|
||||||
* @return property wrapper around Float
|
* @return property wrapper around Float
|
||||||
@@ -516,7 +517,8 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Distance of halo to the icon outline.
|
* Distance of halo to the icon outline.
|
||||||
|
The unit is in density-independent pixels only for SDF sprites that were created with a blur radius of 8, multiplied by the display density. I.e., the radius needs to be 16 for `@2x` sprites, etc.
|
||||||
*
|
*
|
||||||
* @param expression an expression statement
|
* @param expression an expression statement
|
||||||
* @return property wrapper around an expression statement
|
* @return property wrapper around an expression statement
|
||||||
@@ -1406,7 +1408,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fade duration when a new tile is added.
|
* Fade duration when a new tile is added, or when a video is started or its coordinates are updated.
|
||||||
*
|
*
|
||||||
* @param value a Float value
|
* @param value a Float value
|
||||||
* @return property wrapper around Float
|
* @return property wrapper around Float
|
||||||
@@ -1416,7 +1418,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fade duration when a new tile is added.
|
* Fade duration when a new tile is added, or when a video is started or its coordinates are updated.
|
||||||
*
|
*
|
||||||
* @param expression an expression statement
|
* @param expression an expression statement
|
||||||
* @return property wrapper around an expression statement
|
* @return property wrapper around an expression statement
|
||||||
@@ -1806,7 +1808,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries.
|
* If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like MapLibre GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries.
|
||||||
*
|
*
|
||||||
* @param value a Boolean value
|
* @param value a Boolean value
|
||||||
* @return property wrapper around Boolean
|
* @return property wrapper around Boolean
|
||||||
@@ -1816,7 +1818,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries.
|
* If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like MapLibre GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries.
|
||||||
*
|
*
|
||||||
* @param value a Boolean value
|
* @param value a Boolean value
|
||||||
* @return property wrapper around Boolean
|
* @return property wrapper around Boolean
|
||||||
@@ -1846,7 +1848,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controls the order in which overlapping symbols in the same layer are rendered
|
* Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use {@link PropertyFactory#symbolSortKey}.
|
||||||
*
|
*
|
||||||
* @param value a String value
|
* @param value a String value
|
||||||
* @return property wrapper around String
|
* @return property wrapper around String
|
||||||
@@ -1856,7 +1858,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controls the order in which overlapping symbols in the same layer are rendered
|
* Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use {@link PropertyFactory#symbolSortKey}.
|
||||||
*
|
*
|
||||||
* @param value a String value
|
* @param value a String value
|
||||||
* @return property wrapper around String
|
* @return property wrapper around String
|
||||||
@@ -2046,7 +2048,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the additional area around the icon bounding box used for detecting symbol collisions.
|
* Size of additional area round the icon bounding box used for detecting symbol collisions.
|
||||||
*
|
*
|
||||||
* @param value a Float value
|
* @param value a Float value
|
||||||
* @return property wrapper around Float
|
* @return property wrapper around Float
|
||||||
@@ -2056,7 +2058,7 @@ public class PropertyFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the additional area around the icon bounding box used for detecting symbol collisions.
|
* Size of additional area round the icon bounding box used for detecting symbol collisions.
|
||||||
*
|
*
|
||||||
* @param value a Float value
|
* @param value a Float value
|
||||||
* @return property wrapper around Float
|
* @return property wrapper around Float
|
||||||
|
|||||||
@@ -683,7 +683,7 @@ public class SymbolLayer extends Layer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color of the icon. This can only be used with sdf icons.
|
* The color of the icon. This can only be used with SDF icons.
|
||||||
*
|
*
|
||||||
* @return int representation of a rgba string color
|
* @return int representation of a rgba string color
|
||||||
* @throws RuntimeException thrown if property isn't a value
|
* @throws RuntimeException thrown if property isn't a value
|
||||||
|
|||||||
@@ -139,6 +139,18 @@ public class LocationIndicatorLayerTest extends BaseLayerTest {
|
|||||||
assertEquals(layer.getImageTiltDisplacement().getValue(), propertyValue);
|
assertEquals(layer.getImageTiltDisplacement().getValue(), propertyValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@UiThreadTest
|
||||||
|
public void testBearingTransition() {
|
||||||
|
Timber.i("bearingTransitionOptions");
|
||||||
|
assertNotNull(layer);
|
||||||
|
|
||||||
|
// Set and Get
|
||||||
|
TransitionOptions options = new TransitionOptions(300, 100);
|
||||||
|
layer.setBearingTransition(options);
|
||||||
|
assertEquals(layer.getBearingTransition(), options);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void testBearingAsConstant() {
|
public void testBearingAsConstant() {
|
||||||
|
|||||||
265
platform/android/package-lock.json
generated
265
platform/android/package-lock.json
generated
@@ -1,265 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@mapbox/mapbox-gl-native-android",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"lockfileVersion": 3,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"name": "@mapbox/mapbox-gl-native-android",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"license": "BSD-2-Clause",
|
|
||||||
"devDependencies": {
|
|
||||||
"ejs": "^3.1.10",
|
|
||||||
"esm": "~3.2.25",
|
|
||||||
"lodash": "^4.17.21",
|
|
||||||
"pixelmatch": "^5.3.0",
|
|
||||||
"semver": "^7.3.8"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ansi-styles": {
|
|
||||||
"version": "4.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
|
||||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"color-convert": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/async": {
|
|
||||||
"version": "3.2.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
|
|
||||||
"integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/balanced-match": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/brace-expansion": {
|
|
||||||
"version": "1.1.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
|
||||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"balanced-match": "^1.0.0",
|
|
||||||
"concat-map": "0.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/chalk": {
|
|
||||||
"version": "4.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
||||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"ansi-styles": "^4.1.0",
|
|
||||||
"supports-color": "^7.1.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/color-convert": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"color-name": "~1.1.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=7.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/color-name": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/concat-map": {
|
|
||||||
"version": "0.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
|
||||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/ejs": {
|
|
||||||
"version": "3.1.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
|
|
||||||
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"jake": "^10.8.5"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"ejs": "bin/cli.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/esm": {
|
|
||||||
"version": "3.2.25",
|
|
||||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
|
|
||||||
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/filelist": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"minimatch": "^5.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/filelist/node_modules/brace-expansion": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/filelist/node_modules/minimatch": {
|
|
||||||
"version": "5.1.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
|
|
||||||
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/has-flag": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/jake": {
|
|
||||||
"version": "10.8.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
|
|
||||||
"integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"async": "^3.2.3",
|
|
||||||
"chalk": "^4.0.2",
|
|
||||||
"filelist": "^1.0.4",
|
|
||||||
"minimatch": "^3.1.2"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"jake": "bin/cli.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/lodash": {
|
|
||||||
"version": "4.17.21",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
|
||||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/lru-cache": {
|
|
||||||
"version": "6.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
||||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"yallist": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/minimatch": {
|
|
||||||
"version": "3.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
|
||||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": "^1.1.7"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/pixelmatch": {
|
|
||||||
"version": "5.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz",
|
|
||||||
"integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"pngjs": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"pixelmatch": "bin/pixelmatch"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/pngjs": {
|
|
||||||
"version": "6.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
|
|
||||||
"integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12.13.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/semver": {
|
|
||||||
"version": "7.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
|
||||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/supports-color": {
|
|
||||||
"version": "7.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
|
||||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"has-flag": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/yallist": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@mapbox/mapbox-gl-native-android",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "Renders map tiles with the Mapbox Maps SDK for Android",
|
|
||||||
"keywords": [
|
|
||||||
"mapbox",
|
|
||||||
"gl"
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git@github.com:mapbox/mapbox-gl-native-android.git"
|
|
||||||
},
|
|
||||||
"license": "BSD-2-Clause",
|
|
||||||
"devDependencies": {
|
|
||||||
"ejs": "^3.1.10",
|
|
||||||
"esm": "~3.2.25",
|
|
||||||
"lodash": "^4.17.21",
|
|
||||||
"pixelmatch": "^5.3.0",
|
|
||||||
"semver": "^7.3.8"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
},
|
|
||||||
"scripts": {}
|
|
||||||
}
|
|
||||||
184
platform/android/scripts/android-style-spec-overrides.mjs
Normal file
184
platform/android/scripts/android-style-spec-overrides.mjs
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
import styleSpec from "../../../scripts/style-spec.mjs";
|
||||||
|
|
||||||
|
/** @type {any} */
|
||||||
|
let modifiedReferenceSpec = styleSpec;
|
||||||
|
|
||||||
|
modifiedReferenceSpec.layer.type.values["location-indicator"] = {};
|
||||||
|
modifiedReferenceSpec["layout_location-indicator"] = {
|
||||||
|
"top-image": {
|
||||||
|
"type": "resolvedImage",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": false,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doc": "Name of image in sprite to use as the top of the location indicator."
|
||||||
|
},
|
||||||
|
"bearing-image": {
|
||||||
|
"type": "resolvedImage",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": false,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doc": "Name of image in sprite to use as the middle of the location indicator."
|
||||||
|
},
|
||||||
|
"shadow-image": {
|
||||||
|
"type": "resolvedImage",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": false,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doc": "Name of image in sprite to use as the background of the location indicator."
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
modifiedReferenceSpec["paint_location-indicator"] = {
|
||||||
|
"perspective-compensation": {
|
||||||
|
"type": "number",
|
||||||
|
"default": "0.85",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doc": "The amount of the perspective compensation, between 0 and 1. A value of 1 produces a location indicator of constant width across the screen. A value of 0 makes it scale naturally according to the viewing projection."
|
||||||
|
},
|
||||||
|
"image-tilt-displacement": {
|
||||||
|
"type": "number",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": "0",
|
||||||
|
"units": "pixels",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"doc": "The displacement off the center of the top image and the shadow image when the pitch of the map is greater than 0. This helps producing a three-dimensional appearence."
|
||||||
|
},
|
||||||
|
"bearing": {
|
||||||
|
"type": "number",
|
||||||
|
"default": 0,
|
||||||
|
"period": 360,
|
||||||
|
"units": "degrees",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": false,
|
||||||
|
"parameters": [ ]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The bearing of the location indicator."
|
||||||
|
},
|
||||||
|
"location": {
|
||||||
|
"type": "array",
|
||||||
|
"default": [
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"length": 3,
|
||||||
|
"value": "number",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": []
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "An array of [latitude, longitude, altitude] position of the location indicator."
|
||||||
|
},
|
||||||
|
"accuracy-radius": {
|
||||||
|
"type": "number",
|
||||||
|
"units": "meters",
|
||||||
|
"default": 0,
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The accuracy, in meters, of the position source used to retrieve the position of the location indicator."
|
||||||
|
},
|
||||||
|
"top-image-size": {
|
||||||
|
"type": "number",
|
||||||
|
"units": "factor of the original icon size",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": 1,
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The size of the top image, as a scale factor applied to the size of the specified image."
|
||||||
|
},
|
||||||
|
"bearing-image-size": {
|
||||||
|
"type": "number",
|
||||||
|
"units": "factor of the original icon size",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": 1,
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The size of the bearing image, as a scale factor applied to the size of the specified image."
|
||||||
|
},
|
||||||
|
"shadow-image-size": {
|
||||||
|
"type": "number",
|
||||||
|
"units": "factor of the original icon size",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": 1,
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The size of the shadow image, as a scale factor applied to the size of the specified image."
|
||||||
|
},
|
||||||
|
"accuracy-radius-color": {
|
||||||
|
"type": "color",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": "#ffffff",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The color for drawing the accuracy radius, as a circle. To adjust transparency, set the alpha component of the color accordingly."
|
||||||
|
|
||||||
|
},
|
||||||
|
"accuracy-radius-border-color": {
|
||||||
|
"type": "color",
|
||||||
|
"property-type": "data-constant",
|
||||||
|
"default": "#ffffff",
|
||||||
|
"expression": {
|
||||||
|
"interpolated": true,
|
||||||
|
"parameters": [
|
||||||
|
"zoom"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"transition": true,
|
||||||
|
"doc": "The color for drawing the accuracy radius border. To adjust transparency, set the alpha component of the color accordingly."
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default modifiedReferenceSpec;
|
||||||
471
platform/android/scripts/generate-style-code.mjs
Normal file
471
platform/android/scripts/generate-style-code.mjs
Normal file
@@ -0,0 +1,471 @@
|
|||||||
|
import fs from "node:fs";
|
||||||
|
import path from "node:path";
|
||||||
|
import ejs from "ejs";
|
||||||
|
import spec from "./android-style-spec-overrides.mjs";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
|
import { writeIfModified, camelize, snakeCaseUpper, iff, camelizeWithLeadingLowercase } from "../../../scripts/style-code.mjs";
|
||||||
|
|
||||||
|
if (!import.meta.dirname) throw new Error("import.meta.dirname is undefined");
|
||||||
|
|
||||||
|
function absPath(relativePath) {
|
||||||
|
return path.join(import.meta.dirname, "..", relativePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setupGlobalEjsHelpers() {
|
||||||
|
const funcs = {
|
||||||
|
camelize,
|
||||||
|
snakeCaseUpper,
|
||||||
|
iff,
|
||||||
|
camelizeWithLeadingLowercase
|
||||||
|
};
|
||||||
|
for (const [funcName, func] of Object.entries(funcs)) {
|
||||||
|
// @ts-ignore
|
||||||
|
global[funcName] = func;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setupGlobalEjsHelpers();
|
||||||
|
|
||||||
|
// Specification parsing //
|
||||||
|
const lightProperties = Object.keys(spec[`light`]).reduce((memo, name) => {
|
||||||
|
var property = spec[`light`][name];
|
||||||
|
property.name = name;
|
||||||
|
property['light-property'] = true;
|
||||||
|
property.doc = property.doc.replace(/°/g,'°');
|
||||||
|
memo.push(property);
|
||||||
|
return memo;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// Collect layer types from spec
|
||||||
|
var layers = Object.keys(spec.layer.type.values).map((type) => {
|
||||||
|
const layoutProperties = Object.keys(spec[`layout_${type}`]).reduce((memo, name) => {
|
||||||
|
if (name !== 'visibility' && type !== 'location-indicator') {
|
||||||
|
spec[`layout_${type}`][name].name = name;
|
||||||
|
memo.push(spec[`layout_${type}`][name]);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const paintProperties = Object.keys(spec[`paint_${type}`]).reduce((memo, name) => {
|
||||||
|
if (type !== 'location-indicator') {
|
||||||
|
spec[`paint_${type}`][name].name = name;
|
||||||
|
memo.push(spec[`paint_${type}`][name]);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const locationLayoutProperties = Object.keys(spec[`layout_${type}`]).reduce((memo, name) => {
|
||||||
|
if (name !== 'visibility' && type === 'location-indicator') {
|
||||||
|
spec[`layout_${type}`][name].name = name;
|
||||||
|
memo.push(spec[`layout_${type}`][name]);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const locationPaintProperties = Object.keys(spec[`paint_${type}`]).reduce((memo, name) => {
|
||||||
|
if (type === 'location-indicator') {
|
||||||
|
spec[`paint_${type}`][name].name = name;
|
||||||
|
memo.push(spec[`paint_${type}`][name]);
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return {
|
||||||
|
type: type,
|
||||||
|
doc: spec.layer.type.values[type].doc,
|
||||||
|
layoutProperties: layoutProperties,
|
||||||
|
paintProperties: paintProperties,
|
||||||
|
locationLayoutProperties: locationLayoutProperties,
|
||||||
|
locationPaintProperties: locationPaintProperties,
|
||||||
|
properties: layoutProperties.concat(paintProperties).concat(locationLayoutProperties).concat(locationPaintProperties)
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
// Process all layer properties
|
||||||
|
const uniqueArrayEnum = (prop, enums) => {
|
||||||
|
if (prop.value !== 'enum') return false;
|
||||||
|
const enumsEqual = (val1, val2) => val1.length === val1.length && val1.every((val, i) => val === val2[i]);
|
||||||
|
return enums.filter(e => enumsEqual(Object.keys(prop.values).sort(), Object.keys(e.values).sort())).length == 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
const layoutProperties = _(layers).map('layoutProperties').flatten().value();
|
||||||
|
const paintProperties = _(layers).map('paintProperties').flatten().value();
|
||||||
|
const locationLayoutProperties = _(layers).map('locationLayoutProperties').flatten().value();
|
||||||
|
const locationPaintProperties = _(layers).map('locationPaintProperties').flatten().value();
|
||||||
|
const allProperties = _(layoutProperties).union(paintProperties).union(lightProperties).value();
|
||||||
|
let allEnumProperties = _(allProperties).filter({'type': 'enum'}).value();
|
||||||
|
const uniqueArrayEnumProperties = _(allProperties).filter({'type': 'array'}).filter(prop => uniqueArrayEnum(prop, allEnumProperties)).value();
|
||||||
|
const enumProperties = _(allEnumProperties).union(uniqueArrayEnumProperties).value();
|
||||||
|
|
||||||
|
|
||||||
|
global.propertyType = function propertyType(property) {
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'Boolean';
|
||||||
|
case 'number':
|
||||||
|
if (/bearing$/.test(property.name) &&
|
||||||
|
property.period == 360 &&
|
||||||
|
property.units =='degrees') {
|
||||||
|
return 'Double';
|
||||||
|
}
|
||||||
|
return /location$/.test(property.name) ? 'Double' : 'Float';
|
||||||
|
case 'formatted':
|
||||||
|
return 'Formatted';
|
||||||
|
case 'string':
|
||||||
|
case 'resolvedImage':
|
||||||
|
return 'String';
|
||||||
|
case 'enum':
|
||||||
|
return 'String';
|
||||||
|
case 'color':
|
||||||
|
return 'String';
|
||||||
|
case 'array':
|
||||||
|
return `${propertyType({type:property.value, name: property.name})}[]`;
|
||||||
|
default:
|
||||||
|
throw new Error(`unknown type for ${property.name}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
global.propertyJavaType = function propertyType(property) {
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'boolean';
|
||||||
|
case 'number':
|
||||||
|
return 'float';
|
||||||
|
case 'formatted':
|
||||||
|
return 'Formatted';
|
||||||
|
case 'string':
|
||||||
|
case 'resolvedImage':
|
||||||
|
return 'String';
|
||||||
|
case 'enum':
|
||||||
|
return 'String';
|
||||||
|
case 'color':
|
||||||
|
return 'String';
|
||||||
|
case 'array':
|
||||||
|
return `${propertyJavaType({type:property.value})}[]`;
|
||||||
|
default:
|
||||||
|
throw new Error(`unknown type for ${property.name}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
global.propertyJNIType = function propertyJNIType(property) {
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'jboolean';
|
||||||
|
case 'number':
|
||||||
|
return 'jfloat';
|
||||||
|
case 'String':
|
||||||
|
return 'String';
|
||||||
|
case 'enum':
|
||||||
|
return 'String';
|
||||||
|
case 'color':
|
||||||
|
return 'String';
|
||||||
|
case 'array':
|
||||||
|
return `jarray<${propertyType({type:property.value})}[]>`;
|
||||||
|
default:
|
||||||
|
return 'jobject*';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
global.propertyNativeType = function (property) {
|
||||||
|
if (/-translate-anchor$/.test(property.name)) {
|
||||||
|
return 'TranslateAnchorType';
|
||||||
|
}
|
||||||
|
if (/-(rotation|pitch|illumination)-alignment$/.test(property.name)) {
|
||||||
|
return 'AlignmentType';
|
||||||
|
}
|
||||||
|
if (/^(text|icon)-anchor$/.test(property.name)) {
|
||||||
|
return 'SymbolAnchorType';
|
||||||
|
}
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'bool';
|
||||||
|
case 'number':
|
||||||
|
return 'float';
|
||||||
|
case 'formatted':
|
||||||
|
case 'string':
|
||||||
|
case 'resolvedImage': // TODO: replace once we implement image expressions
|
||||||
|
return 'std::string';
|
||||||
|
case 'enum':
|
||||||
|
if(property['light-property']){
|
||||||
|
return `Light${camelize(property.name)}Type`;
|
||||||
|
}
|
||||||
|
return `${camelize(property.name)}Type`;
|
||||||
|
case 'color':
|
||||||
|
return `Color`;
|
||||||
|
case 'array':
|
||||||
|
if (property.length) {
|
||||||
|
return `std::array<${propertyType({type: property.value})}, ${property.length}>`;
|
||||||
|
} else {
|
||||||
|
return `std::vector<${propertyType({type: property.value})}>`;
|
||||||
|
}
|
||||||
|
default: throw new Error(`unknown type for ${property.name}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
global.propertyTypeAnnotation = function propertyTypeAnnotation(property) {
|
||||||
|
switch (property.type) {
|
||||||
|
case 'enum':
|
||||||
|
return `@Property.${snakeCaseUpper(property.name)}`;
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
global.defaultExpressionJava = function(property) {
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'boolean';
|
||||||
|
case 'number':
|
||||||
|
return 'number';
|
||||||
|
case 'formatted':
|
||||||
|
return 'format';
|
||||||
|
case 'resolvedImage':
|
||||||
|
return "image";
|
||||||
|
case 'string':
|
||||||
|
case 'image':
|
||||||
|
return "string";
|
||||||
|
case 'enum':
|
||||||
|
return "string";
|
||||||
|
case 'color':
|
||||||
|
return 'toColor';
|
||||||
|
case 'array':
|
||||||
|
return "array";
|
||||||
|
default: return "string";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
global.defaultValueJava = function(property) {
|
||||||
|
if(property.name.endsWith("-pattern")) {
|
||||||
|
return '"pedestrian-polygon"';
|
||||||
|
}
|
||||||
|
if(property.name.endsWith("-font")) {
|
||||||
|
return 'new String[]{"Open Sans Regular", "Arial Unicode MS Regular"}';
|
||||||
|
}
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'true';
|
||||||
|
case 'number':
|
||||||
|
if (/bearing$/.test(property.name) &&
|
||||||
|
property.period == 360 &&
|
||||||
|
property.units =='degrees') {
|
||||||
|
return '0.3';
|
||||||
|
}
|
||||||
|
return '0.3f';
|
||||||
|
case 'formatted':
|
||||||
|
return 'new Formatted(new FormattedSection("default"))'
|
||||||
|
case 'string':
|
||||||
|
case 'resolvedImage':
|
||||||
|
return '"' + property['default'] + '"';
|
||||||
|
case 'enum':
|
||||||
|
return snakeCaseUpper(property.name) + "_" + snakeCaseUpper(Object.keys(property.values)[0]);
|
||||||
|
case 'color':
|
||||||
|
return '"rgba(255,128,0,0.7)"';
|
||||||
|
case 'array':
|
||||||
|
switch (property.value) {
|
||||||
|
case 'string':
|
||||||
|
case 'enum':
|
||||||
|
if (property['default'] !== undefined) {
|
||||||
|
return '[' + property['default'] + ']';
|
||||||
|
} else {
|
||||||
|
return 'new String[0]';
|
||||||
|
}
|
||||||
|
case 'number':
|
||||||
|
var isDouble = /location$/.test(property.name)
|
||||||
|
var result = 'new ' + (isDouble ? 'Double' : 'Float') + '[] {';
|
||||||
|
for (var i = 0; i < property.length; i++) {
|
||||||
|
result += isDouble ? '0.0' : '0f';
|
||||||
|
if (i +1 != property.length) {
|
||||||
|
result += ', ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result + '}';
|
||||||
|
}
|
||||||
|
default: throw new Error(`unknown type for ${property.name}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Produces documentation for property factory methods
|
||||||
|
*/
|
||||||
|
global.propertyFactoryMethodDoc = function (property) {
|
||||||
|
var replaceIfPixels = function (doc) {
|
||||||
|
return doc.replace('pixels', 'density-independent pixels')
|
||||||
|
}
|
||||||
|
let doc = replaceIfPixels(property.doc);
|
||||||
|
// Match other items in back ticks
|
||||||
|
doc = doc.replace(/`(.+?)`/g, function (m, symbol, offset, str) {
|
||||||
|
if (str.substr(offset - 4, 3) !== 'CSS' && symbol[0].toUpperCase() != symbol[0] && _(enumProperties).filter({'name': symbol}).value().length > 0) {
|
||||||
|
// Property 'enums'
|
||||||
|
symbol = snakeCaseUpper(symbol);
|
||||||
|
return '{@link Property.' + symbol + '}';
|
||||||
|
} else if( _(allProperties).filter({'name': symbol}).value().length > 0) {
|
||||||
|
// Other properties
|
||||||
|
return '{@link PropertyFactory#' + camelizeWithLeadingLowercase(symbol) + '}';
|
||||||
|
} else {
|
||||||
|
// Left overs
|
||||||
|
return '`' + symbol + '`';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return doc;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Produces documentation for property value constants
|
||||||
|
*/
|
||||||
|
global.propertyValueDoc = function (property, value) {
|
||||||
|
|
||||||
|
// Match references to other property names & values.
|
||||||
|
// Requires the format 'When `foo` is set to `bar`,'.
|
||||||
|
let doc = property.values[value].doc.replace(/When `(.+?)` is set to `(.+?)`(?: or `([^`]+?)`)?,/g, function (m, peerPropertyName, propertyValue, secondPropertyValue, offset, str) {
|
||||||
|
let otherProperty = snakeCaseUpper(peerPropertyName);
|
||||||
|
let otherValue = snakeCaseUpper(peerPropertyName) + '_' + snakeCaseUpper(propertyValue);
|
||||||
|
const firstPropertyValue = 'When {@link ' + `${otherProperty}` + '} is set to {@link Property#' + `${otherValue}` + '}';
|
||||||
|
if (secondPropertyValue) {
|
||||||
|
return firstPropertyValue + ` or {@link Property#${snakeCaseUpper(peerPropertyName) + '_' + snakeCaseUpper(secondPropertyValue)}},`;
|
||||||
|
} else {
|
||||||
|
return firstPropertyValue + ',';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Match references to our own property values.
|
||||||
|
// Requires the format 'is equivalent to `bar`'.
|
||||||
|
doc = doc.replace(/is equivalent to `(.+?)`/g, function(m, propertyValue, offset, str) {
|
||||||
|
propertyValue = snakeCaseUpper(property.name) + '_' + snakeCaseUpper(propertyValue);
|
||||||
|
return 'is equivalent to {@link Property#' + propertyValue + '}';
|
||||||
|
});
|
||||||
|
|
||||||
|
// Match other items in back ticks
|
||||||
|
doc = doc.replace(/`(.+?)`/g, function (m, symbol, offset, str) {
|
||||||
|
if ('values' in property && Object.keys(property.values).indexOf(symbol) !== -1) {
|
||||||
|
// Property values
|
||||||
|
propertyValue = snakeCaseUpper(property.name) + '_' + snakeCaseUpper(symbol);
|
||||||
|
console.log("Transforming", symbol, propertyValue);
|
||||||
|
return '{@link Property#' + `${propertyValue}` + '}';
|
||||||
|
} else if (str.substr(offset - 4, 3) !== 'CSS' && symbol[0].toUpperCase() != symbol[0]) {
|
||||||
|
// Property 'enums'
|
||||||
|
if (symbol === 'symbol-sort-key') {
|
||||||
|
return 'symbol sort key';
|
||||||
|
}
|
||||||
|
|
||||||
|
symbol = snakeCaseUpper(symbol);
|
||||||
|
return '{@link ' + symbol + '}';
|
||||||
|
} else {
|
||||||
|
// Left overs
|
||||||
|
return symbol
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return doc;
|
||||||
|
};
|
||||||
|
|
||||||
|
global.isLightProperty = function (property) {
|
||||||
|
return property['light-property'] === true;
|
||||||
|
};
|
||||||
|
|
||||||
|
global.propertyValueType = function (property) {
|
||||||
|
switch (property['property-type']) {
|
||||||
|
default:
|
||||||
|
return `PropertyValue<${evaluatedType(property)}>`;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
global.evaluatedType = function (property) {
|
||||||
|
if (/-translate-anchor$/.test(property.name)) {
|
||||||
|
return 'TranslateAnchorType';
|
||||||
|
}
|
||||||
|
if (/-(rotation|pitch|illumination)-alignment$/.test(property.name)) {
|
||||||
|
return 'AlignmentType';
|
||||||
|
}
|
||||||
|
if (/^(text|icon)-anchor$/.test(property.name)) {
|
||||||
|
return 'SymbolAnchorType';
|
||||||
|
}
|
||||||
|
if (/position/.test(property.name)) {
|
||||||
|
return 'Position';
|
||||||
|
}
|
||||||
|
switch (property.type) {
|
||||||
|
case 'boolean':
|
||||||
|
return 'bool';
|
||||||
|
case 'number':
|
||||||
|
return 'float';
|
||||||
|
case 'formatted':
|
||||||
|
case 'string':
|
||||||
|
case 'image':
|
||||||
|
return 'std::string';
|
||||||
|
case 'enum':
|
||||||
|
return (isLightProperty(property) ? 'Light' : '') + `${camelize(property.name)}Type`;
|
||||||
|
case 'color':
|
||||||
|
return `Color`;
|
||||||
|
case 'array':
|
||||||
|
if (property.length) {
|
||||||
|
return `std::array<${evaluatedType({type: property.value})}, ${property.length}>`;
|
||||||
|
} else {
|
||||||
|
return `std::vector<${evaluatedType({type: property.value})}>`;
|
||||||
|
}
|
||||||
|
default: throw new Error(`unknown type for ${property.name}`)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
global.supportsZoomFunction = function (property) {
|
||||||
|
return property.expression && property.expression.parameters.indexOf('zoom') > -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
global.supportsPropertyFunction = function (property) {
|
||||||
|
return property['property-type'] === 'data-driven' || property['property-type'] === 'cross-faded-data-driven';
|
||||||
|
};
|
||||||
|
|
||||||
|
// Template processing //
|
||||||
|
|
||||||
|
// Java + JNI Light (Peer model)
|
||||||
|
const lightJava = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/main/java/org/maplibre/android/style/light/light.java.ejs'), 'utf8'), {strict: true});
|
||||||
|
const lightJavaUnitTests = ejs.compile(fs.readFileSync(absPath('MapLibreAndroidTestApp/src/androidTest/java/org/maplibre/android/testapp/style/light.junit.ejs'), 'utf8'), {strict: true});
|
||||||
|
writeIfModified(absPath(`MapLibreAndroid/src/main/java/org/maplibre/android/style/light/Light.java`), lightJava({properties: lightProperties}));
|
||||||
|
writeIfModified(absPath(`MapLibreAndroidTestApp/src/androidTest/java/org/maplibre/android/testapp/style/LightTest.java`), lightJavaUnitTests({properties: lightProperties}));
|
||||||
|
|
||||||
|
// Java
|
||||||
|
const layerJava = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/layer.java.ejs'), 'utf8'), {strict: true});
|
||||||
|
const layerJavaUnitTests = ejs.compile(fs.readFileSync(absPath('MapLibreAndroidTestApp/src/androidTest/java/org/maplibre/android/testapp/style/layer.junit.ejs'), 'utf8'), {strict: true});
|
||||||
|
|
||||||
|
for (const layer of layers) {
|
||||||
|
var srcDir = 'MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/'
|
||||||
|
var testDir = 'MapLibreAndroidTestApp/src/androidTest/java/org/maplibre/android/testapp/style/'
|
||||||
|
if (layer.type === 'location-indicator') {
|
||||||
|
srcDir = 'MapLibreAndroid/src/main/java/org/maplibre/android/location/'
|
||||||
|
testDir = 'MapLibreAndroidTestApp/src/androidTest/java/org/maplibre/android/location/'
|
||||||
|
}
|
||||||
|
|
||||||
|
writeIfModified(absPath(srcDir + `${camelize(layer.type)}Layer.java`), layerJava(layer));
|
||||||
|
writeIfModified(absPath(testDir + `${camelize(layer.type)}LayerTest.java`), layerJavaUnitTests(layer));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Jni
|
||||||
|
const layerHpp = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/cpp/style/layers/layer.hpp.ejs'), 'utf8'), {strict: true});
|
||||||
|
const layerCpp = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/cpp/style/layers/layer.cpp.ejs'), 'utf8'), {strict: true});
|
||||||
|
|
||||||
|
for (const layer of layers) {
|
||||||
|
const layerFileName = layer.type.replace('-', '_');
|
||||||
|
|
||||||
|
writeIfModified(absPath(`MapLibreAndroid/src/cpp/style/layers/${layerFileName}_layer.hpp`), layerHpp(layer));
|
||||||
|
writeIfModified(absPath(`MapLibreAndroid/src/cpp/style/layers/${layerFileName}_layer.cpp`), layerCpp(layer));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Java PropertyFactory
|
||||||
|
const propertyFactoryTemplate = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/property_factory.java.ejs'), 'utf8'), {strict: true});
|
||||||
|
|
||||||
|
const propertyFactorySrcDir = absPath('MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/PropertyFactory.java')
|
||||||
|
writeIfModified(
|
||||||
|
propertyFactorySrcDir,
|
||||||
|
propertyFactoryTemplate({layoutProperties: layoutProperties, paintProperties: paintProperties, locationIndicator: false})
|
||||||
|
);
|
||||||
|
|
||||||
|
const locationPropertyFactorySrcDir = absPath('MapLibreAndroid/src/main/java/org/maplibre/android/location/LocationPropertyFactory.java')
|
||||||
|
writeIfModified(
|
||||||
|
locationPropertyFactorySrcDir,
|
||||||
|
propertyFactoryTemplate({layoutProperties: locationLayoutProperties, paintProperties: locationPaintProperties, locationIndicator: true})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Java Property
|
||||||
|
const enumPropertyJavaTemplate = ejs.compile(fs.readFileSync(absPath('MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/property.java.ejs'), 'utf8'), {strict: true});
|
||||||
|
writeIfModified(
|
||||||
|
absPath(`MapLibreAndroid/src/main/java/org/maplibre/android/style/layers/Property.java`),
|
||||||
|
enumPropertyJavaTemplate({properties: enumProperties})
|
||||||
|
);
|
||||||
@@ -6,8 +6,13 @@ import assert from "assert";
|
|||||||
|
|
||||||
import { readAndCompile, writeIfModified, camelize, unhyphenate } from "../../../scripts/style-code.mjs";
|
import { readAndCompile, writeIfModified, camelize, unhyphenate } from "../../../scripts/style-code.mjs";
|
||||||
|
|
||||||
|
import styleSpec from "../../../scripts/style-spec.mjs";
|
||||||
|
|
||||||
|
delete styleSpec.layer.type.values["location-indicator"];
|
||||||
|
delete styleSpec["layout_location-indicator"]
|
||||||
|
delete styleSpec["paint_location-indicator"];
|
||||||
|
|
||||||
import cocoaConventions from './style-spec-cocoa-conventions-v8.json' with { type: "json" };
|
import cocoaConventions from './style-spec-cocoa-conventions-v8.json' with { type: "json" };
|
||||||
import styleSpec from '../../../scripts/style-spec-reference/v8.json' with { type: "json" };
|
|
||||||
import styleSpecOverrides from './style-spec-overrides-v8.json' with { type: "json" };
|
import styleSpecOverrides from './style-spec-overrides-v8.json' with { type: "json" };
|
||||||
|
|
||||||
function setupGlobalEjsHelpers() {
|
function setupGlobalEjsHelpers() {
|
||||||
@@ -806,9 +811,6 @@ const layerH = readAndCompile('platform/darwin/src/MLNStyleLayer.h.ejs', root);
|
|||||||
const layerPrivateH = readAndCompile('platform/darwin/src/MLNStyleLayer_Private.h.ejs', root);
|
const layerPrivateH = readAndCompile('platform/darwin/src/MLNStyleLayer_Private.h.ejs', root);
|
||||||
const layerM = readAndCompile('platform/darwin/src/MLNStyleLayer.mm.ejs', root);
|
const layerM = readAndCompile('platform/darwin/src/MLNStyleLayer.mm.ejs', root);
|
||||||
const testLayers = readAndCompile('platform/darwin/test/MLNStyleLayerTests.mm.ejs', root);
|
const testLayers = readAndCompile('platform/darwin/test/MLNStyleLayerTests.mm.ejs', root);
|
||||||
const forStyleAuthorsMD = readAndCompile('platform/darwin/docs/guides/For_Style_Authors.md.ejs', root);
|
|
||||||
const ddsGuideMD = readAndCompile('platform/darwin/docs/guides/Migrating_to_Expressions.md.ejs', root);
|
|
||||||
const templatesMD = readAndCompile('platform/darwin/docs/guides/Tile_URL_Templates.md.ejs', root);
|
|
||||||
|
|
||||||
const lightH = readAndCompile('platform/darwin/src/MLNLight.h.ejs', root);
|
const lightH = readAndCompile('platform/darwin/src/MLNLight.h.ejs', root);
|
||||||
const lightM = readAndCompile('platform/darwin/src/MLNLight.mm.ejs', root);
|
const lightM = readAndCompile('platform/darwin/src/MLNLight.mm.ejs', root);
|
||||||
@@ -900,61 +902,3 @@ for (var layer of layers) {
|
|||||||
writeIfModified(`platform/darwin/test/${prefix}${camelize(layer.type)}${suffix}Tests.mm`,
|
writeIfModified(`platform/darwin/test/${prefix}${camelize(layer.type)}${suffix}Tests.mm`,
|
||||||
testLayers(layer), outLocation);
|
testLayers(layer), outLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract examples for guides from unit tests.
|
|
||||||
/*let examplesSrc = fs.readFileSync('platform/darwin/test/MLNDocumentationGuideTests.swift', 'utf8');
|
|
||||||
const exampleRegex = /func test([\w$]+)\s*\(\)\s*\{[^]*?\n([ \t]+)\/\/#-example-code\n([^]+?)\n\2\/\/#-end-example-code\n/gm;
|
|
||||||
|
|
||||||
let examples = {};
|
|
||||||
let match;
|
|
||||||
while ((match = exampleRegex.exec(examplesSrc)) !== null) {
|
|
||||||
let testMethodName = match[1],
|
|
||||||
indentation = match[2],
|
|
||||||
exampleCode = match[3];
|
|
||||||
|
|
||||||
// Trim leading whitespace from the example code.
|
|
||||||
exampleCode = exampleCode.replace(new RegExp('^' + indentation, 'gm'), '');
|
|
||||||
|
|
||||||
examples[testMethodName] = exampleCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
global.guideExample = function (guide, exampleId, os) {
|
|
||||||
// Get the contents of the test method whose name matches the symbol path.
|
|
||||||
let testMethodName = `${guide}$${exampleId}`;
|
|
||||||
let example = examples[testMethodName];
|
|
||||||
if (!example) {
|
|
||||||
console.error(`MLNDocumentationExampleTests.test${testMethodName}() not found.`);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Resolve conditional compilation blocks.
|
|
||||||
example = example.replace(/^(\s*)#if\s+os\((iOS|macOS)\)\n([^]*?)(?:^\1#else\n([^]*?))?^\1#endif\b\n?/gm,
|
|
||||||
function (m, indentation, ifOs, ifCase, elseCase) {
|
|
||||||
return (os === ifOs ? ifCase : elseCase).replace(new RegExp('^ ', 'gm'), '');
|
|
||||||
}).replace(/\n$/, '');
|
|
||||||
|
|
||||||
return '```swift\n' + example + '\n```';
|
|
||||||
};
|
|
||||||
|
|
||||||
writeIfModified(`platform/ios/docs/guides/For Style Authors.md`, forStyleAuthorsMD({
|
|
||||||
os: 'iOS',
|
|
||||||
renamedProperties: renamedPropertiesByLayerType,
|
|
||||||
layers: layers,
|
|
||||||
}), outLocation);
|
|
||||||
writeIfModified(`platform/macos/docs/guides/For Style Authors.md`, forStyleAuthorsMD({
|
|
||||||
os: 'macOS',
|
|
||||||
renamedProperties: renamedPropertiesByLayerType,
|
|
||||||
layers: layers,
|
|
||||||
}), outLocation);
|
|
||||||
writeIfModified(`platform/ios/docs/guides/Migrating to Expressions.md`, ddsGuideMD({
|
|
||||||
os: 'iOS',
|
|
||||||
}), outLocation);
|
|
||||||
writeIfModified(`platform/macos/docs/guides/Migrating to Expressions.md`, ddsGuideMD({
|
|
||||||
os: 'macOS',
|
|
||||||
}), outLocation);
|
|
||||||
writeIfModified(`platform/ios/docs/guides/Tile URL Templates.md`, templatesMD({
|
|
||||||
os: 'iOS',
|
|
||||||
}), outLocation);
|
|
||||||
writeIfModified(`platform/macos/docs/guides/Tile URL Templates.md`, templatesMD({
|
|
||||||
os: 'macOS',
|
|
||||||
}), rooutLocationot);*/
|
|
||||||
|
|||||||
196
pnpm-lock.yaml
generated
196
pnpm-lock.yaml
generated
@@ -5,6 +5,9 @@ settings:
|
|||||||
excludeLinksFromLockfile: false
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@maplibre/maplibre-gl-style-spec':
|
||||||
|
specifier: ^20.3.1
|
||||||
|
version: 20.3.1
|
||||||
minimatch:
|
minimatch:
|
||||||
specifier: ^9.0.4
|
specifier: ^9.0.4
|
||||||
version: 9.0.4
|
version: 9.0.4
|
||||||
@@ -34,14 +37,20 @@ devDependencies:
|
|||||||
'@octokit/rest':
|
'@octokit/rest':
|
||||||
specifier: ^20.1.0
|
specifier: ^20.1.0
|
||||||
version: 20.1.0
|
version: 20.1.0
|
||||||
|
'@types/argparse':
|
||||||
|
specifier: ^2.0.16
|
||||||
|
version: 2.0.16
|
||||||
|
'@types/ejs':
|
||||||
|
specifier: ^3.1.5
|
||||||
|
version: 3.1.5
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.12.7
|
specifier: ^20.16.1
|
||||||
version: 20.12.7
|
version: 20.16.1
|
||||||
argparse:
|
argparse:
|
||||||
specifier: ^2.0.1
|
specifier: ^2.0.1
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
csscolorparser:
|
csscolorparser:
|
||||||
specifier: ~1.0.3
|
specifier: ^1.0.3
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
d3-queue:
|
d3-queue:
|
||||||
specifier: 3.0.7
|
specifier: 3.0.7
|
||||||
@@ -848,6 +857,11 @@ packages:
|
|||||||
vlq: 1.0.1
|
vlq: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@mapbox/jsonlint-lines-primitives@2.0.2:
|
||||||
|
resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==}
|
||||||
|
engines: {node: '>= 0.6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@mapbox/mvt-fixtures@3.10.0:
|
/@mapbox/mvt-fixtures@3.10.0:
|
||||||
resolution: {integrity: sha512-HpObcr5eu7MOcxWqjj81fWjQ/VNUaAWKoK/rjxnd6NeEgN3uknrq6aGrkhC5vvZ20T2G6sWkikyITJ8mgPUa8g==}
|
resolution: {integrity: sha512-HpObcr5eu7MOcxWqjj81fWjQ/VNUaAWKoK/rjxnd6NeEgN3uknrq6aGrkhC5vvZ20T2G6sWkikyITJ8mgPUa8g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -867,12 +881,30 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@mapbox/unitbezier@0.0.1:
|
||||||
|
resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@mapbox/vector-tile@1.3.1:
|
/@mapbox/vector-tile@1.3.1:
|
||||||
resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
|
resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mapbox/point-geometry': 0.1.0
|
'@mapbox/point-geometry': 0.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@maplibre/maplibre-gl-style-spec@20.3.1:
|
||||||
|
resolution: {integrity: sha512-5ueL4UDitzVtceQ8J4kY+Px3WK+eZTsmGwha3MBKHKqiHvKrjWWwBCIl1K8BuJSc5OFh83uI8IFNoFvQxX2uUw==}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@mapbox/jsonlint-lines-primitives': 2.0.2
|
||||||
|
'@mapbox/unitbezier': 0.0.1
|
||||||
|
json-stringify-pretty-compact: 4.0.0
|
||||||
|
minimist: 1.2.8
|
||||||
|
quickselect: 2.0.0
|
||||||
|
rw: 1.3.3
|
||||||
|
sort-object: 3.0.3
|
||||||
|
tinyqueue: 3.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@octokit/auth-token@4.0.0:
|
/@octokit/auth-token@4.0.0:
|
||||||
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
|
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
@@ -1505,10 +1537,18 @@ packages:
|
|||||||
tslib: 2.6.2
|
tslib: 2.6.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/node@20.12.7:
|
/@types/argparse@2.0.16:
|
||||||
resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
|
resolution: {integrity: sha512-aMqBra2JlqpFeCWOinCtpRpiCkPIXH8hahW2+FkGzvWjfE5sAqtOcrjN5DRcMnTQqFDe6gb1CVYuGnBH0lhXwA==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@types/ejs@3.1.5:
|
||||||
|
resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@types/node@20.16.1:
|
||||||
|
resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 6.19.8
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@xmldom/xmldom@0.8.10:
|
/@xmldom/xmldom@0.8.10:
|
||||||
@@ -1551,6 +1591,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/arr-union@3.1.0:
|
||||||
|
resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/array-buffer-byte-length@1.0.1:
|
/array-buffer-byte-length@1.0.1:
|
||||||
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
|
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -1597,6 +1642,11 @@ packages:
|
|||||||
engines: {node: '>=0.8'}
|
engines: {node: '>=0.8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/assign-symbols@1.0.0:
|
||||||
|
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/async-cache@1.1.0:
|
/async-cache@1.1.0:
|
||||||
resolution: {integrity: sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g==}
|
resolution: {integrity: sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g==}
|
||||||
deprecated: No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.
|
deprecated: No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.
|
||||||
@@ -1728,6 +1778,19 @@ packages:
|
|||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/bytewise-core@1.2.3:
|
||||||
|
resolution: {integrity: sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==}
|
||||||
|
dependencies:
|
||||||
|
typewise-core: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/bytewise@1.1.0:
|
||||||
|
resolution: {integrity: sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==}
|
||||||
|
dependencies:
|
||||||
|
bytewise-core: 1.2.3
|
||||||
|
typewise: 1.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
/call-bind@1.0.7:
|
/call-bind@1.0.7:
|
||||||
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
|
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -2154,6 +2217,21 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/extend-shallow@2.0.1:
|
||||||
|
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
is-extendable: 0.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/extend-shallow@3.0.2:
|
||||||
|
resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
assign-symbols: 1.0.0
|
||||||
|
is-extendable: 1.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/extend@3.0.2:
|
/extend@3.0.2:
|
||||||
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -2273,6 +2351,11 @@ packages:
|
|||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
get-intrinsic: 1.2.4
|
get-intrinsic: 1.2.4
|
||||||
|
|
||||||
|
/get-value@2.0.6:
|
||||||
|
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/getpass@0.1.7:
|
/getpass@0.1.7:
|
||||||
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2485,6 +2568,18 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-tostringtag: 1.0.2
|
has-tostringtag: 1.0.2
|
||||||
|
|
||||||
|
/is-extendable@0.1.1:
|
||||||
|
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-extendable@1.0.1:
|
||||||
|
resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
is-plain-object: 2.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
/is-map@2.0.3:
|
/is-map@2.0.3:
|
||||||
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
|
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -2500,6 +2595,13 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
has-tostringtag: 1.0.2
|
has-tostringtag: 1.0.2
|
||||||
|
|
||||||
|
/is-plain-object@2.0.4:
|
||||||
|
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
isobject: 3.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/is-regex@1.1.4:
|
/is-regex@1.1.4:
|
||||||
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
|
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -2565,6 +2667,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/isobject@3.0.1:
|
||||||
|
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/isstream@0.1.2:
|
/isstream@0.1.2:
|
||||||
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
|
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -2598,7 +2705,6 @@ packages:
|
|||||||
|
|
||||||
/json-stringify-pretty-compact@4.0.0:
|
/json-stringify-pretty-compact@4.0.0:
|
||||||
resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==}
|
resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/json-stringify-safe@5.0.1:
|
/json-stringify-safe@5.0.1:
|
||||||
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
||||||
@@ -2789,7 +2895,6 @@ packages:
|
|||||||
|
|
||||||
/minimist@1.2.8:
|
/minimist@1.2.8:
|
||||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/mock-property@1.0.3:
|
/mock-property@1.0.3:
|
||||||
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
|
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
|
||||||
@@ -3036,6 +3141,10 @@ packages:
|
|||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/quickselect@2.0.0:
|
||||||
|
resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/range-parser@1.2.1:
|
/range-parser@1.2.1:
|
||||||
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
@@ -3129,6 +3238,10 @@ packages:
|
|||||||
supports-preserve-symlinks-flag: 1.0.0
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/rw@1.3.3:
|
||||||
|
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/safe-array-concat@1.1.2:
|
/safe-array-concat@1.1.2:
|
||||||
resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
|
resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
|
||||||
engines: {node: '>=0.4'}
|
engines: {node: '>=0.4'}
|
||||||
@@ -3224,6 +3337,16 @@ packages:
|
|||||||
functions-have-names: 1.2.3
|
functions-have-names: 1.2.3
|
||||||
has-property-descriptors: 1.0.2
|
has-property-descriptors: 1.0.2
|
||||||
|
|
||||||
|
/set-value@2.0.1:
|
||||||
|
resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
extend-shallow: 2.0.1
|
||||||
|
is-extendable: 0.1.1
|
||||||
|
is-plain-object: 2.0.4
|
||||||
|
split-string: 3.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/setprototypeof@1.2.0:
|
/setprototypeof@1.2.0:
|
||||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -3277,6 +3400,28 @@ packages:
|
|||||||
plist: 3.1.0
|
plist: 3.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/sort-asc@0.2.0:
|
||||||
|
resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/sort-desc@0.2.0:
|
||||||
|
resolution: {integrity: sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/sort-object@3.0.3:
|
||||||
|
resolution: {integrity: sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
bytewise: 1.1.0
|
||||||
|
get-value: 2.0.6
|
||||||
|
is-extendable: 0.1.1
|
||||||
|
sort-asc: 0.2.0
|
||||||
|
sort-desc: 0.2.0
|
||||||
|
union-value: 1.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/spdx-correct@3.2.0:
|
/spdx-correct@3.2.0:
|
||||||
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
|
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3299,6 +3444,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
|
resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/split-string@3.1.0:
|
||||||
|
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
extend-shallow: 3.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/sshpk@1.18.0:
|
/sshpk@1.18.0:
|
||||||
resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
|
resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -3440,6 +3592,10 @@ packages:
|
|||||||
string.prototype.trim: 1.2.9
|
string.prototype.trim: 1.2.9
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tinyqueue@3.0.0:
|
||||||
|
resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/to-fast-properties@2.0.0:
|
/to-fast-properties@2.0.0:
|
||||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -3530,6 +3686,16 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/typewise-core@1.2.0:
|
||||||
|
resolution: {integrity: sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/typewise@1.0.3:
|
||||||
|
resolution: {integrity: sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==}
|
||||||
|
dependencies:
|
||||||
|
typewise-core: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/unbox-primitive@1.0.2:
|
/unbox-primitive@1.0.2:
|
||||||
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
|
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3538,10 +3704,20 @@ packages:
|
|||||||
has-symbols: 1.0.3
|
has-symbols: 1.0.3
|
||||||
which-boxed-primitive: 1.0.2
|
which-boxed-primitive: 1.0.2
|
||||||
|
|
||||||
/undici-types@5.26.5:
|
/undici-types@6.19.8:
|
||||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/union-value@1.0.1:
|
||||||
|
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
arr-union: 3.1.0
|
||||||
|
get-value: 2.0.6
|
||||||
|
is-extendable: 0.1.1
|
||||||
|
set-value: 2.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/universal-user-agent@6.0.1:
|
/universal-user-agent@6.0.1:
|
||||||
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
|
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|||||||
@@ -42,15 +42,6 @@ export function unhyphenate (/** @type {string} **/ str) {
|
|||||||
return str.replace(/-/g, " ");
|
return str.replace(/-/g, " ");
|
||||||
};
|
};
|
||||||
|
|
||||||
// Write out a list of files that this script is modifying so that we can check
|
|
||||||
/** @type {string[]} **/
|
|
||||||
let files = [];
|
|
||||||
process.on('exit', function() {
|
|
||||||
const list = path.join(path.dirname(process.argv[1]), path.basename(process.argv[1], '.js') + '.list');
|
|
||||||
console.log(`Writing files that this script modifies to: ${list}`);
|
|
||||||
fs.writeFileSync(list, files.join("\n"));
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {string} filename
|
* @param {string} filename
|
||||||
@@ -67,7 +58,6 @@ export function writeIfModified(filename, newContent, output) {
|
|||||||
fs.mkdirSync(info.dir, {recursive: true});
|
fs.mkdirSync(info.dir, {recursive: true});
|
||||||
}
|
}
|
||||||
|
|
||||||
files.push(filename);
|
|
||||||
try {
|
try {
|
||||||
const oldContent = fs.readFileSync(filename, 'utf8');
|
const oldContent = fs.readFileSync(filename, 'utf8');
|
||||||
if (oldContent == newContent) {
|
if (oldContent == newContent) {
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
|
|
||||||
import spec from './v8.json';
|
|
||||||
export default spec;
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,184 +1,204 @@
|
|||||||
import referenceSpec from "../scripts/style-spec-reference/v8.json" with { type: "json" };
|
import referenceSpec from './style-spec-reference/v8.json' with { type: "json" };
|
||||||
|
|
||||||
|
// https://github.com/maplibre/maplibre-native/issues/2368
|
||||||
|
referenceSpec['layout_symbol']['icon-padding']['type'] = 'number';
|
||||||
|
// @ts-ignore
|
||||||
|
referenceSpec['layout_symbol']['icon-padding']['default'] = 2;
|
||||||
|
|
||||||
|
// https://github.com/maplibre/maplibre-native/issues/2754
|
||||||
|
referenceSpec['layout_symbol']['icon-padding']['property-type'] = 'data constant';
|
||||||
|
|
||||||
/** @type {any} */
|
/** @type {any} */
|
||||||
let modifiedReferenceSpec = referenceSpec;
|
let modifiedReferenceSpec = referenceSpec;
|
||||||
|
|
||||||
|
// https://github.com/maplibre/maplibre-native/issues/250
|
||||||
|
delete modifiedReferenceSpec['layout_symbol']['text-rotation-alignment']["values"]['viewport-glyph']
|
||||||
|
|
||||||
|
// https://github.com/maplibre/maplibre-native/issues/2358
|
||||||
|
delete modifiedReferenceSpec['layout_symbol']['text-variable-anchor-offset'];
|
||||||
|
|
||||||
|
// https://github.com/maplibre/maplibre-native/issues/251
|
||||||
|
delete modifiedReferenceSpec['layout_symbol']['icon-overlap'];
|
||||||
|
delete modifiedReferenceSpec['layout_symbol']['text-overlap'];
|
||||||
|
modifiedReferenceSpec["layout_symbol"]["text-allow-overlap"]["requires"] = referenceSpec["layout_symbol"]["text-allow-overlap"]["requires"].filter(val => JSON.stringify(val) !== '{"!":"text-overlap"}');
|
||||||
|
modifiedReferenceSpec["layout_symbol"]["text-allow-overlap"]["requires"] = referenceSpec["layout_symbol"]["icon-allow-overlap"]["requires"].filter(val => JSON.stringify(val) !== '{"!":"icon-overlap"}');
|
||||||
|
|
||||||
modifiedReferenceSpec.layer.type.values["location-indicator"] = {};
|
modifiedReferenceSpec.layer.type.values["location-indicator"] = {};
|
||||||
modifiedReferenceSpec["layout_location-indicator"] = {
|
modifiedReferenceSpec["layout_location-indicator"] = {
|
||||||
"top-image": {
|
"top-image": {
|
||||||
"type": "resolvedImage",
|
"type": "resolvedImage",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": false,
|
"interpolated": false,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doc": "Name of image in sprite to use as the top of the location indicator."
|
"doc": "Name of image in sprite to use as the top of the location indicator."
|
||||||
},
|
},
|
||||||
"bearing-image": {
|
"bearing-image": {
|
||||||
"type": "resolvedImage",
|
"type": "resolvedImage",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": false,
|
"interpolated": false,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doc": "Name of image in sprite to use as the middle of the location indicator."
|
"doc": "Name of image in sprite to use as the middle of the location indicator."
|
||||||
},
|
},
|
||||||
"shadow-image": {
|
"shadow-image": {
|
||||||
"type": "resolvedImage",
|
"type": "resolvedImage",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": false,
|
"interpolated": false,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doc": "Name of image in sprite to use as the background of the location indicator."
|
"doc": "Name of image in sprite to use as the background of the location indicator."
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
modifiedReferenceSpec["paint_location-indicator"] = {
|
modifiedReferenceSpec["paint_location-indicator"] = {
|
||||||
"perspective-compensation": {
|
"perspective-compensation": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"default": "0.85",
|
"default": "0.85",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doc": "The amount of the perspective compensation, between 0 and 1. A value of 1 produces a location indicator of constant width across the screen. A value of 0 makes it scale naturally according to the viewing projection."
|
"doc": "The amount of the perspective compensation, between 0 and 1. A value of 1 produces a location indicator of constant width across the screen. A value of 0 makes it scale naturally according to the viewing projection."
|
||||||
},
|
},
|
||||||
"image-tilt-displacement": {
|
"image-tilt-displacement": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": "0",
|
"default": "0",
|
||||||
"units": "pixels",
|
"units": "pixels",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"doc": "The displacement off the center of the top image and the shadow image when the pitch of the map is greater than 0. This helps producing a three-dimensional appearence."
|
"doc": "The displacement off the center of the top image and the shadow image when the pitch of the map is greater than 0. This helps producing a three-dimensional appearence."
|
||||||
},
|
},
|
||||||
"bearing": {
|
"bearing": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"period": 360,
|
"period": 360,
|
||||||
"units": "degrees",
|
"units": "degrees",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": false,
|
"interpolated": false,
|
||||||
"parameters": [ ]
|
"parameters": [ ]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The bearing of the location indicator."
|
"doc": "The bearing of the location indicator."
|
||||||
},
|
},
|
||||||
"location": {
|
"location": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"default": [
|
"default": [
|
||||||
0.0,
|
0.0,
|
||||||
0.0,
|
0.0,
|
||||||
0.0
|
0.0
|
||||||
],
|
],
|
||||||
"length": 3,
|
"length": 3,
|
||||||
"value": "number",
|
"value": "number",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": []
|
"parameters": []
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "An array of [latitude, longitude, altitude] position of the location indicator."
|
"doc": "An array of [latitude, longitude, altitude] position of the location indicator."
|
||||||
},
|
},
|
||||||
"accuracy-radius": {
|
"accuracy-radius": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"units": "meters",
|
"units": "meters",
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The accuracy, in meters, of the position source used to retrieve the position of the location indicator."
|
"doc": "The accuracy, in meters, of the position source used to retrieve the position of the location indicator."
|
||||||
},
|
},
|
||||||
"top-image-size": {
|
"top-image-size": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"units": "factor of the original icon size",
|
"units": "factor of the original icon size",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": 1,
|
"default": 1,
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The size of the top image, as a scale factor applied to the size of the specified image."
|
"doc": "The size of the top image, as a scale factor applied to the size of the specified image."
|
||||||
},
|
},
|
||||||
"bearing-image-size": {
|
"bearing-image-size": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"units": "factor of the original icon size",
|
"units": "factor of the original icon size",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": 1,
|
"default": 1,
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The size of the bearing image, as a scale factor applied to the size of the specified image."
|
"doc": "The size of the bearing image, as a scale factor applied to the size of the specified image."
|
||||||
},
|
},
|
||||||
"shadow-image-size": {
|
"shadow-image-size": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"units": "factor of the original icon size",
|
"units": "factor of the original icon size",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": 1,
|
"default": 1,
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The size of the shadow image, as a scale factor applied to the size of the specified image."
|
"doc": "The size of the shadow image, as a scale factor applied to the size of the specified image."
|
||||||
},
|
},
|
||||||
"accuracy-radius-color": {
|
"accuracy-radius-color": {
|
||||||
"type": "color",
|
"type": "color",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": "#ffffff",
|
"default": "#ffffff",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The color for drawing the accuracy radius, as a circle. To adjust transparency, set the alpha component of the color accordingly."
|
"doc": "The color for drawing the accuracy radius, as a circle. To adjust transparency, set the alpha component of the color accordingly."
|
||||||
|
|
||||||
},
|
},
|
||||||
"accuracy-radius-border-color": {
|
"accuracy-radius-border-color": {
|
||||||
"type": "color",
|
"type": "color",
|
||||||
"property-type": "data-constant",
|
"property-type": "data-constant",
|
||||||
"default": "#ffffff",
|
"default": "#ffffff",
|
||||||
"expression": {
|
"expression": {
|
||||||
"interpolated": true,
|
"interpolated": true,
|
||||||
"parameters": [
|
"parameters": [
|
||||||
"zoom"
|
"zoom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"transition": true,
|
"transition": true,
|
||||||
"doc": "The color for drawing the accuracy radius border. To adjust transparency, set the alpha component of the color accordingly."
|
"doc": "The color for drawing the accuracy radius border. To adjust transparency, set the alpha component of the color accordingly."
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default modifiedReferenceSpec;
|
export default modifiedReferenceSpec;
|
||||||
@@ -87,4 +87,4 @@ cc_test(
|
|||||||
"tests",
|
"tests",
|
||||||
"//platform/linux:impl",
|
"//platform/linux:impl",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user