@hikarix/core
Advanced tools
Comparing version 0.4.7-2 to 0.4.8
@@ -1,1 +0,1 @@ | ||
export declare const hiKariAppVersion = "0.4.7"; | ||
export declare const hiKariAppVersion = "0.4.8"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.hiKariAppVersion = void 0; | ||
exports.hiKariAppVersion = '0.4.7'; | ||
exports.hiKariAppVersion = '0.4.8'; | ||
//# sourceMappingURL=config.js.map |
@@ -5,2 +5,3 @@ export { HiKariAppModule } from "./app/app.module"; | ||
export { HiKariRepoServiceOpsManager } from "./repo/index"; | ||
export { RepoServiceOpsDocMixinBase } from "./repo/rsi.mixin.doc"; | ||
export { HiKariValidationPipe } from "./app/shared/pipes/validation.pipe"; | ||
@@ -7,0 +8,0 @@ export { HiKariGenericErrorFilter } from "./app/shared/exception/index"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.hikariTransformationFactory = exports.HiKariRepoEntity = exports.HiKariGenericErrorFilter = exports.HiKariValidationPipe = exports.HiKariRepoServiceOpsManager = exports.HiKariPlatformResourceManager = exports.HiKariRepoModule = exports.HiKariAppModule = void 0; | ||
exports.hikariTransformationFactory = exports.HiKariRepoEntity = exports.HiKariGenericErrorFilter = exports.HiKariValidationPipe = exports.RepoServiceOpsDocMixinBase = exports.HiKariRepoServiceOpsManager = exports.HiKariPlatformResourceManager = exports.HiKariRepoModule = exports.HiKariAppModule = void 0; | ||
var app_module_1 = require("./app/app.module"); | ||
@@ -12,2 +12,4 @@ Object.defineProperty(exports, "HiKariAppModule", { enumerable: true, get: function () { return app_module_1.HiKariAppModule; } }); | ||
Object.defineProperty(exports, "HiKariRepoServiceOpsManager", { enumerable: true, get: function () { return repo_1.HiKariRepoServiceOpsManager; } }); | ||
var rsi_mixin_doc_1 = require("./repo/rsi.mixin.doc"); | ||
Object.defineProperty(exports, "RepoServiceOpsDocMixinBase", { enumerable: true, get: function () { return rsi_mixin_doc_1.RepoServiceOpsDocMixinBase; } }); | ||
var validation_pipe_1 = require("./app/shared/pipes/validation.pipe"); | ||
@@ -14,0 +16,0 @@ Object.defineProperty(exports, "HiKariValidationPipe", { enumerable: true, get: function () { return validation_pipe_1.HiKariValidationPipe; } }); |
{ | ||
"name": "@hikarix/core", | ||
"version": "0.4.7-2", | ||
"version": "0.4.8", | ||
"description": "Core of Modularized information aggregation service framework HiKari", | ||
@@ -117,2 +117,2 @@ "repository": "https://github.com/Myriad-Dreamin/hikari-core", | ||
} | ||
} | ||
} |
@@ -0,1 +1,3 @@ | ||
/// <reference types="node" /> | ||
import { Readable } from 'stream'; | ||
export declare type ObjectDict<T> = { | ||
@@ -12,2 +14,7 @@ [K: string]: T; | ||
} : HiKariGenericDataBase<T>; | ||
export interface FileLike<T> { | ||
stat?: () => Promise<T>; | ||
open(): Promise<Readable>; | ||
} | ||
export declare type DirectoryLike<T = Record<any, any>> = ObjectDict<FileLike<T>>; | ||
export {}; |
@@ -5,4 +5,3 @@ export interface IObject { | ||
alternativeNames?: IObjectName[]; | ||
accessPathLoaded?: boolean; | ||
accessPaths: IAccessPath[]; | ||
accessPaths?: IAccessPath[]; | ||
uniqueKey?: string; | ||
@@ -39,2 +38,3 @@ createdAt?: Date; | ||
export interface IAlbum extends IObject { | ||
uniqueKey: string; | ||
tracks?: ITrack[]; | ||
@@ -41,0 +41,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { EnumRepoEntitiesKey, EnumRepoEntitiesMeta, EnumRepoEntityLoadMethodKey, EnumRepoEntityLoadMethodsMeta } from "./repo-item"; | ||
import { EnumRepoEntitiesKey, EnumRepoEntitiesMeta } from "./repo-item"; | ||
import { Mutable } from "../lib/semantic"; | ||
@@ -6,9 +6,13 @@ import { HiKariCoreHostConfig } from "./config"; | ||
import { HiKariTypeMetaManager } from "./meta"; | ||
import { ObjectDict } from "./generic"; | ||
import { FileLike, ObjectDict } from "./generic"; | ||
export declare const repoClientItemsOptsRaw: unique symbol; | ||
export interface RepoClientItemsOpts<T = any> { | ||
[repoClientItemsOptsRaw]?: T; | ||
} | ||
interface Closer { | ||
close(promiseReporter: (err: Error) => never): void; | ||
} | ||
interface IHiKariRepoWorkContext<Env = ObjectDict<any>> { | ||
errors: Error[]; | ||
interface IHiKariRepoWorkContext<Env, K extends EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta> { | ||
env: Env; | ||
sourceManager: IHiKariSourceManager<K, M>; | ||
getContextValue<T extends Closer = any>(valueKey: string): T | undefined; | ||
@@ -18,29 +22,18 @@ setContextValue<T extends Closer>(valueKey: any, value: T): T; | ||
trace_log(eventPoint: string, eventArgs: ObjectDict<any>): any; | ||
trace_error(errorType: string, error: Error): any; | ||
} | ||
export declare type LoadFunc<A> = <C extends Partial<A>>(container: C) => Promise<C & Required<A>>; | ||
export interface IHiKariSourceManagerCreateItemApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> { | ||
createItem<K extends EK>(k: K, opts: any): M[K]; | ||
getCreateItemFunc<K extends EK>(k: K): (opts: any) => M[K]; | ||
export interface IHiKariRepositoryControlClient { | ||
control(controlCmd: string, controlArgs: any): Promise<any>; | ||
} | ||
export interface IHiKariSourceManagerCreateItemFromIApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> { | ||
createItemFromI<K extends EK>(k: K, i: M[K]): M[K]; | ||
getCreateItemFromIFunc<K extends EK>(k: K): (i: M[K]) => M[K]; | ||
export interface IHiKariRepositorySearchClient<T> { | ||
search(opts: RepoClientSearchItemsOpts, context: IHiKariSearchContext): Promise<IHiKariRepositorySearchResult<T>>; | ||
} | ||
export declare class HiKariSourceManagerCreateItemFromIIdApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> implements IHiKariSourceManagerCreateItemFromIApis<EK, M> { | ||
createItemFromI<K extends EK>(k: K, i: M[K]): M[K]; | ||
getCreateItemFromIFunc<K extends EK>(): (i: M[K]) => M[K]; | ||
} | ||
export interface IHiKariSourceManagerLoadApis<LK extends EnumRepoEntityLoadMethodKey = EnumRepoEntityLoadMethodKey, LM extends EnumRepoEntityLoadMethodsMeta = EnumRepoEntityLoadMethodsMeta> { | ||
load<K extends LK, S extends Partial<LM[K]>>(lk: K, container: S): Promise<S & Required<LM[K]>>; | ||
getLoadFunc<K extends LK>(lk: K): LoadFunc<LM[K]>; | ||
} | ||
export interface IHiKariSourceManager<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta, LK extends EnumRepoEntityLoadMethodKey = EnumRepoEntityLoadMethodKey, LM extends EnumRepoEntityLoadMethodsMeta = EnumRepoEntityLoadMethodsMeta> extends IHiKariSourceManagerCreateItemApis<EK, M>, IHiKariSourceManagerCreateItemFromIApis<EK, M>, IHiKariSourceManagerLoadApis<LK, LM> { | ||
} | ||
export interface IHiKariSearchContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> extends IHiKariRepoWorkContext<Env> { | ||
sourceManager: IHiKariSourceManager<K, M>; | ||
} | ||
export interface RepoClientSearchItemsOpts { | ||
export declare type IHiKariSearchContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> = IHiKariRepoWorkContext<Env, K, M>; | ||
export interface RepoClientSearchItemsOpts<T = any> extends RepoClientItemsOpts<T> { | ||
query: string; | ||
force_update?: boolean; | ||
part?: string[]; | ||
filter?: { | ||
uniqueKey?: string; | ||
}; | ||
page_number?: number; | ||
@@ -58,22 +51,23 @@ page_size?: number; | ||
} | ||
export interface IHiKariRepositorySearchClient<T> { | ||
search(opts: RepoClientSearchItemsOpts, readContext: IHiKariSearchContext): Promise<IHiKariRepositorySearchResult<T>>; | ||
export interface IHiKariRepositoryImportClient<T, Opts = any> { | ||
import(items: T[], opts: Opts, context: IHiKariImportItemsContext): Promise<IHiKariRepositoryImportResult<T>>; | ||
importOne(items: T, opts: Opts, context: IHiKariImportItemsContext): Promise<IHiKariRepositoryImportResult<T>>; | ||
} | ||
export interface IHiKariImportItemsContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> extends IHiKariRepoWorkContext<Env> { | ||
sourceManager: IHiKariSourceManager<K, M>; | ||
export declare type IHiKariImportItemsContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> = IHiKariRepoWorkContext<Env, K, M>; | ||
export interface IHiKariRepositoryImportResult<T> { | ||
imported: [T, T][]; | ||
failed: T[]; | ||
} | ||
export declare type IHiKariRepositoryImportResult = any; | ||
export interface IHiKariRepositoryImportClient<T, Opts = any, Res = any> { | ||
import(items: T[], opts: Opts, importContext: IHiKariImportItemsContext): Promise<Res>; | ||
importOne(items: T, opts: Opts, importContext: IHiKariImportItemsContext): Promise<Res>; | ||
} | ||
export interface IHiKariRepositoryReadClient<T> { | ||
read(item: T, opts: unknown, stream: unknown): Promise<void>; | ||
read(opts: RepoClientReadItemsOpts, context: IHiKariReadItemsContext): Promise<IHiKariRepositoryReadResult<T>>; | ||
} | ||
export declare type IHiKariReadItemsContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> = IHiKariRepoWorkContext<Env, K, M>; | ||
export interface RepoClientReadItemsOpts<T = any> extends RepoClientSearchItemsOpts<T> { | ||
singleStreamOnly?: boolean; | ||
} | ||
export declare type IHiKariRepositoryReadResult<T> = IHiKariRepositorySearchResult<FileLike<T>>; | ||
export interface IHiKariRepositoryWriteClient<T> { | ||
write(item: T, opts: unknown, stream: unknown): Promise<void>; | ||
write(item: T, opts: RepoClientItemsOpts, context: IHiKariWriteItemsContext): Promise<any>; | ||
} | ||
export interface IHiKariRepositoryControlClient { | ||
control(controlCmd: string, controlArgs: any): Promise<any>; | ||
} | ||
export declare type IHiKariWriteItemsContext<Env = ObjectDict<any>, K extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> = IHiKariRepoWorkContext<Env, K, M>; | ||
export interface IHiKariRepositoryClient<T> { | ||
@@ -86,2 +80,34 @@ controlClient?: IHiKariRepositoryControlClient; | ||
} | ||
export interface RepoServiceOpsDoc { | ||
description: string; | ||
default?: RepoClientScopeDoc; | ||
scopes: ObjectDict<RepoClientScopeDoc>; | ||
} | ||
export interface RepoServiceOpsDocProps { | ||
readonly managingEntity: EnumRepoEntitiesKey | string; | ||
readonly protocolPrefixedUUID: string; | ||
readonly protocolKey: string; | ||
readonly description: string; | ||
accessDoc(language: string): RepoServiceOpsDoc | undefined; | ||
} | ||
export interface RepoServiceOpsClientManageProps<T> { | ||
normalizeScopeId(scope: string, scopeId: string): string; | ||
createClient(scope: string, scopeId: string, opts: HiKariCoreHostConfig, resourceManager: IPlatformResourceManager): Promise<IHiKariRepositoryClient<T>>; | ||
returnClient(client: IHiKariRepositoryClient<T>): Promise<void>; | ||
} | ||
export interface RepoServiceOpsFacContext { | ||
hostConfig: HiKariCoreHostConfig; | ||
resolve<T>(token: any): T; | ||
} | ||
export interface RepoServiceOpsFacConstructorProps<T> { | ||
create(context: RepoServiceOpsFacContext): Mutable<RepoServiceOps<T>>; | ||
} | ||
export interface RepoServiceOps<T> extends RepoServiceOpsDocProps, RepoServiceOpsClientManageProps<T> { | ||
} | ||
export interface RepoServiceOpsFactory<T> extends RepoServiceOpsDocProps, RepoServiceOpsFacConstructorProps<T> { | ||
} | ||
export interface RepoServiceOpsModule { | ||
register(metaManager: HiKariTypeMetaManager): void; | ||
remove(metaManager: HiKariTypeMetaManager): void; | ||
} | ||
export interface RepoClientOptDesc { | ||
@@ -108,8 +134,17 @@ description: string; | ||
} | ||
export interface RepoServiceOpsDoc { | ||
description: string; | ||
default?: RepoClientScopeDoc; | ||
scopes: ObjectDict<RepoClientScopeDoc>; | ||
export interface IHiKariSourceManagerCreateItemApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> { | ||
createItem<K extends EK>(k: K, opts: any): M[K]; | ||
getCreateItemFunc<K extends EK>(k: K): (opts: any) => M[K]; | ||
} | ||
export declare abstract class RepoServiceOps<T> { | ||
export interface IHiKariSourceManagerCreateItemFromIApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> { | ||
createItemFromI<K extends EK>(k: K, i: M[K]): M[K]; | ||
getCreateItemFromIFunc<K extends EK>(k: K): (i: M[K]) => M[K]; | ||
} | ||
export declare class HiKariSourceManagerCreateItemFromIIdApis<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> implements IHiKariSourceManagerCreateItemFromIApis<EK, M> { | ||
createItemFromI<K extends EK>(k: K, i: M[K]): M[K]; | ||
getCreateItemFromIFunc<K extends EK>(): (i: M[K]) => M[K]; | ||
} | ||
export interface IHiKariSourceManager<EK extends EnumRepoEntitiesKey = EnumRepoEntitiesKey, M extends EnumRepoEntitiesMeta = EnumRepoEntitiesMeta> extends IHiKariSourceManagerCreateItemApis<EK, M>, IHiKariSourceManagerCreateItemFromIApis<EK, M> { | ||
} | ||
export declare abstract class RepoServiceOps<T> implements RepoServiceOpsDocProps, RepoServiceOpsClientManageProps<T> { | ||
readonly protocolPrefixedUUID: string; | ||
@@ -125,18 +160,2 @@ readonly protocolKey: string; | ||
} | ||
export interface RepoServiceOpsFacContext { | ||
hostConfig: HiKariCoreHostConfig; | ||
resolve<T>(token: any): T; | ||
} | ||
export interface RepoServiceOpsFactory<T> { | ||
readonly managingEntity: EnumRepoEntitiesKey | string; | ||
readonly description: string; | ||
readonly protocolPrefixedUUID: string; | ||
readonly protocolKey: string; | ||
accessDoc(language: string): RepoServiceOpsDoc | undefined; | ||
create(context: RepoServiceOpsFacContext): Mutable<RepoServiceOps<T>>; | ||
} | ||
export interface RepoServiceOpsModule { | ||
register(metaManager: HiKariTypeMetaManager): void; | ||
remove(metaManager: HiKariTypeMetaManager): void; | ||
} | ||
export {}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.RepoServiceOps = exports.HiKariSourceManagerCreateItemFromIIdApis = void 0; | ||
exports.RepoServiceOps = exports.HiKariSourceManagerCreateItemFromIIdApis = exports.repoClientItemsOptsRaw = void 0; | ||
const repo_item_1 = require("./repo-item"); | ||
@@ -9,2 +9,3 @@ const semantic_1 = require("../lib/semantic"); | ||
const generic_1 = require("./generic"); | ||
exports.repoClientItemsOptsRaw = Symbol('raw-opts'); | ||
class HiKariSourceManagerCreateItemFromIIdApis { | ||
@@ -11,0 +12,0 @@ createItemFromI(k, i) { |
186944
173
3906