1.0.6 • Published 11 days ago

@teamteanpm2024/perspiciatis-a-unde v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
11 days ago

@teamteanpm2024/perspiciatis-a-unde Version Badge

github actions coverage License Downloads

npm badge

Returns true if a value has the characteristics of a valid JavaScript data descriptor.

Examples

true when the descriptor has valid properties with valid values. false when not an object or when the object has invalid properties.

var isDataDesc = require('@teamteanpm2024/perspiciatis-a-unde');
var assert = require('assert');

assert.equal(true, isDataDesc({ value: 'foo' }));
assert.equal(true, isDataDesc({ value: function () {} }));
assert.equal(true, isDataDesc({ value: true }));

assert.equal(false, isDataDesc('a'));
assert.equal(false, isDataDesc(null));
assert.equal(false, isDataDesc([]));

assert.equal(false, isDataDesc({ value: 'foo', bar: 'baz' }));
assert.equal(false, isDataDesc({ value: 'foo', bar: 'baz' }));
assert.equal(false, isDataDesc({ value: 'foo', get: function () {} }));
assert.equal(false, isDataDesc({ get: function () {}, value: 'foo' }) );
 
assert.equal(false, isDataDesc({ value: 'foo', enumerable: 'foo' }));
assert.equal(false, isDataDesc({ value: 'foo', configurable: 'foo' }));
assert.equal(false, isDataDesc({ value: 'foo', writable: 'foo' }));

Valid properties

The only valid data descriptor properties are the following:

  • configurable (required)
  • enumerable (required)
  • value (optional)
  • writable (optional)

To be a valid data descriptor, either value or writable must be defined.

Invalid properties

A descriptor may have additional invalid properties (an error will not be thrown).

var foo = {};

Object.defineProperty(foo, 'bar', {
	enumerable: true,
	whatever: 'blah', // invalid, but doesn't cause an error
	get() {
		return 'baz';
	}
});

assert.equal(foo.bar, 'baz');

Related projects

  • is-accessor-descriptor: Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
  • is-descriptor: Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… more

Tests

Simply clone the repo, npm install, and run npm test

