Socket
Socket
Sign inDemoInstall

aot

Package Overview
Dependencies
0
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    aot

wait some condition before do something.


Version published
Weekly downloads
51
decreased by-23.88%
Maintainers
1
Install size
21.2 kB
Created
Weekly downloads
 

Readme

Source

AOT

usage

Wait

wait some condition before do something.

import { AOT_Placeholder, AOT } from 'aot';

class DB_Base {
    constructor(){
        this._db_init = this.initConnect()
    }
    protected _db_init:Promise<void>
    async initConnect(){
        // connect database in async
    }
}

class MyDB extends DB_Base {
    private _init_aot = new AOT("init my db");
    constructor(){
        super();
        // replace the placeholder, function now in JIT mode.
        this._init_aot.autoRegister(this);

        this._db_init.then(()=>{
            // complie the code Ahead-of-time
            this._init_aot.compile(true);
        });
    }

    @AOT_Placeholder.Wait("_db_init") // the insert code would run after this._db_init resolved.
    async insert(){
        // do something
    }
}

Then

replace some function if condition is false.

class FileSystem_Shim {
    private async _writeFile_idb(){
        // write file from indexeddb 
    }
}

class FileSystem extends FileSystem_Shim{
    private _can_fs = new AOT('RequestFileSystem');
    constructor(){
        super();
        this._can_fs.autoRegister(this);

        this._can_fs.compile('webkitRequestFileSystem' in self||'requestFileSystem' in self);
    }
    @AOT_Placeholder.Then('_writeFile_idb')// if condition is false, use the 'Then' function
    async writeFile(){
        // write file by using fileSystem API
    }
}

you can use Wait before Then. have fun.

FAQs

Last updated on 05 Oct 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc