Giter Site home page Giter Site logo

strong typing of dictionaries about go-plist HOT 4 OPEN

gedw99 avatar gedw99 commented on August 16, 2024
strong typing of dictionaries

from go-plist.

Comments (4)

gedw99 avatar gedw99 commented on August 16, 2024

Found the key names per Darwin OS here: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

Unless they have a better source like xml I will have to scrape the pages and sub pages to build a JSON or yaml file that can be the basis for the plist functionality of parsing for correctness, etc

the main use is to generate Plist files from known constants.

from go-plist.

DHowett avatar DHowett commented on August 16, 2024

@gedw99 thanks for filing this! I'm not totally sure what you're asking for, unfortunately. This library supports parsing a plist into fully type-specified storage.

Reading between the lines, though... are you looking for a tool or specification document that will allow you to produce a type description of an existing property list document?

Something like that could be done with type assertions over a map[string]interface{} that you populate using this library, but there's no out-of-the-box support for making that.

Unfortunately, the property list schema only documents what a property list is... and there is no existing schema documentation for different types of plist documents. There's no source that will help you figure out what any given document should contain. ☚ī¸

from go-plist.

gedw99 avatar gedw99 commented on August 16, 2024

Hey @DHowett

Sorry i wrote the original issue from a mobile and realised how my spelling screwed it up.

So basically in the GIOUI project ( https://github.com/gioui ) you can target Web, Desktop and Mobile ( and Apple TV ), and so i am working on a way for each golang package to be able to add to the Packaging Manifest ( Plist for Apple hardware), and so easily build correct manifests.

Here is an example GIOUI project that does Notifications and so needs a Manifest for Security reasons: https://github.com/gioui/gio-example/blob/main/x/notify
https://github.com/gioui/gio-example/blob/main/x/notify/example.app/Contents/Info.plist

Then i had the idea that we also built golang strongly typed PList constants by scraping the Apple web site for then, and generating the Constant with nice Comments.

The Golang packages can then use the constants to build a Manifest.

Plus as a bonus we can parse a Manifest and check the Dictionary keys ( as Apple calls them ) are correct.

Does this make more sense now ???

from go-plist.

gedw99 avatar gedw99 commented on August 16, 2024

I also intend to do the same for Android and Web Manifests.

from go-plist.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.