akasharender
Version:
Rendering support for generating static HTML websites or EPUB eBooks
34 lines • 6.58 kB
JavaScript
/**
*
* Copyright 2014-2025 David Herron
*
* This file is part of AkashaCMS (http://akashacms.com/).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Validates that an object conforms to the TagDescription interface.
*
* @param obj - The object to validate
* @returns true if the object is a valid TagDescription, false otherwise
*/
export function validTagDescription(obj) {
if (obj === null || typeof obj !== 'object') {
return false;
}
const candidate = obj;
return (typeof candidate.tagName === 'string' &&
candidate.tagName.length > 0 &&
typeof candidate.description === 'string');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBV0g7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsR0FBWTtJQUM1QyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLEdBQThCLENBQUM7SUFDakQsT0FBTyxDQUNILE9BQU8sU0FBUyxDQUFDLE9BQU8sS0FBSyxRQUFRO1FBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDNUIsT0FBTyxTQUFTLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FDNUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDI1IERhdmlkIEhlcnJvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEFrYXNoYUNNUyAoaHR0cDovL2FrYXNoYWNtcy5jb20vKS5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGFnIHdpdGggaXRzIGRlc2NyaXB0aW9uLlxuICogVXNlZCBmb3IgcHJvdmlkaW5nIGRlc2NyaXB0aW9ucyB0aGF0IGFwcGVhciBvbiB0YWcgaW5kZXggcGFnZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnRGVzY3JpcHRpb24ge1xuICAgIHRhZ05hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGF0IGFuIG9iamVjdCBjb25mb3JtcyB0byB0aGUgVGFnRGVzY3JpcHRpb24gaW50ZXJmYWNlLlxuICogXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byB2YWxpZGF0ZVxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgdmFsaWQgVGFnRGVzY3JpcHRpb24sIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRUYWdEZXNjcmlwdGlvbihvYmo6IHVua25vd24pOiBvYmogaXMgVGFnRGVzY3JpcHRpb24ge1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBjYW5kaWRhdGUgPSBvYmogYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcmV0dXJuIChcbiAgICAgICAgdHlwZW9mIGNhbmRpZGF0ZS50YWdOYW1lID09PSAnc3RyaW5nJyAmJlxuICAgICAgICBjYW5kaWRhdGUudGFnTmFtZS5sZW5ndGggPiAwICYmXG4gICAgICAgIHR5cGVvZiBjYW5kaWRhdGUuZGVzY3JpcHRpb24gPT09ICdzdHJpbmcnXG4gICAgKTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ3JvdXAgb2Ygc2ltaWxhciB0YWdzIGZvdW5kIGR1cmluZyB0YWcgYW5hbHlzaXMuXG4gKiBUYWdzIG1heSBiZSBzaW1pbGFyIGR1ZSB0byBjYXNlIGRpZmZlcmVuY2VzLCBwbHVyYWwvc2luZ3VsYXIgdmFyaWFudHMsXG4gKiBvciBzbWFsbCBMZXZlbnNodGVpbiBkaXN0YW5jZXMgKHR5cG9zKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1pbGFyVGFnR3JvdXAge1xuICAgIC8qKiBBcnJheSBvZiB0YWcgbmFtZXMgdGhhdCBhcmUgc2ltaWxhciB0byBlYWNoIG90aGVyICovXG4gICAgdGFnczogc3RyaW5nW107XG4gICAgLyoqIFJlYXNvbihzKSB3aHkgdGhlc2UgdGFncyBhcmUgY29uc2lkZXJlZCBzaW1pbGFyICovXG4gICAgcmVhc29uczogU2ltaWxhcml0eVJlYXNvbltdO1xuICAgIC8qKiBNYXAgb2YgdGFnIG5hbWUgdG8gYXJyYXkgb2YgZG9jdW1lbnQgdnBhdGhzIHVzaW5nIHRoYXQgdGFnICovXG4gICAgZG9jdW1lbnRzQnlUYWc6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgd2h5IHR3byBvciBtb3JlIHRhZ3MgYXJlIGNvbnNpZGVyZWQgc2ltaWxhci5cbiAqL1xuZXhwb3J0IHR5cGUgU2ltaWxhcml0eVJlYXNvbiA9IFxuICAgIHwgJ2Nhc2UtaW5zZW5zaXRpdmUnXG4gICAgfCAncGx1cmFsLXNpbmd1bGFyJ1xuICAgIHwgJ2xldmVuc2h0ZWluJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGFnIHRoYXQgaGFzIG5vIGRlc2NyaXB0aW9uLCBhbG9uZyB3aXRoXG4gKiB0aGUgZG9jdW1lbnRzIHRoYXQgdXNlIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ1dpdGhvdXREZXNjcmlwdGlvbiB7XG4gICAgdGFnTmFtZTogc3RyaW5nO1xuICAgIGRvY3VtZW50czogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGEgdGFnIHJlZmFjdG9yaW5nIG9wZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZhY3RvclRhZ1Jlc3VsdCB7XG4gICAgLyoqIFRoZSBvbGQgdGFnIG5hbWUgYmVpbmcgcmVwbGFjZWQgKi9cbiAgICBvbGRUYWc6IHN0cmluZztcbiAgICAvKiogVGhlIG5ldyB0YWcgbmFtZSAqL1xuICAgIG5ld1RhZzogc3RyaW5nO1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgd2FzIGEgZHJ5IHJ1biAobm8gZmlsZXMgbW9kaWZpZWQpICovXG4gICAgZHJ5UnVuOiBib29sZWFuO1xuICAgIC8qKiBEb2N1bWVudHMgdGhhdCB3ZXJlIG1vZGlmaWVkIChvciB3b3VsZCBiZSBtb2RpZmllZCBpbiBkcnkgcnVuKSAqL1xuICAgIG1vZGlmaWVkRG9jdW1lbnRzOiBSZWZhY3RvckRvY3VtZW50Q2hhbmdlW107XG4gICAgLyoqIERvY3VtZW50cyB0aGF0IGFscmVhZHkgaGFkIHRoZSBuZXcgdGFnIChvbGQgdGFnIGp1c3QgcmVtb3ZlZCkgKi9cbiAgICBtZXJnZWREb2N1bWVudHM6IFJlZmFjdG9yRG9jdW1lbnRDaGFuZ2VbXTtcbiAgICAvKiogQW55IGVycm9ycyBlbmNvdW50ZXJlZCAqL1xuICAgIGVycm9yczogUmVmYWN0b3JFcnJvcltdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjaGFuZ2UgbWFkZSB0byBhIHNpbmdsZSBkb2N1bWVudCBkdXJpbmcgcmVmYWN0b3JpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVmYWN0b3JEb2N1bWVudENoYW5nZSB7XG4gICAgLyoqIFZpcnR1YWwgcGF0aCBvZiB0aGUgZG9jdW1lbnQgKi9cbiAgICB2cGF0aDogc3RyaW5nO1xuICAgIC8qKiBGaWxlc3lzdGVtIHBhdGggb2YgdGhlIGRvY3VtZW50ICovXG4gICAgZnNwYXRoOiBzdHJpbmc7XG4gICAgLyoqIFRoZSBvcmlnaW5hbCB0YWdzIGFycmF5ICovXG4gICAgb3JpZ2luYWxUYWdzOiBzdHJpbmdbXTtcbiAgICAvKiogVGhlIG5ldyB0YWdzIGFycmF5IGFmdGVyIHJlZmFjdG9yaW5nICovXG4gICAgbmV3VGFnczogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBlcnJvciBlbmNvdW50ZXJlZCBkdXJpbmcgdGFnIHJlZmFjdG9yaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZmFjdG9yRXJyb3Ige1xuICAgIHZwYXRoOiBzdHJpbmc7XG4gICAgZnNwYXRoOiBzdHJpbmc7XG4gICAgZXJyb3I6IHN0cmluZztcbn1cbiJdfQ==