mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-09 18:48:14 +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)
|
||
|
}
|