classtrophobic-es5

WebJar for classtrophobic-es5

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

classtrophobic-es5
Last Version

Last Version

0.2.1
Release Date

Release Date

Type

Type

jar
Description

Description

classtrophobic-es5
WebJar for classtrophobic-es5
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/WebReflection/classtrophobic-es5

Download classtrophobic-es5

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/classtrophobic-es5/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>classtrophobic-es5</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/classtrophobic-es5/
implementation 'org.webjars.npm:classtrophobic-es5:0.2.1'
// https://jarcasting.com/artifacts/org.webjars.npm/classtrophobic-es5/
implementation ("org.webjars.npm:classtrophobic-es5:0.2.1")
'org.webjars.npm:classtrophobic-es5:jar:0.2.1'
<dependency org="org.webjars.npm" name="classtrophobic-es5" rev="0.2.1">
  <artifact name="classtrophobic-es5" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='classtrophobic-es5', version='0.2.1')
)
libraryDependencies += "org.webjars.npm" % "classtrophobic-es5" % "0.2.1"
[org.webjars.npm/classtrophobic-es5 "0.2.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Classtrophobic ES5 build status Coverage Status

Project Classtrophobic can work on older browsers too.

No class or Proxy used in here, and the only caveat is that subclasses with a constructor must return the super instance.

var List = Class({
  extends: Array,
  constructor: function () {
    // super might promote current instance
    var self = this.super();
    // be sure you use the right reference
    self.push.apply(self, arguments);
    // and remember to return it
    return self;
  },
  push: function () {
    // constructor a part, everything else is the same
    this.super.push.apply(this, arguments);
    // make push chainable for demo purpose
    return this;
  }
});

Which Version For My Targets?

You can test live both classtrophobic and classtrophobic-es5. If the page turns out green, you're good to go!

The main difference is that ES5 version has a greedy runtime when it comes to super usage, while this original version uses real classes and delegate to Proxy access the super resolution, working only when a method is accessed and per single method, as opposite of runtime setup for all methods in the es5 case.

Luckily overrides are not the most frequent thing ever.

Requirements

At least the annex B __proto__ accessor should be there. This means pretty much every Mobile browser and every Desktop one, starting from IE11.

Versions

Version
0.2.1