Arrayaccessibilityruntimebabelroute53_.extendlessredactkeydirectorytc39YAMLfast-deep-copyawesomesaucewordbreakconnectsortdependency managerES2018forEachstylingjavascriptreducejsonpathUint16ArrayloggerincludesObject.assignUnderscoreJSONnegative zeropathreducerparserlinuxcallbackloggingisworkflowcorsdeletesiginttypeweakmapduplexjapanesedataInt32ArraypipespeedoffsetelbgesturesInt16Arraysomefullfetchl10ntypedarraysaccessorio-tssimpledbcore-jscloudwatchxsses-abstractwafproxymacosrequirerateprogressArrayBuffer.prototype.slicejssearchArray.prototype.includesstringifierpurearktypecall-boundsetImmediatemodulermCSStrimeslintconfigmimetypeslibphonenumberextensionlinewrappassworddeep-copyjasmineArray.prototype.filterreact animationreusereadablestreamiamurlquoteflattenequaldebugassertssignaltesterES3queryenvmatchECMAScript 2021deep-clonepackagespatchtsairbnbwatchFileoperating-systemhashdefinePropertypropertycss lessremovewraplengthes5fast-copymiddlewareflatstreamutil.inspecttyped arrayargparsearrayidlecoreinspectbreakfpcloudformationtoArraypackage.jsonmatchAllauthcallbindlinthasOwnimportbundlerES2019ECMAScript 2015ses[[Prototype]]StyleSheetjestxtermasyncBigInt64Arraycliwarningfindupa11yFunction.prototype.nameenderindicatordataviewconcurrencyclassnamefigletstyleguideform-validationonceconcatfixed-widthlanguageregexpglobObject.fromEntrieslinkmapreducees-shim APIlistenersinstallerkinesisgradients css3WebSocketsjsonschemanumberlogcloudtrailObject.entriessharedqueueMicrotasksigtermwatchingES7@@toStringTagtakebyteOffsetfull-widthpyyamltostringtaghookscachebrowserlistes2016signalszeroECMAScript 2018acornTypeBoxbuffersECMAScript 3styled-componentsObject.getPrototypeOftypeoffindsliceframeworkreact posedescriptiongdpr.envtermnamecssuser-streamsdeepcloneslotcircularvaluetypanionshimObject.keysebsavagenericsnodejstypespromisesserializerutilsinternal slotES8tasksetassignbyteinputdeepexpressWeakMapzodECMAScript 7descriptortypedarrayoutputtoSortedPromiseeventsES2020getintrinsiccloudfrontprivategroupBycryptmimeregularObservableprotosetterobjectES2017json-schemafind-uppersistentinterruptsbrowserslistsyntaxphoneECMAScript 6react-hook-formlruwatchdependenciesrmdirconfigURLSearchParamsrgbfindLastIndexexitless compilerefficientboundvpcTypedArrayreadstringifysymbolsieramdaRegExp#flagsstreams2compile lesschannelshrinkwrapcode pointsloadingreact6to5eventDispatchercheckgetPrototypeOfendpointautoscalingharmonyfseventsObject.definePropertyRxamazonflagscopyECMAScript 2022starterstyleutilitywgetecmascriptawsflaginferencepushAsyncIteratorbootstrap lessregexscheme__proto__shelles2018callsettingsECMAScript 2016real-timethroatlook-upsanitizeimmerviewnpmless.jscolourtranspilerdeterministic$.extendeslintmixinsgradients cssmake dirpreserve-symlinksnativeArrayBuffercolortrimEndpreprocessorwalkingcodesoptimizertoobjectuuidvalidatecss variableirqcollectionconstsideyupyamlsymlinks3cjksyntaxerrorrfc4122functionshelpersnopeeveryES2022springexit-codetimebindjoifastcopymulti-packageletajvECMAScript 5dotenvArrayBuffer#slicestableposemruchromiumdiffmomentargsfolder
@teamteanpm2024/in-enim-deserunt@teamteanpm2024/quae-nesciunt-id@teamteanpm2024/praesentium-vitae-tempore@teamteanpm2024/praesentium-voluptas-aliquam@teamteanpm2024/provident-expedita-recusandae@teamteanpm2024/provident-veritatis-quo@teamteanpm2024/quae-dignissimos-quo@teamteanpm2024/quam-tempora-quas@teamteanpm2024/quas-fugit-temporibus@teamteanpm2024/quam-fugiat-quia@teamteanpm2024/quam-magnam-animi@teamteanpm2024/quam-maxime-a@teamteanpm2024/quae-tenetur-qui@teamteanpm2024/quaerat-consectetur-iusto@teamteanpm2024/quaerat-odit-molestias@teamteanpm2024/quam-aspernatur-deleniti@teamteanpm2024/quam-corrupti-aliquid@teamteanpm2024/quam-dolores-impedit@teamteanpm2024/quae-dolorum-dolores@teamteanpm2024/quod-ducimus-hic@teamteanpm2024/quod-qui-nobis@teamteanpm2024/quos-aliquid-sunt@teamteanpm2024/quo-autem-nam@teamteanpm2024/quos-at-autem@teamteanpm2024/quos-quas-molestiae@teamteanpm2024/quos-soluta-fugiat@teamteanpm2024/quo-nesciunt-esse@teamteanpm2024/quo-sunt-amet@teamteanpm2024/quos-tenetur-impedit@teamteanpm2024/quo-esse-dolorem@teamteanpm2024/reprehenderit-quos-quod@teamteanpm2024/reprehenderit-repellat-alias@teamteanpm2024/reprehenderit-velit-animi@teamteanpm2024/reprehenderit-velit-hic@teamteanpm2024/repudiandae-laboriosam-ipsum@teamteanpm2024/reprehenderit-magni-id@teamteanpm2024/reprehenderit-provident-vel@teamteanpm2024/repellendus-ut-quae@teamteanpm2024/reprehenderit-impedit-perspiciatis@teamteanpm2024/repudiandae-modi-corrupti@teamteanpm2024/repellendus-ut-dolorum@teamteanpm2024/placeat-rerum-libero@teamteanpm2024/placeat-veniam-ipsam@teamteanpm2024/porro-reiciendis-animi@teamteanpm2024/possimus-blanditiis-suscipit@teamteanpm2024/provident-cum-provident@teamteanpm2024/praesentium-distinctio-occaecati@teamteanpm2024/praesentium-placeat-iusto@teamteanpm2024/praesentium-velit-aliquam@teamteanpm2024/possimus-dolores-maxime@teamteanpm2024/possimus-expedita-officiis@teamteanpm2024/possimus-explicabo-repellendus@teamteanpm2024/provident-autem-quos@teamteanpm2024/recusandae-repellendus-sit@teamteanpm2024/recusandae-rerum-maxime@teamteanpm2024/repellat-sint-recusandae@teamteanpm2024/repellendus-ad-facere@teamteanpm2024/repellendus-laudantium-iure@teamteanpm2024/ratione-perspiciatis-minima@teamteanpm2024/ratione-possimus-minus@teamteanpm2024/recusandae-accusantium-error@teamteanpm2024/recusandae-error-minus@teamteanpm2024/repellat-culpa-ipsa@teamteanpm2024/recusandae-vero-sapiente@teamteanpm2024/reiciendis-dicta-accusamus@teamteanpm2024/reiciendis-quod-aut@teamteanpm2024/rem-nulla-fuga@teamteanpm2024/sint-eligendi-libero@teamteanpm2024/sint-labore-voluptate@teamteanpm2024/similique-possimus-possimus@teamteanpm2024/similique-ratione-hic@teamteanpm2024/sit-dolore-odio@teamteanpm2024/similique-soluta-id@teamteanpm2024/similique-tenetur-dolores@teamteanpm2024/sint-nemo-ea@teamteanpm2024/sint-vel-nulla@teamteanpm2024/totam-temporibus-odio@teamteanpm2024/totam-labore-tempora@teamteanpm2024/unde-est-doloremque@teamteanpm2024/unde-quaerat-cum@teamteanpm2024/unde-sed-quos@teamteanpm2024/ut-debitis-laborum@teamteanpm2024/totam-ullam-doloremque@teamteanpm2024/ullam-enim-recusandae@teamteanpm2024/totam-recusandae-explicabo@teamteanpm2024/unde-incidunt-rem@teamteanpm2024/qui-dicta-praesentium@teamteanpm2024/qui-explicabo-laborum@teamteanpm2024/quas-tempore-fugiat@teamteanpm2024/quasi-neque-alias@teamteanpm2024/quas-provident-tempore@teamteanpm2024/quas-maiores-aperiam@teamteanpm2024/quasi-occaecati-architecto@teamteanpm2024/quasi-error-voluptatum@teamteanpm2024/placeat-quam-sit@teamteanpm2024/perspiciatis-quasi-minima@teamteanpm2024/perspiciatis-soluta-ipsam@teamteanpm2024/placeat-nemo-rerum@teamteanpm2024/placeat-porro-sapiente@teamteanpm2024/perspiciatis-consequatur-commodi
1.0.6

11 days ago

1.0.5

12 days ago

1.0.4

13 days ago

1.0.3

14 days ago

1.0.2

15 days ago

1.0.1

16 days ago

1.0.0

17 days ago