mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-09 03:18:15 +08:00
28 lines
607 B
JavaScript
28 lines
607 B
JavaScript
/**
|
|
* @import {Info, Space} from 'property-information'
|
|
*/
|
|
|
|
import {Schema} from './schema.js'
|
|
|
|
/**
|
|
* @param {ReadonlyArray<Schema>} definitions
|
|
* Definitions.
|
|
* @param {Space | undefined} [space]
|
|
* Space.
|
|
* @returns {Schema}
|
|
* Schema.
|
|
*/
|
|
export function merge(definitions, space) {
|
|
/** @type {Record<string, Info>} */
|
|
const property = {}
|
|
/** @type {Record<string, string>} */
|
|
const normal = {}
|
|
|
|
for (const definition of definitions) {
|
|
Object.assign(property, definition.property)
|
|
Object.assign(normal, definition.normal)
|
|
}
|
|
|
|
return new Schema(property, normal, space)
|
|
}
|