1.1.5 • Published 6 days ago

@teamteanpm2024/quo-autem-nam v1.1.5

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

@teamteanpm2024/quo-autem-nam

Wueste provides and a generator which can convert a json-schema to "typescript" with easy way to set attributes and get a Constrained Object back.

This is done with the Builder Pattern like:

interface Object {
    readonly Attr: string
    readonly OptionalAttr?: string
}



const obj = new ObjectBuilder().
                    Attr("value").
                    OptionalAttr("x").
                    Get()

this works nice on flat objects but not on nested objects.

interface NestedObject {
    readonly Nested: Object
}

const obj = new NestedObjectBuilder()
                    .Nested(new ObjectBuilder()
                            .Attr("value")
                            .Get()
                    ).Get()

or

const obj = new NestedObjectBuilder().
        Nested((nestedBuilder) => {
            nestedBuilder.Attr("value")
            nestedBuilder.OptionalAttr("x")
        }).Get()

or any better way to do this?

The generator enables the abiliy to get back every attribute in a defined order. To provide a way create content-addressable with a hash function.

This is done with:

ObjectGetter(obj).Apply((path, value) => {
    console.log(path, value)
})

I will provide a way to set the attributes in the simlar way like the Getter works.

interface ObjectBuilder {
    Attr(value: string): ObjectBuilder
    OptionalAttr(value: string): ObjectBuilder
    Get(): Object
}

ObjectFactory.Builder().Setter((path, value) => {

}).Get()

ObjectSetter(builder).Apply((path, value) => {
    console.log(path, value)
    return WuestenRetVal(value)
})

