@nice2dev/ui-graphics 1.3.14 → 1.3.16
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/CHANGELOG.md +13 -0
- package/dist/cjs/animation/AnimatedPerson.js +470 -143
- package/dist/cjs/animation/AnimationEditor.js +289 -101
- package/dist/cjs/animation/Audience.js +83 -61
- package/dist/cjs/animation/BodyRenderer.js +69 -28
- package/dist/cjs/animation/animationHelper.js +281 -288
- package/dist/cjs/animation/characterTypes.js +200 -203
- package/dist/cjs/animation/choreoDSL.js +205 -219
- package/dist/cjs/animation/choreography.js +4 -32
- package/dist/cjs/animation/karaokeIntegration.js +68 -77
- package/dist/cjs/animation/lottieExport.js +108 -114
- package/dist/cjs/animation/motionPath.js +225 -248
- package/dist/cjs/animation/physics.js +227 -254
- package/dist/cjs/animation/rig/RigPlayer.js +53 -56
- package/dist/cjs/animation/rig/RiggedBody.js +71 -26
- package/dist/cjs/animation/rig/choreoRigBridge.js +72 -77
- package/dist/cjs/animation/rig/ik.js +13 -18
- package/dist/cjs/animation/rig/poseOps.js +34 -41
- package/dist/cjs/animation/rig/presets.js +64 -72
- package/dist/cjs/animation/rig/rigMath.js +25 -32
- package/dist/cjs/animation/rig/rigTypes.js +59 -63
- package/dist/cjs/animation/shapes/arms.js +31 -13
- package/dist/cjs/animation/shapes/eyes.js +129 -47
- package/dist/cjs/animation/shapes/hair.js +72 -45
- package/dist/cjs/animation/shapes/heads.js +131 -57
- package/dist/cjs/animation/shapes/headwear.js +47 -38
- package/dist/cjs/animation/shapes/legs.js +31 -13
- package/dist/cjs/animation/shapes/mouths.js +120 -44
- package/dist/cjs/animation/shapes/noses.js +80 -25
- package/dist/cjs/animation/shapes/outfits.js +101 -39
- package/dist/cjs/animation/shapes/torsos.js +15 -11
- package/dist/cjs/animation/spineExport.js +103 -121
- package/dist/cjs/core/LocalUI.js +108 -43
- package/dist/cjs/core/NiceBrushEngine.js +758 -552
- package/dist/cjs/core/collaboration.js +249 -251
- package/dist/cjs/core/colorBlindness.js +100 -115
- package/dist/cjs/core/dragDrop.js +155 -158
- package/dist/cjs/core/editorAsk.js +51 -41
- package/dist/cjs/core/fixes.js +140 -171
- package/dist/cjs/core/gridGuides.js +166 -201
- package/dist/cjs/core/historyVisual.js +156 -135
- package/dist/cjs/core/i18n.js +13 -14
- package/dist/cjs/core/integrations.js +238 -249
- package/dist/cjs/core/minimap.js +149 -151
- package/dist/cjs/core/plugins.js +98 -113
- package/dist/cjs/core/rtl.js +71 -83
- package/dist/cjs/core/shortcuts.js +196 -225
- package/dist/cjs/core/theme.js +142 -149
- package/dist/cjs/core/yjsCollaboration.js +232 -293
- package/dist/cjs/design/design-tools.js +12 -22
- package/dist/cjs/font/NiceFontEditor.js +877 -316
- package/dist/cjs/font/fontFormatUtils.js +388 -448
- package/dist/cjs/game/GameAsset2dEditor.js +1201 -392
- package/dist/cjs/game/GameAsset2dEditor.module.css.js +146 -5
- package/dist/cjs/game/gameAssetTypes.js +7 -16
- package/dist/cjs/game/gameAssetUtils.js +390 -413
- package/dist/cjs/game/useGameAssetEditor.js +820 -763
- package/dist/cjs/index.js +81 -84
- package/dist/cjs/nice2dev-ui-graphics.css +1 -1
- package/dist/cjs/node_modules/lib0/array.js +8 -70
- package/dist/cjs/node_modules/lib0/binary.js +3 -20
- package/dist/cjs/node_modules/lib0/broadcastchannel.js +24 -86
- package/dist/cjs/node_modules/lib0/buffer.js +15 -82
- package/dist/cjs/node_modules/lib0/conditions.js +3 -16
- package/dist/cjs/node_modules/lib0/decoding.js +108 -287
- package/dist/cjs/node_modules/lib0/dom.js +14 -44
- package/dist/cjs/node_modules/lib0/encoding.js +68 -418
- package/dist/cjs/node_modules/lib0/environment.js +26 -92
- package/dist/cjs/node_modules/lib0/error.js +5 -29
- package/dist/cjs/node_modules/lib0/function.js +27 -66
- package/dist/cjs/node_modules/lib0/iterator.js +8 -33
- package/dist/cjs/node_modules/lib0/logging.common.js +12 -22
- package/dist/cjs/node_modules/lib0/logging.js +32 -71
- package/dist/cjs/node_modules/lib0/map.js +16 -86
- package/dist/cjs/node_modules/lib0/math.js +3 -32
- package/dist/cjs/node_modules/lib0/number.js +4 -15
- package/dist/cjs/node_modules/lib0/object.js +14 -88
- package/dist/cjs/node_modules/lib0/observable.js +38 -78
- package/dist/cjs/node_modules/lib0/pair.js +3 -20
- package/dist/cjs/node_modules/lib0/prng.js +8 -77
- package/dist/cjs/node_modules/lib0/promise.js +6 -30
- package/dist/cjs/node_modules/lib0/random.js +8 -23
- package/dist/cjs/node_modules/lib0/schema.js +313 -687
- package/dist/cjs/node_modules/lib0/set.js +3 -10
- package/dist/cjs/node_modules/lib0/storage.js +20 -55
- package/dist/cjs/node_modules/lib0/string.js +17 -72
- package/dist/cjs/node_modules/lib0/symbol.js +2 -12
- package/dist/cjs/node_modules/lib0/time.js +2 -15
- package/dist/cjs/node_modules/lib0/trait/equality.js +3 -28
- package/dist/cjs/node_modules/lib0/url.js +4 -18
- package/dist/cjs/node_modules/lib0/webcrypto.js +2 -5
- package/dist/cjs/node_modules/y-protocols/auth.js +5 -19
- package/dist/cjs/node_modules/y-protocols/awareness.js +53 -116
- package/dist/cjs/node_modules/y-protocols/sync.js +16 -103
- package/dist/cjs/node_modules/y-websocket/src/y-websocket.js +77 -219
- package/dist/cjs/node_modules/yjs/dist/yjs.js +2128 -4868
- package/dist/cjs/photo/FilterThumb.js +37 -25
- package/dist/cjs/photo/NiceAITools.js +679 -467
- package/dist/cjs/photo/PhotoEditor.js +34 -20
- package/dist/cjs/photo/PhotoEditor.module.css.js +296 -5
- package/dist/cjs/photo/PhotoEditorCanvas.js +250 -91
- package/dist/cjs/photo/PhotoEditorLeftPanel.js +1086 -224
- package/dist/cjs/photo/PhotoEditorToolbar.js +135 -19
- package/dist/cjs/photo/photoEditorActions.js +89 -72
- package/dist/cjs/photo/photoEditorTypes.js +29 -32
- package/dist/cjs/photo/photoFilters.js +959 -985
- package/dist/cjs/photo/photoOverlays.js +899 -945
- package/dist/cjs/photo/photoSelection.js +427 -499
- package/dist/cjs/photo/usePhotoEditor.js +739 -741
- package/dist/cjs/pixel/HSVPicker.js +191 -175
- package/dist/cjs/pixel/PixelEditor.js +159 -48
- package/dist/cjs/pixel/PixelEditor.module.css.js +209 -5
- package/dist/cjs/pixel/PixelEditorCanvas.js +29 -16
- package/dist/cjs/pixel/PixelEditorMenuBar.js +160 -162
- package/dist/cjs/pixel/PixelEditorRightPanel.js +377 -45
- package/dist/cjs/pixel/PixelEditorStatusBar.js +47 -20
- package/dist/cjs/pixel/PixelEditorTimeline.js +106 -23
- package/dist/cjs/pixel/PixelEditorToolbar.js +99 -21
- package/dist/cjs/pixel/SpriteGeneratorPanel.js +483 -303
- package/dist/cjs/pixel/animalGeneratorPresets.js +776 -601
- package/dist/cjs/pixel/asepriteFormat.js +511 -560
- package/dist/cjs/pixel/buildingGeneratorPresets.js +693 -520
- package/dist/cjs/pixel/characterGeneratorPresets.js +644 -544
- package/dist/cjs/pixel/pixel-pro.js +52 -63
- package/dist/cjs/pixel/pixelEditorExports.js +388 -428
- package/dist/cjs/pixel/pixelEditorTypes.js +91 -108
- package/dist/cjs/pixel/pixelEditorUtils.js +519 -561
- package/dist/cjs/pixel/spriteGeneratorCore.js +206 -257
- package/dist/cjs/pixel/usePixelEditor.js +1321 -1343
- package/dist/cjs/texture/Nice3DTexturePainter.js +707 -440
- package/dist/cjs/ui/NiceUIDesigner.js +954 -527
- package/dist/cjs/vector/NiceSvgToCode.js +586 -446
- package/dist/cjs/vector/VectorEditor.js +290 -117
- package/dist/cjs/vector/VectorEditor.module.css.js +86 -5
- package/dist/cjs/vector/VectorEditorMenuBar.js +333 -275
- package/dist/cjs/vector/VectorEditorRightPanel.js +1094 -371
- package/dist/cjs/vector/VectorEditorShapeRenderer.js +198 -60
- package/dist/cjs/vector/VectorEditorStatusBar.js +39 -13
- package/dist/cjs/vector/useVectorEditor.js +848 -889
- package/dist/cjs/vector/vectorAnimation.js +110 -137
- package/dist/cjs/vector/vectorBooleanOps.js +398 -485
- package/dist/cjs/vector/vectorEditorExport.js +201 -203
- package/dist/cjs/vector/vectorEditorImport.js +173 -189
- package/dist/cjs/vector/vectorEditorTypes.js +42 -49
- package/dist/cjs/vector/vectorGradients.js +151 -174
- package/dist/cjs/vector/vectorIconExport.js +52 -59
- package/dist/cjs/vector/vectorIconImport.js +169 -219
- package/dist/esm/animation/AnimatedPerson.js +470 -141
- package/dist/esm/animation/AnimationEditor.js +290 -100
- package/dist/esm/animation/Audience.js +83 -59
- package/dist/esm/animation/BodyRenderer.js +71 -25
- package/dist/esm/animation/animationHelper.js +284 -287
- package/dist/esm/animation/characterTypes.js +204 -202
- package/dist/esm/animation/choreoDSL.js +212 -218
- package/dist/esm/animation/choreography.js +8 -31
- package/dist/esm/animation/karaokeIntegration.js +74 -76
- package/dist/esm/animation/lottieExport.js +112 -113
- package/dist/esm/animation/motionPath.js +235 -247
- package/dist/esm/animation/physics.js +235 -253
- package/dist/esm/animation/rig/RigPlayer.js +53 -54
- package/dist/esm/animation/rig/RiggedBody.js +71 -24
- package/dist/esm/animation/rig/choreoRigBridge.js +74 -76
- package/dist/esm/animation/rig/ik.js +14 -17
- package/dist/esm/animation/rig/poseOps.js +37 -40
- package/dist/esm/animation/rig/presets.js +70 -71
- package/dist/esm/animation/rig/rigMath.js +28 -31
- package/dist/esm/animation/rig/rigTypes.js +62 -62
- package/dist/esm/animation/shapes/arms.js +32 -12
- package/dist/esm/animation/shapes/eyes.js +135 -46
- package/dist/esm/animation/shapes/hair.js +80 -44
- package/dist/esm/animation/shapes/heads.js +140 -56
- package/dist/esm/animation/shapes/headwear.js +54 -37
- package/dist/esm/animation/shapes/legs.js +32 -12
- package/dist/esm/animation/shapes/mouths.js +127 -43
- package/dist/esm/animation/shapes/noses.js +87 -24
- package/dist/esm/animation/shapes/outfits.js +106 -38
- package/dist/esm/animation/shapes/torsos.js +16 -10
- package/dist/esm/animation/spineExport.js +106 -120
- package/dist/esm/core/LocalUI.js +111 -42
- package/dist/esm/core/NiceBrushEngine.js +761 -551
- package/dist/esm/core/collaboration.js +255 -250
- package/dist/esm/core/colorBlindness.js +106 -114
- package/dist/esm/core/dragDrop.js +157 -157
- package/dist/esm/core/editorAsk.js +53 -40
- package/dist/esm/core/fixes.js +145 -170
- package/dist/esm/core/gridGuides.js +178 -200
- package/dist/esm/core/historyVisual.js +158 -134
- package/dist/esm/core/i18n.js +15 -13
- package/dist/esm/core/integrations.js +244 -248
- package/dist/esm/core/minimap.js +151 -150
- package/dist/esm/core/plugins.js +102 -112
- package/dist/esm/core/rtl.js +77 -82
- package/dist/esm/core/shortcuts.js +200 -224
- package/dist/esm/core/theme.js +150 -148
- package/dist/esm/core/yjsCollaboration.js +240 -292
- package/dist/esm/design/design-tools.js +13 -21
- package/dist/esm/font/NiceFontEditor.js +880 -315
- package/dist/esm/font/fontFormatUtils.js +394 -447
- package/dist/esm/game/GameAsset2dEditor.js +1202 -391
- package/dist/esm/game/GameAsset2dEditor.module.css.js +146 -3
- package/dist/esm/game/gameAssetTypes.js +8 -15
- package/dist/esm/game/gameAssetUtils.js +408 -412
- package/dist/esm/game/useGameAssetEditor.js +821 -762
- package/dist/esm/index.js +332 -69
- package/dist/esm/nice2dev-ui-graphics.css +1 -1
- package/dist/esm/node_modules/lib0/array.js +15 -69
- package/dist/esm/node_modules/lib0/binary.js +14 -19
- package/dist/esm/node_modules/lib0/broadcastchannel.js +27 -85
- package/dist/esm/node_modules/lib0/buffer.js +20 -80
- package/dist/esm/node_modules/lib0/conditions.js +4 -15
- package/dist/esm/node_modules/lib0/decoding.js +128 -286
- package/dist/esm/node_modules/lib0/dom.js +20 -43
- package/dist/esm/node_modules/lib0/encoding.js +90 -415
- package/dist/esm/node_modules/lib0/environment.js +33 -91
- package/dist/esm/node_modules/lib0/error.js +8 -28
- package/dist/esm/node_modules/lib0/function.js +31 -65
- package/dist/esm/node_modules/lib0/iterator.js +11 -32
- package/dist/esm/node_modules/lib0/logging.common.js +22 -21
- package/dist/esm/node_modules/lib0/logging.js +44 -70
- package/dist/esm/node_modules/lib0/map.js +21 -85
- package/dist/esm/node_modules/lib0/math.js +9 -31
- package/dist/esm/node_modules/lib0/number.js +7 -14
- package/dist/esm/node_modules/lib0/object.js +26 -87
- package/dist/esm/node_modules/lib0/observable.js +40 -77
- package/dist/esm/node_modules/lib0/pair.js +5 -19
- package/dist/esm/node_modules/lib0/prng.js +15 -76
- package/dist/esm/node_modules/lib0/promise.js +7 -29
- package/dist/esm/node_modules/lib0/random.js +10 -22
- package/dist/esm/node_modules/lib0/schema.js +367 -686
- package/dist/esm/node_modules/lib0/set.js +4 -9
- package/dist/esm/node_modules/lib0/storage.js +23 -54
- package/dist/esm/node_modules/lib0/string.js +26 -71
- package/dist/esm/node_modules/lib0/symbol.js +3 -11
- package/dist/esm/node_modules/lib0/time.js +3 -14
- package/dist/esm/node_modules/lib0/trait/equality.js +5 -27
- package/dist/esm/node_modules/lib0/url.js +5 -17
- package/dist/esm/node_modules/lib0/webcrypto.js +3 -4
- package/dist/esm/node_modules/y-protocols/auth.js +7 -18
- package/dist/esm/node_modules/y-protocols/awareness.js +58 -115
- package/dist/esm/node_modules/y-protocols/sync.js +26 -102
- package/dist/esm/node_modules/y-websocket/src/y-websocket.js +82 -218
- package/dist/esm/node_modules/yjs/dist/yjs.js +2263 -4899
- package/dist/esm/photo/FilterThumb.js +37 -23
- package/dist/esm/photo/NiceAITools.js +685 -466
- package/dist/esm/photo/PhotoEditor.js +34 -18
- package/dist/esm/photo/PhotoEditor.module.css.js +296 -3
- package/dist/esm/photo/PhotoEditorCanvas.js +250 -89
- package/dist/esm/photo/PhotoEditorLeftPanel.js +1086 -222
- package/dist/esm/photo/PhotoEditorToolbar.js +135 -17
- package/dist/esm/photo/photoEditorActions.js +93 -71
- package/dist/esm/photo/photoEditorTypes.js +32 -31
- package/dist/esm/photo/photoFilters.js +967 -984
- package/dist/esm/photo/photoOverlays.js +913 -944
- package/dist/esm/photo/photoSelection.js +438 -498
- package/dist/esm/photo/usePhotoEditor.js +740 -740
- package/dist/esm/pixel/HSVPicker.js +192 -174
- package/dist/esm/pixel/PixelEditor.js +160 -47
- package/dist/esm/pixel/PixelEditor.module.css.js +209 -3
- package/dist/esm/pixel/PixelEditorCanvas.js +29 -14
- package/dist/esm/pixel/PixelEditorMenuBar.js +160 -160
- package/dist/esm/pixel/PixelEditorRightPanel.js +377 -43
- package/dist/esm/pixel/PixelEditorStatusBar.js +47 -18
- package/dist/esm/pixel/PixelEditorTimeline.js +106 -21
- package/dist/esm/pixel/PixelEditorToolbar.js +99 -19
- package/dist/esm/pixel/SpriteGeneratorPanel.js +483 -301
- package/dist/esm/pixel/animalGeneratorPresets.js +782 -600
- package/dist/esm/pixel/asepriteFormat.js +517 -559
- package/dist/esm/pixel/buildingGeneratorPresets.js +699 -519
- package/dist/esm/pixel/characterGeneratorPresets.js +650 -543
- package/dist/esm/pixel/pixel-pro.js +53 -62
- package/dist/esm/pixel/pixelEditorExports.js +397 -427
- package/dist/esm/pixel/pixelEditorTypes.js +103 -107
- package/dist/esm/pixel/pixelEditorUtils.js +551 -560
- package/dist/esm/pixel/spriteGeneratorCore.js +223 -256
- package/dist/esm/pixel/usePixelEditor.js +1322 -1342
- package/dist/esm/texture/Nice3DTexturePainter.js +709 -439
- package/dist/esm/ui/NiceUIDesigner.js +957 -526
- package/dist/esm/vector/NiceSvgToCode.js +589 -445
- package/dist/esm/vector/VectorEditor.js +291 -116
- package/dist/esm/vector/VectorEditor.module.css.js +86 -3
- package/dist/esm/vector/VectorEditorMenuBar.js +333 -273
- package/dist/esm/vector/VectorEditorRightPanel.js +1094 -369
- package/dist/esm/vector/VectorEditorShapeRenderer.js +199 -59
- package/dist/esm/vector/VectorEditorStatusBar.js +39 -11
- package/dist/esm/vector/useVectorEditor.js +849 -888
- package/dist/esm/vector/vectorAnimation.js +115 -136
- package/dist/esm/vector/vectorBooleanOps.js +401 -484
- package/dist/esm/vector/vectorEditorExport.js +207 -202
- package/dist/esm/vector/vectorEditorImport.js +174 -188
- package/dist/esm/vector/vectorEditorTypes.js +50 -48
- package/dist/esm/vector/vectorGradients.js +158 -173
- package/dist/esm/vector/vectorIconExport.js +53 -58
- package/dist/esm/vector/vectorIconImport.js +171 -218
- package/package.json +9 -15
|
@@ -1,370 +1,200 @@
|
|
|
1
|
-
import { BIT8, BITS7, BIT7, BITS6 } from
|
|
2
|
-
import { floor, isNegativeZero } from
|
|
3
|
-
import { MAX_SAFE_INTEGER } from
|
|
4
|
-
import { utf8TextDecoder } from
|
|
5
|
-
import { create } from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* encoding.writeVarString(encoder, 'Hello world!')
|
|
21
|
-
* const buf = encoding.toUint8Array(encoder)
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* ```js
|
|
25
|
-
* // decoding step
|
|
26
|
-
* const decoder = decoding.createDecoder(buf)
|
|
27
|
-
* decoding.readVarUint(decoder) // => 256
|
|
28
|
-
* decoding.readVarString(decoder) // => 'Hello world!'
|
|
29
|
-
* decoding.hasContent(decoder) // => false - all data is read
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* @module decoding
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const errorUnexpectedEndOfArray = create('Unexpected end of array');
|
|
37
|
-
const errorIntegerOutOfRange = create('Integer out of Range');
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* A Decoder handles the decoding of an Uint8Array.
|
|
41
|
-
* @template {ArrayBufferLike} [Buf=ArrayBufferLike]
|
|
42
|
-
*/
|
|
1
|
+
import { BIT8, BITS7, BIT7, BITS6 } from "./binary.js";
|
|
2
|
+
import { floor, isNegativeZero } from "./math.js";
|
|
3
|
+
import { MAX_SAFE_INTEGER } from "./number.js";
|
|
4
|
+
import { utf8TextDecoder } from "./string.js";
|
|
5
|
+
import { create } from "./error.js";
|
|
6
|
+
const errorUnexpectedEndOfArray = create("Unexpected end of array");
|
|
7
|
+
const errorIntegerOutOfRange = create("Integer out of Range");
|
|
8
|
+
const subarray = (arr, begin, len) => {
|
|
9
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
10
|
+
throw errorUnexpectedEndOfArray;
|
|
11
|
+
}
|
|
12
|
+
return new Uint8Array(arr.buffer, arr.byteOffset + begin, len);
|
|
13
|
+
};
|
|
14
|
+
const subdataview = (arr, begin, len) => {
|
|
15
|
+
if (begin < 0 || len < 0 || begin + len > arr.length) {
|
|
16
|
+
throw errorUnexpectedEndOfArray;
|
|
17
|
+
}
|
|
18
|
+
return new DataView(arr.buffer, arr.byteOffset + begin, len);
|
|
19
|
+
};
|
|
43
20
|
class Decoder {
|
|
44
21
|
/**
|
|
45
22
|
* @param {Uint8Array<Buf>} uint8Array Binary data to decode
|
|
46
23
|
*/
|
|
47
|
-
constructor
|
|
48
|
-
/**
|
|
49
|
-
* Decoding target.
|
|
50
|
-
*
|
|
51
|
-
* @type {Uint8Array<Buf>}
|
|
52
|
-
*/
|
|
24
|
+
constructor(uint8Array) {
|
|
53
25
|
this.arr = uint8Array;
|
|
54
|
-
/**
|
|
55
|
-
* Current decoding position.
|
|
56
|
-
*
|
|
57
|
-
* @type {number}
|
|
58
|
-
*/
|
|
59
26
|
this.pos = 0;
|
|
60
27
|
}
|
|
61
28
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* @function
|
|
65
|
-
* @template {ArrayBufferLike} Buf
|
|
66
|
-
* @param {Uint8Array<Buf>} uint8Array
|
|
67
|
-
* @return {Decoder<Buf>}
|
|
68
|
-
*/
|
|
69
|
-
const createDecoder = uint8Array => new Decoder(uint8Array);
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* @function
|
|
73
|
-
* @param {Decoder} decoder
|
|
74
|
-
* @return {boolean}
|
|
75
|
-
*/
|
|
76
|
-
const hasContent = decoder => decoder.pos !== decoder.arr.length;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Create an Uint8Array view of the next `len` bytes and advance the position by `len`.
|
|
80
|
-
*
|
|
81
|
-
* Important: The Uint8Array still points to the underlying ArrayBuffer. Make sure to discard the result as soon as possible to prevent any memory leaks.
|
|
82
|
-
* Use `buffer.copyUint8Array` to copy the result into a new Uint8Array.
|
|
83
|
-
*
|
|
84
|
-
* @function
|
|
85
|
-
* @template {ArrayBufferLike} Buf
|
|
86
|
-
* @param {Decoder<Buf>} decoder The decoder instance
|
|
87
|
-
* @param {number} len The length of bytes to read
|
|
88
|
-
* @return {Uint8Array<Buf>}
|
|
89
|
-
*/
|
|
29
|
+
const createDecoder = (uint8Array) => new Decoder(uint8Array);
|
|
30
|
+
const hasContent = (decoder) => decoder.pos !== decoder.arr.length;
|
|
90
31
|
const readUint8Array = (decoder, len) => {
|
|
91
|
-
const view =
|
|
32
|
+
const view = subarray(decoder.arr, decoder.pos, len);
|
|
92
33
|
decoder.pos += len;
|
|
93
|
-
return view
|
|
34
|
+
return view;
|
|
94
35
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*
|
|
99
|
-
* Important: The Uint8Array still points to the underlying ArrayBuffer. Make sure to discard the result as soon as possible to prevent any memory leaks.
|
|
100
|
-
* Use `buffer.copyUint8Array` to copy the result into a new Uint8Array.
|
|
101
|
-
*
|
|
102
|
-
* @function
|
|
103
|
-
* @template {ArrayBufferLike} Buf
|
|
104
|
-
* @param {Decoder<Buf>} decoder
|
|
105
|
-
* @return {Uint8Array<Buf>}
|
|
106
|
-
*/
|
|
107
|
-
const readVarUint8Array = decoder => readUint8Array(decoder, readVarUint(decoder));
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Read one byte as unsigned integer.
|
|
111
|
-
* @function
|
|
112
|
-
* @param {Decoder} decoder The decoder instance
|
|
113
|
-
* @return {number} Unsigned 8-bit integer
|
|
114
|
-
*/
|
|
115
|
-
const readUint8 = decoder => decoder.arr[decoder.pos++];
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Read unsigned integer (32bit) with variable length.
|
|
119
|
-
* 1/8th of the storage is used as encoding overhead.
|
|
120
|
-
* * numbers < 2^7 is stored in one bytlength
|
|
121
|
-
* * numbers < 2^14 is stored in two bylength
|
|
122
|
-
*
|
|
123
|
-
* @function
|
|
124
|
-
* @param {Decoder} decoder
|
|
125
|
-
* @return {number} An unsigned integer.length
|
|
126
|
-
*/
|
|
127
|
-
const readVarUint = decoder => {
|
|
36
|
+
const readVarUint8Array = (decoder) => readUint8Array(decoder, readVarUint(decoder));
|
|
37
|
+
const readUint8 = (decoder) => decoder.arr[decoder.pos++];
|
|
38
|
+
const readVarUint = (decoder) => {
|
|
128
39
|
let num = 0;
|
|
129
40
|
let mult = 1;
|
|
130
41
|
const len = decoder.arr.length;
|
|
131
42
|
while (decoder.pos < len) {
|
|
132
43
|
const r = decoder.arr[decoder.pos++];
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
mult *= 128; // next iteration, shift 7 "more" to the left
|
|
44
|
+
num = num + (r & BITS7) * mult;
|
|
45
|
+
mult *= 128;
|
|
136
46
|
if (r < BIT8) {
|
|
137
|
-
return num
|
|
47
|
+
return num;
|
|
138
48
|
}
|
|
139
|
-
/* c8 ignore start */
|
|
140
49
|
if (num > MAX_SAFE_INTEGER) {
|
|
141
|
-
throw errorIntegerOutOfRange
|
|
50
|
+
throw errorIntegerOutOfRange;
|
|
142
51
|
}
|
|
143
|
-
/* c8 ignore stop */
|
|
144
52
|
}
|
|
145
|
-
throw errorUnexpectedEndOfArray
|
|
53
|
+
throw errorUnexpectedEndOfArray;
|
|
146
54
|
};
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Read signed integer (32bit) with variable length.
|
|
150
|
-
* 1/8th of the storage is used as encoding overhead.
|
|
151
|
-
* * numbers < 2^7 is stored in one bytlength
|
|
152
|
-
* * numbers < 2^14 is stored in two bylength
|
|
153
|
-
* @todo This should probably create the inverse ~num if number is negative - but this would be a breaking change.
|
|
154
|
-
*
|
|
155
|
-
* @function
|
|
156
|
-
* @param {Decoder} decoder
|
|
157
|
-
* @return {number} An unsigned integer.length
|
|
158
|
-
*/
|
|
159
|
-
const readVarInt = decoder => {
|
|
55
|
+
const readVarInt = (decoder) => {
|
|
160
56
|
let r = decoder.arr[decoder.pos++];
|
|
161
57
|
let num = r & BITS6;
|
|
162
58
|
let mult = 64;
|
|
163
59
|
const sign = (r & BIT7) > 0 ? -1 : 1;
|
|
164
60
|
if ((r & BIT8) === 0) {
|
|
165
|
-
|
|
166
|
-
return sign * num
|
|
61
|
+
return sign * num;
|
|
167
62
|
}
|
|
168
63
|
const len = decoder.arr.length;
|
|
169
64
|
while (decoder.pos < len) {
|
|
170
65
|
r = decoder.arr[decoder.pos++];
|
|
171
|
-
// num = num | ((r & binary.BITS7) << len)
|
|
172
66
|
num = num + (r & BITS7) * mult;
|
|
173
67
|
mult *= 128;
|
|
174
68
|
if (r < BIT8) {
|
|
175
|
-
return sign * num
|
|
69
|
+
return sign * num;
|
|
176
70
|
}
|
|
177
|
-
/* c8 ignore start */
|
|
178
71
|
if (num > MAX_SAFE_INTEGER) {
|
|
179
|
-
throw errorIntegerOutOfRange
|
|
72
|
+
throw errorIntegerOutOfRange;
|
|
180
73
|
}
|
|
181
|
-
/* c8 ignore stop */
|
|
182
74
|
}
|
|
183
|
-
throw errorUnexpectedEndOfArray
|
|
75
|
+
throw errorUnexpectedEndOfArray;
|
|
184
76
|
};
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* We don't test this function anymore as we use native decoding/encoding by default now.
|
|
188
|
-
* Better not modify this anymore..
|
|
189
|
-
*
|
|
190
|
-
* Transforming utf8 to a string is pretty expensive. The code performs 10x better
|
|
191
|
-
* when String.fromCodePoint is fed with all characters as arguments.
|
|
192
|
-
* But most environments have a maximum number of arguments per functions.
|
|
193
|
-
* For effiency reasons we apply a maximum of 10000 characters at once.
|
|
194
|
-
*
|
|
195
|
-
* @function
|
|
196
|
-
* @param {Decoder} decoder
|
|
197
|
-
* @return {String} The read String.
|
|
198
|
-
*/
|
|
199
|
-
/* c8 ignore start */
|
|
200
|
-
const _readVarStringPolyfill = decoder => {
|
|
77
|
+
const _readVarStringPolyfill = (decoder) => {
|
|
201
78
|
let remainingLen = readVarUint(decoder);
|
|
202
79
|
if (remainingLen === 0) {
|
|
203
|
-
return
|
|
80
|
+
return "";
|
|
204
81
|
} else {
|
|
205
|
-
let encodedString = String.fromCodePoint(readUint8(decoder));
|
|
206
|
-
if (--remainingLen < 100) {
|
|
82
|
+
let encodedString = String.fromCodePoint(readUint8(decoder));
|
|
83
|
+
if (--remainingLen < 100) {
|
|
207
84
|
while (remainingLen--) {
|
|
208
85
|
encodedString += String.fromCodePoint(readUint8(decoder));
|
|
209
86
|
}
|
|
210
87
|
} else {
|
|
211
88
|
while (remainingLen > 0) {
|
|
212
|
-
const nextLen = remainingLen <
|
|
213
|
-
// this is dangerous, we create a fresh array view from the existing buffer
|
|
89
|
+
const nextLen = remainingLen < 1e4 ? remainingLen : 1e4;
|
|
214
90
|
const bytes = decoder.arr.subarray(decoder.pos, decoder.pos + nextLen);
|
|
215
91
|
decoder.pos += nextLen;
|
|
216
|
-
|
|
217
|
-
|
|
92
|
+
encodedString += String.fromCodePoint.apply(
|
|
93
|
+
null,
|
|
94
|
+
/** @type {any} */
|
|
95
|
+
bytes
|
|
96
|
+
);
|
|
218
97
|
remainingLen -= nextLen;
|
|
219
98
|
}
|
|
220
99
|
}
|
|
221
|
-
return decodeURIComponent(escape(encodedString))
|
|
100
|
+
return decodeURIComponent(escape(encodedString));
|
|
222
101
|
}
|
|
223
102
|
};
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
* @param {Decoder} decoder
|
|
229
|
-
* @return {String} The read String
|
|
230
|
-
*/
|
|
231
|
-
const _readVarStringNative = decoder =>
|
|
232
|
-
/** @type any */ (utf8TextDecoder).decode(readVarUint8Array(decoder));
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Read string of variable length
|
|
236
|
-
* * varUint is used to store the length of the string
|
|
237
|
-
*
|
|
238
|
-
* @function
|
|
239
|
-
* @param {Decoder} decoder
|
|
240
|
-
* @return {String} The read String
|
|
241
|
-
*
|
|
242
|
-
*/
|
|
243
|
-
/* c8 ignore next */
|
|
103
|
+
const _readVarStringNative = (decoder) => (
|
|
104
|
+
/** @type any */
|
|
105
|
+
utf8TextDecoder.decode(readVarUint8Array(decoder))
|
|
106
|
+
);
|
|
244
107
|
const readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* @param {Decoder} decoder
|
|
248
|
-
* @param {number} len
|
|
249
|
-
* @return {DataView}
|
|
250
|
-
*/
|
|
251
108
|
const readFromDataView = (decoder, len) => {
|
|
252
|
-
const dv =
|
|
109
|
+
const dv = subdataview(decoder.arr, decoder.pos, len);
|
|
253
110
|
decoder.pos += len;
|
|
254
|
-
return dv
|
|
111
|
+
return dv;
|
|
255
112
|
};
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* @param {Decoder} decoder
|
|
264
|
-
*/
|
|
265
|
-
const readFloat64 = decoder => readFromDataView(decoder, 8).getFloat64(0, false);
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* @param {Decoder} decoder
|
|
269
|
-
*/
|
|
270
|
-
const readBigInt64 = decoder => /** @type {any} */ (readFromDataView(decoder, 8)).getBigInt64(0, false);
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* @type {Array<function(Decoder):any>}
|
|
274
|
-
*/
|
|
113
|
+
const readFloat32 = (decoder) => readFromDataView(decoder, 4).getFloat32(0, false);
|
|
114
|
+
const readFloat64 = (decoder) => readFromDataView(decoder, 8).getFloat64(0, false);
|
|
115
|
+
const readBigInt64 = (decoder) => (
|
|
116
|
+
/** @type {any} */
|
|
117
|
+
readFromDataView(decoder, 8).getBigInt64(0, false)
|
|
118
|
+
);
|
|
275
119
|
const readAnyLookupTable = [
|
|
276
|
-
decoder =>
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
120
|
+
(decoder) => void 0,
|
|
121
|
+
// CASE 127: undefined
|
|
122
|
+
(decoder) => null,
|
|
123
|
+
// CASE 126: null
|
|
124
|
+
readVarInt,
|
|
125
|
+
// CASE 125: integer
|
|
126
|
+
readFloat32,
|
|
127
|
+
// CASE 124: float32
|
|
128
|
+
readFloat64,
|
|
129
|
+
// CASE 123: float64
|
|
130
|
+
readBigInt64,
|
|
131
|
+
// CASE 122: bigint
|
|
132
|
+
(decoder) => false,
|
|
133
|
+
// CASE 121: boolean (false)
|
|
134
|
+
(decoder) => true,
|
|
135
|
+
// CASE 120: boolean (true)
|
|
136
|
+
readVarString,
|
|
137
|
+
// CASE 119: string
|
|
138
|
+
(decoder) => {
|
|
286
139
|
const len = readVarUint(decoder);
|
|
287
|
-
/**
|
|
288
|
-
* @type {Object<string,any>}
|
|
289
|
-
*/
|
|
290
140
|
const obj = {};
|
|
291
141
|
for (let i = 0; i < len; i++) {
|
|
292
142
|
const key = readVarString(decoder);
|
|
293
143
|
obj[key] = readAny(decoder);
|
|
294
144
|
}
|
|
295
|
-
return obj
|
|
145
|
+
return obj;
|
|
296
146
|
},
|
|
297
|
-
decoder => {
|
|
147
|
+
(decoder) => {
|
|
298
148
|
const len = readVarUint(decoder);
|
|
299
149
|
const arr = [];
|
|
300
150
|
for (let i = 0; i < len; i++) {
|
|
301
151
|
arr.push(readAny(decoder));
|
|
302
152
|
}
|
|
303
|
-
return arr
|
|
153
|
+
return arr;
|
|
304
154
|
},
|
|
305
|
-
readVarUint8Array
|
|
155
|
+
readVarUint8Array
|
|
156
|
+
// CASE 116: Uint8Array
|
|
306
157
|
];
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* @param {Decoder} decoder
|
|
310
|
-
*/
|
|
311
|
-
const readAny = decoder => readAnyLookupTable[127 - readUint8(decoder)](decoder);
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* T must not be null.
|
|
315
|
-
*
|
|
316
|
-
* @template T
|
|
317
|
-
*/
|
|
158
|
+
const readAny = (decoder) => readAnyLookupTable[127 - readUint8(decoder)](decoder);
|
|
318
159
|
class RleDecoder extends Decoder {
|
|
319
160
|
/**
|
|
320
161
|
* @param {Uint8Array} uint8Array
|
|
321
162
|
* @param {function(Decoder):T} reader
|
|
322
163
|
*/
|
|
323
|
-
constructor
|
|
164
|
+
constructor(uint8Array, reader) {
|
|
324
165
|
super(uint8Array);
|
|
325
|
-
/**
|
|
326
|
-
* The reader
|
|
327
|
-
*/
|
|
328
166
|
this.reader = reader;
|
|
329
|
-
/**
|
|
330
|
-
* Current state
|
|
331
|
-
* @type {T|null}
|
|
332
|
-
*/
|
|
333
167
|
this.s = null;
|
|
334
168
|
this.count = 0;
|
|
335
169
|
}
|
|
336
|
-
|
|
337
|
-
read () {
|
|
170
|
+
read() {
|
|
338
171
|
if (this.count === 0) {
|
|
339
172
|
this.s = this.reader(this);
|
|
340
173
|
if (hasContent(this)) {
|
|
341
|
-
this.count = readVarUint(this) + 1;
|
|
174
|
+
this.count = readVarUint(this) + 1;
|
|
342
175
|
} else {
|
|
343
|
-
this.count = -1;
|
|
176
|
+
this.count = -1;
|
|
344
177
|
}
|
|
345
178
|
}
|
|
346
179
|
this.count--;
|
|
347
|
-
return
|
|
180
|
+
return (
|
|
181
|
+
/** @type {T} */
|
|
182
|
+
this.s
|
|
183
|
+
);
|
|
348
184
|
}
|
|
349
185
|
}
|
|
350
|
-
|
|
351
186
|
class UintOptRleDecoder extends Decoder {
|
|
352
187
|
/**
|
|
353
188
|
* @param {Uint8Array} uint8Array
|
|
354
189
|
*/
|
|
355
|
-
constructor
|
|
190
|
+
constructor(uint8Array) {
|
|
356
191
|
super(uint8Array);
|
|
357
|
-
/**
|
|
358
|
-
* @type {number}
|
|
359
|
-
*/
|
|
360
192
|
this.s = 0;
|
|
361
193
|
this.count = 0;
|
|
362
194
|
}
|
|
363
|
-
|
|
364
|
-
read () {
|
|
195
|
+
read() {
|
|
365
196
|
if (this.count === 0) {
|
|
366
197
|
this.s = readVarInt(this);
|
|
367
|
-
// if the sign is negative, we read the count too, otherwise count is 1
|
|
368
198
|
const isNegative = isNegativeZero(this.s);
|
|
369
199
|
this.count = 1;
|
|
370
200
|
if (isNegative) {
|
|
@@ -373,33 +203,30 @@ class UintOptRleDecoder extends Decoder {
|
|
|
373
203
|
}
|
|
374
204
|
}
|
|
375
205
|
this.count--;
|
|
376
|
-
return
|
|
206
|
+
return (
|
|
207
|
+
/** @type {number} */
|
|
208
|
+
this.s
|
|
209
|
+
);
|
|
377
210
|
}
|
|
378
211
|
}
|
|
379
|
-
|
|
380
212
|
class IntDiffOptRleDecoder extends Decoder {
|
|
381
213
|
/**
|
|
382
214
|
* @param {Uint8Array} uint8Array
|
|
383
215
|
*/
|
|
384
|
-
constructor
|
|
216
|
+
constructor(uint8Array) {
|
|
385
217
|
super(uint8Array);
|
|
386
|
-
/**
|
|
387
|
-
* @type {number}
|
|
388
|
-
*/
|
|
389
218
|
this.s = 0;
|
|
390
219
|
this.count = 0;
|
|
391
220
|
this.diff = 0;
|
|
392
221
|
}
|
|
393
|
-
|
|
394
222
|
/**
|
|
395
223
|
* @return {number}
|
|
396
224
|
*/
|
|
397
|
-
read
|
|
225
|
+
read() {
|
|
398
226
|
if (this.count === 0) {
|
|
399
227
|
const diff = readVarInt(this);
|
|
400
|
-
// if the first bit is set, we read more data
|
|
401
228
|
const hasCount = diff & 1;
|
|
402
|
-
this.diff = floor(diff / 2);
|
|
229
|
+
this.diff = floor(diff / 2);
|
|
403
230
|
this.count = 1;
|
|
404
231
|
if (hasCount) {
|
|
405
232
|
this.count = readVarUint(this) + 2;
|
|
@@ -407,32 +234,47 @@ class IntDiffOptRleDecoder extends Decoder {
|
|
|
407
234
|
}
|
|
408
235
|
this.s += this.diff;
|
|
409
236
|
this.count--;
|
|
410
|
-
return this.s
|
|
237
|
+
return this.s;
|
|
411
238
|
}
|
|
412
239
|
}
|
|
413
|
-
|
|
414
240
|
class StringDecoder {
|
|
415
241
|
/**
|
|
416
242
|
* @param {Uint8Array} uint8Array
|
|
417
243
|
*/
|
|
418
|
-
constructor
|
|
244
|
+
constructor(uint8Array) {
|
|
419
245
|
this.decoder = new UintOptRleDecoder(uint8Array);
|
|
420
246
|
this.str = readVarString(this.decoder);
|
|
421
|
-
/**
|
|
422
|
-
* @type {number}
|
|
423
|
-
*/
|
|
424
247
|
this.spos = 0;
|
|
425
248
|
}
|
|
426
|
-
|
|
427
249
|
/**
|
|
428
250
|
* @return {string}
|
|
429
251
|
*/
|
|
430
|
-
read
|
|
252
|
+
read() {
|
|
431
253
|
const end = this.spos + this.decoder.read();
|
|
432
254
|
const res = this.str.slice(this.spos, end);
|
|
433
255
|
this.spos = end;
|
|
434
|
-
return res
|
|
256
|
+
return res;
|
|
435
257
|
}
|
|
436
258
|
}
|
|
437
|
-
|
|
438
|
-
|
|
259
|
+
export {
|
|
260
|
+
Decoder,
|
|
261
|
+
IntDiffOptRleDecoder,
|
|
262
|
+
RleDecoder,
|
|
263
|
+
StringDecoder,
|
|
264
|
+
UintOptRleDecoder,
|
|
265
|
+
_readVarStringNative,
|
|
266
|
+
_readVarStringPolyfill,
|
|
267
|
+
createDecoder,
|
|
268
|
+
hasContent,
|
|
269
|
+
readAny,
|
|
270
|
+
readBigInt64,
|
|
271
|
+
readFloat32,
|
|
272
|
+
readFloat64,
|
|
273
|
+
readFromDataView,
|
|
274
|
+
readUint8,
|
|
275
|
+
readUint8Array,
|
|
276
|
+
readVarInt,
|
|
277
|
+
readVarString,
|
|
278
|
+
readVarUint,
|
|
279
|
+
readVarUint8Array
|
|
280
|
+
};
|
|
@@ -1,47 +1,24 @@
|
|
|
1
|
-
import { map } from
|
|
2
|
-
import { $custom } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @type {$.Schema<DocumentFragment>}
|
|
15
|
-
*/
|
|
16
|
-
$custom(el => el.nodeType === DOCUMENT_FRAGMENT_NODE);
|
|
17
|
-
|
|
18
|
-
/** @type {DOMParser} */ (typeof DOMParser !== 'undefined' ? new DOMParser() : null);
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @type {$.Schema<Element>}
|
|
22
|
-
*/
|
|
23
|
-
$custom(el => el.nodeType === ELEMENT_NODE);
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* @type {$.Schema<Text>}
|
|
27
|
-
*/
|
|
28
|
-
$custom(el => el.nodeType === TEXT_NODE);
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @param {Map<string,string>} m
|
|
32
|
-
* @return {string}
|
|
33
|
-
*/
|
|
34
|
-
const mapToStyleString = m => map(m, (value, key) => `${key}:${value};`).join('');
|
|
35
|
-
|
|
1
|
+
import { map } from "./map.js";
|
|
2
|
+
import { $custom } from "./schema.js";
|
|
3
|
+
const doc = (
|
|
4
|
+
/** @type {Document} */
|
|
5
|
+
typeof document !== "undefined" ? document : {}
|
|
6
|
+
);
|
|
7
|
+
$custom((el) => el.nodeType === DOCUMENT_FRAGMENT_NODE);
|
|
8
|
+
typeof DOMParser !== "undefined" ? new DOMParser() : null;
|
|
9
|
+
$custom((el) => el.nodeType === ELEMENT_NODE);
|
|
10
|
+
$custom((el) => el.nodeType === TEXT_NODE);
|
|
11
|
+
const mapToStyleString = (m) => map(m, (value, key) => `${key}:${value};`).join("");
|
|
36
12
|
const ELEMENT_NODE = doc.ELEMENT_NODE;
|
|
37
13
|
const TEXT_NODE = doc.TEXT_NODE;
|
|
38
14
|
const DOCUMENT_NODE = doc.DOCUMENT_NODE;
|
|
39
15
|
const DOCUMENT_FRAGMENT_NODE = doc.DOCUMENT_FRAGMENT_NODE;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
16
|
+
$custom((el) => el.nodeType === DOCUMENT_NODE);
|
|
17
|
+
export {
|
|
18
|
+
DOCUMENT_FRAGMENT_NODE,
|
|
19
|
+
DOCUMENT_NODE,
|
|
20
|
+
ELEMENT_NODE,
|
|
21
|
+
TEXT_NODE,
|
|
22
|
+
doc,
|
|
23
|
+
mapToStyleString
|
|
24
|
+
};
|