noitajs
Advanced tools
Comparing version 1.0.0 to 1.0.1
115
noita-dev.ts
@@ -21,2 +21,6 @@ import * as _ from "lodash"; | ||
constructor (options: sobject) { | ||
// firs of all check if any callback has been set | ||
// if one found then call it once the promise has finished | ||
let args = Array.prototype.slice.call(arguments, 1); | ||
let callback = Array.prototype.shift.call(args); | ||
// prevent any extension on settings | ||
@@ -27,7 +31,7 @@ Object.preventExtensions(this.settings); | ||
// then start the scope | ||
animate.prototype.start( this.settings ); | ||
animate.prototype.start( this.settings, callback ); | ||
} | ||
/* starts the animation process */ | ||
start (settings) { | ||
start (settings, callback = undefined) { | ||
// check if this settings has any properties first | ||
@@ -45,4 +49,35 @@ if ( _.isEmpty(settings.properties) || !_.isObject(settings.properties) ) { | ||
// now affect the style into the element | ||
styleString += ";transition: all " + settings.transition + " " + settings.duration + settings.timing; | ||
// start the animation | ||
elem.setAttribute('style', styleString); | ||
elem.style.webkitTransition = "all " + settings.transition + " " + settings.duration + settings.timing; | ||
// sleep for some time | ||
let sleep = animate.prototype.await( animate.prototype.timing( settings.duration, settings.timing, "ms" ).time ); | ||
// fulfill the sleep promise | ||
sleep.then( | ||
function (value) | ||
{ | ||
// call the complete function | ||
if ( undefined == callback ) | ||
{ | ||
settings.complete.call(this, settings, null); | ||
} | ||
else if ( typeof callback === "function" ) | ||
{ | ||
callback.call(this, settings, null); | ||
} | ||
} | ||
).catch( | ||
function (error) | ||
{ | ||
// call the complete function | ||
if ( undefined == callback ) | ||
{ | ||
settings.complete.call(this, settings, error); | ||
} | ||
else if ( typeof callback === "function" ) | ||
{ | ||
callback.call(this, settings, error); | ||
} | ||
} | ||
); | ||
} | ||
@@ -53,2 +88,76 @@ ); | ||
/* sleep promise es5 support */ | ||
await (duration:number) { | ||
return new Promise( (resolve, reject) => window.setTimeout(() => { | ||
// if the browser is IE then just return a catchable error | ||
if ( navigator.appName == 'Microsoft Internet Explorer' || !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) ) | ||
{ | ||
reject( new Error("You are using IE, this browser is not supported by Noita Animation prototype, please wait until a new version is out to fix the problem.") ); | ||
} | ||
else | ||
{ | ||
resolve(); | ||
} | ||
}, duration) ); | ||
} | ||
/* convert the time to the exact duration */ | ||
timing (duration:number, from:string, to:string) { | ||
// convert ms to a chosen timing unit | ||
let mstounit = (n, unit:string) => { | ||
switch (unit) { | ||
case "s": | ||
n = Math.round(duration / 1000); | ||
break; | ||
case "m": | ||
n = Math.round( (duration / 1000) / 60 ); | ||
break; | ||
default: | ||
break; | ||
} | ||
return n; | ||
}; | ||
// convert s to unit | ||
let stounit = (n, unit:string) => { | ||
switch (unit) { | ||
case "ms": | ||
n = Math.round(duration * 1000); | ||
break; | ||
case "m": | ||
n = Math.round(duration / 60); | ||
break; | ||
default: | ||
break; | ||
} | ||
return n; | ||
}; | ||
// convert m to unit | ||
let mtounit = (n, unit:string) => { | ||
switch (unit) { | ||
case "ms": | ||
n = Math.round( (duration * 60) * 1000 ); | ||
break; | ||
case "s": | ||
n = Math.round(duration * 60); | ||
break; | ||
default: | ||
break; | ||
} | ||
return n; | ||
}; | ||
// convert now the duration | ||
if ( from === "ms" ) { | ||
duration = mstounit(duration, to); | ||
} else if ( from === "s" ) { | ||
duration = stounit(duration, to); | ||
} else if ( from === "m" ) { | ||
duration = mtounit(duration, to); | ||
} | ||
return {time: duration, unit: to}; | ||
} | ||
} | ||
@@ -55,0 +164,0 @@ |
{ | ||
"name": "noitajs", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Gives a smooth animation to your website components", | ||
@@ -8,3 +8,3 @@ "main": "noita.js", | ||
"lodash": "^4.17.4", | ||
"webpack": "^1.14.0" | ||
"webpack": "^2.2.0" | ||
}, | ||
@@ -14,3 +14,3 @@ "devDependencies": { | ||
"amd-define-factory-patcher-loader": "^1.0.0", | ||
"babel": "^6.5.2", | ||
"babel-cli": "^6.22.2", | ||
"babel-core": "^6.21.0", | ||
@@ -23,3 +23,2 @@ "babel-loader": "^6.2.10", | ||
"jquery": "^3.1.1", | ||
"lodash": "^4.17.4", | ||
"path": "^0.12.7", | ||
@@ -29,3 +28,3 @@ "sizzle": "^2.3.3", | ||
"typescript": "^2.1.4", | ||
"webpack": "^1.14.0" | ||
"webpack-dev-server": "^2.3.0" | ||
}, | ||
@@ -48,3 +47,3 @@ "scripts": { | ||
"author": "Jeffery Hussin", | ||
"license": "ISC", | ||
"license": "MIT", | ||
"bugs": { | ||
@@ -51,0 +50,0 @@ "url": "https://github.com/JefferyHus/noitajs/issues" |
# noitajs | ||
[![Build Status](https://travis-ci.org/JefferyHus/noitajs.svg?branch=1.0.1-alpha)](https://travis-ci.org/JefferyHus/noitajs) [![GitHub version](https://badge.fury.io/gh/JefferyHus%2Fnoitajs.svg)](https://badge.fury.io/gh/JefferyHus%2Fnoitajs) [![GitHub release](https://img.shields.io/badge/release-1.0.1--alpha-blue.svg)] | ||
[![Build Status](https://travis-ci.org/JefferyHus/noitajs.svg?branch=1.0.1-alpha)](https://travis-ci.org/JefferyHus/noitajs) [![npm version](https://badge.fury.io/js/noitajs.svg)](https://badge.fury.io/js/noitajs) ![GitHub release](https://img.shields.io/badge/release-1.0.1--alpha-blue.svg) | ||
@@ -5,0 +5,0 @@ Description |
@@ -17,4 +17,4 @@ { | ||
"exclude": [ | ||
"./node_modules", "CachedData", "GPUCache", "Local Storage", "User" | ||
"./node_modules" | ||
] | ||
} |
@@ -0,0 +0,0 @@ { |
/// <reference path="modules/lodash/index.d.ts" /> |
@@ -0,0 +0,0 @@ { |
@@ -7,28 +7,38 @@ { | ||
entry: { | ||
js: './noita-dev.ts' | ||
noita: './noita-dev.ts' | ||
}, | ||
output: { | ||
path: './dist', | ||
path: path.resolve(__dirname, './dist'), | ||
library: 'noita', | ||
filename: 'noita.js' | ||
filename: '[name].bundle.js' | ||
}, | ||
devServer: { | ||
contentBase: path.join(__dirname, "./"), | ||
compress: true, | ||
port: 9000 | ||
}, | ||
module: { | ||
loaders: [ | ||
{test: /\.ts$/, loader: 'babel-loader!ts-loader', exclude: [/node_modules/, /typings/]}, | ||
rules: [ | ||
{test: /\.ts$/, use: ['babel-loader','ts-loader'], exclude: [/node_modules/, /typings/]}, | ||
{test: /jquery[\\\/]src[\\\/]selector\.js$/, loader: 'amd-define-factory-patcher-loader'}, | ||
{test: /\.js$/, loader: 'babel-loader', query: {presets: ['es2015']}, exclude: [/node_modules/, /typings/]} | ||
{test: /\.js$/, loader: 'babel-loader', options: {presets: ['es2015']}, exclude: [/node_modules/, /typings/]} | ||
] | ||
}, | ||
resolve: { | ||
extensions: ['', '.js', '.ts'] | ||
extensions: ['.js', '.ts'], | ||
enforceExtension: false | ||
}/*, | ||
devtool: "source-map", | ||
plugins: [ | ||
new webpack.optimize.UglifyJsPlugin({ | ||
new UglifyJsPlugin({ | ||
compress: { | ||
warnings: false | ||
warnings: true | ||
}, | ||
sourceMap: false | ||
sourceMap: true | ||
}) | ||
new webpack.LoaderOptionsPlugin({ | ||
minimize: true | ||
}) | ||
]*/ | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Uses eval
Supply chain riskPackage uses eval() which is a dangerous function. This prevents the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
SPDX disjunction
LicenseSPDX disjunction for an artifact's license information
Found 1 instance in 1 package
SPDX disjunction
LicenseSPDX disjunction for an artifact's license information
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
1660567
15
1
50358
5
+ Addedacorn@4.0.135.7.4(transitive)
+ Addedacorn-dynamic-import@2.0.2(transitive)
+ Addedajv@4.11.8(transitive)
+ Addedajv-keywords@1.5.1(transitive)
+ Addedansi-regex@2.1.1(transitive)
+ Addedanymatch@2.0.03.1.3(transitive)
+ Addedasn1.js@4.10.1(transitive)
+ Addedasync@2.6.4(transitive)
+ Addedbinary-extensions@2.3.0(transitive)
+ Addedbn.js@4.12.05.2.1(transitive)
+ Addedbraces@3.0.3(transitive)
+ Addedbrorand@1.1.0(transitive)
+ Addedbrowserify-aes@1.2.0(transitive)
+ Addedbrowserify-cipher@1.0.1(transitive)
+ Addedbrowserify-des@1.0.2(transitive)
+ Addedbrowserify-rsa@4.1.0(transitive)
+ Addedbrowserify-sign@4.2.3(transitive)
+ Addedbrowserify-zlib@0.2.0(transitive)
+ Addedbuffer-xor@1.0.3(transitive)
+ Addedcamelcase@3.0.0(transitive)
+ Addedchokidar@2.1.83.6.0(transitive)
+ Addedcipher-base@1.0.4(transitive)
+ Addedcliui@3.2.0(transitive)
+ Addedco@4.6.0(transitive)
+ Addedcode-point-at@1.1.0(transitive)
+ Addedcreate-ecdh@4.0.4(transitive)
+ Addedcreate-hash@1.2.0(transitive)
+ Addedcreate-hmac@1.1.7(transitive)
+ Addedcrypto-browserify@3.12.0(transitive)
+ Addeddes.js@1.1.0(transitive)
+ Addeddiffie-hellman@5.0.3(transitive)
+ Addedelliptic@6.5.5(transitive)
+ Addedenhanced-resolve@3.4.1(transitive)
+ Addederror-ex@1.3.2(transitive)
+ Addedevents@3.3.0(transitive)
+ Addedevp_bytestokey@1.0.3(transitive)
+ Addedfill-range@7.1.1(transitive)
+ Addedfind-up@1.1.2(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedget-caller-file@1.0.3(transitive)
+ Addedglob-parent@3.1.05.1.2(transitive)
+ Addedhash-base@3.0.4(transitive)
+ Addedhash.js@1.1.7(transitive)
+ Addedhmac-drbg@1.0.1(transitive)
+ Addedhosted-git-info@2.8.9(transitive)
+ Addedhttps-browserify@1.0.0(transitive)
+ Addedinterpret@1.4.0(transitive)
+ Addedinvert-kv@1.0.0(transitive)
+ Addedis-arrayish@0.2.1(transitive)
+ Addedis-binary-path@2.1.0(transitive)
+ Addedis-core-module@2.13.1(transitive)
+ Addedis-extglob@2.1.1(transitive)
+ Addedis-fullwidth-code-point@1.0.0(transitive)
+ Addedis-glob@3.1.04.0.3(transitive)
+ Addedis-number@7.0.0(transitive)
+ Addedis-utf8@0.2.1(transitive)
+ Addedisarray@2.0.5(transitive)
+ Addedjson-loader@0.5.7(transitive)
+ Addedjson-stable-stringify@1.1.1(transitive)
+ Addedjsonify@0.0.1(transitive)
+ Addedlcid@1.0.0(transitive)
+ Addedload-json-file@1.1.0(transitive)
+ Addedloader-runner@2.4.0(transitive)
+ Addedmd5.js@1.3.5(transitive)
+ Addedmemory-fs@0.4.1(transitive)
+ Addedmiller-rabin@4.0.1(transitive)
+ Addedminimalistic-assert@1.0.1(transitive)
+ Addedminimalistic-crypto-utils@1.0.1(transitive)
+ Addedneo-async@2.6.2(transitive)
+ Addednode-libs-browser@2.2.1(transitive)
+ Addednormalize-package-data@2.5.0(transitive)
+ Addednormalize-path@3.0.0(transitive)
+ Addednumber-is-nan@1.0.1(transitive)
+ Addedos-browserify@0.3.0(transitive)
+ Addedos-locale@1.4.0(transitive)
+ Addedpako@1.0.11(transitive)
+ Addedparse-asn1@5.1.7(transitive)
+ Addedparse-json@2.2.0(transitive)
+ Addedpath-browserify@0.0.1(transitive)
+ Addedpath-dirname@1.0.2(transitive)
+ Addedpath-exists@2.1.0(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedpath-type@1.1.0(transitive)
+ Addedpbkdf2@3.1.2(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedpify@2.3.0(transitive)
+ Addedpinkie@2.0.4(transitive)
+ Addedpinkie-promise@2.0.1(transitive)
+ Addedpublic-encrypt@4.0.3(transitive)
+ Addedrandombytes@2.1.0(transitive)
+ Addedrandomfill@1.0.4(transitive)
+ Addedread-pkg@1.1.0(transitive)
+ Addedread-pkg-up@1.0.1(transitive)
+ Addedreaddirp@3.6.0(transitive)
+ Addedrequire-directory@2.1.1(transitive)
+ Addedrequire-main-filename@1.0.1(transitive)
+ Addedresolve@1.22.8(transitive)
+ Addedripemd160@2.0.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsemver@5.7.2(transitive)
+ Addedset-blocking@2.0.0(transitive)
+ Addedsha.js@2.4.11(transitive)
+ Addedsource-list-map@2.0.1(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedspdx-correct@3.2.0(transitive)
+ Addedspdx-exceptions@2.5.0(transitive)
+ Addedspdx-expression-parse@3.0.1(transitive)
+ Addedspdx-license-ids@3.0.18(transitive)
+ Addedstring-width@1.0.2(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-ansi@3.0.1(transitive)
+ Addedstrip-bom@2.0.0(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)
+ Addedtapable@0.2.9(transitive)
+ Addedto-regex-range@5.0.1(transitive)
+ Addeduglify-js@2.8.29(transitive)
+ Addedupath@1.2.0(transitive)
+ Addedutil@0.11.1(transitive)
+ Addedvalidate-npm-package-license@3.0.4(transitive)
+ Addedvm-browserify@1.1.2(transitive)
+ Addedwatchpack@1.7.5(transitive)
+ Addedwatchpack-chokidar2@2.0.1(transitive)
+ Addedwebpack@2.7.0(transitive)
+ Addedwebpack-sources@1.4.3(transitive)
+ Addedwhich-module@1.0.0(transitive)
+ Addedwrap-ansi@2.1.0(transitive)
+ Addedy18n@3.2.2(transitive)
+ Addedyargs@6.6.0(transitive)
+ Addedyargs-parser@4.2.1(transitive)
- Removedacorn@3.3.0(transitive)
- Removedamdefine@1.0.1(transitive)
- Removedanymatch@1.3.2(transitive)
- Removedarr-diff@2.0.0(transitive)
- Removedarray-unique@0.2.1(transitive)
- Removedasync@0.2.100.9.21.5.2(transitive)
- Removedbraces@1.8.5(transitive)
- Removedbrowserify-aes@0.4.0(transitive)
- Removedbrowserify-zlib@0.1.4(transitive)
- Removedchokidar@1.7.0(transitive)
- Removedclone@1.0.4(transitive)
- Removedcrypto-browserify@3.3.0(transitive)
- Removedenhanced-resolve@0.9.1(transitive)
- Removedevents@1.1.1(transitive)
- Removedexpand-brackets@0.1.5(transitive)
- Removedexpand-range@1.8.2(transitive)
- Removedextglob@0.3.2(transitive)
- Removedfilename-regex@2.0.1(transitive)
- Removedfill-range@2.2.4(transitive)
- Removedfor-own@0.1.5(transitive)
- Removedglob-base@0.3.0(transitive)
- Removedglob-parent@2.0.0(transitive)
- Removedhttps-browserify@0.0.1(transitive)
- Removedindexof@0.0.1(transitive)
- Removedinterpret@0.6.6(transitive)
- Removedis-dotfile@1.0.3(transitive)
- Removedis-equal-shallow@0.1.3(transitive)
- Removedis-extglob@1.0.0(transitive)
- Removedis-glob@2.0.1(transitive)
- Removedis-number@2.1.04.0.0(transitive)
- Removedis-posix-bracket@0.1.1(transitive)
- Removedis-primitive@2.0.0(transitive)
- Removedmath-random@1.0.4(transitive)
- Removedmemory-fs@0.2.00.3.0(transitive)
- Removedmicromatch@2.3.11(transitive)
- Removedminimist@0.0.10(transitive)
- Removednode-libs-browser@0.7.0(transitive)
- Removedobject.omit@2.0.1(transitive)
- Removedoptimist@0.6.1(transitive)
- Removedos-browserify@0.2.1(transitive)
- Removedpako@0.2.9(transitive)
- Removedparse-glob@3.0.4(transitive)
- Removedpath-browserify@0.0.0(transitive)
- Removedpbkdf2-compat@2.0.1(transitive)
- Removedpreserve@0.2.0(transitive)
- Removedrandomatic@3.1.1(transitive)
- Removedregex-cache@0.4.4(transitive)
- Removedripemd160@0.2.0(transitive)
- Removedsha.js@2.2.6(transitive)
- Removedsource-list-map@0.1.8(transitive)
- Removedsource-map@0.4.4(transitive)
- Removedstring_decoder@0.10.31(transitive)
- Removedtapable@0.1.10(transitive)
- Removeduglify-js@2.7.5(transitive)
- Removedvm-browserify@0.0.4(transitive)
- Removedwatchpack@0.2.9(transitive)
- Removedwebpack@1.15.0(transitive)
- Removedwebpack-core@0.6.9(transitive)
- Removedwordwrap@0.0.3(transitive)
Updatedwebpack@^2.2.0