rebuilt with correct sdk
This commit is contained in:
Generated
+79
-51
@@ -15,7 +15,7 @@
|
|||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-intl": "^6.4.4",
|
"react-intl": "^6.4.4",
|
||||||
"tinode-sdk": "^0.22.12",
|
"tinode-sdk": "^0.22.13",
|
||||||
"webm-duration-fix": "^1.0.4"
|
"webm-duration-fix": "^1.0.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -2322,9 +2322,9 @@
|
|||||||
"integrity": "sha512-EnfRJvrnzkHwN3BPMCayCFT5lCqInzg3RdlRsDjDvB1EJli6Usj26T6lJ67BU2UcYXBS5xcp1Wj4+zRzj2NaZg=="
|
"integrity": "sha512-EnfRJvrnzkHwN3BPMCayCFT5lCqInzg3RdlRsDjDvB1EJli6Usj26T6lJ67BU2UcYXBS5xcp1Wj4+zRzj2NaZg=="
|
||||||
},
|
},
|
||||||
"node_modules/@formatjs/cli": {
|
"node_modules/@formatjs/cli": {
|
||||||
"version": "6.2.9",
|
"version": "6.2.10",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.2.9.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/cli/-/cli-6.2.10.tgz",
|
||||||
"integrity": "sha512-YH09kY6oufPdNDIwva/rC7wyg/ptJG6hRZ768eJEafiBR5R1VV1pKFmx106FV5WT7nzBm8Xf4Td+8+Mu+DtQsg==",
|
"integrity": "sha512-JdFw5oqPNB4qahie2Mcg6yXxyUJouN60OaEaejjMtGsgoPbFjS7X/9/Nj5vW+rAUTi0UNbOW+JPW9XNx6EuoHw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"formatjs": "bin/formatjs"
|
"formatjs": "bin/formatjs"
|
||||||
@@ -2333,9 +2333,37 @@
|
|||||||
"node": ">= 16"
|
"node": ">= 16"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@glimmer/env": "^0.1.7",
|
||||||
|
"@glimmer/reference": "^0.91.1",
|
||||||
|
"@glimmer/syntax": "^0.91.1",
|
||||||
|
"@glimmer/validator": "^0.91.1",
|
||||||
|
"@vue/compiler-core": "^3.4.0",
|
||||||
|
"content-tag": "^2.0.1",
|
||||||
|
"ember-template-recast": "^6.1.4",
|
||||||
"vue": "^3.4.0"
|
"vue": "^3.4.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
|
"@glimmer/env": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@glimmer/reference": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@glimmer/syntax": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@glimmer/validator": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@vue/compiler-core": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"content-tag": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"ember-template-recast": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"vue": {
|
"vue": {
|
||||||
"optional": true
|
"optional": true
|
||||||
}
|
}
|
||||||
@@ -2378,16 +2406,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@formatjs/intl": {
|
"node_modules/@formatjs/intl": {
|
||||||
"version": "2.10.1",
|
"version": "2.10.2",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.2.tgz",
|
||||||
"integrity": "sha512-dsLG15U7xDi8yzKf4hcAWSsCaez3XrjTO2oaRHPyHtXLm1aEzYbDw6bClo/HMHu+iwS5GbDqT3DV+hYP2ylScg==",
|
"integrity": "sha512-raPGWr3JRv3neXV78SqPFrGC05fIbhhNzVghHNxFde27ls2KkXiMhtP7HBybjGpikVSjjhdhaZto+4p1vmm9bQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@formatjs/ecma402-abstract": "1.18.2",
|
"@formatjs/ecma402-abstract": "1.18.2",
|
||||||
"@formatjs/fast-memoize": "2.2.0",
|
"@formatjs/fast-memoize": "2.2.0",
|
||||||
"@formatjs/icu-messageformat-parser": "2.7.6",
|
"@formatjs/icu-messageformat-parser": "2.7.6",
|
||||||
"@formatjs/intl-displaynames": "6.6.6",
|
"@formatjs/intl-displaynames": "6.6.6",
|
||||||
"@formatjs/intl-listformat": "7.5.5",
|
"@formatjs/intl-listformat": "7.5.5",
|
||||||
"intl-messageformat": "10.5.11",
|
"intl-messageformat": "10.5.12",
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@@ -2533,13 +2561,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@grpc/proto-loader": {
|
"node_modules/@grpc/proto-loader": {
|
||||||
"version": "0.7.12",
|
"version": "0.7.13",
|
||||||
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.12.tgz",
|
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz",
|
||||||
"integrity": "sha512-DCVwMxqYzpUCiDMl7hQ384FqP4T3DbNpXU8pt681l3UWCip1WUiD5JrkImUwCB9a7f2cq4CUTmi5r/xIMRPY1Q==",
|
"integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lodash.camelcase": "^4.3.0",
|
"lodash.camelcase": "^4.3.0",
|
||||||
"long": "^5.0.0",
|
"long": "^5.0.0",
|
||||||
"protobufjs": "^7.2.4",
|
"protobufjs": "^7.2.5",
|
||||||
"yargs": "^17.7.2"
|
"yargs": "^17.7.2"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -3072,15 +3100,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ajv": {
|
"node_modules/ajv": {
|
||||||
"version": "8.12.0",
|
"version": "8.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz",
|
||||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
"integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.3",
|
||||||
"json-schema-traverse": "^1.0.0",
|
"json-schema-traverse": "^1.0.0",
|
||||||
"require-from-string": "^2.0.2",
|
"require-from-string": "^2.0.2",
|
||||||
"uri-js": "^4.2.2"
|
"uri-js": "^4.4.1"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -3385,9 +3413,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001614",
|
"version": "1.0.30001616",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz",
|
||||||
"integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==",
|
"integrity": "sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3973,9 +4001,9 @@
|
|||||||
"integrity": "sha512-HgNlIsRFP6D9VKU5atCeHRJY7XkJP8bOe8yEhd8NB7B3b4++VWTyauz6g650iiPmLfPLGlVpoJmGSgMfXDYusg=="
|
"integrity": "sha512-HgNlIsRFP6D9VKU5atCeHRJY7XkJP8bOe8yEhd8NB7B3b4++VWTyauz6g650iiPmLfPLGlVpoJmGSgMfXDYusg=="
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.751",
|
"version": "1.4.759",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.751.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.759.tgz",
|
||||||
"integrity": "sha512-2DEPi++qa89SMGRhufWTiLmzqyuGmNF3SK4+PQetW1JKiZdEpF4XQonJXJCzyuYSA6mauiMhbyVhqYAP45Hvfw==",
|
"integrity": "sha512-qZJc+zsuI+/5UjOSFnpkJBwwLMH1AZgyKqJ7LUNnRsB7v/cDjMu9DvXgp9kH6PTTZxjnPXGp2Uhurw+2Ll4Hjg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/emoji-regex": {
|
"node_modules/emoji-regex": {
|
||||||
@@ -3985,9 +4013,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/enhanced-resolve": {
|
"node_modules/enhanced-resolve": {
|
||||||
"version": "5.16.0",
|
"version": "5.16.1",
|
||||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
|
||||||
"integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
|
"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"graceful-fs": "^4.2.4",
|
"graceful-fs": "^4.2.4",
|
||||||
@@ -4701,9 +4729,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/intl-messageformat": {
|
"node_modules/intl-messageformat": {
|
||||||
"version": "10.5.11",
|
"version": "10.5.12",
|
||||||
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.11.tgz",
|
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.12.tgz",
|
||||||
"integrity": "sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg==",
|
"integrity": "sha512-izl0uxhy/melhw8gP2r8pGiVieviZmM4v5Oqx3c1/R7g9cwER2smmGfSjcIsp8Y3Q53bfciL/gkxacJRx/dUvg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@formatjs/ecma402-abstract": "1.18.2",
|
"@formatjs/ecma402-abstract": "1.18.2",
|
||||||
"@formatjs/fast-memoize": "2.2.0",
|
"@formatjs/fast-memoize": "2.2.0",
|
||||||
@@ -4952,9 +4980,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/libphonenumber-js": {
|
"node_modules/libphonenumber-js": {
|
||||||
"version": "1.10.61",
|
"version": "1.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.61.tgz",
|
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.1.tgz",
|
||||||
"integrity": "sha512-TsQsyzDttDvvzWNkbp/i0fVbzTGJIG0mUu/uNalIaRQEYeJxVQ/FPg+EJgSqfSXezREjM0V3RZ8cLVsKYhhw0Q=="
|
"integrity": "sha512-Wze1LPwcnzvcKGcRHFGFECTaLzxOtujwpf924difr5zniyYv1C2PiW0419qDR7m8lKDxsImu5mwxFuXhXpjmvw=="
|
||||||
},
|
},
|
||||||
"node_modules/lilconfig": {
|
"node_modules/lilconfig": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
@@ -5111,9 +5139,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minipass": {
|
"node_modules/minipass": {
|
||||||
"version": "7.0.4",
|
"version": "7.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz",
|
||||||
"integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
|
"integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16 || 14 >=14.17"
|
"node": ">=16 || 14 >=14.17"
|
||||||
@@ -5979,19 +6007,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-intl": {
|
"node_modules/react-intl": {
|
||||||
"version": "6.6.5",
|
"version": "6.6.6",
|
||||||
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.6.5.tgz",
|
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.6.6.tgz",
|
||||||
"integrity": "sha512-OErDPbGqus0QKVj77MGCC9Plbnys3CDQrq6Lw41c60pmeTdn41AhoS1SIzXG6SUlyF7qNN2AVqfrrIvHUgSyLQ==",
|
"integrity": "sha512-dKXQNUrhZTlCp8uelYW8PHiM4saNKyLmHCfsJYWK0N/kZ/Ien35wjPHB8x9yQcTJbeN/hBOmb4x16iKUrdL9MA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@formatjs/ecma402-abstract": "1.18.2",
|
"@formatjs/ecma402-abstract": "1.18.2",
|
||||||
"@formatjs/icu-messageformat-parser": "2.7.6",
|
"@formatjs/icu-messageformat-parser": "2.7.6",
|
||||||
"@formatjs/intl": "2.10.1",
|
"@formatjs/intl": "2.10.2",
|
||||||
"@formatjs/intl-displaynames": "6.6.6",
|
"@formatjs/intl-displaynames": "6.6.6",
|
||||||
"@formatjs/intl-listformat": "7.5.5",
|
"@formatjs/intl-listformat": "7.5.5",
|
||||||
"@types/hoist-non-react-statics": "^3.3.1",
|
"@types/hoist-non-react-statics": "^3.3.1",
|
||||||
"@types/react": "16 || 17 || 18",
|
"@types/react": "16 || 17 || 18",
|
||||||
"hoist-non-react-statics": "^3.3.2",
|
"hoist-non-react-statics": "^3.3.2",
|
||||||
"intl-messageformat": "10.5.11",
|
"intl-messageformat": "10.5.12",
|
||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@@ -6504,9 +6532,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svgo": {
|
"node_modules/svgo": {
|
||||||
"version": "3.2.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.0.tgz",
|
||||||
"integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==",
|
"integrity": "sha512-y350OL6eAmhDbWcASdukXoG0MbpdfJQPHwEUAaTW1HBNSO2VErJ35fs7uNLSWjzFDhfua517RcouBzjZoO1JFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@trysound/sax": "0.2.0",
|
"@trysound/sax": "0.2.0",
|
||||||
@@ -6518,7 +6546,7 @@
|
|||||||
"picocolors": "^1.0.0"
|
"picocolors": "^1.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"svgo": "bin/svgo"
|
"svgo": "bin/svgo.js"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
@@ -6651,9 +6679,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/tinode-sdk": {
|
"node_modules/tinode-sdk": {
|
||||||
"version": "0.22.12",
|
"version": "0.22.13",
|
||||||
"resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.22.12.tgz",
|
"resolved": "https://registry.npmjs.org/tinode-sdk/-/tinode-sdk-0.22.13.tgz",
|
||||||
"integrity": "sha512-Rj9W1JIk3Qzv90oNXSHWgWgtXpZIe+o0yWRq/Fistirs9DOtMZpVgDkfLJ+G/vosVO01fc8PClEMNLYpQH1x+Q=="
|
"integrity": "sha512-LdWs61yc4Xe7sGW1cZUmpkyVY8WUMuam4yYxBePWgE4zE+Ed8H+Le7LK9iw7fKrypY1krAwPplNicrpFFict0w=="
|
||||||
},
|
},
|
||||||
"node_modules/to-fast-properties": {
|
"node_modules/to-fast-properties": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -6755,9 +6783,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/update-browserslist-db": {
|
"node_modules/update-browserslist-db": {
|
||||||
"version": "1.0.13",
|
"version": "1.0.15",
|
||||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz",
|
||||||
"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
|
"integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6774,7 +6802,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"escalade": "^3.1.1",
|
"escalade": "^3.1.2",
|
||||||
"picocolors": "^1.0.0"
|
"picocolors": "^1.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+80
-22
@@ -1220,7 +1220,7 @@ class DB {
|
|||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @copyright 2015-2022 Tinode LLC.
|
* @copyright 2015-2024 Tinode LLC.
|
||||||
* @summary Minimally rich text representation and formatting for Tinode.
|
* @summary Minimally rich text representation and formatting for Tinode.
|
||||||
* @license Apache 2.0
|
* @license Apache 2.0
|
||||||
*
|
*
|
||||||
@@ -1280,6 +1280,7 @@ const MAX_PREVIEW_DATA_SIZE = 64;
|
|||||||
const JSON_MIME_TYPE = 'application/json';
|
const JSON_MIME_TYPE = 'application/json';
|
||||||
const DRAFTY_MIME_TYPE = 'text/x-drafty';
|
const DRAFTY_MIME_TYPE = 'text/x-drafty';
|
||||||
const ALLOWED_ENT_FIELDS = ['act', 'height', 'duration', 'incoming', 'mime', 'name', 'premime', 'preref', 'preview', 'ref', 'size', 'state', 'url', 'val', 'width'];
|
const ALLOWED_ENT_FIELDS = ['act', 'height', 'duration', 'incoming', 'mime', 'name', 'premime', 'preref', 'preview', 'ref', 'size', 'state', 'url', 'val', 'width'];
|
||||||
|
const segmenter = new Intl.Segmenter();
|
||||||
const INLINE_STYLES = [{
|
const INLINE_STYLES = [{
|
||||||
name: 'ST',
|
name: 'ST',
|
||||||
start: /(?:^|[\W_])(\*)[^\s*]/,
|
start: /(?:^|[\W_])(\*)[^\s*]/,
|
||||||
@@ -1700,24 +1701,48 @@ Drafty.parse = function (content) {
|
|||||||
if (blx.length > 0) {
|
if (blx.length > 0) {
|
||||||
result.txt = blx[0].txt;
|
result.txt = blx[0].txt;
|
||||||
result.fmt = (blx[0].fmt || []).concat(blx[0].ent || []);
|
result.fmt = (blx[0].fmt || []).concat(blx[0].ent || []);
|
||||||
|
if (result.fmt.length) {
|
||||||
|
const segments = segmenter.segment(result.txt);
|
||||||
|
for (const ele of result.fmt) {
|
||||||
|
({
|
||||||
|
at: ele.at,
|
||||||
|
len: ele.len
|
||||||
|
} = toGraphemeValues(ele, segments, result.txt));
|
||||||
|
}
|
||||||
|
}
|
||||||
for (let i = 1; i < blx.length; i++) {
|
for (let i = 1; i < blx.length; i++) {
|
||||||
const block = blx[i];
|
const block = blx[i];
|
||||||
const offset = result.txt.length + 1;
|
const offset = stringToGraphemes(result.txt).length + 1;
|
||||||
result.fmt.push({
|
result.fmt.push({
|
||||||
tp: 'BR',
|
tp: 'BR',
|
||||||
len: 1,
|
len: 1,
|
||||||
at: offset - 1
|
at: offset - 1
|
||||||
});
|
});
|
||||||
|
let segments = {};
|
||||||
result.txt += ' ' + block.txt;
|
result.txt += ' ' + block.txt;
|
||||||
if (block.fmt) {
|
if (block.fmt) {
|
||||||
|
segments = segmenter.segment(block.txt);
|
||||||
result.fmt = result.fmt.concat(block.fmt.map(s => {
|
result.fmt = result.fmt.concat(block.fmt.map(s => {
|
||||||
s.at += offset;
|
const {
|
||||||
|
at: correctAt,
|
||||||
|
len: correctLen
|
||||||
|
} = toGraphemeValues(s, segments, block.txt);
|
||||||
|
s.at = correctAt + offset;
|
||||||
|
s.len = correctLen;
|
||||||
return s;
|
return s;
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
if (block.ent) {
|
if (block.ent) {
|
||||||
|
if (isEmptyObject(segments)) {
|
||||||
|
segments = segmenter.segment(block.txt);
|
||||||
|
}
|
||||||
result.fmt = result.fmt.concat(block.ent.map(s => {
|
result.fmt = result.fmt.concat(block.ent.map(s => {
|
||||||
s.at += offset;
|
const {
|
||||||
|
at: correctAt,
|
||||||
|
len: correctLen
|
||||||
|
} = toGraphemeValues(s, segments, block.txt);
|
||||||
|
s.at = correctAt + offset;
|
||||||
|
s.len = correctLen;
|
||||||
return s;
|
return s;
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@@ -1739,7 +1764,7 @@ Drafty.append = function (first, second) {
|
|||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
first.txt = first.txt || '';
|
first.txt = first.txt || '';
|
||||||
const len = first.txt.length;
|
const len = stringToGraphemes(first.txt).length;
|
||||||
if (typeof second == 'string') {
|
if (typeof second == 'string') {
|
||||||
first.txt += second;
|
first.txt += second;
|
||||||
} else if (second.txt) {
|
} else if (second.txt) {
|
||||||
@@ -1927,7 +1952,7 @@ Drafty.quote = function (header, uid, body) {
|
|||||||
const quote = Drafty.append(Drafty.appendLineBreak(Drafty.mention(header, uid)), body);
|
const quote = Drafty.append(Drafty.appendLineBreak(Drafty.mention(header, uid)), body);
|
||||||
quote.fmt.push({
|
quote.fmt.push({
|
||||||
at: 0,
|
at: 0,
|
||||||
len: quote.txt.length,
|
len: stringToGraphemes(quote.txt).length,
|
||||||
tp: 'QQ'
|
tp: 'QQ'
|
||||||
});
|
});
|
||||||
return quote;
|
return quote;
|
||||||
@@ -1937,7 +1962,7 @@ Drafty.mention = function (name, uid) {
|
|||||||
txt: name || '',
|
txt: name || '',
|
||||||
fmt: [{
|
fmt: [{
|
||||||
at: 0,
|
at: 0,
|
||||||
len: (name || '').length,
|
len: stringToGraphemes(name || '').length,
|
||||||
key: 0
|
key: 0
|
||||||
}],
|
}],
|
||||||
ent: [{
|
ent: [{
|
||||||
@@ -2101,7 +2126,7 @@ Drafty.appendLineBreak = function (content) {
|
|||||||
};
|
};
|
||||||
content.fmt = content.fmt || [];
|
content.fmt = content.fmt || [];
|
||||||
content.fmt.push({
|
content.fmt.push({
|
||||||
at: content.txt.length,
|
at: stringToGraphemes(content.txt).length,
|
||||||
len: 1,
|
len: 1,
|
||||||
tp: 'BR'
|
tp: 'BR'
|
||||||
});
|
});
|
||||||
@@ -2504,7 +2529,7 @@ function draftyToTree(doc) {
|
|||||||
key: key
|
key: key
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
} else if (at + len > txt.length) {
|
} else if (at + len > stringToGraphemes(txt).length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!span.tp) {
|
if (!span.tp) {
|
||||||
@@ -2546,7 +2571,8 @@ function draftyToTree(doc) {
|
|||||||
span.type = 'HD';
|
span.type = 'HD';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
let tree = spansToTree({}, txt, 0, txt.length, spans);
|
const graphemes = stringToGraphemes(txt);
|
||||||
|
let tree = spansToTree({}, graphemes, 0, graphemes.length, spans);
|
||||||
const flatten = function (node) {
|
const flatten = function (node) {
|
||||||
if (Array.isArray(node.children) && node.children.length == 1) {
|
if (Array.isArray(node.children) && node.children.length == 1) {
|
||||||
const child = node.children[0];
|
const child = node.children[0];
|
||||||
@@ -2582,11 +2608,11 @@ function addNode(parent, n) {
|
|||||||
parent.children.push(n);
|
parent.children.push(n);
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
function spansToTree(parent, text, start, end, spans) {
|
function spansToTree(parent, graphemes, start, end, spans) {
|
||||||
if (!spans || spans.length == 0) {
|
if (!spans || spans.length == 0) {
|
||||||
if (start < end) {
|
if (start < end) {
|
||||||
addNode(parent, {
|
addNode(parent, {
|
||||||
text: text.substring(start, end)
|
text: graphemes.slice(start, end).map(segment => segment.segment).join('')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return parent;
|
return parent;
|
||||||
@@ -2604,7 +2630,7 @@ function spansToTree(parent, text, start, end, spans) {
|
|||||||
}
|
}
|
||||||
if (start < span.start) {
|
if (start < span.start) {
|
||||||
addNode(parent, {
|
addNode(parent, {
|
||||||
text: text.substring(start, span.start)
|
text: graphemes.slice(start, span.start).map(segment => segment.segment).join('')
|
||||||
});
|
});
|
||||||
start = span.start;
|
start = span.start;
|
||||||
}
|
}
|
||||||
@@ -2629,12 +2655,12 @@ function spansToTree(parent, text, start, end, spans) {
|
|||||||
type: span.type,
|
type: span.type,
|
||||||
data: span.data,
|
data: span.data,
|
||||||
key: span.key
|
key: span.key
|
||||||
}, text, start, span.end, subspans));
|
}, graphemes, start, span.end, subspans));
|
||||||
start = span.end;
|
start = span.end;
|
||||||
}
|
}
|
||||||
if (start < end) {
|
if (start < end) {
|
||||||
addNode(parent, {
|
addNode(parent, {
|
||||||
text: text.substring(start, end)
|
text: graphemes.slice(start, end).map(segment => segment.segment).join('')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return parent;
|
return parent;
|
||||||
@@ -2644,7 +2670,7 @@ function treeToDrafty(doc, tree, keymap) {
|
|||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
doc.txt = doc.txt || '';
|
doc.txt = doc.txt || '';
|
||||||
const start = doc.txt.length;
|
const start = stringToGraphemes(doc.txt).length;
|
||||||
if (tree.text) {
|
if (tree.text) {
|
||||||
doc.txt += tree.text;
|
doc.txt += tree.text;
|
||||||
} else if (Array.isArray(tree.children)) {
|
} else if (Array.isArray(tree.children)) {
|
||||||
@@ -2653,7 +2679,7 @@ function treeToDrafty(doc, tree, keymap) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (tree.type) {
|
if (tree.type) {
|
||||||
const len = doc.txt.length - start;
|
const len = stringToGraphemes(doc.txt).length - start;
|
||||||
doc.fmt = doc.fmt || [];
|
doc.fmt = doc.fmt || [];
|
||||||
if (Object.keys(tree.data || {}).length > 0) {
|
if (Object.keys(tree.data || {}).length > 0) {
|
||||||
doc.ent = doc.ent || [];
|
doc.ent = doc.ent || [];
|
||||||
@@ -2755,12 +2781,12 @@ function shortenTree(tree, limit, tail) {
|
|||||||
node.text = tail;
|
node.text = tail;
|
||||||
limit = -1;
|
limit = -1;
|
||||||
} else if (node.text) {
|
} else if (node.text) {
|
||||||
const len = node.text.length;
|
const graphemes = stringToGraphemes(node.text);
|
||||||
if (len > limit) {
|
if (graphemes.length > limit) {
|
||||||
node.text = node.text.substring(0, limit) + tail;
|
node.text = graphemes.slice(0, limit).map(segment => segment.segment).join('') + tail;
|
||||||
limit = -1;
|
limit = -1;
|
||||||
} else {
|
} else {
|
||||||
limit -= len;
|
limit -= graphemes.length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return node;
|
return node;
|
||||||
@@ -2907,6 +2933,38 @@ function copyEntData(data, light, allow) {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
function isEmptyObject(obj) {
|
||||||
|
return Object.keys(obj ?? {}).length == 0;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
function graphemeIndices(graphemes) {
|
||||||
|
const result = [];
|
||||||
|
let graphemeIndex = 0;
|
||||||
|
let charIndex = 0;
|
||||||
|
for (const {
|
||||||
|
segment
|
||||||
|
} of graphemes) {
|
||||||
|
for (let i = 0; i < segment.length; i++) {
|
||||||
|
result[charIndex + i] = graphemeIndex;
|
||||||
|
}
|
||||||
|
charIndex += segment.length;
|
||||||
|
graphemeIndex++;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function toGraphemeValues(fmt, segments, txt) {
|
||||||
|
segments = segments ?? segmenter.segment(txt);
|
||||||
|
const indices = graphemeIndices(segments);
|
||||||
|
const correctAt = indices[fmt.at];
|
||||||
|
const correctLen = fmt.at + fmt.len <= txt.length ? indices[fmt.at + fmt.len - 1] - correctAt : fmt.len;
|
||||||
|
return {
|
||||||
|
at: correctAt,
|
||||||
|
len: correctLen + 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function stringToGraphemes(str) {
|
||||||
|
return Array.from(segmenter.segment(str));
|
||||||
|
}
|
||||||
if (true) {
|
if (true) {
|
||||||
module.exports = Drafty;
|
module.exports = Drafty;
|
||||||
}
|
}
|
||||||
@@ -4857,7 +4915,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
/* harmony export */ PACKAGE_VERSION: () => (/* binding */ PACKAGE_VERSION)
|
/* harmony export */ PACKAGE_VERSION: () => (/* binding */ PACKAGE_VERSION)
|
||||||
/* harmony export */ });
|
/* harmony export */ });
|
||||||
const PACKAGE_VERSION = "0.22.12";
|
const PACKAGE_VERSION = "0.22.13";
|
||||||
|
|
||||||
/***/ })
|
/***/ })
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user