Skip to content

Commit

Permalink
small size gain
Browse files Browse the repository at this point in the history
  • Loading branch information
unit-404 committed Oct 13, 2024
1 parent d80d994 commit 3140c60
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 43 deletions.
12 changes: 6 additions & 6 deletions src/Library/FLOW/ExChanger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,12 @@ export default class ExChanger {
}

//
get $imports() { return this.#flow?.$imports || {}; }
get $sync() { return this.#flow?.sync?.(); }
async sync() { await this.$sync; return this; }
/*@__PURE__*/ get /*@__PURE__*/ $imports() { return this.#flow?.$imports || {}; }
/*@__PURE__*/ get /*@__PURE__*/ $sync() { return this.#flow?.sync?.(); }
/*@__PURE__*/ async /*@__PURE__*/ sync() { await this.$sync; return this; }

//doOnlyAfterResolve
$makePromise<T extends unknown>(target: T|Promise<T>): IWrap<T>|null {
/*@__PURE__*/ $makePromise<T extends unknown>(target: T|Promise<T>): IWrap<T>|null {
//
try {
const ext = (target as any)?.[ORG.data] ?? target;
Expand All @@ -81,7 +81,7 @@ export default class ExChanger {
}

//
$act<T extends unknown>(result: T|Promise<T>, cb: (result: T) => void): IWrap<T>|null {
/*@__PURE__*/ $act<T extends unknown>(result: T|Promise<T>, cb: (result: T) => void): IWrap<T>|null {
try {
return this.$makePromise(doOnlyAfterResolve(result, cb));
} catch (e) {
Expand All @@ -91,7 +91,7 @@ export default class ExChanger {
}

//
$request<T extends unknown>(cmd: string, meta: unknown, args : unknown[]): IWrap<T>|null {
/*@__PURE__*/ $request<T extends unknown>(cmd: string, meta: unknown, args : unknown[]): IWrap<T>|null {
const transfer: unknown[] = [];
const encoded = this.#coder?.encode([cmd, meta, ...args], transfer) as any[];
const result = this.#flow?.callTask?.(encoded, transfer);
Expand Down
2 changes: 1 addition & 1 deletion src/Library/FLOW/FLOW.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
}

//
get $imports() {
/*@__PURE__*/ get /*@__PURE__*/ $imports() {
return this.#imports;
}

Expand Down
8 changes: 4 additions & 4 deletions src/Library/Handlers/DataHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ export default class DataHandler {
}

//
get $exc(): any { return null;};
/*@__PURE__*/ get /*@__PURE__*/ $exc(): any { return null;};

//
$data(target: unknown|string|null) { return target; };
$hnd(cmd: string, meta: unknown, ...args: unknown[]) {
/*@__PURE__*/ $data(target: unknown|string|null) { return target; };
/*@__PURE__*/ $hnd(cmd: string, meta: unknown, ...args: unknown[]) {
const ref: any = this.$data(meta);

// return meta as is
Expand Down Expand Up @@ -62,5 +62,5 @@ export default class DataHandler {
}

//
$get(_uuid: unknown|string|null): any { return null; };
/*@__PURE__*/ $get(_uuid: unknown|string|null): any { return null; };
}
6 changes: 3 additions & 3 deletions src/Library/Handlers/MemoryHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ export default class ObjectPoolMemberHandler extends DataHandler {
}

// there is may not be meta object
$data(t: unknown|string|null): any {
return super.$data((()=>{
/*@__PURE__*/ $data(t: unknown|string|null): any {
return /*@__PURE__*/ super.$data((()=>{
const wrap = (extract(t) ?? t) as any;
const uuid = (wrap as any)?.[ORG.uuid] ?? wrap ?? t;
if (typeof uuid == "string") {
Expand All @@ -29,7 +29,7 @@ export default class ObjectPoolMemberHandler extends DataHandler {
}

//
$get(t: unknown|string|null): any {
/*@__PURE__*/ $get(t: unknown|string|null): any {
const wrap = (extract(t) ?? t) as any;
const uuid = ((wrap as any)?.[ORG.uuid] ?? wrap) as string ?? t;
if (typeof uuid == "string") {
Expand Down
15 changes: 8 additions & 7 deletions src/Library/Handlers/PromiseHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@ export default class PromiseHandler extends DataHandler {
constructor() { super(); }

//
$data(target: unknown|Promise<unknown>) {
/*@__PURE__*/ $data(target: unknown|Promise<unknown>) {
return (isPromise((target as any)?.[ORG.data]) ? (target as any)?.[ORG.data] : target) ?? target;
}

//
$deferOp(target: unknown|Promise<unknown>, cb = (e: any)=>e) {
/*@__PURE__*/ $deferOp(target: unknown|Promise<unknown>, cb = (e: any)=>e) {
return doOnlyAfterResolve(target, cb) ?? target;
}

//
$wrapPromise<T extends unknown>(result: T|Promise<T>, handler: DataHandler|null = null): IWrap<T>|null {
/*@__PURE__*/ $wrapPromise<T extends unknown>(result: T|Promise<T>, handler: DataHandler|null = null): IWrap<T>|null {
return $wrapPromise(result, handler ?? this);
}

//
$hnd(cmd: string, meta: unknown, ...args: unknown[]) {
/*@__PURE__*/ $hnd(cmd: string, meta: unknown, ...args: unknown[]) {
// isn't promise itself
const data = this.$data(meta);
const data = /*@__PURE__*/ this.$data(meta);

//
if (cmd == "get") {
Expand Down Expand Up @@ -62,11 +62,12 @@ export default class PromiseHandler extends DataHandler {
}

//
$get(_uuid: unknown|string|null): any { return null; };
/*@__PURE__*/ $get(_uuid: unknown|string|null): any { return null; };
}

//
export const $wrapPromise = <T extends unknown>(result: T|Promise<T>, handler: DataHandler = new PromiseHandler()): IWrap<T>|null => {
/*@__PURE__*/
export const /*@__PURE__*/ $wrapPromise = <T extends unknown>(result: T|Promise<T>, handler: DataHandler = new PromiseHandler()): IWrap<T>|null => {
if (isPromise(result)) {
return new Proxy(MakeReference(result), new ObjectProxy(handler)) as IWrap<T>|null;
}
Expand Down
10 changes: 5 additions & 5 deletions src/Library/Handlers/RemoteHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
}

//
get $exc() { return this.#exChanger; }
/*@__PURE__*/ get /*@__PURE__*/ $exc() { return this.#exChanger; }

//
$data(t: unknown) { return extract(t) ?? t; }
$hnd(cmd: string, meta: unknown, ...args: unknown[]) {
const data: any = this.$data(meta);
/*@__PURE__*/ $data(t: unknown) { return extract(t) ?? t; }
/*@__PURE__*/ $hnd(cmd: string, meta: unknown, ...args: unknown[]) {
const data: any = /*@__PURE__*/ this.$data(meta);

// return meta as is
if (cmd == "get") {
Expand All @@ -40,5 +40,5 @@
}

//
$get(_: unknown|string|null): any { return null; };
/*@__PURE__*/ $get(_: unknown|string|null): any { return null; };
}
14 changes: 7 additions & 7 deletions src/Library/Handlers/UniversalHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@
}

//
get $exc() { return this.#dataHandler?.get?.("rmt")?.$exc; }
/*@__PURE__*/ get /*@__PURE__*/ $exc() { return this.#dataHandler?.get?.("rmt")?.$exc; }

//
$data(t: unknown | string | null): unknown {
/*@__PURE__*/ $data(t: unknown | string | null): unknown {
return (t as any)?.[ORG.data] ?? t;
}

//
$addHandler(name: string, handler: DataHandler) { this.#dataHandler.set(name, handler); }
$getHandler(name: string) { return this.#dataHandler.get(name); }
/*@__PURE__*/ $addHandler(name: string, handler: DataHandler) { this.#dataHandler.set(name, handler); }
/*@__PURE__*/ $getHandler(name: string) { return this.#dataHandler.get(name); }

//
$hnd(cmd = "access", t: any, ...args: unknown[]) {
const data: any = this.$data(t);
/*@__PURE__*/ $hnd(cmd = "access", t: any, ...args: unknown[]) {
const data: any = /*@__PURE__*/ this.$data(t);

// isn't promise itself
if (cmd == "get") {
Expand Down Expand Up @@ -65,7 +65,7 @@
}

//
$get(uuid: unknown|string|null) { return this.#dataHandler.get("loc")?.$get?.(uuid); };
/*@__PURE__*/ $get(uuid: unknown|string|null) { return this.#dataHandler.get("loc")?.$get?.(uuid); };
}

//
Expand Down
20 changes: 10 additions & 10 deletions src/Library/PreCoding/PreCoding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ export const hasMemoryBuffer = (target: any)=>{

/*@__PURE__*/
export default class PreCoding {
$encoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown>();
$decoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown>();
$mp = new UUIDMap();
$hndr = new UniversalHandler();
$typeDetector = new TypeDetector();
/*@__PURE__*/ $encoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown>();
/*@__PURE__*/ $decoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown>();
/*@__PURE__*/ $mp = new UUIDMap();
/*@__PURE__*/ $hndr = new UniversalHandler();
/*@__PURE__*/ $typeDetector = new TypeDetector();

//
constructor(memoryPool = new UUIDMap()) {
this.$mp = memoryPool;
this.$encoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown> ([
/*@__PURE__*/ this.$mp = memoryPool;
/*@__PURE__*/ this.$encoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>unknown> ([
["a", (organic: boolean, target: unknown, transfer: unknown[] = [])=>{
if (!organic) {
const encoded = Array.from((target as []) ||[]).map((e)=>this.encode(e, transfer));
Expand Down Expand Up @@ -124,7 +124,7 @@ export default class PreCoding {
]);

//
this.$decoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>boolean>([
/*@__PURE__*/ this.$decoder = new Map<string, (organic: boolean, target: unknown, transfer: unknown[])=>boolean>([
["a", (organic: boolean, target: unknown, transfer: unknown[] = [])=>{
if (!organic) {
const decoded = Array.from(target as []).map((e)=>this.decode(e, transfer));
Expand Down Expand Up @@ -170,7 +170,7 @@ export default class PreCoding {
}

//
$decode(target: unknown, transfer: unknown[] = []) {
/*@__PURE__*/ $decode(target: unknown, transfer: unknown[] = []) {
const [o, t] = this.$typeDetector.detectType(target, transfer);
if (this.$decoder.has(t)) {
return this.$decoder.get(t)?.(o, target, transfer) ?? target;
Expand All @@ -179,7 +179,7 @@ export default class PreCoding {
}

//
$encode(target: unknown, transfer: unknown[] = []) {
/*@__PURE__*/ $encode(target: unknown, transfer: unknown[] = []) {
const [o, t] = this.$typeDetector.detectType(target, transfer);
if (this.$encoder.has(t)) {
return this.$encoder.get(t)?.(o, target, transfer) ?? target;
Expand Down

0 comments on commit 3140c60

Please sign in to comment.