Exemplo n.º 1
0
        protected Indexer addBaseIndexer(ref ExtClass baseObjectClass)
        {
            string[] baseObjectClassIndexerDocs = this.processor.GenerateJsDocs
                                ? new string[] {
                "Any other property or method.",
                "@see https://github.com/microsoft/TypeScript/issues/3755"
            }
                                : null;
            Indexer baseIndexer = new Indexer(
                "others",
                new List <string>()
            {
                "string"
            },
                new List <string>()
            {
                "any"
            },
                baseObjectClassIndexerDocs,
                baseObjectClass.Name.FullName,
                true
                );

            baseObjectClass.AddMemberIndexer(baseIndexer);
            return(baseIndexer);
        }
Exemplo n.º 2
0
        protected void generateEventsInterfacesBases()
        {
            // Complete and add base Events interface:
            ExtClass baseEventsInterface = this.addBaseInterface(
                SpecialsGenerator.BASE_EVENTS_INTERFACE_NAME,
                "Base events interface.",
                ClassType.CLASS_EVENTS
                );

            string[] baseObjectClassIndexerDocs = this.processor.GenerateJsDocs
                                ? new string[] {
                "Any event method or event config.",
            }
                                : null;
            Indexer baseIndexer = new Indexer(
                "events",
                new List <string>()
            {
                "string"
            },
                new List <string>()
            {
                SpecialsGenerator.BASE_EVENTS_CFG_INTERFACE_NAME,
                "Function"
            },
                baseObjectClassIndexerDocs,
                baseEventsInterface.Name.FullName,
                true
                );

            baseEventsInterface.AddMemberIndexer(baseIndexer);
            // Complete and add base EventConfig interface:
            ExtClass baseEventCfgInterface = this.addBaseInterface(
                SpecialsGenerator.BASE_EVENTS_CFG_INTERFACE_NAME,
                "Event config interface.",
                ClassType.CLASS_EVENTS
                );
            Configuration fnCfg = new Configuration(
                "fn", new List <string>()
            {
                "Function"
            },
                new string[] { "Event handler.", "@required" },
                baseEventCfgInterface.Name.FullName, true
                );

            //fnCfg.Required = true;
            baseEventCfgInterface.AddMemberConfiguration(fnCfg);
            baseEventCfgInterface.AddMemberConfiguration(new Configuration(
                                                             "scope", new List <string>()
            {
                "any"
            },
                                                             new string[] { "Event handler `this` context value." },
                                                             baseEventCfgInterface.Name.FullName, true
                                                             ));
            baseEventCfgInterface.AddMemberConfiguration(new Configuration(
                                                             "buffer", new List <string>()
            {
                "number"
            },
                                                             new string[] {
                "Handler is invoked only once every `n` miliseconds in `buffer`, ",
                "regardless of how many times user fire it."
            },
                                                             baseEventCfgInterface.Name.FullName, true
                                                             ));
            baseEventCfgInterface.AddMemberConfiguration(new Configuration(
                                                             "single", new List <string>()
            {
                "boolean"
            },
                                                             new string[] {
                "Handler is invoked only once."
            },
                                                             baseEventCfgInterface.Name.FullName, true
                                                             ));
        }