@allgemein/schema-api 1.5.31 → 1.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,8 +9,8 @@ export declare class LookupRegistry {
9
9
  list(context: string): any[];
10
10
  add<T>(context: string, entry: T): T;
11
11
  remove<T>(context: string, search: any): T[];
12
- filter<T>(context: string, search: any): T[];
13
- find<T>(context: string, search: any): T;
12
+ filter<T>(context: string, search: (x: any) => boolean): T[];
13
+ find<T>(context: string, search: (x: any) => boolean): T;
14
14
  /**
15
15
  * return lookup registry namespaces
16
16
  */
@@ -46,7 +46,10 @@ class LookupRegistry {
46
46
  if (!(0, lodash_1.has)(this._entries, context)) {
47
47
  this._entries[context] = [];
48
48
  }
49
- return this._entries[context].filter(search);
49
+ if (search) {
50
+ return this._entries[context].filter(search);
51
+ }
52
+ return this._entries[context];
50
53
  }
51
54
  find(context, search) {
52
55
  if (!(0, lodash_1.has)(this._entries, context)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"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","file":"LookupRegistry.js","sourcesContent":["import {has, isEmpty, remove} from 'lodash';\n\nimport {DEFAULT_NAMESPACE} from './Constants';\n\nexport class LookupRegistry {\n\n private static $self: { [namespace: string]: LookupRegistry } = {};\n\n private namespace: string = DEFAULT_NAMESPACE;\n\n private _entries: { [context: string]: any[] } = {};\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n getNamespace(): string {\n return this.namespace;\n }\n\n static reset(namespace: string = DEFAULT_NAMESPACE): void {\n if (this.$self[namespace]) {\n delete this.$self[namespace];\n }\n }\n\n static $(namespace: string = DEFAULT_NAMESPACE): LookupRegistry {\n if (!this.$self[namespace]) {\n this.$self[namespace] = new LookupRegistry(namespace);\n }\n return this.$self[namespace];\n }\n\n list(context: string) {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context];\n }\n\n add<T>(context: string, entry: T): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n this._entries[context].push(entry);\n return entry;\n }\n\n remove<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return remove<T>(this._entries[context], search);\n }\n\n filter<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context].filter(search);\n }\n\n find<T>(context: string, search: any): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context].find(search);\n }\n\n\n /**\n * return lookup registry namespaces\n */\n static getRegistryNamespaces() {\n return Object.keys(this.$self);\n }\n\n /**\n * return lookup registries\n */\n static getLookupRegistries() {\n return Object.keys(this.$self).map(x => this.$self[x]);\n }\n\n /**\n * search in all registries\n *\n * @param context\n * @param search\n */\n static find<T>(context: string, search: any): T {\n const registryNames = this.getRegistryNamespaces();\n for (const registryName of registryNames) {\n const found = <T>this.$self[registryName].find(context, search);\n if (found) {\n return found;\n }\n }\n return null;\n }\n\n /**\n * filter over all registries\n *\n * @param context\n * @param search\n */\n static filter<T>(context: string, search: any): T[] {\n const results: T[] = [];\n const namespaces = Object.keys(this.$self);\n for (const namespace of namespaces) {\n const found = <T[]>this.$self[namespace].filter(context, search);\n if (!isEmpty(found)) {\n results.push(...found);\n }\n }\n return results;\n }\n\n\n}\n\n\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"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","file":"LookupRegistry.js","sourcesContent":["import {has, isEmpty, remove} from 'lodash';\n\nimport {DEFAULT_NAMESPACE} from './Constants';\n\nexport class LookupRegistry {\n\n private static $self: { [namespace: string]: LookupRegistry } = {};\n\n private namespace: string = DEFAULT_NAMESPACE;\n\n private _entries: { [context: string]: any[] } = {};\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n getNamespace(): string {\n return this.namespace;\n }\n\n static reset(namespace: string = DEFAULT_NAMESPACE): void {\n if (this.$self[namespace]) {\n delete this.$self[namespace];\n }\n }\n\n static $(namespace: string = DEFAULT_NAMESPACE): LookupRegistry {\n if (!this.$self[namespace]) {\n this.$self[namespace] = new LookupRegistry(namespace);\n }\n return this.$self[namespace];\n }\n\n list(context: string) {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context];\n }\n\n add<T>(context: string, entry: T): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n this._entries[context].push(entry);\n return entry;\n }\n\n remove<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return remove<T>(this._entries[context], search);\n }\n\n filter<T>(context: string, search: (x: any) => boolean): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n if(search){\n return this._entries[context].filter(search);\n }\n return this._entries[context];\n\n }\n\n find<T>(context: string, search: (x: any) => boolean): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context].find(search);\n }\n\n\n /**\n * return lookup registry namespaces\n */\n static getRegistryNamespaces() {\n return Object.keys(this.$self);\n }\n\n /**\n * return lookup registries\n */\n static getLookupRegistries() {\n return Object.keys(this.$self).map(x => this.$self[x]);\n }\n\n /**\n * search in all registries\n *\n * @param context\n * @param search\n */\n static find<T>(context: string, search: any): T {\n const registryNames = this.getRegistryNamespaces();\n for (const registryName of registryNames) {\n const found = <T>this.$self[registryName].find(context, search);\n if (found) {\n return found;\n }\n }\n return null;\n }\n\n /**\n * filter over all registries\n *\n * @param context\n * @param search\n */\n static filter<T>(context: string, search: any): T[] {\n const results: T[] = [];\n const namespaces = Object.keys(this.$self);\n for (const namespace of namespaces) {\n const found = <T[]>this.$self[namespace].filter(context, search);\n if (!isEmpty(found)) {\n results.push(...found);\n }\n }\n return results;\n }\n\n\n}\n\n\n"],"sourceRoot":".."}
