From 66ad1a4266a873e01376e9cb3f3afa37e74b6a13 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Thu, 11 Aug 2022 14:04:05 +0200 Subject: [PATCH] chore: commit save point --- application/source/monster.mjs | 262 +++++++++++++++++++--------- development/script/grep-exports.cjs | 51 ++++++ 2 files changed, 228 insertions(+), 85 deletions(-) create mode 100755 development/script/grep-exports.cjs diff --git a/application/source/monster.mjs b/application/source/monster.mjs index 61a58f0dd..f017bad12 100644 --- a/application/source/monster.mjs +++ b/application/source/monster.mjs @@ -8,96 +8,188 @@ /** * Main namespace for Monster. - * + * * @namespace Monster * @author schukai GmbH */ +// development/script/grep-exports.cjs +export {IsObject} from "./constraints/isobject.mjs" +export {Invalid} from "./constraints/invalid.mjs" +export {AndOperator} from "./constraints/andoperator.mjs" +export {OrOperator} from "./constraints/oroperator.mjs" +export {AbstractConstraint} from "./constraints/abstract.mjs" +export {IsArray} from "./constraints/isarray.mjs" +export {AbstractOperator} from "./constraints/abstractoperator.mjs" +export {Valid} from "./constraints/valid.mjs" +export {Monster} from "./monster.mjs" +export {Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF} from "./logging/logger.mjs" +export {LogEntry} from "./logging/logentry.mjs" +export {ConsoleHandler} from "./logging/handler/console.mjs" +export {Handler} from "./logging/handler.mjs" +export {Formatter} from "./text/formatter.mjs" +export {Stylesheet} from "./dom/resource/link/stylesheet.mjs" +export {Data} from "./dom/resource/data.mjs" +export {Link} from "./dom/resource/link.mjs" +export {Script} from "./dom/resource/script.mjs" +export {Updater} from "./dom/updater.mjs" +export {CustomControl} from "./dom/customcontrol.mjs" +export {getLocaleOfDocument} from "./dom/locale.mjs" +export {Theme, getDocumentTheme} from "./dom/theme.mjs" +export {Resource, KEY_DOCUMENT, KEY_QUERY, referenceSymbol} from "./dom/resource.mjs" +export {ResourceManager} from "./dom/resourcemanager.mjs" +export {getDocument, getWindow, getDocumentFragmentFromString} from "./dom/util.mjs" +export { + DEFAULT_THEME, + ATTRIBUTE_PREFIX, + ATTRIBUTE_OPTIONS, + ATTRIBUTE_OPTIONS_SELECTOR, + ATTRIBUTE_THEME_PREFIX, + ATTRIBUTE_THEME_NAME, + ATTRIBUTE_UPDATER_ATTRIBUTES, + ATTRIBUTE_UPDATER_SELECT_THIS, + ATTRIBUTE_UPDATER_REPLACE, + ATTRIBUTE_UPDATER_INSERT, + ATTRIBUTE_UPDATER_INSERT_REFERENCE, + ATTRIBUTE_UPDATER_REMOVE, + ATTRIBUTE_UPDATER_BIND, + ATTRIBUTE_TEMPLATE_PREFIX, + ATTRIBUTE_ROLE, + ATTRIBUTE_DISABLED, + ATTRIBUTE_VALUE, + ATTRIBUTE_OBJECTLINK, + ATTRIBUTE_ERRORMESSAGE, + TAG_SCRIPT, + TAG_STYLE, + TAG_LINK, + ATTRIBUTE_ID, + ATTRIBUTE_CLASS, + ATTRIBUTE_TITLE, + ATTRIBUTE_SRC, + ATTRIBUTE_HREF, + ATTRIBUTE_TYPE, + ATTRIBUTE_NONCE, + ATTRIBUTE_TRANSLATE, + ATTRIBUTE_TABINDEX, + ATTRIBUTE_SPELLCHECK, + ATTRIBUTE_SLOT, + ATTRIBUTE_PART, + ATTRIBUTE_LANG, + ATTRIBUTE_ITEMTYPE, + ATTRIBUTE_ITEMSCOPE, + ATTRIBUTE_ITEMREF, + ATTRIBUTE_ITEMID, + ATTRIBUTE_ITEMPROP, + ATTRIBUTE_IS, + ATTRIBUTE_INPUTMODE, + ATTRIBUTE_ACCESSKEY, + ATTRIBUTE_AUTOCAPITALIZE, + ATTRIBUTE_AUTOFOCUS, + ATTRIBUTE_CONTENTEDITABLE, + ATTRIBUTE_DIR, + ATTRIBUTE_DRAGGABLE, + ATTRIBUTE_ENTERKEYHINT, + ATTRIBUTE_EXPORTPARTS, + ATTRIBUTE_HIDDEN, + objectUpdaterLinkSymbol, -import './constants.mjs'; -// find packages/monster/source/ -type f -name "*.mjs" -not -name "*namespace*" -not -iname "monster.mjs" -import './constraints/isobject.mjs'; -import './constraints/valid.mjs'; -import './constraints/invalid.mjs'; -import './constraints/abstractoperator.mjs'; -import './constraints/oroperator.mjs'; -import './constraints/andoperator.mjs'; -import './constraints/abstract.mjs'; -import './constraints/isarray.mjs'; -import './logging/logger.mjs'; -import './logging/handler.mjs'; -import './logging/logentry.mjs'; -import './logging/handler/console.mjs'; -import './text/formatter.mjs'; -import './dom/resource/script.mjs'; -import './dom/resource/data.mjs'; -import './dom/resource/link/stylesheet.mjs'; -import './dom/resource/link.mjs'; -import './dom/resource.mjs'; -import './dom/updater.mjs'; -import './dom/attributes.mjs'; -import './dom/template.mjs'; -import './dom/util.mjs'; -import './dom/ready.mjs'; -import './dom/resourcemanager.mjs'; -import './dom/locale.mjs'; -import './dom/customcontrol.mjs'; -import './dom/constants.mjs'; -import './dom/assembler.mjs'; -import './dom/theme.mjs'; -import './dom/worker/factory.mjs'; -import './dom/focusmanager.mjs'; -import './dom/events.mjs'; -import './dom/customelement.mjs'; -import './i18n/formatter.mjs'; -import './i18n/providers/fetch.mjs'; -import './i18n/translations.mjs'; -import './i18n/locale.mjs'; -import './i18n/provider.mjs'; -import './types/queue.mjs'; -import './types/binary.mjs'; -import './types/regex.mjs'; -import './types/observer.mjs'; -import './types/observerlist.mjs'; -import './types/basewithoptions.mjs'; -import './types/is.mjs'; -import './types/proxyobserver.mjs'; -import './types/uniquequeue.mjs'; -import './types/node.mjs'; -import './types/tokenlist.mjs'; -import './types/typeof.mjs'; -import './types/uuid.mjs'; -import './types/mediatype.mjs'; -import './types/dataurl.mjs'; -import './types/base.mjs'; -import './types/version.mjs'; -import './types/nodelist.mjs'; -import './types/id.mjs'; -import './types/randomid.mjs'; -import './types/noderecursiveiterator.mjs'; -import './types/validate.mjs'; -import './types/stack.mjs'; -import './util/deadmansswitch.mjs'; -import './util/comparator.mjs'; -import './util/trimspaces.mjs'; -import './util/clone.mjs'; -import './util/freeze.mjs'; -import './util/processing.mjs'; -import './constants.mjs'; -import './data/pathfinder.mjs'; -import './data/pipe.mjs'; -import './data/extend.mjs'; -import './data/diff.mjs'; -import './data/buildmap.mjs'; -import './data/datasource.mjs'; -import './data/buildtree.mjs'; -import './data/transformer.mjs'; -import './data/datasource/storage.mjs'; -import './data/datasource/restapi.mjs'; -import './data/datasource/storage/sessionstorage.mjs'; -import './data/datasource/storage/localstorage.mjs'; -import './data/datasource/restapi/writeerror.mjs'; -import './math/random.mjs'; +} from "./dom/constants.mjs" +export { + CustomElement, + initMethodSymbol, + assembleMethodSymbol, + attributeObserverSymbol, + registerCustomElement, + assignUpdaterToElement, + getSlottedElements +} from "./dom/customelement.mjs" +export { + findClosestObjectLink, + addToObjectLink, + removeObjectLink, + hasObjectLink, + getLinkedObjects, + toggleAttributeToken, + addAttributeToken, + removeAttributeToken, + containsAttributeToken, + replaceAttributeToken, + clearAttributeTokens, + findClosestByAttribute, + findClosestByClass +} from "./dom/attributes.mjs" +export {fireEvent, fireCustomEvent, findTargetElementFromEvent} from "./dom/events.mjs" +export {Factory} from "./dom/worker/factory.mjs" +export {Template} from "./dom/template.mjs" +export {domReady, windowReady} from "./dom/ready.mjs" +export {FocusManager} from "./dom/focusmanager.mjs" +export {ATTRIBUTEPREFIX, Assembler} from "./dom/assembler.mjs" +export {Translations} from "./i18n/translations.mjs" +export {Locale, parseLocale} from "./i18n/locale.mjs" +export {Formatter} from "./i18n/formatter.mjs" +export {Fetch} from "./i18n/providers/fetch.mjs" +export {Provider} from "./i18n/provider.mjs" +export { + internalSymbol, + internalStateSymbol +} from "./constants.mjs" +export {MediaType, parseMediaType} from "./types/mediatype.mjs" +export {typeOf} from "./types/typeof.mjs" +export {ObserverList} from "./types/observerlist.mjs" +export {RandomID} from "./types/randomid.mjs" +export {UUID} from "./types/uuid.mjs" +export {Observer} from "./types/observer.mjs" +export {TokenList} from "./types/tokenlist.mjs" +export {Queue} from "./types/queue.mjs" +export {Stack} from "./types/stack.mjs" +export {toBinary, fromBinary} from "./types/binary.mjs" +export {BaseWithOptions} from "./types/basewithoptions.mjs" +export {escapeString} from "./types/regex.mjs" +export {ProxyObserver} from "./types/proxyobserver.mjs" +export {NodeList} from "./types/nodelist.mjs" +export {Version, getMonsterVersion} from "./types/version.mjs" +export {Node} from "./types/node.mjs" +export {NodeRecursiveIterator} from "./types/noderecursiveiterator.mjs" +export {getGlobal, getGlobalObject, getGlobalFunction} from "./types/global.mjs" +export {DataUrl, parseDataURL} from "./types/dataurl.mjs" +export { + validateIterable, + validatePrimitive, + validateBoolean, + validateString, + validateObject, + validateInstance, + validateArray, + validateSymbol, + validateFunction, + validateInteger +} from "./types/validate.mjs" +export {UniqueQueue} from "./types/uniquequeue.mjs" +export {Base} from "./types/base.mjs" +export { + isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInstance, isArray, isFunction, isInteger +} from "./types/is.mjs" +export {ID} from "./types/id.mjs" +export {trimSpaces} from "./util/trimspaces.mjs" +export {DeadMansSwitch} from "./util/deadmansswitch.mjs" +export {deepFreeze} from "./util/freeze.mjs" +export {Comparator} from "./util/comparator.mjs" +export {clone} from "./util/clone.mjs" +export {Processing} from "./util/processing.mjs" +export {extend} from "./data/extend.mjs" +export {Pipe} from "./data/pipe.mjs" +export {buildMap, PARENT, assembleParts} from "./data/buildmap.mjs" +export {Datasource} from "./data/datasource.mjs" +export {buildTree} from "./data/buildtree.mjs" +export {Transformer} from "./data/transformer.mjs" +export {Pathfinder, DELIMITER, WILDCARD} from "./data/pathfinder.mjs" +export {diff} from "./data/diff.mjs" +export {RestAPI} from "./data/datasource/restapi.mjs" +export {SessionStorage} from "./data/datasource/storage/sessionstorage.mjs" +export {LocalStorage} from "./data/datasource/storage/localstorage.mjs" +export {WriteError} from "./data/datasource/restapi/writeerror.mjs" +export {Storage, storageObjectSymbol} from "./data/datasource/storage.mjs" +export {random} from "./math/random.mjs" export {Monster} diff --git a/development/script/grep-exports.cjs b/development/script/grep-exports.cjs new file mode 100755 index 000000000..328f9a086 --- /dev/null +++ b/development/script/grep-exports.cjs @@ -0,0 +1,51 @@ +#!/usr/bin/env node + +const regex = /^\s*(?<exp>(export\s+{[^}]+)})/gm; + +const fs = require('fs'); +var path = require('path') +const basename= __dirname + '/../../application/source/' + +let exportLines = [] + +function scanSymbols(root) { + + const dir = fs.opendirSync(root); + while ((f = dir.readSync()) !== null) { + + if (f.isDirectory()) { + scanSymbols(path.join(root, f.name)); + continue; + } else if (!f.isFile()) { + continue; + }; + + if ((path.extname(f.name) !== ".mjs")) { + continue; + } + + const fn = path.join( root , f.name); + let content = fs.readFileSync(fn, 'utf8'); + + while ((m = regex.exec(content)) !== null) { + let exp= m.groups?.exp; + if (!exp) { + continue; + } + + + exportLines.push(exp + " from \"./" + path.relative(basename, fn)+"\""); + + } + + } +} + +scanSymbols(path.normalize(basename)) + + +console.log(exportLines.join("\n")); + + + + -- GitLab