@mapcatch/util 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.eslintrc.js +53 -0
  2. package/.prettierrc +4 -0
  3. package/CHANGELOG.md +8 -1
  4. package/debug/app.js +22 -0
  5. package/debug/index.html +52 -0
  6. package/debug/libs/vue.global.js +16159 -0
  7. package/debug/my_icon.png +0 -0
  8. package/docs/Catolog.md +24 -0
  9. package/docs/Constant.md +92 -0
  10. package/docs/Event.md +90 -0
  11. package/docs/Util.md +345 -0
  12. package/package.json +1 -2
  13. package/src/constants/bmap_types.js +2 -2
  14. package/src/constants/crs_types.js +22 -0
  15. package/src/constants/default_layers.js +9 -9
  16. package/src/constants/index.js +3 -2
  17. package/src/constants/layer_folders.js +4 -4
  18. package/src/constants/measurement_fields.js +198 -0
  19. package/src/gl-operations/shaders/fragment/convertDem.js +2 -2
  20. package/src/gl-operations/shaders/fragment/convolutionSmooth.js +2 -2
  21. package/src/gl-operations/shaders/fragment/diffCalc.js +2 -2
  22. package/src/gl-operations/shaders/fragment/drawResult.js +2 -2
  23. package/src/gl-operations/shaders/fragment/hillshading/hsAdvAmbientShadows.js +2 -2
  24. package/src/gl-operations/shaders/fragment/hillshading/hsAdvFinalBaselayer.js +2 -2
  25. package/src/gl-operations/shaders/fragment/hillshading/hsAdvNormals.js +2 -2
  26. package/src/gl-operations/shaders/fragment/hillshading/hsAdvSoftShadows.js +2 -2
  27. package/src/gl-operations/shaders/fragment/interpolateColor.js +2 -2
  28. package/src/gl-operations/shaders/fragment/interpolateColorOnly.js +2 -2
  29. package/src/gl-operations/shaders/fragment/interpolateValue.js +2 -2
  30. package/src/gl-operations/shaders/fragment/multiAnalyze1Calc.js +2 -2
  31. package/src/gl-operations/shaders/fragment/multiAnalyze2Calc.js +2 -2
  32. package/src/gl-operations/shaders/fragment/multiAnalyze3Calc.js +2 -2
  33. package/src/gl-operations/shaders/fragment/multiAnalyze4Calc.js +2 -2
  34. package/src/gl-operations/shaders/fragment/multiAnalyze5Calc.js +2 -2
  35. package/src/gl-operations/shaders/fragment/multiAnalyze6Calc.js +2 -2
  36. package/src/gl-operations/shaders/vertex/double.js +2 -2
  37. package/src/gl-operations/shaders/vertex/multi3.js +2 -2
  38. package/src/gl-operations/shaders/vertex/multi4.js +2 -2
  39. package/src/gl-operations/shaders/vertex/multi5.js +2 -2
  40. package/src/gl-operations/shaders/vertex/multi6.js +2 -2
  41. package/src/gl-operations/shaders/vertex/singleNotTransformed.js +2 -2
  42. package/src/index.js +0 -2
  43. package/src/util.js +31 -51
  44. package/vite.config.js +52 -0
  45. package/dist/catchUtil.min.esm.js +0 -17563
  46. package/dist/catchUtil.min.js +0 -284
  47. package/src/constants/map_view_mode.js +0 -10
  48. package/src/exif/exif.js +0 -37
  49. package/src/exif/gps_tags.js +0 -33
  50. package/src/exif/ifd1_tags.js +0 -22
  51. package/src/exif/index.js +0 -33
  52. package/src/exif/iptc_field_map.js +0 -12
  53. package/src/exif/parse_image.js +0 -445
  54. package/src/exif/string_values.js +0 -137
  55. package/src/exif/tags.js +0 -75
  56. package/src/exif/tiff_tags.js +0 -35
  57. package/src/exif/util.js +0 -108
  58. package/src/image-size/detector.js +0 -24
  59. package/src/image-size/fromFile.js +0 -55
  60. package/src/image-size/index.js +0 -2
  61. package/src/image-size/lookup.js +0 -37
  62. package/src/image-size/types/bmp.js +0 -10
  63. package/src/image-size/types/cur.js +0 -16
  64. package/src/image-size/types/dds.js +0 -10
  65. package/src/image-size/types/gif.js +0 -11
  66. package/src/image-size/types/heif.js +0 -35
  67. package/src/image-size/types/icns.js +0 -112
  68. package/src/image-size/types/ico.js +0 -74
  69. package/src/image-size/types/index.js +0 -43
  70. package/src/image-size/types/j2c.js +0 -11
  71. package/src/image-size/types/jp2.js +0 -22
  72. package/src/image-size/types/jpg.js +0 -157
  73. package/src/image-size/types/ktx.js +0 -18
  74. package/src/image-size/types/png.js +0 -36
  75. package/src/image-size/types/pnm.js +0 -74
  76. package/src/image-size/types/psd.js +0 -10
  77. package/src/image-size/types/svg.js +0 -100
  78. package/src/image-size/types/tga.js +0 -14
  79. package/src/image-size/types/tiff.js +0 -92
  80. package/src/image-size/types/utils.js +0 -83
  81. package/src/image-size/types/webp.js +0 -67