@@ -79,7 +79,7 @@ export declare abstract class AbstractRegistry implements ILookupRegistry {
79
79
  /**
80
80
  * TODO
81
81
  */
82
- filter<T>(context: string, search: any, ns?: string): T[];
82
+ filter<T>(context: string, search: (x: any) => boolean, ns?: string): T[];
83
83
  /**
84
84
  * TODO
85
85
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/registry/AbstractRegistry.ts"],"names":[],"mappings":"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","file":"AbstractRegistry.js","sourcesContent":["import {snakeCase} from 'lodash';\nimport {METADATA_TYPE, METATYPE_ENTITY, METATYPE_PROPERTY} from './../Constants';\nimport {ILookupRegistry} from '../../api/ILookupRegistry';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {IClassRef} from '../../api/IClassRef';\nimport {IPropertyRef} from '../../api/IPropertyRef';\nimport {LookupRegistry} from '../LookupRegistry';\nimport {LockFactory, NotSupportedError, Semaphore} from '@allgemein/base';\nimport {ISchemaRef} from '../../api/ISchemaRef';\nimport {IRegistryOptions} from './IRegistryOptions';\n\n\n/**\n * Registry for metadata of classes and there properties\n */\nexport abstract class AbstractRegistry implements ILookupRegistry {\n\n protected readonly namespace: string;\n\n private _lock: Semaphore;\n\n readonly options: IRegistryOptions;\n\n\n constructor(namespace: string, options?: IRegistryOptions) {\n this.namespace = namespace;\n this.options = options || {};\n }\n\n\n get lock() {\n if (!this._lock) {\n this._lock = LockFactory.$().semaphore(1);\n }\n return this._lock;\n }\n\n\n ready(timeout?: number): Promise<boolean> {\n return this.lock.await(timeout).then(x => true).catch(x => false);\n }\n\n\n getOptions(): IRegistryOptions {\n return this.options;\n }\n\n\n /**\n * Return all registered schema references\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefs<T extends ISchemaRef>(filter?: (x: ISchemaRef) => boolean): (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * Return schema references for an given entity or class reference\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefsFor<T extends ISchemaRef>(ref: string): T | ISchemaRef;\n getSchemaRefsFor<T extends ISchemaRef>(ref: string | IEntityRef | IClassRef): T | ISchemaRef | (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n *\n * @param filter\n */\n getEntityRefs<T extends IEntityRef>(filter?: (x: IEntityRef) => boolean): (T | IEntityRef)[] {\n return this.filter(METATYPE_ENTITY, filter);\n }\n\n /**\n * Can get get entity ref for function.\n *\n * @param fn\n */\n getEntityRefFor<T extends IEntityRef>(fn: string | object | Function, skipNsCheck: boolean = true): (T | IEntityRef) {\n throw new NotSupportedError('');\n }\n\n\n /**\n * Returns the used instance of lookup registry handler\n */\n getLookupRegistry(namespace: string = null): LookupRegistry {\n return LookupRegistry.$(namespace ? namespace : this.namespace);\n }\n\n /**\n * Method for returning class ref\n *\n * @param object\n * @param type\n */\n getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef {\n throw new NotSupportedError('');\n }\n\n /**\n * Returns property by name for a given class or entity ref\n *\n * @param filter\n */\n getPropertyRef<T extends IPropertyRef>(ref: IClassRef | IEntityRef, name: string): (T | IPropertyRef) {\n return this.getPropertyRefs<T>(ref).find(x => snakeCase(x.name) === snakeCase(name));\n }\n\n\n /**\n * Returns all properties for given class or entity ref\n *\n * @param ref\n */\n getPropertyRefs<T extends IPropertyRef>(ref: IClassRef | IEntityRef): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n getPropertyRefsFor<T extends IPropertyRef>(fn: string | object | Function): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n list<X>(type: METADATA_TYPE, filter?: (x: any) => boolean): X[] {\n return this.filter(type, filter);\n }\n\n\n listEntities(filter?: (x: IEntityRef) => boolean): IEntityRef[] {\n return this.getEntityRefs(filter);\n }\n\n\n listProperties(filter?: (x: IPropertyRef) => boolean): IPropertyRef[] {\n return this.filter(METATYPE_PROPERTY, filter);\n }\n\n\n create<T>(context: string, options: any): T {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n */\n add<T>(context: string, entry: T, ns?: string): T {\n return this.getLookupRegistry(ns).add(context, entry);\n }\n\n\n /**\n * TODO\n */\n filter<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).filter(context, search);\n }\n\n /**\n * TODO\n */\n find<T>(context: string, search: any, ns?: string): T {\n return this.getLookupRegistry(ns).find(context, search);\n }\n\n /**\n * TODO\n */\n remove<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).remove(context, search);\n }\n\n /**\n * reset current registry\n */\n reset() {\n this.clear();\n }\n\n /**\n * Remove namespace from LookupRegistry and also remove semaphore lock if exists\n */\n clear() {\n if (this._lock) {\n LockFactory.$().remove(this._lock);\n }\n LookupRegistry.reset(this.namespace);\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/registry/AbstractRegistry.ts"],"names":[],"mappings":"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","file":"AbstractRegistry.js","sourcesContent":["import {snakeCase} from 'lodash';\nimport {METADATA_TYPE, METATYPE_ENTITY, METATYPE_PROPERTY} from './../Constants';\nimport {ILookupRegistry} from '../../api/ILookupRegistry';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {IClassRef} from '../../api/IClassRef';\nimport {IPropertyRef} from '../../api/IPropertyRef';\nimport {LookupRegistry} from '../LookupRegistry';\nimport {LockFactory, NotSupportedError, Semaphore} from '@allgemein/base';\nimport {ISchemaRef} from '../../api/ISchemaRef';\nimport {IRegistryOptions} from './IRegistryOptions';\n\n\n/**\n * Registry for metadata of classes and there properties\n */\nexport abstract class AbstractRegistry implements ILookupRegistry {\n\n protected readonly namespace: string;\n\n private _lock: Semaphore;\n\n readonly options: IRegistryOptions;\n\n\n constructor(namespace: string, options?: IRegistryOptions) {\n this.namespace = namespace;\n this.options = options || {};\n }\n\n\n get lock() {\n if (!this._lock) {\n this._lock = LockFactory.$().semaphore(1);\n }\n return this._lock;\n }\n\n\n ready(timeout?: number): Promise<boolean> {\n return this.lock.await(timeout).then(x => true).catch(x => false);\n }\n\n\n getOptions(): IRegistryOptions {\n return this.options;\n }\n\n\n /**\n * Return all registered schema references\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefs<T extends ISchemaRef>(filter?: (x: ISchemaRef) => boolean): (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * Return schema references for an given entity or class reference\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefsFor<T extends ISchemaRef>(ref: string): T | ISchemaRef;\n getSchemaRefsFor<T extends ISchemaRef>(ref: string | IEntityRef | IClassRef): T | ISchemaRef | (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n *\n * @param filter\n */\n getEntityRefs<T extends IEntityRef>(filter?: (x: IEntityRef) => boolean): (T | IEntityRef)[] {\n return this.filter(METATYPE_ENTITY, filter);\n }\n\n /**\n * Can get get entity ref for function.\n *\n * @param fn\n */\n getEntityRefFor<T extends IEntityRef>(fn: string | object | Function, skipNsCheck: boolean = true): (T | IEntityRef) {\n throw new NotSupportedError('');\n }\n\n\n /**\n * Returns the used instance of lookup registry handler\n */\n getLookupRegistry(namespace: string = null): LookupRegistry {\n return LookupRegistry.$(namespace ? namespace : this.namespace);\n }\n\n /**\n * Method for returning class ref\n *\n * @param object\n * @param type\n */\n getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef {\n throw new NotSupportedError('');\n }\n\n /**\n * Returns property by name for a given class or entity ref\n *\n * @param filter\n */\n getPropertyRef<T extends IPropertyRef>(ref: IClassRef | IEntityRef, name: string): (T | IPropertyRef) {\n return this.getPropertyRefs<T>(ref).find(x => snakeCase(x.name) === snakeCase(name));\n }\n\n\n /**\n * Returns all properties for given class or entity ref\n *\n * @param ref\n */\n getPropertyRefs<T extends IPropertyRef>(ref: IClassRef | IEntityRef): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n getPropertyRefsFor<T extends IPropertyRef>(fn: string | object | Function): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n list<X>(type: METADATA_TYPE, filter?: (x: any) => boolean): X[] {\n return this.filter(type, filter);\n }\n\n\n listEntities(filter?: (x: IEntityRef) => boolean): IEntityRef[] {\n return this.getEntityRefs(filter);\n }\n\n\n listProperties(filter?: (x: IPropertyRef) => boolean): IPropertyRef[] {\n return this.filter(METATYPE_PROPERTY, filter);\n }\n\n\n create<T>(context: string, options: any): T {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n */\n add<T>(context: string, entry: T, ns?: string): T {\n return this.getLookupRegistry(ns).add(context, entry);\n }\n\n\n /**\n * TODO\n */\n filter<T>(context: string, search: (x: any) => boolean, ns?: string): T[] {\n return this.getLookupRegistry(ns).filter(context, search);\n }\n\n /**\n * TODO\n */\n find<T>(context: string, search: any, ns?: string): T {\n return this.getLookupRegistry(ns).find(context, search);\n }\n\n /**\n * TODO\n */\n remove<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).remove(context, search);\n }\n\n /**\n * reset current registry\n */\n reset() {\n this.clear();\n }\n\n /**\n * Remove namespace from LookupRegistry and also remove semaphore lock if exists\n */\n clear() {\n if (this._lock) {\n LockFactory.$().remove(this._lock);\n }\n LookupRegistry.reset(this.namespace);\n }\n\n}\n"],"sourceRoot":"../.."}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/schema-api",
3
- "version": "1.5.31",
3
+ "version": "1.5.32",
4
4
  "description": "Library for schema api",
5
5
  "main": "index.js",
6
6
  "private": false,