configureFunctionsForCompile function

void configureFunctionsForCompile(
  1. BridgeDeclarationRegistry registry
)

Implementation

void configureFunctionsForCompile(BridgeDeclarationRegistry registry) {
  const package = 'package:sqflite/sqflite.dart';

  registry.defineBridgeTopLevelFunction(
    BridgeFunctionDeclaration(
      package,
      'openDatabase',
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.future, [
            BridgeTypeAnnotation($Database.$type),
          ]),
        ),
        params: [
          BridgeParameter(
            'path',
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string, [])),
            false,
          ),
        ],
        namedParams: [
          BridgeParameter(
            'version',
            BridgeTypeAnnotation(
              BridgeTypeRef(CoreTypes.int, []),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'onConfigure',
            BridgeTypeAnnotation(
              BridgeTypeRef.genericFunction(
                BridgeFunctionDef(
                  returns: BridgeTypeAnnotation(
                    BridgeTypeRef(CoreTypes.future, [
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
                    ]),
                  ),
                  params: [
                    BridgeParameter(
                      'db',
                      BridgeTypeAnnotation($Database.$type),
                      false,
                    ),
                  ],
                ),
              ),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'onCreate',
            BridgeTypeAnnotation(
              BridgeTypeRef.genericFunction(
                BridgeFunctionDef(
                  returns: BridgeTypeAnnotation(
                    BridgeTypeRef(CoreTypes.future, [
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
                    ]),
                  ),
                  params: [
                    BridgeParameter(
                      'db',
                      BridgeTypeAnnotation($Database.$type),
                      false,
                    ),

                    BridgeParameter(
                      'version',
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int, [])),
                      false,
                    ),
                  ],
                ),
              ),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'onUpgrade',
            BridgeTypeAnnotation(
              BridgeTypeRef.genericFunction(
                BridgeFunctionDef(
                  returns: BridgeTypeAnnotation(
                    BridgeTypeRef(CoreTypes.future, [
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
                    ]),
                  ),
                  params: [
                    BridgeParameter(
                      'db',
                      BridgeTypeAnnotation($Database.$type),
                      false,
                    ),

                    BridgeParameter(
                      'oldVersion',
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int, [])),
                      false,
                    ),

                    BridgeParameter(
                      'newVersion',
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int, [])),
                      false,
                    ),
                  ],
                  namedParams: [],
                ),
              ),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'onDowngrade',
            BridgeTypeAnnotation(
              BridgeTypeRef.genericFunction(
                BridgeFunctionDef(
                  returns: BridgeTypeAnnotation(
                    BridgeTypeRef(CoreTypes.future, [
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
                    ]),
                  ),
                  params: [
                    BridgeParameter(
                      'db',
                      BridgeTypeAnnotation($Database.$type),
                      false,
                    ),

                    BridgeParameter(
                      'oldVersion',
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int, [])),
                      false,
                    ),

                    BridgeParameter(
                      'newVersion',
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int, [])),
                      false,
                    ),
                  ],
                  namedParams: [],
                ),
              ),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'onOpen',
            BridgeTypeAnnotation(
              BridgeTypeRef.genericFunction(
                BridgeFunctionDef(
                  returns: BridgeTypeAnnotation(
                    BridgeTypeRef(CoreTypes.future, [
                      BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
                    ]),
                  ),
                  params: [
                    BridgeParameter(
                      'db',
                      BridgeTypeAnnotation($Database.$type),
                      false,
                    ),
                  ],
                  namedParams: [],
                ),
              ),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'readOnly',
            BridgeTypeAnnotation(
              BridgeTypeRef(CoreTypes.bool, []),
              nullable: true,
            ),
            true,
          ),

          BridgeParameter(
            'singleInstance',
            BridgeTypeAnnotation(
              BridgeTypeRef(CoreTypes.bool, []),
              nullable: true,
            ),
            true,
          ),
        ],
      ),
    ),
  );

  registry.defineBridgeTopLevelFunction(
    BridgeFunctionDeclaration(
      package,
      'openReadOnlyDatabase',
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.future, [
            BridgeTypeAnnotation($Database.$type),
          ]),
        ),
        params: [
          BridgeParameter(
            'path',
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string, [])),
            false,
          ),
        ],
        namedParams: [
          BridgeParameter(
            'singleInstance',
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.bool)),
            true,
          ),
        ],
      ),
    ),
  );

  registry.defineBridgeTopLevelFunction(
    BridgeFunctionDeclaration(
      package,
      'getDatabasesPath',
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.future, [
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string, [])),
          ]),
        ),
        namedParams: [],
        params: [],
      ),
    ),
  );

  registry.defineBridgeTopLevelFunction(
    BridgeFunctionDeclaration(
      package,
      'deleteDatabase',
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.future, [
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.voidType)),
          ]),
        ),
        namedParams: [],
        params: [
          BridgeParameter(
            'path',
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string, [])),
            false,
          ),
        ],
      ),
    ),
  );

  registry.defineBridgeTopLevelFunction(
    BridgeFunctionDeclaration(
      package,
      'databaseExists',
      BridgeFunctionDef(
        returns: BridgeTypeAnnotation(
          BridgeTypeRef(CoreTypes.future, [
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.bool, [])),
          ]),
        ),
        namedParams: [],
        params: [
          BridgeParameter(
            'path',
            BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string, [])),
            false,
          ),
        ],
      ),
    ),
  );
}