/* object:NoName:
    const v0 = v
    builder.Test(fn(
      [
        ...base,
        helperTestSchema,
        (helperTestSchema as WuestenReflectionObject).properties![0],
      ]
    , builder.GetTest()))
*/
fseventsreduxURLSearchParamsbrowserWeakSetoptiontoStringTagpersistentsetterconfigurablefunctional[[Prototype]]3dassigncommanderajvsetendpointcompile lessCSSECMAScript 2015formattingestreelengthdom6to5json-schema-validationautoscalingmakegesturesinputsuperagentidlepopmotionPromiseelectronnameES2017reducerlogform-validationweakmapUint8ClampedArrayoffsetamazonindicatorvariablesmkdirpTypeBoxpicomatchinternalfixed-widthwatchFileless compileri18nconcurrencyregular expressionfast-deep-cloneiteratorArrayBufferiterationregular expressionslastdescriptiongrouppostcss-plugincharactersECMAScript 3xhrlanguageArray.prototype.findLastIndexextendsuperstructeslint-pluginsyntaxmiddlewarelinuxmapreducefullWeakMapimportexportrfc4122argvparenthasOwnPropertyshrinkwrapObject.valuesprotocol-buffersUint8ArrayboundsignalspostcsscloneautoprefixersameValueZeroperformancefindLastIndexString.prototype.matchAllgradients css3momentincludesArray.prototype.filtertostringtagUint16ArrayES2021dotenvmrumacosprefixassertionextrahelperscsss3jsjQuerycorspatchObject.keysdataviewstreamwaitstartercheckinbabeldescriptorpropertyprettycall-bindcloudformationloggertouchbcryptstringfast-copytypestoragegatewaybundlingapiwidthbannercode pointsnoperangeerroragentObject.definePropertyiteratetranspilevalueRxJStimeescapeBigInt64ArrayAsyncIteratorencryptionreadsqsreact posecurriedcontainsbufferdebuggerInt8ArraydatastructurestylebreakargparseassertsmimesymlinksrecursivedefineString.prototype.trimextensioncolourbrowserlistparsehandlersworkerspeedrequestawaitfilterfastbeanstalkcensorthrottleESnextpasswordconsumepropcallbindES3warningArraytoobjectmixinsvalidatefpsirqstyleguideratelimitsetImmediatecloudsearchposesomees2016styleshashimmerReactiveExtensionstaskloggingoperating-systemlistenersbalanced_.extendavareactmovefindupqsReflect.getPrototypeOfflattenlimitedemoji0pipedragstatelesswordwrapseserrorcligetintrinsicHyBideep-copyremoveinspecttypesafeterminalpackagesschemereact animationeslintponyfillreduceECMAScript 2016koreanspringfantasy-landnamesdescriptorssimpledbfromeslintconfigUnderscoredependency managerpromiseYAMLdeeppackage.jsonsanitizeconnectprivatedateflatMapmimetypesclassnamestermsortedparsingeslintpluginnpmlessmkdirstructuredCloneomitECMAScript 2023commandpushshellsyntaxerrormonorepooutputcharacterelbpreprocessorfindLastformcompareRFC-6455concatsharedwindowsclass-validatorisConcatSpreadableformatbrowserslistthroatxsspositiveopenSymboloptimizerprogressdependencieserror-handlingregexless cssURLbusyupFloat64Arrayreuseworkspace:*bindSymbol.toStringTagutilityeventsUint32Arraykeyastdirkinesissigterm$.extenddataassertgroupBybatchemiteveryjoitddlinkarraybufferhttpglobeventEmitterdeepclonepoint-freees8east-asian-widthratelibphonenumbertapepackageintrinsicreact-hookssharedarraybufferrequiremkdirsArrayBuffer#sliceES2023nodees2018es-abstractloadingtc39phonearktypeuuidfstestwafutilitiestypedcacheECMAScript 5route53ECMAScript 2020Int16Arrayes2017walkingexit-codepackage managersetPrototypeOfES2018full-widthdiffcreatejsdiffcore-jsreact-testing-libraryproxywritableshimlook-upcommand-linecoerciblereact-hook-formscheme-validationpreserve-symlinksprivate datafast-cloneflagArray.prototype.flatMaptypedarraysbundlerdeepcopyslicehookformcomputed-typesframeworktypescriptcollectionjsxschemaansidirectoryclassnamees7japanesevalidatorunicodeMaptestingstringifyutilrobustiambyteES2015expressioncodesjson-schema-validatorcloudwatchgradients cssdynamodbentriesexitECMAScript 2018typeerrorbluebirdenvironmentart-0genericscryptfastcopyrandomfindmake direc2ieflagsinterruptsimmutableaccessormoduleequalitytrimwatchingless mixinsoptimistbuffersvalidationwhatwgpathfile systemtesterefficientduplextyped arraytrimStartparentsconsolefunctionsinferencejsonsearchdebugSetworkflowjsonpathsnsenumerablecloudtrailhttpsvalidbabel-coreio-tsarrayspinnersmapanimationwhichObservablesprotobufvisualserialization__proto__256Array.prototype.includestapfoldersymlinksortreal-timermdirWebSocketslazychromiumcss nestingbootstrap lessstylinglintguidequaldeep-clonefastifygdprWebSocketcollection.es6rgbregular.envtoolsArray.prototype.findLastwatchviewttyES2019stablespecArrayBuffer.prototype.slicecloudfrontnativeCSSStyleDeclarationES2022rmECMAScript 2021l10na11yoncecircularES6protoslotcopymatchutilsstatuszerokarmaRegExp#flagsES2020telephonematchesfpObjectvaluesreadablequeueMicrotaskinstallerObservablefetchgetOwnPropertyDescriptortrimLeftES7has-owninternal slotmergeawesomesauceECMAScript 6Object.getPrototypeOfconfigES5typesES2016vardataViewtrimRightECMAScript 2019Object.assignobjswfdayjsmochavpcsafelockfilelruchaistreamstakeJSONnegativewaapiaccessibilityargscss variablegetoptjasmineyupstringifierECMAScript 2022dropbyteOffsetvestjsonschemashebangruntimetextloadbalancingchromepolyfilltypanionpyyamlmime-dbglacierprocesslimitES8tslibtypeofbyteLengthairbnbperformantstyled-componentstraversespinnerargumentObject.issignalPushnegative zeroRegExp.prototype.flagsemrredux-toolkitshamcryptokeyses6@@toStringTagStreamscall-boundsymbolstranspilerclassesbootstrap csscjkfastclonewatchersequenceECMAScript 2017numberhasOwnes5RxcallboundbddrdstoSortedcallbacktrimEndconstyaml
1.1.5

6 days ago

1.1.4

7 days ago

1.1.3

8 days ago

1.0.3

9 days ago

1.0.2

10 days ago

1.0.1

11 days ago

1.0.0

11 days ago