From bbad08d31082276482dcfb9644b85b8b72eb28b3 Mon Sep 17 00:00:00 2001 From: mrsang Date: Sun, 18 Apr 2021 21:23:32 +0200 Subject: [PATCH] fix bug --- Antedit/build/release/Antedit.zip | Bin 31808 -> 31808 bytes libantosdk/build.json | 3 +- libantosdk/build/debug/core/ts/jquery.d.ts | 492 +++++++++------------ libantosdk/build/debug/main.js | 2 +- libantosdk/build/debug/scheme.html | 16 - libantosdk/build/release/libantosdk.zip | Bin 6321277 -> 6326337 bytes libantosdk/core/ts/jquery.d.ts | 492 +++++++++------------ libantosdk/project.json | 4 +- 8 files changed, 404 insertions(+), 605 deletions(-) delete mode 100644 libantosdk/build/debug/scheme.html diff --git a/Antedit/build/release/Antedit.zip b/Antedit/build/release/Antedit.zip index 26f38c9bc79e6c891d67357ba9db59b4d46f087c..b7420437766410718cb8b2bdbc8e1ded29c15919 100644 GIT binary patch delta 346 zcmX@`gYm!*MxFp~W)?065STP;BhNiXrb)9l3$nzCfao`j%1j{oN9I%x5M3zI8VIB( z_ZO*yxI2mxnL%9XG8+)rxgwI03t`yi$g&5FJd8{t3^3y-uc$Nysh6yhk$S+$z>u4m znWvXrTpZwyqUwI743mS{? zCAm3h#`sssNd8fP+LDEC$=)h+kW;=@xq&FVY9C&ZU14A2m1Ti0lbt-h+DtUHBvG%V k0Nvc4Y8j>t<&$cZC!ek66k%lpxrPe}ConNE%&G+O0JsHV)&Kwi delta 344 zcmX@`gYm!*MxFp~W)?065coM`BhNiXrk^u5`-mwsf#^4kaUvj^L$NgwL>Ed-DoK!|_g0yMsBcwnAj+=VhZp3sh0T%EmH^$bWb*WCv&rwv+4<0{ i=&6=rGOw6aqdfU+HKzzG8_3~YKsbSkfnio9hz9_LjcO|Z diff --git a/libantosdk/build.json b/libantosdk/build.json index bbe0410..f418fa5 100644 --- a/libantosdk/build.json +++ b/libantosdk/build.json @@ -45,7 +45,6 @@ "src": [ "package.json", "README.md", - "scheme.html", "core" ], "dest":"build/debug" @@ -54,7 +53,7 @@ ] }, "release": { - "depend": ["clean","build","uglify", "copy"], + "depend": ["build","uglify", "copy"], "require": ["zip"], "jobs": [ { diff --git a/libantosdk/build/debug/core/ts/jquery.d.ts b/libantosdk/build/debug/core/ts/jquery.d.ts index a36741d..e803b9c 100644 --- a/libantosdk/build/debug/core/ts/jquery.d.ts +++ b/libantosdk/build/debug/core/ts/jquery.d.ts @@ -1,95 +1,3 @@ -// Type definitions for sizzle 2.3 -// Project: https://sizzlejs.com -// Definitions by: Leonard Thieu -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 - -export as namespace Sizzle; - -declare const Sizzle: SizzleStatic; -export = Sizzle; - -interface SizzleStatic { - selectors: Sizzle.Selectors; - >(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike; - (selector: string, context?: Element | Document | DocumentFragment): Element[]; - // tslint:disable-next-line:ban-types - compile(selector: string): Function; - matchSelector(element: Element, selector: string): boolean; - matches(selector: string, elements: Element[]): Element[]; -} - -declare namespace Sizzle { - interface Selectors { - cacheLength: number; - match: Selectors.Matches; - find: Selectors.FindFunctions; - preFilter: Selectors.PreFilterFunctions; - filter: Selectors.FilterFunctions; - attrHandle: Selectors.AttrHandleFunctions; - pseudos: Selectors.PseudoFunctions; - setFilters: Selectors.SetFilterFunctions; - createPseudo(fn: Selectors.CreatePseudoFunction): Selectors.PseudoFunction; - } - - namespace Selectors { - interface Matches { - [name: string]: RegExp; - } - - interface FindFunction { - (match: RegExpMatchArray, context: Element | Document, isXML: boolean): Element[] | void; - } - - interface FindFunctions { - [name: string]: FindFunction; - } - - interface PreFilterFunction { - (match: RegExpMatchArray): string[]; - } - - interface PreFilterFunctions { - [name: string]: PreFilterFunction; - } - - interface FilterFunction { - (element: string, ...matches: string[]): boolean; - } - - interface FilterFunctions { - [name: string]: FilterFunction; - } - - interface AttrHandleFunction { - (elem: any, casePreservedName: string, isXML: boolean): string; - } - - interface AttrHandleFunctions { - [name: string]: AttrHandleFunction; - } - - interface PseudoFunction { - (elem: Element): boolean; - } - - interface PseudoFunctions { - [name: string]: PseudoFunction; - } - - interface SetFilterFunction { - (elements: Element[], argument: number, not: boolean): Element[]; - } - - interface SetFilterFunctions { - [name: string]: SetFilterFunction; - } - - interface CreatePseudoFunction { - (...args: any[]): PseudoFunction; - } - } -} // tslint:disable:jsdoc-format // tslint:disable:max-line-length // tslint:disable:no-irregular-whitespace @@ -26633,206 +26541,6 @@ $.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) ) */ when(...deferreds: any[]): JQuery.Promise; } -// tslint:disable:no-irregular-whitespace - -// tslint:disable-next-line:no-empty-interface -interface JQueryCallback extends JQuery.Callbacks { } -interface JQueryDeferred extends JQuery.Deferred { } -// tslint:disable-next-line:no-empty-interface -interface JQueryEventConstructor extends JQuery.EventStatic { } -interface JQueryDeferred extends JQuery.Deferred { } -// tslint:disable-next-line:no-empty-interface -interface JQueryAjaxSettings extends JQuery.AjaxSettings { } -interface JQueryAnimationOptions extends JQuery.EffectsOptions { } -// tslint:disable-next-line:no-empty-interface -interface JQueryCoordinates extends JQuery.Coordinates { } -interface JQueryGenericPromise extends JQuery.Thenable { } -// tslint:disable-next-line:no-empty-interface -interface JQueryXHR extends JQuery.jqXHR { } -interface JQueryPromise extends JQuery.Promise { } -// tslint:disable-next-line:no-empty-interface -interface JQuerySerializeArrayElement extends JQuery.NameValuePair { } - -/** - * @deprecated ​ Deprecated since 1.9. See \`{@link https://api.jquery.com/jQuery.support/ }\`. - */ -// tslint:disable-next-line:no-empty-interface -interface JQuerySupport extends JQuery.PlainObject { } - -// Legacy types that are not represented in the current type definitions are marked deprecated. - -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Deferred.Callback }\` or \`{@link JQuery.Deferred.CallbackBase }\`. - */ -interface JQueryPromiseCallback { - (value?: T, ...args: any[]): void; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQueryStatic.param JQueryStatic['param']}\`. - */ -interface JQueryParam { - /** - * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. - * @param obj An array or object to serialize. - * @param traditional A Boolean indicating whether to perform a traditional "shallow" serialization. - */ - (obj: any, traditional?: boolean): string; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface BaseJQueryEventObject extends Event { - /** - * The current DOM element within the event bubbling phase. - * @see \`{@link https://api.jquery.com/event.currentTarget/ }\` - */ - currentTarget: Element; - /** - * An optional object of data passed to an event method when the current executing handler is bound. - * @see \`{@link https://api.jquery.com/event.data/ }\` - */ - data: any; - /** - * The element where the currently-called jQuery event handler was attached. - * @see \`{@link https://api.jquery.com/event.delegateTarget/ }\` - */ - delegateTarget: Element; - /** - * Returns whether event.preventDefault() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isDefaultPrevented/ }\` - */ - isDefaultPrevented(): boolean; - /** - * Returns whether event.stopImmediatePropagation() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isImmediatePropagationStopped/ }\` - */ - isImmediatePropagationStopped(): boolean; - /** - * Returns whether event.stopPropagation() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isPropagationStopped/ }\` - */ - isPropagationStopped(): boolean; - /** - * The namespace specified when the event was triggered. - * @see \`{@link https://api.jquery.com/event.namespace/ }\` - */ - namespace: string; - /** - * The browser's original Event object. - * @see \`{@link https://api.jquery.com/category/events/event-object/ }\` - */ - originalEvent: Event; - /** - * If this method is called, the default action of the event will not be triggered. - * @see \`{@link https://api.jquery.com/event.preventDefault/ }\` - */ - preventDefault(): any; - /** - * The other DOM element involved in the event, if any. - * @see \`{@link https://api.jquery.com/event.relatedTarget/ }\` - */ - relatedTarget: Element; - /** - * The last value returned by an event handler that was triggered by this event, unless the value was undefined. - * @see \`{@link https://api.jquery.com/event.result/ }\` - */ - result: any; - /** - * Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. - * @see \`{@link https://api.jquery.com/event.stopImmediatePropagation/ }\` - */ - stopImmediatePropagation(): void; - /** - * Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. - * @see \`{@link https://api.jquery.com/event.stopPropagation/ }\` - */ - stopPropagation(): void; - /** - * The DOM element that initiated the event. - * @see \`{@link https://api.jquery.com/event.target/ }\` - */ - target: Element; - /** - * The mouse position relative to the left edge of the document. - * @see \`{@link https://api.jquery.com/event.pageX/ }\` - */ - pageX: number; - /** - * The mouse position relative to the top edge of the document. - * @see \`{@link https://api.jquery.com/event.pageY/ }\` - */ - pageY: number; - /** - * For key or mouse events, this property indicates the specific key or button that was pressed. - * @see \`{@link https://api.jquery.com/event.which/ }\` - */ - which: number; - /** - * Indicates whether the META key was pressed when the event fired. - * @see \`{@link https://api.jquery.com/event.metaKey/ }\` - */ - metaKey: boolean; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryInputEventObject extends BaseJQueryEventObject { - altKey: boolean; - ctrlKey: boolean; - metaKey: boolean; - shiftKey: boolean; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryMouseEventObject extends JQueryInputEventObject { - button: number; - clientX: number; - clientY: number; - offsetX: number; - offsetY: number; - pageX: number; - pageY: number; - screenX: number; - screenY: number; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryKeyEventObject extends JQueryInputEventObject { - /** @deprecated */ - char: string; - /** @deprecated */ - charCode: number; - key: string; - /** @deprecated */ - keyCode: number; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { } -/** - * @deprecated ​ Deprecated. - */ -interface JQueryPromiseOperator { - (callback1: JQuery.TypeOrArray>, - ...callbacksN: Array>>): JQueryPromise; -} -/** - * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. - */ -interface JQueryEasingFunction { - (percent: number): number; -} -/** - * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. - */ -interface JQueryEasingFunctions { - [name: string]: JQueryEasingFunction; - linear: JQueryEasingFunction; - swing: JQueryEasingFunction; -} // tslint:disable:jsdoc-format // tslint:disable:max-line-length // tslint:disable:no-irregular-whitespace @@ -33481,3 +33189,203 @@ interface SymbolConstructor { declare var Symbol: SymbolConstructor; // #endregion +// tslint:disable:no-irregular-whitespace + +// tslint:disable-next-line:no-empty-interface +interface JQueryCallback extends JQuery.Callbacks { } +interface JQueryDeferred extends JQuery.Deferred { } +// tslint:disable-next-line:no-empty-interface +interface JQueryEventConstructor extends JQuery.EventStatic { } +interface JQueryDeferred extends JQuery.Deferred { } +// tslint:disable-next-line:no-empty-interface +interface JQueryAjaxSettings extends JQuery.AjaxSettings { } +interface JQueryAnimationOptions extends JQuery.EffectsOptions { } +// tslint:disable-next-line:no-empty-interface +interface JQueryCoordinates extends JQuery.Coordinates { } +interface JQueryGenericPromise extends JQuery.Thenable { } +// tslint:disable-next-line:no-empty-interface +interface JQueryXHR extends JQuery.jqXHR { } +interface JQueryPromise extends JQuery.Promise { } +// tslint:disable-next-line:no-empty-interface +interface JQuerySerializeArrayElement extends JQuery.NameValuePair { } + +/** + * @deprecated ​ Deprecated since 1.9. See \`{@link https://api.jquery.com/jQuery.support/ }\`. + */ +// tslint:disable-next-line:no-empty-interface +interface JQuerySupport extends JQuery.PlainObject { } + +// Legacy types that are not represented in the current type definitions are marked deprecated. + +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Deferred.Callback }\` or \`{@link JQuery.Deferred.CallbackBase }\`. + */ +interface JQueryPromiseCallback { + (value?: T, ...args: any[]): void; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQueryStatic.param JQueryStatic['param']}\`. + */ +interface JQueryParam { + /** + * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + * @param obj An array or object to serialize. + * @param traditional A Boolean indicating whether to perform a traditional "shallow" serialization. + */ + (obj: any, traditional?: boolean): string; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface BaseJQueryEventObject extends Event { + /** + * The current DOM element within the event bubbling phase. + * @see \`{@link https://api.jquery.com/event.currentTarget/ }\` + */ + currentTarget: Element; + /** + * An optional object of data passed to an event method when the current executing handler is bound. + * @see \`{@link https://api.jquery.com/event.data/ }\` + */ + data: any; + /** + * The element where the currently-called jQuery event handler was attached. + * @see \`{@link https://api.jquery.com/event.delegateTarget/ }\` + */ + delegateTarget: Element; + /** + * Returns whether event.preventDefault() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isDefaultPrevented/ }\` + */ + isDefaultPrevented(): boolean; + /** + * Returns whether event.stopImmediatePropagation() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isImmediatePropagationStopped/ }\` + */ + isImmediatePropagationStopped(): boolean; + /** + * Returns whether event.stopPropagation() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isPropagationStopped/ }\` + */ + isPropagationStopped(): boolean; + /** + * The namespace specified when the event was triggered. + * @see \`{@link https://api.jquery.com/event.namespace/ }\` + */ + namespace: string; + /** + * The browser's original Event object. + * @see \`{@link https://api.jquery.com/category/events/event-object/ }\` + */ + originalEvent: Event; + /** + * If this method is called, the default action of the event will not be triggered. + * @see \`{@link https://api.jquery.com/event.preventDefault/ }\` + */ + preventDefault(): any; + /** + * The other DOM element involved in the event, if any. + * @see \`{@link https://api.jquery.com/event.relatedTarget/ }\` + */ + relatedTarget: Element; + /** + * The last value returned by an event handler that was triggered by this event, unless the value was undefined. + * @see \`{@link https://api.jquery.com/event.result/ }\` + */ + result: any; + /** + * Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. + * @see \`{@link https://api.jquery.com/event.stopImmediatePropagation/ }\` + */ + stopImmediatePropagation(): void; + /** + * Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. + * @see \`{@link https://api.jquery.com/event.stopPropagation/ }\` + */ + stopPropagation(): void; + /** + * The DOM element that initiated the event. + * @see \`{@link https://api.jquery.com/event.target/ }\` + */ + target: Element; + /** + * The mouse position relative to the left edge of the document. + * @see \`{@link https://api.jquery.com/event.pageX/ }\` + */ + pageX: number; + /** + * The mouse position relative to the top edge of the document. + * @see \`{@link https://api.jquery.com/event.pageY/ }\` + */ + pageY: number; + /** + * For key or mouse events, this property indicates the specific key or button that was pressed. + * @see \`{@link https://api.jquery.com/event.which/ }\` + */ + which: number; + /** + * Indicates whether the META key was pressed when the event fired. + * @see \`{@link https://api.jquery.com/event.metaKey/ }\` + */ + metaKey: boolean; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryInputEventObject extends BaseJQueryEventObject { + altKey: boolean; + ctrlKey: boolean; + metaKey: boolean; + shiftKey: boolean; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryMouseEventObject extends JQueryInputEventObject { + button: number; + clientX: number; + clientY: number; + offsetX: number; + offsetY: number; + pageX: number; + pageY: number; + screenX: number; + screenY: number; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ + char: string; + /** @deprecated */ + charCode: number; + key: string; + /** @deprecated */ + keyCode: number; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { } +/** + * @deprecated ​ Deprecated. + */ +interface JQueryPromiseOperator { + (callback1: JQuery.TypeOrArray>, + ...callbacksN: Array>>): JQueryPromise; +} +/** + * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. + */ +interface JQueryEasingFunction { + (percent: number): number; +} +/** + * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. + */ +interface JQueryEasingFunctions { + [name: string]: JQueryEasingFunction; + linear: JQueryEasingFunction; + swing: JQueryEasingFunction; +} diff --git a/libantosdk/build/debug/main.js b/libantosdk/build/debug/main.js index fabe88a..c5ee31f 100644 --- a/libantosdk/build/debug/main.js +++ b/libantosdk/build/debug/main.js @@ -1 +1 @@ -var OS;!function(t){let e;!function(e){class r{constructor(e){this.worker=new Worker(e.asFileHandle().getlink()),this.jobs={},this.worker.onmessage=t=>{let e=t.data,r=this.jobs[e.id];r?"log"===e.type?r.logger&&(e.error?r.logger.error(e.result):r.logger.info(e.result)):(r.callback(e),delete this.jobs[e.id]):console.log("Unable to identify result of job",e.id,e)};const r={};for(const e in t.setting.system.packages){const o=t.setting.system.packages[e];r[e]={path:o.path,name:o.pkgname}}this.submit("sdk-setup",{REST:t.API.REST,pkgs:r})}newJobID(){return"job_"+Math.random().toString(36).replace(".","")}exectue_job(t,e,r,o,s){const i=this.newJobID(),n={id:i,cmd:t,data:e,root:r};this.jobs[i]={callback:o,logger:s},this.worker.postMessage(n)}submit(t,e,r,o){return new Promise((s,i)=>{this.exectue_job(t,e,r,t=>{if(t.error)return i(t.error);s(t.result)},o)})}terminate(){this.worker.terminate()}}class o{constructor(t,e){this.root=e,this.logger=t,o.worker||(o.worker=new r("pkg://libantosdk/core/worker.js"))}require(t){return this.run("sdk-import",t.map(t=>t+".worker.js"))}compile(t,e){return new Promise(async(r,o)=>{try{await this.require([t]),r(await this.run(t+"-compile",e))}catch(t){o(__e(t))}})}run(t,e){return o.worker.submit(t,e,this.root,this.logger)}batch(t,e){return e.root&&(this.root=e.root),new Promise(async(r,o)=>{try{e.targets||o("No target found");for(const r of t){const t=e.targets[r];if(!t)return o(__("No target: "+r));if(t.depend&&await this.batch(t.depend,e),t.require&&await this.require(t.require),this.logger&&this.logger.info(__(`### RUNNING STAGE: ${r}###`).__()),t.jobs)for(const e of t.jobs)await this.run(e.name,e.data)}r(void 0)}catch(t){o(t)}})}}let s;e.AntOSDKBuilder=o,function(t){class e extends t.RemoteFileHandle{constructor(t){super(t);const e="pkg://libantosdk/"+this.genealogy.join("/");this.setPath(e.asFileHandle().path)}}t.SDKFileHandle=e,t.register("^sdk$",e)}(s=e.VFS||(e.VFS={}))}(e=t.API||(t.API={}))}(OS||(OS={})); \ No newline at end of file +var OS;!function(t){let e;!function(e){class r{constructor(e){this.worker=new Worker(e.asFileHandle().getlink()),this.jobs={},this.worker.onmessage=t=>{let e=t.data,r=this.jobs[e.id];r?"log"===e.type?r.logger&&(e.error?r.logger.error(e.result):r.logger.info(e.result)):(r.callback(e),delete this.jobs[e.id]):console.log("Unable to identify result of job",e.id,e)};const r={};for(const e in t.setting.system.packages){const o=t.setting.system.packages[e];r[e]={path:o.path,name:o.pkgname}}this.submit("sdk-setup",{REST:t.API.REST,pkgs:r})}newJobID(){return"job_"+Math.random().toString(36).replace(".","")}exectue_job(t,e,r,o,s){const i=this.newJobID(),n={id:i,cmd:t,data:e,root:r};this.jobs[i]={callback:o,logger:s},this.worker.postMessage(n)}submit(t,e,r,o){return new Promise((s,i)=>{this.exectue_job(t,e,r,t=>{if(t.error)return i(t.error);s(t.result)},o)})}terminate(){this.worker.terminate()}}class o{constructor(t,e){this.root=e,this.logger=t,o.worker||(o.worker=new r("pkg://libantosdk/core/worker.js"))}require(t){return this.run("sdk-import",t.map(t=>t+".worker.js"))}compile(t,e){return new Promise(async(r,o)=>{try{await this.require([t]),r(await this.run(t+"-compile",e))}catch(t){o(__e(t))}})}run(t,e){return o.worker.submit(t,e,this.root,this.logger)}batch(t,e){return e.root&&(this.root=e.root),new Promise(async(r,o)=>{try{e.targets||o("No target found");for(const r of t){const t=e.targets[r];if(!t)return o(__("No target: "+r));if(t.depend&&await this.batch(t.depend,e),t.require&&await this.require(t.require),this.logger&&this.logger.info(__(`### RUNNING STAGE: ${r}###`).__()),t.jobs)for(const e of t.jobs)await this.run(e.name,e.data)}r(void 0)}catch(t){o(t)}})}}let s;e.AntOSDKBuilder=o,function(t){class e extends t.RemoteFileHandle{constructor(t){super(t);const e="pkg://libantosdk/"+this.genealogy.join("/");this.setPath(e.asFileHandle().path)}}t.SDKFileHandle=e,t.register("^sdk$",e)}(s=e.VFS||(e.VFS={}))}(e=t.API||(t.API={}))}(OS||(OS={})),function(){}.call(this); \ No newline at end of file diff --git a/libantosdk/build/debug/scheme.html b/libantosdk/build/debug/scheme.html deleted file mode 100644 index 628c02b..0000000 --- a/libantosdk/build/debug/scheme.html +++ /dev/null @@ -1,16 +0,0 @@ - - -
- -
-
-
-
-
- - -
-
-
-
-
\ No newline at end of file diff --git a/libantosdk/build/release/libantosdk.zip b/libantosdk/build/release/libantosdk.zip index 6a5ec29e023012b1e6f6add883f3d67388b54270..b7ccd4b240150ca32b9b9147ae1ab65041705625 100644 GIT binary patch delta 53125 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 H#k>CpU-&pp delta 47533 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 -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 - -export as namespace Sizzle; - -declare const Sizzle: SizzleStatic; -export = Sizzle; - -interface SizzleStatic { - selectors: Sizzle.Selectors; - >(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike; - (selector: string, context?: Element | Document | DocumentFragment): Element[]; - // tslint:disable-next-line:ban-types - compile(selector: string): Function; - matchSelector(element: Element, selector: string): boolean; - matches(selector: string, elements: Element[]): Element[]; -} - -declare namespace Sizzle { - interface Selectors { - cacheLength: number; - match: Selectors.Matches; - find: Selectors.FindFunctions; - preFilter: Selectors.PreFilterFunctions; - filter: Selectors.FilterFunctions; - attrHandle: Selectors.AttrHandleFunctions; - pseudos: Selectors.PseudoFunctions; - setFilters: Selectors.SetFilterFunctions; - createPseudo(fn: Selectors.CreatePseudoFunction): Selectors.PseudoFunction; - } - - namespace Selectors { - interface Matches { - [name: string]: RegExp; - } - - interface FindFunction { - (match: RegExpMatchArray, context: Element | Document, isXML: boolean): Element[] | void; - } - - interface FindFunctions { - [name: string]: FindFunction; - } - - interface PreFilterFunction { - (match: RegExpMatchArray): string[]; - } - - interface PreFilterFunctions { - [name: string]: PreFilterFunction; - } - - interface FilterFunction { - (element: string, ...matches: string[]): boolean; - } - - interface FilterFunctions { - [name: string]: FilterFunction; - } - - interface AttrHandleFunction { - (elem: any, casePreservedName: string, isXML: boolean): string; - } - - interface AttrHandleFunctions { - [name: string]: AttrHandleFunction; - } - - interface PseudoFunction { - (elem: Element): boolean; - } - - interface PseudoFunctions { - [name: string]: PseudoFunction; - } - - interface SetFilterFunction { - (elements: Element[], argument: number, not: boolean): Element[]; - } - - interface SetFilterFunctions { - [name: string]: SetFilterFunction; - } - - interface CreatePseudoFunction { - (...args: any[]): PseudoFunction; - } - } -} // tslint:disable:jsdoc-format // tslint:disable:max-line-length // tslint:disable:no-irregular-whitespace @@ -26633,206 +26541,6 @@ $.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) ) */ when(...deferreds: any[]): JQuery.Promise; } -// tslint:disable:no-irregular-whitespace - -// tslint:disable-next-line:no-empty-interface -interface JQueryCallback extends JQuery.Callbacks { } -interface JQueryDeferred extends JQuery.Deferred { } -// tslint:disable-next-line:no-empty-interface -interface JQueryEventConstructor extends JQuery.EventStatic { } -interface JQueryDeferred extends JQuery.Deferred { } -// tslint:disable-next-line:no-empty-interface -interface JQueryAjaxSettings extends JQuery.AjaxSettings { } -interface JQueryAnimationOptions extends JQuery.EffectsOptions { } -// tslint:disable-next-line:no-empty-interface -interface JQueryCoordinates extends JQuery.Coordinates { } -interface JQueryGenericPromise extends JQuery.Thenable { } -// tslint:disable-next-line:no-empty-interface -interface JQueryXHR extends JQuery.jqXHR { } -interface JQueryPromise extends JQuery.Promise { } -// tslint:disable-next-line:no-empty-interface -interface JQuerySerializeArrayElement extends JQuery.NameValuePair { } - -/** - * @deprecated ​ Deprecated since 1.9. See \`{@link https://api.jquery.com/jQuery.support/ }\`. - */ -// tslint:disable-next-line:no-empty-interface -interface JQuerySupport extends JQuery.PlainObject { } - -// Legacy types that are not represented in the current type definitions are marked deprecated. - -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Deferred.Callback }\` or \`{@link JQuery.Deferred.CallbackBase }\`. - */ -interface JQueryPromiseCallback { - (value?: T, ...args: any[]): void; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQueryStatic.param JQueryStatic['param']}\`. - */ -interface JQueryParam { - /** - * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. - * @param obj An array or object to serialize. - * @param traditional A Boolean indicating whether to perform a traditional "shallow" serialization. - */ - (obj: any, traditional?: boolean): string; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface BaseJQueryEventObject extends Event { - /** - * The current DOM element within the event bubbling phase. - * @see \`{@link https://api.jquery.com/event.currentTarget/ }\` - */ - currentTarget: Element; - /** - * An optional object of data passed to an event method when the current executing handler is bound. - * @see \`{@link https://api.jquery.com/event.data/ }\` - */ - data: any; - /** - * The element where the currently-called jQuery event handler was attached. - * @see \`{@link https://api.jquery.com/event.delegateTarget/ }\` - */ - delegateTarget: Element; - /** - * Returns whether event.preventDefault() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isDefaultPrevented/ }\` - */ - isDefaultPrevented(): boolean; - /** - * Returns whether event.stopImmediatePropagation() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isImmediatePropagationStopped/ }\` - */ - isImmediatePropagationStopped(): boolean; - /** - * Returns whether event.stopPropagation() was ever called on this event object. - * @see \`{@link https://api.jquery.com/event.isPropagationStopped/ }\` - */ - isPropagationStopped(): boolean; - /** - * The namespace specified when the event was triggered. - * @see \`{@link https://api.jquery.com/event.namespace/ }\` - */ - namespace: string; - /** - * The browser's original Event object. - * @see \`{@link https://api.jquery.com/category/events/event-object/ }\` - */ - originalEvent: Event; - /** - * If this method is called, the default action of the event will not be triggered. - * @see \`{@link https://api.jquery.com/event.preventDefault/ }\` - */ - preventDefault(): any; - /** - * The other DOM element involved in the event, if any. - * @see \`{@link https://api.jquery.com/event.relatedTarget/ }\` - */ - relatedTarget: Element; - /** - * The last value returned by an event handler that was triggered by this event, unless the value was undefined. - * @see \`{@link https://api.jquery.com/event.result/ }\` - */ - result: any; - /** - * Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. - * @see \`{@link https://api.jquery.com/event.stopImmediatePropagation/ }\` - */ - stopImmediatePropagation(): void; - /** - * Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. - * @see \`{@link https://api.jquery.com/event.stopPropagation/ }\` - */ - stopPropagation(): void; - /** - * The DOM element that initiated the event. - * @see \`{@link https://api.jquery.com/event.target/ }\` - */ - target: Element; - /** - * The mouse position relative to the left edge of the document. - * @see \`{@link https://api.jquery.com/event.pageX/ }\` - */ - pageX: number; - /** - * The mouse position relative to the top edge of the document. - * @see \`{@link https://api.jquery.com/event.pageY/ }\` - */ - pageY: number; - /** - * For key or mouse events, this property indicates the specific key or button that was pressed. - * @see \`{@link https://api.jquery.com/event.which/ }\` - */ - which: number; - /** - * Indicates whether the META key was pressed when the event fired. - * @see \`{@link https://api.jquery.com/event.metaKey/ }\` - */ - metaKey: boolean; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryInputEventObject extends BaseJQueryEventObject { - altKey: boolean; - ctrlKey: boolean; - metaKey: boolean; - shiftKey: boolean; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryMouseEventObject extends JQueryInputEventObject { - button: number; - clientX: number; - clientY: number; - offsetX: number; - offsetY: number; - pageX: number; - pageY: number; - screenX: number; - screenY: number; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryKeyEventObject extends JQueryInputEventObject { - /** @deprecated */ - char: string; - /** @deprecated */ - charCode: number; - key: string; - /** @deprecated */ - keyCode: number; -} -/** - * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. - */ -interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { } -/** - * @deprecated ​ Deprecated. - */ -interface JQueryPromiseOperator { - (callback1: JQuery.TypeOrArray>, - ...callbacksN: Array>>): JQueryPromise; -} -/** - * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. - */ -interface JQueryEasingFunction { - (percent: number): number; -} -/** - * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. - */ -interface JQueryEasingFunctions { - [name: string]: JQueryEasingFunction; - linear: JQueryEasingFunction; - swing: JQueryEasingFunction; -} // tslint:disable:jsdoc-format // tslint:disable:max-line-length // tslint:disable:no-irregular-whitespace @@ -33481,3 +33189,203 @@ interface SymbolConstructor { declare var Symbol: SymbolConstructor; // #endregion +// tslint:disable:no-irregular-whitespace + +// tslint:disable-next-line:no-empty-interface +interface JQueryCallback extends JQuery.Callbacks { } +interface JQueryDeferred extends JQuery.Deferred { } +// tslint:disable-next-line:no-empty-interface +interface JQueryEventConstructor extends JQuery.EventStatic { } +interface JQueryDeferred extends JQuery.Deferred { } +// tslint:disable-next-line:no-empty-interface +interface JQueryAjaxSettings extends JQuery.AjaxSettings { } +interface JQueryAnimationOptions extends JQuery.EffectsOptions { } +// tslint:disable-next-line:no-empty-interface +interface JQueryCoordinates extends JQuery.Coordinates { } +interface JQueryGenericPromise extends JQuery.Thenable { } +// tslint:disable-next-line:no-empty-interface +interface JQueryXHR extends JQuery.jqXHR { } +interface JQueryPromise extends JQuery.Promise { } +// tslint:disable-next-line:no-empty-interface +interface JQuerySerializeArrayElement extends JQuery.NameValuePair { } + +/** + * @deprecated ​ Deprecated since 1.9. See \`{@link https://api.jquery.com/jQuery.support/ }\`. + */ +// tslint:disable-next-line:no-empty-interface +interface JQuerySupport extends JQuery.PlainObject { } + +// Legacy types that are not represented in the current type definitions are marked deprecated. + +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Deferred.Callback }\` or \`{@link JQuery.Deferred.CallbackBase }\`. + */ +interface JQueryPromiseCallback { + (value?: T, ...args: any[]): void; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQueryStatic.param JQueryStatic['param']}\`. + */ +interface JQueryParam { + /** + * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + * @param obj An array or object to serialize. + * @param traditional A Boolean indicating whether to perform a traditional "shallow" serialization. + */ + (obj: any, traditional?: boolean): string; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface BaseJQueryEventObject extends Event { + /** + * The current DOM element within the event bubbling phase. + * @see \`{@link https://api.jquery.com/event.currentTarget/ }\` + */ + currentTarget: Element; + /** + * An optional object of data passed to an event method when the current executing handler is bound. + * @see \`{@link https://api.jquery.com/event.data/ }\` + */ + data: any; + /** + * The element where the currently-called jQuery event handler was attached. + * @see \`{@link https://api.jquery.com/event.delegateTarget/ }\` + */ + delegateTarget: Element; + /** + * Returns whether event.preventDefault() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isDefaultPrevented/ }\` + */ + isDefaultPrevented(): boolean; + /** + * Returns whether event.stopImmediatePropagation() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isImmediatePropagationStopped/ }\` + */ + isImmediatePropagationStopped(): boolean; + /** + * Returns whether event.stopPropagation() was ever called on this event object. + * @see \`{@link https://api.jquery.com/event.isPropagationStopped/ }\` + */ + isPropagationStopped(): boolean; + /** + * The namespace specified when the event was triggered. + * @see \`{@link https://api.jquery.com/event.namespace/ }\` + */ + namespace: string; + /** + * The browser's original Event object. + * @see \`{@link https://api.jquery.com/category/events/event-object/ }\` + */ + originalEvent: Event; + /** + * If this method is called, the default action of the event will not be triggered. + * @see \`{@link https://api.jquery.com/event.preventDefault/ }\` + */ + preventDefault(): any; + /** + * The other DOM element involved in the event, if any. + * @see \`{@link https://api.jquery.com/event.relatedTarget/ }\` + */ + relatedTarget: Element; + /** + * The last value returned by an event handler that was triggered by this event, unless the value was undefined. + * @see \`{@link https://api.jquery.com/event.result/ }\` + */ + result: any; + /** + * Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. + * @see \`{@link https://api.jquery.com/event.stopImmediatePropagation/ }\` + */ + stopImmediatePropagation(): void; + /** + * Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. + * @see \`{@link https://api.jquery.com/event.stopPropagation/ }\` + */ + stopPropagation(): void; + /** + * The DOM element that initiated the event. + * @see \`{@link https://api.jquery.com/event.target/ }\` + */ + target: Element; + /** + * The mouse position relative to the left edge of the document. + * @see \`{@link https://api.jquery.com/event.pageX/ }\` + */ + pageX: number; + /** + * The mouse position relative to the top edge of the document. + * @see \`{@link https://api.jquery.com/event.pageY/ }\` + */ + pageY: number; + /** + * For key or mouse events, this property indicates the specific key or button that was pressed. + * @see \`{@link https://api.jquery.com/event.which/ }\` + */ + which: number; + /** + * Indicates whether the META key was pressed when the event fired. + * @see \`{@link https://api.jquery.com/event.metaKey/ }\` + */ + metaKey: boolean; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryInputEventObject extends BaseJQueryEventObject { + altKey: boolean; + ctrlKey: boolean; + metaKey: boolean; + shiftKey: boolean; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryMouseEventObject extends JQueryInputEventObject { + button: number; + clientX: number; + clientY: number; + offsetX: number; + offsetY: number; + pageX: number; + pageY: number; + screenX: number; + screenY: number; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryKeyEventObject extends JQueryInputEventObject { + /** @deprecated */ + char: string; + /** @deprecated */ + charCode: number; + key: string; + /** @deprecated */ + keyCode: number; +} +/** + * @deprecated ​ Deprecated. Use \`{@link JQuery.Event }\`. + */ +interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { } +/** + * @deprecated ​ Deprecated. + */ +interface JQueryPromiseOperator { + (callback1: JQuery.TypeOrArray>, + ...callbacksN: Array>>): JQueryPromise; +} +/** + * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. + */ +interface JQueryEasingFunction { + (percent: number): number; +} +/** + * @deprecated ​ Deprecated. Internal. See \`{@link https://github.com/jquery/api.jquery.com/issues/912 }\`. + */ +interface JQueryEasingFunctions { + [name: string]: JQueryEasingFunction; + linear: JQueryEasingFunction; + swing: JQueryEasingFunction; +} diff --git a/libantosdk/project.json b/libantosdk/project.json index ed741cc..c11e9c6 100644 --- a/libantosdk/project.json +++ b/libantosdk/project.json @@ -3,6 +3,6 @@ "css": [], "javascripts": [], "coffees": [], - "ts": ["ts/main.ts", "ts/test.ts"], - "copies": ["core","package.json", "scheme.html", "README.md"] + "ts": ["ts/main.ts"], + "copies": ["core","package.json", "README.md"] } \ No newline at end of file