1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.VersionParser = void 0;
- const buffer_1 = require("buffer"); // NodeJS library
- class VersionParser {
- constructor(deltaParser, versionRegistry) {
- this.deltaParser = deltaParser;
- this.versionRegistry = versionRegistry;
- }
- load({ externalDependencies, deltas, versions }, onLoadDelta, onLoadVersion) {
- for (const e of externalDependencies) {
- if (this.versionRegistry.lookupOptional(buffer_1.Buffer.from(e, 'hex')) === undefined) {
- throw new Error("Cannot load versions: missing dependency: " + e);
- }
- }
- for (const d of deltas) {
- const loadedDelta = this.deltaParser.loadDelta(d);
- onLoadDelta(loadedDelta);
- }
- for (const { id, delta, parent, embeddings } of versions) {
- const parentVersion = this.versionRegistry.lookup(buffer_1.Buffer.from(parent, 'hex'));
- const parentDelta = this.deltaParser.deltaRegistry.deltas.get(delta);
- const theEmbeddings = new Map();
- const selfEmbeddingKeys = new Set();
- for (const { guestId, v, ovr } of embeddings) {
- console.log({ guestId, v, id });
- if (v === id) {
- selfEmbeddingKeys.add(guestId);
- }
- else {
- const guestVersion = this.versionRegistry.lookupOptional(buffer_1.Buffer.from(v, 'hex'));
- for (const [key, val] of Object.entries(ovr)) {
- const guestDelta = this.deltaParser.deltaRegistry.deltas.get(key);
- const hostDelta = this.deltaParser.deltaRegistry.deltas.get(val);
- theEmbeddings.set(guestDelta, hostDelta);
- }
- }
- }
- const loadedVersion = this.versionRegistry.createVersion(parentVersion, parentDelta, newVersion => {
- for (const guestId of selfEmbeddingKeys) {
- theEmbeddings.set(guestId, { version: newVersion, overridings: new Map() });
- }
- return theEmbeddings;
- });
- onLoadVersion(loadedVersion);
- }
- }
- }
- exports.VersionParser = VersionParser;
- //# sourceMappingURL=version_parser.js.map
|