2018-12-28 20:18:02 +08:00
|
|
|
/*
|
|
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
|
|
*/
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
2018-12-28 20:54:10 +08:00
|
|
|
const BinaryMiddleware = require("../serialization/BinaryMiddleware");
|
|
|
|
const FileMiddleware = require("../serialization/FileMiddleware");
|
2018-12-28 20:18:02 +08:00
|
|
|
const ObjectMiddleware = require("../serialization/ObjectMiddleware");
|
2018-12-28 20:54:10 +08:00
|
|
|
const Serializer = require("../serialization/Serializer");
|
2018-12-28 20:18:02 +08:00
|
|
|
|
2018-12-28 21:48:18 +08:00
|
|
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
|
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
|
|
|
2018-12-28 20:54:10 +08:00
|
|
|
const { register, registerLoader, registerNotSerializable } = ObjectMiddleware;
|
2018-12-28 20:18:02 +08:00
|
|
|
|
2018-12-28 20:54:10 +08:00
|
|
|
// Expose serialization API
|
|
|
|
exports.register = register;
|
|
|
|
exports.registerLoader = registerLoader;
|
|
|
|
exports.registerNotSerializable = registerNotSerializable;
|
|
|
|
exports.serializer = new Serializer(
|
|
|
|
[new ObjectMiddleware(), new BinaryMiddleware(), new FileMiddleware()],
|
|
|
|
{
|
|
|
|
singleItem: true
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
require("./registerExternalSerializer");
|
|
|
|
|
|
|
|
// Load internal paths with a relative require
|
|
|
|
// This allows bundling all internal serializers
|
|
|
|
registerLoader(/^webpack\/lib\//, req =>
|
|
|
|
require("../" + req.slice("webpack/lib/".length))
|
|
|
|
);
|