intl-segmenter-polyfill
Advanced tools
Comparing version
@@ -99,2 +99,3 @@ (function (global, factory) { | ||
var decoder = new TextDecoder(); | ||
var index = 0; | ||
var segments = values.current.map(function (_ref2) { | ||
@@ -106,8 +107,11 @@ var _ref3 = _slicedToArray(_ref2, 3), | ||
return { | ||
segment: decoder.decode(inputView.slice(start, end)), | ||
index: decoder.decode(inputView.slice(0, start)).length, | ||
var segment = decoder.decode(inputView.slice(start, end)); | ||
var returnValue = { | ||
segment: segment, | ||
index: index, | ||
isWordLike: granularity === 'word' ? getSegmentType(segmentType) !== 'none' : undefined, | ||
breakType: granularity === 'word' ? getSegmentType(segmentType) : undefined | ||
}; | ||
index += segment.length; | ||
return returnValue; | ||
}); | ||
@@ -114,0 +118,0 @@ |
{ | ||
"name": "intl-segmenter-polyfill", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "This repo builds .wasm module using icu4c for breaking text into words, so that we can polyfill [Intl Segmenter Proposal](https://github.com/tc39/proposal-intl-segmenter) with full compatibility, even on browsers that do not expose v8BreakIterator api.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -28,3 +28,3 @@ // polyfill TextEncoder and TextDecoder, which is missing on Edge 18 | ||
return wasm.then((response) => | ||
WebAssembly.instantiateStreaming(response, imports) | ||
WebAssembly.instantiateStreaming(response, imports), | ||
) | ||
@@ -43,3 +43,3 @@ } | ||
wasmInstance, | ||
values | ||
values, | ||
) => { | ||
@@ -79,13 +79,19 @@ const allocStr = (str) => { | ||
const decoder = new TextDecoder() | ||
let index = 0 | ||
const segments = values.current.map(([start, end, segmentType]) => ({ | ||
segment: decoder.decode(inputView.slice(start, end)), | ||
index: decoder.decode(inputView.slice(0, start)).length, | ||
isWordLike: | ||
granularity === 'word' | ||
? getSegmentType(segmentType) !== 'none' | ||
: undefined, | ||
breakType: | ||
granularity === 'word' ? getSegmentType(segmentType) : undefined, | ||
})) | ||
const segments = values.current.map(([start, end, segmentType]) => { | ||
const segment = decoder.decode(inputView.slice(start, end)) | ||
const returnValue = { | ||
segment, | ||
index: index, | ||
isWordLike: | ||
granularity === 'word' | ||
? getSegmentType(segmentType) !== 'none' | ||
: undefined, | ||
breakType: | ||
granularity === 'word' ? getSegmentType(segmentType) : undefined, | ||
} | ||
index += segment.length | ||
return returnValue | ||
}) | ||
@@ -95,3 +101,3 @@ segments.containing = (indexToFind) => | ||
({ index, segment }) => | ||
indexToFind >= index && indexToFind <= index + segment.length - 1 | ||
indexToFind >= index && indexToFind <= index + segment.length - 1, | ||
) | ||
@@ -124,3 +130,3 @@ | ||
values.current.push(value) | ||
}) | ||
}), | ||
) | ||
@@ -138,3 +144,3 @@ | ||
values.current.push(value) | ||
}) | ||
}), | ||
) | ||
@@ -141,0 +147,0 @@ |
Sorry, the diff of this file is too big to display
3823386
0.01%6719
0.21%