Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A collection of ES5 shims for polyfiling Exendscript

NotificationsYou must be signed in to change notification settings

ExtendScript/extendscript-es5-shim

Repository files navigation

All Contributors

A collection of ES5 shims for polyfiling Exendscript (for es6 shims take a look athttps://github.com/ExtendScript/extendscript-es6-shim)

Installation

npm init -ynpm install extendscript-es5-shim

Usage

Array, String and Function notes

All polyfills could be used in your code.

Object notes

Because it is impossible to emulate property descriptors in ES3 engine, the following functions are just a mocks and you should avoid to use them in your code if it is possible, only shim thirdparty libraries:

defineProperty, defineProperties

Supports onlydata descriptor.Writable,enumerable andconfigurable properties of descriptor are ignored. If you try to defineset orget propperty this methods will throw an error.

getOwnPropertyDescriptor

Supports onlydata descriptor.Configurable property of descriptor is alwaysTRUE.Enumerable andwritable properties of descriptor will be alwaysTRUE on user defined objects, but may vary on build in.

freeze, preventExtensions, seal

Only validate input parameter and return input if it is an object.

isExtensible, isFrozen, isSealed

Validates input and returnsTRUE, FALSE, FALSE, respectively if input parametr is an object.

These functions you can use in your code:

create

Support of property descriptor is in the same level as indefineProperty. Although, you can use this function in your code like this:

varobj1={a :1};varobj2=Object.create(obj1,{b :{value :2}});

or like that:

varobj1={a :1};varobj2=Object.create(obj1);obj2.b=2;

getOwnPropertyNames

This function uses reflection interface, that ExtendScript provides (see JavaScript Tools Guide), to get own properties of an object (enumerable or not). But ther is no guarantee that the order of enumeration will be the same as infor in loop.

keys

Usefor in loop along withhasOwnProperty function to get own enumerable properties in object.

getPrototypeOf

Use build in__proto__ property as return value.

Development

  • Install the devDependencies by runningnpm install
  • Bundle the index.js by runningnpm run bundle
  • Add new prototypes in the respective folders
  • If you need new folders, add the folder to the top of./bin/concat.js into thefolders array

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Manuel

💻

EugenTepin

💻

Michael Deal

💻

Andy Dayton

💻

Todd Fast

💻

silmelumenn

💻

Fabian Morón Zirfas

💻

This project follows theall-contributors specification. Contributions of any kind welcome!

About

A collection of ES5 shims for polyfiling Exendscript

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors7


[8]ページ先頭

©2009-2025 Movatter.jp