adminjs
Version:
Admin panel for apps written in node.js
41 lines (40 loc) • 1.44 kB
TypeScript
import AdminJS from '../../../adminjs.js';
import { FeatureType } from '../../../adminjs-options.interface.js';
import { ResourceOptions } from '../../decorators/resource/resource-options.interface.js';
/**
* @name mergeResourceOptions
* @function
* @description
* Merges 2 ResourceOptions together. Used by features
*
* - 'id', 'href', 'parent', 'sort' from `newOptions` override `oldOptions`
* - 'listProperties', 'showProperties', 'editProperties', 'filterProperties'
* are joined and made unique
* - all 'properties' from `newOptions` override properties from `oldOptions`
* - all 'actions' with their parameters from `newOptions` override `oldOptions`
* except hooks and handler - which are chained.
*
* @param {ResourceOptions} oldOptions
* @param {ResourceOptions} newOptions
*
* @return {ResourceOptions}
*/
declare const mergeResourceOptions: (oldOptions?: ResourceOptions, newOptions?: ResourceOptions) => ResourceOptions;
/**
* @name buildFeature
* @function
* @description
* Higher Order Function which creates a feature
*
* @param {ResourceOptions} options
*
* @return {FeatureType}
* @example
* const { buildFeature } = require('adminjs')
*
* const feature = buildFeature({
* // resource options goes here.
* })
*/
declare const buildFeature: (options?: ResourceOptions | ((admin: AdminJS) => ResourceOptions)) => FeatureType;
export { mergeResourceOptions, buildFeature };