runtime-compiler 1.0.7 → 1.0.9

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.
package/README.md CHANGED
@@ -1,2 +1,5 @@
1
1
  # `runtime-compiler`
2
- Universal compiler system.
2
+ A code generation system for JS.
3
+
4
+ `runtime-compiler` combines all code generation process into one `Function` call.
5
+ This makes it possible to bypass startup time code generation using ahead of time compilation while also speeds up runtime code generation.
package/hydrate.js CHANGED
@@ -1 +1 @@
1
- import{compiledDependencies,externalDependencies}from"./index.js";export let hydrate=()=>{let n=[compiledDependencies].concat(externalDependencies);externalDependencies.length=0;return n};
1
+ import{clearHydration,compiledDependencies,externalDependencies}from"./index.js";export let hydrate=()=>{let r=[compiledDependencies].concat(externalDependencies);clearHydration();return r};
package/index.d.ts CHANGED
@@ -4,6 +4,11 @@ export type CompiledDependency<T> = number & [T];
4
4
  */
5
5
  export declare const injectDependency: (val: string) => string;
6
6
  /**
7
+ * Wait for a dependency to resolve
8
+ * @param name
9
+ */
10
+ export declare const waitDependency: (name: string) => void;
11
+ /**
7
12
  * Export a local dependency
8
13
  * @param name
9
14
  */
@@ -21,4 +26,20 @@ export declare const getDependency: <T>(idx: CompiledDependency<T>) => T;
21
26
  * Inject an external dependency
22
27
  */
23
28
  export declare const injectExternalDependency: (val: any) => string;
29
+ /**
30
+ * Clear compiler data
31
+ */
32
+ export declare const clear: () => void;
33
+ /**
34
+ * Clear compiler data in hydration
35
+ */
36
+ export declare const clearHydration: () => void;
37
+ /**
38
+ * Get evaluate code
39
+ */
40
+ export declare const evaluateCode: () => string;
41
+ /**
42
+ * Get external dependency names
43
+ */
44
+ export declare const externalDependencyNames: () => string;
24
45
  export declare const AsyncFunction: typeof Function;
package/index.js CHANGED
@@ -1 +1 @@
1
- export let compiledDependencies=[];export let externalDependencies=[];export let localDeps=``;let localDepsCnt=0;export let injectDependency=e=>{localDeps=localDeps===``?`let __`+localDepsCnt+`=`+e:localDeps+`,__`+localDepsCnt+`=`+e;return`__`+ localDepsCnt++};export let exportedDeps=``;let exportedDepsCnt=0;export let exportDependency=e=>{exportedDeps+=e+`,`;return exportedDepsCnt++};export let markExported=()=>exportedDepsCnt++;export let getDependency=d=>compiledDependencies[d];export let injectExternalDependency=e=>`_`+externalDependencies.push(e);export let AsyncFunction=(async()=>{}).constructor;
1
+ export let compiledDependencies=[];export let externalDependencies=[];export let localDeps=``;let localDepsCnt=0;export let injectDependency=e=>{localDeps=localDeps===``?`var __`+localDepsCnt+`=`+e:localDeps+`,__`+localDepsCnt+`=`+e;return`__`+ localDepsCnt++};export let asyncDeps=``;export let waitDependency=e=>{asyncDeps+=e+`,`};export let exportedDeps=``;let exportedDepsCnt=0;export let exportDependency=e=>{exportedDeps+=e+`,`;return exportedDepsCnt++};export let markExported=()=>exportedDepsCnt++;export let getDependency=g=>compiledDependencies[g];export let injectExternalDependency=e=>`_`+externalDependencies.push(e);export let clear=()=>{externalDependencies.length=0;localDeps=``;localDepsCnt=0;exportedDeps=``;exportedDepsCnt=0};export let clearHydration=()=>{externalDependencies.length=0;exportedDepsCnt=0};export let evaluateCode=()=>`{`+localDeps+(asyncDeps===``?`;_.push(`:`;[`+asyncDeps+`]=await Promise.all([`+asyncDeps+`]);_.push(`)+exportedDeps+`)}`;export let externalDependencyNames=()=>{let e=`_,`;for(let _=0;_<externalDependencies.length;_++)e+=`_`+(_+1)+`,`;return e};export let AsyncFunction=(async()=>{}).constructor;
package/jit.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export declare const evaluateCode: () => string;
2
- export declare const externalDependencyNames: () => string;
1
+ export declare const evaluateToString: () => string;
3
2
  export declare const evaluateSync: () => void;
4
3
  export declare const evaluate: () => Promise<void>;
5
- export declare const evaluateToString: () => string;
package/jit.js CHANGED
@@ -1 +1 @@
1
- import{AsyncFunction,compiledDependencies,exportedDeps,externalDependencies,localDeps}from"./index.js";export let evaluateCode=()=>`{`+localDeps+`;_.push(`+exportedDeps+`)}`;export let externalDependencyNames=()=>{let e=`_,`;for(let l=0;l<externalDependencies.length;l++)e+=`_`+(l+1)+`,`;return e};export let evaluateSync=()=>{Function(externalDependencyNames(),evaluateCode())(compiledDependencies,...externalDependencies);externalDependencies.length=0};export let evaluate=async()=>{await AsyncFunction(externalDependencyNames(),evaluateCode())(compiledDependencies,...externalDependencies);externalDependencies.length=0};export let evaluateToString=()=>`(`+externalDependencyNames()+`)=>`+evaluateCode();
1
+ import{AsyncFunction,clear,compiledDependencies,evaluateCode,externalDependencies,externalDependencyNames}from"./index.js";export let evaluateToString=()=>`(`+externalDependencyNames()+`)=>`+evaluateCode();export let evaluateSync=()=>{Function(externalDependencyNames(),evaluateCode())(compiledDependencies,...externalDependencies);clear()};export let evaluate=async()=>{await AsyncFunction(externalDependencyNames(),evaluateCode())(compiledDependencies,...externalDependencies);clear()};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runtime-compiler",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Universal compiler system",
5
5
  "keywords": [],
6
6
  "repository": {},
@@ -8,10 +8,10 @@
8
8
  "license": "MIT",
9
9
  "type": "module",
10
10
  "exports": {
11
- "./jit": "./jit.js",
12
- "./config": "./config.js",
13
- "./hydrate-loader": "./hydrate-loader.js",
14
11
  ".": "./index.js",
15
- "./hydrate": "./hydrate.js"
12
+ "./hydrate": "./hydrate.js",
13
+ "./hydrate-loader": "./hydrate-loader.js",
14
+ "./config": "./config.js",
15
+ "./jit": "./jit.js"
16
16
  }
17
17
  }