ducjs 2.0.0 → 2.1.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/README.md +1 -1
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.d.ts +0 -3
- package/dist/flatbuffers/duc/duc-feature-control-frame-style.js +0 -8
- package/dist/flatbuffers/duc/duc-leader-style.d.ts +0 -3
- package/dist/flatbuffers/duc/duc-leader-style.js +0 -8
- package/dist/flatbuffers/duc/duc-plot-style.d.ts +1 -4
- package/dist/flatbuffers/duc/duc-plot-style.js +1 -10
- package/dist/flatbuffers/duc/duc-table-style.d.ts +0 -3
- package/dist/flatbuffers/duc/duc-table-style.js +0 -8
- package/dist/flatbuffers/duc/duc-text-style.d.ts +0 -3
- package/dist/flatbuffers/duc/duc-text-style.js +0 -8
- package/dist/flatbuffers/duc/duc-viewport-style.d.ts +1 -4
- package/dist/flatbuffers/duc/duc-viewport-style.js +1 -10
- package/dist/flatbuffers/duc/duc-xray-style.d.ts +1 -4
- package/dist/flatbuffers/duc/duc-xray-style.js +1 -10
- package/dist/flatbuffers/duc/exported-data-state.d.ts +3 -0
- package/dist/flatbuffers/duc/exported-data-state.js +8 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/parse.d.ts +5 -5
- package/dist/parse.js +57 -20
- package/dist/restore/restoreDataState.d.ts +14 -10
- package/dist/restore/restoreDataState.js +29 -22
- package/dist/restore/restoreElements.d.ts +2 -2
- package/dist/restore/restoreElements.js +21 -14
- package/dist/restore/restoreStandards.d.ts +2 -2
- package/dist/restore/restoreStandards.js +4 -4
- package/dist/serialize.d.ts +3 -2
- package/dist/serialize.js +14 -27
- package/dist/technical/measurements.d.ts +2 -2
- package/dist/technical/measurements.js +1 -1
- package/dist/technical/scopes.d.ts +4 -4
- package/dist/technical/scopes.js +1 -1
- package/dist/technical/standards.d.ts +4 -4
- package/dist/types/elements/index.d.ts +13 -13
- package/dist/types/elements/typeChecks.d.ts +5 -4
- package/dist/types/elements/typeChecks.js +5 -2
- package/dist/types/geometryTypes.d.ts +2 -2
- package/dist/types/index.d.ts +11 -8
- package/dist/types/index.js +1 -0
- package/dist/types/typeChecks.d.ts +5 -0
- package/dist/types/typeChecks.js +10 -0
- package/dist/utils/bounds.d.ts +3 -3
- package/dist/utils/bounds.js +3 -3
- package/dist/utils/constants.d.ts +5 -3
- package/dist/utils/constants.js +3 -5
- package/dist/utils/elements/frameElement.d.ts +2 -1
- package/dist/utils/elements/frameElement.js +13 -1
- package/dist/utils/elements/freedrawElement.d.ts +1 -1
- package/dist/utils/elements/freedrawElement.js +1 -1
- package/dist/utils/elements/index.d.ts +4 -4
- package/dist/utils/elements/index.js +17 -21
- package/dist/utils/elements/linearElement.d.ts +6 -6
- package/dist/utils/elements/linearElement.js +4 -4
- package/dist/utils/elements/newElement.d.ts +3 -3
- package/dist/utils/elements/newElement.js +26 -26
- package/dist/utils/elements/textElement.d.ts +7 -7
- package/dist/utils/elements/textElement.js +11 -9
- package/dist/utils/elements/viewportElement.d.ts +1 -1
- package/dist/utils/functionCodec.js +2 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/math/algebra/gadirections.d.ts +1 -1
- package/dist/utils/math/algebra/gadirections.js +1 -1
- package/dist/utils/math/algebra/galines.d.ts +1 -1
- package/dist/utils/math/algebra/galines.js +1 -1
- package/dist/utils/math/algebra/gapoints.d.ts +1 -1
- package/dist/utils/math/algebra/gapoints.js +3 -3
- package/dist/utils/math/algebra/gatransforms.d.ts +1 -1
- package/dist/utils/math/algebra/gatransforms.js +2 -2
- package/dist/utils/math/bbox.d.ts +2 -2
- package/dist/utils/math/geometry.d.ts +3 -3
- package/dist/utils/math/geometry.js +2 -2
- package/dist/utils/math/index.d.ts +6 -6
- package/dist/utils/math/index.js +3 -3
- package/dist/utils/normalize.d.ts +2 -2
- package/dist/utils/normalize.js +2 -2
- package/dist/utils/shape.d.ts +2 -2
- package/dist/utils/shape.js +8 -8
- package/dist/utils/state/grid.d.ts +1 -1
- package/dist/utils/state/grid.js +3 -3
- package/dist/utils/state/index.d.ts +1 -1
- package/dist/utils/state/index.js +7 -7
- package/dist/utils/traverse.d.ts +22 -0
- package/dist/utils/traverse.js +87 -0
- package/dist/utils/version.d.ts +1 -1
- package/dist/utils/version.js +1 -1
- package/package.json +4 -2
- package/dist/legacy/index.d.ts +0 -1
- package/dist/legacy/index.js +0 -1
- package/dist/legacy/v1/duc/app-state.d.ts +0 -124
- package/dist/legacy/v1/duc/app-state.js +0 -388
- package/dist/legacy/v1/duc/binary-file-data.d.ts +0 -27
- package/dist/legacy/v1/duc/binary-file-data.js +0 -90
- package/dist/legacy/v1/duc/binary-files-entry.d.ts +0 -16
- package/dist/legacy/v1/duc/binary-files-entry.js +0 -43
- package/dist/legacy/v1/duc/binary-files.d.ts +0 -17
- package/dist/legacy/v1/duc/binary-files.js +0 -55
- package/dist/legacy/v1/duc/binding-point.d.ts +0 -15
- package/dist/legacy/v1/duc/binding-point.js +0 -48
- package/dist/legacy/v1/duc/bound-element.d.ts +0 -17
- package/dist/legacy/v1/duc/bound-element.js +0 -48
- package/dist/legacy/v1/duc/duc-block-attribute-details.d.ts +0 -22
- package/dist/legacy/v1/duc/duc-block-attribute-details.js +0 -57
- package/dist/legacy/v1/duc/duc-block-attribute.d.ts +0 -16
- package/dist/legacy/v1/duc/duc-block-attribute.js +0 -43
- package/dist/legacy/v1/duc/duc-block-instance-element-override.d.ts +0 -17
- package/dist/legacy/v1/duc/duc-block-instance-element-override.js +0 -48
- package/dist/legacy/v1/duc/duc-block.d.ts +0 -34
- package/dist/legacy/v1/duc/duc-block.js +0 -110
- package/dist/legacy/v1/duc/duc-element.d.ts +0 -273
- package/dist/legacy/v1/duc/duc-element.js +0 -865
- package/dist/legacy/v1/duc/duc-group.d.ts +0 -40
- package/dist/legacy/v1/duc/duc-group.js +0 -114
- package/dist/legacy/v1/duc/duc-line-reference.d.ts +0 -15
- package/dist/legacy/v1/duc/duc-line-reference.js +0 -43
- package/dist/legacy/v1/duc/duc-line.d.ts +0 -15
- package/dist/legacy/v1/duc/duc-line.js +0 -43
- package/dist/legacy/v1/duc/duc-path.d.ts +0 -26
- package/dist/legacy/v1/duc/duc-path.js +0 -69
- package/dist/legacy/v1/duc/duc-table-cell.d.ts +0 -22
- package/dist/legacy/v1/duc/duc-table-cell.js +0 -57
- package/dist/legacy/v1/duc/duc-table-column.d.ts +0 -18
- package/dist/legacy/v1/duc/duc-table-column.js +0 -50
- package/dist/legacy/v1/duc/duc-table-row.d.ts +0 -18
- package/dist/legacy/v1/duc/duc-table-row.js +0 -50
- package/dist/legacy/v1/duc/duc-table-style-props.d.ts +0 -39
- package/dist/legacy/v1/duc/duc-table-style-props.js +0 -114
- package/dist/legacy/v1/duc/duc-table-style.d.ts +0 -14
- package/dist/legacy/v1/duc/duc-table-style.js +0 -41
- package/dist/legacy/v1/duc/element-background.d.ts +0 -14
- package/dist/legacy/v1/duc/element-background.js +0 -41
- package/dist/legacy/v1/duc/element-content-base.d.ts +0 -22
- package/dist/legacy/v1/duc/element-content-base.js +0 -64
- package/dist/legacy/v1/duc/element-stroke.d.ts +0 -23
- package/dist/legacy/v1/duc/element-stroke.js +0 -66
- package/dist/legacy/v1/duc/exported-data-state.d.ts +0 -51
- package/dist/legacy/v1/duc/exported-data-state.js +0 -155
- package/dist/legacy/v1/duc/image-crop.d.ts +0 -23
- package/dist/legacy/v1/duc/image-crop.js +0 -80
- package/dist/legacy/v1/duc/linear-element-editor.d.ts +0 -44
- package/dist/legacy/v1/duc/linear-element-editor.js +0 -119
- package/dist/legacy/v1/duc/point-binding.d.ts +0 -25
- package/dist/legacy/v1/duc/point-binding.js +0 -72
- package/dist/legacy/v1/duc/point.d.ts +0 -20
- package/dist/legacy/v1/duc/point.js +0 -63
- package/dist/legacy/v1/duc/pointer-down-state.d.ts +0 -32
- package/dist/legacy/v1/duc/pointer-down-state.js +0 -90
- package/dist/legacy/v1/duc/renderer-state.d.ts +0 -17
- package/dist/legacy/v1/duc/renderer-state.js +0 -54
- package/dist/legacy/v1/duc/segment-midpoint-state.d.ts +0 -18
- package/dist/legacy/v1/duc/segment-midpoint-state.js +0 -57
- package/dist/legacy/v1/duc/simple-point.d.ts +0 -15
- package/dist/legacy/v1/duc/simple-point.js +0 -48
- package/dist/legacy/v1/duc/stroke-sides.d.ts +0 -23
- package/dist/legacy/v1/duc/stroke-sides.js +0 -66
- package/dist/legacy/v1/duc/stroke-style.d.ts +0 -31
- package/dist/legacy/v1/duc/stroke-style.js +0 -102
- package/dist/legacy/v1/duc/tiling-properties.d.ts +0 -21
- package/dist/legacy/v1/duc/tiling-properties.js +0 -75
- package/dist/legacy/v1/duc.d.ts +0 -35
- package/dist/legacy/v1/duc.js +0 -37
- package/dist/legacy/v1/index.d.ts +0 -1
- package/dist/legacy/v1/index.js +0 -1
- package/dist/legacy/v1/parse/index.d.ts +0 -67
- package/dist/legacy/v1/parse/index.js +0 -101
- package/dist/legacy/v1/parse/parseAppStateFromBinary.d.ts +0 -3
- package/dist/legacy/v1/parse/parseAppStateFromBinary.js +0 -139
- package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.d.ts +0 -4
- package/dist/legacy/v1/parse/parseBinaryFilesFromBinary.js +0 -32
- package/dist/legacy/v1/parse/parseBlockFromBinary.d.ts +0 -3
- package/dist/legacy/v1/parse/parseBlockFromBinary.js +0 -70
- package/dist/legacy/v1/parse/parseElementFromBinary.d.ts +0 -8
- package/dist/legacy/v1/parse/parseElementFromBinary.js +0 -387
- package/dist/legacy/v1/parse/parseGroupFromBinary.d.ts +0 -4
- package/dist/legacy/v1/parse/parseGroupFromBinary.js +0 -36
- package/dist/legacy/v1/parse/parseRendererStateFromBinary.d.ts +0 -4
- package/dist/legacy/v1/parse/parseRendererStateFromBinary.js +0 -15
- package/dist/legacy/v1/serialize/index.d.ts +0 -5
- package/dist/legacy/v1/serialize/index.js +0 -81
- package/dist/legacy/v1/serialize/serializationUtils.d.ts +0 -17
- package/dist/legacy/v1/serialize/serializationUtils.js +0 -27
- package/dist/legacy/v1/serialize/serializeAppStateFromDuc.d.ts +0 -4
- package/dist/legacy/v1/serialize/serializeAppStateFromDuc.js +0 -145
- package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.d.ts +0 -4
- package/dist/legacy/v1/serialize/serializeBinaryFilesFromDuc.js +0 -46
- package/dist/legacy/v1/serialize/serializeBlockFromDuc.d.ts +0 -3
- package/dist/legacy/v1/serialize/serializeBlockFromDuc.js +0 -60
- package/dist/legacy/v1/serialize/serializeElementFromDuc.d.ts +0 -8
- package/dist/legacy/v1/serialize/serializeElementFromDuc.js +0 -435
- package/dist/legacy/v1/serialize/serializeGroupFromDuc.d.ts +0 -3
- package/dist/legacy/v1/serialize/serializeGroupFromDuc.js +0 -37
- package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.d.ts +0 -4
- package/dist/legacy/v1/serialize/serializeRendererStateFromDuc.js +0 -7
- package/dist/legacy/v1/types/elements/index.d.ts +0 -480
- package/dist/legacy/v1/types/elements/index.js +0 -1
- package/dist/legacy/v1/types/elements/typeChecks.d.ts +0 -40
- package/dist/legacy/v1/types/elements/typeChecks.js +0 -179
- package/dist/legacy/v1/types/geometryTypes.d.ts +0 -78
- package/dist/legacy/v1/types/geometryTypes.js +0 -1
- package/dist/legacy/v1/types/index.d.ts +0 -496
- package/dist/legacy/v1/types/index.js +0 -1
- package/dist/legacy/v1/types/utility-types.d.ts +0 -31
- package/dist/legacy/v1/types/utility-types.js +0 -1
- package/dist/legacy/v1/utils/bounds.d.ts +0 -76
- package/dist/legacy/v1/utils/bounds.js +0 -415
- package/dist/legacy/v1/utils/constants.d.ts +0 -370
- package/dist/legacy/v1/utils/constants.js +0 -571
- package/dist/legacy/v1/utils/elements/index.d.ts +0 -26
- package/dist/legacy/v1/utils/elements/index.js +0 -108
- package/dist/legacy/v1/utils/elements/linearElement.d.ts +0 -133
- package/dist/legacy/v1/utils/elements/linearElement.js +0 -544
- package/dist/legacy/v1/utils/elements/textElement.d.ts +0 -89
- package/dist/legacy/v1/utils/elements/textElement.js +0 -563
- package/dist/legacy/v1/utils/index.d.ts +0 -26
- package/dist/legacy/v1/utils/index.js +0 -40
- package/dist/legacy/v1/utils/math/algebra/ga.d.ts +0 -63
- package/dist/legacy/v1/utils/math/algebra/ga.js +0 -268
- package/dist/legacy/v1/utils/math/algebra/gadirections.d.ts +0 -9
- package/dist/legacy/v1/utils/math/algebra/gadirections.js +0 -18
- package/dist/legacy/v1/utils/math/algebra/galines.d.ts +0 -23
- package/dist/legacy/v1/utils/math/algebra/galines.js +0 -32
- package/dist/legacy/v1/utils/math/algebra/gapoints.d.ts +0 -8
- package/dist/legacy/v1/utils/math/algebra/gapoints.js +0 -30
- package/dist/legacy/v1/utils/math/algebra/gatransforms.d.ts +0 -10
- package/dist/legacy/v1/utils/math/algebra/gatransforms.js +0 -23
- package/dist/legacy/v1/utils/math/bbox.d.ts +0 -10
- package/dist/legacy/v1/utils/math/bbox.js +0 -42
- package/dist/legacy/v1/utils/math/geometry.d.ts +0 -102
- package/dist/legacy/v1/utils/math/geometry.js +0 -790
- package/dist/legacy/v1/utils/math/index.d.ts +0 -309
- package/dist/legacy/v1/utils/math/index.js +0 -1140
- package/dist/legacy/v1/utils/math/random.d.ts +0 -4
- package/dist/legacy/v1/utils/math/random.js +0 -25
- package/dist/legacy/v1/utils/measurements.d.ts +0 -33
- package/dist/legacy/v1/utils/measurements.js +0 -65
- package/dist/legacy/v1/utils/normalize.d.ts +0 -14
- package/dist/legacy/v1/utils/normalize.js +0 -49
- package/dist/legacy/v1/utils/restore.d.ts +0 -197
- package/dist/legacy/v1/utils/restore.js +0 -1255
- package/dist/legacy/v1/utils/scopes.d.ts +0 -260
- package/dist/legacy/v1/utils/scopes.js +0 -661
- package/dist/legacy/v1/utils/standards.d.ts +0 -12
- package/dist/legacy/v1/utils/standards.js +0 -10
- package/dist/legacy/v1/utils/state/index.d.ts +0 -2
- package/dist/legacy/v1/utils/state/index.js +0 -68
- package/dist/legacy/v1/utils/url.d.ts +0 -8
- package/dist/legacy/v1/utils/url.js +0 -33
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
-
var t = {};
|
|
12
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
-
t[p] = s[p];
|
|
14
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
-
t[p[i]] = s[p[i]];
|
|
18
|
-
}
|
|
19
|
-
return t;
|
|
20
|
-
};
|
|
21
|
-
import * as flatbuffers from 'flatbuffers';
|
|
22
|
-
import { restore } from 'ducjs/legacy/v1/utils/restore';
|
|
23
|
-
import { ExportedDataState } from 'ducjs/legacy/v1/duc';
|
|
24
|
-
import { parseAppStateFromBinary } from 'ducjs/legacy/v1/parse/parseAppStateFromBinary';
|
|
25
|
-
import { parseBinaryFilesFromBinary } from 'ducjs/legacy/v1/parse/parseBinaryFilesFromBinary';
|
|
26
|
-
import { parseElementFromBinary } from 'ducjs/legacy/v1/parse/parseElementFromBinary';
|
|
27
|
-
import { parseRendererStateFromBinary } from 'ducjs/legacy/v1/parse/parseRendererStateFromBinary';
|
|
28
|
-
import { parseBlockFromBinary } from 'ducjs/legacy/v1/parse/parseBlockFromBinary';
|
|
29
|
-
import { parseGroupFromBinary } from 'ducjs/legacy/v1/parse/parseGroupFromBinary';
|
|
30
|
-
export const parseDucFlatBuffers = (blob_1, ...args_1) => __awaiter(void 0, [blob_1, ...args_1], void 0, function* (blob, fileHandle = null) {
|
|
31
|
-
const arrayBuffer = yield blob.arrayBuffer();
|
|
32
|
-
const byteBuffer = new flatbuffers.ByteBuffer(new Uint8Array(arrayBuffer));
|
|
33
|
-
const data = ExportedDataState.getRootAsExportedDataState(byteBuffer);
|
|
34
|
-
const version = data.versionLegacy();
|
|
35
|
-
// Parse elements
|
|
36
|
-
const elements = [];
|
|
37
|
-
for (let i = 0; i < data.elementsLength(); i++) {
|
|
38
|
-
const e = data.elements(i);
|
|
39
|
-
if (e) {
|
|
40
|
-
const element = parseElementFromBinary(e, version);
|
|
41
|
-
if (element) {
|
|
42
|
-
elements.push(element);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Parse appState
|
|
47
|
-
const appState = data.appState();
|
|
48
|
-
const parsedAppState = parseAppStateFromBinary(appState, version);
|
|
49
|
-
// Parse files
|
|
50
|
-
const binaryFiles = data.files();
|
|
51
|
-
const parsedFiles = parseBinaryFilesFromBinary(binaryFiles);
|
|
52
|
-
// Parse rendererState
|
|
53
|
-
const rendererState = data.rendererState();
|
|
54
|
-
const parsedRendererState = parseRendererStateFromBinary(rendererState);
|
|
55
|
-
// Parse blocks
|
|
56
|
-
const blocks = [];
|
|
57
|
-
for (let i = 0; i < data.blocksLength(); i++) {
|
|
58
|
-
const block = data.blocks(i);
|
|
59
|
-
if (block) {
|
|
60
|
-
const parsedBlock = parseBlockFromBinary(block, version);
|
|
61
|
-
if (parsedBlock) {
|
|
62
|
-
blocks.push(parsedBlock);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// Parse groups
|
|
67
|
-
const groups = [];
|
|
68
|
-
for (let i = 0; i < data.groupsLength(); i++) {
|
|
69
|
-
const group = data.groups(i);
|
|
70
|
-
if (group && parsedAppState.scope) {
|
|
71
|
-
const parsedGroup = parseGroupFromBinary(group, parsedAppState.scope);
|
|
72
|
-
if (parsedGroup) {
|
|
73
|
-
groups.push(parsedGroup);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const customExtendedAppStateRestorer = (extendedAppState, localExtendedAppState, restoredDucState) => {
|
|
78
|
-
return Object.assign(Object.assign({}, restoredDucState), { fileHandle: fileHandle || (blob && 'handle' in blob ? blob.handle : null) });
|
|
79
|
-
};
|
|
80
|
-
const sanitized = restore({
|
|
81
|
-
elements: elements,
|
|
82
|
-
appState: parsedAppState,
|
|
83
|
-
files: parsedFiles,
|
|
84
|
-
blocks,
|
|
85
|
-
groups,
|
|
86
|
-
rendererState: parsedRendererState,
|
|
87
|
-
}, undefined, undefined, customExtendedAppStateRestorer, {
|
|
88
|
-
repairBindings: true,
|
|
89
|
-
refreshDimensions: false,
|
|
90
|
-
syncInvalidIndices: (elements) => elements,
|
|
91
|
-
});
|
|
92
|
-
const cleanAppState = __rest(sanitized.appState, []);
|
|
93
|
-
return {
|
|
94
|
-
elements: sanitized.elements,
|
|
95
|
-
appState: cleanAppState,
|
|
96
|
-
files: sanitized.files,
|
|
97
|
-
blocks: sanitized.blocks,
|
|
98
|
-
groups: sanitized.groups,
|
|
99
|
-
rendererState: parsedRendererState,
|
|
100
|
-
};
|
|
101
|
-
});
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { parseElementBinBackground, parseElementBinStroke, parsePoint } from 'ducjs/legacy/v1/parse/parseElementFromBinary';
|
|
2
|
-
import { getPrecisionValueFromRaw, NEUTRAL_SCOPE } from 'ducjs/legacy/v1/utils/scopes';
|
|
3
|
-
import { HANDLE_TYPE } from 'ducjs/legacy/v1/utils/constants';
|
|
4
|
-
export const parseAppStateFromBinary = (appStateBin, v) => {
|
|
5
|
-
var _a;
|
|
6
|
-
if (!appStateBin)
|
|
7
|
-
return {};
|
|
8
|
-
const forceNeutralScope = v <= 5;
|
|
9
|
-
let readScope = appStateBin.scope();
|
|
10
|
-
const scope = forceNeutralScope ? NEUTRAL_SCOPE : (readScope || NEUTRAL_SCOPE);
|
|
11
|
-
let readMainScope = appStateBin.mainScope();
|
|
12
|
-
const mainScope = forceNeutralScope ? NEUTRAL_SCOPE : (readMainScope || NEUTRAL_SCOPE);
|
|
13
|
-
// Parse LinearElementEditor
|
|
14
|
-
let editingLinearElement = null;
|
|
15
|
-
if (appStateBin.editingLinearElement()) {
|
|
16
|
-
const editor = appStateBin.editingLinearElement();
|
|
17
|
-
// Parse selected points indices
|
|
18
|
-
const selectedPointsIndices = Array.from({ length: editor.selectedPointsIndicesLength() })
|
|
19
|
-
.map((_, i) => editor.selectedPointsIndices(i));
|
|
20
|
-
// Parse pointer down state
|
|
21
|
-
let pointerDownState = undefined;
|
|
22
|
-
if (editor.pointerDownState()) {
|
|
23
|
-
const pds = editor.pointerDownState();
|
|
24
|
-
const handleType = pds.handleType();
|
|
25
|
-
pointerDownState = {
|
|
26
|
-
prevSelectedPointsIndices: Array.from({ length: pds.prevSelectedPointsIndicesLength() })
|
|
27
|
-
.map((_, i) => pds.prevSelectedPointsIndices(i)),
|
|
28
|
-
// prevSelectedHandles: Array.from({ length: pds.prevSelectedHandlesLength() })
|
|
29
|
-
// .map((_, i) => pds.prevSelectedHandles(i)),
|
|
30
|
-
prevSelectedHandles: null,
|
|
31
|
-
lastClickedPoint: pds.lastClickedPoint(),
|
|
32
|
-
lastClickedIsEndPoint: pds.lastClickedIsEndPoint(),
|
|
33
|
-
origin: pds.origin() ? {
|
|
34
|
-
x: pds.origin().x(),
|
|
35
|
-
y: pds.origin().y(),
|
|
36
|
-
} : undefined,
|
|
37
|
-
segmentMidpoint: pds.segmentMidpoint() ? {
|
|
38
|
-
value: pds.segmentMidpoint().value() ?
|
|
39
|
-
parsePoint(pds.segmentMidpoint().value(), scope) :
|
|
40
|
-
undefined,
|
|
41
|
-
index: pds.segmentMidpoint().index(),
|
|
42
|
-
added: pds.segmentMidpoint().added(),
|
|
43
|
-
} : undefined,
|
|
44
|
-
handleType: HANDLE_TYPE.HANDLE_IN === handleType ? "handleIn" : "handleOut",
|
|
45
|
-
handleInfo: null,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
// Create LinearElementEditor with all required properties
|
|
49
|
-
editingLinearElement = {
|
|
50
|
-
elementId: editor.elementId(),
|
|
51
|
-
selectedPointsIndices,
|
|
52
|
-
pointerDownState,
|
|
53
|
-
isDragging: editor.isDragging(),
|
|
54
|
-
wasDragging: false,
|
|
55
|
-
lastUncommittedPoint: editor.lastUncommittedPoint() ?
|
|
56
|
-
parsePoint(editor.lastUncommittedPoint(), scope) :
|
|
57
|
-
undefined,
|
|
58
|
-
pointerOffset: editor.pointerOffset() ? {
|
|
59
|
-
x: editor.pointerOffset().x(),
|
|
60
|
-
y: editor.pointerOffset().y(),
|
|
61
|
-
} : { x: 0, y: 0 },
|
|
62
|
-
startBindingElement: editor.startBindingElement() || undefined,
|
|
63
|
-
endBindingElement: editor.endBindingElement() || undefined,
|
|
64
|
-
hoverPointIndex: editor.hoverPointIndex(),
|
|
65
|
-
// selectedHandles: editor.selectedHandles() ?
|
|
66
|
-
// editor.selectedHandles()!.map(handle => ({
|
|
67
|
-
// pointIndex: handle.pointIndex(),
|
|
68
|
-
// handleType: handle.handleType() as LinearElementEditor["pointerDownState"]["handleType"],
|
|
69
|
-
// })) :
|
|
70
|
-
// null,
|
|
71
|
-
// hoveredHandle: editor.hoveredHandle() ?
|
|
72
|
-
// {
|
|
73
|
-
// pointIndex: editor.hoveredHandle()!.pointIndex(),
|
|
74
|
-
// handleType: editor.hoveredHandle()!.handleType() as LinearElementEditor["pointerDownState"]["handleType"],
|
|
75
|
-
// } :
|
|
76
|
-
// null,
|
|
77
|
-
selectedHandles: null,
|
|
78
|
-
hoveredHandle: null,
|
|
79
|
-
segmentMidPointHoveredCoords: editor.segmentMidPointHoveredCoords() ?
|
|
80
|
-
parsePoint(editor.segmentMidPointHoveredCoords(), scope) :
|
|
81
|
-
undefined,
|
|
82
|
-
_dragCache: null,
|
|
83
|
-
shouldStartNewChain: false,
|
|
84
|
-
addingPointToExistingElement: false,
|
|
85
|
-
lastClosedPathPointIndex: null,
|
|
86
|
-
elementScope: scope,
|
|
87
|
-
pointsCoincidentWithExisting: new Map(), // Initialize coincidence tracking
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
name: appStateBin.name(),
|
|
92
|
-
zoom: {
|
|
93
|
-
value: appStateBin.zoom(),
|
|
94
|
-
}, // So that we don't have to parse the stateless values, this is handled on restore.ts
|
|
95
|
-
selectedElementIds: Object.fromEntries(Array.from({ length: appStateBin.selectedElementIdsLength() }, (_, i) => [
|
|
96
|
-
appStateBin.selectedElementIds(i),
|
|
97
|
-
true,
|
|
98
|
-
])),
|
|
99
|
-
elementsPendingErasure: new Set(Array.from({ length: appStateBin.elementsPendingErasureLength() }, (_, i) => appStateBin.elementsPendingErasure(i))),
|
|
100
|
-
gridSize: appStateBin.gridSize(),
|
|
101
|
-
gridStep: appStateBin.gridStep(),
|
|
102
|
-
scrollX: {
|
|
103
|
-
value: appStateBin.scrollX(),
|
|
104
|
-
}, // So that we don't have to parse the stateless values, this is handled on restore.ts
|
|
105
|
-
scrollY: {
|
|
106
|
-
value: appStateBin.scrollY(),
|
|
107
|
-
}, // So that we don't have to parse the stateless values, this is handled on restore.ts
|
|
108
|
-
scrolledOutside: appStateBin.scrolledOutside(),
|
|
109
|
-
scope,
|
|
110
|
-
mainScope,
|
|
111
|
-
standard: (_a = appStateBin.standard()) !== null && _a !== void 0 ? _a : undefined,
|
|
112
|
-
currentItemStroke: parseElementBinStroke(appStateBin.currentItemStroke(), scope),
|
|
113
|
-
currentItemBackground: parseElementBinBackground(appStateBin.currentItemBackground()),
|
|
114
|
-
currentItemFontFamily: Number(appStateBin.currentItemFontFamilyV2()),
|
|
115
|
-
currentItemRoundness: getPrecisionValueFromRaw(appStateBin.currentItemRoundnessV3(), scope, scope),
|
|
116
|
-
currentItemFontSize: getPrecisionValueFromRaw(appStateBin.currentItemFontSizeV3(), scope, scope),
|
|
117
|
-
currentItemTextAlign: appStateBin.currentItemTextAlignV3(),
|
|
118
|
-
currentItemStartLineHead: appStateBin.currentItemStartLineHead(),
|
|
119
|
-
currentItemEndLineHead: appStateBin.currentItemEndLineHead(),
|
|
120
|
-
viewBackgroundColor: appStateBin.viewBackgroundColor() || undefined,
|
|
121
|
-
scaleRatioLocked: appStateBin.scaleRatioLocked(),
|
|
122
|
-
displayAllPointDistances: appStateBin.displayAllPointDistances(),
|
|
123
|
-
displayDistanceOnDrawing: appStateBin.displayDistanceOnDrawing(),
|
|
124
|
-
displayAllPointCoordinates: appStateBin.displayAllPointCoordinates(),
|
|
125
|
-
displayAllPointInfoSelected: appStateBin.displayAllPointInfoSelected(),
|
|
126
|
-
displayRootAxis: appStateBin.displayRootAxis(),
|
|
127
|
-
coordDecimalPlaces: appStateBin.coordDecimalPlacesV3(),
|
|
128
|
-
scopeExponentThreshold: appStateBin.scopeExponentThreshold(),
|
|
129
|
-
lineBendingMode: appStateBin.lineBendingMode(),
|
|
130
|
-
antiAliasing: appStateBin.antiAliasing(),
|
|
131
|
-
vSync: appStateBin.vSync(),
|
|
132
|
-
debugRendering: appStateBin.debugRendering(),
|
|
133
|
-
zoomStep: appStateBin.zoomStep(),
|
|
134
|
-
// hoveredElementId: appStateBin.hoveredElementId() || undefined,
|
|
135
|
-
// suggestedBindingElementId: appStateBin.suggestedBindingElementId() || undefined,
|
|
136
|
-
isBindingEnabled: appStateBin.isBindingEnabled(),
|
|
137
|
-
editingLinearElement: v <= 5 ? undefined : editingLinearElement,
|
|
138
|
-
};
|
|
139
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { BinaryFiles as BinBinaryFiles } from 'ducjs/legacy/v1/duc';
|
|
2
|
-
import { BinaryFiles } from 'ducjs/legacy/v1/types';
|
|
3
|
-
export declare const uint8ArrayToDataURL: (uint8Array: Uint8Array, mimeType: string) => string;
|
|
4
|
-
export declare const parseBinaryFilesFromBinary: (binaryFiles: BinBinaryFiles | null) => BinaryFiles;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Helper function to convert Uint8Array to DataURL
|
|
2
|
-
export const uint8ArrayToDataURL = (uint8Array, mimeType) => {
|
|
3
|
-
const binaryString = Array.from(uint8Array)
|
|
4
|
-
.map(byte => String.fromCharCode(byte))
|
|
5
|
-
.join('');
|
|
6
|
-
const base64 = btoa(binaryString);
|
|
7
|
-
return `data:${mimeType};base64,${base64}`;
|
|
8
|
-
};
|
|
9
|
-
export const parseBinaryFilesFromBinary = (binaryFiles) => {
|
|
10
|
-
if (!binaryFiles)
|
|
11
|
-
return {};
|
|
12
|
-
const files = {};
|
|
13
|
-
for (let i = 0; i < binaryFiles.entriesLength(); i++) {
|
|
14
|
-
const entry = binaryFiles.entries(i);
|
|
15
|
-
if (entry === null)
|
|
16
|
-
continue;
|
|
17
|
-
const key = entry.key();
|
|
18
|
-
const fileData = entry.value();
|
|
19
|
-
if (key && fileData) {
|
|
20
|
-
const mimeType = fileData.mimeType() || 'application/octet-stream';
|
|
21
|
-
const dataArray = fileData.dataArray() || new Uint8Array();
|
|
22
|
-
files[key] = {
|
|
23
|
-
mimeType,
|
|
24
|
-
id: fileData.id() || '',
|
|
25
|
-
dataURL: uint8ArrayToDataURL(dataArray, mimeType), // Convert Uint8Array back to dataURL
|
|
26
|
-
created: Number(fileData.created()),
|
|
27
|
-
lastRetrieved: Number(fileData.lastRetrieved()),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return files;
|
|
32
|
-
};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { getPrecisionValueFromRaw, NEUTRAL_SCOPE } from 'ducjs/legacy/v1/utils/scopes';
|
|
2
|
-
import { parseElementFromBinary } from './parseElementFromBinary';
|
|
3
|
-
export const parseBlockFromBinary = (block, version) => {
|
|
4
|
-
if (!block)
|
|
5
|
-
return null;
|
|
6
|
-
const id = block.id() || undefined;
|
|
7
|
-
const label = block.label() || undefined;
|
|
8
|
-
const description = block.description() || undefined;
|
|
9
|
-
const blockVersion = block.version() || undefined;
|
|
10
|
-
// Parse elements
|
|
11
|
-
const elements = [];
|
|
12
|
-
for (let i = 0; i < block.elementsLength(); i++) {
|
|
13
|
-
const element = block.elements(i);
|
|
14
|
-
if (element) {
|
|
15
|
-
const parsedElement = parseElementFromBinary(element, version);
|
|
16
|
-
if (parsedElement) {
|
|
17
|
-
elements.push(parsedElement);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// Parse attributes
|
|
22
|
-
const attributes = {};
|
|
23
|
-
for (let i = 0; i < block.attributesLength(); i++) {
|
|
24
|
-
const attribute = block.attributes(i);
|
|
25
|
-
if (attribute) {
|
|
26
|
-
const parsedAttribute = parseBlockAttributeFromBinary(attribute);
|
|
27
|
-
if (parsedAttribute) {
|
|
28
|
-
attributes[parsedAttribute.name] = parsedAttribute.details;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
id,
|
|
34
|
-
label,
|
|
35
|
-
description,
|
|
36
|
-
version: blockVersion,
|
|
37
|
-
elements,
|
|
38
|
-
attributes: Object.keys(attributes).length > 0 ? attributes : undefined,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
const parseBlockAttributeFromBinary = (attribute) => {
|
|
42
|
-
if (!attribute)
|
|
43
|
-
return null;
|
|
44
|
-
const name = attribute.name() || '';
|
|
45
|
-
const details = parseBlockAttributeDetailsFromBinary(attribute.details());
|
|
46
|
-
if (!details)
|
|
47
|
-
return null;
|
|
48
|
-
return {
|
|
49
|
-
name,
|
|
50
|
-
details,
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
const parseBlockAttributeDetailsFromBinary = (details) => {
|
|
54
|
-
if (!details)
|
|
55
|
-
return null;
|
|
56
|
-
const tag = details.tag() || '';
|
|
57
|
-
const defaultValue = details.defaultValue() || '';
|
|
58
|
-
const prompt = details.prompt() || undefined;
|
|
59
|
-
const position = details.position();
|
|
60
|
-
const positionParsed = position ? {
|
|
61
|
-
x: getPrecisionValueFromRaw(position.x(), NEUTRAL_SCOPE, NEUTRAL_SCOPE),
|
|
62
|
-
y: getPrecisionValueFromRaw(position.y(), NEUTRAL_SCOPE, NEUTRAL_SCOPE),
|
|
63
|
-
} : undefined;
|
|
64
|
-
return {
|
|
65
|
-
tag,
|
|
66
|
-
defaultValue,
|
|
67
|
-
prompt,
|
|
68
|
-
position: positionParsed,
|
|
69
|
-
};
|
|
70
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DucElement as BinDucElement, ElementBackground as BinElementBackground, ElementContentBase as BinElementContentBase, ElementStroke as BinElementStroke, Point as BinPoint } from 'ducjs/legacy/v1/duc';
|
|
2
|
-
import { SupportedMeasures } from 'ducjs/legacy/v1/utils/measurements';
|
|
3
|
-
import { DucElement, DucPoint, ElementBackground, ElementContentBase, ElementStroke } from 'ducjs/legacy/v1/types/elements';
|
|
4
|
-
export declare const parsePoint: (point: BinPoint | null, elementScope: SupportedMeasures) => DucPoint | null;
|
|
5
|
-
export declare const parseElementFromBinary: (e: BinDucElement, v: number) => Partial<DucElement> | null;
|
|
6
|
-
export declare const parseElementContentBase: (content: BinElementContentBase | null, defaults: ElementContentBase) => ElementContentBase;
|
|
7
|
-
export declare const parseElementBinStroke: (stroke: BinElementStroke | null, elementScope: SupportedMeasures) => ElementStroke;
|
|
8
|
-
export declare const parseElementBinBackground: (background: BinElementBackground | null) => ElementBackground;
|