UNPKG

ducjs

Version:

The duc 2D CAD file format is a cornerstone of our advanced design system, conceived to cater to professionals seeking precision and efficiency in their design work.

65 lines (64 loc) 2.45 kB
// automatically generated by the FlatBuffers compiler, do not modify /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ import * as flatbuffers from 'flatbuffers'; import { JSONPatchOperation } from '../duc/jsonpatch-operation'; import { VersionBase } from '../duc/version-base'; export class Delta { constructor() { this.bb = null; this.bb_pos = 0; } __init(i, bb) { this.bb_pos = i; this.bb = bb; return this; } static getRootAsDelta(bb, obj) { return (obj || new Delta()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } static getSizePrefixedRootAsDelta(bb, obj) { bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); return (obj || new Delta()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } base(obj) { const offset = this.bb.__offset(this.bb_pos, 4); return offset ? (obj || new VersionBase()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; } patch(index, obj) { const offset = this.bb.__offset(this.bb_pos, 6); return offset ? (obj || new JSONPatchOperation()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; } patchLength() { const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; } static startDelta(builder) { builder.startObject(2); } static addBase(builder, baseOffset) { builder.addFieldOffset(0, baseOffset, 0); } static addPatch(builder, patchOffset) { builder.addFieldOffset(1, patchOffset, 0); } static createPatchVector(builder, data) { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); } static startPatchVector(builder, numElems) { builder.startVector(4, numElems, 4); } static endDelta(builder) { const offset = builder.endObject(); return offset; } static createDelta(builder, baseOffset, patchOffset) { Delta.startDelta(builder); Delta.addBase(builder, baseOffset); Delta.addPatch(builder, patchOffset); return Delta.endDelta(builder); } }