@breakside/jskit 2022.29.0 → 2022.45.0
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.
- package/Frameworks/DOM.jsframework/Info.json +2 -2
- package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
- package/Frameworks/FontKit.jsframework/Info.json +2 -2
- package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
- package/Frameworks/Foundation.jsframework/Info.json +2 -2
- package/Frameworks/Foundation.jsframework/JS/JSAttributedString.js +1 -1
- package/Frameworks/Foundation.jsframework/JS/JSTextTypesetter.js +2 -3
- package/Frameworks/Foundation.jsframework/JS/JSTimeZone.js +11 -4
- package/Frameworks/Foundation.jsframework/JS/String+JS.js +367 -0
- package/Frameworks/Foundation.jsframework/JS/UnicodeChar.js +283 -1
- package/Frameworks/Foundation.jsframework/JS/UnicodeProperties.js +12 -0
- package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
- package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
- package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
- package/Info.json +2 -2
- package/Node/HTMLBuilder.js +1 -1
- package/Node/io.breakside.jskit-bundle.js +2 -2
- package/Root/Frameworks/APIKit/Info.yaml +1 -1
- package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/AuthKit/Info.yaml +1 -1
- package/Root/Frameworks/CSSOM/Info.yaml +1 -1
- package/Root/Frameworks/ChartKit/Info.yaml +1 -1
- package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
- package/Root/Frameworks/DBKit/Info.yaml +1 -1
- package/Root/Frameworks/DOM/Info.yaml +1 -1
- package/Root/Frameworks/Dispatch/Info.yaml +1 -1
- package/Root/Frameworks/FontKit/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/JSAttributedString.js +1 -1
- package/Root/Frameworks/Foundation/JSTextTypesetter.js +2 -3
- package/Root/Frameworks/Foundation/JSTimeZone.js +11 -4
- package/Root/Frameworks/Foundation/String+JS.js +367 -0
- package/Root/Frameworks/Foundation/UnicodeChar.js +283 -1
- package/Root/Frameworks/Foundation/UnicodeProperties.js +12 -0
- package/Root/Frameworks/ImageKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
- package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
- package/Root/Frameworks/PDFKit/Info.yaml +1 -1
- package/Root/Frameworks/QRKit/Info.yaml +1 -1
- package/Root/Frameworks/SearchKit/Info.yaml +1 -1
- package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/TestKit/Info.yaml +1 -1
- package/Root/Frameworks/TestKit/TKTestRun.js +1 -1
- package/Root/Frameworks/UIKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/UIAnimationTransaction.js +6 -0
- package/Root/Frameworks/UIKit/UIHTMLTextTypesetter.js +2 -2
- package/Root/Frameworks/UIKit/UILayer.js +10 -3
- package/Root/Frameworks/UIKit/UIListView.js +79 -61
- package/Root/Frameworks/UIKit/UIPopupWindow.js +3 -1
- package/Root/Frameworks/UIKit/UISlider.js +1 -1
- package/Root/Frameworks/UIKit/UIView.js +7 -0
- package/Root/Frameworks/UIKit/UIViewPropertyAnimator.js +1 -0
- package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
- package/package.json +1 -1
|
@@ -49,6 +49,7 @@ UnicodeChar.GeneralCategoryPropertyMap = {
|
|
|
49
49
|
|
|
50
50
|
UnicodeChar.LineBreaks = {
|
|
51
51
|
newLine: 0x000A,
|
|
52
|
+
verticalTab: 0x000B,
|
|
52
53
|
formFeed: 0x000C,
|
|
53
54
|
carriageReturn: 0x000D,
|
|
54
55
|
nextLine: 0x0085,
|
|
@@ -56,6 +57,52 @@ UnicodeChar.LineBreaks = {
|
|
|
56
57
|
paragraphSeparator: 0x2029
|
|
57
58
|
};
|
|
58
59
|
|
|
60
|
+
UnicodeChar.LineBreakingClass = {
|
|
61
|
+
ambiguous: 0, // AI
|
|
62
|
+
alphabetic: 1, // AL
|
|
63
|
+
breakAfter: 2, // BA
|
|
64
|
+
breakBefore: 3, // BB
|
|
65
|
+
breakOpportunity: 4, // B2
|
|
66
|
+
mandatoryBreak: 5, // BK
|
|
67
|
+
contingentBreak: 6, // CB
|
|
68
|
+
conditionalJapaneseStarter: 7, // CJ
|
|
69
|
+
closePunctuation: 8, // CL
|
|
70
|
+
combiningMark: 9, // CM
|
|
71
|
+
closingParenthesis: 10, // CP
|
|
72
|
+
carriageReturn: 11, // CR
|
|
73
|
+
emojiBase: 12, // EB
|
|
74
|
+
emojiModifier: 13, // EM
|
|
75
|
+
exclamation: 14, // EX
|
|
76
|
+
glue: 15, // GL
|
|
77
|
+
hangulLV: 16, // H2
|
|
78
|
+
hangulLVT: 17, // H3
|
|
79
|
+
hyphen: 18, // HY
|
|
80
|
+
ideographic: 19, // ID
|
|
81
|
+
hebrewLetter: 20, // HL
|
|
82
|
+
inseperable: 21, // IN
|
|
83
|
+
infixNumeric: 22, // IS
|
|
84
|
+
hangulLJambo: 23, // JL
|
|
85
|
+
hangulTJambo: 24, // JT
|
|
86
|
+
hangulVJambo: 25, // JV
|
|
87
|
+
lineFeed: 26, // LF
|
|
88
|
+
nextLine: 27, // NL
|
|
89
|
+
nonstarters: 28, // NS
|
|
90
|
+
numeric: 29, // NU
|
|
91
|
+
openPunctuation: 30, // OP
|
|
92
|
+
postfixNumeric: 31, // PO
|
|
93
|
+
prefixNumeric: 32, // PR
|
|
94
|
+
quotation: 33, // QU
|
|
95
|
+
regionalIndicator: 34, // RI
|
|
96
|
+
complexContentDependent: 35, // SA
|
|
97
|
+
surrogate: 36, // SG
|
|
98
|
+
space: 37, // SP
|
|
99
|
+
symbolsBreakAfter: 38, // SY
|
|
100
|
+
wordJoiner: 39, // WJ
|
|
101
|
+
unknown: 40, // XX
|
|
102
|
+
zeroWidthSpace: 41, // ZW
|
|
103
|
+
zeroWidthJoiner: 42, // ZWJ
|
|
104
|
+
};
|
|
105
|
+
|
|
59
106
|
UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
60
107
|
|
|
61
108
|
utf16: {
|
|
@@ -178,6 +225,241 @@ UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
|
178
225
|
}
|
|
179
226
|
},
|
|
180
227
|
|
|
228
|
+
lineBreakingClass: {
|
|
229
|
+
configurable: true,
|
|
230
|
+
get: function UnicodeChar_lazy_lineBreakAmbiguous(){
|
|
231
|
+
// Start with basic ascii (0x00-0x7F)
|
|
232
|
+
if (this.code === 0x0009){
|
|
233
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
234
|
+
}
|
|
235
|
+
if (this.code === 0x000A){
|
|
236
|
+
return UnicodeChar.LineBreakingClass.lineFeed;
|
|
237
|
+
}
|
|
238
|
+
if (this.code === 0x000B || this.code === 0x000C || this.code === 0x2028 || this.code === 0x2029){
|
|
239
|
+
return UnicodeChar.LineBreakingClass.mandatoryBreak;
|
|
240
|
+
}
|
|
241
|
+
if (this.code === 0x000D){
|
|
242
|
+
return UnicodeChar.LineBreakingClass.carriageReturn;
|
|
243
|
+
}
|
|
244
|
+
if (this.code < 0x0020){
|
|
245
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
246
|
+
}
|
|
247
|
+
if (this.code === 0x0020){
|
|
248
|
+
return UnicodeChar.LineBreakingClass.space;
|
|
249
|
+
}
|
|
250
|
+
if (this.code === 0x0021){
|
|
251
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
252
|
+
}
|
|
253
|
+
if (this.code === 0x0022 || this.code === 0x0027){
|
|
254
|
+
return UnicodeChar.LineBreakingClass.quotation;
|
|
255
|
+
}
|
|
256
|
+
if (this.code === 0x0023){
|
|
257
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
258
|
+
}
|
|
259
|
+
if (this.code === 0x0024){
|
|
260
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
261
|
+
}
|
|
262
|
+
if (this.code === 0x0025){
|
|
263
|
+
return UnicodeChar.LineBreakingClass.postfixNumeric;
|
|
264
|
+
}
|
|
265
|
+
if (this.code === 0x0026){
|
|
266
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
267
|
+
}
|
|
268
|
+
if (this.code === 0x0028){
|
|
269
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
270
|
+
}
|
|
271
|
+
if (this.code === 0x0029 || this.code === 0x005D){
|
|
272
|
+
return UnicodeChar.LineBreakingClass.closingParenthesis;
|
|
273
|
+
}
|
|
274
|
+
if (this.code === 0x002A){
|
|
275
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
276
|
+
}
|
|
277
|
+
if (this.code === 0x002B){
|
|
278
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
279
|
+
}
|
|
280
|
+
if ((this.code === 0x002C) || (this.code === 0x002E)){
|
|
281
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
282
|
+
}
|
|
283
|
+
if (this.code === 0x002D){
|
|
284
|
+
return UnicodeChar.LineBreakingClass.hyphen;
|
|
285
|
+
}
|
|
286
|
+
if (this.code === 0x002F){
|
|
287
|
+
return UnicodeChar.LineBreakingClass.symbolsBreakAfter;
|
|
288
|
+
}
|
|
289
|
+
if (this.code <= 0x0039){
|
|
290
|
+
return UnicodeChar.LineBreakingClass.numeric;
|
|
291
|
+
}
|
|
292
|
+
if (this.code <= 0x003B){
|
|
293
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
294
|
+
}
|
|
295
|
+
if (this.code <= 0x003E){
|
|
296
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
297
|
+
}
|
|
298
|
+
if (this.code === 0x003F){
|
|
299
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
300
|
+
}
|
|
301
|
+
if (this.code <= 0x005A){
|
|
302
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
303
|
+
}
|
|
304
|
+
if (this.code === 0x005B){
|
|
305
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
306
|
+
}
|
|
307
|
+
if (this.code === 0x005C){
|
|
308
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
309
|
+
}
|
|
310
|
+
if (this.code === 0x005D){
|
|
311
|
+
return UnicodeChar.LineBreakingClass.closingParenthesis;
|
|
312
|
+
}
|
|
313
|
+
if (this.code <= 0x007A){
|
|
314
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
315
|
+
}
|
|
316
|
+
if (this.code === 0x007B){
|
|
317
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
318
|
+
}
|
|
319
|
+
if (this.code === 0x007C){
|
|
320
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
321
|
+
}
|
|
322
|
+
if (this.code === 0x007D){
|
|
323
|
+
return UnicodeChar.LineBreakingClass.closePunctuation;
|
|
324
|
+
}
|
|
325
|
+
if (this.code === 0x007E){
|
|
326
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
327
|
+
}
|
|
328
|
+
if (this.code === 0x007F){
|
|
329
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// Next do simple classes with only one or a few characters
|
|
333
|
+
if (this.code === 0x0085){
|
|
334
|
+
return UnicodeChar.LineBreakingClass.nextLine;
|
|
335
|
+
}
|
|
336
|
+
if (this.code === 0x200B){
|
|
337
|
+
return UnicodeChar.LineBreakingClass.zeroWidthSpace;
|
|
338
|
+
}
|
|
339
|
+
if (this.code === 0x200D){
|
|
340
|
+
return UnicodeChar.LineBreakingClass.zeroWidthJoiner;
|
|
341
|
+
}
|
|
342
|
+
if (this.code === 0x2060 || this.code === 0xFEFF){
|
|
343
|
+
return UnicodeChar.LineBreakingClass.wordJoiner;
|
|
344
|
+
}
|
|
345
|
+
if (this.code === 0x2014 || (this.code >= 0x2E3A && this.code <= 0x2E3B)){
|
|
346
|
+
return UnicodeChar.LineBreakingClass.breakOpportunity;
|
|
347
|
+
}
|
|
348
|
+
if (this.code === 0xFFFC){
|
|
349
|
+
return UnicodeChar.LineBreakingClass.contingentBreak;
|
|
350
|
+
}
|
|
351
|
+
if (this.code >= 0x1F3FB && this.code <= 0x1F3FF){
|
|
352
|
+
return UnicodeChar.LineBreakingClass.emojiModifier;
|
|
353
|
+
}
|
|
354
|
+
if (this.code >= 0x2024 && this.code <= 0x2026){
|
|
355
|
+
return UnicodeChar.LineBreakingClass.inseperable;
|
|
356
|
+
}
|
|
357
|
+
if ((this.code === 0x22EF) || (this.code === 0xFE19) || (this.code === 0x10AF6)){
|
|
358
|
+
return UnicodeChar.LineBreakingClass.inseperable;
|
|
359
|
+
}
|
|
360
|
+
if ((this.code === 0x037E) || (this.code === 0x0589) || (this.code === 0x060C) || (this.code === 0x060D)){
|
|
361
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
362
|
+
}
|
|
363
|
+
if ((this.code === 0x07F8) || (this.code === 0x2044) || (this.code === 0xFE10) || (this.code === 0xFE13) || (this.code === 0xFE14)){
|
|
364
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
365
|
+
}
|
|
366
|
+
if (this.code >= 0x1F1E6 && this.code <= 0x1F1FF){
|
|
367
|
+
return UnicodeChar.LineBreakingClass.regionalIndicator;
|
|
368
|
+
}
|
|
369
|
+
if (this.code >= 0xD800 && this.code <= 0xDFFF){
|
|
370
|
+
// Surrogate, resolve to alphabetic
|
|
371
|
+
// return UnicodeChar.LineBreakingClass.surrogate;
|
|
372
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
373
|
+
}
|
|
374
|
+
if ((this.code >= 0xE000 && this.code <= 0xF8FF) || (this.code >= 0xF0000 && this.code <= 0xFFFFD) || this.code > 0x100000){
|
|
375
|
+
// Surrogate, resolve to alphabetic
|
|
376
|
+
// return UnicodeChar.LineBreakingClass.unknown;
|
|
377
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Next, use properties that search larger ranges of characters
|
|
381
|
+
if (this.lineBreakIsNumeric){
|
|
382
|
+
return UnicodeChar.LineBreakingClass.numeric;
|
|
383
|
+
}
|
|
384
|
+
if (this.lineBreakIsInfixNumeric){
|
|
385
|
+
return UnicodeChar.LineBreakingClass.infixNumeric;
|
|
386
|
+
}
|
|
387
|
+
if (this.lineBreakIsQuotation){
|
|
388
|
+
return UnicodeChar.LineBreakingClass.quotation;
|
|
389
|
+
}
|
|
390
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Emoji_Base')){
|
|
391
|
+
return UnicodeChar.LineBreakingClass.emojiBase;
|
|
392
|
+
}
|
|
393
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Exclamation')){
|
|
394
|
+
return UnicodeChar.LineBreakingClass.exclamation;
|
|
395
|
+
}
|
|
396
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Break_Before')){
|
|
397
|
+
return UnicodeChar.LineBreakingClass.breakBefore;
|
|
398
|
+
}
|
|
399
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Break_After')){
|
|
400
|
+
return UnicodeChar.LineBreakingClass.breakAfter;
|
|
401
|
+
}
|
|
402
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Conditional_Japanese')){
|
|
403
|
+
// maps to nonstarters
|
|
404
|
+
// return UnicodeChar.LineBreakingClass.conditionalJapaneseStarter;
|
|
405
|
+
return UnicodeChar.LineBreakingClass.nonstarters;
|
|
406
|
+
}
|
|
407
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Close_Punctuation')){
|
|
408
|
+
return UnicodeChar.LineBreakingClass.closePunctuation;
|
|
409
|
+
}
|
|
410
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Combining_Mark')){
|
|
411
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
412
|
+
}
|
|
413
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Glue')){
|
|
414
|
+
return UnicodeChar.LineBreakingClass.glue;
|
|
415
|
+
}
|
|
416
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Nonstarters')){
|
|
417
|
+
return UnicodeChar.LineBreakingClass.nonstarters;
|
|
418
|
+
}
|
|
419
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Open_Punctuation')){
|
|
420
|
+
return UnicodeChar.LineBreakingClass.openPunctuation;
|
|
421
|
+
}
|
|
422
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Postfix_Numeric')){
|
|
423
|
+
return UnicodeChar.LineBreakingClass.postfixNumeric;
|
|
424
|
+
}
|
|
425
|
+
if (UnicodeProperties.isLineBreak(this.code, 'Prefix_Numeric')){
|
|
426
|
+
return UnicodeChar.LineBreakingClass.prefixNumeric;
|
|
427
|
+
}
|
|
428
|
+
if (this.lineBreakIsComplexContext){
|
|
429
|
+
// complex content resolves to combiningMark or alphabetic
|
|
430
|
+
// return UnicodeChar.LineBreakingClass.complexContentDependent;
|
|
431
|
+
if (this.generalCategoryIsSpacingMark){ // FIXME: also include non-spacing-marks
|
|
432
|
+
return UnicodeChar.LineBreakingClass.combiningMark;
|
|
433
|
+
}else{
|
|
434
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
if (this.hangulSyllableTypeIsL){
|
|
438
|
+
return UnicodeChar.LineBreakingClass.hangulLJambo;
|
|
439
|
+
}
|
|
440
|
+
if (this.hangulSyllableTypeIsT){
|
|
441
|
+
return UnicodeChar.LineBreakingClass.hangulTJambo;
|
|
442
|
+
}
|
|
443
|
+
if (this.hangulSyllableTypeIsV){
|
|
444
|
+
return UnicodeChar.LineBreakingClass.hangulVJambo;
|
|
445
|
+
}
|
|
446
|
+
if (this.hangulSyllableTypeIsLV){
|
|
447
|
+
return UnicodeChar.LineBreakingClass.hangulLV;
|
|
448
|
+
}
|
|
449
|
+
if (this.hangulSyllableTypeIsLVT){
|
|
450
|
+
return UnicodeChar.LineBreakingClass.hangulLVT;
|
|
451
|
+
}
|
|
452
|
+
if (this.ideographic){
|
|
453
|
+
return UnicodeChar.LineBreakingClass.ideographic;
|
|
454
|
+
}
|
|
455
|
+
if (this.wordBreakIsHebrewLetter){
|
|
456
|
+
return UnicodeChar.LineBreakingClass.hebrewLetter;
|
|
457
|
+
}
|
|
458
|
+
// Finally, anything else is considered alphabetic
|
|
459
|
+
return UnicodeChar.LineBreakingClass.alphabetic;
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
|
|
181
463
|
lineBreakIsComplexContext: {
|
|
182
464
|
configurable: true,
|
|
183
465
|
get: function UnicodeChar_lazy_lineBreakIsComplexContext(){
|
|
@@ -786,6 +1068,6 @@ UnicodeChar.prototype = Object.create(Object.prototype, {
|
|
|
786
1068
|
Object.defineProperty(this, 'isParagraphBreak', {value: this.code === UnicodeChar.LineBreaks.newLine || this.code === UnicodeChar.LineBreaks.formFeed || this.code === UnicodeChar.LineBreaks.carriageReturn || this.code === UnicodeChar.LineBreaks.nextLine || this.code === UnicodeChar.LineBreaks.paragraphSeparator});
|
|
787
1069
|
return this.isParagraphBreak;
|
|
788
1070
|
}
|
|
789
|
-
}
|
|
1071
|
+
},
|
|
790
1072
|
|
|
791
1073
|
});
|
|
@@ -48,6 +48,18 @@ JSGlobalObject.UnicodeProperties = {
|
|
|
48
48
|
Line_Break_Numeric: [[48, 10], [1632, 10], [1643, 2], [1776, 10], [1984, 10], [2406, 10], [2534, 10], [2662, 10], [2790, 10], [2918, 10], [3046, 10], [3174, 10], [3302, 10], [3430, 10], [3558, 10], [3664, 10], [3792, 10], [3872, 10], [4160, 10], [4240, 10], [6112, 10], [6160, 10], [6470, 10], [6608, 10], [6784, 10], [6800, 10], [6992, 10], [7088, 10], [7232, 10], [7248, 10], [42528, 10], [43216, 10], [43264, 10], [43472, 10], [43504, 10], [43600, 10], [44016, 10], [66720, 10], [69734, 10], [69872, 10], [69942, 10], [70096, 10], [70384, 10], [70864, 10], [71248, 10], [71360, 10], [71472, 10], [71904, 10], [92768, 10], [93008, 10], [120782, 50]],
|
|
49
49
|
Line_Break_Complex_Context: [[3585, 48], [3633, 1], [3634, 2], [3636, 7], [3648, 6], [3654, 1], [3655, 8], [3713, 2], [3716, 1], [3719, 2], [3722, 1], [3725, 1], [3732, 4], [3737, 7], [3745, 3], [3749, 1], [3751, 1], [3754, 2], [3757, 4], [3761, 1], [3762, 2], [3764, 6], [3771, 2], [3773, 1], [3776, 5], [3782, 1], [3784, 6], [3804, 4], [4096, 43], [4139, 2], [4141, 4], [4145, 1], [4146, 6], [4152, 1], [4153, 2], [4155, 2], [4157, 2], [4159, 1], [4176, 6], [4182, 2], [4184, 2], [4186, 4], [4190, 3], [4193, 1], [4194, 3], [4197, 2], [4199, 7], [4206, 3], [4209, 4], [4213, 13], [4226, 1], [4227, 2], [4229, 2], [4231, 6], [4237, 1], [4238, 1], [4239, 1], [4250, 3], [4253, 1], [4254, 2], [6016, 52], [6068, 2], [6070, 1], [6071, 7], [6078, 8], [6086, 1], [6087, 2], [6089, 11], [6103, 1], [6108, 1], [6109, 1], [6480, 30], [6512, 5], [6528, 44], [6576, 26], [6618, 1], [6622, 2], [6688, 53], [6741, 1], [6742, 1], [6743, 1], [6744, 7], [6752, 1], [6753, 1], [6754, 1], [6755, 2], [6757, 8], [6765, 6], [6771, 10], [6816, 7], [6823, 1], [6824, 6], [43488, 5], [43493, 1], [43494, 1], [43495, 9], [43514, 5], [43616, 16], [43632, 1], [43633, 6], [43639, 3], [43642, 1], [43643, 1], [43644, 1], [43645, 1], [43646, 2], [43648, 48], [43696, 1], [43697, 1], [43698, 3], [43701, 2], [43703, 2], [43705, 5], [43710, 2], [43712, 1], [43713, 1], [43714, 1], [43739, 2], [43741, 1], [43742, 2], [71424, 26], [71453, 3], [71456, 2], [71458, 4], [71462, 1], [71463, 5], [71482, 2], [71487, 1]],
|
|
50
50
|
Line_Break_Quotation: [[34, 1], [39, 1], [171, 1], [187, 1], [8216, 1], [8217, 1], [8219, 2], [8221, 1], [8223, 1], [8249, 1], [8250, 1], [10075, 6], [11776, 2], [11778, 1], [11779, 1], [11780, 1], [11781, 1], [11782, 3], [11785, 1], [11786, 1], [11787, 1], [11788, 1], [11789, 1], [11804, 1], [11805, 1], [11808, 1], [11809, 1], [128630, 3]],
|
|
51
|
+
Line_Break_Emoji_Base: [[9757,1],[9977,1],[9994,4],[127877,1],[127938,3],[127943,1],[127946,3],[128066,2],[128070,11],[128102,19],[128124,1],[128129,3],[128133,3],[128143,1],[128145,1],[128170,1],[128372,2],[128378,1],[128400,1],[128405,2],[128581,3],[128587,5],[128675,1],[128692,3],[128704,1],[128716,1],[129292,1],[129295,1],[129304,8],[129318,1],[129328,10],[129340,3],[129399,1],[129461,2],[129464,2],[129467,1],[129485,3],[129489,13],[129731,3],[129776,7]],
|
|
52
|
+
Line_Break_Exclamation: [[33,1],[63,1],[1478,1],[1563,1],[1565,3],[1748,1],[2041,1],[3853,5],[3860,1],[6146,2],[6152,2],[6468,2],[10082,2],[11513,1],[11518,1],[11822,1],[11859,2],[42510,1],[43126,2],[65045,2],[65110,2],[65281,1],[65311,1],[71108,2],[72817,1]],
|
|
53
|
+
Line_Break_Break_After: [[9, 1], [124, 1], [173, 1], [1418, 1], [1470, 1], [2404, 2], [3674, 2], [3851, 1], [3892, 1], [3967, 1], [3973, 1], [4030, 2], [4050, 1], [4170, 2], [4961, 1], [5120, 1], [5760, 1], [5867, 3], [5941, 2], [6100, 2], [6104, 1], [6106, 1], [6148, 2], [7002, 2], [7005, 4], [7037, 2], [7227, 5], [7294, 2], [8192, 7], [8200, 3], [8208, 1], [8210, 2], [8231, 1], [8278, 1], [8280, 4], [8285, 2], [8287, 1], [11514, 3], [11519, 1], [11632, 1], [11790, 8], [11799, 1], [11801, 1], [11818, 4], [11824, 2], [11827, 2], [11836, 3], [11840, 1], [11841, 1], [11843, 8], [11852, 1], [11854, 2], [11869, 1], [12288, 1], [42238, 2], [42509, 1], [42511, 1], [42739, 5], [43214, 2], [43310, 2], [43463, 3], [43613, 3], [43760, 2], [44011, 1], [65792, 3], [66463, 1], [66512, 1], [67671, 1], [67871, 1], [68176, 8], [68336, 6], [68409, 7], [69293, 1], [69703, 2], [69822, 4], [69952, 4], [70085, 2], [70088, 1], [70109, 3], [70200, 2], [70203, 2], [70313, 1], [70731, 4], [70746, 2], [71106, 2], [71113, 15], [71233, 2], [71484, 3], [72004, 3], [72257, 4], [72346, 3], [72353, 2], [72769, 5], [73727, 1], [74864, 5], [92782, 2], [92917, 1], [92983, 3], [92996, 1], [93847, 2], [113823, 1], [121479, 4]],
|
|
54
|
+
Line_Break_Break_Before: [[180, 1], [712, 1], [716, 1], [735, 1], [3191, 1], [3204, 1], [3841, 3], [3844, 1], [3846, 2], [3849, 2], [4048, 2], [4051, 1], [6150, 1], [8189, 1], [43124, 2], [43260, 1], [70005, 1], [70107, 1], [71105, 1], [71264, 13], [72162, 1], [72255, 1], [72261, 1], [72350, 3], [72816, 1]],
|
|
55
|
+
Line_Break_Conditional_Japanese: [[12353, 1], [12355, 1], [12357, 1], [12359, 1], [12361, 1], [12387, 1], [12419, 1], [12421, 1], [12423, 1], [12430, 1], [12437, 2], [12449, 1], [12451, 1], [12453, 1], [12455, 1], [12457, 1], [12483, 1], [12515, 1], [12517, 1], [12519, 1], [12526, 1], [12533, 2], [12540, 1], [12784, 16], [65383, 9], [65392, 1], [110928, 3], [110948, 4]],
|
|
56
|
+
Line_Break_Close_Punctuation: [[125, 1], [3899, 1], [3901, 1], [5788, 1], [8262, 1], [8318, 1], [8334, 1], [8969, 1], [8971, 1], [9002, 1], [10089, 1], [10091, 1], [10093, 1], [10095, 1], [10097, 1], [10099, 1], [10101, 1], [10182, 1], [10215, 1], [10217, 1], [10219, 1], [10221, 1], [10223, 1], [10628, 1], [10630, 1], [10632, 1], [10634, 1], [10636, 1], [10638, 1], [10640, 1], [10642, 1], [10644, 1], [10646, 1], [10648, 1], [10713, 1], [10715, 1], [10749, 1], [11811, 1], [11813, 1], [11815, 1], [11817, 1], [11862, 1], [11864, 1], [11866, 1], [11868, 1], [12289, 2], [12297, 1], [12299, 1], [12301, 1], [12303, 1], [12305, 1], [12309, 1], [12311, 1], [12313, 1], [12315, 1], [12318, 2], [64830, 1], [65041, 2], [65048, 1], [65078, 1], [65080, 1], [65082, 1], [65084, 1], [65086, 1], [65088, 1], [65090, 1], [65092, 1], [65096, 1], [65104, 1], [65106, 1], [65114, 1], [65116, 1], [65118, 1], [65289, 1], [65292, 1], [65294, 1], [65341, 1], [65373, 1], [65376, 1], [65377, 1], [65379, 1], [65380, 1], [78427, 3], [78466, 1], [78471, 1], [78473, 1], [78714, 2], [78904, 1], [83407, 1]],
|
|
57
|
+
Line_Break_Combining_Mark: [[0, 9], [14, 18], [127, 1], [128, 5], [134, 26], [768, 79], [848, 12], [867, 13], [1155, 5], [1160, 2], [1425, 45], [1471, 1], [1473, 2], [1476, 2], [1479, 1], [1552, 11], [1564, 1], [1611, 21], [1648, 1], [1750, 7], [1759, 6], [1767, 2], [1770, 4], [1809, 1], [1840, 27], [1958, 11], [2027, 9], [2045, 1], [2070, 4], [2075, 9], [2085, 3], [2089, 5], [2137, 3], [2200, 8], [2250, 24], [2275, 29], [2304, 3], [2307, 1], [2362, 1], [2363, 1], [2364, 1], [2366, 3], [2369, 8], [2377, 4], [2381, 1], [2382, 2], [2385, 7], [2402, 2], [2433, 1], [2434, 2], [2492, 1], [2494, 3], [2497, 4], [2503, 2], [2507, 2], [2509, 1], [2519, 1], [2530, 2], [2558, 1], [2561, 2], [2563, 1], [2620, 1], [2622, 3], [2625, 2], [2631, 2], [2635, 3], [2641, 1], [2672, 2], [2677, 1], [2689, 2], [2691, 1], [2748, 1], [2750, 3], [2753, 5], [2759, 2], [2761, 1], [2763, 2], [2765, 1], [2786, 2], [2810, 6], [2817, 1], [2818, 2], [2876, 1], [2878, 1], [2879, 1], [2880, 1], [2881, 4], [2887, 2], [2891, 2], [2893, 1], [2901, 2], [2903, 1], [2914, 2], [2946, 1], [3006, 2], [3008, 1], [3009, 2], [3014, 3], [3018, 3], [3021, 1], [3031, 1], [3072, 1], [3073, 3], [3076, 1], [3132, 1], [3134, 3], [3137, 4], [3142, 3], [3146, 4], [3157, 2], [3170, 2], [3201, 1], [3202, 2], [3260, 1], [3262, 1], [3263, 1], [3264, 5], [3270, 1], [3271, 2], [3274, 2], [3276, 2], [3285, 2], [3298, 2], [3328, 2], [3330, 2], [3387, 2], [3390, 3], [3393, 4], [3398, 3], [3402, 3], [3405, 1], [3415, 1], [3426, 2], [3457, 1], [3458, 2], [3530, 1], [3535, 3], [3538, 3], [3542, 1], [3544, 8], [3570, 2], [3864, 2], [3893, 1], [3895, 1], [3897, 1], [3902, 2], [3953, 14], [3968, 5], [3974, 2], [3981, 11], [3993, 36], [4038, 1], [4957, 3], [5906, 3], [5909, 1], [5938, 2], [5940, 1], [5970, 2], [6002, 2], [6155, 3], [6159, 1], [6277, 2], [6313, 1], [6432, 3], [6435, 4], [6439, 2], [6441, 3], [6448, 2], [6450, 1], [6451, 6], [6457, 3], [6679, 2], [6681, 2], [6683, 1], [6783, 1], [6832, 14], [6846, 1], [6847, 16], [6912, 4], [6916, 1], [6964, 1], [6965, 1], [6966, 5], [6971, 1], [6972, 1], [6973, 5], [6978, 1], [6979, 2], [7019, 9], [7040, 2], [7042, 1], [7073, 1], [7074, 4], [7078, 2], [7080, 2], [7082, 1], [7083, 3], [7142, 1], [7143, 1], [7144, 2], [7146, 3], [7149, 1], [7150, 1], [7151, 3], [7154, 2], [7204, 8], [7212, 8], [7220, 2], [7222, 2], [7376, 3], [7380, 13], [7393, 1], [7394, 7], [7405, 1], [7412, 1], [7415, 1], [7416, 2], [7616, 64], [8204, 1], [8206, 2], [8234, 5], [8294, 10], [8400, 13], [8413, 4], [8417, 1], [8418, 3], [8421, 12], [11503, 3], [11647, 1], [11744, 32], [12330, 4], [12334, 2], [12341, 1], [12441, 2], [42607, 1], [42608, 3], [42612, 10], [42654, 2], [42736, 2], [43010, 1], [43014, 1], [43019, 1], [43043, 2], [43045, 2], [43047, 1], [43052, 1], [43136, 2], [43188, 16], [43204, 2], [43232, 18], [43263, 1], [43302, 8], [43335, 11], [43346, 2], [43392, 3], [43395, 1], [43443, 1], [43444, 2], [43446, 4], [43450, 2], [43452, 2], [43454, 3], [43561, 6], [43567, 2], [43569, 2], [43571, 2], [43573, 2], [43587, 1], [43596, 1], [43597, 1], [43755, 1], [43756, 2], [43758, 2], [43765, 1], [43766, 1], [44003, 2], [44005, 1], [44006, 2], [44008, 1], [44009, 2], [44012, 1], [44013, 1], [64286, 1], [65024, 16], [65056, 16], [65529, 3], [66045, 1], [66272, 1], [66422, 5], [68097, 3], [68101, 2], [68108, 4], [68152, 3], [68159, 1], [68325, 2], [68900, 4], [69291, 2], [69446, 11], [69506, 4], [69632, 1], [69633, 1], [69634, 1], [69688, 15], [69744, 1], [69747, 2], [69759, 1], [69760, 2], [69762, 1], [69808, 3], [69811, 4], [69815, 2], [69817, 2], [69826, 1], [69888, 3], [69927, 5], [69932, 1], [69933, 8], [69957, 2], [70003, 1], [70016, 2], [70018, 1], [70067, 3], [70070, 9], [70079, 2], [70089, 4], [70094, 1], [70095, 1], [70188, 3], [70191, 3], [70194, 2], [70196, 1], [70197, 1], [70198, 2], [70206, 1], [70367, 1], [70368, 3], [70371, 8], [70400, 2], [70402, 2], [70459, 2], [70462, 2], [70464, 1], [70465, 4], [70471, 2], [70475, 3], [70487, 1], [70498, 2], [70502, 7], [70512, 5], [70709, 3], [70712, 8], [70720, 2], [70722, 3], [70725, 1], [70726, 1], [70750, 1], [70832, 3], [70835, 6], [70841, 1], [70842, 1], [70843, 4], [70847, 2], [70849, 1], [70850, 2], [71087, 3], [71090, 4], [71096, 4], [71100, 2], [71102, 1], [71103, 2], [71132, 2], [71216, 3], [71219, 8], [71227, 2], [71229, 1], [71230, 1], [71231, 2], [71339, 1], [71340, 1], [71341, 1], [71342, 2], [71344, 6], [71350, 1], [71351, 1], [71724, 3], [71727, 9], [71736, 1], [71737, 2], [71984, 6], [71991, 2], [71995, 2], [71997, 1], [71998, 1], [72000, 1], [72002, 1], [72003, 1], [72145, 3], [72148, 4], [72154, 2], [72156, 4], [72160, 1], [72164, 1], [72193, 10], [72243, 6], [72249, 1], [72251, 4], [72263, 1], [72273, 6], [72279, 2], [72281, 3], [72330, 13], [72343, 1], [72344, 2], [72751, 1], [72752, 7], [72760, 6], [72766, 1], [72767, 1], [72850, 22], [72873, 1], [72874, 7], [72881, 1], [72882, 2], [72884, 1], [72885, 2], [73009, 6], [73018, 1], [73020, 2], [73023, 7], [73031, 1], [73098, 5], [73104, 2], [73107, 2], [73109, 1], [73110, 1], [73111, 1], [73459, 2], [73461, 2], [92912, 5], [92976, 7], [94031, 1], [94033, 55], [94095, 4], [94192, 2], [113821, 2], [113824, 4], [118528, 46], [118576, 23], [119141, 2], [119143, 3], [119149, 6], [119155, 8], [119163, 8], [119173, 7], [119210, 4], [119362, 3], [121344, 55], [121403, 50], [121461, 1], [121476, 1], [121499, 5], [121505, 15], [122880, 7], [122888, 17], [122907, 7], [122915, 2], [122918, 5], [123184, 7], [123566, 1], [123628, 4], [125136, 7], [125252, 7], [917505, 1], [917536, 96], [917760, 240]],
|
|
58
|
+
Line_Break_Glue: [[160, 1], [847, 1], [860, 7], [3848, 1], [3852, 1], [3858, 1], [4057, 2], [6158, 1], [8199, 1], [8209, 1], [8239, 1], [78896, 7], [94180, 1]],
|
|
59
|
+
Line_Break_Nonstarters: [[6102, 1], [8252, 2], [8263, 3], [12293, 1], [12316, 1], [12347, 1], [12348, 1], [12443, 2], [12445, 2], [12448, 1], [12539, 1], [12541, 2], [40981, 1], [65108, 2], [65306, 2], [65381, 1], [65438, 2], [94176, 2], [94178, 1], [94179, 1], [128633, 3]],
|
|
60
|
+
Line_Break_Open_Punctuation: [[40, 1], [91, 1], [123, 1], [161, 1], [191, 1], [3898, 1], [3900, 1], [5787, 1], [8218, 1], [8222, 1], [8261, 1], [8317, 1], [8333, 1], [8968, 1], [8970, 1], [9001, 1], [10088, 1], [10090, 1], [10092, 1], [10094, 1], [10096, 1], [10098, 1], [10100, 1], [10181, 1], [10214, 1], [10216, 1], [10218, 1], [10220, 1], [10222, 1], [10627, 1], [10629, 1], [10631, 1], [10633, 1], [10635, 1], [10637, 1], [10639, 1], [10641, 1], [10643, 1], [10645, 1], [10647, 1], [10712, 1], [10714, 1], [10748, 1], [11800, 1], [11810, 1], [11812, 1], [11814, 1], [11816, 1], [11842, 1], [11861, 1], [11863, 1], [11865, 1], [11867, 1], [12296, 1], [12298, 1], [12300, 1], [12302, 1], [12304, 1], [12308, 1], [12310, 1], [12312, 1], [12314, 1], [12317, 1], [64831, 1], [65047, 1], [65077, 1], [65079, 1], [65081, 1], [65083, 1], [65085, 1], [65087, 1], [65089, 1], [65091, 1], [65095, 1], [65113, 1], [65115, 1], [65117, 1], [65288, 1], [65339, 1], [65371, 1], [65375, 1], [65378, 1], [78424, 3], [78470, 1], [78472, 1], [78713, 1], [78903, 1], [83406, 1], [125278, 2]],
|
|
61
|
+
Line_Break_Postfix_Numeric: [[37, 1], [162, 1], [176, 1], [1545, 2], [1547, 1], [1642, 1], [2546, 2], [2553, 1], [3449, 1], [8240, 8], [8359, 1], [8374, 1], [8379, 1], [8382, 1], [8384, 1], [8451, 1], [8457, 1], [43064, 1], [65020, 1], [65130, 1], [65285, 1], [65504, 1], [73693, 4], [126124, 1], [126128, 1]],
|
|
62
|
+
Line_Break_Prefix_Numeric: [[36, 1], [43, 1], [92, 1], [163, 3], [177, 1], [1423, 1], [2046, 2], [2555, 1], [2801, 1], [3065, 1], [3647, 1], [6107, 1], [8352, 7], [8360, 14], [8375, 4], [8380, 2], [8383, 1], [8385, 15], [8470, 1], [8722, 2], [65129, 1], [65284, 1], [65505, 1], [65509, 2], [123647, 1]],
|
|
51
63
|
|
|
52
64
|
Default_Ignorable_Code_Point: [[173, 1], [847, 1], [1564, 1], [4447, 2], [6068, 2], [6155, 3], [6158, 1], [8203, 5], [8234, 5], [8288, 5], [8293, 1], [8294, 10], [12644, 1], [65024, 16], [65279, 1], [65440, 1], [65520, 9], [113824, 4], [119155, 8], [917504, 1], [917505, 1], [917506, 30], [917536, 96], [917632, 128], [917760, 240], [918000, 3600]],
|
|
53
65
|
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.Foundation",
|
|
6
|
-
"JSBundleVersion": "2022.
|
|
6
|
+
"JSBundleVersion": "2022.45.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
|
|
|
11
11
|
"node": "Foundation+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "891003d67980f0899187ee4eb6d833edfe048e95"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [
|
|
17
17
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
4
|
-
"JSBundleVersion": "2022.
|
|
4
|
+
"JSBundleVersion": "2022.45.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"node": "SecurityKit+Node.js"
|
|
10
10
|
},
|
|
11
11
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
12
|
-
"GitRevision": "
|
|
12
|
+
"GitRevision": "891003d67980f0899187ee4eb6d833edfe048e95"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
6
|
-
"JSBundleVersion": "2022.
|
|
6
|
+
"JSBundleVersion": "2022.45.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
11
11
|
"node": "SecurityKit+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "891003d67980f0899187ee4eb6d833edfe048e95"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [],
|
|
17
17
|
"ResourceLookup": {
|
package/Info.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "node",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
4
|
-
"JSBundleVersion": "2022.
|
|
4
|
+
"JSBundleVersion": "2022.45.0",
|
|
5
5
|
"JSExecutableName": "jskit",
|
|
6
6
|
"NPMOrganization": "breakside",
|
|
7
7
|
"JSResources": [
|
|
8
8
|
"Tests/HTMLTestRunner.js",
|
|
9
9
|
"Tests/NodeTestRunner.js"
|
|
10
10
|
],
|
|
11
|
-
"GitRevision": "
|
|
11
|
+
"GitRevision": "891003d67980f0899187ee4eb6d833edfe048e95"
|
|
12
12
|
}
|
package/Node/HTMLBuilder.js
CHANGED
|
@@ -295,7 +295,7 @@ JSClass("HTMLBuilder", Builder, {
|
|
|
295
295
|
if (tzif.length >= 44 && tzif[0] == 0x54 && tzif[1] == 0x5A && tzif[2] == 0x69 && tzif[3] == 0x66){
|
|
296
296
|
tzif = builder._modifiedTzif(tzif);
|
|
297
297
|
if (tzif.length >= 44 && tzif[0] == 0x54 && tzif[1] == 0x5A && tzif[2] == 0x69 && tzif[3] == 0x66){
|
|
298
|
-
let zone = JSTimeZone.initWithData(tzif);
|
|
298
|
+
let zone = JSTimeZone.initWithData(tzif, name);
|
|
299
299
|
if (zone !== null){
|
|
300
300
|
chunks.push(tzif);
|
|
301
301
|
contents.map[name] = [offset, tzif.length];
|
|
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.jskit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "node",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
6
|
-
"JSBundleVersion": "2022.
|
|
6
|
+
"JSBundleVersion": "2022.45.0",
|
|
7
7
|
"JSExecutableName": "jskit",
|
|
8
8
|
"NPMOrganization": "breakside",
|
|
9
9
|
"JSResources": [
|
|
10
10
|
"Tests/HTMLTestRunner.js",
|
|
11
11
|
"Tests/NodeTestRunner.js"
|
|
12
12
|
],
|
|
13
|
-
"GitRevision": "
|
|
13
|
+
"GitRevision": "891003d67980f0899187ee4eb6d833edfe048e95"
|
|
14
14
|
},
|
|
15
15
|
"Resources": [
|
|
16
16
|
{
|
|
@@ -487,7 +487,7 @@ JSClass("JSAttributedString", JSObject, {
|
|
|
487
487
|
adjustment += replacement.length - range.length;
|
|
488
488
|
if (argIndex >= 0){
|
|
489
489
|
var attrs = attributes[argIndex];
|
|
490
|
-
if (attrs){
|
|
490
|
+
if (attrs && replacement.length > 0){
|
|
491
491
|
attributedString.addAttributesInRange(attrs, JSRange(range.location, replacement.length));
|
|
492
492
|
}
|
|
493
493
|
}
|
|
@@ -247,11 +247,10 @@ JSClass("JSTextTypesetter", JSObject, {
|
|
|
247
247
|
|
|
248
248
|
if (lineBreakMode == JSLineBreakMode.wordWrap){
|
|
249
249
|
// word wrapping
|
|
250
|
-
|
|
251
250
|
iterator.decrement();
|
|
252
251
|
var characterBreakLocation = iterator.range.location;
|
|
253
|
-
// back up to a
|
|
254
|
-
while (iterator.index > range.location && !iterator.
|
|
252
|
+
// back up to a line break opportunity
|
|
253
|
+
while (iterator.index > range.location && !iterator.isLineBreakOpportunity){
|
|
255
254
|
iterator.decrement();
|
|
256
255
|
}
|
|
257
256
|
if (iterator.range.location <= range.location){
|
|
@@ -25,15 +25,19 @@
|
|
|
25
25
|
JSClass("JSTimeZone", JSObject, {
|
|
26
26
|
|
|
27
27
|
initWithIdentifier: function(identifier){
|
|
28
|
+
if (identifier === null || identifier === undefined){
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
28
31
|
var lookup = zoneinfo.map[identifier];
|
|
29
32
|
if (lookup === undefined){
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
32
35
|
if (zoneinfo.tzif !== undefined){
|
|
33
36
|
var tzif = zoneinfo.tzif.subdataInRange(JSRange(lookup[0], lookup[1]));
|
|
34
|
-
return this.initWithData(tzif);
|
|
37
|
+
return this.initWithData(tzif, identifier);
|
|
35
38
|
}
|
|
36
39
|
var zone = zoneinfo.zones[lookup.index];
|
|
40
|
+
this._identifier = identifier;
|
|
37
41
|
this._transitionTimes = zone.transitions;
|
|
38
42
|
this._transitionTimesToLocalTimeTypes = zone.map;
|
|
39
43
|
this._localTimeTypes = zone.types;
|
|
@@ -49,12 +53,14 @@ JSClass("JSTimeZone", JSObject, {
|
|
|
49
53
|
this._fixedAbbreviation = abbreviation;
|
|
50
54
|
},
|
|
51
55
|
|
|
52
|
-
initWithData: function(data){
|
|
56
|
+
initWithData: function(data, identifier){
|
|
53
57
|
// https://www.man7.org/linux/man-pages/man5/tzfile.5.html
|
|
54
58
|
if (!(data instanceof JSData)){
|
|
55
59
|
return null;
|
|
56
60
|
}
|
|
57
61
|
|
|
62
|
+
this._identifier = identifier;
|
|
63
|
+
|
|
58
64
|
var dataLength = data.length;
|
|
59
65
|
|
|
60
66
|
// Header is 44 bytes
|
|
@@ -205,6 +211,7 @@ JSClass("JSTimeZone", JSObject, {
|
|
|
205
211
|
this._defaultTimeTypeIndex = this._getDefaultTimeTypeIndex();
|
|
206
212
|
},
|
|
207
213
|
|
|
214
|
+
identifier: JSReadOnlyProperty("_identifier", null),
|
|
208
215
|
_fixedOffset: null,
|
|
209
216
|
_fixedAbbreviation: null,
|
|
210
217
|
_transitionTimes: null,
|
|
@@ -526,8 +533,8 @@ JSClass("JSTimeZone", JSObject, {
|
|
|
526
533
|
|
|
527
534
|
});
|
|
528
535
|
|
|
529
|
-
JSTimeZone.changeLocalTimeZone = function(
|
|
530
|
-
localIdentifier =
|
|
536
|
+
JSTimeZone.changeLocalTimeZone = function(identifier){
|
|
537
|
+
localIdentifier = identifier;
|
|
531
538
|
Object.defineProperty(JSTimeZone, 'local', defaultLocalProperty);
|
|
532
539
|
};
|
|
533
540
|
|