feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell
- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
This commit is contained in:
106
apps/public-web/node_modules/next/dist/lib/is-serializable-props.js
generated
vendored
Normal file
106
apps/public-web/node_modules/next/dist/lib/is-serializable-props.js
generated
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
SerializableError: null,
|
||||
isSerializableProps: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
SerializableError: function() {
|
||||
return SerializableError;
|
||||
},
|
||||
isSerializableProps: function() {
|
||||
return isSerializableProps;
|
||||
}
|
||||
});
|
||||
const _isplainobject = require("../shared/lib/is-plain-object");
|
||||
const regexpPlainIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
||||
class SerializableError extends Error {
|
||||
constructor(page, method, path, message){
|
||||
super(path ? `Error serializing \`${path}\` returned from \`${method}\` in "${page}".\nReason: ${message}` : `Error serializing props returned from \`${method}\` in "${page}".\nReason: ${message}`);
|
||||
}
|
||||
}
|
||||
function isSerializableProps(page, method, input) {
|
||||
if (!(0, _isplainobject.isPlainObject)(input)) {
|
||||
throw Object.defineProperty(new SerializableError(page, method, '', `Props must be returned as a plain object from ${method}: \`{ props: { ... } }\` (received: \`${(0, _isplainobject.getObjectClassLabel)(input)}\`).`), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
function visit(visited, value, path) {
|
||||
if (visited.has(value)) {
|
||||
throw Object.defineProperty(new SerializableError(page, method, path, `Circular references cannot be expressed in JSON (references: \`${visited.get(value) || '(self)'}\`).`), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
visited.set(value, path);
|
||||
}
|
||||
function isSerializable(refs, value, path) {
|
||||
const type = typeof value;
|
||||
if (// `null` can be serialized, but not `undefined`.
|
||||
value === null || // n.b. `bigint`, `function`, `symbol`, and `undefined` cannot be
|
||||
// serialized.
|
||||
//
|
||||
// `object` is special-cased below, as it may represent `null`, an Array,
|
||||
// a plain object, a class, et al.
|
||||
type === 'boolean' || type === 'number' || type === 'string') {
|
||||
return true;
|
||||
}
|
||||
if (type === 'undefined') {
|
||||
throw Object.defineProperty(new SerializableError(page, method, path, '`undefined` cannot be serialized as JSON. Please use `null` or omit this value.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
if ((0, _isplainobject.isPlainObject)(value)) {
|
||||
visit(refs, value, path);
|
||||
if (Object.entries(value).every(([key, nestedValue])=>{
|
||||
const nextPath = regexpPlainIdentifier.test(key) ? `${path}.${key}` : `${path}[${JSON.stringify(key)}]`;
|
||||
const newRefs = new Map(refs);
|
||||
return isSerializable(newRefs, key, nextPath) && isSerializable(newRefs, nestedValue, nextPath);
|
||||
})) {
|
||||
return true;
|
||||
}
|
||||
throw Object.defineProperty(new SerializableError(page, method, path, `invariant: Unknown error encountered in Object.`), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
if (Array.isArray(value)) {
|
||||
visit(refs, value, path);
|
||||
if (value.every((nestedValue, index)=>{
|
||||
const newRefs = new Map(refs);
|
||||
return isSerializable(newRefs, nestedValue, `${path}[${index}]`);
|
||||
})) {
|
||||
return true;
|
||||
}
|
||||
throw Object.defineProperty(new SerializableError(page, method, path, `invariant: Unknown error encountered in Array.`), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
// None of these can be expressed as JSON:
|
||||
// const type: "bigint" | "symbol" | "object" | "function"
|
||||
throw Object.defineProperty(new SerializableError(page, method, path, '`' + type + '`' + (type === 'object' ? ` ("${Object.prototype.toString.call(value)}")` : '') + ' cannot be serialized as JSON. Please only return JSON serializable data types.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
return isSerializable(new Map(), input, '');
|
||||
}
|
||||
|
||||
//# sourceMappingURL=is-serializable-props.js.map
|
||||
Reference in New Issue
Block a user