fix to use new serde exports

This commit is contained in:
Rowan 2025-05-21 19:56:54 -05:00
parent 0b100c5b9e
commit 7bdcf10423
2 changed files with 397 additions and 305 deletions

698
dist/test.js vendored
View file

@ -25,57 +25,60 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
mod mod
)); ));
// ../serde-ts/dist/utils.js
var require_utils = __commonJS({
"../serde-ts/dist/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IterResult = void 0;
exports2.staticImplements = staticImplements;
exports2.isPlainObject = isPlainObject;
exports2.isFunction = isFunction;
exports2.isIterable = isIterable;
exports2.isString = isString;
exports2.isNumber = isNumber;
function staticImplements() {
return (constructor) => {
constructor;
};
}
function isPlainObject(value) {
return Object.getPrototypeOf(value) === Object.prototype;
}
function isFunction(value) {
return value != null && typeof value === "function";
}
function isIterable(value) {
return isFunction(value[Symbol.iterator]);
}
function isString(value) {
return typeof value === "string";
}
function isNumber(value) {
return !isNaN(value);
}
var IterResult2 = class {
static Next(value) {
return { done: false, value };
}
static Done() {
return { done: true, value: void 0 };
}
};
exports2.IterResult = IterResult2;
}
});
// ../serde-ts/dist/ser/impl.js // ../serde-ts/dist/ser/impl.js
var require_impl = __commonJS({ var require_impl = __commonJS({
"../serde-ts/dist/ser/impl.js"(exports2) { "../serde-ts/dist/ser/impl.js"(exports2) {
"use strict"; "use strict";
Object.defineProperty(exports2, "__esModule", { value: true }); Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Serializer = exports2.SerializeIterable = exports2.SerializeObject = void 0;
exports2.serialize = serialize3; exports2.serialize = serialize3;
var SerializeObject2 = class { var utils_1 = require_utils();
serializeEntry(key, value) {
this.serializeKey(key);
this.serializeValue(value);
}
};
exports2.SerializeObject = SerializeObject2;
var SerializeIterable = class {
};
exports2.SerializeIterable = SerializeIterable;
var Serializer = class {
serializeAny(_value) {
throw new Error("Method not implemented.");
}
serializeBoolean(_value) {
throw new Error("Method not implemented.");
}
serializeNumber(_value) {
throw new Error("Method not implemented.");
}
serializeBigInt(_value) {
throw new Error("Method not implemented.");
}
serializeString(_value) {
throw new Error("Method not implemented.");
}
serializeSymbol(_value) {
throw new Error("Method not implemented.");
}
serializeNull() {
throw new Error("Method not implemented.");
}
serializeObject() {
throw new Error("Method not implemented.");
}
serializeClass(_name) {
throw new Error("Method not implemented.");
}
};
exports2.Serializer = Serializer;
var isPlainObject = (value) => (value === null || value === void 0 ? void 0 : value.constructor) === Object;
var UnhandledTypeError = class extends TypeError { var UnhandledTypeError = class extends TypeError {
constructor(serializer, value) { constructor(serializer, value) {
super(`unhandled type: "${typeof value}" for serializer ${serializer.constructor.name}`); super(`unhandled type: '${typeof value}' for serializer ${serializer.constructor.name}`);
} }
}; };
function serializeObject(serializer, obj) { function serializeObject(serializer, obj) {
@ -107,7 +110,7 @@ var require_impl = __commonJS({
switch (true) { switch (true) {
case value == null: case value == null:
return serializer.serializeNull(); return serializer.serializeNull();
case !isPlainObject(value): case !(0, utils_1.isPlainObject)(value):
return serializeClass(serializer, value); return serializeClass(serializer, value);
default: default:
return serializeObject(serializer.serializeObject(), value); return serializeObject(serializer.serializeObject(), value);
@ -159,225 +162,8 @@ var require_impl2 = __commonJS({
"../serde-ts/dist/de/impl.js"(exports2) { "../serde-ts/dist/de/impl.js"(exports2) {
"use strict"; "use strict";
Object.defineProperty(exports2, "__esModule", { value: true }); Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Forward = exports2.ForwardIterableAccess = exports2.ForwardMapAccess = exports2.GenericVisitor = exports2.GenericSeed = exports2.IterableAccess = exports2.MapAccess = exports2.IterResult = void 0;
exports2.deserialize = deserialize3; exports2.deserialize = deserialize3;
var registry_1 = require_registry(); var registry_1 = require_registry();
var IterResult2 = class {
static Next(value) {
return { done: false, value };
}
static Done() {
return { done: true, value: void 0 };
}
};
exports2.IterResult = IterResult2;
var MapAccess2 = class {
nextEntrySeed(kseed, vseed) {
const key = this.nextKeySeed(kseed);
if (!key.done) {
const value = this.nextValueSeed(vseed);
if (!value.done) {
return IterResult2.Next([key.value, value.value]);
}
}
return IterResult2.Done();
}
nextEntry() {
const key = this.nextKey();
if (!key.done) {
const value = this.nextValue();
if (!value.done) {
return IterResult2.Next([key.value, value.value]);
}
}
return IterResult2.Done();
}
};
exports2.MapAccess = MapAccess2;
var IterableAccess = class {
};
exports2.IterableAccess = IterableAccess;
var GenericSeed2 = class _GenericSeed {
constructor(visitor = new GenericVisitor3()) {
Object.defineProperty(this, "visitor", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.visitor = visitor;
}
static deserialize(deserializer, visitor = new GenericVisitor3()) {
return deserializer.deserializeAny(visitor);
}
deserialize(deserializer) {
return _GenericSeed.deserialize(deserializer, this.visitor);
}
};
exports2.GenericSeed = GenericSeed2;
var GenericVisitor3 = class {
visitBoolean(value) {
return value;
}
visitNumber(value) {
return value;
}
visitBigInt(value) {
return value;
}
visitString(value) {
return value;
}
visitSymbol(value) {
return value;
}
visitNull() {
return null;
}
visitObject(access) {
const result = [];
let entry;
while ((entry = access.nextEntry()) && !entry.done) {
result.push(entry.value);
}
return Object.fromEntries(result);
}
visitIterable(access) {
const result = [];
let element;
while (element = access.nextElement()) {
result.push(element);
}
return result;
}
};
exports2.GenericVisitor = GenericVisitor3;
var ForwardMapAccess = class _ForwardMapAccess extends MapAccess2 {
constructor(keys, values) {
super();
Object.defineProperty(this, "keys", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "values", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "kindex", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
Object.defineProperty(this, "vindex", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
this.keys = keys;
this.values = values;
}
static fromObject(obj) {
return new _ForwardMapAccess(Object.keys(obj), Object.values(obj));
}
nextKeySeed(_seed) {
return this.nextKey();
}
nextValueSeed(_seed) {
return this.nextValue();
}
nextKey() {
if (this.kindex < this.keys.length) {
return IterResult2.Next(this.keys[this.kindex++]);
} else {
return IterResult2.Done();
}
}
nextValue() {
if (this.vindex < this.values.length) {
return IterResult2.Next(this.values[this.vindex++]);
} else {
return IterResult2.Done();
}
}
};
exports2.ForwardMapAccess = ForwardMapAccess;
var ForwardIterableAccess = class extends IterableAccess {
constructor(items) {
super();
Object.defineProperty(this, "items", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "index", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
this.items = items;
}
nextElement() {
if (this.index < this.items.length) {
return IterResult2.Next(this.items[this.index++]);
} else {
return IterResult2.Done();
}
}
};
exports2.ForwardIterableAccess = ForwardIterableAccess;
var Forward2 = class {
constructor(value) {
Object.defineProperty(this, "value", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.value = value;
}
static with(value) {
return new this(value);
}
deserializeAny(_visitor) {
throw new Error("Can't forward to deserializeAny");
}
deserializeBoolean(visitor) {
return visitor.visitBoolean(this.value);
}
deserializeNumber(visitor) {
return visitor.visitNumber(this.value);
}
deserializeBigInt(visitor) {
return visitor.visitBigInt(this.value);
}
deserializeString(visitor) {
return visitor.visitString(this.value);
}
deserializeSymbol(visitor) {
return visitor.visitSymbol(this.value);
}
deserializeNull(visitor) {
return visitor.visitNull();
}
deserializeObject(visitor) {
return visitor.visitObject(ForwardMapAccess.fromObject(this.value));
}
deserializeIterable(visitor) {
return visitor.visitIterable(new ForwardIterableAccess(this.value));
}
deserializeFunction(_visitor) {
throw new Error("Method not implemented.");
}
};
exports2.Forward = Forward2;
function deserialize3(deserializer, into, registry = registry_1.GlobalRegistry) { function deserialize3(deserializer, into, registry = registry_1.GlobalRegistry) {
const de2 = registry.deserializers.get(into); const de2 = registry.deserializers.get(into);
if (de2 == null) { if (de2 == null) {
@ -451,40 +237,6 @@ var require_case = __commonJS({
} }
}); });
// ../serde-ts/dist/utils.js
var require_utils = __commonJS({
"../serde-ts/dist/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.staticImplements = staticImplements;
exports2.isPlainObject = isPlainObject;
exports2.isFunction = isFunction;
exports2.isIterable = isIterable;
exports2.isString = isString;
exports2.isNumber = isNumber;
function staticImplements() {
return (constructor) => {
constructor;
};
}
function isPlainObject(value) {
return Object.getPrototypeOf(value) === Object.prototype;
}
function isFunction(value) {
return value != null && typeof value === "function";
}
function isIterable(value) {
return isFunction(value[Symbol.iterator]);
}
function isString(value) {
return typeof value === "string";
}
function isNumber(value) {
return !isNaN(value);
}
}
});
// ../serde-ts/dist/index.js // ../serde-ts/dist/index.js
var require_dist = __commonJS({ var require_dist = __commonJS({
"../serde-ts/dist/index.js"(exports2) { "../serde-ts/dist/index.js"(exports2) {
@ -539,11 +291,351 @@ var require_dist = __commonJS({
} }
}); });
// ../serde-ts/dist/ser/interface.js
var require_interface = __commonJS({
"../serde-ts/dist/ser/interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Serializer = exports2.SerializeIterable = exports2.SerializeObject = void 0;
var SerializeObject2 = class {
serializeEntry(key, value) {
this.serializeKey(key);
this.serializeValue(value);
}
};
exports2.SerializeObject = SerializeObject2;
var SerializeIterable = class {
};
exports2.SerializeIterable = SerializeIterable;
var Serializer = class {
serializeAny(_value) {
throw new Error("Method not implemented.");
}
serializeBoolean(_value) {
throw new Error("Method not implemented.");
}
serializeNumber(_value) {
throw new Error("Method not implemented.");
}
serializeBigInt(_value) {
throw new Error("Method not implemented.");
}
serializeString(_value) {
throw new Error("Method not implemented.");
}
serializeSymbol(_value) {
throw new Error("Method not implemented.");
}
serializeNull() {
throw new Error("Method not implemented.");
}
serializeObject() {
throw new Error("Method not implemented.");
}
serializeClass(_name) {
throw new Error("Method not implemented.");
}
};
exports2.Serializer = Serializer;
}
});
// ../serde-ts/dist/ser/index.js
var require_ser = __commonJS({
"../serde-ts/dist/ser/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_impl(), exports2);
__exportStar(require_interface(), exports2);
}
});
// ../serde-ts/dist/de/interface.js
var require_interface2 = __commonJS({
"../serde-ts/dist/de/interface.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.IterableAccess = exports2.MapAccess = void 0;
var utils_1 = require_utils();
var MapAccess2 = class {
nextEntrySeed(kseed, vseed) {
const key = this.nextKeySeed(kseed);
if (!key.done) {
const value = this.nextValueSeed(vseed);
if (!value.done) {
return utils_1.IterResult.Next([key.value, value.value]);
}
}
return utils_1.IterResult.Done();
}
nextEntry() {
const key = this.nextKey();
if (!key.done) {
const value = this.nextValue();
if (!value.done) {
return utils_1.IterResult.Next([key.value, value.value]);
}
}
return utils_1.IterResult.Done();
}
};
exports2.MapAccess = MapAccess2;
var IterableAccess = class {
};
exports2.IterableAccess = IterableAccess;
}
});
// ../serde-ts/dist/de/forward.js
var require_forward = __commonJS({
"../serde-ts/dist/de/forward.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Forward = exports2.ForwardIterableAccess = exports2.ForwardMapAccess = void 0;
var utils_1 = require_utils();
var interface_1 = require_interface2();
var ForwardMapAccess = class _ForwardMapAccess extends interface_1.MapAccess {
constructor(keys, values) {
super();
Object.defineProperty(this, "keys", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "values", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "kindex", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
Object.defineProperty(this, "vindex", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
this.keys = keys;
this.values = values;
}
static fromObject(obj) {
return new _ForwardMapAccess(Object.keys(obj), Object.values(obj));
}
nextKeySeed(_seed) {
return this.nextKey();
}
nextValueSeed(_seed) {
return this.nextValue();
}
nextKey() {
if (this.kindex < this.keys.length) {
return utils_1.IterResult.Next(this.keys[this.kindex++]);
} else {
return utils_1.IterResult.Done();
}
}
nextValue() {
if (this.vindex < this.values.length) {
return utils_1.IterResult.Next(this.values[this.vindex++]);
} else {
return utils_1.IterResult.Done();
}
}
};
exports2.ForwardMapAccess = ForwardMapAccess;
var ForwardIterableAccess = class extends interface_1.IterableAccess {
constructor(items) {
super();
Object.defineProperty(this, "items", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "index", {
enumerable: true,
configurable: true,
writable: true,
value: 0
});
this.items = items;
}
nextElement() {
if (this.index < this.items.length) {
return utils_1.IterResult.Next(this.items[this.index++]);
} else {
return utils_1.IterResult.Done();
}
}
};
exports2.ForwardIterableAccess = ForwardIterableAccess;
var Forward2 = class {
constructor(value) {
Object.defineProperty(this, "value", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.value = value;
}
static with(value) {
return new this(value);
}
deserializeAny(_visitor) {
throw new Error("Can't forward to deserializeAny");
}
deserializeBoolean(visitor) {
return visitor.visitBoolean(this.value);
}
deserializeNumber(visitor) {
return visitor.visitNumber(this.value);
}
deserializeBigInt(visitor) {
return visitor.visitBigInt(this.value);
}
deserializeString(visitor) {
return visitor.visitString(this.value);
}
deserializeSymbol(visitor) {
return visitor.visitSymbol(this.value);
}
deserializeNull(visitor) {
return visitor.visitNull();
}
deserializeObject(visitor) {
return visitor.visitObject(ForwardMapAccess.fromObject(this.value));
}
deserializeIterable(visitor) {
return visitor.visitIterable(new ForwardIterableAccess(this.value));
}
deserializeFunction(_visitor) {
throw new Error("Method not implemented.");
}
};
exports2.Forward = Forward2;
}
});
// ../serde-ts/dist/de/generic.js
var require_generic = __commonJS({
"../serde-ts/dist/de/generic.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.GenericVisitor = exports2.GenericSeed = void 0;
var GenericSeed2 = class _GenericSeed {
constructor(visitor = new GenericVisitor3()) {
Object.defineProperty(this, "visitor", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.visitor = visitor;
}
static deserialize(deserializer, visitor = new GenericVisitor3()) {
return deserializer.deserializeAny(visitor);
}
deserialize(deserializer) {
return _GenericSeed.deserialize(deserializer, this.visitor);
}
};
exports2.GenericSeed = GenericSeed2;
var GenericVisitor3 = class {
visitBoolean(value) {
return value;
}
visitNumber(value) {
return value;
}
visitBigInt(value) {
return value;
}
visitString(value) {
return value;
}
visitSymbol(value) {
return value;
}
visitNull() {
return null;
}
visitObject(access) {
const result = [];
let entry;
while ((entry = access.nextEntry()) && !entry.done) {
result.push(entry.value);
}
return Object.fromEntries(result);
}
visitIterable(access) {
const result = [];
let element;
while (element = access.nextElement()) {
result.push(element);
}
return result;
}
};
exports2.GenericVisitor = GenericVisitor3;
}
});
// ../serde-ts/dist/de/index.js
var require_de = __commonJS({
"../serde-ts/dist/de/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
} : function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_forward(), exports2);
__exportStar(require_generic(), exports2);
__exportStar(require_impl2(), exports2);
__exportStar(require_interface2(), exports2);
}
});
// test.ts // test.ts
var import_serde2 = __toESM(require_dist()); var import_serde2 = __toESM(require_dist());
// src/ser.ts // src/ser.ts
var import_ser = __toESM(require_impl()); var import_ser = __toESM(require_ser());
var JSONObjectSerializer = class extends import_ser.SerializeObject { var JSONObjectSerializer = class extends import_ser.SerializeObject {
ser; ser;
first = true; first = true;
@ -627,10 +719,10 @@ var JSONSerializer = class {
}; };
// src/index.ts // src/index.ts
var import_de2 = __toESM(require_impl2()); var import_de2 = __toESM(require_de());
// src/de.ts // src/de.ts
var import_de = __toESM(require_impl2()); var import_de = __toESM(require_de());
// src/err.ts // src/err.ts
var unexpected = (expected, actual, position) => new SyntaxError(`Expected ${expected} at position ${position} (got '${actual}')`); var unexpected = (expected, actual, position) => new SyntaxError(`Expected ${expected} at position ${position} (got '${actual}')`);
@ -681,7 +773,7 @@ var CommaSeparated = class extends import_de.MapAccess {
} }
nextItemSeed(seed, end) { nextItemSeed(seed, end) {
if (this.de.buffer.peek().next() === end) { if (this.de.buffer.peek().next() === end) {
return import_de.IterResult.Done(); return import_serde.IterResult.Done();
} }
if (!this.first) { if (!this.first) {
const take = this.de.buffer.take(); const take = this.de.buffer.take();
@ -690,7 +782,7 @@ var CommaSeparated = class extends import_de.MapAccess {
} }
} }
this.first = false; this.first = false;
return import_de.IterResult.Next(seed(this.de)); return import_serde.IterResult.Next(seed(this.de));
} }
nextKeySeed(seed) { nextKeySeed(seed) {
return this.nextItemSeed(seed, Token.RightCurly); return this.nextItemSeed(seed, Token.RightCurly);
@ -700,7 +792,7 @@ var CommaSeparated = class extends import_de.MapAccess {
if (next !== Token.Colon) { if (next !== Token.Colon) {
throw unexpected(":", String.fromCharCode(next), this.de.buffer.position); throw unexpected(":", String.fromCharCode(next), this.de.buffer.position);
} }
return import_de.IterResult.Next(seed(this.de)); return import_serde.IterResult.Next(seed(this.de));
} }
nextItem(end) { nextItem(end) {
return this.nextItemSeed(this.seed(), end); return this.nextItemSeed(this.seed(), end);
@ -946,7 +1038,7 @@ var JSONDeserializer = class {
}; };
// src/index.ts // src/index.ts
var import_ser3 = __toESM(require_impl()); var import_ser3 = __toESM(require_ser());
function toString(value) { function toString(value) {
const serializer = new JSONSerializer(); const serializer = new JSONSerializer();
(0, import_ser3.serialize)(serializer, value); (0, import_ser3.serialize)(serializer, value);
@ -958,7 +1050,7 @@ function fromString(value, into) {
} }
// test.ts // test.ts
var import_de4 = __toESM(require_impl2()); var import_de4 = __toESM(require_de());
var InnerStruct = class { var InnerStruct = class {
value; value;
constructor(v) { constructor(v) {

View file

@ -1,6 +1,6 @@
import { IIterableAccess, MapAccess, IVisitor, IDeserializer, IterResult, Deserialize, GenericVisitor, GenericSeed } from 'serde/de' import { IIterableAccess, MapAccess, IVisitor, IDeserializer, Deserialize, GenericVisitor, GenericSeed } from 'serde/de'
import { unexpected } from './err' import { unexpected } from './err'
import { GlobalRegistry, Registry } from 'serde' import { GlobalRegistry, IterResult, Registry } from 'serde'
type Byte = number type Byte = number