@@ -1,83 +0,0 @@
1
- const decoder = new TextDecoder()
2
- export const toUTF8String = (
3
- input,
4
- start = 0,
5
- end = input.length,
6
- ) => decoder.decode(input.slice(start, end))
7
-
8
- export const toHexString = (input, start = 0, end = input.length) =>
9
- input
10
- .slice(start, end)
11
- .reduce((memo, i) => memo + ('0' + i.toString(16)).slice(-2), '')
12
-
13
- export const readInt16LE = (input, offset = 0) => {
14
- const val = input[offset] + input[offset + 1] * 2 ** 8
15
- return val | ((val & (2 ** 15)) * 0x1fffe)
16
- }
17
-
18
- export const readUInt16BE = (input, offset = 0) =>
19
- input[offset] * 2 ** 8 + input[offset + 1]
20
-
21
- export const readUInt16LE = (input, offset = 0) =>
22
- input[offset] + input[offset + 1] * 2 ** 8
23
-
24
- export const readUInt24LE = (input, offset = 0) =>
25
- input[offset] + input[offset + 1] * 2 ** 8 + input[offset + 2] * 2 ** 16
26
-
27
- export const readInt32LE = (input, offset = 0) =>
28
- input[offset] +
29
- input[offset + 1] * 2 ** 8 +
30
- input[offset + 2] * 2 ** 16 +
31
- (input[offset + 3] << 24)
32
-
33
- export const readUInt32BE = (input, offset = 0) =>
34
- input[offset] * 2 ** 24 +
35
- input[offset + 1] * 2 ** 16 +
36
- input[offset + 2] * 2 ** 8 +
37
- input[offset + 3]
38
-
39
- export const readUInt32LE = (input, offset = 0) =>
40
- input[offset] +
41
- input[offset + 1] * 2 ** 8 +
42
- input[offset + 2] * 2 ** 16 +
43
- input[offset + 3] * 2 ** 24
44
-
45
- // Abstract reading multi-byte unsigned integers
46
- const methods = {
47
- readUInt16BE,
48
- readUInt16LE,
49
- readUInt32BE,
50
- readUInt32LE,
51
- }
52
-
53
- export function readUInt(
54
- input,
55
- bits,
56
- offset,
57
- isBigEndian,
58
- ) {
59
- offset = offset || 0
60
- const endian = isBigEndian ? 'BE' : 'LE'
61
- const methodName = 'readUInt' + bits + endian
62
- return methods[methodName](input, offset)
63
- }
64
-
65
- function readBox(buffer, offset) {
66
- if (buffer.length - offset < 4) return
67
- const boxSize = readUInt32BE(buffer, offset)
68
- if (buffer.length - offset < boxSize) return
69
- return {
70
- name: toUTF8String(buffer, 4 + offset, 8 + offset),
71
- offset,
72
- size: boxSize,
73
- }
74
- }
75
-
76
- export function findBox(buffer, boxName, offset) {
77
- while (offset < buffer.length) {
78
- const box = readBox(buffer, offset)
79
- if (!box) break
80
- if (box.name === boxName) return box
81
- offset += box.size
82
- }
83
- }
@@ -1,67 +0,0 @@
1
- // based on https://developers.google.com/speed/webp/docs/riff_container
2
- import { toHexString, toUTF8String, readInt16LE, readUInt24LE } from './utils'
3
-
4
- function calculateExtended(input) {
5
- return {
6
- height: 1 + readUInt24LE(input, 7),
7
- width: 1 + readUInt24LE(input, 4),
8
- }
9
- }
10
-
11
- function calculateLossless(input) {
12
- return {
13
- height:
14
- 1 +
15
- (((input[4] & 0xf) << 10) | (input[3] << 2) | ((input[2] & 0xc0) >> 6)),
16
- width: 1 + (((input[2] & 0x3f) << 8) | input[1]),
17
- }
18
- }
19
-
20
- function calculateLossy(input) {
21
- // `& 0x3fff` returns the last 14 bits
22
- // TO-DO: include webp scaling in the calculations
23
- return {
24
- height: readInt16LE(input, 8) & 0x3fff,
25
- width: readInt16LE(input, 6) & 0x3fff,
26
- }
27
- }
28
-
29
- export const WEBP = {
30
- validate(input) {
31
- const riffHeader = 'RIFF' === toUTF8String(input, 0, 4)
32
- const webpHeader = 'WEBP' === toUTF8String(input, 8, 12)
33
- const vp8Header = 'VP8' === toUTF8String(input, 12, 15)
34
- return riffHeader && webpHeader && vp8Header
35
- },
36
-
37
- calculate(input) {
38
- const chunkHeader = toUTF8String(input, 12, 16)
39
- input = input.slice(20, 30)
40
-
41
- // Extended webp stream signature
42
- if (chunkHeader === 'VP8X') {
43
- const extendedHeader = input[0]
44
- const validStart = (extendedHeader & 0xc0) === 0
45
- const validEnd = (extendedHeader & 0x01) === 0
46
- if (validStart && validEnd) {
47
- return calculateExtended(input)
48
- } else {
49
- // TODO: breaking change
50
- throw new TypeError('Invalid WebP')
51
- }
52
- }
53
-
54
- // Lossless webp stream signature
55
- if (chunkHeader === 'VP8 ' && input[0] !== 0x2f) {
56
- return calculateLossy(input)
57
- }
58
-
59
- // Lossy webp stream signature
60
- const signature = toHexString(input, 3, 6)
61
- if (chunkHeader === 'VP8L' && signature !== '9d012a') {
62
- return calculateLossless(input)
63
- }
64
-
65
- throw new TypeError('Invalid WebP')
66
- },
67
- }