diff --git a/dist/csv-loader/loader.js b/dist/csv-loader/loader.js index 65405cc..22e85f5 100644 --- a/dist/csv-loader/loader.js +++ b/dist/csv-loader/loader.js @@ -295,10 +295,12 @@ var ValueParser = class { const elementSchema = schema.elements[i]; if (elementSchema.name) { this.skipWhitespace(); - if (!this.consumeStr(`${elementSchema.name}:`)) { - throw new ParseError(`Expected ${elementSchema.name}:`, this.pos); + const savedPos = this.pos; + if (this.consumeStr(`${elementSchema.name}:`)) { + this.skipWhitespace(); + } else { + this.pos = savedPos; } - this.skipWhitespace(); } result.push(this.parseValue(elementSchema.schema, false)); this.skipWhitespace(); diff --git a/dist/csv-loader/loader.mjs b/dist/csv-loader/loader.mjs index 829d3c2..f28767c 100644 --- a/dist/csv-loader/loader.mjs +++ b/dist/csv-loader/loader.mjs @@ -261,10 +261,12 @@ var ValueParser = class { const elementSchema = schema.elements[i]; if (elementSchema.name) { this.skipWhitespace(); - if (!this.consumeStr(`${elementSchema.name}:`)) { - throw new ParseError(`Expected ${elementSchema.name}:`, this.pos); + const savedPos = this.pos; + if (this.consumeStr(`${elementSchema.name}:`)) { + this.skipWhitespace(); + } else { + this.pos = savedPos; } - this.skipWhitespace(); } result.push(this.parseValue(elementSchema.schema, false)); this.skipWhitespace(); diff --git a/dist/index.js b/dist/index.js index 1a1cd39..6905d8c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -288,10 +288,12 @@ var ValueParser = class { const elementSchema = schema.elements[i]; if (elementSchema.name) { this.skipWhitespace(); - if (!this.consumeStr(`${elementSchema.name}:`)) { - throw new ParseError(`Expected ${elementSchema.name}:`, this.pos); + const savedPos = this.pos; + if (this.consumeStr(`${elementSchema.name}:`)) { + this.skipWhitespace(); + } else { + this.pos = savedPos; } - this.skipWhitespace(); } result.push(this.parseValue(elementSchema.schema, false)); this.skipWhitespace(); diff --git a/dist/index.mjs b/dist/index.mjs index 5af0dd2..19bc3de 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -258,10 +258,12 @@ var ValueParser = class { const elementSchema = schema.elements[i]; if (elementSchema.name) { this.skipWhitespace(); - if (!this.consumeStr(`${elementSchema.name}:`)) { - throw new ParseError(`Expected ${elementSchema.name}:`, this.pos); + const savedPos = this.pos; + if (this.consumeStr(`${elementSchema.name}:`)) { + this.skipWhitespace(); + } else { + this.pos = savedPos; } - this.skipWhitespace(); } result.push(this.parseValue(elementSchema.schema, false)); this.skipWhitespace(); diff --git a/src/validator.ts b/src/validator.ts index 24f9de4..6be26fc 100644 --- a/src/validator.ts +++ b/src/validator.ts @@ -116,12 +116,16 @@ class ValueParser { this.skipWhitespace(); const elementSchema = schema.elements[i]; + // Try to consume optional name prefix (e.g., "current:") if (elementSchema.name) { this.skipWhitespace(); - if (!this.consumeStr(`${elementSchema.name}:`)) { - throw new ParseError(`Expected ${elementSchema.name}:`, this.pos); + const savedPos = this.pos; + if (this.consumeStr(`${elementSchema.name}:`)) { + this.skipWhitespace(); + } else { + // Name not found, reset position and continue without name + this.pos = savedPos; } - this.skipWhitespace(); } result.push(this.parseValue(elementSchema.schema, false));